是否有一个选项我可以通过,以便我的-vf
或-filter_complex
选项仅在视频中的某个时间(即视频开始后 5 秒?)在一个命令中激活(不连接两个不同的视频文件)?
像这样的东西:
ffmpeg -i input.mp4 -vf "eq=contrast=250.0, time=start=5:end=15" output.mp4
contrast
过滤器只会出现在 5 到 15 秒的视频中。
也许我可以在一行中连接两个单独的视频?任何指导将不胜感激,谢谢。
编辑:只需阅读 ffmpeg 文档中的时间线编辑部分 - 但据我了解,并非所有过滤器都支持这一点。有通用的方法吗?
如果过滤器支持时间线编辑,那么您可以为该过滤器设置启用关键字,例如
如果没有,那么您可以结合使用 split、trim 和 concat 过滤器来分割输入以进行选择性处理。
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