ffmpeg一些filter使用方法、以及一些功能命令


1、加字幕

         命令:ffmpeg -i <input> -filter_complex subtitles=filename=<SubtitleName>-y <output>

         說明:利用libass來為視頻嵌入字幕,字幕是直接嵌入到視頻里的硬字幕。

         參考資料:http://ffmpeg.org/ffmpeg-filters.html#subtitles-1

2、剪切

         命令:ffmpeg -i <input>-ss 0 -t 10 -y <output>

         說明:ss跟的是起始時間,t為持續時間。上面命令意思為從0秒開始截取10秒的時間。

         參考資料:http://ffmpeg.org/ffmpeg.html

3、縮放

         命令: ffmpeg -i<output> -filter_complex scale=320:240  -y <output>

         說明:scale參數為寬高。

4、剪裁

         命令:ffmpeg -i <input>-filter_complex crop=320:240:0:0 -y <output>

         說明:當中的 crop=320:240:0:0為裁剪參數,詳細含義是 crop=width:height:x:y,當中 width 和 height 表示裁剪后的尺寸,x:y 表示裁剪區域的左上角坐標。

5、加水印

命令:ffmpeg -i src.avi -vf "movie=<LogoName>[logo];[in][logo]overlay=100:100[out]"-y <output>

         說明:LogoName為圖片名,overlay=100:100意義為overlay=x:y,在(x,y)坐標處開始加入水印。

         左上角:overlay=10:10 

         右上角:overlay=main_w-overlay_w-10:10

         左下角:overlay=10:main_h-overlay_h-10 

         右下角:overlay=main_w-overlay_w-10:main_h-overlay_h-10

6、拼接視頻

         第一種命令:

                   第一步:ffmpeg  -i INPUT -fmpeg  OUTPUT

                   第二步:copy /b INPUT+INPUT OUTPUT

                   第三步:ffmpeg -i INPUT -f FORMAT OUTPUT

         說明:第一步把輸入文件轉為同樣格式,第二步利用copy命令把文件合並,第三步把合並文件轉為終於結果視頻。

         例:把名為test.avi、test1_2.mp4 兩個視頻合並為resu.avi。

         第一步:ffmpeg -itest1.avi test1.mpg

                            ffmpeg-i test1_2.mp4 test2.mpg

         第二步:copy /btest1.mpg+test2.mpg resu.mpge

         第三步:ffmpeg -iresu.mpge -y resu.avi

另外一種命令:

ffmpeg -i 1.mov -i 2.wmv -filter_complex "[0:0] [0:1] [1:0] [1:1]  concat=n=2:v=1:a=1 [v] [a]" -map [v] -map [a] output.mp4

7、旋轉

         命令: ffmpeg -i <input> -filter_complex transpose=X -y <output>

         說明:transpose=1為順時針旋轉90°,transpose=2逆時針旋轉90°。

8、鏡像

         上下鏡像

                   命令:

ffmpeg -i src.avi -vf "split[mian][tmp];[tmp]crop=iw:ih/2:0:0,vflip[flip];[mian][flip]overlay=0:H/2"-y GHO.avi

                  說明:從命令中能夠看出crop和vflip在一條流水線上,他們的處理流程例如以下圖所看到的:


                   能夠利用此filter來做上下顛倒,命令例如以下: ffmpeg-i src.avi -vf "split [main][tmp

]; [tmp] crop=iw:ih:0:0, vflip [flip];[main][flip] overlay=0:0" GHO2.avi處理效果和命令ffmpeg -isrc.avi -vf vflip GHO_v_1.avi一樣,這樣寫僅僅是為了更好的理解filter處理鏈。

         左右鏡像

                  命令: ffmpeg -i src.avi-vf "split [main][tmp]; [tmp] crop=iw/2:ih:0:0, hflip [flip]; [main][flip]overlay=W/2:0" GHO_H.avi

                   說明:流程和上下鏡像一樣,僅僅是把坐標換了。而且指定用名為hfilp的filter。

                   能夠利用此filter來做左右顛倒,命令例如以下: ffmpeg-i src.avi -vf "split [main][tmp

]; [tmp] crop=iw:ih:0:0, hflip [flip];[main][flip] overlay=W:0" GHO_H_1.avi和命令ffmpeg -i src.avi-vf hflip GHO_H_1.avi一樣的效果,這樣寫僅僅是為了更好的理解filter處理鏈。

         小結:split過濾器把輸入分裂為2路輸出crop過濾器為翻轉選取圖像范圍,vflip和hflip過濾器把crop切下的圖像翻轉(垂直、水平),overlay過濾器指定坐標來貼經過翻轉處理的圖像。

                  

9、加黑邊

         命令: ffmpeg -isrc.avi -vf pad=1280:800:0:40:black -y test_pad.avi

         說明:pad=width:high:x:y:coler。這里的寬和高指的是結果視頻尺寸(包括加黑邊的尺寸)。XY指的是源視頻加入到結果視頻所在位置,coler為填充顏色。

10、調音量

         命令:ffmpeg -i<input> -vol X <output>

         說明:不解釋


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM