Как установить начальную позицию для фильтров 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

Видетьсписок дополнительных функций.

Если фильтр не поддерживает временную шкалу, то можно использовать обходной путьподрезатьинастройкифильтры для выбора времени видео, которое необходимо отфильтровать, затемналожениеиликонкатфильтры для размещения. На этом сайте должно быть несколько примеров.

Связанный контент