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

見る追加機能のリスト

フィルターがタイムラインをサポートしていない場合、回避策としてトリムそして設定フィルターを使用してフィルタリングするビデオの時間を選択し、かぶせるまたは連結配置するフィルター。このサイトにはいくつかの例があるはずです。

関連情報