在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已經成功加上去了
爲了驗證上面的結論,咱們把命令換成下面的
ffmpeg -hide_banner -i big_buck_bunny.mp4 -i doggie2.png -vf "overlay=x=50:y=50" out.mp4 -y
上面命令把-filter_complex
換成了-vf
,結果自然是會出錯的,錯誤日誌如下
紅框中的日誌說的很清楚,對於簡單濾鏡,只能有一個輸入輸出
所以,當有多個輸入文件時,需要使用複雜濾鏡。
ffmpeg:簡單濾鏡與複雜濾鏡的區別
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.