ffmpeg:簡單濾鏡與複雜濾鏡的區別

在ffmpeg的濾鏡中,有簡單濾鏡(simple filter)和複雜濾鏡(complex filter)兩種。

使用簡單濾鏡時,用-vf選項,使用複雜濾鏡時,使用-filter_complex-lavfi
那麼什麼時候用簡單濾鏡,什麼時候用複雜濾鏡?

其實很簡單:是否只有一個輸入文件和一個輸出文件,如果是,用簡單濾鏡,否,則應該用複雜濾鏡

執行一個命令試試

ffmpeg -hide_banner -i big_buck_bunny.mp4 -i doggie2.png -lavfi "overlay=x=50:y=50" out.mp4 -y

上面的命令等效於

ffmpeg -hide_banner -i big_buck_bunny.mp4 -i doggie2.png -filter_complex "overlay=x=50:y=50" out.mp4 -y

上面命令作用是給視頻添左上角加一個水印,命令可以成功執行,打開輸出文件可以看到doggie已經成功加上去了

filter1
爲了驗證上面的結論,咱們把命令換成下面的

ffmpeg -hide_banner -i big_buck_bunny.mp4 -i doggie2.png -vf "overlay=x=50:y=50" out.mp4 -y

上面命令把-filter_complex換成了-vf,結果自然是會出錯的,錯誤日誌如下

filter error
紅框中的日誌說的很清楚,對於簡單濾鏡,只能有一個輸入輸出

所以,當有多個輸入文件時,需要使用複雜濾鏡。

有問題請留言溝通,歡迎轉載,轉載請註明出處

博客地址:暖寶寶官方認證鏟屎官

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章