FFmpeg - 在影片中的特定時間啟用所有視訊過濾器(-vf)選項

FFmpeg - 在影片中的特定時間啟用所有視訊過濾器(-vf)選項

是否有一個選項我可以通過,以便我的-vf-filter_complex選項僅在視頻中的某個時間(即視頻開始後 5 秒?)在一個命令中激活(無需連接兩個不同的視頻文件)?

像這樣的東西:

ffmpeg -i input.mp4 -vf "eq=contrast=250.0, time=start=5:end=15" output.mp4

contrast濾鏡只會出現在影片中 5 到 15 秒的時間。

也許我可以將兩個單獨的視訊連接在一行中?任何指導將不勝感激,謝謝。

編輯:剛剛讀過時間軸編輯ffmpeg 文件中的部分 - 但據我了解,並非所有過濾器都支援這一點。有沒有通用的方法?

答案1

如果過濾器支援時間軸編輯,那麼您可以為該過濾器設定啟用關鍵字,例如

ffmpeg -i input.mp4 -vf "eq=contrast=250.0:enable='between(t,5,15)'" output.mp4

如果沒有,那麼您可以使用分割、修剪和連接過濾器的組合來對輸入進行分段以進行選擇性處理。

ffmpeg -i input.mp4 -vf "split=3[pre][affected][post];[pre]trim=0:5,setpts=PTS-STARTPTS[pre];[affected]trim=5:15,setpts=PTS-STARTPTS,eq=contrast=250.0[affected];[post]trim=15,setpts=PTS-STARTPTS[post];[pre][affected][post]concat=n=3:v=1:a=0" output.mp4

相關內容