2010-10-21 69 views
3

我編譯了新版本的FFMPEG,並且填充命令已被棄用。
當我嘗試熟悉新的-vf pad =命令時,我想問,我如何在不改變寬高比的情況下轉換視頻。PHP FFmpeg視頻寬高比問題

我檢查了很多從stackoverflow解決方案,似乎沒有任何工作。
有人可以發佈一個有效的PHP示例或cmd行。我會非常高興。

請注意,有問題的視頻,可能是4:3,也爲16:9

比方說,我16轉換:9視頻爲640x480格式。這將需要一些酒吧在頂部和底部
。那是我想要做的。

感謝

+0

墊和作物命令已被替換-vf墊= X:X:X:X:黑色此腳本需要更新。 – paj 2012-01-19 22:07:03

+0

嗯......當使用1280x720輸入視頻運行此示例代碼時,出現錯誤[pad @ 0x7f8a48c1f9e0]輸入區域0:60:1280:780不在填充區域0:0:640:480或零尺寸內 – Brian 2012-05-02 16:57:39

+0

我從來沒有機會在這樣的視頻上運行它,真的不知道:( – Herr 2012-05-02 20:16:38

回答

2

感謝您分享此代碼。

我不得不做的變化:

//keep always the same video size 
//we need to add padding and then crop the same size to keep vieos with same WxH sizes  
$command = FLV_LITE_FFMPEG_PATH . ' -i ' . $original_video; 
$command .= ' -s '.FLV_LITE_VIDEO_WIDTH . 'x' .FLV_LITE_VIDEO_HEIGHT; 
$command .= ' -croptop ' . $pad_top; 
$command .= ' -cropbottom ' . $pad_bottom; 
$command .= ' -cropleft ' . $pad_left; 
$command .= ' -cropright ' . $pad_right; 
$command .= ' -padtop ' . $pad_top; 
$command .= ' -padbottom ' . $pad_bottom; 
$command .= ' -padleft ' . $pad_left; 
$command .= ' -padright ' . $pad_right; 
$command .= ' -padcolor 0x000000'; 
$command .= ' -ab 32 -f flv -ar 22050 -b 256 -r 24 -y'; 
$command .= ' ' . $converted_video; 

exec($command, $output, $status); 
0

是沒可能檢查什麼寬高比要轉換的視頻:

ffmpeg -i input.file

然後設置這在FFmpeg命令-aspect標誌?

+0

問題是,我需要確定寬高比並將一個說,16:9視頻轉換爲640x480。在頂部和底部的黑色條紋 – Herr 2010-10-21 15:33:51

+0

啊我看到了。也許這個線程會幫助http://ubuntuforums.org/showthread.php?t=702188 - 閱讀philc的回覆。 – Abs 2010-10-21 15:37:24

+0

你好,謝謝你找到那個網址。問題是,pad *命令已被棄用和刪除,所以我不能再使用它們了。我解決了這個問題,並會在即將到來的時間內更新它。 – Herr 2010-10-21 15:44:59