2010-06-26 156 views
1

我現有的視頻是.mov並且垂直播放,但是當我用FFmpeg將它轉換爲.flv時,它會水平播放。我如何糾正轉換後的視頻以垂直播放?如何使用FFmpeg旋轉視頻?

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

請參閱http: //stackoverflow.com/questions/2208522/ffmpeg-on-iphone-modifying-video-orientation。具體來說就是答案。 – 2010-06-27 03:45:11

+0

運行此命令需要哪個版本的ffmpeg ffmpeg -vfilters「rotate = 90」-i input.mp4 output.mp4 – user291247 2010-06-28 05:42:00

+0

您可能必須構建自己的版本,並在運行configure時使用--enable-vfilters開關。你在什麼操作系統上? – 2010-06-28 12:55:23

回答

1

從SVN拉取當前版本,您可以使用-vf「transpose = 1」旋轉視頻。
下面是使用命令行,我敢肯定,很容易轉化爲PHP的例子:

ffmpeg -vf "transpose=1" -i input.mp4 output.mp4 

(這裏就是我建的ffmpeg的情況下,這會有所幫助)

svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg 
cd ffmpeg 
./configure --enable-shared --disable-mmx --arch=x86_64 
make 
sudo make install 
+0

轉置不是完全旋轉... – mbq 2011-06-03 14:32:12

+0

它做了我想要的,即將視頻向右旋轉90度。 – 2011-06-03 17:18:02

+0

加上水平翻轉。 – mbq 2011-06-03 17:28:14