是否存在从命名起始位置应用 ffmpeg 过滤器的标准方法,或者这是否因不同的过滤器而异?
例如,如果我应用模糊,我可以轻松地模糊整个剪辑,但如果我想从 5 秒开始模糊,我该如何实现(不修剪并重新连接)?
答案1
最简单的方法是使用具有时间线支持(enable
选项)。
查看带有 的过滤器列表ffmpeg -filters
并查找T
名称旁边的 。例如:
Filters:
T.. = Timeline support
.S. = Slice threading
..C = Command support
A = Audio input/output
V = Video input/output
N = Dynamic number and/or type of input/output
| = Source or sink filter
[...]
TSC avgblur V->V Apply Average Blur filter.
T.. boxblur V->V Blur the input.
T.C dblur V->V Apply Directional Blur filter.
TSC gblur V->V Apply Gaussian Blur filter.
T.. sab V->V Apply shape adaptive blur.
T.. smartblur V->V Blur the input video without impacting the outlines.
TS. unsharp V->V Sharpen or blur the input video.
TSC yaepblur V->V Yet another edge preserving blur filter.
所以所有这些模糊过滤器都支持它。
从时间戳 5 到结束进行模糊的示例命令:
ffmpeg -i input.mp4 -vf "boxblur=enable='gt(t,5)'" -c:a copy output.mp4
看附加功能列表。
如果过滤器不支持时间线,解决方法是使用修剪和设定点过滤器选择要过滤的视频时间,然后覆盖或者连接过滤器来放置它。这个站点上应该有几个例子。