如何设置 ffmpeg 过滤器的起始位置?

如何设置 ffmpeg 过滤器的起始位置?

是否存在从命名起始位置应用 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

附加功能列表

如果过滤器不支持时间线,解决方法是使用修剪设定点过滤器选择要过滤的视频时间,然后覆盖或者连接过滤器来放置它。这个站点上应该有几个例子。

相关内容