安裝
略。
轉碼
最簡單命令如下:
ffmpeg -i out.ogv -vcodec h264 out.mp4ffmpeg -i out.ogv -vcodec mpeg4 out.mp4ffmpeg -i out.ogv -vcodec libxvid out.mp4ffmpeg -i out.mp4 -vcodec wmv1 out.wmvffmpeg -i out.mp4 -vcodec wmv2 out.wmv
-i
后面是輸入文件名。-vcodec
后面是編碼格式,h264 最佳,但 Windows 系統默認不安裝。如果是要插入 ppt 的視頻,選擇 wmv1 或 wmv2 基本上萬無一失。
附加選項:-r
指定幀率,-s
指定分辨率,-b
指定比特率;於此同時可以對聲道進行轉碼,-acodec
指定音頻編碼,-ab
指定音頻比特率,-ac
指定聲道數,例如
ffmpeg -i out.ogv -s 640x480 -b 500k -vcodec h264 -r 29.97 -acodec libfaac -ab 48k -ac 2 out.mp4
剪切
用 -ss
和 -t
選項, 從第 30 秒開始,向后截取 10 秒的視頻,並保存:
ffmpeg -i input.wmv -ss 00:00:30.0 -c copy -t 00:00:10.0 output.wmvffmpeg -i input.wmv -ss 30 -c copy -t 10 output.wmv
達成相同效果,也可以用 -ss
和 -to
選項, 從第 30 秒截取到第 40 秒:
ffmpeg -i input.wmv -ss 30 -c copy -to 40 output.wmv
值得注意的是,ffmpeg 為了加速,會使用關鍵幀技術, 所以有時剪切出來的結果在起止時間上未必准確。 通常來說,把 -ss
選項放在 -i
之前,會使用關鍵幀技術; 把 -ss
選項放在 -i
之后,則不使用關鍵幀技術。 如果要使用關鍵幀技術又要保留時間戳,可以加上 -copyts
選項:
ffmpeg -ss 00:01:00 -i video.mp4 -to 00:02:00 -c copy -copyts cut.mp4
參考:ffmpeg.org
合並
把兩個視頻文件合並成一個。
簡單地使用 concat demuxer
,示例:
$ cat mylist.txtfile '/path/to/file1'file '/path/to/file2'file '/path/to/file3' $ ffmpeg -f concat -i mylist.txt -c copy output
更多時候,由於輸入文件的多樣性,需要轉成中間格式再合成:
ffmpeg -i input1.avi -qscale:v 1 intermediate1.mpgffmpeg -i input2.avi -qscale:v 1 intermediate2.mpgcat intermediate1.mpg intermediate2.mpg > intermediate_all.mpgffmpeg -i intermediate_all.mpg -qscale:v 2 output.avi
參考:stackoverflow; ffmpeg.org。
調整播放速度
加速四倍:
ffmpeg -i TheOrigin.mp4 -vf "setpts=0.25*PTS" UpTheOrigin.mp4
四倍慢速:
ffmpeg -i TheOrigin.mp4 -vf "setpts=4*PTS" DownTheOrigin.mp4