2010-06-25 2 views
0

Когда я записываю видео (.mov) через свой iPhone, он отображается вертикально, что правильно. Но после преобразования .mov в .flv (используя ffmpeg) он отображается горизонтально.При преобразовании .mov в .flv видео воспроизводится горизонтально

Мой код:

function convert_flv($vidtime,$infile, $outfile, $w = 0, $h = 0, $extra_infile = '', $extra_outfile = '') { 
    $parms = ''; 
    if($w == 0 && $h == 0) { 
     //$parms .= '-sameq '; 
    } else { 
     $parms = '-s {$w}x{$h} '; 
    } 

    if($vidtime==60) { 
     $cmd = ffmpeg($infile, $outfile, $parms.' '.$extra_infile, '-t 00:01:00 -ar 22050 -r 15 -f flv '.$extra_outfile); 
    } else { 
     $cmd = ffmpeg($infile, $outfile, $parms.' '.$extra_infile, '-t 00:04:00 -ar 22050 -r 15 -f flv '.$extra_outfile); 
    } 

    print_r($cmd); 
    return $cmd; 
} 

ответ

0

ориентация представляет собой поле мета-данные в видеофайл - фактический файл не записывается в альтернативной ориентации. Для поворота видео вам нужно применить преобразование в ffmpeg.

+0

Здравствуйте, Спасибо за быстрый ответ, как я могу применить преобразование в ffmpeg? – user291247

2

Информация о ориентации магазина iPhone в метаданных .mov, которые ffmpeg игнорирует, приводя к повернутому выходу. Правильная проверка метаданных является проблемой.

Если вы записываете фильмы в последовательной ориентации, вы можете повернуть их, добавив -vf "transpose=1" в команду ffmpeg. Docs for transpose.