Документация по фильтрам FFmpeg

Оглавление

1 Описание

В этом документе описываются фильтры, источники и приемники, предоставляемые библиотекой libavfilter.

2 Введение в фильтрацию

Фильтрация в FFmpeg включается через библиотеку libavfilter.

В libavfilter фильтр может иметь несколько входов и несколько выходов. Чтобы проиллюстрировать возможные вещи, мы рассмотрим следующий фильтр-граф.

                [главный]
ввод --> разделить ---------------------> наложение --> вывод
            | ^
            |[тмп] [флип]|
            +-----> обрезка --> vflip -------+

Этот filtergraph разбивает входной поток на два потока, затем отправляет один поток через фильтр урожая и фильтр vflip, прежде чем объединить его обратно с другим потоком, наложив его сверху. Для этого вы можете использовать следующую команду:

ffmpeg -i INPUT -vf "split [main][tmp]; [tmp] crop=iw:ih/2:0:0, vflip [flip]; [main][flip] overlay=0:H/2" OUTPUT

В результате верхняя половина видео зеркально отразится на нижней половине выходного видео.

Фильтры в одной линейной цепочке разделяются запятыми, а отдельные линейные цепочки фильтров разделяются точкой с запятой. В нашем примере crop,vflipнаходятся в одной линейной цепи, splitа overlayотдельно в другой. Точки соединения линейных цепей помечены именами, заключенными в квадратные скобки. В этом примере разделительный фильтр создает два выхода, которые связаны с метками [main]и [tmp].

Поток, отправленный на второй выход split, обозначенный как [tmp], обрабатывается cropфильтром, который отсекает нижнюю половину видео, а затем переворачивается по вертикали. Фильтр overlayпринимает на вход первый неизмененный вывод разделенного фильтра (который был помечен как [main]) и накладывает на его нижнюю половину вывод, сгенерированный crop,vflipцепочкой фильтров.

Некоторые фильтры принимают на вход список параметров: они указываются после имени фильтра и знака равенства и отделяются друг от друга двоеточием.

Существуют так называемые source filters, у которых нет аудио/видео входа, и sink filtersу которых не будет аудио/видео выхода.

3 график2точка

The graph2dotпрограмма включена в FFmpegtools можно использовать для разбора описания графа фильтров и выдачи соответствующего текстового представления на точечном языке.

Вызовите команду:

graph2dot -h

чтобы увидеть, как использоватьgraph2dot.

Затем вы можете передать точечное описание вdotпрограмму (из набора программ graphviz) и получить графическое представление filtergraph.

Например последовательность команд:

echo GRAPH_DESCRIPTION | \
tools/graph2dot -o graph.tmp && \
dot -Tpng graph.tmp -o graph.png && \
display graph.png

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

ffmpeg -i infile -vf scale=640:360 outfile

ваша GRAPH_DESCRIPTIONстрока должна быть в форме:

nullsrc,scale=640:360,nullsink

вам также может понадобиться установить nullsrcпараметры и добавить format фильтр, чтобы имитировать определенный входной файл.

4 Описание графа фильтра

Граф фильтров — это ориентированный граф подключенных фильтров. Он может содержать циклы, и между парой фильтров может быть несколько ссылок. Каждая ссылка имеет одну входную площадку с одной стороны, соединяющую ее с одним фильтром, от которого она получает входные данные, и одну выходную площадку с другой стороны, соединяющую ее с одним фильтром, принимающим ее выходные данные.

Каждый фильтр в графе фильтров является экземпляром класса фильтра, зарегистрированного в приложении, который определяет функции и количество входных и выходных контактных площадок фильтра.

Фильтр без входных площадок называется «источником», а фильтр без выходных площадок называется «приемником».

4.1 Filtergraph syntax

Граф фильтра имеет текстовое представление, которое распознается -filter/-vf/-afа также -filter_complexварианты в ffmpegи -vf/-afв ffplay, и avfilter_graph_parse_ptr()функцией, определенной в libavfilter/avfilter.h.

Цепочка фильтров состоит из последовательности подключенных фильтров, каждый из которых связан с предыдущим в последовательности. Цепочка фильтров представлена ​​списком описаний фильтров, разделенных ",".

Граф фильтров состоит из последовательности цепочек фильтров. Последовательность цепочек фильтров представлена ​​списком описаний цепочек фильтров, разделенных знаком «;».

Фильтр представлен строкой вида: [ in_link_1]...[ in_link_N] filter_name@ id= arguments[ out_link_1]...[ out_link_M]

filter_nameимя класса фильтра, экземпляром которого является описываемый фильтр, и должно быть именем одного из классов фильтров, зарегистрированных в программе, за которым может следовать "@ id". За именем класса фильтра может следовать строка «= arguments».

argumentsэто строка, содержащая параметры, используемые для инициализации экземпляра фильтра. Он может иметь одну из двух форм:

  • Список key=valueпар, разделенных ':'.
  • Разделенный ':' список файлов value. В этом случае предполагается, что ключи являются именами опций в том порядке, в котором они объявлены. Например, fadeфильтр объявляет три параметра в следующем порядке:type,start_frameа также nb_frames. Тогда список параметров in:0:30означает, что значение inприсвоено опцииtype, 0чтобы start_frameи 30кnb_frames.
  • Разделенный ':' список смешанных прямых valueи длинных key=value пар. Прямое valueдолжно предшествовать key=valueпарам и следовать тому же порядку ограничений, что и в предыдущей точке. Следующие key=valueпары могут быть установлены в любом предпочтительном порядке.

Если само значение параметра представляет собой список элементов (например, formatфильтр принимает список форматов пикселей), элементы в списке обычно разделяются символом '|'.

Список аргументов можно заключить в кавычки с помощью символа ''' в качестве начального и конечного знака, а также символ '\' для экранирования символов в цитируемом тексте; в противном случае строка аргумента считается завершенной, когда следующий специальный символ (принадлежащий набору '[]=;,') встречается.

Необязательно перед именем и аргументами фильтра следует список меток ссылок. Метка ссылки позволяет назвать ссылку и связать ее с выходом фильтра или входной площадкой. Предыдущие метки in_link_1 ... in_link_Nсвязаны с входными контактными площадками фильтра, следующие метки out_link_1... out_link_Mсвязаны с выходными контактными площадками.

Когда в графе фильтра найдены две метки ссылок с одинаковыми именами, создается связь между соответствующими контактными площадками ввода и вывода.

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

nullsrc, split[L1], [L2]overlay, nullsink

экземпляр разделенного фильтра имеет две выходные площадки, а экземпляр наложенного фильтра — две входные площадки. Первая выходная площадка разделения помечена «L1», первая входная площадка наложения помечена «L2», а вторая выходная площадка разделения связана со второй входной площадкой наложения, обе из которых не имеют маркировки.

В описании фильтра, если входная метка первого фильтра не указана, предполагается "in"; если выходная метка последнего фильтра не указана, предполагается "out".

В полной цепочке фильтров должны быть соединены все немаркированные входные и выходные площадки фильтра. График фильтра считается действительным, если все входные и выходные площадки фильтра всех цепочек фильтров соединены.

Libavfilter автоматически вставит масштабные фильтры там, где требуется преобразование формата. Можно указать флаги swscale для автоматически вставленных масштабаторов, добавив их перед описанием filtergraph. sws_flags=flags;

Вот описание синтаксиса filtergraph в BNF:

NAME             ::= sequence of alphanumeric characters and '_'
FILTER_NAME      ::= NAME["@"NAME]
LINKLABEL        ::= "[" NAME "]"
LINKLABELS       ::= LINKLABEL [LINKLABELS]
FILTER_ARGUMENTS ::= sequence of chars (possibly quoted)
FILTER           ::= [LINKLABELS] FILTER_NAME ["=" FILTER_ARGUMENTS] [LINKLABELS]
FILTERCHAIN      ::= FILTER [,FILTERCHAIN]
FILTERGRAPH      ::= [sws_flags=flags;] FILTERCHAIN [;FILTERGRAPH]

4.2 Notes on filtergraph escaping

Составление описания filtergraph влечет за собой несколько уровней экранирования. См. (ffmpeg-utils) раздел «Цитаты и экранирование» в руководстве ffmpeg-utils(1) для получения дополнительной информации об используемой процедуре экранирования.

Экранирование первого уровня влияет на содержимое каждого значения параметра фильтра, которое может содержать специальный символ :, используемый для разделения значений, или один из символов экранирования \'.

Экранирование второго уровня влияет на все описание фильтра, которое может содержать символы экранирования \'или специальные символы [],;, используемые в описании графа фильтра.

Наконец, когда вы указываете filtergraph в командной строке оболочки, вам необходимо выполнить экранирование третьего уровня для содержащихся в нем специальных символов оболочки.

Например, рассмотрим следующую строку, встроенную в описание фильтра drawtext.textценность:

this is a 'string': may contain one, or more, special characters

Эта строка содержит 'специальный экранирующий символ и :специальный символ, поэтому ее необходимо экранировать следующим образом:

text=this is a \'string\'\: may contain one, or more, special characters

Второй уровень экранирования требуется при встраивании описания фильтра в описание графа фильтров, чтобы экранировать все специальные символы графа фильтров. Таким образом, приведенный выше пример становится:

drawtext=text=this is a \\\'string\\\'\\: may contain one\, or more\, special characters

(обратите внимание, что в дополнение к \'экранированию специальных символов также ,необходимо экранировать).

Наконец, при написании описания filtergraph в команде оболочки требуется дополнительный уровень экранирования, который зависит от правил экранирования принятой оболочки. Например, если предположить, что \это специальное и его нужно экранировать с помощью другого \, предыдущая строка в конечном итоге приведет к следующему результату:

-vf "drawtext=text=this is a \\\\\\'string\\\\\\'\\\\: may contain one\\, or more\\, special characters"

5 Редактирование временной шкалы

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

Выражение принимает следующие значения:

't'

метка времени, выраженная в секундах, NAN, если метка времени ввода неизвестна

'n'

порядковый номер входного кадра, начиная с 0

'pos'

позиция в файле входного кадра, NAN, если неизвестно

'w'
'h'

ширина и высота входного кадра, если видео

Кроме того, эти фильтры поддерживаютenableкоманда, которую можно использовать для переопределения выражения.

Как и любой другой фильтр,enableoption следует тем же правилам.

Например, чтобы включить фильтр размытия ( smartblur ) с 10 секунд до 3 минут и фильтр кривых , начинающийся с 3 секунд:

smartblur = enable='between(t,10,3*60)',
curves    = enable='gte(t,3)' : preset=cross_process

Посмотрите ffmpeg -filters, какие фильтры поддерживают временную шкалу.

6 Изменение параметров во время выполнения с помощью команды

Некоторые параметры можно изменить во время работы фильтра с помощью команды. Эти параметры помечены буквой «Т» на выходе ffmpeg -h filter=<name of filter>. Имя команды — это имя параметра, а аргумент — новое значение.

7 вариантов фильтров с несколькими входами (framesync)

Некоторые фильтры с несколькими входами поддерживают общий набор опций. Эти параметры могут быть установлены только по имени, а не по сокращенному обозначению.

eof_action

Действие, предпринимаемое при обнаружении EOF на вторичном входе; он принимает одно из следующих значений:

repeat

Повторить последний кадр (по умолчанию).

endall

Завершите оба потока.

pass

Пропустите основной ввод.

shortest

Если установлено значение 1, принудительное завершение вывода при завершении кратчайшего ввода. Значение по умолчанию — 0.

repeatlast

Если установлено значение 1, фильтр принудительно продлевает последний кадр вторичных потоков до конца основного потока. Значение 0 отключает это поведение. Значение по умолчанию — 1.

8 аудиофильтров

Когда вы настраиваете сборку FFmpeg, вы можете отключить любой из существующих фильтров, используя файлы --disable-filters. Выходные данные configure отобразят аудиофильтры, включенные в вашу сборку.

Ниже приведено описание доступных в настоящее время аудиофильтров.

8.1 acompressor

Компрессор в основном используется для уменьшения динамического диапазона сигнала. Особенно современная музыка в основном сжимается с высоким коэффициентом для улучшения общей громкости. Это сделано для того, чтобы привлечь максимальное внимание слушателя, «ожирить» звук и придать треку больше «мощности». Если сигнал сжат слишком сильно, впоследствии он может звучать тускло или «мертво», или он может начать «накачивать» (что может быть мощным эффектом, но также может полностью разрушить дорожку). Правильная компрессия — ключ к профессиональному звуку и высокое искусство сведения и мастеринга. Из-за его сложных настроек может потребоваться много времени, чтобы получить правильное представление о таком эффекте.

Сжатие выполняется путем определения объема выше выбранного уровня thresholdи деления его на коэффициент, установленный с помощью ratio. Таким образом, если вы установите порог на -12 дБ и ваш сигнал достигает -6 дБ, соотношение 2:1 приведет к сигналу на уровне -9 дБ. Поскольку точное манипулирование сигналом может привести к искажению формы сигнала, снижение может быть выравнивается с течением времени. Это делается настройками «Атака» и «Отпуск». attackопределяет, как долго сигнал должен подниматься выше порога, прежде чем произойдет какое-либо снижение, и releaseустанавливает время, в течение которого сигнал должен упасть ниже порога, чтобы снова уменьшить снижение. Более короткие сигналы, чем выбранное время атаки, останутся нетронутыми. Общее уменьшение сигнала может быть компенсировано впоследствии с помощью makeupпараметр. Таким образом, сжатие пиков сигнала примерно на 6 дБ и повышение уровня грима до этого уровня приводит к тому, что сигнал становится в два раза громче, чем источник. Чтобы получить более мягкий вход в сжатие, kneeжесткий край сглаживается на пороге в диапазоне выбранных децибел.

Фильтр принимает следующие параметры:

level_in

Установите входное усиление. По умолчанию 1. Диапазон значений от 0,015625 до 64.

mode

Установить режим работы компрессора. Можно upwardили downward. Значение по умолчанию downward.

threshold

Если сигнал потока превысит этот уровень, это повлияет на уменьшение усиления. По умолчанию это 0,125. Диапазон составляет от 0,00097563 до 1.

ratio

Установите коэффициент, на который уменьшается сигнал. 1:2 означает, что если уровень поднялся на 4 дБ выше порога, то после снижения он будет только на 2 дБ выше. По умолчанию 2. Диапазон значений от 1 до 20.

attack

Количество миллисекунд, в течение которых сигнал должен подняться выше порогового значения, прежде чем начнется снижение усиления. По умолчанию 20. Диапазон значений от 0,01 до 2000.

release

Количество миллисекунд, в течение которых сигнал должен упасть ниже порогового значения, прежде чем уменьшение снова уменьшится. По умолчанию 250. Диапазон значений от 0,01 до 9000.

makeup

Установите величину, на которую будет усиливаться сигнал после обработки. По умолчанию 1. Диапазон значений от 1 до 64.

knee

Изогните острое колено вокруг порога, чтобы более мягко ввести снижение усиления. По умолчанию 2,82843. Диапазон от 1 до 8.

link

Выберите, влияет ли averageуровень между всеми каналами входного потока или более громким ( maximum) каналом входного потока на уменьшение. Значение по умолчанию average.

detection

Следует ли брать точный сигнал в случае peakили RMS в случае rms. Значение по умолчанию, rmsкоторое в основном более плавное.

mix

Насколько использовать сжатый сигнал на выходе. По умолчанию 1. Диапазон значений от 0 до 1.

8.1.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

8.2 acontrast

Простой фильтр сжатия/расширения динамического диапазона звука.

Фильтр принимает следующие параметры:

contrast

Установить контраст. По умолчанию 33. Допустимый диапазон от 0 до 100.

8.3 acopy

Скопируйте входной источник звука без изменений на выход. В основном это полезно для целей тестирования.

8.4 acrossfade

Примените перекрестное затухание от одного входного аудиопотока к другому входному аудиопотоку. Кроссфейд применяется в течение заданного времени в конце первого потока.

Фильтр принимает следующие параметры:

nb_samples, ns

Укажите количество сэмплов, для которых должен длиться эффект перекрестного затухания. В конце эффекта перекрестного затухания первый входной звук будет полностью тихим. По умолчанию 44100.

duration, d

Укажите продолжительность эффекта перекрестного затухания. См. (ffmpeg-utils) раздел Продолжительность времени в руководстве ffmpeg-utils(1) для получения информации о принятом синтаксисе. По умолчанию продолжительность определяется nb_samples. Если установлено, эта опция используется вместо nb_samples.

overlap, o

Должен ли конец первого потока пересекаться с началом второго потока. По умолчанию включено.

curve1

Установите кривую для перехода плавного перехода для первого потока.

curve2

Установите кривую для перехода плавного перехода для второго потока.

Описание доступных типов кривых см. в описании фильтра fade .

8.4.1 Примеры

  • Переход от одного входа к другому:
    ffmpeg -i first.flac -i second.flac -filter_complex acrossfade=d=10:c1=exp:c2=exp output.flac
    
  • Переход от одного входа к другому, но без перекрытия:
    ffmpeg -i first.flac -i second.flac -filter_complex acrossfade=d=10:o=0:c1=exp:c2=exp output.flac
    

8.5 acrossover

Разделить аудиопоток на несколько полос.

Этот фильтр разделяет аудиопоток на два или более частотных диапазона. Суммирование всех потоков обратно даст плоский результат.

Фильтр принимает следующие параметры:

split

Установите разделенные частоты. Они должны быть положительными и увеличиваться.

order

Установите порядок фильтра для каждого разделения полосы. Это управляет спадом фильтра или крутизной передаточной функции фильтра. Доступные значения:

'2nd'

12 дБ на октаву.

'4th'

24 дБ на октаву.

'6th'

36 дБ на октаву.

'8th'

48 дБ на октаву.

'10th'

60 дБ на октаву.

'12th'

72 дБ на октаву.

'14th'

84 дБ на октаву.

'16th'

96 дБ на октаву.

'18th'

108 дБ на октаву.

'20th'

120 дБ на октаву.

Значение по умолчанию 4th.

level

Установите уровень входного усиления. Допустимый диапазон — от 0 до 1. Значение по умолчанию — 1.

gains

Установите выходное усиление для каждой полосы. Значение по умолчанию — 1 для всех диапазонов.

precision

Установите, какую точность использовать при обработке образцов.

auto

Автоматический выбор внутреннего формата сэмпла в зависимости от других фильтров.

float

Всегда используйте формат выборки с точностью до одинарной плавающей запятой.

double

Всегда используйте формат выборки с двойной точностью с плавающей запятой.

Значение по умолчанию auto.

8.5.1 Примеры

  • Разделить входной аудиопоток на две полосы (низкая и высокая) с частотой разделения 1500 Гц, каждая полоса будет в отдельном потоке:
    ffmpeg -i in.flac -filter_complex 'acrossover=split=1500[LOW][HIGH]' -map '[LOW]' low.wav -map '[HIGH]' high.wav
    
  • То же, что и выше, но с более высоким порядком фильтрации:
    ffmpeg -i in.flac -filter_complex 'acrossover=split=1500:order=8th[LOW][HIGH]' -map '[LOW]' low.wav -map '[HIGH]' high.wav
    
  • То же, что и выше, но также с дополнительной средней полосой (частоты между 1500 и 8000):
    ffmpeg -i in.flac -filter_complex 'acrossover=split=1500 8000:order=8th[LOW][MID][HIGH]' -map '[LOW]' low.wav -map '[MID]' mid.wav -map '[HIGH]' high.wav
    

8.6 acrusher

Уменьшите битовое разрешение звука.

Этот фильтр биткрашер с расширенной функциональностью. Bit Crusher используется для звукового уменьшения количества битов, с которыми сэмплируется звуковой сигнал. Это вообще не меняет битовую глубину, просто производит эффект. Материал с уменьшенной разрядностью звучит более жестко и «цифрово». Этот фильтр может даже округлять до непрерывных значений вместо дискретных разрядностей. Кроме того, он имеет смещение D/C, что приводит к различному подавлению нижней и верхней половины сигнала. Параметр Anti-Aliasing может производить «более мягкие» звуки дробления.

Еще одной особенностью этого фильтра является логарифмический режим. Эта настройка переключает линейные расстояния между битами на логарифмические. В результате получается гораздо более «естественный» звучащий дробилка, который, например, не гейтирует низкие сигналы. Человеческое ухо имеет логарифмическое восприятие, поэтому такое дробление гораздо приятнее. Логарифмическое дробление также может быть сглажено.

Фильтр принимает следующие параметры:

level_in

Установить уровень в.

level_out

Выставить уровень.

bits

Установите битовое уменьшение.

mix

Установите объем смешивания.

mode

Может быть линейным: linили логарифмическим: log.

dc

Установите постоянный ток.

aa

Установите сглаживание.

samples

Установите сокращение выборки.

lfo

Включите LFO. По умолчанию отключен.

lforange

Установите диапазон LFO.

lforate

Установите скорость LFO.

8.6.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

8.7 acue

Отложить фильтрацию звука до заданной временной метки настенных часов. См. Cue фильтр.

8.8 adeclick

Удалите импульсный шум из входного аудио.

Образцы, обнаруженные как импульсный шум, заменяются интерполированными образцами с использованием авторегрессионного моделирования.

window, w

Установить размер окна в миллисекундах. Допустимый диапазон от 10до 100. Значение по умолчанию — 55миллисекунды. Это устанавливает размер окна, которое будет обработано сразу.

overlap, o

Установить перекрытие окна в процентах от размера окна. Допустимый диапазон от 50до 95. Значение по умолчанию — 75проценты. Установка очень высокого значения увеличивает удаление импульсного шума, но делает весь процесс намного медленнее.

arorder, a

Установите порядок авторегрессии в процентах от размера окна. Допустимый диапазон от 0до 25. Значение по умолчанию — 2проценты. Эта опция также контролирует качество интерполированных выборок с использованием соседних хороших выборок.

threshold, t

Установите пороговое значение. Допустимый диапазон от 1до 100. Значение по умолчанию 2. Это контролирует силу импульсного шума, который будет удален. Чем ниже значение, тем больше сэмплов будет детектировано как импульсный шум.

burst, b

Установить пакетное слияние в процентах от размера окна. Допустимый диапазон 0до 10. Значение по умолчанию 2. Если любые две выборки, обнаруженные как шум, разнесены меньше, чем это значение, то любая выборка между этими двумя выборками также будет обнаружена как шум.

method, m

Установите метод перекрытия.

Он принимает следующие значения:

add, a

Выберите метод добавления с перекрытием. Даже неинтерполированные выборки немного изменяются с помощью этого метода.

save, s

Выберите метод сохранения с перекрытием. Неинтерполированные выборки остаются без изменений.

Значение по умолчанию a.

8.9 adeclip

Удалите обрезанные сэмплы из входного аудио.

Образцы, обнаруженные как усеченные, заменяются интерполированными образцами с использованием авторегрессионного моделирования.

window, w

Установить размер окна в миллисекундах. Допустимый диапазон от 10до 100. Значение по умолчанию — 55миллисекунды. Это устанавливает размер окна, которое будет обработано сразу.

overlap, o

Установить перекрытие окна в процентах от размера окна. Допустимый диапазон от 50 до 95. Значение по умолчанию — 75проценты.

arorder, a

Установите порядок авторегрессии в процентах от размера окна. Допустимый диапазон от 0до 25. Значение по умолчанию — 8проценты. Эта опция также контролирует качество интерполированных выборок с использованием соседних хороших выборок.

threshold, t

Установите пороговое значение. Допустимый диапазон от 1до 100. Значение по умолчанию 10. Более высокие значения делают обнаружение клипа менее агрессивным.

hsize, n

Установите размер гистограммы, используемой для обнаружения клипов. Допустимый диапазон от 100до 9999. Значение по умолчанию 1000. Более высокие значения делают обнаружение клипа менее агрессивным.

method, m

Установите метод перекрытия.

Он принимает следующие значения:

add, a

Выберите метод добавления с перекрытием. Даже неинтерполированные выборки немного изменяются с помощью этого метода.

save, s

Выберите метод сохранения с перекрытием. Неинтерполированные выборки остаются без изменений.

Значение по умолчанию a.

8.10 adecorrelate

Примените декорреляцию к входному аудиопотоку.

Фильтр принимает следующие параметры:

stages

Установить этапы декорреляции фильтрации. Допустимый диапазон от 1 до 16. Значение по умолчанию — 6.

seed

Установите случайное начальное значение, используемое для установки задержки в выборках по каналам.

8.11 adelay

Задержка одного или нескольких аудиоканалов.

Сэмплы в задержанном канале заполнены тишиной.

Фильтр принимает следующий вариант:

delays

Установите список задержек в миллисекундах для каждого канала, разделенных знаком «|». Неиспользованные задержки будут молча игнорироваться. Если количество заданных задержек меньше количества каналов, все оставшиеся каналы не будут задержаны. Если вы хотите отложить точное количество выборок, добавьте «S» к числу. Если вы хотите вместо задержки в секундах, добавьте 's' к номеру.

all

Используйте последнюю установленную задержку для всех оставшихся каналов. По умолчанию отключен. Эта опция, если она включена, изменяет delaysинтерпретацию опции.

8.11.1 Примеры

  • Задержите первый канал на 1,5 секунды, третий канал на 0,5 секунды и оставьте второй канал (и любые другие каналы, которые могут присутствовать) без изменений.
    adelay=1500|0|500
    
  • Задержите второй канал на 500 отсчетов, третий канал на 700 отсчетов и оставьте первый канал (и любые другие каналы, которые могут присутствовать) без изменений.
    adelay=0|500S|700S
    
  • Задержите все каналы на одинаковое количество отсчетов:
    adelay=delays=64S:all=1
    

8.12 adenorm

Remedy денормирует звук, добавляя очень низкий уровень шума.

Этот фильтр должен быть помещен перед любым фильтром, который может производить денормализацию.

Далее следует описание принятых параметров.

level

Установите уровень добавленного шума в дБ. Значение по умолчанию -351. Допустимый диапазон от -451 до -90.

type

Установите тип добавленного шума.

dc

Добавьте сигнал постоянного тока.

ac

Добавьте сигнал переменного тока.

square

Добавьте квадратный сигнал.

pulse

Добавьте импульсный сигнал.

Значение по умолчанию dc.

8.12.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

8.13 aderivative, aintegral

Вычислите производную/интеграл аудиопотока.

Применение обоих фильтров один за другим дает оригинальный звук.

8.14 adynamicequalizer

Примените динамическую коррекцию к входному аудиопотоку.

Далее следует описание принятых опций.

threshold

Установите порог обнаружения, используемый для запуска выравнивания. Обнаружение порога осуществляется с помощью полосового фильтра. Значение по умолчанию — 0. Допустимый диапазон — от 0 до 100.

dfrequency

Установите частоту обнаружения в Гц, используемую для полосового фильтра, используемого для запуска выравнивания. Значение по умолчанию — 1000 Гц. Допустимый диапазон составляет от 2 до 1000000 Гц.

dqfactor

Установите коэффициент резонанса обнаружения для полосового фильтра, используемого для запуска выравнивания. Значение по умолчанию — 1. Допустимый диапазон — от 0,001 до 1000.

tfrequency

Установите целевую частоту выравнивающего фильтра. Значение по умолчанию — 1000 Гц. Допустимый диапазон составляет от 2 до 1000000 Гц.

tqfactor

Установите целевой коэффициент резонанса для целевого выравнивающего фильтра. Значение по умолчанию — 1. Допустимый диапазон — от 0,001 до 1000.

attack

Установите количество миллисекунд, в течение которых сигнал от обнаружения должен подняться выше порога обнаружения, прежде чем начнется выравнивание. По умолчанию 20. Допустимый диапазон от 1 до 2000.

release

Установите количество миллисекунд, в течение которых сигнал от обнаружения должен упасть ниже порога обнаружения, прежде чем выравнивание закончится. По умолчанию 200. Допустимый диапазон от 1 до 2000.

knee

Изгиб острого колена вокруг порога обнаружения для более мягкого расчета коэффициента усиления выравнивания. По умолчанию 1. Допустимый диапазон от 0 до 8.

ratio

Установите коэффициент, на который повышается усиление выравнивания. По умолчанию 1. Допустимый диапазон от 1 до 20.

makeup

Установите компенсационное смещение в дБ, на которое повышается усиление выравнивания. По умолчанию 0. Допустимый диапазон от 0 до 30.

range

Установите максимально допустимую величину снижения/усиления в дБ. По умолчанию 0. Допустимый диапазон от 0 до 200.

slew

Установите коэффициент нарастания. По умолчанию 1. Допустимый диапазон от 1 до 200.

mode

Установите режим работы фильтра, может быть одним из следующих:

'listen'

Вывод только изолированного полосового сигнала.

'cut'

Вырезать частоты выше порога обнаружения.

'boost'

Повышение частоты ниже порога обнаружения.

Режим по умолчанию 'cut'.

tftype

Установите тип целевого фильтра, может быть одним из следующих:

'bell'
'lowshelf'
'highshelf'

Тип по умолчанию: 'bell'.

8.14.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

8.15 adynamicsmooth

Примените динамическое сглаживание к входному аудиопотоку.

Далее следует описание принятых опций.

sensitivity

Установите уровень чувствительности к колебаниям частоты. По умолчанию 2. Допустимый диапазон от 0 до 1e+06.

basefreq

Установите базовую частоту для сглаживания. Значение по умолчанию 22050. Допустимый диапазон от 2 до 1e+06.

8.15.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

8.16 aecho

Примените эхо к входному звуку.

Эхо представляет собой отраженный звук и может естественно возникать среди гор (а иногда и больших зданий) при разговоре или крике; эффекты цифрового эха имитируют это поведение и часто используются, чтобы помочь заполнить звук одного инструмента или вокала. Разница во времени между исходным сигналом и отражением равна delay, а громкость отраженного сигнала равна decay. Несколько эхо-сигналов могут иметь разные задержки и затухания.

Далее следует описание принятых параметров.

in_gain

Установите входное усиление отраженного сигнала. Значение по умолчанию 0.6.

out_gain

Установить выходное усиление отраженного сигнала. Значение по умолчанию 0.3.

delays

Установите список временных интервалов в миллисекундах между исходным сигналом и отражениями, разделенными '|'. delayДопустимый диапазон для каждого (0 - 90000.0]. Значение по умолчанию 1000.

decays

Установить список громкости отраженных сигналов, разделенных символом '|'. decayДопустимый диапазон для каждого (0 - 1.0]. Значение по умолчанию 0.5.

8.16.1 Примеры

  • Заставьте это звучать так, как будто инструментов в два раза больше, чем на самом деле:
    aecho=0.8:0.88:60:0.4
    
  • Если задержка очень короткая, то это звучит как (металлический) робот, играющий музыку:
    aecho=0.8:0.88:6:0.4
    
  • Более длительная задержка будет звучать как концерт под открытым небом в горах:
    aecho=0.8:0.9:1000:0.3
    
  • То же, что и выше, но с еще одной горой:
    aecho=0.8:0.9:1000|1800:0.3|0.25
    

8.17 aemphasis

Фильтр звуковых акцентов создает или восстанавливает материал, непосредственно взятый с пластинок или компакт-дисков с акцентами, с различными кривыми фильтра. Например, для записи музыки на винил сигнал сначала должен быть обработан фильтром, чтобы нивелировать недостатки этого носителя записи. После воспроизведения материала необходимо применить обратный фильтр, чтобы восстановить искажение частотной характеристики.

Фильтр принимает следующие параметры:

level_in

Установите входное усиление.

level_out

Установите выходное усиление.

mode

Установить режим фильтра. Для восстановления материала используйте reproductionрежим, в противном случае используйте productionрежим. По умолчанию это reproductionрежим.

type

Установите тип фильтра. Выбирает средний. Может быть одним из следующих:

col

выберите Колумбию.

emi

выберите ЭМИ.

bsi

выберите BSI (78 об/мин).

riaa

выберите РИАА.

cd

выберите компакт-диск (CD).

50fm

выберите 50 мкс (FM).

75fm

выберите 75 мкс (FM).

50kf

выберите 50 мкс (FM-KF).

75kf

выберите 75 мкс (FM-KF).

8.17.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

8.18 aeval

Измените звуковой сигнал в соответствии с указанными выражениями.

Этот фильтр принимает одно или несколько выражений (по одному для каждого канала), которые оцениваются и используются для изменения соответствующего аудиосигнала.

Он принимает следующие параметры:

exprs

Установите список выражений, разделенных знаком «|», для каждого отдельного канала. Если количество входных каналов превышает количество выражений, для оставшихся выходных каналов используется последнее указанное выражение.

channel_layout, c

Установите схему выходного канала. Если не указано, расположение каналов определяется количеством выражений. Если установлено 'same', по умолчанию будет использоваться тот же макет входного канала.

Каждое выражение exprsможет содержать следующие константы и функции:

ch

номер канала текущего выражения

n

номер оцениваемой выборки, начиная с 0

s

частота дискретизации

t

время оцениваемого образца, выраженное в секундах

nb_in_channels
nb_out_channels

вход и выход количество каналов

val(CH)

значение входного канала с номеромCH

Примечание: этот фильтр работает медленно. Для более быстрой обработки следует использовать специальный фильтр.

8.18.1 Примеры

  • Половина объема:
    aeval=val(ch)/2:c=same
    
  • Инверсия фазы второго канала:
    aeval=val(0)|-val(1)
    

8.19 aexciter

Возбудитель используется для получения высокого звука, которого нет в исходном сигнале. Это делается путем создания гармонических искажений сигнала, которые ограничены по диапазону и добавляются к исходному сигналу. Exciter поднимает верхний предел звукового сигнала, не просто повышая более высокие частоты, как это сделал бы эквалайзер, чтобы создать более «четкий» или «блестящий» звук.

Фильтр принимает следующие параметры:

level_in

Установите входной уровень до обработки сигнала. Допустимый диапазон — от 0 до 64. Значение по умолчанию — 1.

level_out

Установите выходной уровень после обработки сигнала. Допустимый диапазон — от 0 до 64. Значение по умолчанию — 1.

amount

Установите количество гармоник, добавляемых к исходному сигналу. Допустимый диапазон — от 0 до 64. Значение по умолчанию — 1.

drive

Установите количество вновь созданных гармоник. Допустимый диапазон от 0,1 до 10. Значение по умолчанию 8,5.

blend

Установите октаву вновь созданных гармоник. Допустимый диапазон от -10 до 10. Значение по умолчанию 0.

freq

Установите нижний предел частоты генерации гармоник в Гц. Допустимый диапазон от 2000 до 12000 Гц. По умолчанию 7500 Гц.

ceil

Установите верхний предел частоты генерации гармоник. Допустимый диапазон от 9999 до 20000 Гц. Если значение ниже 10000 Гц, ограничение не применяется.

listen

Приглушите исходный сигнал и выведите только добавленные гармоники. По умолчанию отключен.

8.19.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

8.20 afade

Применение эффекта плавного появления/затухания к входному звуку.

Далее следует описание принятых параметров.

type, t

Укажите тип эффекта, может быть либо эффект нарастания, либо inэффект outзатухания. Значение по умолчанию in.

start_sample, ss

Укажите номер начального образца для начала применения эффекта затухания. По умолчанию 0.

nb_samples, ns

Укажите количество сэмплов, для которых должен длиться эффект затухания. В конце эффекта затухания выходной звук будет иметь ту же громкость, что и входной звук, в конце перехода затухания выходной звук будет тихим. По умолчанию 44100.

start_time, st

Укажите время начала эффекта затухания. По умолчанию 0. Значение должно быть указано как продолжительность времени; см. (ffmpeg-utils) раздел «Продолжительность времени» в руководстве ffmpeg-utils(1) для получения информации о принятом синтаксисе. Если установлено, эта опция используется вместо start_sample.

duration, d

Укажите продолжительность эффекта затухания. См. (ffmpeg-utils) раздел Продолжительность времени в руководстве ffmpeg-utils(1) для получения информации о принятом синтаксисе. В конце эффекта затухания выходной звук будет иметь ту же громкость, что и входной звук, в конце перехода затухания выходной звук будет тихим. По умолчанию продолжительность определяется nb_samples. Если установлено, эта опция используется вместо nb_samples.

curve

Установите кривую для перехода затухания.

Он принимает следующие значения:

tri

выберите треугольный, линейный наклон (по умолчанию)

qsin

выберите четверть синусоиды

hsin

выберите половину синусоиды

esin

выберите экспоненциальную синусоиду

log

выберите логарифмический

ipar

выберите перевернутую параболу

qua

выберите квадратичный

cub

выберите кубический

squ

выберите квадратный корень

cbr

выберите кубический корень

par

выберите параболу

exp

выбрать экспоненциальный

iqsin

выберите перевернутую четверть синусоиды

ihsin

выберите перевернутую половину синусоиды

dese

выбрать место с двойной экспонентой

desi

выберите двойную экспоненциальную сигмоиду

losi

выберите логистическую сигмоиду

sinc

выберите кардинальную функцию синуса

isinc

выберите инвертированную кардинальную функцию синуса

nofade

фейд не применяется

8.20.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

8.20.2 Примеры

  • Затухание в первые 15 секунд звука:
    afade=t=in:ss=0:d=15
    
  • Затухание последних 25 секунд из 900-секундного аудио:
    afade=t=out:st=875:d=25
    

8.21 afftdn

Уменьшите шум аудиосэмплов с помощью FFT.

Далее следует описание принятых параметров.

noise_reduction, nr

Установите шумоподавление в дБ, допустимый диапазон от 0,01 до 97. Значение по умолчанию — 12 дБ.

noise_floor, nf

Установите уровень шума в дБ, допустимый диапазон от -80 до -20. Значение по умолчанию: -50 дБ.

noise_type, nt

Установите тип шума.

Он принимает следующие значения:

white, w

Выберите белый шум.

vinyl, v

Выберите виниловый шум.

shellac, s

Выберите шум шеллака.

custom, c

Выберите пользовательский шум, определенный в bnопции.

Значение по умолчанию — белый шум.

band_noise, bn

Установите пользовательский профиль шума полосы для каждой из 15 полос. Полосы разделяются знаком ' ' или '|'.

residual_floor, rf

Установите остаточный уровень в дБ, допустимый диапазон от -80 до -20. Значение по умолчанию: -38 дБ.

track_noise, tn

Включите отслеживание минимального уровня шума. По умолчанию отключен. Если эта функция включена, минимальный уровень шума регулируется автоматически.

track_residual, tr

Включите остаточное отслеживание. По умолчанию отключен.

output_mode, om

Установите режим вывода.

Он принимает следующие значения:

input, i

Передайте ввод без изменений.

output, o

Проходной шум отфильтрован.

noise, n

Проходят только шумы.

Значение по умолчанию output.

adaptivity, ad

Установите коэффициент адаптивности, используемый для того, чтобы быстро адаптировать регулировки усиления для каждого частотного бина. Значение 0обеспечивает мгновенную адаптацию, в то время как более высокие значения реагируют намного медленнее. Допустимый диапазон от 0до 1. Значение по умолчанию 0.5.

floor_offset, fo

Установите коэффициент смещения минимального уровня шума. Эта опция используется для настройки смещения, применяемого к измеренному уровню шума. Это эффективно, только если включено отслеживание минимального уровня шума. Допустимый диапазон от -2.0до 2.0. Значение по умолчанию 1.0.

noise_link, nl

Установите связь шума, используемую для многоканального звука.

Он принимает следующие значения:

none

Используйте неизменный минимальный уровень шума канала.

min

Используйте измеренный минимальный уровень шума всех каналов.

max

Используйте измеренный максимальный уровень шума всех каналов.

average

Используйте измеренный средний уровень шума всех каналов.

Значение по умолчанию min.

band_multiplier, bm

Установите коэффициент множителя полосы, используемый для распределения полос по частотным элементам. Допустимый диапазон от 0.2до 5. Значение по умолчанию 1.25.

sample_noise, sn

Переключите захват и измерение профиля шума из входного аудио.

Он принимает следующие значения:

start, begin

Запустите захват шума образца.

stop, end

Остановите захват шума образца и измерьте новый профиль полосы шума.

Значение по умолчанию none.

gain_smooth, gs

Задайте сглаженный пространственный радиус усиления, используемый для сглаживания усилений, применяемых к каждому частотному бину. Полезно для уменьшения артефактов случайного музыкального шума. Более высокие значения увеличивают сглаживание усиления. Допустимый диапазон от 0до 50. Значение по умолчанию 0.

8.21.1 Команды

Этот фильтр поддерживает некоторые вышеупомянутые параметры в виде команд .

8.21.2 Примеры

  • Уменьшите белый шум на 10 дБ и используйте ранее измеренный уровень шума -40 дБ:
    afftdn=nr=10:nf=-40
    
  • Уменьшите белый шум на 10 дБ, также установите начальный уровень шума на -80 дБ и включите автоматическое отслеживание уровня шума, чтобы уровень шума постепенно менялся во время обработки:
    afftdn=nr=10:nf=-80:tn=1
    
  • Уменьшите шум на 20 дБ, используя минимальный уровень шума -40 дБ и используя команды для получения профиля шума первых 0,4 секунды входного звука:
    asendcmd=0.0 afftdn sn start,asendcmd=0.4 afftdn sn stop,afftdn=nr=20:nf=-40
    

8.22 afftfilt

Примените произвольные выражения к образцам в частотной области.

real

Задайте реальное выражение частотной области для каждого отдельного канала, разделенного символом '|'. По умолчанию "повторно". Если количество входных каналов превышает количество выражений, для оставшихся выходных каналов используется последнее указанное выражение.

imag

Установите мнимое выражение в частотной области для каждого отдельного канала, разделенного символом '|'. По умолчанию "им".

Каждое выражение в realи imagможет содержать следующие константы и функции:

sr

частота дискретизации

b

номер ячейки текущей частоты

nb

количество доступных бинов

ch

номер канала текущего выражения

chs

количество каналов

pts

текущий кадр pts

re

текущая действительная часть частотного бина текущего канала

im

текущая мнимая часть частотного бина текущего канала

real(b, ch)

Возвращает значение реальной части частотного бина в местоположении ( bin, channel)

imag(b, ch)

Возвращает значение мнимой части частотного бина в местоположении ( bin, channel)

win_size

Установить размер окна. Допустимый диапазон от 16 до 131072. По умолчанию4096

win_func

Установить оконную функцию.

Он принимает следующие значения:

'rect'
'bartlett'
'hann, hanning'
'hamming'
'blackman'
'welch'
'flattop'
'bharris'
'bnuttall'
'bhann'
'sine'
'nuttall'
'lanczos'
'gauss'
'tukey'
'dolph'
'cauchy'
'parzen'
'poisson'
'bohman'

Значение по умолчанию hann.

overlap

Установите перекрытие окна. Если установлено значение 1, будет выбрано рекомендуемое перекрытие для выбранной оконной функции. Значение по умолчанию 0.75.

8.22.1 Примеры

  • В аудио оставляем почти только низкие частоты:
    afftfilt="'real=re * (1-clip((b/nb)*b,0,1))':imag='im * (1-clip((b/nb)*b,0,1))'"
    
  • Примените эффект роботизации:
    afftfilt="real='hypot(re,im)*sin(0)':imag='hypot(re,im)*cos(0)':win_size=512:overlap=0.75"
    
  • Применить эффект шепота:
    afftfilt="real='hypot(re,im)*cos((random(0)*2-1)*2*3.14)':imag='hypot(re,im)*sin((random(1)*2-1)*2*3.14)':win_size=128:overlap=0.8"
    

8.23 afir

Примените произвольный фильтр конечной импульсной характеристики.

Этот фильтр предназначен для применения длинных КИХ-фильтров длительностью до 60 секунд.

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

Этот фильтр использует потоки выше первого в качестве КИХ-коэффициентов. Если не первый поток содержит один канал, он будет использоваться для всех входных каналов в первом потоке, в противном случае количество каналов в не первом потоке должно быть таким же, как количество каналов в первом потоке.

Он принимает следующие параметры:

dry

Установите сухое усиление. Это устанавливает входное усиление.

wet

Установите влажное усиление. Это устанавливает окончательное усиление выхода.

length

Установите длину фильтра импульсной характеристики. Значение по умолчанию — 1, что означает, что обрабатывается весь IR.

gtype

Включите применение усиления, измеренного по мощности ИК.

Установите, какой подход использовать для автоматического измерения усиления.

none

Не применяйте усиление.

peak

выберите пиковое усиление, очень консервативный подход. Это значение по умолчанию.

dc

выберите усиление постоянного тока, ограниченное применение.

gn

выберите подход усиления к шуму, он наиболее популярен.

irgain

Установите усиление, которое будет применяться к ИК-коэффициентам перед фильтрацией. Допустимый диапазон: от 0 до 1. Это усиление применяется после любого усиления, примененного с gtypeопцией.

irfmt

Установите формат ИК-потока. Можно monoили input. Значение по умолчанию input.

maxir

Установите максимально допустимую продолжительность фильтра импульсной характеристики в секундах. По умолчанию 30 секунд. Допустимый диапазон: от 0,1 до 60 секунд.

response

Показать частотную характеристику ИК, амплитуду (пурпурный), фазу (зеленый) и групповую задержку (желтый) в дополнительном видеопотоке. По умолчанию он отключен.

channel

Установите, для какого ИК-канала отображать частотную характеристику. По умолчанию отображается первый канал. Эта опция используется только тогда, когда responseона включена.

size

Установите размер видеопотока. Эта опция используется только тогда, когда responseона включена.

rate

Установите частоту кадров видеопотока. Эта опция используется только тогда, когда responseона включена.

minp

Установите минимальный размер раздела, используемый для свертки. Значение по умолчанию 8192. Допустимый диапазон от 1до 32768. Более низкие значения уменьшают задержку за счет более высокой загрузки ЦП.

maxp

Установите максимальный размер раздела, используемый для свертки. Значение по умолчанию 8192. Допустимый диапазон от 8до 32768. Более низкие значения могут увеличить загрузку ЦП.

nbirs

Установите количество входных потоков импульсных откликов, которые будут переключаться во время выполнения. Допустимый диапазон от 1до 32. Значение по умолчанию 1.

ir

Установить ИК-поток, который будет использоваться для свертки, начиная с 0, всегда должен быть меньше значения, nbirsзаданного опцией. Значение по умолчанию 0. Этот параметр можно изменить во время выполнения с помощью команд .

precision

Установите, какую точность использовать при обработке образцов.

auto

Автоматический выбор внутреннего формата сэмпла в зависимости от других фильтров.

float

Всегда используйте формат выборки с точностью до одинарной плавающей запятой.

double

Всегда используйте формат выборки с двойной точностью с плавающей запятой.

Значение по умолчанию — авто.

8.23.1 Примеры

  • Примените реверберацию к потоку, используя монофонический ИК-файл в качестве второго входа, выполните команду, используя ffmpeg:
    ffmpeg -i input.wav -i middle_tunnel_1way_mono.wav -lavfi afir output.wav
    

8.24 aformat

Установите ограничения выходного формата для входного аудио. Фреймворк согласует наиболее подходящий формат для минимизации конверсий.

Он принимает следующие параметры:

sample_fmts, f

Разделенный символом «|» список запрошенных образцов форматов.

sample_rates, r

Разделенный символом '|' список запрошенных частот дискретизации.

channel_layouts, cl

Разделенный '|' список запрошенных макетов каналов.

См. (ffmpeg-utils) раздел Channel Layout в руководстве ffmpeg-utils(1) для получения информации о необходимом синтаксисе.

Если параметр опущен, разрешены все значения.

Принудительный вывод либо к беззнаковому 8-битному, либо к 16-битному стерео со знаком

aformat=sample_fmts=u8|s16:channel_layouts=stereo

8.25 afreqshift

Примените частотный сдвиг к входным звуковым образцам.

Фильтр принимает следующие параметры:

shift

Задайте сдвиг частоты. Допустимый диапазон: от -INT_MAX до INT_MAX. Значение по умолчанию — 0,0.

level

Установите выходное усиление, применяемое к конечному выходу. Допустимый диапазон от 0,0 до 1,0. Значение по умолчанию — 1,0.

order

Установите порядок фильтрации, используемый для фильтрации. Допустимый диапазон от 1 до 16. Значение по умолчанию — 8.

8.25.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

8.26 afwtdn

Уменьшите широкополосный шум от входных сэмплов с помощью вейвлетов.

Далее следует описание принятых опций.

sigma

Установите сигму шума, допустимый диапазон от 0 до 1. Значение по умолчанию — 0. Эта опция управляет силой шумоподавления, применяемого к входным семплам. Самый удобный способ установить эту опцию — через децибелы, например. -45 дБ.

levels

Установите количество уровней вейвлета разложения. Допустимый диапазон — от 1 до 12. Значение по умолчанию — 10. Установка слишком низкого значения делает шумоподавление очень плохим.

wavet

Установить тип вейвлета для декомпозиции входного кадра. Они отсортированы по количеству коэффициентов, от самого низкого до самого высокого. Чем больше коэффициентов, тем хуже скорость фильтрации, но в целом лучше качество. Доступные вейвлеты:

'sym2'
'sym4'
'rbior68'
'deb10'
'sym10'
'coif5'
'bl3'
percent

Установить процент полного шумоподавления. Допустимый диапазон от 0 до 100 процентов. Значение по умолчанию — 85 процентов или частичное шумоподавление.

profile

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

adaptive

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

samples

Установите размер одного кадра в количестве сэмплов. Допустимый диапазон — от 512 до 65536. Размер кадра по умолчанию — 8192 выборки.

softness

Установите мягкость, применяемую внутри функции порогового значения. Допустимый диапазон от 0 до 10. По умолчанию мягкость равна 1.

8.26.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

8.27 agate

Гейт в основном используется для уменьшения нижних частей сигнала. Этот вид обработки сигнала уменьшает мешающий шум между полезными сигналами.

Гейтирование выполняется путем определения объема ниже выбранного уровня threshold и деления его на коэффициент, установленный с помощью ratio. Нижний уровень шума устанавливается через range. Поскольку точное манипулирование сигналом может привести к искажению формы сигнала, уменьшение может быть скорректировано с течением времени. Это делается установкой attackи release.

attackопределяет, как долго сигнал должен опускаться ниже порога, прежде чем произойдет какое-либо снижение, и releaseустанавливает время, в течение которого сигнал должен подняться выше порога, чтобы снова уменьшить снижение. Более короткие сигналы, чем выбранное время атаки, останутся нетронутыми.

level_in

Установите входной уровень перед фильтрацией. По умолчанию 1. Допустимый диапазон от 0,015625 до 64.

mode

Установите режим работы. Можно upwardили downward. Значение по умолчанию downward. Если установлено в upwardрежим, более высокие части сигнала будут усиливаться, расширяя динамический диапазон в направлении вверх. В противном случае в случае downwardнижних частей сигнал будет уменьшен.

range

Установите уровень снижения усиления, когда сигнал ниже порогового значения. По умолчанию 0,06125. Допустимый диапазон от 0 до 1. Установка этого параметра на 0 отключает сокращение, и тогда фильтр ведет себя как расширитель.

threshold

Если сигнал поднимается выше этого уровня, снижение усиления отключается. По умолчанию 0,125. Допустимый диапазон от 0 до 1.

ratio

Установите коэффициент, на который уменьшается сигнал. По умолчанию 2. Допустимый диапазон от 1 до 9000.

attack

Количество миллисекунд, в течение которых сигнал должен подняться выше порогового значения, прежде чем снижение усиления прекратится. По умолчанию 20 миллисекунд. Допустимый диапазон от 0,01 до 9000.

release

Количество миллисекунд, в течение которых сигнал должен упасть ниже порога, прежде чем снижение снова увеличится. По умолчанию 250 миллисекунд. Допустимый диапазон от 0,01 до 9000.

makeup

Установить величину усиления сигнала после обработки. По умолчанию 1. Допустимый диапазон от 1 до 64.

knee

Изогните острое колено вокруг порога, чтобы более мягко ввести снижение усиления. По умолчанию 2,828427125. Допустимый диапазон от 1 до 8.

detection

Выберите, следует ли брать точный сигнал для обнаружения или среднеквадратичное значение, подобное сигналу. Значение по умолчанию rms. Можно peakили rms.

link

Выберите, влияет ли на уменьшение средний уровень между всеми каналами или более громкий канал. Значение по умолчанию average. Можно averageили maximum.

8.27.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

8.28 aiir

Примените произвольный фильтр Infinite Impulse Response.

Он принимает следующие параметры:

zeros, z

Установите B/числитель/нули/коэффициенты отражения.

poles, p

Установите A/знаменатель/полюсы/лестничные коэффициенты.

gains, k

Установите усиление каналов.

dry_gain

Установите входное усиление.

wet_gain

Установите выходное усиление.

format, f

Установить формат коэффициентов.

'll'

функция решетчатой ​​лестницы

'sf'

аналоговая передаточная функция

'tf'

цифровая передаточная функция

'zp'

Нули/полюсы Z-плоскости, декартово (по умолчанию)

'pr'

Нули/полюса Z-плоскости, полярные радианы

'pd'

Нули/полюса Z-плоскости, полярные градусы

'sp'

Нули/полюсы S-плоскости

process, r

Установить тип обработки.

'd'

прямая обработка

's'

серийная обработка

'p'

параллельная обработка

precision, e

Установить точность фильтрации.

'dbl'

с плавающей запятой двойной точности (по умолчанию)

'flt'

с плавающей запятой одинарной точности

'i32'

32-битные целые числа

'i16'

16-битные целые числа

normalize, n

Нормализация коэффициентов фильтра, по умолчанию включена. Включение этого параметра нормализует амплитудную характеристику при постоянном токе до 0 дБ.

mix

Сколько использовать отфильтрованный сигнал на выходе. По умолчанию 1. Диапазон значений от 0 до 1.

response

Показать частотную характеристику ИК, амплитуду (пурпурный), фазу (зеленый) и групповую задержку (желтый) в дополнительном видеопотоке. По умолчанию он отключен.

channel

Установите, для какого ИК-канала отображать частотную характеристику. По умолчанию отображается первый канал. Эта опция используется только тогда, когда responseона включена.

size

Установите размер видеопотока. Эта опция используется только тогда, когда responseона включена.

Коэффициенты в формате и разделены пробелами и расположены в порядке возрастания tf.sf

Коэффициенты в zpформате разделены пробелами и порядок коэффициентов не имеет значения. Коэффициенты по zpформату представляют собой комплексные числа с i мнимой единицей.

Для каждого канала могут быть предусмотрены разные коэффициенты и усиления, в этом случае используйте '|' для разделения коэффициентов или выигрышей. Для всех оставшихся каналов будут использоваться последние предоставленные коэффициенты.

8.28.1 Примеры

  • Примените 2-полюсную эллиптическую метку на частоте около 5000 Гц для частоты дискретизации 48000 Гц:
    aiir=k=1:z=7.957584807809675810E-1 -2.575128568908332300 3.674839853930788710 -2.57512875289799137 7.957586296317130880E-1:p=1 -2.86950072432325953 3.63022088054647218 -2.28075678147272232 6.361362326477423500E-1:f=tf:r=d
    
  • То же, что и выше, но в zpформате:
    aiir=k=0.79575848078096756:z=0.80918701+0.58773007i 0.80918701-0.58773007i 0.80884700+0.58784055i 0.80884700-0.58784055i:p=0.63892345+0.59951235i 0.63892345-0.59951235i 0.79582691+0.44198673i 0.79582691-0.44198673i:f=zp:r=s
    
  • Примените аналоговый нормализованный фильтр нижних частот Баттерворта 3-го порядка, используя формат аналоговой передаточной функции:
    aiir=z=1.3057 0 0 0:p=1.3057 2.3892 2.1860 1:f=sf:r=d
    

8.29 alimiter

Ограничитель предотвращает превышение входным сигналом желаемого порога. Этот ограничитель использует технологию просмотра вперед, чтобы предотвратить искажение вашего сигнала. Это означает, что есть небольшая задержка после обработки сигнала. Имейте в виду, что задержка, которую он производит, является временем атаки, которое вы установили.

Фильтр принимает следующие параметры:

level_in

Установите входное усиление. По умолчанию 1.

level_out

Установите выходное усиление. По умолчанию 1.

limit

Не пропускайте сигналы выше этого уровня через ограничитель. По умолчанию 1.

attack

Ограничитель достигнет своего уровня затухания за это время в миллисекундах. По умолчанию 5 миллисекунд.

release

Вернитесь от ограничения к затуханию 1,0 за это количество миллисекунд. По умолчанию 50 миллисекунд.

asc

Когда уменьшение усиления всегда необходимо, ASC заботится о восстановлении до среднего уровня уменьшения, а не о достижении уменьшения 0 во время восстановления.

asc_level

Выберите, насколько ASC влияет на время выпуска, 0 означает, что время выпуска почти не изменяется, а 1 обеспечивает более длительное время выпуска.

level

Выходной сигнал автоматического уровня. По умолчанию включено. Это нормализует звук до 0 дБ, если включено.

latency

Компенсируйте задержку, вызванную использованием буфера просмотра вперед, установленного с параметром атаки. Также сбрасывайте действительные аудиоданные в упреждающий буфер, когда поток достигает EOF.

В зависимости от выбранной настройки перед применением этого фильтра рекомендуется повысить входную дискретизацию в 2 или 4 раза с помощью aresample .

8.30 allpass

Примените двухполюсный всепроходной фильтр с центральной частотой (в Гц) frequencyи filter-width width. Всепроходной фильтр изменяет отношение частоты звука к фазе, не изменяя отношения частоты к амплитуде.

Фильтр принимает следующие параметры:

frequency, f

Установите частоту в Гц.

width_type, t

Установите метод, чтобы указать ширину полосы пропускания фильтра.

h

Гц

q

Q-фактор

o

октава

s

склон

k

кГц

width, w

Задайте ширину полосы пропускания фильтра в единицах width_type.

mix, m

Сколько использовать отфильтрованный сигнал на выходе. По умолчанию 1. Диапазон значений от 0 до 1.

channels, c

Укажите, какие каналы фильтровать, по умолчанию фильтруются все доступные.

normalize, n

Нормализация биквадратных коэффициентов по умолчанию отключена. Включение этого параметра нормализует амплитудную характеристику при постоянном токе до 0 дБ.

order, o

Установите порядок фильтра, может быть 1 или 2. По умолчанию 2.

transform, a

Установите тип преобразования БИХ-фильтра.

di
dii
tdi
tdii
latt
svf
zdf
precision, r

Установить точность фильтрации.

auto

Выберите автоматический формат семпла в зависимости от фильтров окружающего звучания.

s16

Всегда используйте подписанный 16-битный.

s32

Всегда используйте подписанные 32-битные.

f32

Всегда используйте 32-битное число с плавающей запятой.

f64

Всегда используйте 64-битное число с плавающей запятой.

8.30.1 Команды

Этот фильтр поддерживает следующие команды:

frequency, f

Изменить всепроходную частоту. Синтаксис команды: " frequency"

width_type, t

Измените тип ширины allpass. Синтаксис команды: " width_type"

width, w

Изменить ширину прохода. Синтаксис команды: " width"

mix, m

Измените микс allpass. Синтаксис команды: " mix"

8.31 aloop

Зацикливание аудиосэмплов.

Фильтр принимает следующие параметры:

loop

Установите количество петель. Установка этого значения на -1 приведет к бесконечным циклам. По умолчанию 0.

size

Установите максимальное количество образцов. По умолчанию 0.

start

Установите первый образец цикла. По умолчанию 0.

8.32 amerge

Объединение двух или более аудиопотоков в один многоканальный поток.

Фильтр принимает следующие параметры:

inputs

Установите количество входов. По умолчанию 2.

Если схемы каналов входов не пересекаются и, следовательно, совместимы, схема каналов выхода будет установлена ​​соответствующим образом, а порядок каналов будет изменен по мере необходимости. Если схемы каналов входов не пересекаются, на выходе будут все каналы первого входа, затем все каналы второго входа в указанном порядке, а схема каналов выхода будет значением по умолчанию, соответствующим общее количество каналов.

Например, если первый вход — 2.1 (FL+FR+LF), а второй вход — FC+BL+BR, то выход будет 5.1 с каналами в следующем порядке: a1, a2, b1, a3, b2, b3 (a1 — первый канал первого входа, b1 — первый канал второго входа).

С другой стороны, если оба входа находятся в режиме стерео, выходные каналы будут в порядке по умолчанию: a1, a2, b1, b2, а расположение каналов будет произвольно установлено на 4.0, что может быть или не быть ожидаемым значением. .

Все входы должны иметь одинаковую частоту дискретизации и формат.

Если входы не имеют одинаковой длительности, вывод остановится на самом коротком.

8.32.1 Примеры

  • Объедините два монофайла в стереопоток:
    amovie=left.wav [l] ; amovie=right.mp3 [r] ; [l] [r] amerge
    
  • Множественные слияния, предполагающие 1 видеопоток и 6 аудиопотоков вinput.mkv:
    ffmpeg -i input.mkv -filter_complex "[0:1][0:2][0:3][0:4][0:5][0:6] amerge=inputs=6" -c:a pcm_s16le output.mkv
    

8.33 amix

Смешивает несколько аудиовходов в один выход.

Обратите внимание, что этот фильтр поддерживает только сэмплы с плавающей запятой ( аудиофильтры amerge и поддерживают многие форматы). panЕсли на amix входе есть целочисленные выборки, то автоматически будет вставлена ​​выборка для выполнения преобразования в выборки с плавающей запятой.

Например

ffmpeg -i INPUT1 -i INPUT2 -i INPUT3 -filter_complex amix=inputs=3:duration=first:dropout_transition=3 OUTPUT

микширует 3 входных аудиопотока в один выход с той же продолжительностью, что и первый вход, и временем перехода отсева 3 секунды.

Он принимает следующие параметры:

inputs

Количество входов. Если не указано, по умолчанию используется 2.

duration

Как определить конец потока.

longest

Продолжительность самого длинного ввода. (дефолт)

shortest

Продолжительность самого короткого ввода.

first

Продолжительность первого ввода.

dropout_transition

Время перехода в секундах для перенормировки громкости при завершении входного потока. Значение по умолчанию — 2 секунды.

weights

Укажите вес каждого входного аудиопотока как последовательность. Каждый вес отделен пробелом. По умолчанию все входы имеют одинаковый вес.

normalize

Всегда масштабируйте входные данные, а не просто суммируйте выборки. Остерегайтесь сильного отсечения, если входные данные не нормализованы до или после фильтрации этим фильтром, если эта опция отключена. По умолчанию включен.

8.33.1 Команды

Этот фильтр поддерживает следующие команды:

weights
normalize

Синтаксис такой же, как у опции с тем же именем.

8.34 amultiply

Умножьте первый аудиопоток на второй аудиопоток и сохраните результат в выходном аудиопотоке. Умножение выполняется путем умножения каждой выборки из первого потока на выборку в той же позиции из второго потока.

С помощью этого поэлементного умножения можно создавать амплитудные затухания и амплитудные модуляции.

8.35 anequalizer

Параметрический многополосный эквалайзер высокого порядка для каждого канала.

Он принимает следующие параметры:

params

Эта строка опций имеет формат: "c chnf= cfw= wg= gt= f| ..." Каждая полоса эквалайзера разделяется символом '|'.

chn

Установите номер канала, к которому будет применяться выравнивание. Если вход не имеет этого канала, запись игнорируется.

f

Установите центральную частоту для диапазона. Если вход не имеет этой частоты, запись игнорируется.

w

Установите ширину полосы в герцах.

g

Установите усиление полосы в дБ.

t

Установить тип фильтра для полосы, опционально, может быть:

'0'

Баттерворт, это по умолчанию.

'1'

Чебышев тип 1.

'2'

Чебышев тип 2.

curves

При включенной опции АЧХ эквалайзера отображается в видеопотоке.

size

Установите размер видеопотока. Полезно, только если опция кривых активирована.

mgain

Установите максимальное усиление, которое будет отображаться. Полезно, только если опция кривых активирована. Установка разумного значения позволяет отображать усиление, полученное от соседних полос, которые расположены слишком близко друг к другу, и, таким образом, дает более высокое усиление, когда оба активированы.

fscale

Установите частотную шкалу, используемую для отображения частотной характеристики в видеовыходе. Может быть линейным или логарифмическим. По умолчанию логарифмический.

colors

Установите цвет для каждой кривой канала, которая будет отображаться в видеопотоке. Это список названий цветов, разделенных пробелом или '|'. Нераспознанные или отсутствующие цвета будут заменены белым цветом.

8.35.1 Примеры

  • Уменьшить усиление на 10 для центральной частоты 200 Гц и ширины 100 Гц для первых 2 каналов с использованием фильтра Чебышева типа 1:
    anequalizer=c0 f=200 w=100 g=-10 t=1|c1 f=200 w=100 g=-10 t=1
    

8.35.2 Команды

Этот фильтр поддерживает следующие команды:

change

Изменить существующие параметры фильтра. Синтаксис команд: " fN|f= freq|w= width|g= gain"

fNномер существующего фильтра, начиная с 0, если такой фильтр недоступен, возвращается ошибка. freqустановить новый параметр частоты. widthустановить новый параметр ширины в герцах. gainустановить новый параметр усиления в дБ.

Полный вызов фильтра с помощью asendcmd может выглядеть так: asendcmd=c='4.0 anequalizer change 0|f=200|w=50|g=1',anequalizer=...

8.36 anlmdn

Уменьшите широкополосный шум в аудиосэмплах с помощью алгоритма Non-Local Means.

Каждый образец корректируется путем поиска других образцов с похожим контекстом. Это сходство контекста определяется путем сравнения окружающих их участков размером p. Патчи ищутся в областиrвокруг образца.

Фильтр принимает следующие параметры:

strength, s

Установить мощность шумоподавления. Допустимый диапазон — от 0,00001 до 10000. Значение по умолчанию — 0,00001.

patch, p

Установите продолжительность радиуса исправления. Допустимый диапазон от 1 до 100 миллисекунд. Значение по умолчанию — 2 миллисекунды.

research, r

Установите продолжительность радиуса исследования. Допустимый диапазон от 2 до 300 миллисекунд. Значение по умолчанию — 6 миллисекунд.

output, o

Установите режим вывода.

Он принимает следующие значения:

i

Передайте ввод без изменений.

o

Проходной шум отфильтрован.

n

Проходят только шумы.

Значение по умолчанию o.

smooth, m

Установить коэффициент сглаживания. Значение по умолчанию 11. Допустимый диапазон от 1до 1000.

8.36.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

8.37 anlmf, anlms

Примените нормализованный алгоритм наименьшего среднего (квадраты | четвертый) к первому аудиопотоку, используя второй аудиопоток.

Этот адаптивный фильтр используется для имитации желаемого фильтра путем нахождения коэффициентов фильтра, которые относятся к получению наименьшего среднего квадрата сигнала ошибки (разница между желаемым вторым входным аудиопотоком и фактическим сигналом, 1-м входным аудиопотоком).

Далее следует описание принятых опций.

order

Установите порядок фильтров.

mu

Установить фильтр мю.

eps

Установите фильтр eps.

leakage

Установите утечку фильтра.

out_mode

Он принимает следующие значения:

i

Пройдите 1-й вход.

d

Пройдите 2-й вход.

o

Передайте отфильтрованные образцы.

n

Передайте разницу между нужными и отфильтрованными образцами.

Значение по умолчанию o.

8.37.1 Примеры

  • Одним из многих применений этого фильтра является шумоподавление, входной звук фильтруется с теми же семплами, которые задерживаются на фиксированную величину, один из таких примеров для стереозвука:
    asplit[a][b],[a]adelay=32S|32S[a],[b][a]anlms=order=128:leakage=0.0005:mu=.5:out_mode=o
    

8.37.2 Команды

Этот фильтр поддерживает те же команды, что и опции, за исключением option order.

8.38 anull

Передайте источник звука без изменений на выход.

8.39 apad

Заполните конец аудиопотока тишиной.

Это можно использовать вместе сffmpeg -shortestдля расширения аудиопотоков до той же длины, что и видеопоток.

Далее следует описание принятых опций.

packet_size

Установить размер пакета тишины. Значение по умолчанию — 4096.

pad_len

Установите количество сэмплов тишины, которые нужно добавить в конец. После достижения значения поток прекращается. Этот вариант взаимоисключающий сwhole_len.

whole_len

Установите минимальное общее количество сэмплов в выходном аудиопотоке. Если значение больше длины входного аудио, в конец добавляется тишина, пока не будет достигнуто значение. Этот вариант взаимоисключающий сpad_len.

pad_dur

Укажите продолжительность добавляемых образцов тишины. См. (ffmpeg-utils) раздел Продолжительность времени в руководстве ffmpeg-utils(1) для получения информации о принятом синтаксисе. Используется, только если установлено неотрицательное значение.

whole_dur

Укажите минимальную общую продолжительность выходного аудиопотока. См. (ffmpeg-utils) раздел Продолжительность времени в руководстве ffmpeg-utils(1) для получения информации о принятом синтаксисе. Используется, только если установлено неотрицательное значение. Если значение больше длины входного аудио, в конец добавляется тишина, пока не будет достигнуто значение. Этот вариант взаимоисключающий сpad_dur

Если ниpad_lenниwhole_lenниpad_dur ниwhole_durустановлен, фильтр будет добавлять тишину в конец входного потока на неопределенный срок.

Обратите внимание, что для ffmpeg 4.4 и более ранних версий нольpad_durили же whole_durтакже заставлял фильтр добавлять тишину на неопределенный срок.

8.39.1 Примеры

  • Добавьте 1024 образца тишины в конец ввода:
    apad=pad_len=1024
    
  • Убедитесь, что аудиовыход будет содержать не менее 10000 сэмплов, при необходимости заполните вход тишиной:
    apad=whole_len=10000
    
  • Используйте ffmpegдля заполнения аудиовхода тишиной, чтобы видеопоток всегда был самым коротким и преобразовывался до конца в выходной файл при использованииshortest вариант:
    ffmpeg -i VIDEO -i AUDIO -filter_complex "[1:0]apad" -shortest OUTPUT
    

8.40 aphaser

Добавьте эффект фазирования к входному звуку.

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

Далее следует описание принятых параметров.

in_gain

Установите входное усиление. По умолчанию 0,4.

out_gain

Установите выходное усиление. По умолчанию 0,74.

delay

Установите задержку в миллисекундах. По умолчанию 3.0.

decay

Установить распад. По умолчанию 0,4.

speed

Установите скорость модуляции в Гц. По умолчанию 0,5.

type

Установите тип модуляции. По умолчанию треугольный.

Он принимает следующие значения:

'triangular, t'
'sinusoidal, s'

8.41 aphaseshift

Примените фазовый сдвиг к входным звуковым образцам.

Фильтр принимает следующие параметры:

shift

Задайте фазовый сдвиг. Допустимый диапазон от -1,0 до 1,0. Значение по умолчанию — 0,0.

level

Установите выходное усиление, применяемое к конечному выходу. Допустимый диапазон от 0,0 до 1,0. Значение по умолчанию — 1,0.

order

Установите порядок фильтрации, используемый для фильтрации. Допустимый диапазон от 1 до 16. Значение по умолчанию — 8.

8.41.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

8.42 apsyclip

Примените Psychoacoustic clipper к входному аудиопотоку.

Фильтр принимает следующие параметры:

level_in

Установите входное усиление. По умолчанию это 1. Диапазон: [0,015625 - 64].

level_out

Установите выходное усиление. По умолчанию это 1. Диапазон: [0,015625 - 64].

clip

Установите начальное значение отсечения. Значение по умолчанию — 0dBFS или 1.

diff

Выводить только разностные сэмплы, полезные для прослушивания вносимых искажений. По умолчанию отключен.

adaptive

Установите силу применяемого адаптивного искажения. Значение по умолчанию — 0,5. Допустимый диапазон от 0 до 1.

iterations

Установите количество итераций психоакустического клипера. Допустимый диапазон — от 1 до 20. Значение по умолчанию — 10.

level

Выходной сигнал автоматического уровня. По умолчанию отключено. Это нормализует звук до 0dBFS, если включено.

8.42.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

8.43 apulsator

Аудиопульсатор — нечто среднее между автопаннером и тремоло. Но он также может создавать забавные стереоэффекты. Пульсатор изменяет громкость левого и правого каналов на основе LFO (генератора низкой частоты) с различными волновыми формами и сдвинутыми фазами. Этот фильтр имеет возможность определять смещение между левым и правым каналом. Смещение 0 означает, что обе формы LFO соответствуют друг другу. Левый и правый канал переделаны одинаково - обычное тремоло. Смещение 50% означает, что форма правого канала точно сдвинута по фазе (или сдвинута назад примерно на половину частоты) — пульсатор действует как автопаннер. При 1 обе кривые снова совпадают. Каждая промежуточная настройка перемещает фазовый сдвиг между всеми этапами без промежутка и создает некоторые «обходные» звуки с синусоидальными и треугольными волнами.

Фильтр принимает следующие параметры:

level_in

Установите входное усиление. По умолчанию это 1. Диапазон: [0,015625 - 64].

level_out

Установите выходное усиление. По умолчанию это 1. Диапазон: [0,015625 - 64].

mode

Установите форму волны, которую будет использовать LFO. Может быть одним из: синусоидальный, треугольный, квадратный, пилообразный или пилообразный. По умолчанию синус.

amount

Установить модуляцию. Определите, на какую часть исходного сигнала влияет LFO.

offset_l

Установить смещение левого канала. По умолчанию 0. Допустимый диапазон: [0–1].

offset_r

Установить смещение правого канала. По умолчанию 0,5. Допустимый диапазон: [0–1].

width

Установите ширину импульса. По умолчанию 1. Допустимый диапазон: [0–2].

timing

Установите возможный режим синхронизации. Может быть одним из: ударов в минуту, мс или Гц. По умолчанию Гц.

bpm

Установите удары в минуту. Значение по умолчанию — 120. Допустимый диапазон — [30–300]. Используется, только если синхронизация установлена ​​на удары в минуту.

ms

Установите мс. По умолчанию 500. Допустимый диапазон: [10 - 2000]. Используется, только если время установлено на мс.

hz

Установите частоту в Гц. По умолчанию 2. Допустимый диапазон: [0,01–100]. Используется, только если синхронизация установлена ​​на Hz.

8.44 aresample

Передискретизируйте входной звук в соответствии с указанными параметрами, используя библиотеку libswresample. Если ничего не указано, фильтр будет автоматически преобразовывать вход и выход.

Этот фильтр также может растягивать/сжимать аудиоданные, чтобы они соответствовали временным меткам, или вводить тишину/вырезать звук, чтобы он соответствовал временным меткам, выполнять комбинацию того и другого или не делать ни того, ни другого.

Фильтр принимает синтаксис [ sample_rate:] resampler_options, где sample_rate выражает частоту дискретизации и resampler_optionsпредставляет собой список пар key= value, разделенных знаком «:». Полный список поддерживаемых параметров см. в разделе (ffmpeg-resampler) «Параметры ресемплера» в руководстве ffmpeg-resampler(1) .

8.44.1 Примеры

  • Передискретизируйте входной звук до 44 100 Гц:
    aresample=44100
    
  • Растягивать/сжимать сэмплы до заданных временных меток с максимальной компенсацией 1000 сэмплов в секунду:
    aresample=async=1000
    

8.45 areverse

Перевернуть аудиоклип.

Предупреждение: этому фильтру требуется память для буферизации всего клипа, поэтому рекомендуется обрезка.

8.45.1 Примеры

  • Возьмите первые 5 секунд клипа и переверните его.
    atrim=end=5,areverse
    

8.46 arnndn

Уменьшите шум от речи с помощью рекуррентных нейронных сетей.

Этот фильтр принимает следующие параметры:

model, m

Установите файл модели поезда для загрузки. Эта опция требуется всегда.

mix

Установите, сколько нужно смешать отфильтрованные сэмплы в конечный результат. Допустимый диапазон: от -1 до 1. Значение по умолчанию — 1. Отрицательные значения являются особыми, они устанавливают, сколько отфильтрованного шума следует сохранять в конечном выходе фильтра. Установите для этого параметра значение -1, чтобы услышать фактический шум, удаленный из входного сигнала.

8.46.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

8.47 asdr

Измерьте отношение аудиосигнала к искажению.

Этот фильтр принимает на вход два аудиопотока и выводит первый аудиопоток. Результаты представлены в дБ на канал в конце любого входа.

8.48 asetnsamples

Установите количество выборок на каждый выходной аудиокадр.

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

Фильтр принимает следующие параметры:

nb_out_samples, n

Установите количество кадров на каждый выходной аудиокадр. Это число означает количество выборок на каждый канал . Значение по умолчанию — 1024.

pad, p

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

Например, чтобы установить количество выборок для каждого кадра равным 1234 и отключить заполнение для последнего кадра, используйте:

asetnsamples=n=1234:p=0

8.49 asetrate

Установите частоту дискретизации без изменения данных PCM. Это приведет к изменению скорости и шага.

Фильтр принимает следующие параметры:

sample_rate, r

Установите выходную частоту дискретизации. По умолчанию 44100 Гц.

8.50 ashowinfo

Показать строку, содержащую различную информацию для каждого входного звукового кадра. Входной звук не изменяется.

Показанная строка содержит последовательность пар ключ/значение вида key: value.

На выходе отображаются следующие значения:

n

(Порядковый) номер входного кадра, начиная с 0.

pts

Отметка времени представления входного кадра в базовых единицах времени; временная база зависит от входной площадки фильтра и обычно равна 1/ sample_rate.

pts_time

Временная метка представления входного кадра в секундах.

pos

позиция кадра во входном потоке, -1, если эта информация недоступна и/или бессмысленна (например, в случае синтетического звука)

fmt

Формат образца.

chlayout

Схема канала.

rate

Частота дискретизации аудиокадра.

nb_samples

Количество выборок (на канал) в кадре.

checksum

Контрольная сумма Adler-32 (в шестнадцатеричном формате) аудиоданных. Для планарного звука данные обрабатываются так, как если бы все плоскости были объединены.

plane_checksums

Список контрольных сумм Adler-32 для каждой плоскости данных.

8.51 asoftclip

Примените мягкое отсечение звука.

Мягкое отсечение — это тип эффекта искажения, при котором амплитуда сигнала насыщается по плавной кривой, а не по резкой форме жесткого отсечения.

Этот фильтр принимает следующие параметры:

type

Установить тип мягкого отсечения.

Он принимает следующие значения:

hard
tanh
atan
cubic
exp
alg
quintic
sin
erf
threshold

Установите порог, с которого начинается отсечение. Значение по умолчанию: 0 дБ или 1.

output

Установите усиление, применяемое к выходу. Значение по умолчанию: 0 дБ или 1.

param

Установите дополнительный параметр, который управляет сигмовидной функцией.

oversample

Установите коэффициент передискретизации.

8.51.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

8.52 aspectralstats

Отобразите статистическую информацию в частотной области об аудиоканалах. Статистические данные рассчитываются и сохраняются в виде метаданных для каждого аудиоканала и каждого аудиокадра.

Он принимает следующий вариант:

win_size

Установите длину окна в семплах. Значение по умолчанию — 2048. Допустимый диапазон — от 32 до 65536.

win_func

Установить оконную функцию.

Он принимает следующие значения:

'rect'
'bartlett'
'hann, hanning'
'hamming'
'blackman'
'welch'
'flattop'
'bharris'
'bnuttall'
'bhann'
'sine'
'nuttall'
'lanczos'
'gauss'
'tukey'
'dolph'
'cauchy'
'parzen'
'poisson'
'bohman'

Значение по умолчанию hann.

overlap

Установите перекрытие окна. Допустимый диапазон от 0 до 1. Значение по умолчанию 0.5.

Ниже приводится список каждого ключа метаданных:

mean
variance
centroid
spread
skewness
kurtosis
entropy
flatness
crest
flux
slope
decrease
rolloff

8.53 asr

Автоматическое распознавание речи

Этот фильтр использует PocketSphinx для распознавания речи. Чтобы включить компиляцию этого фильтра, вам нужно настроить FFmpeg с расширением --enable-pocketsphinx.

Он принимает следующие параметры:

rate

Установите частоту дискретизации входного аудио. По умолчанию есть 16000. Это необходимо для соответствия речевым моделям, иначе можно получить плохие результаты.

hmm

Установить словарь, содержащий файлы акустических моделей.

dict

Установить словарь произношения.

lm

Установите файл языковой модели.

lmctl

Установите набор языковых моделей.

lmname

Установите, какую языковую модель использовать.

logfn

Установите вывод для сообщений журнала.

Фильтр экспортирует распознанную речь как метаданные кадра lavfi.asr.text.

8.54 astats

Отображение статистической информации во временной области об аудиоканалах. Статистические данные рассчитываются и отображаются для каждого аудиоканала, и, если применимо, также дается общая цифра.

Он принимает следующий вариант:

length

Короткая длина окна в секундах, используемая для измерения пикового и минимального среднеквадратичного значения. По умолчанию 0.05(50 миллисекунд). Допустимый диапазон [0 - 10].

metadata

Установите вставку метаданных. Все ключи метаданных имеют префикс lavfi.astats.X, где Xномер канала начинается с 1 или строки Overall. По умолчанию отключено.

Доступные ключи для каждого канала: DC_offset Min_level Max_level Min_difference Max_difference Max_difference Mean_difference RMS_difference Peak_level RMS_peak RMS_trough Crest_factor Flat_factor Peak_count Noise_floor Noise_floor_count Entropy Bit_depth Dynamic_range Zero_crossings_rate Zero_crossings_rate Number_of_NaNs Number_of_Infs Number_of_denormals

и для общего: DC_offset Min_level Max_level Min_difference Max_difference Mean_difference RMS_difference Peak_level RMS_level RMS_peak RMS_trough Flat_factor Peak_count Noise_floor Noise_floor_count Entropy Bit_depth Number_of_samples Number_of_NaNs Number_of_Infs Number_of_denormals

Например, полный ключ выглядит так lavfi.astats.1.DC_offsetили так lavfi.astats.Overall.Peak_count.

Описание того, что означает каждая клавиша, читайте ниже.

reset

Установите количество кадров, по которым рассчитывается кумулятивная статистика перед сбросом. По умолчанию отключено.

measure_perchannel

Выберите параметры, которые измеряются для каждого канала. Ключи метаданных можно использовать как флаги, по умолчаниюallкоторый измеряет все. noneотключает все измерения для каждого канала.

measure_overall

Выберите параметры, которые измеряются в целом. Ключи метаданных можно использовать как флаги, по умолчаниюallкоторый измеряет все. noneотключает все общие измерения.

Ниже приводится описание каждого отображаемого параметра:

DC offset

Смещение средней амплитуды от нуля.

Min level

Минимальный уровень выборки.

Max level

Максимальный уровень выборки.

Min difference

Минимальная разница между двумя последовательными выборками.

Max difference

Максимальная разница между двумя последовательными выборками.

Mean difference

Средняя разница между двумя последовательными выборками. Среднее значение каждой разницы между двумя последовательными выборками.

RMS difference

Среднеквадратическая разница между двумя последовательными выборками.

Peak level dB
RMS level dB

Стандартный пиковый и среднеквадратический уровень измеряется в dBFS.

RMS peak dB
RMS trough dB

Пиковые и минимальные значения уровня RMS, измеренные в течение короткого окна.

Crest factor

Стандартное отношение пикового уровня к среднеквадратичному (примечание: не в дБ).

Flat factor

Равномерность (т. е. последовательные выборки с одинаковым значением) сигнала на его пиковых уровнях (т. е. либо , Min levelлибо Max level).

Peak count

Количество случаев (не количество отсчетов), когда сигнал достиг либо , Min levelлибо Max level.

Noise floor dB

Минимальный локальный пик, измеренный в dBFS в течение короткого окна.

Noise floor count

Количество случаев (не количество выборок), которых достиг сигнал Noise floor.

Entropy

Энтропия измеряется по всему аудио. Энтропия со значением около 1,0 обычно измеряется для белого шума.

Bit depth

Общая разрядность звука. Количество битов, используемых для каждой выборки.

Dynamic range

Измеренный динамический диапазон звука в дБ.

Zero crossings

Количество точек, в которых сигнал пересекает ось нулевого уровня.

Zero crossings rate

Частота пересечений нуля и количество аудиосэмплов.

8.55 asubboost

Повысьте частоты сабвуфера.

Фильтр принимает следующие параметры:

dry

Установите сухое усиление, сколько исходного сигнала сохраняется. Допустимый диапазон — от 0 до 1. Значение по умолчанию — 1,0.

wet

Установите усиление, сколько отфильтрованного сигнала сохраняется. Допустимый диапазон — от 0 до 1. Значение по умолчанию — 1,0.

boost

Установите максимальный коэффициент усиления. Допустимый диапазон от 1 до 12. Значение по умолчанию — 2.

decay

Установите значение усиления затухания линии задержки. Допустимый диапазон — от 0 до 1. Значение по умолчанию — 0,0.

feedback

Установите значение усиления обратной связи линии задержки. Допустимый диапазон — от 0 до 1. Значение по умолчанию — 0,9.

cutoff

Установите частоту среза в герцах. Допустимый диапазон — от 50 до 900. Значение по умолчанию — 100.

slope

Установите величину наклона для частоты среза. Допустимый диапазон — от 0,0001 до 1. Значение по умолчанию — 0,5.

delay

Установить задержку. Допустимый диапазон от 1 до 100. Значение по умолчанию — 20.

channels

Установите каналы для обработки. Значение по умолчанию — все доступно.

8.55.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

8.56 asubcut

Срезал частоты сабвуфера.

Этот фильтр позволяет установить пользовательский, более крутой спад, чем фильтр верхних частот, и, таким образом, способен сильнее ослабить частотное содержимое в полосе задерживания.

Фильтр принимает следующие параметры:

cutoff

Установите частоту среза в герцах. Допустимый диапазон — от 2 до 200. Значение по умолчанию — 20.

order

Установите порядок фильтров. Доступные значения от 3 до 20. Значение по умолчанию — 10.

level

Установите уровень входного усиления. Допустимый диапазон — от 0 до 1. Значение по умолчанию — 1.

8.56.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

8.57 asupercut

Вырезать супер частоты.

Фильтр принимает следующие параметры:

cutoff

Установите частоту среза в герцах. Допустимый диапазон: от 20 000 до 192 000. Значение по умолчанию — 20 000.

order

Установите порядок фильтров. Доступные значения от 3 до 20. Значение по умолчанию — 10.

level

Установите уровень входного усиления. Допустимый диапазон — от 0 до 1. Значение по умолчанию — 1.

8.57.1 ​​Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

8.58 asuperpass

Примените полосовой фильтр Баттерворта высокого порядка.

Фильтр принимает следующие параметры:

centerf

Установите центральную частоту в герцах. Допустимый диапазон: от 2 до 999999. Значение по умолчанию — 1000.

order

Установите порядок фильтров. Доступные значения от 4 до 20. Значение по умолчанию — 4.

qfactor

Установить Q-фактор. Допустимый диапазон — от 0,01 до 100. Значение по умолчанию — 1.

level

Установите уровень входного усиления. Допустимый диапазон — от 0 до 2. Значение по умолчанию — 1.

8.58.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

8.59 asuperstop

Примените полосовой фильтр Баттерворта высокого порядка.

Фильтр принимает следующие параметры:

centerf

Установите центральную частоту в герцах. Допустимый диапазон: от 2 до 999999. Значение по умолчанию — 1000.

order

Установите порядок фильтров. Доступные значения от 4 до 20. Значение по умолчанию — 4.

qfactor

Установить Q-фактор. Допустимый диапазон — от 0,01 до 100. Значение по умолчанию — 1.

level

Установите уровень входного усиления. Допустимый диапазон — от 0 до 2. Значение по умолчанию — 1.

8.59.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

8.60 atempo

Отрегулируйте темп звука.

Фильтр принимает ровно один параметр — темп звука. Если не указано, фильтр примет номинальный темп 1.0. Темп должен быть в диапазоне [0,5, 100,0].

Обратите внимание, что темп больше 2 будет пропускать некоторые сэмплы, а не смешивать их. Если по какой-либо причине это вызывает беспокойство, всегда можно последовательно подключить несколько экземпляров atempo для достижения желаемого темпа продукта.

8.60.1 Примеры

  • Замедлите звук до темпа 80%:
    atempo=0.8
    
  • Чтобы ускорить звук до темпа 300%:
    atempo=3
    
  • Чтобы ускорить звук до темпа 300 %, последовательно подключив два экземпляра atempo:
    atempo=sqrt(3),atempo=sqrt(3)
    

8.60.2 Команды

Этот фильтр поддерживает следующие команды:

tempo

Изменить коэффициент масштабирования темпа фильтра. Синтаксис команды: " tempo"

8.61 atilt

Примените фильтр спектрального наклона к аудиопотоку.

Этот фильтр применяет любую крутизну спада спектра в любой заданной полосе частот.

Фильтр принимает следующие параметры:

freq

Установите центральную частоту наклона в Гц. По умолчанию 10000 Гц.

slope

Установите направление наклона наклона. По умолчанию 0. Допустимый диапазон от -1 до 1.

width

Установить ширину наклона. По умолчанию 1000. Допустимый диапазон от 100 до 10000.

order

Установить порядок фильтра наклона.

level

Установите уровень входной громкости. Допустимый диапазон от 0 до 4. По умолчанию 1.

8.61.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

8.62 atrim

Обрежьте ввод так, чтобы вывод содержал одну непрерывную часть ввода.

Он принимает следующие параметры:

start

Отметка времени (в секундах) начала сохраняемого раздела. Т.е. аудиосэмпл с отметкой времени startбудет первым на выходе.

end

Укажите время первого отбрасываемого аудиосэмпла, т. е. аудиосэмпл, непосредственно предшествующий сэмплу с отметкой времени end, будет последним семплом на выходе.

start_pts

То же start, что и , за исключением того, что эта опция устанавливает отметку времени начала в семплах, а не в секундах.

end_pts

То же end, что и , за исключением того, что эта опция устанавливает отметку времени окончания в сэмплах, а не в секундах.

duration

Максимальная продолжительность вывода в секундах.

start_sample

Номер первого образца, который должен быть выведен.

end_sample

Номер первой выборки, которую следует отбросить.

start,end, а такжеdurationвыражаются в виде спецификаций продолжительности времени; см. (ffmpeg-utils) раздел Продолжительность времени в руководстве ffmpeg-utils(1) .

Обратите внимание, что первые два набора параметров начала/конца иduration опция смотрит на временную метку кадра, а опция _sample просто подсчитывает выборки, прошедшие через фильтр. Таким образом, start/end_pts и start/end_sample будут давать разные результаты, когда метки времени неверны, неточны или не начинаются с нуля. Также обратите внимание, что этот фильтр не изменяет метки времени. Если вы хотите, чтобы временные метки вывода начинались с нуля, вставьте фильтр asetpts после фильтра atrim.

Если задано несколько параметров начала или конца, этот фильтр пытается быть жадным и сохраняет все образцы, соответствующие хотя бы одному из указанных ограничений. Чтобы оставить только ту часть, которая соответствует всем ограничениям сразу, объедините несколько фильтров atrim.

По умолчанию все входные данные сохраняются. Таким образом, можно установить, например, только конечные значения, чтобы сохранить все до указанного времени.

Примеры:

  • Отбросьте все, кроме второй минуты ввода:
    ffmpeg -i INPUT -af atrim=60:120
    
  • Оставьте только первые 1000 образцов:
    ffmpeg -i INPUT -af atrim=end_sample=1000
    

8.63 axcorrelate

Вычислите нормализованную оконную взаимную корреляцию между двумя входными аудиопотоками.

Результирующие выборки всегда находятся между -1 и 1 включительно. Если результат равен 1, это означает, что две входные выборки сильно коррелированы в выбранном сегменте. Результат 0 означает, что они вообще не коррелированы. Если результат равен -1, это означает, что две входные выборки не совпадают по фазе, что означает, что они компенсируют друг друга.

Фильтр принимает следующие параметры:

size

Установите размер сегмента, по которому вычисляется взаимная корреляция. По умолчанию 256. Допустимый диапазон от 2 до 131072.

algo

Установить алгоритм взаимной корреляции. Можно slowили fast. Значение по умолчанию slow. Быстрый алгоритм предполагает, что средние значения по любому заданному сегменту всегда равны нулю, и поэтому требуется гораздо меньше вычислений. Как правило, это неверно, но справедливо для типичных аудиопотоков.

8.63.1 Примеры

  • Вычислить корреляцию между каналами в стереофоническом аудиопотоке:
    ffmpeg -i stereo.wav -af channelsplit,axcorrelate=size=1024:algo=fast correlation.wav
    

8.64 bandpass

Примените двухполюсный полосовой фильтр Баттерворта с центральной частотой frequencyи шириной полосы пропускания (3 дБ). Опция csgвыбирает постоянное усиление юбки (пиковое усиление = Q) вместо значения по умолчанию: постоянное пиковое усиление 0 дБ. Спад фильтра составляет 6 дБ на октаву (20 дБ на декаду).

Фильтр принимает следующие параметры:

frequency, f

Установите центральную частоту фильтра. Значение по умолчанию 3000.

csg

Постоянный коэффициент усиления юбки, если установлено значение 1. По умолчанию установлено значение 0.

width_type, t

Установите метод, чтобы указать ширину полосы пропускания фильтра.

h

Гц

q

Q-фактор

o

октава

s

склон

k

кГц

width, w

Задайте ширину полосы пропускания фильтра в единицах width_type.

mix, m

Сколько использовать отфильтрованный сигнал на выходе. По умолчанию 1. Диапазон значений от 0 до 1.

channels, c

Укажите, какие каналы фильтровать, по умолчанию фильтруются все доступные.

normalize, n

Нормализация биквадратных коэффициентов по умолчанию отключена. Включение этого параметра нормализует амплитудную характеристику при постоянном токе до 0 дБ.

transform, a

Установите тип преобразования БИХ-фильтра.

di
dii
tdi
tdii
latt
svf
zdf
precision, r

Установить точность фильтрации.

auto

Выберите автоматический формат семпла в зависимости от фильтров окружающего звучания.

s16

Всегда используйте подписанный 16-битный.

s32

Всегда используйте подписанные 32-битные.

f32

Всегда используйте 32-битное число с плавающей запятой.

f64

Всегда используйте 64-битное число с плавающей запятой.

block_size, b

Установите размер блока, используемый для обратной обработки IIR. Если это значение установлено на достаточно высокое значение (выше, чем длина импульсной характеристики, которая усекается при достижении значений, близких к нулю), фильтрация станет линейно-фазовой, в противном случае, если она недостаточно велика, она просто создаст неприятные артефакты.

Обратите внимание, что задержка фильтра будет равна именно этому числу сэмплов, если установлено ненулевое значение.

8.64.1 Команды

Этот фильтр поддерживает следующие команды:

frequency, f

Измените частоту полосы пропускания. Синтаксис команды: " frequency"

width_type, t

Изменить ширину_типа полосы пропускания. Синтаксис команды: " width_type"

width, w

Изменить ширину полосы пропускания. Синтаксис команды: " width"

mix, m

Изменить полосу пропускания. Синтаксис команды: " mix"

8.65 bandreject

Примените двухполюсный режекторный фильтр Баттерворта с центральной частотой frequencyи шириной полосы (3 дБ) width. Спад фильтра составляет 6 дБ на октаву (20 дБ на декаду).

Фильтр принимает следующие параметры:

frequency, f

Установите центральную частоту фильтра. Значение по умолчанию 3000.

width_type, t

Установите метод, чтобы указать ширину полосы пропускания фильтра.

h

Гц

q

Q-фактор

o

октава

s

склон

k

кГц

width, w

Задайте ширину полосы пропускания фильтра в единицах width_type.

mix, m

Сколько использовать отфильтрованный сигнал на выходе. По умолчанию 1. Диапазон значений от 0 до 1.

channels, c

Укажите, какие каналы фильтровать, по умолчанию фильтруются все доступные.

normalize, n

Нормализация биквадратных коэффициентов по умолчанию отключена. Включение этого параметра нормализует амплитудную характеристику при постоянном токе до 0 дБ.

transform, a

Установите тип преобразования БИХ-фильтра.

di
dii
tdi
tdii
latt
svf
zdf
precision, r

Установить точность фильтрации.

auto

Выберите автоматический формат семпла в зависимости от фильтров окружающего звучания.

s16

Всегда используйте подписанный 16-битный.

s32

Всегда используйте подписанные 32-битные.

f32

Всегда используйте 32-битное число с плавающей запятой.

f64

Всегда используйте 64-битное число с плавающей запятой.

block_size, b

Установите размер блока, используемый для обратной обработки IIR. Если это значение установлено на достаточно высокое значение (выше, чем длина импульсной характеристики, которая усекается при достижении значений, близких к нулю), фильтрация станет линейно-фазовой, в противном случае, если она недостаточно велика, она просто создаст неприятные артефакты.

Обратите внимание, что задержка фильтра будет равна именно этому числу сэмплов, если установлено ненулевое значение.

8.65.1 Команды

Этот фильтр поддерживает следующие команды:

frequency, f

Изменить частоту подавления полосы. Синтаксис команды: " frequency"

width_type, t

Изменить ширину_типа отклонения полосы. Синтаксис команды: " width_type"

width, w

Изменить ширину отклонения полосы. Синтаксис команды: " width"

mix, m

Изменение микса отклонения полосы. Синтаксис команды: " mix"

8.66 bass, lowshelf

Усильте или обрежьте басовые (нижние) частоты звука с помощью двухполюсного полочного фильтра с откликом, аналогичным отклику стандартных регуляторов тембра Hi-Fi. Это также известно как полочная эквализация (EQ).

Фильтр принимает следующие параметры:

gain, g

Дайте усиление при 0 Гц. Его полезный диапазон составляет от -20 (для большого сокращения) до +20 (для большого повышения). Остерегайтесь клиппирования при использовании положительного усиления.

frequency, f

Установите центральную частоту фильтра, которую можно использовать для расширения или уменьшения частотного диапазона, который необходимо усилить или обрезать. Значение по умолчанию — 100Гц.

width_type, t

Установите метод, чтобы указать ширину полосы пропускания фильтра.

h

Гц

q

Q-фактор

o

октава

s

склон

k

кГц

width, w

Определите, насколько крутым является переход полки фильтра.

poles, p

Установить количество полюсов. По умолчанию 2.

mix, m

Сколько использовать отфильтрованный сигнал на выходе. По умолчанию 1. Диапазон значений от 0 до 1.

channels, c

Укажите, какие каналы фильтровать, по умолчанию фильтруются все доступные.

normalize, n

Нормализация биквадратных коэффициентов по умолчанию отключена. Включение этого параметра нормализует амплитудную характеристику при постоянном токе до 0 дБ.

transform, a

Установите тип преобразования БИХ-фильтра.

di
dii
tdi
tdii
latt
svf
zdf
precision, r

Установить точность фильтрации.

auto

Выберите автоматический формат семпла в зависимости от фильтров окружающего звучания.

s16

Всегда используйте подписанный 16-битный.

s32

Всегда используйте подписанные 32-битные.

f32

Всегда используйте 32-битное число с плавающей запятой.

f64

Всегда используйте 64-битное число с плавающей запятой.

block_size, b

Установите размер блока, используемый для обратной обработки IIR. Если это значение установлено на достаточно высокое значение (выше, чем длина импульсной характеристики, которая усекается при достижении значений, близких к нулю), фильтрация станет линейно-фазовой, в противном случае, если она недостаточно велика, она просто создаст неприятные артефакты.

Обратите внимание, что задержка фильтра будет равна именно этому числу сэмплов, если установлено ненулевое значение.

8.66.1 Команды

Этот фильтр поддерживает следующие команды:

frequency, f

Изменить частоту баса. Синтаксис команды: " frequency"

width_type, t

Изменить ширину_типа баса. Синтаксис команды: " width_type"

width, w

Изменить ширину баса. Синтаксис команды: " width"

gain, g

Изменить усиление басов. Синтаксис команды: " gain"

mix, m

Изменить басовый микс. Синтаксис команды: " mix"

8.67 biquad

Примените биквадратный БИХ-фильтр с заданными коэффициентами. Где b0, b1, b2и a0, a1, a2 - коэффициенты числителя и знаменателя соответственно. и укажите channels, cкакие каналы фильтровать, по умолчанию фильтруются все доступные.

8.67.1 Команды

Этот фильтр поддерживает следующие команды:

a0
a1
a2
b0
b1
b2

Изменить параметр биквадрата. Синтаксис команды: " value"

mix, m

Сколько использовать отфильтрованный сигнал на выходе. По умолчанию 1. Диапазон значений от 0 до 1.

channels, c

Укажите, какие каналы фильтровать, по умолчанию фильтруются все доступные.

normalize, n

Нормализация биквадратных коэффициентов по умолчанию отключена. Включение этого параметра нормализует амплитудную характеристику при постоянном токе до 0 дБ.

transform, a

Установите тип преобразования БИХ-фильтра.

di
dii
tdi
tdii
latt
svf
zdf
precision, r

Установить точность фильтрации.

auto

Выберите автоматический формат семпла в зависимости от фильтров окружающего звучания.

s16

Всегда используйте подписанный 16-битный.

s32

Всегда используйте подписанные 32-битные.

f32

Всегда используйте 32-битное число с плавающей запятой.

f64

Всегда используйте 64-битное число с плавающей запятой.

block_size, b

Установите размер блока, используемый для обратной обработки IIR. Если это значение установлено на достаточно высокое значение (выше, чем длина импульсной характеристики, которая усекается при достижении значений, близких к нулю), фильтрация станет линейно-фазовой, в противном случае, если она недостаточно велика, она просто создаст неприятные артефакты.

Обратите внимание, что задержка фильтра будет равна именно этому числу сэмплов, если установлено ненулевое значение.

8.68 bs2b

Bauer стерео в бинауральное преобразование, которое улучшает прослушивание стереофонических аудиозаписей в наушниках.

Чтобы включить компиляцию этого фильтра, вам необходимо настроить FFmpeg с расширением --enable-libbs2b.

Он принимает следующие параметры:

profile

Предопределенный уровень перекрестной подачи.

default

Уровень по умолчанию (fcut=700, подача=50).

cmoy

Схема Чу Мой (fcut=700, подача=60).

jmeier

Схема Яна Мейера (fcut=650, подача=95).

fcut

Частота среза (в Гц).

feed

Уровень подачи (в Гц).

8.69 channelmap

Переназначьте входные каналы на новые местоположения.

Он принимает следующие параметры:

map

Сопоставьте каналы от входа к выходу. Аргумент представляет собой список сопоставлений, разделенных знаком '|', каждое из которых имеет форму или . может быть либо именем входного канала (например, FL для переднего левого), либо его индексом в расположении входного канала. имя выходного канала или его индекс в схеме выходных каналов. Если не указано, то это неявно индекс, начинающийся с нуля и увеличивающийся на единицу для каждого отображения. in_channel-out_channelin_channelin_channelout_channelout_channel

channel_layout

Расположение каналов выходного потока.

Если сопоставление отсутствует, фильтр будет неявно отображать входные каналы на выходные каналы, сохраняя индексы.

8.69.1 Примеры

  • Например, если предположить, что входной файл MOV 5.1 + понижающее микширование,
    ffmpeg -i in.mov -filter 'channelmap=map=DL-FL|DR-FR' out.wav
    

    создаст выходной файл WAV, помеченный как стерео, из каналов понижающего микширования входа.

  • Чтобы исправить 5.1 WAV, неправильно закодированный в собственном порядке каналов AAC
    ffmpeg -i in.wav -filter 'channelmap=1|2|0|5|3|4:5.1' out.wav
    

8.70 channelsplit

Разделите каждый канал входного аудиопотока на отдельный выходной поток.

Он принимает следующие параметры:

channel_layout

Расположение каналов входного потока. По умолчанию "стерео".

channels

Схема канала, описывающая каналы, которые нужно извлечь как отдельные выходные потоки, или «все», чтобы выделить каждый входной канал как отдельный поток. По умолчанию "все".

Выбор каналов, отсутствующих в расположении каналов во входных данных, приведет к ошибке.

8.70.1 Примеры

  • Например, предполагая входной стереофонический файл MP3,
    ffmpeg -i in.mp3 -filter_complex channelsplit out.mkv
    

    создаст выходной файл Matroska с двумя аудиопотоками, один из которых содержит только левый канал, а другой — правый канал.

  • Разделите файл 5.1 WAV на файлы для каждого канала:
    ffmpeg -i in.wav -filter_complex
    'channelsplit=channel_layout=5.1[FL][FR][FC][LFE][SL][SR]'
    -map '[FL]' front_left.wav -map '[FR]' front_right.wav -map '[FC]'
    front_center.wav -map '[LFE]' lfe.wav -map '[SL]' side_left.wav -map '[SR]'
    side_right.wav
    
  • Извлеките только LFE из WAV-файла 5.1:
    ffmpeg -i in.wav -filter_complex 'channelsplit=channel_layout=5.1:channels=LFE[LFE]'
    -map '[LFE]' lfe.wav
    

8.71 chorus

Добавьте к аудио эффект хоруса.

Может издавать один вокальный звук, как припев, но также может применяться к инструментам.

Хорус напоминает эффект эха с короткой задержкой, но если при эхе задержка постоянна, то при хорусе она варьируется с использованием синусоидальной или треугольной модуляции. Глубина модуляции определяет диапазон воспроизведения модулированной задержки до или после задержки. Следовательно, задержанный звук будет звучать медленнее или быстрее, то есть задержанный звук настроен вокруг исходного, как в припеве, где некоторые вокалы слегка фальшивят.

Он принимает следующие параметры:

in_gain

Установите входное усиление. По умолчанию 0,4.

out_gain

Установите выходное усиление. По умолчанию 0,4.

delays

Установить задержки. Типичная задержка составляет от 40 мс до 60 мс.

decays

Установить затухания.

speeds

Установить скорости.

depths

Установите глубины.

8.71.1 Примеры

  • Одна задержка:
    chorus=0.7:0.9:55:0.4:0.25:2
    
  • Две задержки:
    chorus=0.6:0.9:50|60:0.4|0.32:0.25|0.4:2|1.3
    
  • Полнее звучащий припев с тремя задержками:
    chorus=0.5:0.9:50|60|40:0.4|0.32|0.3:0.25|0.4|0.3:2|2.3|1.3
    

8.72 compand

Сжимайте или расширяйте динамический диапазон аудио.

Он принимает следующие параметры:

attacks
decays

Список значений времени в секундах для каждого канала, по которым усредняется мгновенный уровень входного сигнала для определения его громкости. attacksотносится к увеличению объема и decaysотносится к уменьшению объема. В большинстве ситуаций время атаки (реакция на усиление звука) должно быть короче, чем время затухания, потому что человеческое ухо более чувствительно к внезапному громкому звуку, чем к внезапному тихому звуку. Типичное значение для атаки составляет 0,3 секунды, а типичное значение для затухания — 0,8 секунды. Если указанное количество атак и затухания меньше, чем количество каналов, для всех оставшихся каналов будет использоваться последняя установленная атака/затухание.

points

Список точек для передаточной функции, заданный в дБ относительно максимально возможной амплитуды сигнала. Каждый список ключевых точек должен быть определен с использованием следующего синтаксиса: x0/y0|x1/y1|x2/y2|....или x0/y0 x1/y1 x2/y2 ....

Входные значения должны быть в строго возрастающем порядке, но передаточная функция не должна быть монотонно возрастающей. Точка 0/0предполагается, но может быть переопределена (кнопкой 0/out-dBn). Типичными значениями передаточной функции являются -70/-70|-60/-20|1/0.

soft-knee

Установите радиус кривой в дБ для всех суставов. По умолчанию он равен 0,01.

gain

Установите дополнительное усиление в дБ, которое будет применяться во всех точках передаточной функции. Это позволяет легко регулировать общий коэффициент усиления. По умолчанию он равен 0.

volume

Установите начальную громкость в дБ для каждого канала при запуске фильтрации. Это позволяет пользователю изначально задать номинальный уровень, чтобы, например, очень большое усиление не применялось к начальным уровням сигнала до того, как компандирование начнет работать. Типичное значение для изначально тихого звука составляет -90 дБ. По умолчанию он равен 0.

delay

Установите задержку в секундах. Входной звук анализируется немедленно, но звук задерживается перед подачей на регулятор громкости. Указание задержки, приблизительно равной времени атаки/затухания, позволяет фильтру эффективно работать в прогнозирующем, а не в реактивном режиме. По умолчанию он равен 0.

8.72.1 Примеры

  • Сделайте музыку как с тихими, так и с громкими пассажами, подходящей для прослушивания в шумной обстановке:
    compand=.3|.3:1|1:-90/-60|-60/-40|-40/-30|-20/-20:6:0:-90:0.2
    

    Еще один пример аудио с частями шепота и взрыва:

    compand=0|0:1|1:-90/-900|-70/-70|-30/-9|0/-3:6:0:0:0
    
  • Шумоподавитель, когда шум находится на более низком уровне, чем сигнал:
    compand=.1|.1:.2|.2:-900/-900|-50.1/-900|-50/-50:.01:0:-90:.1
    
  • Вот еще один шумоподавитель, на этот раз для случаев, когда уровень шума выше уровня сигнала (что делает его в некотором роде похожим на шумоподавитель):
    compand=.1|.1:.1|.1:-45.1/-45.1|-45/-900|0/-900:.01:45:-90:.1
    
  • Компрессия 2:1, начиная с -6 дБ:
    compand=points=-80/-80|-6/-6|0/-3.8|20/3.5
    
  • Компрессия 2:1, начиная с -9 дБ:
    compand=points=-80/-80|-9/-9|0/-5.3|20/2.9
    
  • Компрессия 2:1, начиная с -12 дБ:
    compand=points=-80/-80|-12/-12|0/-6.8|20/1.9
    
  • Компрессия 2:1, начиная с -18 дБ:
    compand=points=-80/-80|-18/-18|0/-9.8|20/0.7
    
  • Компрессия 3:1, начиная с -15 дБ:
    compand=points=-80/-80|-15/-15|0/-10.8|20/-5.2
    
  • Компрессор/гейт:
    compand=points=-80/-105|-62/-80|-15.4/-15.4|0/-12|20/-7.6
    
  • Расширитель:
    compand=attacks=0:points=-80/-169|-54/-80|-49.5/-64.6|-41.1/-41.1|-25.8/-15|-10.8/-4.5|0/0|20/8.3
    
  • Жесткий лимитер на -6дБ:
    compand=attacks=0:points=-80/-80|-6/-6|20/-6
    
  • Жесткий лимитер на -12дБ:
    compand=attacks=0:points=-80/-80|-12/-12|20/-12
    
  • Хард-нойз-гейт на -35 дБ:
    compand=attacks=0:points=-80/-115|-35.1/-80|-35/-35|20/20
    
  • Мягкий ограничитель:
    compand=attacks=0:points=-80/-80|-12.4/-12.4|-6/-8|0/-6.8|20/-2.8
    

8.73 compensationdelay

Линия задержки компенсации — это основанная на метрике задержка для компенсации различных положений микрофонов или динамиков.

Например, вы записали гитару с двумя микрофонами, расположенными в разных местах. Поскольку в нормальных условиях фронт звуковой волны имеет фиксированную скорость, фазировка микрофонов может варьироваться и зависит от их расположения и взаимного расположения. Наилучший звуковой микс может быть достигнут, когда эти микрофоны находятся в фазе (синхронизированы). Обратите внимание, что расстояние между микрофонами ~ 30 см заставляет один микрофон улавливать сигнал в противофазе с другим микрофоном. Из-за этого финальный микс звучит мрачно. Этот фильтр помогает решить проблемы с фазировкой, добавляя разные задержки к каждой дорожке микрофона и синхронизируя их.

Наилучший результат достигается, когда вы берете одну дорожку за основу и последовательно синхронизируете с ней другие дорожки. Помните, что устойчивость к синхронизации/задержке также зависит от частоты дискретизации. Более высокие частоты дискретизации дадут большую устойчивость.

Фильтр принимает следующие параметры:

mm

Установите расстояние в миллиметрах. Это компенсационное расстояние для точной настройки. По умолчанию 0.

cm

Установите расстояние в см. Это компенсационное расстояние для настройки расстояния затяжки. По умолчанию 0.

m

Установите расстояние в метрах. Это компенсационное расстояние для установки жесткого расстояния. По умолчанию 0.

dry

Установите сухое количество. Количество необработанного (сухого) сигнала. По умолчанию 0.

wet

Установите количество влаги. Количество обработанного (обработанного) сигнала. По умолчанию 1.

temp

Установите температуру в градусах Цельсия. Это температура окружающей среды. По умолчанию 20.

8.73.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

8.74 crossfeed

Примените фильтр перекрестной подачи наушников.

Crossfeed — это процесс смешивания левого и правого каналов стереофонической аудиозаписи. Он в основном используется для уменьшения резкого стереофонического разделения низких частот.

Цель состоит в том, чтобы воспроизвести для слушателя больше звука, похожего на динамик.

Фильтр принимает следующие параметры:

strength

Установить силу поперечной подачи. По умолчанию 0,2. Допустимый диапазон от 0 до 1. Устанавливает усиление низкочастотного полочного фильтра для боковой части стереоизображения. По умолчанию -6дБ. Максимально допустимое значение составляет -30 дБ, когда для силы установлено значение 1.

range

Установите ширину звуковой сцены. По умолчанию 0,5. Допустимый диапазон от 0 до 1. Устанавливает частоту среза полочного фильтра низких частот. По умолчанию обрезается около 1550 Гц. При установке диапазона на 1 частота среза устанавливается на 2100 Гц.

slope

Установите наклон кривой фильтра нижней полки. По умолчанию 0,5. Допустимый диапазон от 0,01 до 1.

level_in

Установите входное усиление. По умолчанию 0,9.

level_out

Установите выходное усиление. По умолчанию 1.

block_size

Установите размер блока, используемый для обратной обработки IIR. Если это значение установлено на достаточно высокое значение (выше, чем длина импульсной характеристики, которая усекается при достижении значений, близких к нулю), фильтрация станет линейно-фазовой, в противном случае, если она недостаточно велика, она просто создаст неприятные артефакты.

Обратите внимание, что задержка фильтра будет равна именно этому числу сэмплов, если установлено ненулевое значение.

8.74.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

8.75 crystalizer

Простой алгоритм повышения резкости звукового шума.

Этот фильтр линейно увеличивает разницу между каждым звуковым сэмплом.

Фильтр принимает следующие параметры:

i

Устанавливает интенсивность эффекта (по умолчанию: 2,0). Должен находиться в диапазоне от -10,0 до 0 (без изменений звука) до 10,0 (максимальный эффект). Для обратной фильтрации используйте отрицательное значение.

c

Включить отсечение. По умолчанию включен.

8.75.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

8.76 dcshift

Примените смещение постоянного тока к звуку.

Это может быть полезно для удаления смещения постоянного тока (вызванного, возможно, аппаратной проблемой в цепочке записи) из аудио. Эффект смещения постоянного тока заключается в уменьшении запаса по перегрузке и, следовательно, громкости. Фильтр astats можно использовать для определения того, имеет ли сигнал смещение постоянного тока.

shift

Установите сдвиг постоянного тока, допустимый диапазон [-1, 1]. Он указывает величину смещения звука.

limitergain

По желанию. Он должен иметь значение намного меньше 1 (например, 0,05 или 0,02) и используется для предотвращения отсечения.

8.77 deesser

Примените деэссинг к аудиосэмплам.

i

Установите интенсивность для запуска деэссинга. Допустимый диапазон от 0 до 1. По умолчанию 0.

m

Установите степень приглушения высоких частот звука. Допустимый диапазон от 0 до 1. По умолчанию 0,5.

f

Сколько оригинального частотного контента нужно сохранить при де-эссинге. Допустимый диапазон от 0 до 1. По умолчанию 0,5.

s

Установите режим вывода.

Он принимает следующие значения:

i

Передайте ввод без изменений.

o

Проход отфильтрован.

e

Проходят только эсс.

Значение по умолчанию o.

8.78 dialoguenhance

Улучшение диалогов в стереозвуке.

Этот фильтр принимает стереофонический вход и воспроизводит объемный звук (3.0) на выходе. Недавно выпущенный передний центральный канал имеет расширенный речевой диалог, изначально доступный в обоих стереоканалах. Этот фильтр выводит передний левый и передний правый каналы так же, как и на стереовходе.

Фильтр принимает следующие параметры:

original

Установите исходный центральный коэффициент, чтобы он оставался на выходе переднего центрального канала. Допустимый диапазон — от 0 до 1. Значение по умолчанию — 1.

enhance

Установите коэффициент усиления диалога, чтобы поместить выход переднего центрального канала. Допустимый диапазон — от 0 до 3. Значение по умолчанию — 1.

voice

Установите коэффициент обнаружения голоса. Допустимый диапазон от 2 до 32. Значение по умолчанию — 2.

8.78.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

8.79 drmeter

Измерьте динамический диапазон звука.

Значения DR 14 и выше встречаются в очень динамичном материале. DR от 8 до 13 встречается в переходном материале. А все, что меньше 8, имеет очень плохую динамику и очень сжато.

Фильтр принимает следующие параметры:

length

Установите длину окна в секундах, используемую для разделения аудио на сегменты одинаковой длины. По умолчанию 3 секунды.

8.80 dynaudnorm

Динамический нормализатор звука.

Этот фильтр применяет определенное усиление к входному звуку, чтобы довести его пиковую величину до целевого уровня (например, 0 дБ полной шкалы). Однако, в отличие от более «простых» алгоритмов нормализации, Dynamic Audio Normalizer *динамически* перенастраивает коэффициент усиления для входного аудио. Это позволяет применять дополнительное усиление к «тихим» участкам звука, избегая при этом искажений или обрезания «громких» участков. Другими словами: Dynamic Audio Normalizer «выровняет» громкость тихих и громких разделов в том смысле, что громкость каждого раздела будет доведена до одного и того же целевого уровня. Обратите внимание, однако, что Dynamic Audio Normalizer достигает этой цели *без* применения «сжатия динамического диапазона». Он сохранит 100% динамического диапазона *внутри* каждого раздела аудиофайла.

framelen, f

Установите длину кадра в миллисекундах. В диапазоне от 10 до 8000 миллисекунд. По умолчанию 500 миллисекунд. Динамический нормализатор звука обрабатывает входной звук небольшими фрагментами, называемыми кадрами. Это необходимо, потому что пиковая величина не имеет значения только для одного значения выборки. Вместо этого нам нужно определить пиковую величину для непрерывной последовательности выборочных значений. В то время как «стандартный» нормализатор просто использует пиковую величину всего файла, динамический нормализатор звука определяет пиковую величину отдельно для каждого кадра. Длина кадра указывается в миллисекундах. По умолчанию Dynamic Audio Normalizer использует длину кадра 500 миллисекунд, что дает хорошие результаты для большинства файлов. Обратите внимание, что точная длина кадра в количестве выборок будет определена автоматически.

gausssize, g

Установите размер окна фильтра Гаусса. В диапазоне от 3 до 301 должно быть нечетное число. Значение по умолчанию — 31. Вероятно, самым важным параметром Dynamic Audio Normalizer является window sizeсглаживающего фильтра Гаусса. Размер окна фильтра указывается в кадрах с центром вокруг текущего кадра. Для простоты это должно быть нечетное число. Следовательно, значение по умолчанию 31 учитывает текущий кадр, а также 15 предшествующих кадров и 15 последующих кадров. Использование большего окна приводит к более сильному эффекту сглаживания и, следовательно, к меньшему изменению усиления, т. е. к более медленной адаптации усиления. И наоборот, использование меньшего окна приводит к более слабому эффекту сглаживания и, следовательно, к большему изменению усиления, т. е. к более быстрой адаптации усиления. Другими словами, чем больше вы увеличиваете это значение, тем больше Dynamic Audio Normalizer будет вести себя как «традиционный» фильтр нормализации. Наоборот, чем больше вы уменьшаете это значение, тем больше Dynamic Audio Normalizer будет вести себя как компрессор динамического диапазона.

peak, p

Установите целевое пиковое значение. Это определяет самый высокий допустимый уровень амплитуды для нормализованного аудиовхода. Этот фильтр попытается как можно ближе приблизиться к целевому пиковому значению, но в то же время он также гарантирует, что нормализованный сигнал никогда не превысит пиковое значение. Максимальный локальный коэффициент усиления кадра определяется непосредственно величиной целевого пика. Значение по умолчанию равно 0,95, поэтому запас составляет 5%*. Не рекомендуется превышать это значение.

maxgain, m

Установите максимальный коэффициент усиления. В диапазоне от 1,0 до 100,0. По умолчанию 10.0. Динамический нормализатор звука определяет максимально возможный (локальный) коэффициент усиления для каждого входного кадра, то есть максимальный коэффициент усиления, который не приводит к отсечению или искажению. Максимальный коэффициент усиления определяется выборкой самой высокой амплитуды кадра. Однако Dynamic Audio Normalizer дополнительно ограничивает максимальный коэффициент усиления кадра заранее определенным (глобальным) максимальным коэффициентом усиления. Это сделано для того, чтобы избежать чрезмерных коэффициентов усиления в «молчаливых» или почти тихих кадрах. По умолчанию максимальный коэффициент усиления равен 10,0. Для большинства входов должно быть достаточно значения по умолчанию, и обычно не рекомендуется увеличивать это значение. Однако для входа с очень низким общим уровнем громкости может потребоваться еще более высокий коэффициент усиления. Примечание, тем не менее, что Dynamic Audio Normalizer не просто применяет «жесткий» порог (т.е. отсекает значения выше порога). Вместо этого будет применена пороговая функция «сигмоид». Таким образом, коэффициенты усиления будут плавно приближаться к пороговому значению, но никогда не превысят его.

targetrms, r

Установите целевое среднеквадратичное значение. В диапазоне от 0,0 до 1,0. По умолчанию 0.0 - отключено. По умолчанию Dynamic Audio Normalizer выполняет «пиковую» нормализацию. Это означает, что максимальный локальный коэффициент усиления для каждого кадра определяется (только) выборкой самой высокой амплитуды кадра. Таким образом, сэмплы могут быть максимально усилены без превышения максимального уровня сигнала, т. е. без ограничения. Однако при желании Dynamic Audio Normalizer может также учитывать среднеквадратичное значение кадра, сокращенно RMS. В электротехнике среднеквадратичное значение обычно используется для определения мощности изменяющегося во времени сигнала. Поэтому считается, что среднеквадратичное значение является лучшим приближением «воспринимаемой громкости», чем просто рассмотрение пиковой величины сигнала. Следовательно, путем настройки всех кадров на постоянное среднеквадратичное значение, равномерная "

coupling, n

Включить соединение каналов. По умолчанию включен. По умолчанию Dynamic Audio Normalizer будет усиливать все каналы на одинаковую величину. Это означает, что ко всем каналам будет применяться одинаковый коэффициент усиления, т. е. максимально возможный коэффициент усиления определяется «самым громким» каналом. Однако в некоторых записях может случиться так, что громкость разных каналов будет неравномерной, например, один канал может быть "тише", чем другой(ые). В этом случае эту опцию можно использовать для отключения связи каналов. Таким образом, коэффициент усиления будет определяться независимо для каждого канала, в зависимости только от выборки максимальной амплитуды отдельного канала. Это позволяет согласовать громкость различных каналов.

correctdc, c

Включите коррекцию смещения постоянного тока. По умолчанию отключен. Аудиосигнал (во временной области) представляет собой последовательность выборочных значений. В Dynamic Audio Normalizer эти выборочные значения представлены в диапазоне от -1,0 до 1,0, независимо от исходного входного формата. Обычно звуковой сигнал или «форма волны» должны центрироваться вокруг нулевой точки. Это означает, что если мы вычислим среднее значение всех выборок в файле или в одном кадре, то результат должен быть 0,0 или, по крайней мере, очень близок к этому значению. Однако, если имеется значительное отклонение среднего значения от 0,0 в положительном или отрицательном направлении, это называется смещением постоянного тока или смещением постоянного тока. Поскольку смещение постоянного тока явно нежелательно, Dynamic Audio Normalizer обеспечивает дополнительную коррекцию смещения постоянного тока. При включенной коррекции смещения постоянного тока Динамический нормализатор звука определит среднее значение или смещение «поправки по постоянному току» каждого входного кадра и вычтет это значение из всех значений выборки кадра, что гарантирует, что эти выборки снова центрируются вокруг 0,0. Кроме того, чтобы избежать «пробелов» на границах кадров, значения смещения коррекции постоянного тока будут плавно интерполироваться между соседними кадрами.

altboundary, b

Включить альтернативный граничный режим. По умолчанию отключен. Динамический нормализатор звука учитывает определенное соседство вокруг каждого кадра. Это включает в себя предыдущие кадры, а также последующие кадры. Однако для «пограничных» кадров, находящихся в самом начале и в самом конце аудиофайла, доступны не все соседние кадры. В частности, для первых нескольких кадров в аудиофайле предшествующие кадры неизвестны. И, аналогично, для последних нескольких кадров в аудиофайле последующие кадры неизвестны. Таким образом, возникает вопрос, какие коэффициенты усиления следует принять для отсутствующих кадров в «граничной» области. Dynamic Audio Normalizer реализует два режима для решения этой ситуации. Граничный режим по умолчанию предполагает коэффициент усиления ровно 1,0 для отсутствующих кадров.

compress, s

Установите коэффициент сжатия. В диапазоне от 0,0 до 30,0. По умолчанию 0,0. По умолчанию Dynamic Audio Normalizer не применяет «традиционное» сжатие. Это означает, что пики сигнала не будут отсекаться, и, таким образом, полный динамический диапазон будет сохранен в пределах каждой локальной окрестности. Однако в некоторых случаях может оказаться желательным объединить алгоритм нормализации Dynamic Audio Normalizer с более «традиционным» сжатием. Для этой цели Dynamic Audio Normalizer предоставляет дополнительную функцию сжатия (порогового значения). Если (и только если) функция сжатия включена, все входные кадры будут обрабатываться функцией пороговой обработки мягкого колена до фактического процесса нормализации. Проще говоря, пороговая функция будет отсекать все выборки, величина которых превышает определенное пороговое значение. Однако, Dynamic Audio Normalizer не просто применяет фиксированное пороговое значение. Вместо этого пороговое значение будет регулироваться для каждого отдельного кадра. Как правило, меньшие параметры приводят к более сильному сжатию, и наоборот. Значения ниже 3,0 не рекомендуются, так как могут появиться слышимые искажения.

threshold, t

Установите целевое пороговое значение. Это определяет самый низкий допустимый уровень амплитуды для аудиовхода, который будет нормализован. Если громкость входного кадра выше этого значения, кадр будет нормализован. В противном случае кадр может вообще не нормализоваться. Значение по умолчанию установлено на 0, что означает, что все входные кадры будут нормализованы. Эта опция в основном полезна, если цифровой шум не нужно усиливать.

channels, h

Укажите, какие каналы фильтровать, по умолчанию фильтруются все доступные каналы.

overlap, o

Укажите перекрытие для кадров. Если установлено значение 0 (по умолчанию), перекрытие кадров не выполняется. Использование значений >0 и <1 сделает менее консервативной регулировку усиления, например, когда для параметра framelen установлено меньшее значение, если значение параметра framelen компенсируется ненулевым перекрытием, тогда регулировки усиления будут более плавными во времени по сравнению со случаем нулевого перекрытия.

8.80.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

8.81 earwax

Упростите прослушивание звука в наушниках.

Этот фильтр добавляет «подсказки» к стереозвуку 44,1 кГц (т. е. формат аудио компакт-диска), так что при прослушивании в наушниках стереоизображение перемещается из вашей головы (стандартно для наушников) наружу и перед слушателем (стандартно для динамиков). ).

Портировано с SoX.

8.82 equalizer

Примените фильтр двухполюсной пиковой коррекции (EQ). С помощью этого фильтра уровень сигнала на выбранной частоте и вокруг нее можно увеличивать или уменьшать, в то время как (в отличие от полосовых и режекторных фильтров) уровень сигнала на всех других частотах остается неизменным.

Чтобы получить сложные кривые выравнивания, этот фильтр можно использовать несколько раз, каждый раз с разной центральной частотой.

Фильтр принимает следующие параметры:

frequency, f

Установите центральную частоту фильтра в Гц.

width_type, t

Установите метод, чтобы указать ширину полосы пропускания фильтра.

h

Гц

q

Q-фактор

o

октава

s

склон

k

кГц

width, w

Задайте ширину полосы пропускания фильтра в единицах width_type.

gain, g

Установите необходимое усиление или ослабление в дБ. Остерегайтесь клиппирования при использовании положительного усиления.

mix, m

Сколько использовать отфильтрованный сигнал на выходе. По умолчанию 1. Диапазон значений от 0 до 1.

channels, c

Укажите, какие каналы фильтровать, по умолчанию фильтруются все доступные.

normalize, n

Нормализация биквадратных коэффициентов по умолчанию отключена. Включение этого параметра нормализует амплитудную характеристику при постоянном токе до 0 дБ.

transform, a

Установите тип преобразования БИХ-фильтра.

di
dii
tdi
tdii
latt
svf
zdf
precision, r

Установить точность фильтрации.

auto

Выберите автоматический формат семпла в зависимости от фильтров окружающего звучания.

s16

Всегда используйте подписанный 16-битный.

s32

Всегда используйте подписанные 32-битные.

f32

Всегда используйте 32-битное число с плавающей запятой.

f64

Всегда используйте 64-битное число с плавающей запятой.

block_size, b

Установите размер блока, используемый для обратной обработки IIR. Если это значение установлено на достаточно высокое значение (выше, чем длина импульсной характеристики, которая усекается при достижении значений, близких к нулю), фильтрация станет линейно-фазовой, в противном случае, если она недостаточно велика, она просто создаст неприятные артефакты.

Обратите внимание, что задержка фильтра будет равна именно этому числу сэмплов, если установлено ненулевое значение.

8.82.1 Примеры

  • Ослабить 10 дБ на частоте 1000 Гц с полосой пропускания 200 Гц:
    equalizer=f=1000:t=h:width=200:g=-10
    
  • Примените усиление на 2 дБ при 1000 Гц с Q 1 и ослабьте 5 дБ на 100 Гц с Q 2:
    equalizer=f=1000:t=q:w=1:g=2,equalizer=f=100:t=q:w=2:g=-5
    

8.82.2 Команды

Этот фильтр поддерживает следующие команды:

frequency, f

Изменить частоту эквалайзера. Синтаксис команды: " frequency"

width_type, t

Изменить width_type эквалайзера. Синтаксис команды: " width_type"

width, w

Изменение ширины эквалайзера. Синтаксис команды: " width"

gain, g

Изменить усиление эквалайзера. Синтаксис команды: " gain"

mix, m

Изменить микс эквалайзера. Синтаксис команды: " mix"

8.83 extrastereo

Линейно увеличивает разницу между левым и правым каналами, что добавляет к воспроизведению своего рода «живой» эффект.

Фильтр принимает следующие параметры:

m

Устанавливает коэффициент разницы (по умолчанию: 2,5). 0.0 означает монофонический звук (средний для обоих каналов), при 1.0 звук не изменится, при -1.0 левый и правый каналы поменяются местами.

c

Включить отсечение. По умолчанию включен.

8.83.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

8.84 firequalizer

Примените FIR Equalization, используя произвольную частотную характеристику.

Фильтр принимает следующий вариант:

gain

Установите уравнение кривой усиления (в дБ). Выражение может содержать переменные:

f

оцениваемая частота

sr

частота дискретизации

ch

номер канала, установленный на 0, когда многоканальная оценка отключена

chid

идентификатор канала, см. libavutil/channel_layout.h, устанавливается на первый идентификатор канала, когда многоканальная оценка отключена

chs

количество каналов

chlayout

channel_layout, см. libavutil/channel_layout.h

и функции:

gain_interpolate(f)

интерполировать усиление по частоте f на основе gain_entry

cubic_interpolate(f)

то же, что и gain_interpolate, но более плавный

Эта опция также доступна как команда. Значение по умолчанию gain_interpolate(f).

gain_entry

Установите запись усиления для функции gain_interpolate. Выражение может содержать функции:

entry(f, g)

сохранить ввод усиления на частоте f со значением g

Эта опция также доступна как команда.

delay

Установить задержку фильтра в секундах. Чем выше значение, тем точнее. Значение по умолчанию 0.01.

accuracy

Установите точность фильтра в Гц. Меньшее значение означает более точную. Значение по умолчанию 5.

wfunc

Установить оконную функцию. Допустимые значения:

rectangular

прямоугольное окно, полезно, когда кривая усиления уже гладкая

hann

окно Ханна (по умолчанию)

hamming

окно Хэмминга

blackman

окно черного человека

nuttall3

3-членное непрерывное окно Наттолла 1-й производной

mnuttall3

минимальное трехчленное прерывистое ореховое окно

nuttall

4-членное непрерывное окно Наттолла 1-й производной

bnuttall

минимальное 4-членное прерывистое окно Наттолла (Блэкмена-Наттолла)

bharris

Окно Блэкмена-Харриса

tukey

окно туки

fixed

Если включено, используйте фиксированное количество аудиосэмплов. Это повышает скорость при фильтрации с большой задержкой. По умолчанию отключено.

multi

Включите многоканальную оценку усиления. По умолчанию отключено.

zero_phase

Включите режим нулевой фазы, вычитая метку времени для компенсации задержки. По умолчанию отключено.

scale

Установите шкалу, используемую усилением. Допустимые значения:

linlin

линейная частота, линейное усиление

linlog

линейная частота, логарифмическое (в дБ) усиление (по умолчанию)

loglin

логарифмическая (в октавной шкале, где 20 Гц равна 0) частота, линейное усиление

loglog

логарифмическая частота, логарифмический коэффициент усиления

dumpfile

Установить файл для дампа, подходящий для gnuplot.

dumpscale

Установить масштаб файла дампа. Допустимые значения такие же, как и для опции масштабирования. По умолчанию это линлог.

fft2

Включите 2-канальную свертку, используя комплексное БПФ. Это значительно повышает скорость. По умолчанию отключено.

min_phase

Включите минимальную фазовую импульсную характеристику. По умолчанию отключено.

8.84.1 Примеры

  • фильтр нижних частот на частоте 1000 Гц:
    firequalizer=gain='if(lt(f,1000), 0, -INF)'
    
  • lowpass на 1000 Гц с усилением_входа:
    firequalizer=gain_entry='entry(1000,0); entry(1001, -INF)'
    
  • пользовательское выравнивание:
    firequalizer=gain_entry='entry(100,0); entry(400, -4); entry(1000, -6); entry(2000, 0)'
    
  • более высокая задержка с нулевой фазой для компенсации задержки:
    firequalizer=delay=0.1:fixed=on:zero_phase=on
    
  • lowpass на левом канале, highpass на правом канале:
    firequalizer=gain='if(eq(chid,1), gain_interpolate(f), if(eq(chid,2), gain_interpolate(1e6+f), 0))'
    :gain_entry='entry(1000, 0); entry(1001,-INF); entry(1e6+1000,0)':multi=on
    

8.85 flanger

Применение эффекта фленджера к звуку.

Фильтр принимает следующие параметры:

delay

Установите базовую задержку в миллисекундах. Диапазон от 0 до 30. Значение по умолчанию — 0.

depth

Установите добавленную задержку развертки в миллисекундах. Диапазон от 0 до 10. Значение по умолчанию — 2.

regen

Установить процент регенерации (обратная связь с задержкой). Диапазон от -95 до 95. Значение по умолчанию — 0.

width

Установите процент задержанного сигнала, смешанного с исходным. Диапазон от 0 до 100. Значение по умолчанию — 71.

speed

Установите число разверток в секунду (Гц). Диапазон от 0,1 до 10. Значение по умолчанию — 0,5.

shape

Задайте форму волны с разверткой, может быть triangularили sinusoidal. Значение по умолчанию sinusoidal.

phase

Установите процентное смещение свипирующей волны для многоканальности. Диапазон от 0 до 100. Значение по умолчанию — 25.

interp

Установите интерполяцию линии задержки linearили quadratic. Значение по умолчанию linear.

8.86 haas

Применение эффекта Хааса к звуку.

Обратите внимание, что это имеет смысл применять к монофоническим сигналам. С этим фильтром, примененным к монофоническим сигналам, он дает некоторую направленность и растягивает стереоизображение.

Фильтр принимает следующие параметры:

level_in

Установите уровень входного сигнала. По умолчанию 1, или 0 дБ

level_out

Установить выходной уровень. По умолчанию 1, или 0 дБ.

side_gain

Установите усиление, применяемое к боковой части сигнала. По умолчанию есть 1.

middle_source

Установить вид среднего источника. Может быть одним из следующих:

'left'

Выберите левый канал.

'right'

Выберите правильный канал.

'mid'

Выберите сигнал средней части стереоизображения.

'side'

Выберите сигнал боковой части стереоизображения.

middle_phase

Изменить среднюю фазу. По умолчанию отключен.

left_delay

Установить задержку левого канала. По умолчанию это 2.05миллисекунды.

left_balance

Установите баланс левого канала. По умолчанию есть -1.

left_gain

Установите усиление левого канала. По умолчанию есть 1.

left_phase

Изменить левую фазу. По умолчанию отключен.

right_delay

Установите задержку правого канала. По умолчанию это 2.12миллисекунды.

right_balance

Установите правильный баланс каналов. По умолчанию есть 1.

right_gain

Установите усиление правого канала. По умолчанию есть 1.

right_phase

Изменить правую фазу. По умолчанию включен.

8.87 hdcd

Декодирует данные формата High Definition Compatible Digital (HDCD). 16-битный поток PCM со встроенными кодами HDCD расширяется до 20-битного потока PCM.

Фильтр поддерживает функции Peak Extend и Low-level Gain Adjustment HDCD, а также обнаруживает флажок Transient Filter.

ffmpeg -i HDCD16.flac -af hdcd OUT24.flac

При использовании фильтра с wav обратите внимание, что кодировка по умолчанию для wav — 16-битная, поэтому результирующий 20-битный поток будет усечен до 16-битного. Используйте что-то вроде -acodec pcm_s24leпосле фильтра, чтобы получить 24-битный вывод PCM.

ffmpeg -i HDCD16.wav -af hdcd OUT16.wav
ffmpeg -i HDCD16.wav -af hdcd -c:a pcm_s24le OUT24.wav

Фильтр принимает следующие параметры:

disable_autoconvert

Отключите любое автоматическое преобразование формата или повторную выборку в графе фильтра.

process_stereo

Обрабатывайте стереоканалы вместе. Если target_gain не совпадает между каналами, считайте его недействительным и используйте последний действительный target_gain.

cdt_ms

Установите период таймера обнаружения кода в мс.

force_pe

Всегда расширяйте пики выше -3dBFS, даже если PE не сигнализируется.

analyze_mode

Замените звук сплошным тоном и отрегулируйте амплитуду, чтобы сигнализировать о каком-то конкретном аспекте процесса декодирования. Выходной файл можно загрузить в аудиоредактор вместе с оригиналом, чтобы облегчить анализ.

analyze_mode=pe:force_pe=trueможно использовать для просмотра всех сэмплов выше уровня PE.

Режимы:

'0, off'

Неполноценный

'1, lle'

Уровень регулировки усиления для каждого образца

'2, pe'

Образцы, в которых происходит удлинение пика

'3, cdt'

Образцы, в которых активен таймер обнаружения кода

'4, tgm'

Образцы, в которых целевое усиление не совпадает между каналами

8.88 headphone

Применяйте передаточные функции, связанные с головой (HRTF), для создания виртуальных громкоговорителей вокруг пользователя для бинаурального прослушивания через наушники. HRIR предоставляются через дополнительные потоки, для каждого канала требуется один входной стереопоток.

Фильтр принимает следующие параметры:

map

Установите отображение входных потоков для свертки. Аргумент представляет собой список имен каналов, разделенных '|', в том порядке, в котором они заданы как дополнительные входные потоки для фильтра. Это также указывает количество входных потоков. Количество входных потоков должно быть не меньше количества каналов в первом потоке плюс один.

gain

Установите усиление, применяемое к звуку. Значение в дБ. По умолчанию 0.

type

Установить тип обработки. Можно timeили freq. timeобрабатывает звук во временной области, что происходит медленно. freqобрабатывает звук в частотной области, что является быстрым. Значение по умолчанию freq.

lfe

Установите пользовательское усиление для каналов LFE. Значение в дБ. По умолчанию 0.

size

Установите размер кадра в количестве сэмплов, которые будут обрабатываться одновременно. Значение по умолчанию 1024. Допустимый диапазон от 1024 до 96000.

hrir

Установить формат потока hrir. Значение по умолчанию stereo. Альтернативное значение multich. Если установлено значение stereo, количество дополнительных потоков должно быть больше или равно количеству входных каналов в первом входном потоке. Также каждый дополнительный поток должен иметь стереоколичество каналов. Если установлено значение multich, количество дополнительных потоков должно быть равно одному. Также количество входных каналов дополнительного потока должно быть равно или больше удвоенного количества каналов первого входного потока.

8.88.1 Примеры

  • Полный пример использования wav-файлов в качестве коэффициентов с фильтрами кино для понижающего микширования 7.1, каждый фильтр кино использует стереофайл с ИК-коэффициентами в качестве входных данных. В файлах даны коэффициенты для каждой позиции виртуального динамика:
    ffmpeg -i input.wav
    -filter_complex "amovie=azi_270_ele_0_DFC.wav[sr];amovie=azi_90_ele_0_DFC.wav[sl];amovie=azi_225_ele_0_DFC.wav[br];amovie=azi_135_ele_0_DFC.wav[bl];amovie=azi_0_ele_0_DFC.wav,asplit[fc][lfe];amovie=azi_35_ele_0_DFC.wav[fl];amovie=azi_325_ele_0_DFC.wav[fr];[0:a][fl][fr][fc][lfe][bl][br][sl][sr]headphone=FL|FR|FC|LFE|BL|BR|SL|SR"
    output.wav
    
  • Полный пример использования wav-файлов в качестве коэффициентов с фильтрами фильмов для понижающего микширования 7.1, но теперь в формате. multich hrir
    ffmpeg -i input.wav -filter_complex "amovie=minp.wav[hrirs];[0:a][hrirs]headphone=map=FL|FR|FC|LFE|BL|BR|SL|SR:hrir=multich"
    output.wav
    

8.89 highpass

Примените фильтр высоких частот с точечной частотой 3 дБ. Фильтр может быть как однополюсным, так и двухполюсным (по умолчанию). Спад фильтра составляет 6 дБ на полюс на октаву (20 дБ на полюс на декаду).

Фильтр принимает следующие параметры:

frequency, f

Установите частоту в Гц. По умолчанию 3000.

poles, p

Установить количество полюсов. По умолчанию 2.

width_type, t

Установите метод, чтобы указать ширину полосы пропускания фильтра.

h

Гц

q

Q-фактор

o

октава

s

склон

k

кГц

width, w

Задайте ширину полосы пропускания фильтра в единицах width_type. Применяется только к двухполюсному фильтру. Значение по умолчанию равно 0,707q и дает ответ Баттерворта.

mix, m

Сколько использовать отфильтрованный сигнал на выходе. По умолчанию 1. Диапазон значений от 0 до 1.

channels, c

Укажите, какие каналы фильтровать, по умолчанию фильтруются все доступные.

normalize, n

Нормализация биквадратных коэффициентов по умолчанию отключена. Включение этого параметра нормализует амплитудную характеристику при постоянном токе до 0 дБ.

transform, a

Установите тип преобразования БИХ-фильтра.

di
dii
tdi
tdii
latt
svf
zdf
precision, r

Установить точность фильтрации.

auto

Выберите автоматический формат семпла в зависимости от фильтров окружающего звучания.

s16

Всегда используйте подписанный 16-битный.

s32

Всегда используйте подписанные 32-битные.

f32

Всегда используйте 32-битное число с плавающей запятой.

f64

Всегда используйте 64-битное число с плавающей запятой.

block_size, b

Установите размер блока, используемый для обратной обработки IIR. Если это значение установлено на достаточно высокое значение (выше, чем длина импульсной характеристики, которая усекается при достижении значений, близких к нулю), фильтрация станет линейно-фазовой, в противном случае, если она недостаточно велика, она просто создаст неприятные артефакты.

Обратите внимание, что задержка фильтра будет равна именно этому числу сэмплов, если установлено ненулевое значение.

8.89.1 Команды

Этот фильтр поддерживает следующие команды:

frequency, f

Измените частоту верхних частот. Синтаксис команды: " frequency"

width_type, t

Измените highpass width_type. Синтаксис команды: " width_type"

width, w

Измените ширину верхних частот. Синтаксис команды: " width"

mix, m

Измените микс верхних частот. Синтаксис команды: " mix"

8.90 join

Объедините несколько входных потоков в один многоканальный поток.

Он принимает следующие параметры:

inputs

Количество входных потоков. По умолчанию 2.

channel_layout

Желаемая схема выходного канала. По умолчанию это стерео.

map

Сопоставьте каналы от входов к выходу. Аргумент представляет собой список отображений, разделенных знаком '|', каждое из которых находится в форме. — индекс входного потока, отсчитываемый от 0. может быть либо именем входного канала (например, FL для переднего левого), либо его индексом в заданном входном потоке. имя выходного канала. input_idx.in_channel-out_channelinput_idxin_channelout_channel

Фильтр попытается угадать сопоставления, если они не указаны явно. Он делает это, сначала пытаясь найти неиспользуемый соответствующий входной канал, и если это не удается, он выбирает первый неиспользуемый входной канал.

Соедините 3 входа (с правильно настроенными раскладками каналов):

ffmpeg -i INPUT1 -i INPUT2 -i INPUT3 -filter_complex join=inputs=3 OUTPUT

Создайте выход 5.1 из 6 одноканальных потоков:

ffmpeg -i fl -i fr -i fc -i sl -i sr -i lfe -filter_complex
'join=inputs=6:channel_layout=5.1:map=0.0-FL|1.0-FR|2.0-FC|3.0-SL|4.0-SR|5.0-LFE'
out

8.91 ladspa

Загрузите плагин LADSPA (простой API-интерфейс Linux Audio Developer).

Чтобы включить компиляцию этого фильтра, вам необходимо настроить FFmpeg с расширением --enable-ladspa.

file, f

Указывает имя загружаемой библиотеки подключаемых модулей LADSPA. Если переменная окружения LADSPA_PATHопределена, подключаемый модуль LADSPA ищется в каждом из каталогов, указанных в списке LADSPA_PATH, разделенном двоеточиями, в противном случае — в стандартных путях LADSPA, расположенных в следующем порядке:HOME/.ladspa/lib/,/usr/local/lib/ladspa/, /usr/lib/ladspa/.

plugin, p

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

controls, c

Установите '|' разделенный список элементов управления, которые представляют собой нуль или более значений с плавающей запятой, которые определяют поведение загруженного плагина (например, задержку, порог или усиление). Элементы управления должны быть определены с использованием следующего синтаксиса: c0= value0|c1= value1|c2= value2|..., где valueiзначение, установленное для i-го элемента управления. В качестве альтернативы они также могут быть определены с использованием следующего синтаксиса: value0| value1| value2|..., где valueiзначение, заданное на i-м элементе управления. Еслиcontrolsустановлено значение help, печатаются все доступные элементы управления и их допустимые диапазоны.

sample_rate, s

Укажите частоту дискретизации, по умолчанию 44100. Используется, только если у плагина нет входных данных.

nb_samples, n

Установите количество выборок на канал для каждого выходного кадра, по умолчанию 1024. Используется, только если у плагина нет входных данных.

duration, d

Установите минимальную продолжительность исходного звука. См. (ffmpeg-utils) раздел Продолжительность времени в руководстве ffmpeg-utils(1) для получения информации о принятом синтаксисе. Обратите внимание, что результирующая продолжительность может быть больше, чем указанная продолжительность, так как сгенерированный звук всегда обрезается в конце полного кадра. Если не указано или выраженная продолжительность отрицательна, предполагается, что звук будет генерироваться навсегда. Используется, только если у плагина нулевые входы.

latency, l

Включить компенсацию задержки, по умолчанию отключено. Используется только в том случае, если у плагина есть входы.

8.91.1 Примеры

  • Список всех доступных плагинов в библиотеке amp (пример плагина LADSPA):
    ladspa=file=amp
    
  • Перечислите все доступные элементы управления и их допустимые диапазоны для vcf_notch плагина из VCFбиблиотеки:
    ladspa=f=vcf:p=vcf_notch:c=help
    
  • Имитация аудиооборудования низкого качества с помощью Computer Music Toolkitбиблиотеки плагинов (CMT):
    ladspa=file=cmt:plugin=lofi:controls=c0=22|c1=12|c2=12
    
  • Добавьте к звуку реверберацию с помощью TAP-плагинов (плагины Tom's Audio Processing):
    ladspa=file=tap_reverb:tap_reverb
    
  • Сгенерируйте белый шум с амплитудой 0,2:
    ladspa=file=cmt:noise_source_white:c=c0=.2
    
  • Сгенерируйте клики со скоростью 20 ударов в минуту, используя плагин C* Click - Metronomeиз C* Audio Plugin Suiteбиблиотеки (CAPS):
    ladspa=file=caps:Click:c=c1=20'
    
  • Применить C* Eq10X2 - Stereo 10-band equaliserэффект:
    ladspa=caps:Eq10X2:c=c0=-48|c9=-24|c3=12|c4=2
    
  • Увеличьте громкость на 20 дБ с помощью ограничителя быстрого просмотра из SWH Pluginsколлекции Стива Харриса:
    ladspa=fast_lookahead_limiter_1913:fastLookaheadLimiter:20|0|2
    
  • Ослабьте низкие частоты с помощью многополосного эквалайзера из SWH Pluginsколлекции Стива Харриса:
    ladspa=mbeq_1197:mbeq:-24|-24|-24|0|0|0|0|0|0|0|0|0|0|0|0
    
  • Уменьшить стереоизображение с помощью Narrowerбиблиотеки C* Audio Plugin Suite (CAPS):
    ladspa=caps:Narrower
    
  • Еще один белый шум, теперь использующий C* Audio Plugin Suiteбиблиотеку (CAPS):
    ladspa=caps:White:.2
    
  • Немного фрактального шума с использованием C* Audio Plugin Suiteбиблиотеки (CAPS):
    ladspa=caps:Fractal:c=c1=1
    
  • Динамическая нормализация громкости с помощью VLevelплагина:
    ladspa=vlevel-ladspa:vlevel_mono
    

8.91.2 Команды

Этот фильтр поддерживает следующие команды:

cN

Измените N-th контрольное значение.

Если указанное значение недействительно, оно игнорируется и сохраняется предыдущее значение.

8.92 loudnorm

Нормализация громкости EBU R128. Включает режимы динамической и линейной нормализации. Поддержка как однопроходного (прямые трансляции, файлы), так и двухпроходного (файлы) режимов. Этот алгоритм может ориентироваться на IL, LRA и максимальный истинный пик. В динамическом режиме для точного обнаружения истинных пиков аудиопоток будет повышаться до 192 кГц. Используйте -arопцию или aresampleфильтр, чтобы явно установить выходную частоту дискретизации.

Фильтр принимает следующие параметры:

I, i

Установите интегрированную цель громкости. Диапазон составляет от -70,0 до -5,0. Значение по умолчанию: -24,0.

LRA, lra

Установите целевой диапазон громкости. Диапазон: 1,0–50,0. Значение по умолчанию — 7,0.

TP, tp

Установите максимальный истинный пик. Диапазон составляет от -9,0 до +0,0. Значение по умолчанию: -2,0.

measured_I, measured_i

Измеренный IL входного файла. Диапазон составляет от -99,0 до +0,0.

measured_LRA, measured_lra

Измеренный LRA входного файла. Диапазон: 0,0–99,0.

measured_TP, measured_tp

Измеренный истинный пик входного файла. Диапазон составляет от -99,0 до +99,0.

measured_thresh

Измеренный порог входного файла. Диапазон составляет от -99,0 до +0,0.

offset

Установите усиление смещения. Усиление применяется перед ограничителем истинного пика. Диапазон составляет от -99,0 до +99,0. По умолчанию +0,0.

linear

Нормализация путем линейного масштабирования исходного звука. measured_I, measured_LRA, measured_TP, и measured_threshвсе должны быть указаны. Целевой LRA не должен быть ниже исходного LRA, а изменение интегрированной громкости не должно приводить к истинному пику, превышающему целевое TP. Если какое-либо из этих условий не выполняется, режим нормализации вернется к dynamic. Варианты trueили false. Значение по умолчанию true.

dual_mono

Относитесь к входным монофоническим файлам как к «двойному моно». Если монофонический файл предназначен для воспроизведения на стереосистеме, его измерение EBU R128 будет некорректным для восприятия. Если установлено значение true, эта опция компенсирует этот эффект. Этот параметр не влияет на многоканальные входные файлы. Варианты истинны или ложны. Значение по умолчанию — ложь.

print_format

Установите формат печати для статистики. Варианты: сводка, json или ничего. Значение по умолчанию — нет.

8.93 lowpass

Примените фильтр нижних частот с точечной частотой 3 дБ. Фильтр может быть однополюсным или двухполюсным (по умолчанию). Спад фильтра составляет 6 дБ на полюс на октаву (20 дБ на полюс на декаду).

Фильтр принимает следующие параметры:

frequency, f

Установите частоту в Гц. По умолчанию 500.

poles, p

Установить количество полюсов. По умолчанию 2.

width_type, t

Установите метод, чтобы указать ширину полосы пропускания фильтра.

h

Гц

q

Q-фактор

o

октава

s

склон

k

кГц

width, w

Задайте ширину полосы пропускания фильтра в единицах width_type. Применяется только к двухполюсному фильтру. Значение по умолчанию равно 0,707q и дает ответ Баттерворта.

mix, m

Сколько использовать отфильтрованный сигнал на выходе. По умолчанию 1. Диапазон значений от 0 до 1.

channels, c

Укажите, какие каналы фильтровать, по умолчанию фильтруются все доступные.

normalize, n

Нормализация биквадратных коэффициентов по умолчанию отключена. Включение этого параметра нормализует амплитудную характеристику при постоянном токе до 0 дБ.

transform, a

Установите тип преобразования БИХ-фильтра.

di
dii
tdi
tdii
latt
svf
zdf
precision, r

Установить точность фильтрации.

auto

Выберите автоматический формат семпла в зависимости от фильтров окружающего звучания.

s16

Всегда используйте подписанный 16-битный.

s32

Всегда используйте подписанные 32-битные.

f32

Всегда используйте 32-битное число с плавающей запятой.

f64

Всегда используйте 64-битное число с плавающей запятой.

block_size, b

Установите размер блока, используемый для обратной обработки IIR. Если это значение установлено на достаточно высокое значение (выше, чем длина импульсной характеристики, которая усекается при достижении значений, близких к нулю), фильтрация станет линейно-фазовой, в противном случае, если она недостаточно велика, она просто создаст неприятные артефакты.

Обратите внимание, что задержка фильтра будет равна именно этому числу сэмплов, если установлено ненулевое значение.

8.93.1 Примеры

  • Низкочастотный только канал LFE, если LFE отсутствует, он ничего не делает:
    lowpass=c=LFE
    

8.93.2 Команды

Этот фильтр поддерживает следующие команды:

frequency, f

Измените частоту нижних частот. Синтаксис команды: " frequency"

width_type, t

Изменить width_type фильтра нижних частот. Синтаксис команды: " width_type"

width, w

Измените ширину фильтра нижних частот. Синтаксис команды: " width"

mix, m

Измените микс нижних частот. Синтаксис команды: " mix"

8.94 lv2

Загрузите плагин LV2 (LADSPA Version 2).

Чтобы включить компиляцию этого фильтра, вам необходимо настроить FFmpeg с расширением --enable-lv2.

plugin, p

Указывает URI плагина. Возможно, вам придется экранировать ':'.

controls, c

Установите '|' разделенный список элементов управления, которые представляют собой нуль или более значений с плавающей запятой, которые определяют поведение загруженного плагина (например, задержку, порог или усиление). Еслиcontrolsустановлено значение help, печатаются все доступные элементы управления и их допустимые диапазоны.

sample_rate, s

Укажите частоту дискретизации, по умолчанию 44100. Используется, только если у плагина нет входных данных.

nb_samples, n

Установите количество выборок на канал для каждого выходного кадра, по умолчанию 1024. Используется, только если у плагина нет входных данных.

duration, d

Установите минимальную продолжительность исходного звука. См. (ffmpeg-utils) раздел Продолжительность времени в руководстве ffmpeg-utils(1) для получения информации о принятом синтаксисе. Обратите внимание, что результирующая продолжительность может быть больше, чем указанная продолжительность, так как сгенерированный звук всегда обрезается в конце полного кадра. Если не указано или выраженная продолжительность отрицательна, предполагается, что звук будет генерироваться навсегда. Используется, только если у плагина нулевые входы.

8.94.1 Примеры

  • Примените плагин Bass Enhancer от Calf:
    lv2=p=http\\\\://calf.sourceforge.net/plugins/BassEnhancer:c=amount=2
    
  • Примените виниловый плагин от Calf:
    lv2=p=http\\\\://calf.sourceforge.net/plugins/Vinyl:c=drone=0.2|aging=0.5
    
  • Примените плагин Bit Crusher от ArtyFX:
    lv2=p=http\\\\://www.openavproductions.com/artyfx#bitta:c=crush=0.3
    

8.94.2 Команды

Этот фильтр поддерживает все параметры, экспортируемые плагином в виде команд.

8.95 mcompand

Многополосный Сжатие или расширение динамического диапазона звука.

Входной звук делится на полосы с использованием IIR Linkwitz-Riley 4-го порядка. Это похоже на кроссовер громкоговорителя и приводит к плоской частотной характеристике при отсутствии действия компандера.

Он принимает следующие параметры:

args

Синтаксис этой опции: атака, затухание, [атака, затухание..] точки мягкого колена частота кроссовера [задержка [начальный_объем [усиление]]] | атака, распад ... Для пояснения каждого пункта обратитесь к документации фильтра компанд.

8.96 pan

Смешайте каналы с определенными уровнями усиления. Фильтр принимает макет выходного канала, за которым следует набор определений каналов.

Этот фильтр также предназначен для эффективного переназначения каналов аудиопотока.

Фильтр принимает параметры вида: " l| outdef| outdef|..."

l

расположение выходных каналов или количество каналов

outdef

спецификация выходного канала в форме: " out_name=[ gain*] in_name[(+-)[ gain*] in_name...]"

out_name

выходной канал для определения либо имени канала (FL, FR и т. д.), либо номера канала (c0, c1 и т. д.)

gain

мультипликативный коэффициент для канала, 1 оставляя громкость без изменений

in_name

входной канал для использования, подробности смотрите в разделе out_name; нельзя смешивать именованные и пронумерованные входные каналы

Если '=' в спецификации канала заменить на '<', то коэффициенты усиления для этой спецификации будут перенормированы так, что их сумма будет равна 1, что позволит избежать клиппирующего шума.

8.96.1 Примеры смешивания

Например, если вы хотите преобразовать стерео в моно, но с большим коэффициентом для левого канала:

pan=1c|c0=0.9*c0+0.1*c1

Индивидуальное микширование в стерео, которое автоматически работает для 3-, 4-, 5- и 7-канального объемного звучания:

pan=stereo| FL < FL + 0.5*FC + 0.6*BL + 0.6*SL | FR < FR + 0.5*FC + 0.6*BR + 0.6*SR

Обратите внимание, что ffmpegинтегрируется система понижающего (и повышающего) микширования по умолчанию, которая должна быть предпочтительной (см. параметр «-ac»), если у вас нет особых потребностей.

8.96.2 Примеры переназначения

Переназначение каналов будет эффективным тогда и только тогда, когда:

  • коэффициенты усиления равны нулям или единицам,
  • только один вход на выход канала,

Если все эти условия соблюдены, фильтр уведомит пользователя («Обнаружено чистое сопоставление каналов») и будет использовать оптимизированный метод без потерь для повторного сопоставления.

Например, если у вас есть источник 5.1 и вы хотите получить стереофонический аудиопоток, отбросив дополнительные каналы:

pan="stereo| c0=FL | c1=FR"

Имея один и тот же источник, вы также можете переключать передний левый и передний правый каналы и сохранять расположение входных каналов:

pan="5.1| c0=c1 | c1=c0 | c2=c2 | c3=c3 | c4=c4 | c5=c5"

Если вход представляет собой стереофонический аудиопоток, вы можете отключить звук переднего левого канала (и при этом сохранить расположение стереоканалов) с помощью:

pan="stereo|c1=c1"

По-прежнему со входом стереофонического аудиопотока вы можете копировать правый канал как спереди слева, так и справа:

pan="stereo| c0=FR | c1=FR"

8.97 replaygain

Фильтр сканера ReplayGain. Этот фильтр принимает аудиопоток на вход и выводит его без изменений. В конце фильтрации отображается track_gainи track_peak.

8.98 resample

Преобразуйте формат звукового образца, частоту дискретизации и расположение каналов. Он не предназначен для прямого использования.

8.99 rubberband

Применяйте растяжение времени и изменение высоты тона с помощью librubberband.

Чтобы включить компиляцию этого фильтра, вам нужно настроить FFmpeg с расширением --enable-librubberband.

Фильтр принимает следующие параметры:

tempo

Установите масштабный коэффициент темпа.

pitch

Установите коэффициент масштабирования высоты тона.

transients

Установить детектор переходных процессов. Возможные значения:

crisp
mixed
smooth
detector

Установить детектор. Возможные значения:

compound
percussive
soft
phase

Установите фазу. Возможные значения:

laminar
independent
window

Установить размер окна обработки. Возможные значения:

standard
short
long
smoothing

Установить сглаживание. Возможные значения:

off
on
formant

Включить сохранение форманты при сдвиге тона. Возможные значения:

shifted
preserved
pitchq

Установите качество тона. Возможные значения:

quality
speed
consistency
channels

Установите каналы. Возможные значения:

apart
together

8.99.1 Команды

Этот фильтр поддерживает следующие команды:

tempo

Изменить коэффициент масштабирования темпа фильтра. Синтаксис команды: " tempo"

pitch

Изменить коэффициент масштабирования основного тона фильтра. Синтаксис команды: " pitch"

8.100 sidechaincompress

Этот фильтр действует как обычный компрессор, но имеет возможность сжимать обнаруженный сигнал, используя второй входной сигнал. Ему нужны два входных потока, и он возвращает один выходной поток. Первый входной поток будет обрабатываться в зависимости от сигнала второго потока. Затем отфильтрованный сигнал может быть отфильтрован другими фильтрами на более поздних этапах обработки. См . фильтр панорамирования и объединения .

Фильтр принимает следующие параметры:

level_in

Установите входное усиление. По умолчанию 1. Диапазон значений от 0,015625 до 64.

mode

Установить режим работы компрессора. Можно upwardили downward. Значение по умолчанию downward.

threshold

Если сигнал второго потока превысит этот уровень, это повлияет на уменьшение усиления первого потока. По умолчанию 0,125. Диапазон составляет от 0,00097563 до 1.

ratio

Установите коэффициент, относительно которого уменьшается сигнал. 1:2 означает, что если уровень поднялся на 4 дБ выше порога, то после снижения он будет только на 2 дБ выше. По умолчанию 2. Диапазон значений от 1 до 20.

attack

Количество миллисекунд, в течение которых сигнал должен подняться выше порогового значения, прежде чем начнется снижение усиления. По умолчанию 20. Диапазон значений от 0,01 до 2000.

release

Количество миллисекунд, в течение которых сигнал должен упасть ниже порогового значения, прежде чем уменьшение снова уменьшится. По умолчанию 250. Диапазон значений от 0,01 до 9000.

makeup

Установите величину, на которую будет усиливаться сигнал после обработки. По умолчанию 1. Диапазон значений от 1 до 64.

knee

Изогните острое колено вокруг порога, чтобы более мягко ввести снижение усиления. По умолчанию 2,82843. Диапазон от 1 до 8.

link

Выберите, влияет ли averageуровень между всеми каналами потока боковой цепи или более громким ( maximum) каналом потока боковой цепи на уменьшение. Значение по умолчанию average.

detection

Следует ли брать точный сигнал в случае peakили RMS в случае rms. Значение по умолчанию в rmsосновном более гладкое.

level_sc

Установите усиление боковой цепи. По умолчанию 1. Диапазон значений от 0,015625 до 64.

mix

Насколько использовать сжатый сигнал на выходе. По умолчанию 1. Диапазон значений от 0 до 1.

8.100.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

8.100.2 Примеры

  • Полный пример ffmpeg, использующий 2 аудиовхода, 1-й вход сжимается в зависимости от сигнала 2-го входа, а затем сжатый сигнал объединяется со 2-м входом:
    ffmpeg -i main.flac -i sidechain.flac -filter_complex "[1:a]asplit=2[sc][mix];[0:a][sc]sidechaincompress[compr];[compr][mix]amerge"
    

8.101 sidechaingate

Гейт боковой цепи действует как обычный (широкополосный) гейт, но имеет возможность фильтровать обнаруженный сигнал перед его отправкой на каскад снижения усиления. Обычно гейт использует сигнал полного диапазона для обнаружения уровня выше порогового. Например: если вы вырезаете все низкие частоты из сигнала боковой цепи, гейт уменьшит громкость вашего трека только в том случае, если не появится достаточное количество высоких частот. С помощью этой техники вы можете уменьшить резонанс натурального барабана или убрать «грохот» приглушенных ударов сильно искаженной гитары. Ему нужны два входных потока, и он возвращает один выходной поток. Первый входной поток будет обрабатываться в зависимости от сигнала второго потока.

Фильтр принимает следующие параметры:

level_in

Установите входной уровень перед фильтрацией. По умолчанию 1. Допустимый диапазон от 0,015625 до 64.

mode

Установите режим работы. Можно upwardили downward. Значение по умолчанию downward. Если установлено в upwardрежим, более высокие части сигнала будут усиливаться, расширяя динамический диапазон в направлении вверх. В противном случае в случае downwardнижних частей сигнал будет уменьшен.

range

Установите уровень снижения усиления, когда сигнал ниже порогового значения. По умолчанию 0,06125. Допустимый диапазон от 0 до 1. Установка этого параметра на 0 отключает сокращение, и тогда фильтр ведет себя как расширитель.

threshold

Если сигнал поднимается выше этого уровня, снижение усиления отключается. По умолчанию 0,125. Допустимый диапазон от 0 до 1.

ratio

Установите коэффициент, относительно которого уменьшается сигнал. По умолчанию 2. Допустимый диапазон от 1 до 9000.

attack

Количество миллисекунд, в течение которых сигнал должен подняться выше порогового значения, прежде чем снижение усиления прекратится. По умолчанию 20 миллисекунд. Допустимый диапазон от 0,01 до 9000.

release

Количество миллисекунд, в течение которых сигнал должен упасть ниже порога, прежде чем снижение снова увеличится. По умолчанию 250 миллисекунд. Допустимый диапазон от 0,01 до 9000.

makeup

Установить величину усиления сигнала после обработки. По умолчанию 1. Допустимый диапазон от 1 до 64.

knee

Изогните острое колено вокруг порога, чтобы более мягко ввести снижение усиления. По умолчанию 2,828427125. Допустимый диапазон от 1 до 8.

detection

Выберите, следует ли брать точный сигнал для обнаружения или среднеквадратичное значение, подобное сигналу. По умолчанию среднеквадратичное значение. Может быть пиковым или среднеквадратичным значением.

link

Выберите, влияет ли на уменьшение средний уровень между всеми каналами или более громкий канал. По умолчанию средний. Может быть средним или максимальным.

level_sc

Установите усиление боковой цепи. По умолчанию 1. Диапазон значений от 0,015625 до 64.

8.101.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

8.102 silencedetect

Обнаружение тишины в аудиопотоке.

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

Печатное время и продолжительность выражены в секундах. Ключ метаданных lavfi.silence_startили lavfi.silence_start.Xустанавливается для первого кадра, временная метка которого равна или превышает продолжительность обнаружения, и содержит временную метку первого кадра тишины.

Клавиши метаданных lavfi.silence_durationили lavfi.silence_duration.X и lavfi.silence_endили lavfi.silence_end.Xустанавливаются на первом кадре после молчания. Еслиmonoвключен, и каждый канал оценивается отдельно, используются .X ключи с суффиксом и Xсоответствует номеру канала.

Фильтр принимает следующие параметры:

noise, n

Установить устойчивость к шуму. Может быть указан в дБ (в случае, если к указанному значению добавляется «дБ») или коэффициент амплитуды. По умолчанию -60 дБ или 0,001.

duration, d

Установите продолжительность молчания до уведомления (по умолчанию 2 секунды). См. (ffmpeg-utils) раздел Продолжительность времени в руководстве ffmpeg-utils(1) для получения информации о принятом синтаксисе.

mono, m

Обрабатывайте каждый канал отдельно, а не вместе. По умолчанию отключен.

8.102.1 Примеры

  • Обнаружение 5 секунд тишины с допустимым уровнем шума -50 дБ:
    silencedetect=n=-50dB:d=5
    
  • Полный пример с ffmpegобнаружением тишины с допустимым уровнем шума 0,0001 вsilence.mp3:
    ffmpeg -i silence.mp3 -af silencedetect=noise=0.0001 -f null -
    

8.103 silenceremove

Удалите тишину в начале, середине или конце аудио.

Фильтр принимает следующие параметры:

start_periods

Это значение используется для указания, следует ли обрезать звук в начале звука. Нулевое значение указывает, что тишина не должна быть обрезана с самого начала. При указании ненулевого значения звук обрезается до тех пор, пока не будет найдено отсутствие тишины. Обычно при обрезке тишины с начала аудио start_periodsбудет значение , 1но его можно увеличить до более высоких значений, чтобы обрезать весь звук до определенного количества периодов отсутствия тишины. Значение по умолчанию 0.

start_duration

Укажите количество времени, в течение которого должно быть обнаружено отсутствие тишины, прежде чем оно перестанет обрезать звук. Увеличивая продолжительность, всплески шумов можно рассматривать как тишину и обрезать. Значение по умолчанию 0.

start_threshold

Указывает, какое значение выборки следует рассматривать как тишину. Для цифрового звука значение 0может быть приемлемым, но для звука, записанного с аналогового сигнала, вы можете увеличить значение, чтобы учесть фоновый шум. Может быть указан в дБ (в случае, если к указанному значению добавляется «дБ») или коэффициент амплитуды. Значение по умолчанию 0.

start_silence

Укажите максимальную продолжительность тишины в начале, которая будет сохраняться после обрезки. Значение по умолчанию равно 0, что соответствует обрезке всех семплов, обнаруженных как тишина.

start_mode

Укажите режим обнаружения окончания тишины в начале многоканального звука. Можно anyили all. Значение по умолчанию any. С помощью anyлюбой сэмпл, который определяется как отсутствие тишины, приведет к остановке обрезки тишины. При all, только если все каналы будут обнаружены как не молчащие, это приведет к остановке обрезки тишины.

stop_periods

Установите счетчик для обрезки тишины с конца аудио. Чтобы удалить тишину из середины файла, укажите stop_periods отрицательное значение a. Затем это значение рассматривается как положительное значение и используется для указания того, что эффект должен возобновить обработку, как указано параметром start_periods, что делает его подходящим для удаления периодов тишины в середине аудио. Значение по умолчанию 0.

stop_duration

Укажите продолжительность тишины, которая должна существовать, прежде чем звук больше не будет копироваться. Указав более высокую продолжительность, в аудио можно оставить желаемую тишину. Значение по умолчанию 0.

stop_threshold

Это то же самое, чтоstart_thresholdно для обрезки тишины с конца аудио. Может быть указан в дБ (в случае, если к указанному значению добавляется «дБ») или коэффициент амплитуды. Значение по умолчанию 0.

stop_silence

Укажите максимальную продолжительность тишины в конце, которая будет сохраняться после обрезки. Значение по умолчанию равно 0, что соответствует обрезке всех семплов, обнаруженных как тишина.

stop_mode

Укажите режим обнаружения начала тишины в конце многоканального звука. Можно anyили all. Значение по умолчанию any. С помощью anyлюбой сэмпл, который определяется как отсутствие тишины, приведет к остановке обрезки тишины. При all, только если все каналы будут обнаружены как не молчащие, это приведет к остановке обрезки тишины.

detection

Установите способ обнаружения тишины. Можно rmsили peak. Второй быстрее и лучше работает с цифровой тишиной, которая равна ровно 0. Значение по умолчанию — rms.

window

Установите продолжительность в секундах, используемую для расчета размера окна в количестве выборок для обнаружения тишины. Значение по умолчанию 0.02. Допустимый диапазон от 0до 10.

8.103.1 Примеры

  • В следующем примере показано, как этот фильтр можно использовать для начала записи, не содержащей задержки в начале, которая обычно возникает между нажатием кнопки записи и началом исполнения:
    silenceremove=start_periods=1:start_duration=5:start_threshold=0.02
    
  • Обрезать всю тишину, встречающуюся от начала до конца, если в аудио есть более 1 секунды тишины:
    silenceremove=stop_periods=-1:stop_duration=1:stop_threshold=-90dB
    
  • Обрежьте все сэмплы цифровой тишины, используя обнаружение пиков, от начала до конца, если в аудио больше 0 сэмплов цифровой тишины, и цифровая тишина обнаружена во всех каналах в одних и тех же позициях в потоке:
    silenceremove=window=0:detection=peak:stop_mode=all:start_mode=all:stop_periods=-1:stop_threshold=0
    

8.104 sofalizer

SOFAlizer использует функции передачи, связанные с головой (HRTF), для создания виртуальных громкоговорителей вокруг пользователя для бинаурального прослушивания через наушники (поддерживаются аудиоформаты до 9 каналов). HRTF хранятся в файлах SOFA (базу данных см. на http://www.sofacoustics.org/ ). SOFAlizer разработан в Научно-исследовательском институте акустики (ARI) Австрийской академии наук.

Чтобы включить компиляцию этого фильтра, вам необходимо настроить FFmpeg с расширением --enable-libmysofa.

Фильтр принимает следующие параметры:

sofa

Установите файл SOFA, используемый для рендеринга.

gain

Установите усиление, применяемое к звуку. Значение в дБ. По умолчанию 0.

rotation

Установить поворот виртуальных громкоговорителей в град. По умолчанию 0.

elevation

Установите высоту виртуальных динамиков в градусах. По умолчанию 0.

radius

Установите расстояние в метрах между громкоговорителями и слушателем с HRTF ближнего поля. По умолчанию 1.

type

Установить тип обработки. Можно timeили freq. timeобрабатывает звук во временной области, что происходит медленно. freqобрабатывает звук в частотной области, что является быстрым. Значение по умолчанию freq.

speakers

Установите пользовательские позиции виртуальных громкоговорителей. Синтаксис этой опции: <CH> <AZIM> <ELEV>[|<CH> <AZIM> <ELEV>|...]. Каждый виртуальный громкоговоритель описывается кратким названием канала, за которым следует азимут и высота в градусах. Каждое описание виртуального громкоговорителя отделяется символом «|». Например, чтобы переопределить положение переднего левого и переднего правого каналов, используйте: 'speakers=FL 45 15|FR 345 15'. Описания с нераспознанными именами каналов игнорируются.

lfegain

Установите пользовательское усиление для каналов LFE. Значение в дБ. По умолчанию 0.

framesize

Установите пользовательский размер кадра в количестве сэмплов. По умолчанию 1024. Допустимый диапазон от 1024 до 96000. Используется только если опция 'type' установлен на freq.

normalize

Должны ли все IR нормализоваться при импорте файла SOFA. По умолчанию включен.

interpolate

Должны ли ближайшие IR интерполироваться с соседними IR, если точное положение не совпадает. По умолчанию отключен.

minphase

Минфазировать все IR при загрузке файла SOFA. По умолчанию отключен.

anglestep

Установить шаг угла поиска соседей. Используется, только если опция interpolateвключена.

radstep

Установить шаг радиуса поиска соседей. Используется, только если опция interpolateвключена.

8.104.1 Примеры

  • Используя файл дивана ClubFritz6:
    sofalizer=sofa=/path/to/ClubFritz6.sofa:type=freq:radius=1
    
  • Используя файл дивана ClubFritz12 и больший радиус с небольшим вращением:
    sofalizer=sofa=/path/to/ClubFritz12.sofa:type=freq:radius=2:rotation=5
    
  • Аналогичен описанному выше, но с пользовательскими положениями динамиков для переднего левого, переднего правого, заднего левого и заднего правого, а также с пользовательским усилением:
    "sofalizer=sofa=/path/to/ClubFritz6.sofa:type=freq:radius=2:speakers=FL 45|FR 315|BL 135|BR 225:gain=28"
    

8.105 speechnorm

Нормализатор речи.

Этот фильтр расширяет или сжимает каждый полупериод аудиосэмплов (локальный набор сэмплов, все выше или ниже нуля и между двумя ближайшими пересечениями нуля) в зависимости от порогового значения, поэтому звук достигает целевого пикового значения в условиях, контролируемых указанными ниже параметрами.

Фильтр принимает следующие параметры:

peak, p

Установите целевое пиковое значение расширения. Определяет максимально допустимый абсолютный уровень амплитуды для нормализованного аудиовхода. Значение по умолчанию — 0,95. Допустимый диапазон от 0,0 до 1,0.

expansion, e

Установите максимальный коэффициент расширения. Допустимый диапазон от 1,0 до 50,0. Значение по умолчанию — 2,0. Эта опция управляет максимальным локальным полупериодом расширения сэмплов. Максимальное расширение должно быть таким, чтобы локальное пиковое значение достигало целевого пикового значения, но никогда не превышало его, и чтобы соотношение между новым и предыдущим пиковым значением не превышало значение этого параметра.

compression, c

Установите максимальный коэффициент сжатия. Допустимый диапазон от 1,0 до 50,0. Значение по умолчанию — 2,0. Эта опция управляет максимальным локальным полупериодом сжатия сэмплов. Этот вариант используется только в том случае, еслиthresholdустановлено значение больше 0,0, то в таких случаях, когда локальный пик ниже или совпадает со значением, установленнымthresholdвсе сэмплы, принадлежащие полупериоду этого пика, будут сжаты текущим коэффициентом сжатия.

threshold, t

Установите пороговое значение. Значение по умолчанию — 0,0. Допустимый диапазон от 0,0 до 1,0. Эта опция указывает, какие полупериоды семплов будут сжаты, а какие расширены. Любые полупериодные сэмплы с их локальным пиковым значением ниже или таким же, как значение этой опции, будут сжаты текущим коэффициентом сжатия, в противном случае, если они больше порогового значения, они будут расширены с коэффициентом расширения, чтобы он мог достичь пикового целевого значения, но никогда не превысит его. Это.

raise, r

Установите величину повышения расширения за каждый полупериод сэмплов. Значение по умолчанию — 0,001. Допустимый диапазон от 0,0 до 1,0. Это определяет, насколько быстро увеличивается коэффициент расширения за каждый новый полупериод, пока не достигнетexpansionценность. Установка слишком высокого значения для этого параметра может привести к искажениям.

fall, f

Установите величину увеличения сжатия на каждый полупериод сэмплов. Значение по умолчанию — 0,001. Допустимый диапазон от 0,0 до 1,0. Это определяет, насколько быстро коэффициент сжатия повышается на каждый новый полупериод, пока не достигнетcompressionценность.

channels, h

Укажите, какие каналы фильтровать, по умолчанию фильтруются все доступные каналы.

invert, i

Включить инвертированную фильтрацию, по умолчанию отключено. Это инвертирует интерпретациюthreshold вариант. При включении любой полупериод семплов с локальным пиковым значением ниже или таким же, как thresholdопция будет расширена, в противном случае она будет сжата.

link, l

Связывание каналов при расчете усиления, применяемого к каждому отфильтрованному семплу канала, по умолчанию отключено. Когда отключено, расчет усиления каждого отфильтрованного канала является независимым, в противном случае, когда эта опция включена, используется минимальное из всех возможных усилений для каждого отфильтрованного канала.

8.105.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

8.106 stereotools

Этот фильтр имеет несколько удобных утилит для управления стереофоническими сигналами, для преобразования стереозаписей M/S в сигнал L/R с контролем параметров или расширением стереоизображения мастер-дорожки.

Фильтр принимает следующие параметры:

level_in

Установите входной уровень перед фильтрацией для обоих каналов. По умолчанию 1. Допустимый диапазон от 0,015625 до 64.

level_out

Установите выходной уровень после фильтрации для обоих каналов. По умолчанию 1. Допустимый диапазон от 0,015625 до 64.

balance_in

Установите входной баланс между обоими каналами. По умолчанию 0. Допустимый диапазон от -1 до 1.

balance_out

Установите выходной баланс между обоими каналами. По умолчанию 0. Допустимый диапазон от -1 до 1.

softclip

Включить мягкое отсечение. Приводит к аналоговому искажению вместо резкого цифрового ограничения 0 дБ. Отключено по умолчанию.

mutel

Отключить левый канал. Отключено по умолчанию.

muter

Отключите звук правого канала. Отключено по умолчанию.

phasel

Измените фазу левого канала. Отключено по умолчанию.

phaser

Измените фазу правого канала. Отключено по умолчанию.

mode

Установите стереофонический режим. Доступные значения:

'lr>lr'

Влево/вправо влево/вправо, это значение по умолчанию.

'lr>ms'

Слева/справа на середину/бок.

'ms>lr'

Середина/Сбоку влево/вправо.

'lr>ll'

Слева/справа налево/слева.

'lr>rr'

Влево/вправо вправо/вправо.

'lr>l+r'

Влево/вправо влево + вправо.

'lr>rl'

Влево/вправо вправо/влево.

'ms>ll'

Середина/Сбоку влево/влево.

'ms>rr'

Середина/Сбоку вправо/вправо.

'ms>rl'

Середина/Сбоку направо/налево.

'lr>l-r'

Слева/справа налево - направо.

slev

Установить уровень бокового сигнала. По умолчанию 1. Допустимый диапазон от 0,015625 до 64.

sbal

Установите баланс бокового сигнала. По умолчанию 0. Допустимый диапазон от -1 до 1.

mlev

Установить уровень среднего сигнала. По умолчанию 1. Допустимый диапазон от 0,015625 до 64.

mpan

Установите среднее панорамирование сигнала. По умолчанию 0. Допустимый диапазон от -1 до 1.

base

Установите стереобазу между моно и инвертированными каналами. По умолчанию 0. Допустимый диапазон от -1 до 1.

delay

Установите задержку в миллисекундах, на сколько задерживать левый канал от правого и наоборот. По умолчанию 0. Допустимый диапазон от -20 до 20.

sclevel

Установите уровень S/C. По умолчанию 1. Допустимый диапазон от 1 до 100.

phase

Установите фазу стерео в градусах. По умолчанию 0. Допустимый диапазон от 0 до 360.

bmode_in, bmode_out

Установите режим баланса для опции balance_in/balance_out.

Может быть одним из следующих:

'balance'

Классический режим баланса. Ослабляйте один канал за раз. Усиление увеличено до 1.

'amplitude'

Аналогичен классическому режиму выше, но усиление увеличено до 2.

'power'

Равномерное распределение мощности в диапазоне от -6 дБ до +6 дБ.

8.106.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

8.106.2 Примеры

  • Примените эффект караоке:
    stereotools=mlev=0.015625
    
  • Преобразование сигнала M/S в L/R:
    "stereotools=mode=ms>lr"
    

8.107 stereowiden

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

Фильтр принимает следующие параметры:

delay

Время в миллисекундах задержки левого сигнала правым и наоборот. По умолчанию 20 миллисекунд.

feedback

Величина усиления задержанного сигнала в правый и наоборот. Дает эффект задержки левого сигнала на правом выходе и наоборот, что дает эффект расширения. По умолчанию 0,3.

crossfeed

Перекрестная подача слева направо с инвертированной фазой. Это помогает подавить моно. Если значение равно 1, все сигналы, общие для обоих каналов, будут отменены. По умолчанию 0,3.

drymix

Установите уровень входного сигнала исходного канала. По умолчанию 0,8.

8.107.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры, delayкроме команд .

8.108 superequalizer

Примените 18-полосный эквалайзер.

Фильтр принимает следующие параметры:

1b

Установите усиление полосы 65 Гц.

2b

Установите усиление полосы 92 Гц.

3b

Установите усиление полосы 131 Гц.

4b

Установите усиление полосы 185 Гц.

5b

Установите усиление полосы 262 Гц.

6b

Установите усиление полосы 370 Гц.

7b

Установите усиление полосы 523 Гц.

8b

Установите усиление полосы 740 Гц.

9b

Установите усиление полосы 1047 Гц.

10b

Установите усиление полосы 1480 Гц.

11b

Установите усиление полосы 2093 Гц.

12b

Установите усиление полосы 2960 Гц.

13b

Установите полосу усиления 4186 Гц.

14b

Установите усиление полосы 5920 Гц.

15b

Установите усиление полосы 8372 Гц.

16b

Установите усиление полосы 11840 Гц.

17b

Установите полосу усиления 16744 Гц.

18b

Установите полосу усиления 20000 Гц.

8.109 surround

Примените фильтр повышающего микширования объемного звучания.

Этот фильтр позволяет производить многоканальный вывод из аудиопотока.

Фильтр принимает следующие параметры:

chl_out

Установите схему выходного канала. По умолчанию это 5.1.

См. (ffmpeg-utils) раздел Channel Layout в руководстве ffmpeg-utils(1) для получения информации о необходимом синтаксисе.

chl_in

Установите схему входного канала. По умолчанию это stereo.

См. (ffmpeg-utils) раздел Channel Layout в руководстве ffmpeg-utils(1) для получения информации о необходимом синтаксисе.

level_in

Установите уровень входной громкости. По умолчанию это 1.

level_out

Установите уровень выходной громкости. По умолчанию это 1.

lfe

Включите вывод канала LFE, если он предусмотрен в схеме выходного канала. По умолчанию это включено.

lfe_low

Установите нижнюю частоту среза LFE. По умолчанию это 128Гц.

lfe_high

Установите верхнюю частоту среза LFE. По умолчанию это 256Гц.

lfe_mode

Установите режим LFE, может быть addили sub. Значение по умолчанию add. В addрежиме канал LFE создается из входного аудио и добавляется к выходному. В subрежиме канал LFE создается из входного аудио и добавляется к выходному, но также все выходные каналы, не относящиеся к LFE, вычитаются из выходного канала LFE.

angle

Установите угол преобразования объемного стереозвука. Допустимый диапазон: от 0до 360. Значение по умолчанию 90.

fc_in

Установите громкость переднего центрального входа. По умолчанию это 1.

fc_out

Установите громкость переднего центрального выхода. По умолчанию это 1.

fl_in

Установите громкость переднего левого входа. По умолчанию это 1.

fl_out

Установите громкость переднего левого выхода. По умолчанию это 1.

fr_in

Установите громкость переднего правого входа. По умолчанию это 1.

fr_out

Установите громкость переднего правого выхода. По умолчанию это 1.

sl_in

Установите боковую левую входную громкость. По умолчанию это 1.

sl_out

Установить боковую левую выходную громкость. По умолчанию это 1.

sr_in

Установите правую боковую громкость входа. По умолчанию это 1.

sr_out

Установить боковой правый выходной объем. По умолчанию это 1.

bl_in

Установить назад громкость левого входа. По умолчанию это 1.

bl_out

Установить обратно левый выходной объем. По умолчанию это 1.

br_in

Установите правую входную громкость. По умолчанию это 1.

br_out

Установите правую выходную громкость. По умолчанию это 1.

bc_in

Установите громкость входного сигнала назад по центру. По умолчанию это 1.

bc_out

Установите выходную громкость назад по центру. По умолчанию это 1.

lfe_in

Установите громкость входа LFE. По умолчанию это 1.

lfe_out

Установите громкость выходного сигнала LFE. По умолчанию это 1.

allx

Установить распространение стереоизображения по оси X для всех каналов. Допустимый диапазон от -1до 15. По умолчанию это значение отрицательное -1и поэтому не используется.

ally

Установить распространение стереоизображения по оси Y для всех каналов. Допустимый диапазон от -1до 15. По умолчанию это значение отрицательное -1и поэтому не используется.

fcx, flx, frx, blx, brx, slx, srx, bcx

Установите распространение стереоизображения по оси X для каждого канала. Допустимый диапазон от 0.06до 15. По умолчанию это значение равно 0.5.

fcy, fly, fry, bly, bry, sly, sry, bcy

Установите распространение стереоизображения по оси Y для каждого канала. Допустимый диапазон от 0.06до 15. По умолчанию это значение равно 0.5.

win_size

Установить размер окна. Допустимый диапазон от 1024до 65536. Размер по умолчанию 4096.

win_func

Установить оконную функцию.

Он принимает следующие значения:

'rect'
'bartlett'
'hann, hanning'
'hamming'
'blackman'
'welch'
'flattop'
'bharris'
'bnuttall'
'bhann'
'sine'
'nuttall'
'lanczos'
'gauss'
'tukey'
'dolph'
'cauchy'
'parzen'
'poisson'
'bohman'

Значение по умолчанию hann.

overlap

Установите перекрытие окна. Если установлено значение 1, будет выбрано рекомендуемое перекрытие для выбранной оконной функции. Значение по умолчанию 0.5.

8.110 tiltshelf

Усиливайте или обрезайте низкие частоты и обрезайте или усиливайте более высокие частоты звука с помощью двухполюсного полочного фильтра с откликом, аналогичным отклику стандартных регуляторов тембра Hi-Fi. Это также известно как полочная эквализация (EQ).

Фильтр принимает следующие параметры:

gain, g

Дайте усиление при 0 Гц. Его полезный диапазон составляет от -20 (для большого сокращения) до +20 (для большого повышения). Остерегайтесь клиппирования при использовании положительного усиления.

frequency, f

Установите центральную частоту фильтра, которую можно использовать для расширения или уменьшения частотного диапазона, который необходимо усилить или обрезать. Значение по умолчанию — 3000Гц.

width_type, t

Установите метод, чтобы указать ширину полосы пропускания фильтра.

h

Гц

q

Q-фактор

o

октава

s

склон

k

кГц

width, w

Определите, насколько крутым является переход полки фильтра.

poles, p

Установить количество полюсов. По умолчанию 2.

mix, m

Сколько использовать отфильтрованный сигнал на выходе. По умолчанию 1. Диапазон значений от 0 до 1.

channels, c

Укажите, какие каналы фильтровать, по умолчанию фильтруются все доступные.

normalize, n

Нормализация биквадратных коэффициентов по умолчанию отключена. Включение этого параметра нормализует амплитудную характеристику при постоянном токе до 0 дБ.

transform, a

Установите тип преобразования БИХ-фильтра.

di
dii
tdi
tdii
latt
svf
zdf
precision, r

Установить точность фильтрации.

auto

Выберите автоматический формат семпла в зависимости от фильтров окружающего звучания.

s16

Всегда используйте подписанный 16-битный.

s32

Всегда используйте подписанные 32-битные.

f32

Всегда используйте 32-битное число с плавающей запятой.

f64

Всегда используйте 64-битное число с плавающей запятой.

block_size, b

Установите размер блока, используемый для обратной обработки IIR. Если это значение установлено на достаточно высокое значение (выше, чем длина импульсной характеристики, которая усекается при достижении значений, близких к нулю), фильтрация станет линейно-фазовой, в противном случае, если она недостаточно велика, она просто создаст неприятные артефакты.

Обратите внимание, что задержка фильтра будет равна именно этому числу сэмплов, если установлено ненулевое значение.

8.110.1 Команды

Этот фильтр поддерживает некоторые параметры в виде команд .

8.111 treble, highshelf

Усильте или обрежьте высокие (верхние) частоты звука с помощью двухполюсного полочного фильтра с откликом, аналогичным отклику стандартных регуляторов тембра Hi-Fi. Это также известно как полочная эквализация (EQ).

Фильтр принимает следующие параметры:

gain, g

Дайте усиление в зависимости от того, что ниже ~ 22 кГц и частоты Найквиста. Его полезный диапазон составляет от -20 (для большого сокращения) до +20 (для большого повышения). Остерегайтесь клиппирования при использовании положительного усиления.

frequency, f

Установите центральную частоту фильтра, которую можно использовать для расширения или уменьшения частотного диапазона, который необходимо усилить или обрезать. Значение по умолчанию — 3000Гц.

width_type, t

Установите метод, чтобы указать ширину полосы пропускания фильтра.

h

Гц

q

Q-фактор

o

октава

s

склон

k

кГц

width, w

Определите, насколько крутым является переход полки фильтра.

poles, p

Установить количество полюсов. По умолчанию 2.

mix, m

Сколько использовать отфильтрованный сигнал на выходе. По умолчанию 1. Диапазон значений от 0 до 1.

channels, c

Укажите, какие каналы фильтровать, по умолчанию фильтруются все доступные.

normalize, n

Нормализация биквадратных коэффициентов по умолчанию отключена. Включение этого параметра нормализует амплитудную характеристику при постоянном токе до 0 дБ.

transform, a

Установите тип преобразования БИХ-фильтра.

di
dii
tdi
tdii
latt
svf
zdf
precision, r

Установить точность фильтрации.

auto

Выберите автоматический формат семпла в зависимости от фильтров окружающего звучания.

s16

Всегда используйте подписанный 16-битный.

s32

Всегда используйте подписанные 32-битные.

f32

Всегда используйте 32-битное число с плавающей запятой.

f64

Всегда используйте 64-битное число с плавающей запятой.

block_size, b

Установите размер блока, используемый для обратной обработки IIR. Если это значение установлено на достаточно высокое значение (выше, чем длина импульсной характеристики, которая усекается при достижении значений, близких к нулю), фильтрация станет линейно-фазовой, в противном случае, если она недостаточно велика, она просто создаст неприятные артефакты.

Обратите внимание, что задержка фильтра будет равна именно этому числу сэмплов, если установлено ненулевое значение.

8.111.1 Команды

Этот фильтр поддерживает следующие команды:

frequency, f

Изменить высокие частоты. Синтаксис команды: " frequency"

width_type, t

Изменить тройной width_type. Синтаксис команды: " width_type"

width, w

Изменить ширину высоких частот. Синтаксис команды: " width"

gain, g

Изменение усиления высоких частот. Синтаксис команды: " gain"

mix, m

Измените микс высоких частот. Синтаксис команды: " mix"

8.112 tremolo

Синусоидальная амплитудная модуляция.

Фильтр принимает следующие параметры:

f

Частота модуляции в герцах. Частоты модуляции в субгармоническом диапазоне (20 Гц или ниже) приведут к эффекту тремоло. Этот фильтр также можно использовать в качестве кольцевого модулятора, задав частоту модуляции выше 20 Гц. Диапазон: 0,1–20000,0. Значение по умолчанию — 5,0 Гц.

d

Глубина модуляции в процентах. Диапазон: 0,0–1,0. Значение по умолчанию — 0,5.

8.113 vibrato

Синусоидальная фазовая модуляция.

Фильтр принимает следующие параметры:

f

Частота модуляции в герцах. Диапазон: 0,1–20000,0. Значение по умолчанию — 5,0 Гц.

d

Глубина модуляции в процентах. Диапазон: 0,0–1,0. Значение по умолчанию — 0,5.

8.114 virtualbass

Примените фильтр Audio Virtual Bass.

Этот фильтр принимает стереофонический вход и воспроизводит стереосигнал с выходными каналами LFE (2.1). Недавно созданный канал LFE имеет улучшенный виртуальный бас, изначально полученный из обоих стереоканалов. Этот фильтр выводит передний левый и передний правый каналы без изменений, доступных на стереовходе.

Фильтр принимает следующие параметры:

cutoff

Установите виртуальную частоту среза басов. Значение по умолчанию — 250 Гц. Допустимый диапазон от 100 до 500 Гц.

strength

Установите силу виртуального баса. Допустимый диапазон — от 0,5 до 3. Значение по умолчанию — 3.

8.115 volume

Отрегулируйте громкость входного аудио.

Он принимает следующие параметры:

volume

Установите выражение громкости звука.

Выходные значения обрезаются до максимального значения.

Выходная громкость звука определяется соотношением:

output_volume = volume * input_volume

Значение по умолчанию для volume"1.0".

precision

Этот параметр представляет математическую точность.

Он определяет, какие форматы входных сэмплов будут разрешены, что влияет на точность масштабирования объема.

fixed

8-битная фиксированная точка; это ограничивает формат входного образца до U8, S16 и S32.

float

32-битные числа с плавающей запятой; это ограничивает формат входного образца до FLT. (дефолт)

double

64-битные числа с плавающей запятой; это ограничивает формат входного образца до DBL.

replaygain

Выберите поведение при обнаружении побочных данных ReplayGain во входных кадрах.

drop

Удалить сторонние данные ReplayGain, игнорируя их содержимое (по умолчанию).

ignore

Игнорируйте сторонние данные ReplayGain, но оставьте их во фрейме.

track

Отдайте предпочтение усилению дорожки, если оно присутствует.

album

Предпочитайте усиление альбома, если оно присутствует.

replaygain_preamp

Усиление предварительного усиления в дБ для применения к выбранному усилению воспроизведения.

Значение по умолчанию для replaygain_preampравно 0,0.

replaygain_noclip

Предотвратите отсечение, ограничив применяемое усиление.

Значение по умолчанию для replaygain_noclipравно 1.

eval

Устанавливается при оценке выражения объема.

Он принимает следующие значения:

'once'

оценивайте выражение только один раз во время инициализации фильтра или когда 'volume' команда отправлена

'frame'

оценить выражение для каждого входящего кадра

Значение по умолчанию: 'once'.

Выражение объема может содержать следующие параметры.

n

номер кадра (начиная с нуля)

nb_channels

количество каналов

nb_consumed_samples

количество сэмплов, потребляемых фильтром

nb_samples

количество семплов в текущем кадре

pos

исходное положение кадра в файле

pts

рамка ПТС

sample_rate

частота дискретизации

startpts

PTS в начале стрима

startt

время начала стрима

t

время кадра

tb

отметка времени

volume

последнее установленное значение громкости

Обратите внимание, что когдаevalустановлен на 'once' доступны только переменные и , все остальные переменные будут оцениваться как NAN sample_rate.tb

8.115.1 Команды

Этот фильтр поддерживает следующие команды:

volume

Измените выражение объема. Команда принимает тот же синтаксис соответствующей опции.

Если указанное выражение недействительно, оно сохраняется в своем текущем значении.

8.115.2 Примеры

  • Уменьшите громкость входного аудио вдвое:
    volume=volume=0.5
    volume=volume=1/2
    volume=volume=-6.0206dB
    

    Во всех приведенных выше примерах именованный ключ дляvolumeможно опустить, например, как в:

    volume=0.5
    
  • Увеличьте входную мощность звука на 6 децибел, используя точность с фиксированной точкой:
    volume=volume=6dB:precision=fixed
    
  • Громкость исчезания после времени 10 с периодом аннигиляции 5 секунд:
    volume='if(lt(t,10),1,max(1-(t-10)/5,0))':eval=frame
    

8.116 volumedetect

Определите громкость входного видео.

Фильтр не имеет параметров. Он поддерживает только образцы 16-битных целых чисел со знаком, поэтому входные данные будут преобразованы при необходимости. Статистика по объему будет напечатана в журнале при достижении конца входного потока.

В частности, он покажет средний объем (среднеквадратический), максимальный объем (для каждой выборки) и начало гистограммы зарегистрированных значений объема (от максимального значения до кумулятивной 1/1000 выборок). ).

Все значения громкости указаны в децибелах относительно максимального значения PCM.

8.116.1 Примеры

Вот выдержка из вывода:

[Parsed_volumedetect_0  0xa23120] mean_volume: -27 dB
[Parsed_volumedetect_0  0xa23120] max_volume: -4 dB
[Parsed_volumedetect_0  0xa23120] histogram_4db: 6
[Parsed_volumedetect_0  0xa23120] histogram_5db: 62
[Parsed_volumedetect_0  0xa23120] histogram_6db: 286
[Parsed_volumedetect_0  0xa23120] histogram_7db: 1042
[Parsed_volumedetect_0  0xa23120] histogram_8db: 2551
[Parsed_volumedetect_0  0xa23120] histogram_9db: 4609
[Parsed_volumedetect_0  0xa23120] histogram_10db: 8409

Это означает, что:

  • Среднеквадратическая энергия составляет примерно -27 дБ, или 10^-2,7.
  • Самая большая выборка находится на уровне -4 дБ, или, точнее, между -4 дБ и -5 дБ.
  • Имеется 6 сэмплов на -4 дБ, 62 на -5 дБ, 286 на -6 дБ и т.д.

Другими словами, увеличение громкости на +4 дБ не приводит к отсечению, увеличение на +5 дБ вызывает отсечение на 6 сэмплов и т. д.

9 источников звука

Ниже приведено описание доступных в настоящее время аудиоисточников.

9.1 abuffer

Буферизируйте аудиокадры и сделайте их доступными для цепочки фильтров.

Этот источник в основном предназначен для программного использования, в частности, через интерфейс, определенный вlibavfilter/buffersrc.h.

Он принимает следующие параметры:

time_base

База времени, которая будет использоваться для временных меток отправленных кадров. Это должно быть число с плавающей запятой или в форме numerator/ .denominator

sample_rate

Частота дискретизации входящих аудиобуферов.

sample_fmt

Образец формата входящих аудиобуферов. Либо имя примера формата, либо соответствующее целочисленное представление из перечисления AVSampleFormat вlibavutil/samplefmt.h

channel_layout

Расположение каналов входящих аудиобуферов. Либо имя макета канала из channel_layout_map в libavutil/channel_layout.cили соответствующее целочисленное представление из макросов AV_CH_LAYOUT_* вlibavutil/channel_layout.h

channels

Количество каналов входящих аудиобуферов. Если оба channelsи channel_layoutуказаны, то они должны быть согласованы.

9.1.1 Примеры

abuffer=sample_rate=44100:sample_fmt=s16p:channel_layout=stereo

даст указание источнику принимать планарное 16-битное стерео со знаком на частоте 44 100 Гц. Так как образец формата с именем «s16p» соответствует числу 6, а раскладка каналов «стерео» соответствует значению 0x3, это эквивалентно:

abuffer=sample_rate=44100:sample_fmt=6:channel_layout=0x3

9.2 aevalsrc

Сгенерируйте звуковой сигнал, заданный выражением.

Этот источник принимает на вход одно или несколько выражений (по одному для каждого канала), которые оцениваются и используются для генерации соответствующего звукового сигнала.

Этот источник принимает следующие параметры:

exprs

Установите список выражений, разделенных знаком «|», для каждого отдельного канала. В случае channel_layoutопция не указана, выбранная раскладка канала зависит от количества предоставленных выражений. В противном случае последнее указанное выражение применяется к оставшимся выходным каналам.

channel_layout, c

Установите макет канала. Количество каналов в указанной раскладке должно быть равно количеству указанных выражений.

duration, d

Установите минимальную продолжительность исходного звука. См. (ffmpeg-utils) раздел Продолжительность времени в руководстве ffmpeg-utils(1) для получения информации о принятом синтаксисе. Обратите внимание, что результирующая продолжительность может быть больше, чем указанная продолжительность, так как сгенерированный звук всегда обрезается в конце полного кадра.

Если не указано или выраженная продолжительность отрицательна, предполагается, что звук будет генерироваться вечно.

nb_samples, n

Установите количество выборок на канал для каждого выходного кадра, по умолчанию 1024.

sample_rate, s

Укажите частоту дискретизации, по умолчанию 44100.

Каждое выражение exprsможет содержать следующие константы:

n

номер оцениваемой выборки, начиная с 0

t

время оцениваемой выборки, выраженное в секундах, начиная с 0

s

частота дискретизации

9.2.1 Примеры

  • Создать тишину:
    aevalsrc=0
    
  • Сгенерируйте синусоидальный сигнал с частотой 440 Гц, установите частоту дискретизации на 8000 Гц:
    aevalsrc="sin(440*2*PI*t):s=8000"
    
  • Сгенерируйте двухканальный сигнал, явно укажите расположение каналов (Front Center + Back Center):
    aevalsrc="sin(420*2*PI*t)|cos(430*2*PI*t):c=FC|BC"
    
  • Генерация белого шума:
    aevalsrc="-2+random(0)"
    
  • Сгенерируйте амплитудно-модулированный сигнал:
    aevalsrc="sin(10*2*PI*t)*sin(880*2*PI*t)"
    
  • Сгенерируйте бинауральные ритмы 2,5 Гц на несущей 360 Гц:
    aevalsrc="0.1*sin(2*PI*(360-2.5/2)*t) | 0.1*sin(2*PI*(360+2.5/2)*t)"
    

9.3 afirsrc

Сгенерируйте КИХ-коэффициенты с помощью метода частотной выборки.

Полученный поток можно использовать с фильтром для фильтрации аудиосигнала.

Фильтр принимает следующие параметры:

taps, t

Установите количество коэффициентов фильтрации в выходном аудиопотоке. Значение по умолчанию — 1025.

frequency, f

Установите точки частоты, из которых установлены амплитуда и фаза. Это должно быть в неубывающем порядке, и первый элемент должен быть 0, а последний элемент должен быть 1. Элементы разделены пробелами.

magnitude, m

Установите значение амплитуды для каждой точки частоты, установленнойfrequency. Количество значений должно совпадать с количеством частотных точек. Значения разделены пробелами.

phase, p

Установите значение фазы для каждой точки частоты, установленнойfrequency. Количество значений должно совпадать с количеством частотных точек. Значения разделены пробелами.

sample_rate, r

Установите частоту дискретизации, по умолчанию 44100.

nb_samples, n

Установите количество выборок на каждый кадр. По умолчанию 1024.

win_func, w

Установить оконную функцию. По умолчанию черный человек.

9.4 anullsrc

Нулевой источник звука возвращает необработанные аудиокадры. Он в основном полезен в качестве шаблона и для использования в инструментах анализа/отладки или в качестве источника для фильтров, которые игнорируют входные данные (например, фильтр синтезатора sox).

Этот источник принимает следующие параметры:

channel_layout, cl

Указывает макет канала и может быть либо целым числом, либо строкой, представляющей макет канала. Значение по умолчанию channel_layout — «стерео».

Проверьте определение channel_layout_map в libavutil/channel_layout.cдля сопоставления между строками и значениями макета канала.

sample_rate, r

Определяет частоту дискретизации и по умолчанию 44100.

nb_samples, n

Установите количество выборок на запрошенные кадры.

duration, d

Установите продолжительность исходного звука. См. (ffmpeg-utils) раздел Продолжительность времени в руководстве ffmpeg-utils(1) для получения информации о принятом синтаксисе.

Если не указано или выраженная продолжительность отрицательна, предполагается, что звук будет генерироваться вечно.

9.4.1 Примеры

  • Установите частоту дискретизации на 48 000 Гц и расположение каналов на AV_CH_LAYOUT_MONO.
    anullsrc=r=48000:cl=4
    
  • Проделайте ту же операцию с более очевидным синтаксисом:
    anullsrc=r=48000:cl=mono
    

Все параметры должны быть явно определены.

9.5 flite

Синтезируйте голосовое высказывание с помощью библиотеки libflite.

Чтобы включить компиляцию этого фильтра, вам необходимо настроить FFmpeg с расширением --enable-libflite.

Обратите внимание, что версии библиотеки flite до 2.0 не являются потокобезопасными.

Фильтр принимает следующие параметры:

list_voices

Если установлено значение 1, перечислить имена доступных голосов и немедленно выйти. Значение по умолчанию — 0.

nb_samples, n

Установите максимальное количество выборок на кадр. Значение по умолчанию — 512.

textfile

Установите имя файла, содержащего текст, чтобы говорить.

text

Установите текст, чтобы говорить.

voice, v

Установите голос, который будет использоваться для синтеза речи. Значение по умолчанию kal. См. также list_voicesвариант.

9.5.1 Примеры

  • Читать из файлаspeech.txt, и синтезируйте текст, используя стандартный голос flite:
    flite=textfile=speech.txt
    
  • Прочитайте указанный текст, выбрав sltголос:
    flite=text='So fare thee well, poor devil of a Sub-Sub, whose commentator I am':voice=slt
    
  • Введите текст в ffmpeg:
    ffmpeg -f lavfi -i flite=text='So fare thee well, poor devil of a Sub-Sub, whose commentator I am':voice=slt
    
  • Делатьffplayпроизнести указанный текст, используя fliteи lavfiустройство:
    ffplay -f lavfi flite=text='No more be grieved for which that thou hast done.'
    

Для получения дополнительной информации о libflite посетите: http://www.festvox.org/flite/

9.6 anoisesrc

Сгенерируйте шумовой звуковой сигнал.

Фильтр принимает следующие параметры:

sample_rate, r

Укажите частоту дискретизации. Значение по умолчанию — 48000 Гц.

amplitude, a

Укажите амплитуду (0,0–1,0) сгенерированного аудиопотока. Значение по умолчанию — 1,0.

duration, d

Укажите продолжительность сгенерированного аудиопотока. Не указание этой опции приводит к шуму бесконечной длины.

color, colour, c

Укажите цвет шума. Доступные цвета шума: белый, розовый, коричневый, синий, фиолетовый и бархатный. Цвет по умолчанию белый.

seed, s

Укажите значение, используемое для заполнения PRNG.

nb_samples, n

Установите количество выборок на каждый выходной кадр, по умолчанию 1024.

9.6.1 Примеры

  • Сгенерируйте 60 секунд розового шума с частотой дискретизации 44,1 кГц и амплитудой 0,5:
    anoisesrc=d=60:c=pink:r=44100:a=0.5
    

9.7 hilbert

Сгенерируйте КИХ-коэффициенты преобразования Гильберта с нечетным отводом.

Полученный поток можно использовать с афир -фильтром для фазового сдвига сигнала на 90 градусов.

Это используется во многих схемах матричного кодирования и для генерации аналитических сигналов. Процесс часто записывается как умножение на i (или j), мнимую единицу.

Фильтр принимает следующие параметры:

sample_rate, s

Установите частоту дискретизации, по умолчанию 44100.

taps, t

Установите длину КИХ-фильтра, по умолчанию 22051.

nb_samples, n

Установите количество выборок на каждый кадр.

win_func, w

Установите оконную функцию, которая будет использоваться при генерации КИХ-коэффициентов.

9.8 sinc

Сгенерируйте КИХ-коэффициенты нижних частот, верхних частот, полосы пропускания или подавления полосы КИХ-окна sinc kaiser.

Полученный поток можно использовать с фильтром для фильтрации аудиосигнала.

Фильтр принимает следующие параметры:

sample_rate, r

Установите частоту дискретизации, по умолчанию 44100.

nb_samples, n

Установите количество выборок на каждый кадр. По умолчанию 1024.

hp

Установите частоту верхних частот. По умолчанию 0.

lp

Установите частоту нижних частот. Значение по умолчанию — 0. Если частота верхних частот ниже частоты нижних частот, а частота нижних частот выше 0, то фильтр создаст коэффициенты полосового фильтра, в противном случае — коэффициенты режекторного фильтра.

phase

Установите фазовую характеристику фильтра. По умолчанию 50. Допустимый диапазон от 0 до 100.

beta

Установите бета-версию окна Kaiser.

att

Установите затухание в полосе задерживания. По умолчанию 120 дБ, допустимый диапазон от 40 до 180 дБ.

round

Включить округление, по умолчанию отключено.

hptaps

Установите количество отводов для фильтра высоких частот.

lptaps

Установите количество отводов для фильтра нижних частот.

9.9 sine

Сгенерируйте звуковой сигнал, состоящий из синусоидальной волны с амплитудой 1/8.

Звуковой сигнал побитовый.

Фильтр принимает следующие параметры:

frequency, f

Установите несущую частоту. По умолчанию 440 Гц.

beep_factor, b

Включите периодический звуковой сигнал каждую секунду с частотой beep_factor, умноженной на несущую частоту. По умолчанию 0, что означает, что звуковой сигнал отключен.

sample_rate, r

Укажите частоту дискретизации, по умолчанию 44100.

duration, d

Укажите продолжительность сгенерированного аудиопотока.

samples_per_frame

Установите количество выборок на выходной кадр.

Выражение может содержать следующие константы:

n

(Порядковый) номер выходного аудиокадра, начиная с 0.

pts

PTS (Presentation TimeStamp) выходного аудиокадра, выраженный в TBединицах.

t

PTS выходного аудиокадра, выраженное в секундах.

TB

Временная база выходных аудиокадров.

Значение по умолчанию 1024.

9.9.1 Примеры

  • Сгенерируйте простую синусоиду 440 Гц:
    sine
    
  • Сгенерируйте синусоиду 220 Гц со звуковым сигналом 880 Гц каждую секунду в течение 5 секунд:
    sine=220:4:d=5
    sine=f=220:b=4:d=5
    sine=frequency=220:beep_factor=4:duration=5
    
  • Сгенерируйте синусоидальную волну частотой 1 кГц в соответствии 1602,1601,1602,1601,1602с шаблоном NTSC:
    sine=1000:samples_per_frame='st(0,mod(n,5)); 1602-not(not(eq(ld(0),1)+eq(ld(0),3)))'
    

10 аудиоприемников

Ниже приведено описание доступных в настоящее время аудиоприемников.

10.1 abuffersink

Буферизируйте аудиокадры и сделайте их доступными в конце цепочки фильтров.

Этот приемник в основном предназначен для программного использования, в частности через интерфейс, определенный вlibavfilter/buffersink.h или система опций.

Он принимает указатель на структуру AVABufferSinkContext, которая определяет форматы входящих буферов, которые следует передать в качестве непрозрачного параметра avfilter_init_filterдля инициализации.

10.2 anullsink

Нулевой аудиоприемник; абсолютно ничего не делать с входным звуком. В основном он полезен в качестве шаблона и для использования в инструментах анализа/отладки.

11 видеофильтров

Когда вы настраиваете сборку FFmpeg, вы можете отключить любой из существующих фильтров, используя файлы --disable-filters. В выходных данных configure будут показаны видеофильтры, включенные в вашу сборку.

Ниже приведено описание доступных на данный момент видеофильтров.

11.1 addroi

Отметьте область интереса в видеокадре.

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

x

Расстояние области в пикселях от левого края кадра.

y

Расстояние области в пикселях от верхнего края кадра.

w

Ширина области в пикселях.

h

Высота области в пикселях.

Параметры x, yи являются выражениями и могут содержать следующие переменные w:h

iw

Ширина входного кадра.

ih

Высота входного кадра.

qoffset

Смещение квантования для применения в пределах региона.

Это должно быть действительное значение в диапазоне от -1 до +1. Нулевое значение указывает на отсутствие изменения качества. Отрицательное значение требует лучшего качества (меньше квантования), а положительное значение требует худшего качества (большего квантования).

Диапазон откалиброван таким образом, что крайние значения указывают максимально возможное смещение — если остальная часть кадра кодируется с наихудшим возможным качеством, смещение, равное -1, указывает на то, что эта область в любом случае должна быть закодирована с наилучшим возможным качеством. Затем промежуточные значения интерполируются некоторым образом, зависящим от кодека.

Например, в 10-битном H.264 параметр квантования варьируется от -12 до 51. Таким образом, типичное значение qoffset, равное -1/10, указывает, что эта область должна быть закодирована с QP примерно на одну десятую полного диапазона лучше, чем остальная часть кадра. Таким образом, если бы большая часть кадра была закодирована с QP около 30, эта область получила бы QP около 24 (смещение примерно -1/10 * (51 - -12) = -6,3). Экстремальное значение -1 будет означать, что эта область должна быть закодирована с максимально возможным качеством независимо от обработки остальной части кадра, то есть должна быть закодирована с QP, равной -12.

clear

Если установлено значение true, удалите все существующие области интереса, отмеченные на кадре, перед добавлением новой.

11.1.1 Примеры

  • Отметьте центральную четверть кадра как интересную.
    addroi=iw/4:ih/4:iw/2:ih/2:-1/10
    
  • Отметьте область шириной 100 пикселей на левом краю кадра как очень неинтересную (которая должна быть закодирована с гораздо более низким качеством, чем остальная часть кадра).
    addroi=0:0:100:ih:+1/5
    

11.2 alphaextract

Извлеките альфа-компонент из входных данных в виде видео в градациях серого. Это особенно полезно с alphamergeфильтром.

11.3 alphamerge

Добавьте или замените альфа-компонент основного входа значением оттенков серого второго входа. Это предназначено для использования с alphaextractдля обеспечения передачи или хранения последовательностей кадров с альфа-каналом в формате, который не поддерживает альфа-канал.

Например, чтобы реконструировать полные кадры из обычного видео в кодировке YUV и отдельного видео, созданного с помощью alphaextract, вы можете использовать:

movie=in_alpha.mkv [alpha]; [in][alpha] alphamerge [out]

11.4 amplify

Усиление различий между текущим пикселем и пикселями соседних кадров в одном и том же месте пикселя.

Этот фильтр принимает следующие параметры:

radius

Установить радиус кадра. Значение по умолчанию — 2. Допустимый диапазон — от 1 до 63. Например, при значении радиуса 3 фильтр будет вычислять среднее значение по 7 кадрам.

factor

Установите коэффициент для усиления разницы. По умолчанию 2. Допустимый диапазон от 0 до 65535.

threshold

Установите порог для разностного усиления. Любая разница, превышающая или равная этому значению, не изменит исходный пиксель. По умолчанию 10. Допустимый диапазон от 0 до 65535.

tolerance

Установите допуск для разностного усиления. Любая разница ниже этого значения не изменит исходный пиксель. По умолчанию 0. Допустимый диапазон от 0 до 65535.

low

Установите нижний предел для изменения исходного пикселя. По умолчанию 65535. Допустимый диапазон от 0 до 65535. Этот параметр определяет максимально возможное значение, которое уменьшит значение исходного пикселя.

high

Установите верхний предел для изменения исходного пикселя. Значение по умолчанию — 65535. Допустимый диапазон — от 0 до 65535. Этот параметр определяет максимально возможное значение, которое увеличит значение исходного пикселя.

planes

Установите, какие самолеты фильтровать. По умолчанию все. Допустимый диапазон от 0 до 15.

11.4.1 Команды

Этот фильтр поддерживает следующие команды , соответствующие одноименной опции:

factor
threshold
tolerance
low
high
planes

11.5 ass

То же, что и фильтр субтитров , за исключением того, что для работы не требуются libavcodec и libavformat. С другой стороны, он ограничен файлами субтитров ASS (Advanced Substation Alpha).

Этот фильтр принимает следующие параметры в дополнение к общим параметрам из фильтра субтитров :

shaping

Установите формирующий движок

Доступные значения:

'auto'

Механизм формирования libass по умолчанию, который является лучшим из доступных.

'simple'

Быстрый, не зависящий от шрифта шейпер, который может делать только замены

'complex'

Более медленный формирователь с использованием OpenType для замен и позиционирования

Значение по умолчанию auto.

11.6 atadenoise

Примените Adaptive Temporal Averaging Denoiser к видеовходу.

Фильтр принимает следующие параметры:

0a

Установите порог A для 1-й плоскости. По умолчанию 0,02. Допустимый диапазон: от 0 до 0,3.

0b

Установите порог B для 1-й плоскости. По умолчанию 0,04. Допустимый диапазон: от 0 до 5.

1a

Установите порог A для 2-й плоскости. По умолчанию 0,02. Допустимый диапазон: от 0 до 0,3.

1b

Установите порог B для 2-й плоскости. По умолчанию 0,04. Допустимый диапазон: от 0 до 5.

2a

Установите порог A для 3-й плоскости. По умолчанию 0,02. Допустимый диапазон: от 0 до 0,3.

2b

Установите порог B для 3-й плоскости. По умолчанию 0,04. Допустимый диапазон: от 0 до 5.

Порог A предназначен для реагирования на резкие изменения входного сигнала, а порог B предназначен для реагирования на непрерывные изменения входного сигнала.

s

Установите количество кадров, которое фильтр будет использовать для усреднения. По умолчанию 9. Должно быть нечетное число в диапазоне [5, 129].

p

Установите, какие плоскости кадрового фильтра будут использоваться для усреднения. По умолчанию все.

a

Установите, какой вариант алгоритма фильтра будет использоваться для усреднения. По умолчанию pпараллельно. В качестве альтернативы можно установить sсерийный номер.

Параллельное может быть быстрее, чем последовательное, а наоборот никогда не бывает. Параллельный процесс прервется раньше, если первое изменение превысит пороговое значение, в то время как последовательный продолжит обработку другой стороны кадров, если они равны или ниже порогового значения.

0s
1s
2s

Установите сигму для 1-й плоскости, 2-й плоскости или 3-й плоскости. Значение по умолчанию — 32767. Допустимый диапазон — от 0 до 32767. Эта опция управляет весом каждого пикселя в радиусе, определяемом размером. Значение по умолчанию означает, что все пиксели имеют одинаковый вес. Установка для этого параметра значения 0 эффективно отключает фильтрацию.

11.6.1 Команды

Этот фильтр поддерживает те же команды , что и параметры, за исключением параметра s. Команда принимает тот же синтаксис соответствующей опции.

11.7 avgblur

Примените фильтр среднего размытия.

Фильтр принимает следующие параметры:

sizeX

Установите размер горизонтального радиуса.

planes

Установите, какие самолеты фильтровать. По умолчанию фильтруются все плоскости.

sizeY

Установите размер вертикального радиуса, если он равен нулю, он будет таким же, как sizeX. Значение по умолчанию 0.

11.7.1 Команды

Этот фильтр поддерживает те же команды, что и параметры. Команда принимает тот же синтаксис соответствующей опции.

Если указанное выражение недействительно, оно сохраняется в своем текущем значении.

11.8 bbox

Вычислите ограничивающую рамку для нечерных пикселей в плоскости яркости входного кадра.

Этот фильтр вычисляет ограничивающую рамку, содержащую все пиксели со значением яркости, превышающим минимально допустимое значение. Параметры, описывающие ограничивающую рамку, печатаются в журнале фильтрации.

Фильтр принимает следующий вариант:

min_val

Установите минимальное значение яркости. Значение по умолчанию 16.

11.8.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.9 bilateral

Примените двусторонний фильтр, пространственное сглаживание с сохранением краев.

Фильтр принимает следующие параметры:

sigmaS

Установите сигму функции Гаусса для вычисления пространственного веса. Допустимый диапазон от 0 до 512. По умолчанию 0,1.

sigmaR

Установите сигму функции Гаусса для расчета веса диапазона. Допустимый диапазон от 0 до 1. По умолчанию 0,1.

planes

Установите самолеты для фильтрации. По умолчанию только первый.

11.9.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.10 bitplanenoise

Показать и измерить шум битовой плоскости.

Фильтр принимает следующие параметры:

bitplane

Установите, какую плоскость анализировать. Значение по умолчанию 1.

filter

Отфильтруйте шумные пиксели из bitplaneнабора выше. По умолчанию отключено.

11.11 blackdetect

Обнаружение интервалов видео, которые (почти) полностью черные. Может быть полезно для обнаружения переходов между главами, рекламных роликов или недействительных записей.

Фильтр выводит свой анализ обнаружения как в журнал, так и в метаданные кадра. При обнаружении черного сегмента не менее заданной минимальной продолжительности в журнал с уровнем info. debugКроме того, для каждого кадра печатается строка журнала с уровнем , показывающая количество черного, обнаруженное для этого кадра.

Фильтр также прикрепляет метаданные к первому кадру черного сегмента с ключом lavfi.black_startи к первому кадру после окончания черного сегмента с ключом lavfi.black_end. Значение представляет собой временную метку кадра. Эти метаданные добавляются независимо от указанной минимальной продолжительности.

Фильтр принимает следующие параметры:

black_min_duration, d

Установите минимальную продолжительность обнаружения черного, выраженную в секундах. Это должно быть неотрицательное число с плавающей запятой.

Значение по умолчанию — 2,0.

picture_black_ratio_th, pic_th

Установите порог, по которому изображение будет считаться «черным». Выразите минимальное значение отношения:

nb_black_pixels / nb_pixels

для которых изображение считается черным. Значение по умолчанию — 0,98.

pixel_black_th, pix_th

Установите порог для того, чтобы считать пиксель «черным».

Порог выражает максимальное значение яркости пикселя, при котором пиксель считается «черным». Предоставленное значение масштабируется в соответствии со следующим уравнением:

absolute_threshold = luminance_minimum_value + pixel_black_th * luminance_range_size

luminance_range_sizeи luminance_minimum_valueзависит от формата входного видео, диапазон составляет [0–255] для полнодиапазонных форматов YUV и [16–235] для неполнодиапазонных форматов YUV.

Значение по умолчанию — 0,10.

В следующем примере максимальное пороговое значение пикселей устанавливается на минимальное значение и обнаруживаются только черные интервалы продолжительностью 2 и более секунд:

blackdetect=d=2:pix_th=0.00

11.12 blackframe

Обнаружение кадров, которые (почти) полностью черные. Может быть полезно для обнаружения переходов между главами или рекламных роликов. Строки вывода состоят из номера кадра обнаруженного кадра, процента черноты, позиции в файле, если она известна или -1, и метки времени в секундах.

Чтобы отобразить выходные строки, вам нужно установить уровень логирования как минимум на значение AV_LOG_INFO.

Этот фильтр экспортирует метаданные кадра lavfi.blackframe.pblack. Значение представляет собой процент пикселей изображения, которые находятся ниже порогового значения.

Он принимает следующие параметры:

amount

Процент пикселей, которые должны быть ниже порогового значения; по умолчанию это 98.

threshold, thresh

Порог, ниже которого значение пикселя считается черным; по умолчанию это 32.

11.13 blend

Смешайте два видеокадра друг с другом.

Фильтр blendпринимает два входных потока и выводит один поток, первый вход — это «верхний» слой, а второй вход — «нижний» слой. По умолчанию вывод завершается, когда завершается самый длинный ввод.

Фильтр tblend(смешивание по времени) берет два последовательных кадра из одного потока и выводит результат, полученный путем наложения нового кадра поверх старого кадра.

Далее следует описание принятых опций.

c0_mode
c1_mode
c2_mode
c3_mode
all_mode

Установите режим наложения для определенного компонента пикселя или всех компонентов пикселя в случае all_mode. Значение по умолчанию normal.

Доступные значения для режимов компонентов:

'addition'
'and'
'average'
'bleach'
'burn'
'darken'
'difference'
'divide'
'dodge'
'exclusion'
'extremity'
'freeze'
'geometric'
'glow'
'grainextract'
'grainmerge'
'hardlight'
'hardmix'
'hardoverlay'
'harmonic'
'heat'
'interpolate'
'lighten'
'linearlight'
'multiply'
'multiply128'
'negation'
'normal'
'or'
'overlay'
'phoenix'
'pinlight'
'reflect'
'screen'
'softdifference'
'softlight'
'stain'
'subtract'
'vividlight'
'xor'
c0_opacity
c1_opacity
c2_opacity
c3_opacity
all_opacity

Установите непрозрачность смешивания для определенного компонента пикселя или всех компонентов пикселя в случае all_opacity. Используется только в сочетании с режимами наложения компонентов пикселей.

c0_expr
c1_expr
c2_expr
c3_expr
all_expr

Установите выражение смешивания для определенного компонента пикселя или всех компонентов пикселя в случае all_expr. Обратите внимание, что соответствующие параметры режима будут игнорироваться, если они установлены.

В выражениях могут использоваться следующие переменные:

N

Порядковый номер отфильтрованного кадра, начиная с 0.

X
Y

координаты текущего образца

W
H

ширина и высота фильтруемой в данный момент плоскости

SW
SH

Шкала ширины и высоты фильтруемой плоскости. Это отношение размеров текущей плоскости к плоскости яркости, например, для yuv420pкадра значения относятся 1,1к плоскости яркости и плоскости 0.5,0.5цветности.

T

Время текущего кадра, выраженное в секундах.

TOP, A

Значение компонента пикселя в текущем местоположении для первого видеокадра (верхний слой).

BOTTOM, B

Значение компонента пикселя в текущем местоположении для второго видеокадра (нижний слой).

Фильтр blendтакже поддерживает параметры синхронизации кадров .

11.13.1 Примеры

  • Примените переход от нижнего слоя к верхнему слою в первые 10 секунд:
    blend=all_expr='A*(if(gte(T,10),1,T/10))+B*(1-(if(gte(T,10),1,T/10)))'
    
  • Примените линейный горизонтальный переход от верхнего слоя к нижнему слою:
    blend=all_expr='A*(X/W)+B*(1-X/W)'
    
  • Примените эффект шахматной доски 1x1:
    blend=all_expr='if(eq(mod(X,2),mod(Y,2)),A,B)'
    
  • Примените эффект раскрытия левой части:
    blend=all_expr='if(gte(N*SW+X,W),A,B)'
    
  • Примените эффект раскрытия вниз:
    blend=all_expr='if(gte(Y-N*SH,0),A,B)'
    
  • Примените эффект раскрытия вверх-влево:
    blend=all_expr='if(gte(T*SH*40+Y,H)*gte((T*40*SW+X)*W/H,W),A,B)'
    
  • Разделить видео по диагонали и показать верхний и нижний слои с каждой стороны:
    blend=all_expr='if(gt(X,Y*(W/H)),A,B)'
    
  • Отображение различий между текущим и предыдущим кадром:
    tblend=all_mode=grainextract
    

11.13.2 Команды

Этот фильтр поддерживает те же команды , что и параметры.

11.14 blockdetect

Определяет блочность кадров без изменения входных кадров.

На основе Ремко Муйса и Игоря Киренко: «Измерение артефактов блокировки без ссылок для адаптивной обработки видео». 2005 13-я Европейская конференция по обработке сигналов.

Фильтр принимает следующие параметры:

period_min
period_max

Установите минимальное и максимальное значения для определения пиксельных сеток (периодов). Значения по умолчанию: [3,24].

planes

Установите самолеты для фильтрации. По умолчанию только первый.

11.14.1 Примеры

  • Определяем блочность для первой плоскости и ищем периоды в пределах [8,32]:
    blockdetect=period_min=8:period_max=32:planes=1
    

11.15 blurdetect

Определяет размытость кадров без изменения входных кадров.

На основании Marziliano, Pina, et al. «Метрика перцептивного размытия без ссылки». Позволяет использовать блочную аббревиатуру.

Фильтр принимает следующие параметры:

low
high

Установите нижнее и верхнее пороговые значения, используемые алгоритмом определения порога Кэнни.

Высокий порог выбирает «сильные» краевые пиксели, которые затем соединяются через 8-связность со «слабыми» краевыми пикселями, выбранными с помощью низкого порога.

lowа highпороговые значения должны быть выбраны в диапазоне [0,1] и lowдолжны быть меньше или равны high.

Значение по умолчанию для low, 20/255а значение по умолчанию high для 50/255.

radius

Определите радиус для поиска локальных максимумов вокруг краевого пикселя.

block_pct

Определить размытость только для наиболее значимых блоков, заданных в процентах.

block_width

Определить размытость для блоков шириной block_width. Если установлено любое значение меньше 1, блоки не используются, и все изображение обрабатывается как единое целое независимо от block_height.

block_height

Определить размытость для блоков высоты block_height. Если установлено любое значение меньше 1, блоки не используются, и все изображение обрабатывается как единое целое независимо от block_width.

planes

Установите самолеты для фильтрации. По умолчанию только первый.

11.15.1 Примеры

  • Определяем размытие для 80% наиболее значимых блоков 32x32:
    blurdetect=block_width=32:block_height=32:block_pct=80
    

11.16 bm3d

Удалите шум из кадров с помощью алгоритма Block-Matching 3D.

Фильтр принимает следующие параметры.

sigma

Установить мощность шумоподавления. Значение по умолчанию — 1. Допустимый диапазон — от 0 до 999,9. Алгоритм шумоподавления очень чувствителен к сигме, поэтому настройте его в соответствии с источником.

block

Установите размер локального патча. Это устанавливает размеры в 2D.

bstep

Установите скользящий шаг для обработки блоков. Значение по умолчанию — 4. Допустимый диапазон — от 1 до 64. Меньшие значения позволяют обрабатывать больше эталонных блоков и работают медленнее.

group

Установите максимальное количество похожих блоков для 3-го измерения. Значение по умолчанию — 1. Если установлено значение 1, сопоставление блоков не выполняется. Большие значения позволяют использовать больше блоков в одной группе. Допустимый диапазон от 1 до 256.

range

Установите радиус для сопоставления поискового блока. По умолчанию 9. Допустимый диапазон от 1 до INT32_MAX.

mstep

Установите шаг между двумя местами поиска для сопоставления блоков. По умолчанию 1. Допустимый диапазон от 1 до 64. Чем меньше, тем медленнее.

thmse

Установите порог среднеквадратичной ошибки для сопоставления блоков. Допустимый диапазон: от 0 до INT32_MAX.

hdthr

Установите параметр порогового значения для жесткого порогового значения в области 3D-преобразования. Большие значения приводят к более сильной жесткой пороговой фильтрации в частотной области.

estim

Установите режим оценки фильтрации. Можно basicили final. Значение по умолчанию basic.

ref

Если этот параметр включен, фильтр будет использовать второй поток для сопоставления блоков. По умолчанию отключено для basicзначения estimпараметра и всегда включено, если значение estimравно final.

planes

Установите самолеты для фильтрации. По умолчанию доступны все, кроме альфа.

11.16.1 Примеры

  • Базовая фильтрация с bm3d:
    bm3d=sigma=3:block=4:bstep=2:group=1:estim=basic
    
  • То же, что и выше, но с фильтрацией только яркости:
    bm3d=sigma=3:block=4:bstep=2:group=1:estim=basic:planes=1
    
  • То же, что и выше, но с обоими режимами оценки:
    split[a][b],[a]bm3d=sigma=3:block=4:bstep=2:group=1:estim=basic[a],[b][a]bm3d=sigma=3:block=4:bstep=2:group=16:estim=final:ref=1
    
  • То же, что и выше, но вместо этого используйте предварительный фильтр с фильтром nlmeans :
    split[a][b],[a]nlmeans=s=3:r=7:p=3[a],[b][a]bm3d=sigma=3:block=4:bstep=2:group=16:estim=final:ref=1
    

11.17 boxblur

Примените алгоритм boxblur к входному видео.

Он принимает следующие параметры:

luma_radius, lr
luma_power, lp
chroma_radius, cr
chroma_power, cp
alpha_radius, ar
alpha_power, ap

Далее следует описание принятых опций.

luma_radius, lr
chroma_radius, cr
alpha_radius, ar

Установите выражение для радиуса окна в пикселях, используемого для размытия соответствующей входной плоскости.

Значение радиуса должно быть неотрицательным числом и не должно превышать значение выражения min(w,h)/2для плоскостей яркости и альфа, а min(cw,ch)/2также для плоскостей цветности.

Значение по умолчанию дляluma_radiusэто "2". Если не указано, chroma_radiusа такжеalpha_radiusпо умолчанию соответствует соответствующему набору значений дляluma_radius.

Выражения могут содержать следующие константы:

w
h

Вводимая ширина и высота в пикселях.

cw
ch

Ширина и высота входного изображения цветности в пикселях.

hsub
vsub

Значения подвыборки цветности по горизонтали и вертикали. Например, для формата пикселей «yuv422p» hsubэто 2 и vsub1.

luma_power, lp
chroma_power, cp
alpha_power, ap

Укажите, сколько раз фильтр boxblur применяется к соответствующей плоскости.

Значение по умолчанию дляluma_powerравно 2. Если не указано, chroma_powerа такжеalpha_powerпо умолчанию соответствует соответствующему набору значений дляluma_power.

Значение 0 отключит эффект.

11.17.1 Примеры

  • Примените фильтр boxblur с яркостью, цветностью и альфа-радиусами, установленными на 2:
    boxblur=luma_radius=2:luma_power=1
    boxblur=2:1
    
  • Установите радиус яркости на 2, а радиус альфа-канала и цветности на 0:
    boxblur=2:1:cr=0:ar=0
    
  • Установите радиусы яркости и цветности на долю размера видео:
    boxblur=luma_radius=min(h\,w)/10:luma_power=1:chroma_radius=min(cw\,ch)/10:chroma_power=1
    

11.18 bwdif

Деинтерлейсинг входного видео ("bwdif" означает "Фильтр деинтерлейсинга Боба Уивера").

Адаптивный к движению деинтерлейсинг на основе yadif с использованием алгоритмов w3fdif и кубической интерполяции. Он принимает следующие параметры:

mode

Режим чересстрочной развертки для принятия. Он принимает одно из следующих значений:

0, send_frame

Выведите один кадр для каждого кадра.

1, send_field

Выведите по одному кадру для каждого поля.

Значение по умолчанию равно send_field.

parity

Четность поля изображения, предполагаемая для входного чересстрочного видео. Он принимает одно из следующих значений:

0, tff

Предположим, что верхнее поле является первым.

1, bff

Предположим, что нижнее поле является первым.

-1, auto

Включите автоматическое определение четности полей.

Значение по умолчанию равно auto. Если чередование неизвестно или декодер не экспортирует эту информацию, сначала предполагается верхнее поле.

deint

Укажите, какие кадры следует деинтерлейсировать. Принимает одно из следующих значений:

0, all

Деинтерлейсировать все кадры.

1, interlaced

Только деинтерлейсные кадры, помеченные как чересстрочные.

Значение по умолчанию равно all.

11.19 cas

Примените фильтр Contrast Adaptive Sharpen к видеопотоку.

Фильтр принимает следующие параметры:

strength

Установите силу заточки. Значение по умолчанию — 0.

planes

Установите самолеты для фильтрации. Значение по умолчанию — фильтровать все плоскости, кроме альфа-плоскости.

11.19.1 Команды

Этот фильтр поддерживает те же команды , что и параметры.

11.20 chromahold

Удалить всю информацию о цвете для всех цветов, кроме определенного.

Фильтр принимает следующие параметры:

color

Цвет, который не будет заменен нейтральной насыщенностью.

similarity

Процент сходства с вышеуказанным цветом. 0.01 соответствует только точному цвету ключа, а 1.0 соответствует всему.

blend

Процент смеси. 0.0 делает пиксели либо полностью серыми, либо вовсе не серыми. Чем выше значение, тем лучше сохраняется цвет.

yuv

Сигналы о том, что переданный цвет уже находится в формате YUV вместо RGB.

Буквенные цвета, такие как «зеленый» или «красный», больше не имеют смысла, когда эта функция включена. Это можно использовать для передачи точных значений YUV в виде шестнадцатеричных чисел.

11.20.1 Команды

Этот фильтр поддерживает те же команды , что и параметры. Команда принимает тот же синтаксис соответствующей опции.

Если указанное выражение недействительно, оно сохраняется в своем текущем значении.

11.21 chromakey

Цветовая/хроматическая рирпроекция YUV.

Фильтр принимает следующие параметры:

color

Цвет, который будет заменен прозрачностью.

similarity

Процент сходства с ключевым цветом.

0.01 соответствует только точному цвету ключа, а 1.0 соответствует всему.

blend

Процент смеси.

0.0 делает пиксели либо полностью прозрачными, либо непрозрачными вовсе.

Более высокие значения приводят к полупрозрачным пикселям, причем чем выше прозрачность, тем больше цвет пикселя похож на ключевой цвет.

yuv

Сигналы о том, что переданный цвет уже находится в формате YUV вместо RGB.

Буквенные цвета, такие как «зеленый» или «красный», больше не имеют смысла, когда эта функция включена. Это можно использовать для передачи точных значений YUV в виде шестнадцатеричных чисел.

11.21.1 Команды

Этот фильтр поддерживает те же команды , что и параметры. Команда принимает тот же синтаксис соответствующей опции.

Если указанное выражение недействительно, оно сохраняется в своем текущем значении.

11.21.2 Примеры

  • Сделайте каждый зеленый пиксель во входном изображении прозрачным:
    ffmpeg -i input.png -vf chromakey=green out.png
    
  • Наложение видео с зеленым экраном поверх статического черного фона.
    ffmpeg -f lavfi -i color=c=black:s=1280x720 -i video.mp4 -shortest -filter_complex "[1:v]chromakey=0x70de77:0.1:0.2[ckout];[0:v][ckout]overlay[out]" -map "[out]" output.mkv
    

11.22 chromakey_cuda

CUDA ускорила цветокоррекцию цветового пространства YUV.

Этот фильтр работает как обычный фильтр хромакея, но работает с кадрами CUDA. подробнее и параметры см . в хромакей .

11.22.1 Примеры

  • Сделайте все зеленые пиксели во входном видео прозрачными и используйте его как наложение для другого видео:
    ./ffmpeg \
        -hwaccel cuda -hwaccel_output_format cuda -i input_green.mp4  \
        -hwaccel cuda -hwaccel_output_format cuda -i base_video.mp4 \
        -init_hw_device cuda \
        -filter_complex \
        " \
            [0:v]chromakey_cuda=0x25302D:0.1:0.12:1[overlay_video]; \
            [1:v]scale_cuda=format=yuv420p[base]; \
            [base][overlay_video]overlay_cuda" \
        -an -sn -c:v h264_nvenc -cq 20 output.mp4
    
  • Обработайте два источника программного обеспечения, явно загружая кадры:
    ./ffmpeg -init_hw_device cuda=cuda -filter_hw_device cuda \
        -f lavfi -i color=size=800x600:color=white,format=yuv420p \
        -f lavfi -i yuvtestsrc=size=200x200,format=yuv420p \
        -filter_complex \
        " \
            [0]hwupload[under]; \
            [1]hwupload,chromakey_cuda=green:0.1:0.12[over]; \
            [under][over]overlay_cuda" \
        -c:v hevc_nvenc -cq 18 -preset slow output.mp4
    

11.23 chromanr

Уменьшите цветной шум.

Фильтр принимает следующие параметры:

thres

Установите порог для усреднения значений цветности. При усреднении будет использована сумма абсолютной разности компонентов пикселей Y, U и V текущего пикселя и соседних пикселей ниже этого порога. Компонент Luma остается без изменений и копируется в вывод. Значение по умолчанию — 30. Допустимый диапазон — от 1 до 200.

sizew

Установите горизонтальный радиус прямоугольника, используемого для усреднения. Допустимый диапазон от 1 до 100. Значение по умолчанию — 5.

sizeh

Установите вертикальный радиус прямоугольника, используемого для усреднения. Допустимый диапазон от 1 до 100. Значение по умолчанию — 5.

stepw

Установить шаг по горизонтали при усреднении. Значение по умолчанию — 1. Допустимый диапазон — от 1 до 50. В основном полезно для ускорения фильтрации.

steph

Установите вертикальный шаг при усреднении. Значение по умолчанию — 1. Допустимый диапазон — от 1 до 50. В основном полезно для ускорения фильтрации.

threy

Установите пороговое значение Y для усреднения значений цветности. Установите более точное управление максимально допустимой разницей между компонентами Y текущего пикселя и соседними пикселями. Значение по умолчанию — 200. Допустимый диапазон — от 1 до 200.

threu

Установите пороговое значение U для усреднения значений цветности. Установите более точное управление максимально допустимой разницей между компонентами U текущего пикселя и соседними пикселями. Значение по умолчанию — 200. Допустимый диапазон — от 1 до 200.

threv

Установите пороговое значение V для усреднения значений цветности. Установите более точное управление максимально допустимой разницей между компонентами V текущего пикселя и соседними пикселями. Значение по умолчанию — 200. Допустимый диапазон — от 1 до 200.

distance

Установите тип расстояния, используемый в расчетах.

'manhattan'

Абсолютная разница.

'euclidean'

Разница в квадрате.

Тип расстояния по умолчанию — манхэттен.

11.23.1 Команды

Этот фильтр поддерживает те же команды , что и параметры. Команда принимает тот же синтаксис соответствующей опции.

11.24 chromashift

Сдвиг пикселей цветности по горизонтали и/или вертикали.

Фильтр принимает следующие параметры:

cbh

Установите величину для смещения синего цвета по горизонтали.

cbv

Установите величину смещения цветно-синего цвета по вертикали.

crh

Установите величину смещения цветного красного по горизонтали.

crv

Установите величину смещения хрома-красного по вертикали.

edge

Установить граничный режим, может быть smear, по умолчанию или warp.

11.24.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.25 ciescope

Отобразите цветовую диаграмму CIE с наложенными на нее пикселями.

Фильтр принимает следующие параметры:

system

Установите цветовую систему.

'ntsc, 470m'
'ebu, 470bg'
'smpte'
'240m'
'apple'
'widergb'
'cie1931'
'rec709, hdtv'
'uhdtv, rec2020'
'dcip3'
cie

Установите систему CIE.

'xyy'
'ucs'
'luv'
gamuts

Установите, какие гаммы рисовать.

См. systemопции для доступных значений.

size, s

Установите размер ciescope, по умолчанию установлено значение 512.

intensity, i

Установите интенсивность, используемую для сопоставления значений входных пикселей с диаграммой CIE.

contrast

Установите контрастность, используемую для рисования языковых цветов, которые не входят в гамму активной цветовой системы.

corrgamma

Корректная гамма, отображаемая на прицеле, по умолчанию включена.

showwhite

Показывать белую точку на диаграмме CIE, по умолчанию отключено.

gamma

Установите входную гамму. Используется только с входным цветовым пространством XYZ.

fill

Залейте цветами CIE. По умолчанию включен.

11.26 codecview

Визуализировать информацию, экспортируемую некоторыми кодеками.

Некоторые кодеки могут экспортировать информацию через кадры, используя дополнительные данные или другие средства. Например, некоторые кодеки на основе MPEG экспортируют векторы движения через export_mvsфлаг в кодекеflags2вариант.

Фильтр принимает следующий вариант:

block

Отобразите структуру раздела блока, используя плоскость яркости.

mv

Установите векторы движения для визуализации.

Доступные флаги для mv:

'pf'

предсказанные вперед MV P-кадров

'bf'

предсказанные вперед MV B-кадров

'bb'

предсказанные назад MV B-кадров

qp

Отобразите параметры квантования с помощью плоскостей цветности.

mv_type, mvt

Установите тип векторов движения для визуализации. Включает MV из всех кадров, если не указано в frame_typeопции.

Доступные флаги для mv_type:

'fp'

предсказанные вперед MV

'bp'

MV с обратным предсказанием

frame_type, ft

Установите тип кадра для визуализации векторов движения.

Доступные флаги для frame_type:

'if'

кадры с внутренним кодированием (I-кадры)

'pf'

предсказанные кадры (P-кадры)

'bf'

двунаправленно предсказанные кадры (B-кадры)

11.26.1 Примеры

  • Визуализируйте предсказанные вперед MV всех кадров, используя ffplay:
    ffplay -flags2 +export_mvs input.mp4 -vf codecview=mv_type=fp
    
  • Визуализируйте разнонаправленные MV P и B-кадров, используя ffplay:
    ffplay -flags2 +export_mvs input.mp4 -vf codecview=mv=pf+bf+bb
    

11.27 colorbalance

Измените интенсивность основных цветов (красный, зеленый и синий) входных кадров.

Фильтр позволяет настроить входной кадр в областях теней, средних тонов или светлых участков для баланса красного-голубого, зеленого-пурпурного или сине-желтого.

Положительное значение корректировки смещает баланс в сторону основного цвета, отрицательное значение — в сторону дополнительного цвета.

Фильтр принимает следующие параметры:

rs
gs
bs

Отрегулируйте красные, зеленые и синие тени (самые темные пиксели).

rm
gm
bm

Отрегулируйте средние тона красного, зеленого и синего (средние пиксели).

rh
gh
bh

Отрегулируйте красные, зеленые и синие блики (самые яркие пиксели).

Допустимые диапазоны параметров: [-1.0, 1.0]. Значения по умолчанию 0.

pl

Сохраняйте легкость при изменении цветового баланса. По умолчанию отключено.

11.27.1 Примеры

  • Добавьте красный оттенок теням:
    colorbalance=rs=.3
    

11.27.2 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.28 colorcontrast

Отрегулируйте цветовой контраст между компонентами RGB.

Фильтр принимает следующие параметры:

rc

Установите красно-голубой контраст. По умолчанию 0.0. Допустимый диапазон от -1,0 до 1,0.

gm

Установите зелено-пурпурный контраст. По умолчанию 0.0. Допустимый диапазон от -1,0 до 1,0.

by

Установите сине-желтый контраст. По умолчанию 0.0. Допустимый диапазон от -1,0 до 1,0.

rcw
gmw
byw

Установите вес каждого значения параметра rc, gm, by. Значение по умолчанию — 0,0. Допустимый диапазон от 0,0 до 1,0. Если все веса равны 0,0, фильтрация отключена.

pl

Установите степень сохранения легкости. Значение по умолчанию — 0,0. Допустимый диапазон от 0,0 до 1,0.

11.28.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.29 colorcorrect

Выборочная регулировка цветового баланса белого для черного и белого цветов. Этот фильтр работает в цветовом пространстве YUV.

Фильтр принимает следующие параметры:

rl

Установите красную точку тени. Допустимый диапазон от -1,0 до 1,0. Значение по умолчанию — 0.

bl

Установите синюю точку тени. Допустимый диапазон от -1,0 до 1,0. Значение по умолчанию — 0.

rh

Установите красную точку выделения. Допустимый диапазон от -1,0 до 1,0. Значение по умолчанию — 0.

bh

Установите красную точку выделения. Допустимый диапазон от -1,0 до 1,0. Значение по умолчанию — 0.

saturation

Установите уровень насыщенности. Допустимый диапазон от -3,0 до 3,0. Значение по умолчанию — 1.

analyze

Если установлено что-либо, кроме manualэтого, будет анализироваться каждый кадр и использоваться производные параметры для фильтрации выходного кадра.

Возможные значения:

'manual'
'average'
'minmax'
'median'

Значение по умолчанию manual.

11.29.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.30 colorchannelmixer

Отрегулируйте кадры видеовхода, повторно микшируя цветовые каналы.

Этот фильтр изменяет цветовой канал, добавляя значения, связанные с другими каналами тех же пикселей. Например, если значение для изменения красное, выходное значение будет:

red=red*rr + blue*rb + green*rg + alpha*ra

Фильтр принимает следующие параметры:

rr
rg
rb
ra

Отрегулируйте вклад входных красного, зеленого, синего и альфа-каналов для выходного красного канала. По умолчанию 1для rr, и 0для rg, rbи ra.

gr
gg
gb
ga

Отрегулируйте вклад входных красного, зеленого, синего и альфа-каналов для выходного зеленого канала. По умолчанию 1для gg, и 0для gr, gbи ga.

br
bg
bb
ba

Отрегулируйте вклад входных красного, зеленого, синего и альфа-каналов для выходного синего канала. По умолчанию 1для bb, и 0для br, bgи ba.

ar
ag
ab
aa

Отрегулируйте вклад входных красного, зеленого, синего и альфа-каналов для выходного альфа-канала. По умолчанию 1для aa, и 0для ar, agи ab.

Допустимые диапазоны параметров: [-2.0, 2.0].

pc

Установите режим сохранения цвета. Принятые значения:

'none'

Отключите сохранение цвета, это значение по умолчанию.

'lum'

Сохраняйте яркость.

'max'

Сохраните максимальное значение триплета RGB.

'avg'

Сохранить среднее значение триплета RGB.

'sum'

Сохранить суммарное значение триплета RGB.

'nrm'

Сохранить нормализованное значение триплета RGB.

'pwr'

Сохранение значения мощности триплета RGB.

pa

Установите количество сохраняемого цвета при смене цветов. Допустимый диапазон от [0.0, 1.0]. Значение по умолчанию 0.0, поэтому отключено.

11.30.1 Примеры

  • Преобразование источника в оттенки серого:
    colorchannelmixer=.3:.4:.3:0:.3:.4:.3:0:.3:.4:.3
    
  • Имитация тонов сепии:
    colorchannelmixer=.393:.769:.189:0:.349:.686:.168:0:.272:.534:.131
    

11.30.2 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.31 colorize

Наложение сплошного цвета на видеопоток.

Фильтр принимает следующие параметры:

hue

Установите оттенок цвета. Допустимый диапазон — от 0 до 360. Значение по умолчанию — 0.

saturation

Установите насыщенность цвета. Допустимый диапазон — от 0 до 1. Значение по умолчанию — 0,5.

lightness

Установите яркость цвета. Допустимый диапазон — от 0 до 1. Значение по умолчанию — 0,5.

mix

Установите смесь исходной яркости. По умолчанию установлено значение 1.0. Допустимый диапазон от 0,0 до 1,0.

11.31.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.32 colorkey

Цветовая манипуляция цветового пространства RGB. Этот фильтр работает с кадрами 8-битного формата RGB, устанавливая альфа-компонент каждого пикселя, попадающего в радиус сходства ключевого цвета, на 0. Значение альфа-канала для пикселей вне радиуса подобия зависит от значения параметра наложения.

Фильтр принимает следующие параметры:

color

Установите цвет, для которого альфа будет установлена ​​на 0 (полная прозрачность). См. раздел (ffmpeg-utils) «Цвет» в руководстве по ffmpeg-utils . Значение по умолчанию black.

similarity

Установите радиус от ключевого цвета, в пределах которого другие цвета также имеют полную прозрачность. Вычисленное расстояние связано с дробной единицей расстояния в трехмерном пространстве между значениями RGB ключевого цвета и цветом пикселя. Диапазон от 0,01 до 1,0. 0,01 соответствует очень маленькому радиусу вокруг точного ключевого цвета, а 1,0 соответствует всему. Значение по умолчанию 0.01.

blend

Установите, как вычисляется альфа-значение для пикселей, выходящих за пределы радиуса подобия. 0.0 делает пиксели либо полностью прозрачными, либо полностью непрозрачными. Более высокие значения приводят к полупрозрачным пикселям, при этом прозрачность тем больше, чем больше цвет пикселя похож на ключевой цвет. Диапазон от 0,0 до 1,0. Значение по умолчанию 0.0.

11.32.1 Примеры

  • Сделайте каждый зеленый пиксель во входном изображении прозрачным:
    ffmpeg -i input.png -vf colorkey=green out.png
    
  • Наложение видео с зеленым экраном поверх статического фонового изображения.
    ffmpeg -i background.png -i video.mp4 -filter_complex "[1:v]colorkey=0x3BBD1E:0.3:0.2[ckout];[0:v][ckout]overlay[out]" -map "[out]" output.flv
    

11.32.2 Команды

Этот фильтр поддерживает те же команды , что и параметры. Команда принимает тот же синтаксис соответствующей опции.

Если указанное выражение недействительно, оно сохраняется в своем текущем значении.

11.33 colorhold

Удалите всю информацию о цвете для всех цветов RGB, кроме определенного.

Фильтр принимает следующие параметры:

color

Цвет, который нельзя заменить нейтральным серым.

similarity

Процент сходства с вышеуказанным цветом. 0.01 соответствует только точному цвету ключа, а 1.0 соответствует всему.

blend

Процент смеси. 0.0 делает пиксели полностью серыми. Чем выше значение, тем лучше сохраняется цвет.

11.33.1 Команды

Этот фильтр поддерживает те же команды , что и параметры. Команда принимает тот же синтаксис соответствующей опции.

Если указанное выражение недействительно, оно сохраняется в своем текущем значении.

11.34 colorlevels

Настройте кадры видеовхода с помощью уровней.

Фильтр принимает следующие параметры:

rimin
gimin
bimin
aimin

Отрегулируйте красную, зеленую, синюю и альфа-входную точку черного. Допустимые диапазоны параметров: [-1.0, 1.0]. Значения по умолчанию 0.

rimax
gimax
bimax
aimax

Отрегулируйте красную, зеленую, синюю и альфа-входную точку белого. Допустимые диапазоны параметров: [-1.0, 1.0]. Значения по умолчанию 1.

Уровни ввода используются для осветления бликов (яркие тона), затемнения теней (темные тона), изменения баланса ярких и темных тонов.

romin
gomin
bomin
aomin

Отрегулируйте красную, зеленую, синюю и альфа-выходную точку черного. Допустимые диапазоны параметров: [0, 1.0]. Значения по умолчанию 0.

romax
gomax
bomax
aomax

Отрегулируйте красную, зеленую, синюю и альфа-белую точку вывода. Допустимые диапазоны параметров: [0, 1.0]. Значения по умолчанию 1.

Выходные уровни позволяют вручную выбрать ограниченный диапазон выходных уровней.

preserve

Установите режим сохранения цвета. Принятые значения:

'none'

Отключите сохранение цвета, это значение по умолчанию.

'lum'

Сохраняйте яркость.

'max'

Сохраните максимальное значение триплета RGB.

'avg'

Сохранить среднее значение триплета RGB.

'sum'

Сохранить суммарное значение триплета RGB.

'nrm'

Сохранить нормализованное значение триплета RGB.

'pwr'

Сохранение значения мощности триплета RGB.

11.34.1 Примеры

  • Сделайте видеовыход темнее:
    colorlevels=rimin=0.058:gimin=0.058:bimin=0.058
    
  • Увеличить контраст:
    colorlevels=rimin=0.039:gimin=0.039:bimin=0.039:rimax=0.96:gimax=0.96:bimax=0.96
    
  • Сделайте видеовыход светлее:
    colorlevels=rimax=0.902:gimax=0.902:bimax=0.902
    
  • Увеличить яркость:
    colorlevels=romin=0.5:gomin=0.5:bomin=0.5
    

11.34.2 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.35 colormap

Применение пользовательских цветовых карт к видеопотоку.

Для этого фильтра требуется три входных видеопотока. Первый поток — это видеопоток, который будет отфильтрован. Второй и третий видеопоток задают цветовые патчи для сопоставления исходного цвета с целевым цветом.

Фильтр принимает следующие параметры:

patch_size

Установите размер патча исходного и целевого видеопотока в пикселях.

nb_patches

Установите максимальное количество используемых патчей из исходного и целевого видеопотока. Значение по умолчанию — количество патчей, доступных в дополнительных видеопотоках. Максимально допустимое количество патчей 64.

type

Установите настройки, используемые для целевых цветов. Можно relativeили absolute. По умолчанию есть absolute.

kernel

Установите ядро, используемое для измерения цветовых различий между отображаемыми цветами.

Принятые значения:

'euclidean'
'weuclidean'

Значение по умолчанию euclidean.

11.36 colormatrix

Преобразование цветовой матрицы.

Фильтр принимает следующие параметры:

src
dst

Укажите исходную и конечную цветовую матрицу. Оба значения должны быть указаны.

Принятые значения:

'bt709'

БТ.709

'fcc'

ФКК

'bt601'

БТ.601

'bt470'

БТ.470

'bt470bg'

БТ.470БГ

'smpte170m'

СМПТЭ-170М

'smpte240m'

СМПТЭ-240М

'bt2020'

БТ.2020

Например, чтобы преобразовать BT.601 в SMPTE-240M, используйте команду:

colormatrix=bt601:smpte240m

11.37 colorspace

Преобразование цветового пространства, передача характеристик или основных цветов. Входное видео должно иметь четный размер.

Фильтр принимает следующие параметры:

all

Укажите сразу все свойства цвета.

Принятые значения:

'bt470m'

БТ.470М

'bt470bg'

БТ.470БГ

'bt601-6-525'

БТ.601-6 525

'bt601-6-625'

БТ.601-6 625

'bt709'

БТ.709

'smpte170m'

СМПТЭ-170М

'smpte240m'

СМПТЭ-240М

'bt2020'

БТ.2020

space

Укажите выходное цветовое пространство.

Принятые значения:

'bt709'

БТ.709

'fcc'

ФКК

'bt470bg'

BT.470BG или BT.601-6 625

'smpte170m'

СМПТЭ-170М или БТ.601-6 525

'smpte240m'

СМПТЭ-240М

'ycgco'

YCgCo

'bt2020ncl'

BT.2020 с непостоянной яркостью

trc

Задайте выходные передаточные характеристики.

Принятые значения:

'bt709'

БТ.709

'bt470m'

БТ.470М

'bt470bg'

БТ.470БГ

'gamma22'

Постоянная гамма 2,2

'gamma28'

Постоянная гамма 2,8

'smpte170m'

СМПТЭ-170М, ВТ.601-6 625 или ВТ.601-6 525

'smpte240m'

СМПТЭ-240М

'srgb'

СРГБ

'iec61966-2-1'

iec61966-2-1

'iec61966-2-4'

iec61966-2-4

'xvycc'

xvycc

'bt2020-10'

BT.2020 для 10-битного контента

'bt2020-12'

BT.2020 для 12-битного контента

primaries

Укажите основные цвета выходного цвета.

Принятые значения:

'bt709'

БТ.709

'bt470m'

БТ.470М

'bt470bg'

BT.470BG или BT.601-6 625

'smpte170m'

СМПТЭ-170М или БТ.601-6 525

'smpte240m'

СМПТЭ-240М

'film'

фильм

'smpte431'

СМПТЕ-431

'smpte432'

СМПТЕ-432

'bt2020'

БТ.2020

'jedec-p22'

Люминофоры JEDEC P22

range

Укажите выходной цветовой диапазон.

Принятые значения:

'tv'

ТВ (ограниченный) диапазон

'mpeg'

MPEG (ограниченный) диапазон

'pc'

ПК (полный) ассортимент

'jpeg'

JPEG (полный) диапазон

format

Укажите формат выходного цвета.

Принятые значения:

'yuv420p'

YUV 4:2:0 планарный 8-бит

'yuv420p10'

YUV 4:2:0 планарный 10 бит

'yuv420p12'

YUV 4:2:0 планарный 12-бит

'yuv422p'

YUV 4:2:2 планарный 8-бит

'yuv422p10'

YUV 4:2:2 планарный 10-бит

'yuv422p12'

YUV 4:2:2 планарный 12-бит

'yuv444p'

YUV 4:4:4 планарный 8-битный

'yuv444p10'

YUV 4:4:4 планарный 10-битный

'yuv444p12'

YUV 4:4:4 планарный 12-бит

fast

Сделайте быстрое преобразование, которое пропускает гамма/основную коррекцию. Это потребует значительно меньше ресурсов процессора, но будет математически неправильным. Чтобы получить вывод, совместимый с результатом, полученным фильтром цветовой матрицы, используйте fast=1.

dither

Укажите режим дизеринга.

Принятые значения:

'none'

Нет дизеринга

'fsb'

Дизеринг Флойда-Стейнберга

wpadapt

Режим адаптации точки белого.

Принятые значения:

'bradford'

Адаптация Брэдфорда уайтпойнта

'vonkries'

адаптация белой точки фон Криса

'identity'

идентичность адаптации точки белого (т. е. без адаптации точки белого)

iall

Переопределить все входные свойства сразу. Те же допустимые значения, что и для всех .

ispace

Переопределить входное цветовое пространство. Те же допустимые значения, что и пробел .

iprimaries

Переопределить основные цвета ввода. Те же допустимые значения, что и для основных .

itrc

Переопределить входные передаточные характеристики. Те же допустимые значения, что и trc .

irange

Переопределить диапазон цветов ввода. Те же допустимые значения, что и для range .

Фильтр преобразует характеристики передачи, цветовое пространство и основные цвета в указанные пользователем значения. Выходное значение, если оно не указано, устанавливается на значение по умолчанию на основе свойства «все». Если это свойство также не указано, фильтр зарегистрирует ошибку. Выходной цветовой диапазон и формат по умолчанию имеют то же значение, что и входной цветовой диапазон и формат. Входные характеристики передачи, цветовое пространство, основные цвета и цветовой диапазон должны быть установлены для входных данных. Если какой-либо из них отсутствует, фильтр зарегистрирует ошибку, и преобразование не произойдет.

Например, чтобы преобразовать ввод в SMPTE-240M, используйте команду:

colorspace=smpte240m

11.38 colortemperature

Отрегулируйте цветовую температуру в видео, чтобы имитировать изменения цветовой температуры окружающей среды.

Фильтр принимает следующие параметры:

temperature

Установите температуру в Кельвинах. Допустимый диапазон от 1000 до 40000. Значение по умолчанию 6500 К.

mix

Установите микширование с отфильтрованным выходом. Допустимый диапазон — от 0 до 1. Значение по умолчанию — 1.

pl

Установите степень сохранения легкости. Допустимый диапазон — от 0 до 1. Значение по умолчанию — 0.

11.38.1 Команды

Этот фильтр поддерживает те же команды , что и параметры.

11.39 convolution

Применяйте свертки 3x3, 5x5, 7x7 или горизонтально/вертикально до 49 элементов.

Фильтр принимает следующие параметры:

0m
1m
2m
3m

Установите матрицу для каждой плоскости. Матрица представляет собой последовательность из 9, 25 или 49 целых чисел со знаком в squareрежиме и от 1 до 49 нечетных целых чисел со знаком в rowрежиме.

0rdiv
1rdiv
2rdiv
3rdiv

Установите множитель для расчетного значения для каждой плоскости. Если не установлено или равно 0, это будет сумма всех элементов матрицы.

0bias
1bias
2bias
3bias

Установите смещение для каждой плоскости. Это значение добавляется к результату умножения. Полезно для того, чтобы сделать общее изображение ярче или темнее. По умолчанию 0,0.

0mode
1mode
2mode
3mode

Установите матричный режим для каждой плоскости. Можно или . square_ Значение по умолчанию . rowcolumnsquare

11.39.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.39.2 Примеры

  • Применить резкость:
    convolution="0 -1 0 -1 5 -1 0 -1 0:0 -1 0 -1 5 -1 0 -1 0:0 -1 0 -1 5 -1 0 -1 0:0 -1 0 -1 5 -1 0 -1 0"
    
  • Применить размытие:
    convolution="1 1 1 1 1 1 1 1 1:1 1 1 1 1 1 1 1 1:1 1 1 1 1 1 1 1 1:1 1 1 1 1 1 1 1 1:1/9:1/9:1/9:1/9"
    
  • Применить усиление краев:
    convolution="0 0 0 -1 1 0 0 0 0:0 0 0 -1 1 0 0 0 0:0 0 0 -1 1 0 0 0 0:0 0 0 -1 1 0 0 0 0:5:1:1:1:0:128:128:128"
    
  • Применить обнаружение края:
    convolution="0 1 0 1 -4 1 0 1 0:0 1 0 1 -4 1 0 1 0:0 1 0 1 -4 1 0 1 0:0 1 0 1 -4 1 0 1 0:5:5:5:1:0:128:128:128"
    
  • Примените лапласианский детектор границ, который включает диагонали:
    convolution="1 1 1 1 -8 1 1 1 1:1 1 1 1 -8 1 1 1 1:1 1 1 1 -8 1 1 1 1:1 1 1 1 -8 1 1 1 1:5:5:5:1:0:128:128:0"
    
  • Применить тиснение:
    convolution="-2 -1 0 -1 1 1 0 1 2:-2 -1 0 -1 1 1 0 1 2:-2 -1 0 -1 1 1 0 1 2:-2 -1 0 -1 1 1 0 1 2"
    

11.40 convolve

Примените 2D-свертку видеопотока в частотной области, используя второй поток в качестве импульса.

Фильтр принимает следующие параметры:

planes

Установите, какие плоскости обрабатывать.

impulse

Установить, какие импульсные видеокадры будут обрабатываться, можно first или all. Значение по умолчанию all.

Фильтр convolveтакже поддерживает параметры синхронизации кадров .

11.41 copy

Скопируйте источник входного видео без изменений на выход. В основном это полезно для целей тестирования.

11.42 coreimage

Фильтрация видео на графическом процессоре с использованием Apple CoreImage API на OSX.

Аппаратное ускорение основано на контексте OpenGL. Обычно это означает, что он обрабатывается видеооборудованием. Однако существуют программные реализации OpenGL, что означает отсутствие гарантии аппаратной обработки. Это зависит от соответствующей OSX.

Apple предлагает множество фильтров и генераторов изображений с широким набором опций. На фильтр нужно ссылаться по его имени вместе с его параметрами.

Фильтр coreimage принимает следующие параметры:

list_filters

Перечислите все доступные фильтры и генераторы вместе со всеми их соответствующими параметрами, а также возможные минимальные и максимальные значения вместе со значениями по умолчанию.

list_filters=true
filter

Укажите все фильтры по их имени и параметрам. Используется list_filtersдля определения всех допустимых имен и параметров фильтров. Числовые параметры задаются значением с плавающей запятой и автоматически фиксируются в соответствующем диапазоне значений. Параметры вектора и цвета должны быть указаны списком значений с плавающей запятой, разделенных пробелами. Необходимо выполнить экранирование персонажа. Доступно специальное имя параметра defaultдля использования параметров по умолчанию для фильтра.

Необходимо указать один defaultили хотя бы один из параметров фильтра. Все пропущенные параметры используются со значениями по умолчанию. Синтаксис строки фильтра следующий:

filter=<NAME>@<OPTION>=<VALUE>[@<OPTION>=<VALUE>][@...][#<NAME>@<OPTION>=<VALUE>[@<OPTION>=<VALUE>][@...]][#...]
output_rect

Задайте прямоугольник, где выходные данные цепочки фильтров копируются во входное изображение. Он задается списком значений с плавающей запятой, разделенных пробелами:

output_rect=x\ y\ width\ height

Если не указано, выходной прямоугольник равен размерам входного изображения. Выходной прямоугольник автоматически обрезается по границам входного изображения. Отрицательные значения действительны для каждого компонента.

output_rect=25\ 25\ 100\ 100

Несколько фильтров могут быть объединены в цепочку для последовательной обработки без передачи GPU-HOST, что позволяет быстро обрабатывать сложные цепочки фильтров. В настоящее время поддерживаются только фильтры с нулем (генераторы) или ровно одним (фильтры) входным изображением и одним выходным изображением. Кроме того, переходные фильтры еще нельзя использовать по назначению.

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

Для генераторов изображений размер выходного изображения определяется предыдущим выходным изображением цепочки фильтров или входным изображением всей цепочки фильтров соответственно. Генераторы не используют информацию о пикселях этого изображения для создания своего вывода. Однако сгенерированный вывод смешивается с этим изображением, что приводит к частичному или полному покрытию выходного изображения.

Видеоисточник coreimagesrc можно использовать для генерации входных изображений, которые напрямую подаются в цепочку фильтров. При его использовании предоставление входных изображений другим источником видео или входного видео не требуется.

11.42.1 Примеры

  • Список всех доступных фильтров:
    coreimage=list_filters=true
    
  • Используйте фильтр CIBoxBlur с параметрами по умолчанию, чтобы размыть изображение:
    coreimage=filter=CIBoxBlur@default
    
  • Используйте цепочку фильтров с CISepiaTone со значениями по умолчанию и CIVignetteEffect с центром 100x100 и радиусом 50 пикселей:
    coreimage=filter=CIBoxBlur@default#CIVignetteEffect@inputCenter=100\ 100@inputRadius=50
    
  • Используйте nullsrc и CIQRCodeGenerator для создания QR-кода для домашней страницы FFmpeg в виде полной и экранированной командной строки для стандартной оболочки Apple bash:
    ffmpeg -f lavfi -i nullsrc=s=100x100,coreimage=filter=CIQRCodeGenerator@inputMessage=https\\\\\://FFmpeg.org/@inputCorrectionLevel=H -frames:v 1 QRCode.png
    

11.43 cover_rect

Накройте прямоугольный предмет

Он принимает следующие параметры:

cover

Путь к файлу необязательного изображения обложки должен быть в формате yuv420.

mode

Установить режим покрытия.

Он принимает следующие значения:

'cover'

накройте его прилагаемым изображением

'blur'

покрыть его, интерполируя окружающие пиксели

Значение по умолчанию blur.

11.43.1 Примеры

  • Покройте прямоугольный объект предоставленным изображением данного видео, используя ffmpeg:
    ffmpeg -i file.ts -vf find_rect=newref.pgm,cover_rect=cover.jpg:mode=cover new.mkv
    

11.44 crop

Обрежьте входное видео до заданных размеров.

Он принимает следующие параметры:

w, out_w

Ширина выходного видео. По умолчанию это iw. Это выражение оценивается только один раз во время настройки фильтра или когда 'w' или же 'out_w' отправляется команда.

h, out_h

Высота выходного видео. По умолчанию это ih. Это выражение оценивается только один раз во время настройки фильтра или когда 'h' или же 'out_h' отправляется команда.

x

Горизонтальное положение во входном видео левого края выходного видео. По умолчанию это (in_w-out_w)/2. Это выражение оценивается для каждого кадра.

y

Вертикальное положение во входном видео верхнего края выходного видео. По умолчанию это (in_h-out_h)/2. Это выражение оценивается для каждого кадра.

keep_aspect

Если установлено значение 1, соотношение сторон выходного дисплея будет таким же, как и входное, за счет изменения соотношения сторон выходного образца. По умолчанию он равен 0.

exact

Включите точную обрезку. Если этот параметр включен, субдискретизированные видео будут обрезаны точно по ширине/высоте/x/y, как указано, и не будут округлены до ближайшего меньшего значения. По умолчанию он равен 0.

Параметры out_w, out_h, x, yпредставляют собой выражения, содержащие следующие константы:

x
y

Вычисленные значения для xи y. Они оцениваются для каждого нового кадра.

in_w
in_h

Вводимая ширина и высота.

iw
ih

Это такие же, как in_wи in_h.

out_w
out_h

Выходная (обрезанная) ширина и высота.

ow
oh

Это такие же, как out_wи out_h.

a

то же, что iw/ih

sar

соотношение сторон входного образца

dar

входное соотношение сторон дисплея, оно такое же, как ( iw/ ih) *sar

hsub
vsub

значения подвыборки цветности по горизонтали и вертикали. Например, для формата пикселей «yuv422p» hsubравно 2 и vsubравно 1.

n

Номер входного кадра, начиная с 0.

pos

позиция в файле входного кадра, NAN, если неизвестно

t

Отметка времени, выраженная в секундах. Это NAN, если отметка времени ввода неизвестна.

Выражение для out_wможет зависеть от значения out_h, а выражение для out_hможет зависеть от out_w, но они не могут зависеть от xи y, так как xи yвычисляются после out_wи out_h.

Параметры xи yзадают выражения для положения верхнего левого угла выходной (необрезанной) области. Они оцениваются для каждого кадра. Если оцениваемое значение недействительно, оно округляется до ближайшего допустимого значения.

Выражение для xможет зависеть от y, а выражение для yможет зависеть от x.

11.44.1 Примеры

  • Область обрезки размером 100x100 в позиции (12,34).
    crop=100:100:12:34
    

    При использовании именованных опций приведенный выше пример становится таким:

    crop=w=100:h=100:x=12:y=34
    
  • Обрежьте центральную область ввода размером 100x100:
    crop=100:100
    
  • Обрежьте центральную область ввода размером 2/3 входного видео:
    crop=2/3*in_w:2/3*in_h
    
  • Обрежьте центральный квадрат входного видео:
    crop=out_w=in_h
    crop=in_h
    
  • Ограничьте прямоугольник левым верхним углом, расположенным в позиции 100:100, и правым нижним углом, соответствующим правому нижнему углу входного изображения.
    crop=in_w-100:in_h-100:100:100
    
  • Обрезать 10 пикселей от левой и правой границ и 20 пикселей от верхней и нижней границ
    crop=in_w-2*10:in_h-2*20
    
  • Оставьте только нижнюю правую четверть входного изображения:
    crop=in_w/2:in_h/2:in_w/2:in_h/2
    
  • Высота обрезки для получения греческой гармонии:
    crop=in_w:1/PHI*in_w
    
  • Примените эффект дрожи:
    crop=in_w/2:in_h/2:(in_w-out_w)/2+((in_w-out_w)/2)*sin(n/10):(in_h-out_h)/2 +((in_h-out_h)/2)*sin(n/7)
    
  • Примените неустойчивый эффект камеры в зависимости от метки времени:
    crop=in_w/2:in_h/2:(in_w-out_w)/2+((in_w-out_w)/2)*sin(t*10):(in_h-out_h)/2 +((in_h-out_h)/2)*sin(t*13)"
    
  • Установите x в зависимости от значения y:
    crop=in_w/2:in_h/2:y:10+10*sin(n/10)
    

11.44.2 Команды

Этот фильтр поддерживает следующие команды:

w, out_w
h, out_h
x
y

Установите ширину/высоту выходного видео и положение по горизонтали/вертикали во входном видео. Команда принимает тот же синтаксис соответствующей опции.

Если указанное выражение недействительно, оно сохраняется в своем текущем значении.

11.45 cropdetect

Автоматическое определение размера обрезки.

Он рассчитывает необходимые параметры обрезки и распечатывает рекомендуемые параметры через систему протоколирования. Обнаруженные размеры соответствуют нечерной области входного видео.

Он принимает следующие параметры:

limit

Установите более высокий порог значения черного, который можно указать от нуля (0) до всего (255 для 8-битных форматов). Значение интенсивности, превышающее установленное значение, считается нечерным. По умолчанию оно равно 24. Вы также можете указать значение от 0,0 до 1,0, которое будет масштабироваться в зависимости от разрядности формата пикселей.

round

Значение, на которое должны делиться ширина/высота. По умолчанию оно равно 16. Смещение автоматически настраивается по центру видео. Используйте 2, чтобы получить только четные размеры (необходимо для видео 4:2:2). 16 лучше всего подходит для кодирования большинства видеокодеков.

skip

Установите количество начальных кадров, для которых пропускается оценка. По умолчанию 2. Диапазон значений от 0 до INT_MAX.

reset_count, reset

Установите счетчик, который определяет, через какое количество кадров кадрирование обнулит ранее обнаруженную наибольшую область видео и начнет заново, чтобы определить текущую оптимальную область обрезки. Значение по умолчанию — 0.

Это может быть полезно, когда логотипы каналов искажают область видео. 0 указывает «никогда не сбрасывать» и возвращает наибольшую область, обнаруженную во время воспроизведения.

11.46 cue

Отложить фильтрацию видео до заданной временной метки настенных часов. Сначала фильтр проходитprerollколичество кадров, то он буферизуется максимум bufferколичество кадров и ждет сигнала. После достижения сигнала он пересылает буферизованные кадры, а также любые последующие кадры, поступающие на его вход.

Фильтр можно использовать для синхронизации вывода нескольких процессов ffmpeg для устройств вывода в реальном времени, таких как Decklink. Помещая задержку в цепочку фильтрации и предварительно буферизируя кадры, процесс может передавать данные на вывод почти сразу после достижения целевой временной метки настенных часов.

Идеальная точность кадров не может быть гарантирована, но в некоторых случаях результат достаточен.

cue

Отметка времени реплики, выраженная в отметке времени UNIX в микросекундах. По умолчанию 0.

preroll

Продолжительность контента для передачи в качестве преролла, выраженная в секундах. По умолчанию 0.

buffer

Максимальная продолжительность содержимого для буферизации перед ожиданием сигнала, выраженная в секундах. По умолчанию 0.

11.47 curves

Примените корректировку цвета с помощью кривых.

Этот фильтр похож на инструменты кривых Adobe Photoshop и GIMP. Каждый компонент (красный, зеленый и синий) имеет свои значения, определяемые Nключевыми точками, связанными друг с другом с помощью плавной кривой. По оси X представлены значения пикселей из входного кадра, а по оси Y — новые значения пикселей, которые будут установлены для выходного кадра.

По умолчанию кривая компонента определяется двумя точками (0;0)и (1;1). Это создает прямую линию, в которой каждое исходное значение пикселя «настраивается» на свое собственное значение, что означает отсутствие изменений в изображении.

Фильтр позволяет переопределить эти две точки и добавить еще несколько. Новая кривая (использующая естественную интерполяцию кубическим сплайном) будет определена так, чтобы плавно проходить через все эти новые координаты. Новые определенные точки должны строго увеличиваться по оси x, а их значения xи yдолжны находиться в [0;1]интервале. Если вычисленные кривые выходят за пределы векторных пространств, значения будут соответствующим образом обрезаны.

Фильтр принимает следующие параметры:

preset

Выберите один из доступных наборов цветов. Эту опцию можно использовать в дополнение кr,g,bпараметры; в этом случае более поздние параметры имеют приоритет над предустановленными значениями. Доступные пресеты:

'none'
'color_negative'
'cross_process'
'darker'
'increase_contrast'
'lighter'
'linear_contrast'
'medium_contrast'
'negative'
'strong_contrast'
'vintage'

Значение по умолчанию none.

master, m

Установите главные ключевые точки. Эти точки будут определять отображение второго прохода. Иногда его называют отображением «яркости» или «значения». Его можно использовать с r,g,bили жеallпоскольку он действует как LUT постобработки.

red, r

Установите ключевые точки для красного компонента.

green, g

Установите ключевые точки для зеленого компонента.

blue, b

Установите ключевые точки для синего компонента.

all

Установите ключевые точки для всех компонентов (не включая мастер). Может использоваться в дополнение к другим параметрам компонентов ключевых точек. В этом случае неустановленный компонент(ы) будет резервным на этом allпараметр.

psfile

Укажите файл кривых Photoshop ( .acv), из которого нужно импортировать настройки.

plot

Сохраните скрипт кривых Gnuplot в указанный файл.

Чтобы избежать некоторых конфликтов синтаксиса графа фильтров, каждый список ключевых точек должен быть определен с использованием следующего синтаксиса: x0/y0 x1/y1 x2/y2 ....

11.47.1 Команды

Этот фильтр поддерживает те же команды , что и параметры.

11.47.2 Примеры

  • Немного увеличьте средний уровень синего:
    curves=blue='0/0 0.5/0.58 1/1'
    
  • Винтажный эффект:
    curves=r='0/0.11 .42/.51 1/0.95':g='0/0 0.50/0.48 1/1':b='0/0.22 .49/.44 1/0.8'
    

    Здесь мы получаем следующие координаты для каждой компоненты:

    red

    (0;0.11) (0.42;0.51) (1;0.95)

    green

    (0;0) (0.50;0.48) (1;1)

    blue

    (0;0.22) (0.49;0.44) (1;0.80)

  • Предыдущий пример также может быть достигнут с помощью связанного встроенного пресета:
    curves=preset=vintage
    
  • Или просто:
    curves=vintage
    
  • Используйте предустановку Photoshop и переопределите точки зеленого компонента:
    curves=psfile='MyCurvesPresets/purple.acv':green='0/0 0.45/0.53 1/1'
    
  • Проверьте кривые cross_processпрофиля, используя ffmpeg и gnuplot:
    ffmpeg -f lavfi -i color -vf curves=cross_process:plot=/tmp/curves.plt -frames:v 1 -f null -
    gnuplot -p /tmp/curves.plt
    

11.48 datascope

Фильтр анализа видеоданных.

Этот фильтр показывает шестнадцатеричные значения пикселей части видео.

Фильтр принимает следующие параметры:

size, s

Установите размер выходного видео.

x

Установите смещение x от того места, где нужно выбрать пиксели.

y

Установите смещение по оси y, откуда следует выбирать пиксели.

mode

Установить режим прицела, может быть одним из следующих:

'mono'

Нарисуйте шестнадцатеричные значения пикселей белым цветом на черном фоне.

'color'

Нарисуйте шестнадцатеричные значения пикселей с цветом входного видеопикселя на черном фоне.

'color2'

Нарисуйте шестнадцатеричные значения пикселей на цветном фоне, выбранном из входного видео, цвет текста выбран таким образом, чтобы он всегда был виден.

axis

Нарисуйте номера строк и столбцов слева и сверху видео.

opacity

Установите прозрачность фона.

format

Установите формат отображаемого числа. Можно hexили dec. Значение по умолчанию hex.

components

Установите пиксельные компоненты для отображения. По умолчанию отображаются все компоненты пикселей.

11.48.1 Команды

Этот фильтр поддерживает те же команды , что и параметры, за исключением sizeпараметра.

11.49 dblur

Примените фильтр направленного размытия.

Фильтр принимает следующие параметры:

angle

Установить угол направленного размытия. Значение по умолчанию 45.

radius

Установить радиус направленного размытия. Значение по умолчанию 5.

planes

Установите, какие самолеты фильтровать. По умолчанию фильтруются все плоскости.

11.49.1 Команды

Этот фильтр поддерживает те же команды , что и параметры. Команда принимает тот же синтаксис соответствующей опции.

Если указанное выражение недействительно, оно сохраняется в своем текущем значении.

11.50 dctdnoiz

Кадры шумоподавления с помощью 2D DCT (фильтрация в частотной области).

Этот фильтр не предназначен для реального времени.

Фильтр принимает следующие параметры:

sigma, s

Установите постоянную сигма шума.

Это sigmaопределяет жесткий порог 3 * sigma; каждый коэффициент DCT (абсолютное значение) ниже этого порога отбрасывается.

Если вам нужна более продвинутая фильтрация, см.expr.

Значение по умолчанию 0.

overlap

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

Если значение перекрытия не позволяет обработать всю ширину или высоту ввода, будет отображено предупреждение, и соответствующие границы не будут удалены из шума.

Значение по умолчанию равно blocksize-1, что является наилучшей возможной настройкой.

expr, e

Установите выражение коэффициента коэффициента.

Для каждого коэффициента блока DCT это выражение будет оцениваться как значение множителя для коэффициента.

Если этот параметр установлен,sigmaопция будет проигнорирована.

Доступ к абсолютному значению коэффициента можно получить через c переменную.

n

Установите blocksizeиспользование количества битов. определяет , то есть ширину и высоту обрабатываемых блоков. 1<<nblocksize

Значение по умолчанию 3(8x8) и может быть увеличено до 416x16 blocksize. Обратите внимание, что изменение этого параметра сильно влияет на скорость обработки. Кроме того, больший размер блока не обязательно означает лучшее шумоподавление.

11.50.1 Примеры

Примените шумоподавление с помощьюsigmaиз 4.5:

dctdnoiz=4.5

Та же операция может быть выполнена с использованием системы выражений:

dctdnoiz=e='gte(c, 4.5*3)'

Насильственное шумоподавление с использованием блока размером 16x16:

dctdnoiz=15:n=4

11.51 deband

Удалите артефакты полосатости из входного видео. Он работает, заменяя полосатые пиксели средним значением ссылочных пикселей.

Фильтр принимает следующие параметры:

1thr
2thr
3thr
4thr

Установите порог обнаружения полос для каждой плоскости. По умолчанию 0,02. Допустимый диапазон: от 0,00003 до 0,5. Если разница между текущим пикселем и эталонным пикселем меньше порогового значения, он будет считаться полосатым.

range, r

Диапазон обнаружения полос в пикселях. По умолчанию 16. Если положительное, будет использоваться случайное число в диапазоне от 0 до установленного значения. Если отрицательное, будет использоваться точное абсолютное значение. Диапазон определяет квадрат из четырех пикселей вокруг текущего пикселя.

direction, d

Установите направление в радианах, с которым будут сравниваться четыре пикселя. Если положительный, будет выбрано случайное направление от 0 до заданного направления. Если отрицательное, будет выбрано точное абсолютное значение. Например, направление 0, -PI или -2*PI в радианах будет выбирать только пиксели в одной строке, а -PI/2 будет выбирать только пиксели в одном столбце.

blur, b

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

coupling, c

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

11.51.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.52 deblock

Удалите блокирующие артефакты из входного видео.

Фильтр принимает следующие параметры:

filter

Установите тип фильтра, может быть weakили strong. Значение по умолчанию strong. Это определяет, какой тип деблокировки применяется.

block

Установить размер блока, допустимый диапазон от 4 до 512. По умолчанию 8.

alpha
beta
gamma
delta

Установите пороги обнаружения блокировки. Допустимый диапазон от 0 до 1. По умолчанию: 0.098для alphaи 0.05для остальных. Использование более высокого порога дает большую силу деблокировки. Параметр alphaуправляет обнаружением порога на точном краю блока. Остальные параметры контролируют обнаружение порога рядом с краем. Каждый для нижнего/верхнего или левого/правого. Установка любого из них 0отключает деблокировку.

planes

Установите самолеты для фильтрации. По умолчанию фильтруются все доступные плоскости.

11.52.1 Примеры

  • Разблокируйте, используя слабый фильтр и размер блока 4 пикселя.
    deblock=filter=weak:block=4
    
  • Деблокировка с использованием сильного фильтра, размер блока 4 пикселя и настраиваемые пороги для деблокировки большего количества краев.
    deblock=filter=strong:block=4:alpha=0.12:beta=0.07:gamma=0.06:delta=0.05
    
  • Аналогично предыдущему, но отфильтруйте только первую плоскость.
    deblock=filter=strong:block=4:alpha=0.12:beta=0.07:gamma=0.06:delta=0.05:planes=1
    
  • Аналогично предыдущему, но отфильтруйте только вторую и третью плоскости.
    deblock=filter=strong:block=4:alpha=0.12:beta=0.07:gamma=0.06:delta=0.05:planes=6
    

11.52.2 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.53 decimate

Отбрасывайте повторяющиеся кадры через равные промежутки времени.

Фильтр принимает следующие параметры:

cycle

Установите количество кадров, из которых один будет удален. Установка этого Nзначения означает, что один кадр в каждом пакете Nкадров будет отброшен. Значение по умолчанию 5.

dupthresh

Установите порог обнаружения дубликатов. Если метрика различия для кадра меньше или равна этому значению, то он объявляется дубликатом. По умолчанию1.1

scthresh

Установите порог смены сцены. Значение по умолчанию 15.

blockx
blocky

Установите размер блоков осей x и y, используемых во время расчетов метрик. Блоки большего размера обеспечивают лучшее подавление шума, но хуже обнаруживают мелкие движения. Должна быть степень двойки. Значение по умолчанию 32.

ppsrc

Отметьте основной ввод как предварительно обработанный ввод и активируйте входной поток чистого источника. Это позволяет предварительно обрабатывать входные данные с помощью различных фильтров, чтобы облегчить расчет метрик, сохраняя при этом выбор кадра без потерь. Если установлено значение 1, первый поток предназначен для предварительно обработанного ввода, а второй поток — это чистый источник, из которого выбираются сохраненные кадры. Значение по умолчанию 0.

chroma

Установите, будет ли цветность учитываться при расчете показателей. Значение по умолчанию 1.

11.54 deconvolve

Примените 2D-деконволюцию видеопотока в частотной области, используя второй поток в качестве импульса.

Фильтр принимает следующие параметры:

planes

Установите, какие плоскости обрабатывать.

impulse

Установить, какие импульсные видеокадры будут обрабатываться, можно first или all. Значение по умолчанию all.

noise

Установить шум при делении. Значение по умолчанию 0.0000001. Полезно, когда ширина и высота не совпадают и не являются степенью 2, или если поток до свертки имел шум.

Фильтр deconvolveтакже поддерживает параметры синхронизации кадров .

11.55 dedot

Уменьшите перекрестную яркость (точка-ползание) и перекрестный цвет (радуга) из видео.

Он принимает следующие параметры:

m

Установить режим работы. Может быть комбинацией dotcrawlдля уменьшения перекрестной яркости и/или rainbowsдля уменьшения перекрестного цвета.

lt

Установите порог пространственной яркости. Более низкие значения увеличивают уменьшение перекрестной яркости.

tl

Установите допуск для временной яркости. Более высокие значения увеличивают уменьшение перекрестной яркости.

tc

Установите допуск для временного изменения цветности. Более высокие значения увеличивают уменьшение перекрестного цвета.

ct

Установите временной порог цветности. Более низкие значения увеличивают уменьшение перекрестного цвета.

11.56 deflate

Примените эффект раздувания к видео.

Этот фильтр заменяет пиксель локальным (3x3) средним значением, принимая во внимание только значения ниже пикселя.

Он принимает следующие параметры:

threshold0
threshold1
threshold2
threshold3

Ограничьте максимальное изменение для каждой плоскости, по умолчанию 65535. Если 0, плоскость останется неизменной.

11.56.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.57 deflicker

Удалите временные изменения яркости кадра.

Он принимает следующие параметры:

size, s

Установите размер фильтра скользящего среднего в кадрах. По умолчанию — 5. Допустимый диапазон — от 2 до 129.

mode, m

Установите режим усреднения, чтобы сгладить временные колебания яркости.

Доступные значения:

'am'

Среднее арифметическое

'gm'

Среднее геометрическое

'hm'

Гармоническое среднее

'qm'

квадратичное среднее

'cm'

Кубическое среднее

'pm'

Средняя мощность

'median'

медиана

bypass

На самом деле не изменяйте кадр. Полезно, когда нужны только метаданные.

11.58 dejudder

Удалите дрожание, вызванное частично чересстрочным телесиновым контентом.

Дрожание может быть введено, например, подтягивающим фильтром. Если исходным источником был частично телесинированный контент, выходной сигнал pullup,dejudder будет иметь переменную частоту кадров. Может измениться записанная частота кадров контейнера. Помимо этого изменения, этот фильтр не повлияет на видео с постоянной частотой кадров.

В этом фильтре доступна следующая опция:

cycle

Укажите длину окна, в котором дрожание повторяется.

Принимает любое целое число больше 1. Полезные значения:

'4'

Если оригинал был телесинирован с 24 до 30 кадров в секунду (Film to NTSC).

'5'

Если оригинал был телесинирован с 25 до 30 кадров в секунду (от PAL до NTSC).

'20'

Если смесь двух.

По умолчанию '4'.

11.59 delogo

Подавить логотип телеканала простой интерполяцией окружающих пикселей. Просто установите прямоугольник, закрывающий логотип, и наблюдайте, как он исчезает (а иногда появляется что-то еще более уродливое — ваш пробег может отличаться).

Он принимает следующие параметры:

x
y

Укажите координаты левого верхнего угла логотипа. Они должны быть указаны.

w
h

Укажите ширину и высоту логотипа для очистки. Они должны быть указаны.

show

При значении 1 на экране отображается зеленый прямоугольник для упрощения поиска нужных параметров x, y, wи h. Значение по умолчанию — 0.

Прямоугольник рисуется на самых внешних пикселях, которые будут (частично) заменены интерполированными значениями. Значения следующих пикселей непосредственно за пределами этого прямоугольника в каждом направлении будут использоваться для вычисления интерполированных значений пикселей внутри прямоугольника.

11.59.1 Примеры

  • Установите прямоугольник, покрывающий область с координатами верхнего левого угла 0,0 и размером 100x77:
    delogo=x=0:y=0:w=100:h=77
    

11.60 derain

Удалите дождь на входном изображении/видео, применив методы удаления на основе сверточных нейронных сетей. Поддерживаемые модели:

Обучение, а также сценарии генерации моделей представлены в репозитории по адресу https://github.com/XueweiMeng/derain_filter.git .

Файлы собственных моделей (.model) можно создавать из файлов моделей TensorFlow (.pb) с помощью tools/python/convert.py.

Фильтр принимает следующие параметры:

filter_type

Укажите, какой фильтр использовать. Эта опция принимает следующие значения:

'derain'

Дереновый фильтр. Чтобы провести фильтр дерен, вам нужно использовать модель дерен.

'dehaze'

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

Значение по умолчанию: 'derain'.

dnn_backend

Укажите, какой сервер DNN использовать для загрузки и выполнения модели. Эта опция принимает следующие значения:

'native'

Нативная реализация загрузки и выполнения DNN.

'tensorflow'

Бэкэнд TensorFlow. Чтобы включить этот бэкенд, вам необходимо установить библиотеку TensorFlow для C (см. https://www.tensorflow.org/install/lang_c ) и настроить FFmpeg с помощью --enable-libtensorflow

Значение по умолчанию: 'native'.

model

Задайте путь к файлу модели, указав сетевую архитектуру и ее параметры. Обратите внимание, что разные серверные части используют разные форматы файлов. TensorFlow и собственный бэкэнд могут загружать файлы только для своего формата.

Чтобы получить полную функциональность (например, асинхронное выполнение), используйте фильтр dnn_processing .

11.61 deshake

Попытаться исправить небольшие изменения горизонтального и/или вертикального смещения. Этот фильтр помогает устранить дрожание камеры при удерживании камеры в руках, ударах о штатив, движении в транспортном средстве и т. д.

Фильтр принимает следующие параметры:

x
y
w
h

Укажите прямоугольную область, в которой нужно ограничить поиск векторов движения. При желании поиск векторов движения можно ограничить прямоугольной областью кадра, определяемой его левым верхним углом, шириной и высотой. Эти параметры имеют то же значение, что и фильтр drawbox, который можно использовать для визуализации положения ограничительной рамки.

Это полезно, когда одновременное движение объектов в кадре можно спутать с движением камеры при поиске вектора движения.

Если для некоторых или всех x, yи wустановлено hзначение -1, то используется полный кадр. Это позволяет устанавливать более поздние параметры без указания ограничивающей рамки для поиска вектора движения.

По умолчанию - поиск по всему кадру.

rx
ry

Укажите максимальную степень перемещения по осям x и y в диапазоне 0–64 пикселей. По умолчанию 16.

edge

Укажите, как генерировать пиксели для заполнения пробелов на краю кадра. Доступные значения:

'blank, 0'

Заполните нули в пустых местах

'original, 1'

Исходное изображение в пустых местах

'clamp, 2'

Значение выдавленного края в пустых местах

'mirror, 3'

Зеркальный край в пустых местах

Значение по умолчанию: 'mirror'.

blocksize

Укажите размер блока для поиска движения. Диапазон 4-128 пикселей, по умолчанию 8.

contrast

Укажите порог контрастности для блоков. Будут учитываться только блоки с контрастом выше указанного (разница между самыми темными и самыми светлыми пикселями). Диапазон 1-255, по умолчанию 125.

search

Укажите стратегию поиска. Доступные значения:

'exhaustive, 0'

Установить исчерпывающий поиск

'less, 1'

Установите менее полный поиск.

Значение по умолчанию: 'exhaustive'.

filename

Если установлено, то подробный журнал поиска движения записывается в указанный файл.

11.62 despill

Удалите нежелательное загрязнение цветов переднего плана, вызванное отраженным цветом зеленого экрана или синего экрана.

Этот фильтр принимает следующие параметры:

type

Установите, какой тип очистки использовать.

mix

Установите способ создания карты разливов.

expand

Установите, сколько нужно избавиться от еще оставшегося разлива.

red

Контролирует количество красного цвета в зоне разлива.

green

Контролирует количество зелени в зоне разлива. Должно быть -1 для зеленого экрана.

blue

Контролирует количество синего в области разлива. Должно быть -1 для синего экрана.

brightness

Контролирует яркость области разлива, сохраняя цвета.

alpha

Измените альфу из сгенерированной карты разливов.

11.62.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.63 detelecine

Примените точную обратную операцию телесина. Для этого требуется предопределенный шаблон, указанный с помощью параметра шаблона, который должен быть таким же, как тот, который передается фильтру телесина.

Этот фильтр принимает следующие параметры:

first_field
'top, t'

сначала верхнее поле

'bottom, b'

сначала нижнее поле. Значение по умолчанию — top.

pattern

Строка чисел, представляющая шаблон раскрывающегося списка, который вы хотите применить. Значение по умолчанию равно 23.

start_frame

Число, представляющее положение первого кадра относительно шаблона телекино. Это должно быть использовано, если поток обрезан. Значение по умолчанию равно 0.

11.64 dilation

Примените эффект расширения к видео.

Этот фильтр заменяет пиксель локальным (3x3) максимумом.

Он принимает следующие параметры:

threshold0
threshold1
threshold2
threshold3

Ограничьте максимальное изменение для каждой плоскости, по умолчанию 65535. Если 0, плоскость останется неизменной.

coordinates

Флаг, указывающий пиксель, на который следует ссылаться. По умолчанию 255, т.е. используются все восемь пикселей.

Флаги для локальных карт 3x3 координаты, как это:

1 2 3 4 5 6 7 8

11.64.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.65 displace

Сместите пиксели, как указано вторым и третьим входным потоком.

Он принимает три входных потока и выводит один поток, первый вход — это источник, а второй и третий вход — карты смещения.

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

Обратите внимание, что однажды сгенерированные карты смещения можно повторно использовать снова и снова.

Далее следует описание принятых опций.

edge

Установите поведение смещения для пикселей, выходящих за пределы допустимого диапазона.

Доступные значения:

'blank'

Отсутствующие пиксели заменяются черными пикселями.

'smear'

Соседние пиксели будут расширены, чтобы заменить отсутствующие пиксели.

'wrap'

Пиксели вне диапазона заворачиваются так, чтобы они указывали на пиксели другой стороны.

'mirror'

Пиксели вне диапазона будут заменены зеркальными пикселями.

По умолчанию 'smear'.

11.65.1 Примеры

  • Добавьте эффект ряби к входу rgb видео размером hd720:
    ffmpeg -i INPUT -f lavfi -i nullsrc=s=hd720,lutrgb=128:128:128 -f lavfi -i nullsrc=s=hd720,geq='r=128+30*sin(2*PI*X/400+T):g=128+30*sin(2*PI*X/400+T):b=128+30*sin(2*PI*X/400+T)' -lavfi '[0][1][2]displace' OUTPUT
    
  • Добавьте эффект волны на вход rgb видео размером hd720:
    ffmpeg -i INPUT -f lavfi -i nullsrc=hd720,geq='r=128+80*(sin(sqrt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2))/220*2*PI+T)):g=128+80*(sin(sqrt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2))/220*2*PI+T)):b=128+80*(sin(sqrt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2))/220*2*PI+T))' -lavfi '[1]split[x][y],[0][x][y]displace' OUTPUT
    

11.66 dnn_classify

Выполните классификацию с помощью глубоких нейронных сетей на основе ограничительных рамок.

Фильтр принимает следующие параметры:

dnn_backend

Укажите, какой сервер DNN использовать для загрузки и выполнения модели. Эта опция сейчас принимает только openvino, будут добавлены бэкенды tensorflow.

model

Задайте путь к файлу модели, указав сетевую архитектуру и ее параметры. Обратите внимание, что разные серверные части используют разные форматы файлов.

input

Установите входное имя сети dnn.

output

Установите выходное имя сети dnn.

confidence

Установите доверительный порог (по умолчанию: 0,5).

labels

Задайте путь к файлу этикетки, указав соответствие между идентификатором этикетки и именем. Имя каждой метки записывается в одну строку, пробелы в конце и пустые строки пропускаются. Первая строка — это имя этикетки с идентификатором 0, а вторая строка — имя этикетки с идентификатором 1 и т. д. Идентификатор этикетки считается именем, если файл этикетки не предоставлен.

backend_configs

Установите конфиги, которые будут переданы в бэкенд

Для бэкэнда тензорного потока вы можете установить его конфигурации с помощьюsess_configварианты, используйте tools/python/tf_sess_config.py, чтобы получить конфигурации для вашей системы.

11.67 dnn_detect

Выполняйте обнаружение объектов с помощью глубоких нейронных сетей.

Фильтр принимает следующие параметры:

dnn_backend

Укажите, какой сервер DNN использовать для загрузки и выполнения модели. Эта опция сейчас принимает только openvino, будут добавлены бэкенды tensorflow.

model

Задайте путь к файлу модели, указав сетевую архитектуру и ее параметры. Обратите внимание, что разные серверные части используют разные форматы файлов.

input

Установите входное имя сети dnn.

output

Установите выходное имя сети dnn.

confidence

Установите доверительный порог (по умолчанию: 0,5).

labels

Задайте путь к файлу этикетки, указав соответствие между идентификатором этикетки и именем. Имя каждой метки записывается в одну строку, пробелы в конце и пустые строки пропускаются. Первая строка — это имя этикетки с идентификатором 0 (обычно это «фон»), а вторая строка — это имя этикетки с идентификатором 1 и т. д. Идентификатор этикетки считается именем, если файл этикетки не предоставлен.

backend_configs

Установите конфиги, которые будут переданы в бэкенд. Чтобы использовать асинхронное выполнение, установите async (по умолчанию: установлено). Откат к выполнению синхронизации, если серверная часть не поддерживает асинхронность.

11.68 dnn_processing

Выполняйте обработку изображений с помощью глубоких нейронных сетей. Он работает вместе с другим фильтром, который преобразует формат пикселей кадра в то, что требуется сети dnn.

Фильтр принимает следующие параметры:

dnn_backend

Укажите, какой сервер DNN использовать для загрузки и выполнения модели. Эта опция принимает следующие значения:

'native'

Нативная реализация загрузки и выполнения DNN.

'tensorflow'

Бэкэнд TensorFlow. Чтобы включить этот бэкенд, вам необходимо установить библиотеку TensorFlow для C (см. https://www.tensorflow.org/install/lang_c ) и настроить FFmpeg с помощью --enable-libtensorflow

'openvino'

Бэкенд OpenVINO. Чтобы включить этот бэкенд, вам необходимо собрать и установить библиотеку OpenVINO для C (см. https://github.com/openvinotoolkit/openvino/blob/master/build-instruction.md ) и настроить FFmpeg с помощью --enable-libopenvino(–extra-cflags=- I... --extra-ldflags=-L... может понадобиться, если заголовочные файлы и библиотеки не установлены в системный путь)

Значение по умолчанию: 'native'.

model

Задайте путь к файлу модели, указав сетевую архитектуру и ее параметры. Обратите внимание, что разные серверные части используют разные форматы файлов. TensorFlow, OpenVINO и собственный бэкэнд могут загружать файлы только для своего формата.

Файл собственной модели (.model) можно создать из файла модели TensorFlow (.pb) с помощью tools/python/convert.py.

input

Установите входное имя сети dnn.

output

Установите выходное имя сети dnn.

backend_configs

Установите конфиги, которые будут переданы в бэкенд. Чтобы использовать асинхронное выполнение, установите async (по умолчанию: установлено). Откат к выполнению синхронизации, если серверная часть не поддерживает асинхронность.

Для бэкэнда тензорного потока вы можете установить его конфигурации с помощьюsess_configварианты, используйте tools/python/tf_sess_config.py, чтобы получить конфигурации серверной части TensorFlow для вашей системы.

11.68.1 Примеры

  • Убираем дождь в кадре rgb24 с помощью can.pb (см . фильтр derain ):
    ./ffmpeg -i rain.jpg -vf format=rgb24,dnn_processing=dnn_backend=tensorflow:model=can.pb:input=x:output=y derain.jpg
    
  • Уменьшите вдвое значение пикселя кадра в формате gray32f:
    ffmpeg -i input.jpg -vf format=grayf32,dnn_processing=model=halve_gray_float.model:input=dnn_in:output=dnn_out:dnn_backend=native -y out.native.png
    
  • Обработайте канал Y с помощью srcnn.pb (см. фильтр sr ) для кадра с yuv420p (поддерживаются планарные форматы YUV):
    ./ffmpeg -i 480p.jpg -vf format=yuv420p,scale=w=iw*2:h=ih*2,dnn_processing=dnn_backend=tensorflow:model=srcnn.pb:input=x:output=y -y srcnn.jpg
    
  • Обработайте канал Y с помощью espcn.pb (см. фильтр sr ), который изменяет размер кадра, для формата yuv420p (поддерживаются планарные форматы YUV). Используйте tools/python/tf_sess_config.py, чтобы получить конфигурации серверной части TensorFlow для вашей системы.
    ./ffmpeg -i 480p.jpg -vf format=yuv420p,dnn_processing=dnn_backend=tensorflow:model=espcn.pb:input=x:output=y:backend_configs=sess_config=0x10022805320e09cdccccccccccec3f20012a01303801 -y tmp.espcn.jpg
    

11.69 drawbox

Нарисуйте цветную рамку на входном изображении.

Он принимает следующие параметры:

x
y

Выражения, определяющие координаты верхнего левого угла блока. По умолчанию он равен 0.

width, w
height, h

Выражения, определяющие ширину и высоту блока; если 0, они интерпретируются как входная ширина и высота. По умолчанию он равен 0.

color, c

Укажите цвет поля для записи. Общий синтаксис этой опции см. в разделе (ffmpeg-utils) «Цвет» в руководстве по ffmpeg-utils . Если используется специальное значение invert, цвет края блока будет таким же, как на видео с инвертированной яркостью.

thickness, t

Выражение, задающее толщину края блока. Значение fillсоздаст заполненное поле. Значение по умолчанию 3.

См. ниже список допустимых констант.

replace

Применимо, если на входе есть альфа. При значении 1пиксели нарисованного прямоугольника перезаписывают цвет видео и альфа-пиксели. Значение по умолчанию — 0, которое накладывает блок на вход, оставляя альфа-канал видео нетронутым.

Параметры для x, yи wи hявляются tвыражениями, содержащими следующие константы:

dar

Соотношение сторон входного дисплея такое же, как ( w/ h) * sar.

hsub
vsub

значения подвыборки цветности по горизонтали и вертикали. Например, для формата пикселей «yuv422p» hsubравно 2 и vsubравно 1.

in_h, ih
in_w, iw

Вводимая ширина и высота.

sar

Соотношение сторон входного образца.

x
y

Координаты смещения x и y, где нарисован блок.

w
h

Ширина и высота нарисованного прямоугольника.

box_source

Источник блока может быть установлен как side_data_detection_bboxes, если вы хотите использовать данные блока в блоках обнаружения побочных данных.

Если box_sourceустановлено, x, yи widthбудут heightигнорироваться и по-прежнему будут использовать данные блока в полях обнаружения побочных данных. Поэтому, пожалуйста, не используйте этот параметр, если вы не уверены в источнике коробки.

t

Толщина нарисованной коробки.

Эти константы позволяют выражениям x, y, wи ссылаться друг на друга, hпоэтому tвы можете, например, указать y=x/darили h=w/dar.

11.69.1 Примеры

  • Нарисуйте черный прямоугольник по краю входного изображения:
    drawbox
    
  • Нарисуйте коробку красного цвета и непрозрачностью 50%:
    drawbox=10:20:200:60:red@0.5
    

    Предыдущий пример можно указать как:

    drawbox=x=10:y=20:w=200:h=60:color=red@0.5
    
  • Заполните коробку розовым цветом:
    drawbox=x=10:y=10:w=100:h=100:color=pink@0.5:t=fill
    
  • Нарисуйте 2-пиксельную красную маску 2,40:1:
    drawbox=x=-t:y=0.5*(ih-iw/2.4)-t:w=iw+t*2:h=iw/2.4+t*2:t=2:c=red
    

11.69.2 Команды

Этот фильтр поддерживает те же команды, что и параметры. Команда принимает тот же синтаксис соответствующей опции.

Если указанное выражение недействительно, оно сохраняется в своем текущем значении.

11.70 drawgraph

Нарисуйте график, используя входные метаданные видео.

Он принимает следующие параметры:

m1

Установите ключ метаданных 1-го кадра, значения метаданных которого будут использоваться для построения графика.

fg1

Установите 1-е выражение цвета переднего плана.

m2

Установите ключ метаданных 2-го кадра, значения метаданных которого будут использоваться для построения графика.

fg2

Установите второе цветовое выражение переднего плана.

m3

Установите ключ метаданных 3-го кадра, значения метаданных которого будут использоваться для построения графика.

fg3

Установите 3-е выражение цвета переднего плана.

m4

Установите ключ метаданных 4-го кадра, значения метаданных которого будут использоваться для построения графика.

fg4

Установите 4-е выражение цвета переднего плана.

min

Установите минимальное значение значения метаданных.

max

Установите максимальное значение значения метаданных.

bg

Установить цвет фона графика. По умолчанию белый.

mode

Установите режим графика.

Доступные значения для режима:

'bar'
'dot'
'line'

Значение по умолчанию line.

slide

Установите режим слайдов.

Доступные значения для слайда:

'frame'

Нарисуйте новую рамку, когда будет достигнута правая граница.

'replace'

Замените старые столбцы новыми.

'scroll'

Прокрутите справа налево.

'rscroll'

Прокрутите слева направо.

'picture'

Нарисуйте одну картинку.

Значение по умолчанию frame.

size

Установите размер графического видео. Синтаксис этого параметра см. в разделе (ffmpeg-utils) «Размер видео» в руководстве по ffmpeg-utils . Значение по умолчанию равно 900x256.

rate, r

Установите выходную частоту кадров. Значение по умолчанию 25.

Выражения цвета переднего плана могут использовать следующие переменные:

MIN

Минимальное значение значения метаданных.

MAX

Максимальное значение значения метаданных.

VAL

Текущее значение ключа метаданных.

Цвет определяется как 0xAABBGGRR.

Пример использования метаданных из фильтра signalstats :

signalstats,drawgraph=lavfi.signalstats.YAVG:min=0:max=255

Пример использования метаданных из фильтра ebur128 :

ebur128=metadata=1,adrawgraph=lavfi.r128.M:min=-120:max=5

11.71 drawgrid

Нарисуйте сетку на входном изображении.

Он принимает следующие параметры:

x
y

Выражения, задающие координаты некоторой точки пересечения сетки (предназначенные для настройки смещения). Оба значения по умолчанию равны 0.

width, w
height, h

Выражения, которые определяют ширину и высоту ячейки сетки, если 0, они интерпретируются как входная ширина и высота соответственно минус thickness, поэтому изображение обрамляется. По умолчанию 0.

color, c

Укажите цвет сетки. Общий синтаксис этой опции см. в разделе (ffmpeg-utils) «Цвет» в руководстве по ffmpeg-utils . Если используется специальное значение invert, цвет сетки будет таким же, как у видео с инвертированной яркостью.

thickness, t

Выражение, задающее толщину линии сетки. Значение по умолчанию 1.

См. ниже список допустимых констант.

replace

Применимо, если на входе есть альфа. С 1пикселями нарисованной сетки будут перезаписаны цвет видео и альфа-пиксели. Значение по умолчанию — 0, которое накладывает сетку на вход, оставляя альфа-канал видео нетронутым.

Параметры для x, yи wи hявляются tвыражениями, содержащими следующие константы:

dar

Соотношение сторон входного дисплея такое же, как ( w/ h) * sar.

hsub
vsub

значения подвыборки цветности по горизонтали и вертикали. Например, для формата пикселей «yuv422p» hsubравно 2 и vsubравно 1.

in_h, ih
in_w, iw

Ширина и высота ячейки входной сетки.

sar

Соотношение сторон входного образца.

x
y

Координаты x и y некоторой точки пересечения сетки (предназначены для настройки смещения).

w
h

Ширина и высота рисуемой ячейки.

t

Толщина нарисованной ячейки.

Эти константы позволяют выражениям x, y, wи ссылаться друг на друга, hпоэтому tвы можете, например, указать y=x/darили h=w/dar.

11.71.1 Примеры

  • Нарисуйте сетку с ячейкой 100x100 пикселей, толщиной 2 пикселя, красным цветом и непрозрачностью 50%:
    drawgrid=width=100:height=100:thickness=2:color=red@0.5
    
  • Нарисуйте белую сетку 3x3 с непрозрачностью 50%:
    drawgrid=w=iw/3:h=ih/3:t=2:c=white@0.5
    

11.71.2 Команды

Этот фильтр поддерживает те же команды, что и параметры. Команда принимает тот же синтаксис соответствующей опции.

Если указанное выражение недействительно, оно сохраняется в своем текущем значении.

11.72 drawtext

Нарисуйте текстовую строку или текст из указанного файла поверх видео, используя библиотеку libfreetype.

Чтобы включить компиляцию этого фильтра, вам нужно настроить FFmpeg с расширением --enable-libfreetype. Чтобы включить резервный вариант шрифта по умолчанию и fontпараметр, вам необходимо настроить FFmpeg с расширением --enable-libfontconfig. Чтобы включить эту text_shapingопцию, вам нужно настроить FFmpeg с расширением --enable-libfribidi.

11.72.1 Синтаксис

Он принимает следующие параметры:

box

Используется для рисования рамки вокруг текста с использованием цвета фона. Значение должно быть либо 1 (включить), либо 0 (отключить). Значение по умолчанию равно box0.

boxborderw

Установите ширину границы, которая должна быть нарисована вокруг блока, используя boxcolor. Значение по умолчанию равно boxborderw0.

boxcolor

Цвет, который будет использоваться для рисования рамки вокруг текста. Синтаксис этой опции см. в разделе (ffmpeg-utils) «Цвет» в руководстве по ffmpeg-utils .

Значение по умолчанию boxcolor— «белый».

line_spacing

Установите межстрочный интервал в пикселях границы, которая будет нарисована вокруг блока, используя box. Значение по умолчанию равно line_spacing0.

borderw

Установите ширину границы, которая будет нарисована вокруг текста, используя bordercolor. Значение по умолчанию равно borderw0.

bordercolor

Установите цвет, который будет использоваться для рисования границы вокруг текста. Синтаксис этой опции см. в разделе (ffmpeg-utils) «Цвет» в руководстве по ffmpeg-utils .

Значение по умолчанию bordercolor— «черный».

expansion

Выберите способ textрасширения. Может быть либо none, strftime(устарело), ​​либо normal(по умолчанию). Подробнее см. в разделе Расширение текста ниже.

basetime

Установите время начала подсчета. Значение в микросекундах. Применяется только в устаревшем режиме расширения strftime. Для эмуляции в обычном режиме расширения используйте ptsфункцию, указав время начала (в секундах) в качестве второго аргумента.

fix_bounds

Если да, проверьте и исправьте координаты текста, чтобы избежать обрезки.

fontcolor

Цвет, который будет использоваться для рисования шрифтов. Синтаксис этой опции см. в разделе (ffmpeg-utils) «Цвет» в руководстве по ffmpeg-utils .

Значение по умолчанию fontcolor— «черный».

fontcolor_expr

Строка, которая расширяется так же, как textдля получения динамического fontcolorзначения. По умолчанию эта опция имеет пустое значение и не обрабатывается. Когда этот параметр установлен, он имеет приоритет над fontcolorпараметром.

font

Семейство шрифтов, которое будет использоваться для рисования текста. По умолчанию Санс.

fontfile

Файл шрифта, который будет использоваться для рисования текста. Путь должен быть включен. Этот параметр является обязательным, если поддержка fontconfig отключена.

alpha

Нарисуйте текст, применяя альфа-смешивание. Значение может быть числом от 0,0 до 1,0. Выражение также принимает те же переменные x, y. Значение по умолчанию — 1. См fontcolor_expr. .

fontsize

Размер шрифта, который будет использоваться для рисования текста. Значение по умолчанию равно fontsize16.

text_shaping

Если установлено значение 1, попытайтесь изменить форму текста (например, изменить порядок текста справа налево и соединить арабские символы) перед его рисованием. В противном случае просто нарисуйте текст точно так, как указано. По умолчанию 1 (если поддерживается).

ft_load_flags

Флаги, которые будут использоваться для загрузки шрифтов.

Флаги отображают соответствующие флаги, поддерживаемые libfreetype, и представляют собой комбинацию следующих значений:

default
no_scale
no_hinting
render
no_bitmap
vertical_layout
force_autohint
crop_bitmap
pedantic
ignore_global_advance_width
no_recurse
ignore_transform
monochrome
linear_design
no_autohint

Значение по умолчанию — «по умолчанию».

Для получения дополнительной информации обратитесь к документации по флагам FT_LOAD_* libfreetype.

shadowcolor

Цвет, который будет использоваться для рисования тени за нарисованным текстом. Синтаксис этой опции см. в разделе (ffmpeg-utils) «Цвет» в руководстве по ffmpeg-utils .

Значение по умолчанию shadowcolor— «черный».

shadowx
shadowy

Смещения x и y для положения тени текста относительно положения текста. Они могут быть как положительными, так и отрицательными значениями. Значение по умолчанию для обоих — «0».

start_number

Начальный номер кадра для переменной n/frame_num. Значение по умолчанию — «0».

tabsize

Размер в количестве пробелов, используемых для отображения вкладки. Значение по умолчанию — 4.

timecode

Установите начальное представление тайм-кода в формате «чч:мм:сс[:;.]ff». Его можно использовать как с текстовым параметром, так и без него. timecode_rate опция должна быть указана.

timecode_rate, rate, r

Установите частоту кадров тайм-кода (только тайм-код). Значение будет округлено до ближайшего целого числа. Минимальное значение равно "1". Тайм-код с пропуском кадров поддерживается для частоты кадров 30 и 60.

tc24hmax

Если установлено значение 1, вывод опции тайм-кода будет повторяться через 24 часа. По умолчанию 0 (отключено).

text

Текстовая строка для рисования. Текст должен представлять собой последовательность символов в кодировке UTF-8. Этот параметр является обязательным, если с параметром не указан файл textfile.

textfile

Текстовый файл, содержащий текст для рисования. Текст должен представлять собой последовательность символов в кодировке UTF-8.

Этот параметр является обязательным, если с параметром не указана текстовая строка text.

Если указаны оба textи textfile, выдается ошибка.

text_source

Источник текста должен быть установлен как side_data_detection_bboxes, если вы хотите использовать текстовые данные в полях обнаружения побочных данных.

Если источник текста установлен, textон textfileбудет игнорироваться и по-прежнему использовать текстовые данные в полях обнаружения побочных данных. Поэтому, пожалуйста, не используйте этот параметр, если вы не уверены в источнике текста.

reload

Будет textfileперезагружен через указанный интервал кадров. Обязательно обновляйте textfileатомарно, иначе он может быть прочитан частично или даже не удастся. Диапазон от 0 до INT_MAX. По умолчанию 0.

x
y

Выражения, определяющие смещения, при которых текст будет отображаться в видеокадре. Они относятся к верхней/левой границе выходного изображения.

Значение по умолчанию xи yравно "0".

См. ниже список допустимых констант и функций.

Параметры для xи yявляются выражениями, содержащими следующие константы и функции:

dar

входное соотношение сторон дисплея, оно такое же, как ( w/ h) *sar

hsub
vsub

значения подвыборки цветности по горизонтали и вертикали. Например, для формата пикселей «yuv422p» hsubравно 2 и vsubравно 1.

line_h, lh

высота каждой строки текста

main_h, h, H

входная высота

main_w, w, W

ширина ввода

max_glyph_a, ascent

максимальное расстояние от базовой линии до наивысшей/верхней координаты сетки, используемой для размещения точки контура глифа для всех отображаемых глифов. Это положительное значение из-за ориентации сетки по оси Y вверх.

max_glyph_d, descent

максимальное расстояние от базовой линии до самой нижней координаты сетки, используемой для размещения точки контура глифа для всех отображаемых глифов. Это отрицательное значение из-за ориентации сетки с осью Y вверх.

max_glyph_h

максимальная высота глифа, то есть максимальная высота всех глифов, содержащихся в отображаемом тексте, эквивалентна ascent- descent.

max_glyph_w

максимальная ширина глифа, то есть максимальная ширина всех глифов, содержащихся в отображаемом тексте.

n

номер входного кадра, начиная с 0

rand(min, max)

вернуть случайное число между minиmax

sar

Соотношение сторон входного образца.

t

метка времени, выраженная в секундах, NAN, если метка времени ввода неизвестна

text_h, th

высота отображаемого текста

text_w, tw

ширина отображаемого текста

x
y

координаты смещения x и y, в которых рисуется текст.

Эти параметры позволяют выражениям xи yссылаться друг на друга, поэтому вы можете, например, указать y=x/dar.

pict_type

Односимвольное описание типа изображения текущего кадра.

pkt_pos

Текущая позиция пакета во входном файле или потоке (в байтах, от начала ввода). Значение -1 указывает, что эта информация недоступна.

pkt_duration

Длительность текущего пакета в секундах.

pkt_size

Текущий размер пакета (в байтах).

11.72.2 Расширение текста

Еслиexpansionустановлено значение strftime, фильтр распознает последовательности strftime() в предоставленном тексте и соответствующим образом расширяет их. Проверьте документацию strftime(). Эта функция устарела.

Еслиexpansionустановлено значение none, текст печатается дословно.

Еслиexpansionустановлено значение normal(по умолчанию), используется следующий механизм расширения.

Символ обратной косой черты '\', за которым следует любой символ, всегда расширяется до второго символа.

Последовательности формы %{...}расширены. Текст между фигурными скобками — это имя функции, за которым могут следовать аргументы, разделенные символом ':'. Если аргументы содержат специальные символы или разделители (':' или '}'), их следует экранировать.

Обратите внимание, что они, вероятно, также должны быть экранированы как значение для textoption в строке аргумента фильтра и в качестве аргумента фильтра в описании filtergraph, а также, возможно, для оболочки, что обеспечивает до четырех уровней экранирования; использование текстового файла позволяет избежать этих проблем.

Доступны следующие функции:

expr, e

Результат вычисления выражения.

Он должен принимать один аргумент, определяющий вычисляемое выражение, которое принимает те же константы и функции, что xи yзначения. Обратите внимание, что не все константы должны использоваться, например, размер текста неизвестен при вычислении выражения, поэтому константы text_wи text_hбудут иметь неопределенное значение.

expr_int_format, eif

Оцените значение выражения и выведите его в виде форматированного целого числа.

Первый аргумент — это вычисляемое выражение, как и для exprфункции. Второй аргумент определяет выходной формат. Допустимые значения: 'x', 'X', 'd' а также 'u'. Они обрабатываются точно так же, как в printfфункции. Третий параметр является необязательным и устанавливает количество позиций, занимаемых выходом. Его можно использовать для добавления нуля слева.

gmtime

Время работы фильтра, выраженное в формате UTC. Он может принимать аргумент: строку формата strftime(). Строка формата расширена для поддержки переменной %[1-6]N , которая печатает доли секунды с необязательно заданным количеством цифр.

localtime

Время работы фильтра, выраженное в местном часовом поясе. Он может принимать аргумент: строку формата strftime(). Строка формата расширена для поддержки переменной %[1-6]N , которая печатает доли секунды с необязательно заданным количеством цифр.

metadata

Метаданные кадра. Принимает один или два аргумента.

Первый аргумент является обязательным и указывает ключ метаданных.

Второй аргумент является необязательным и указывает значение по умолчанию, используемое, когда ключ метаданных не найден или пуст.

Доступные метаданные можно определить, проверив записи, начинающиеся с TAG, включенные в каждый раздел кадра, напечатанный с помощью запуска ffprobe -show_frames.

Также доступны строковые метаданные, сгенерированные в фильтрах, ведущих к фильтру drawtext.

n, frame_num

Номер кадра, начиная с 0.

pict_type

Односимвольное описание текущего типа изображения.

pts

Временная метка текущего кадра. Может принимать до трех аргументов.

Первый аргумент — это формат метки времени; по умолчанию flt секунды представляют собой десятичное число с точностью до микросекунды; hmsобозначает отформатированную [-]HH:MM:SS.mmmметку времени с точностью до миллисекунды. gmtimeобозначает временную метку кадра, отформатированную как время UTC; localtimeобозначает временную метку кадра, отформатированную как местное время часового пояса.

Второй аргумент — это смещение, добавляемое к метке времени.

Если формат установлен на hms, может быть предоставлен третий аргумент 24HHдля представления часовой части отформатированной метки времени в 24-часовом формате (00-23).

Если задан формат localtimeили gmtime, может быть предоставлен третий аргумент: строка формата strftime(). По умолчанию YYYY-MM-DD HH:MM:SSбудет использоваться формат.

11.72.3 Команды

Этот фильтр поддерживает изменение параметров с помощью команд:

reinit

Изменить существующие параметры фильтра.

Синтаксис аргумента такой же, как и для вызова фильтра, например

fontsize=56:fontcolor=green:text='Hello World'

Полный вызов фильтра с помощью sendcmd будет выглядеть так:

sendcmd=c='56.0 drawtext reinit fontsize=56\:fontcolor=green\:text=Hello\\ World'

Если весь аргумент не может быть проанализирован или применен как допустимые значения, фильтр продолжит работу с существующими параметрами.

11.72.4 Примеры

  • Нарисуйте «Тестовый текст» шрифтом FreeSerif, используя значения по умолчанию для дополнительных параметров.
    drawtext="fontfile=/usr/share/fonts/truetype/freefont/FreeSerif.ttf: text='Test Text'"
    
  • Нарисуйте «Тестовый текст» шрифтом FreeSerif размером 24 в позициях x=100 и y=50 (считая от верхнего левого угла экрана), текст будет желтым с красной рамкой вокруг него. И текст, и поле имеют непрозрачность 20%.
    drawtext="fontfile=/usr/share/fonts/truetype/freefont/FreeSerif.ttf: text='Test Text':\
              x=100: y=50: fontsize=24: fontcolor=yellow@0.2: box=1: boxcolor=red@0.2"
    

    Обратите внимание, что двойные кавычки не нужны, если в списке параметров не используются пробелы.

  • Показать текст в центре кадра видео:
    drawtext="fontsize=30:fontfile=FreeSerif.ttf:text='hello world':x=(w-text_w)/2:y=(h-text_h)/2"
    
  • Показать текст в произвольной позиции, переключаясь на новую позицию каждые 30 секунд:
    drawtext="fontsize=30:fontfile=FreeSerif.ttf:text='hello world':x=if(eq(mod(t\,30)\,0)\,rand(0\,(w-text_w))\,x):y=if(eq(mod(t\,30)\,0)\,rand(0\,(h-text_h))\,y)"
    
  • Покажите текстовую строку, скользящую справа налево в последней строке видеокадра. ФайлLONG_LINEпредполагается, что он содержит одну строку без символов новой строки.
    drawtext="fontsize=15:fontfile=FreeSerif.ttf:text=LONG_LINE:y=h-line_h:x=-50*t"
    
  • Показать содержимое файлаCREDITSот нижней части кадра и прокрутите вверх.
    drawtext="fontsize=20:fontfile=FreeSerif.ttf:textfile=CREDITS:y=h-20*t"
    
  • Нарисуйте одну зеленую букву «g» в центре входного видео. Базовая линия глифа располагается на половине высоты экрана.
    drawtext="fontsize=60:fontfile=FreeSerif.ttf:fontcolor=green:text=g:x=(w-max_glyph_w)/2:y=h/2-ascent"
    
  • Показывать текст на 1 секунду каждые 3 секунды:
    drawtext="fontfile=FreeSerif.ttf:fontcolor=white:x=100:y=x/dar:enable=lt(mod(t\,3)\,1):text='blink'"
    
  • Используйте fontconfig для установки шрифта. Обратите внимание, что двоеточия должны быть экранированы.
    drawtext='fontfile=Linux Libertine O-40\:style=Semibold:text=FFmpeg'
    
  • Нарисуйте «Тестовый текст» с размером шрифта, зависящим от высоты видео.
    drawtext="text='Test Text': fontsize=h/30: x=(w-text_w)/2: y=(h-text_h*2)"
    
  • Вывести дату кодирования в реальном времени (см. strftime(3)):
    drawtext='fontfile=FreeSans.ttf:text=%{localtime\:%a %b %d %Y}'
    
  • Показывать появление и исчезновение текста (появление/исчезновение):
    #!/bin/sh
    DS=1.0 # display start
    DE=10.0 # display end
    FID=1.5 # fade in duration
    FOD=5 # fade out duration
    ffplay -f lavfi "color,drawtext=text=TEST:fontsize=50:fontfile=FreeSerif.ttf:fontcolor_expr=ff0000%{eif\\\\: clip(255*(1*between(t\\, $DS + $FID\\, $DE - $FOD) + ((t - $DS)/$FID)*between(t\\, $DS\\, $DS + $FID) + (-(t - $DE)/$FOD)*between(t\\, $DE - $FOD\\, $DE) )\\, 0\\, 255) \\\\: x\\\\: 2 }"
    
  • Горизонтальное выравнивание нескольких отдельных текстов. Обратите внимание, чтоmax_glyph_a иfontsizeстоимость входит вyкомпенсировать.
    drawtext=fontfile=FreeSans.ttf:text=DOG:fontsize=24:x=10:y=20+24-max_glyph_a,
    drawtext=fontfile=FreeSans.ttf:text=cow:fontsize=24:x=80:y=20+24-max_glyph_a
    
  • Нанесите специальные lavf.image2dec.source_basenameметаданные на каждый кадр, если такие метаданные существуют. В противном случае нарисуйте строку «NA». Обратите внимание, что демультиплексор image2 должен иметь опцию-export_path_metadata 1чтобы специальные поля метаданных были доступны для фильтров.
    drawtext="fontsize=20:fontcolor=white:fontfile=FreeSans.ttf:text='%{metadata\:lavf.image2dec.source_basename\:NA}':x=10:y=10"
    

Для получения дополнительной информации о libfreetype посетите: http://www.freetype.org/ .

Для получения дополнительной информации о fontconfig посетите: http://freedesktop.org/software/fontconfig/fontconfig-user.html .

Для получения дополнительной информации о libfribidi посетите: http://fribidi.org/ .

11.73 edgedetect

Обнаружение и рисование краев. Фильтр использует алгоритм Canny Edge Detection.

Фильтр принимает следующие параметры:

low
high

Установите нижнее и верхнее пороговые значения, используемые алгоритмом определения порога Кэнни.

Высокий порог выбирает «сильные» краевые пиксели, которые затем соединяются через 8-связность со «слабыми» краевыми пикселями, выбранными с помощью низкого порога.

lowа highпороговые значения должны быть выбраны в диапазоне [0,1] и lowдолжны быть меньше или равны high.

Значение по умолчанию для low, 20/255а значение по умолчанию high для 50/255.

mode

Определите режим рисования.

'wires'

Нарисуйте белые/серые провода на черном фоне.

'colormix'

Смешайте цвета, чтобы создать эффект краски/мультфильма.

'canny'

Примените детектор краев Canny ко всем выбранным плоскостям.

Значение по умолчанию wires.

planes

Выберите плоскости для фильтрации. По умолчанию фильтруются все доступные плоскости.

11.73.1 Примеры

  • Стандартное обнаружение краев с пользовательскими значениями порога гистерезиса:
    edgedetect=low=0.1:high=0.4
    
  • Эффект рисования без порога:
    edgedetect=mode=colormix:high=0
    

11.74 elbg

Примените эффект постеризации, используя алгоритм ELBG (Enhanced LBG).

Для каждого входного изображения фильтр будет вычислять оптимальное отображение входных данных в выходные данные с учетом длины кодовой книги, то есть количества различных выходных цветов.

Этот фильтр принимает следующие параметры.

codebook_length, l

Установить длину кодовой книги. Значение должно быть положительным целым числом и представлять количество различных выходных цветов. Значение по умолчанию — 256.

nb_steps, n

Установите максимальное количество итераций для расчета оптимального отображения. Чем выше значение, тем лучше результат и тем выше время вычисления. Значение по умолчанию — 1.

seed, s

Установите случайное начальное число, это должно быть целое число от 0 до UINT32_MAX. Если не указано или явно задано значение -1, фильтр попытается использовать хорошее случайное начальное число в максимально возможной степени.

pal8

Установите формат выходных пикселей pal8. Эта опция не работает, если длина кодовой книги больше 256. По умолчанию отключена.

use_alpha

Включите альфа-значения в расчет квантования. Позволяет создавать выходные изображения с палитрой (например, PNG8) с несколькими сглаженными альфа-каналами.

11.75 entropy

Измерьте энтропию уровня серого в гистограмме цветовых каналов видеокадров.

Он принимает следующие параметры:

mode

Может быть или normalили diff. Значение по умолчанию normal.

diffизмеряет энтропию значений дельты гистограммы, абсолютные различия между соседними значениями гистограммы.

11.76 epx

Примените фильтр увеличения EPX, разработанный для пиксельной графики.

Он принимает следующий вариант:

n

Установите размерность масштабирования: 2для 2xEPX, 3для 3xEPX. Значение по умолчанию 3.

11.77 eq

Установите яркость, контрастность, насыщенность и примерную регулировку гаммы.

Фильтр принимает следующие параметры:

contrast

Установите контрастное выражение. Значение должно быть значением с плавающей запятой в диапазоне -1000.0от 1000.0. Значение по умолчанию — «1».

brightness

Установите выражение яркости. Значение должно быть значением с плавающей запятой в диапазоне -1.0от 1.0. Значение по умолчанию — «0».

saturation

Установите выражение насыщенности. Значение должно быть числом с плавающей запятой в диапазоне 0.0от 3.0. Значение по умолчанию — «1».

gamma

Установите гамма-выражение. Значение должно быть числом с плавающей запятой в диапазоне 0.1от 10.0. Значение по умолчанию — «1».

gamma_r

Установите гамма-выражение для красного цвета. Значение должно быть числом с плавающей запятой в диапазоне 0.1от 10.0. Значение по умолчанию — «1».

gamma_g

Установите гамма-выражение для зеленого цвета. Значение должно быть числом с плавающей запятой в диапазоне 0.1от 10.0. Значение по умолчанию — «1».

gamma_b

Задайте гамма-выражение для синего цвета. Значение должно быть числом с плавающей запятой в диапазоне 0.1от 10.0. Значение по умолчанию — «1».

gamma_weight

Установите выражение гамма-веса. Его можно использовать для уменьшения эффекта высокого значения гаммы на ярких участках изображения, например, для предотвращения их чрезмерного усиления и просто белого цвета. Значение должно быть числом с плавающей запятой в диапазоне 0.0от 1.0. Значение 0.0полностью снижает гамма-коррекцию, 1.0оставляя ее в полной силе. По умолчанию "1".

eval

Установите, когда оцениваются выражения для яркости, контраста, насыщенности и гаммы.

Он принимает следующие значения:

'init'

оценивайте выражения только один раз во время инициализации фильтра или при обработке команды

'frame'

оценивать выражения для каждого входящего кадра

Значение по умолчанию: 'init'.

Выражения принимают следующие параметры:

n

количество кадров входного кадра, начиная с 0

pos

позиция байта соответствующего пакета во входном файле, NAN, если не указано

r

частота кадров входного видео, NAN, если частота кадров входного сигнала неизвестна

t

метка времени, выраженная в секундах, NAN, если метка времени ввода неизвестна

11.77.1 Команды

Фильтр поддерживает следующие команды:

contrast

Установите контрастное выражение.

brightness

Установите выражение яркости.

saturation

Установите выражение насыщенности.

gamma

Установите гамма-выражение.

gamma_r

Установите выражение gamma_r.

gamma_g

Установите выражение gamma_g.

gamma_b

Установите выражение gamma_b.

gamma_weight

Установите выражение gamma_weight.

Команда принимает тот же синтаксис соответствующей опции.

Если указанное выражение недействительно, оно сохраняется в своем текущем значении.

11.78 erosion

Примените эффект эрозии к видео.

Этот фильтр заменяет пиксель локальным (3x3) минимумом.

Он принимает следующие параметры:

threshold0
threshold1
threshold2
threshold3

Ограничьте максимальное изменение для каждой плоскости, по умолчанию 65535. Если 0, плоскость останется неизменной.

coordinates

Флаг, указывающий пиксель, на который следует ссылаться. По умолчанию 255, т.е. используются все восемь пикселей.

Флаги для локальных карт 3x3 координаты, как это:

1 2 3 4 5 6 7 8

11.78.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.79 estdif

Деинтерлейсинг входного видео («estdif» означает «Фильтр деинтерлейсинга трассировки наклона края»).

Только пространственный фильтр, использующий алгоритм трассировки наклона краев для интерполяции отсутствующих линий. Он принимает следующие параметры:

mode

Режим чересстрочной развертки для принятия. Он принимает одно из следующих значений:

frame

Выведите один кадр для каждого кадра.

field

Выведите по одному кадру для каждого поля.

Значение по умолчанию равно field.

parity

Четность поля изображения, предполагаемая для входного чересстрочного видео. Он принимает одно из следующих значений:

tff

Предположим, что верхнее поле является первым.

bff

Предположим, что нижнее поле является первым.

auto

Включите автоматическое определение четности полей.

Значение по умолчанию равно auto. Если чередование неизвестно или декодер не экспортирует эту информацию, сначала предполагается верхнее поле.

deint

Укажите, какие кадры следует деинтерлейсировать. Принимает одно из следующих значений:

all

Деинтерлейсировать все кадры.

interlaced

Только деинтерлейсные кадры, помеченные как чересстрочные.

Значение по умолчанию равно all.

rslope

Укажите радиус поиска для трассировки уклона кромки. Значение по умолчанию — 1. Допустимый диапазон — от 1 до 15.

redge

Укажите радиус поиска для наилучшего сопоставления краев. Значение по умолчанию — 2. Допустимый диапазон — от 0 до 15.

ecost

Укажите стоимость ребра для сопоставления ребер. Значение по умолчанию — 1,0. Допустимый диапазон от 0 до 9.

mcost

Укажите среднюю стоимость для сопоставления ребер. Значение по умолчанию — 0,5. Допустимый диапазон от 0 до 1.

dcost

Укажите стоимость расстояния для сопоставления ребер. Значение по умолчанию — 0,5. Допустимый диапазон от 0 до 1.

interp

Укажите используемую интерполяцию. По умолчанию используется 4-точечная интерполяция. Он принимает одно из следующих значений:

2p

Двухточечная интерполяция.

4p

Четырехточечная интерполяция.

6p

Шеститочечная интерполяция.

11.79.1 Команды

Этот фильтр поддерживает те же команды , что и параметры.

11.80 exposure

Отрегулируйте экспозицию видеопотока.

Фильтр принимает следующие параметры:

exposure

Установите коррекцию экспозиции в EV. Допустимый диапазон: от -3,0 до 3,0 EV. Значение по умолчанию: 0 EV.

black

Установите коррекцию уровня черного. Допустимый диапазон от -1,0 до 1,0. Значение по умолчанию — 0.

11.80.1 Команды

Этот фильтр поддерживает те же команды , что и параметры.

11.81 extractplanes

Извлечение компонентов цветового канала из входного видеопотока в отдельные видеопотоки в градациях серого.

Фильтр принимает следующий вариант:

planes

Установите плоскость(и) для извлечения.

Доступные значения для плоскостей:

'y'
'u'
'v'
'a'
'r'
'g'
'b'

Выбор плоскостей, недоступных во входных данных, приведет к ошибке. Это означает, что вы не можете одновременно выбирать r, g, bплоскости с y, u, vплоскостями.

11.81.1 Примеры

  • Извлеките компоненты цветового канала яркости, u и v из входного видеокадра в 3 выхода в градациях серого:
    ffmpeg -i video.avi -filter_complex 'extractplanes=y+u+v[y][u][v]' -map '[y]' y.avi -map '[u]' u.avi -map '[v]' v.avi
    

11.82 fade

Примените эффект постепенного появления/затухания к входному видео.

Он принимает следующие параметры:

type, t

Тип эффекта может быть либо «in» для постепенного появления, либо «out» для эффекта постепенного исчезновения. Значение по умолчанию in.

start_frame, s

Укажите номер кадра, с которого следует начать применять эффект затухания. По умолчанию 0.

nb_frames, n

Количество кадров, в течение которых длится эффект затухания. В конце эффекта нарастания выходное видео будет иметь ту же интенсивность, что и входное видео. В конце перехода затухания выходное видео будет заполнено выбраннымcolor. По умолчанию 25.

alpha

Если установлено значение 1, затемнять только альфа-канал, если он существует на входе. Значение по умолчанию — 0.

start_time, st

Укажите временную метку (в секундах) кадра, чтобы начать применять эффект затухания. Если указаны и start_frame, и start_time, затухание начнется в зависимости от того, что наступит последним. По умолчанию 0.

duration, d

Количество секунд, в течение которых должен длиться эффект затухания. В конце эффекта затухания выходное видео будет иметь ту же интенсивность, что и входное видео, в конце перехода затухания выходное видео будет заполнено выбраннымcolor. Если указаны и длительность, и nb_frames, используется длительность. По умолчанию 0 (по умолчанию используется nb_frames).

color, c

Укажите цвет затухания. По умолчанию «черный».

11.82.1 Примеры

  • Затухание первых 30 кадров видео:
    fade=in:0:30
    

    Приведенная выше команда эквивалентна:

    fade=t=in:s=0:n=30
    
  • Затемнение последних 45 кадров 200-кадрового видео:
    fade=out:155:45
    fade=type=out:start_frame=155:nb_frames=45
    
  • Затемнение первых 25 кадров и исчезновение последних 25 кадров 1000-кадрового видео:
    fade=in:0:25, fade=out:975:25
    
  • Сделайте первые 5 кадров желтыми, затем постепенно добавляйте кадры с 5 по 24:
    fade=in:5:20:color=yellow
    
  • Затухание в альфа-канале первых 25 кадров видео:
    fade=in:0:25:alpha=1
    
  • Сделайте первые 5,5 секунд черными, затем постепенно увеличивайте яркость на 0,5 секунды:
    fade=t=in:st=5.5:d=0.5
    

11.83 feedback

Применить видео фильтр обратной связи.

Этот фильтр передает обрезанные входные кадры на второй выход. Оттуда его можно отфильтровать с помощью других видеофильтров. После того, как фильтр получает кадр со 2-го входа, этот кадр объединяется поверх исходного кадра с 1-го входа и передается на 1-й выход.

Типичное использование — фильтровать только часть кадра.

Фильтр принимает следующие параметры:

x
y

Установите верхнее левое положение обрезки.

w
h

Установите размер обрезки.

11.83.1 Примеры

  • Размытие только верхней левой прямоугольной части видеокадра размером 100x100 с помощью фильтра gblur.
    [in][blurin]feedback=x=0:y=0:w=100:h=100[out][blurout];[blurout]gblur=8[blurin]
    
  • Нарисуйте черный ящик в верхней левой части видеокадра размером 100x100 с фильтром drawbox.
    [in][blurin]feedback=x=0:y=0:w=100:h=100[out][blurout];[blurout]drawbox=x=0:y=0:w=100:h=100:t=100[blurin]
    

11.84 fftdnoiz

Кадры шумоподавления с помощью 3D FFT (фильтрация в частотной области).

Фильтр принимает следующие параметры:

sigma

Установите постоянную сигма шума. Это устанавливает силу шумоподавления. Значение по умолчанию — 1. Допустимый диапазон — от 0 до 30. Использование очень высокого сигма с низким перекрытием может привести к блокирующим артефактам.

amount

Установите количество шумоподавления. По умолчанию все обнаруженные шумы уменьшаются. Значение по умолчанию — 1. Допустимый диапазон — от 0 до 1.

block

Установите размер блока в пикселях, по умолчанию 32, может быть от 8 до 256.

overlap

Установить перекрытие блоков. По умолчанию 0,5. Допустимый диапазон от 0,2 до 0,8.

method

Установить метод шумоподавления. По умолчанию есть wiener, также может быть hard.

prev

Установите количество предыдущих кадров для шумоподавления. По умолчанию установлено значение 0.

next

Установите количество следующих кадров для шумоподавления. По умолчанию установлено значение 0.

planes

Установите плоскости, которые будут отфильтрованы, по умолчанию все доступные фильтры, кроме альфа.

11.85 fftfilt

Применение произвольных выражений к образцам в частотной области

dc_Y

Отрегулируйте значение постоянного тока (усиление) плоскости яркости изображения. Фильтр принимает целочисленное значение в диапазоне 0от 1000. По умолчанию установлено значение 0.

dc_U

Отрегулируйте значение постоянного тока (усиление) 1-й плоскости цветности изображения. Фильтр принимает целочисленное значение в диапазоне 0от 1000. По умолчанию установлено значение 0.

dc_V

Отрегулируйте значение постоянного тока (усиление) 2-й плоскости цветности изображения. Фильтр принимает целочисленное значение в диапазоне 0от 1000. По умолчанию установлено значение 0.

weight_Y

Установите весовое выражение частотной области для плоскости яркости.

weight_U

Установите весовое выражение частотной области для 1-й плоскости цветности.

weight_V

Установите весовое выражение частотной области для 2-й плоскости цветности.

eval

Установите, когда выражения оцениваются.

Он принимает следующие значения:

'init'

Оценивайте выражения только один раз во время инициализации фильтра.

'frame'

Оцените выражения для каждого входящего кадра.

Значение по умолчанию: 'init'.

Фильтр принимает следующие переменные:

X
Y

Координаты текущего образца.

W
H

Ширина и высота изображения.

N

Номер входного кадра, начиная с 0.

WS
HS

Размер массива БПФ для горизонтальной и вертикальной обработки.

11.85.1 Примеры

  • Высокая частота:
    fftfilt=dc_Y=128:weight_Y='squish(1-(Y+X)/100)'
    
  • НЧ:
    fftfilt=dc_Y=0:weight_Y='squish((Y+X)/100-1)'
    
  • Резкость:
    fftfilt=dc_Y=0:weight_Y='1+squish(1-(Y+X)/100)'
    
  • Размытие:
    fftfilt=dc_Y=0:weight_Y='exp(-4 * ((Y+X)/(W+H)))'
    

11.86 field

Извлеките одно поле из чересстрочного изображения, используя арифметику шага, чтобы не тратить процессорное время. Выходные кадры помечаются как не чересстрочные.

Фильтр принимает следующие параметры:

type

Укажите, следует ли извлекать верхнее (если значение равно 0или top) или нижнее поле (если значение равно 1или bottom).

11.87 fieldhint

Создайте новые фреймы, скопировав верхнее и нижнее поля из окружающих фреймов, представленных в виде чисел файлом подсказки.

hint

Установить файл с подсказками: абсолютные/относительные номера кадров.

Для каждого кадра в клипе должна быть одна строка. Каждая строка должна содержать два числа, разделенных запятой, за которыми может следовать -или +. Числа, указанные в каждой строке файла, не могут быть за пределами [N-1,N+1], где N — номер текущего кадра для absoluteрежима, или из диапазона [-1, 1] для relativeрежима. Первое число указывает, из какого кадра брать верхнее поле, а второе число указывает, из какого кадра брать нижнее поле.

Если за ним необязательно следует +выходной кадр, он будет помечен как чересстрочный, в противном случае, если за ним следует -выходной кадр, он будет помечен как прогрессивный, в противном случае он будет помечен так же, как входной кадр. Если за ним необязательно следует tвыходной кадр, будет использоваться только верхнее поле, или, в случае bего наличия, будет использоваться только нижнее поле. Если строка начинается с #или ;эта строка пропускается.

mode

Может быть пунктом absoluteили relativeили pattern. Значение по умолчанию absolute. Режим patternтакой же, как и relativeрежим, за исключением последней записи файла, если имеется больше кадров для обработки, чем hintфайл ищет обратно к началу.

Пример первых нескольких строк hintфайла для relativeрежима:

0,0 - # first frame
1,0 - # second frame, use third's frame top field and second's frame bottom field
1,0 - # third frame, use fourth's frame top field and third's frame bottom field
1,0 -
0,0 -
0,0 -
1,0 -
1,0 -
1,0 -
0,0 -
0,0 -
1,0 -
1,0 -
1,0 -
0,0 -

11.88 fieldmatch

Фильтр согласования полей для обратного телесина. Он предназначен для восстановления прогрессивных кадров из телесинового потока. Фильтр не отбрасывает дублированные кадры, поэтому для достижения полного обратного телесина fieldmatchнеобходимо, чтобы за ним следовал фильтр прореживания, такой как прореживание в графе фильтра.

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

В дополнение к различным параметрам конфигурации fieldmatchможно использовать дополнительный второй поток, активируемый черезppsrcвариант. Если включено, реконструкция кадров будет основываться на полях и кадрах из этого второго потока. Это позволяет предварительно обрабатывать первый ввод, чтобы помочь различным алгоритмам фильтра, сохраняя при этом вывод без потерь (при условии, что поля сопоставляются правильно). Как правило, может помочь полевой шумоподавитель или настройки яркости/контрастности.

Обратите внимание, что этот фильтр использует те же алгоритмы, что и TIVTC/TFM (проект AviSynth) и VIVTC/VFM (проект VapourSynth). Последний является легким клоном TFM, на котором fieldmatchон основан. Хотя семантика и использование очень близки, некоторые имена поведения и опций могут различаться.

Десятичный фильтр в настоящее время работает только для ввода с постоянной частотой кадров. Если ваш вход содержит смешанный телесин (30 кадров в секунду) и прогрессивный контент с более низкой частотой кадров, например 24 кадра в секунду, используйте следующую цепочку фильтров для создания необходимого потока cfr: dejudder,fps=30000/1001,fieldmatch,decimate.

Фильтр принимает следующие параметры:

order

Укажите предполагаемый порядок полей входного потока. Доступные значения:

'auto'

Автоматическое определение четности (используйте внутреннее значение четности FFmpeg).

'bff'

Сначала предположим, что нижнее поле.

'tff'

Сначала предположим, что верхнее поле.

Обратите внимание, что иногда рекомендуется не доверять четности, объявленной потоком.

Значение по умолчанию auto.

mode

Установите режим сопоставления или стратегию для использования.pcрежим является самым безопасным в том смысле, что он не будет рисковать созданием рывков из-за дублирования кадров, когда это возможно, но если есть плохие изменения или смешанные поля, он в конечном итоге выведет гребенчатые кадры, когда на самом деле может существовать хорошее совпадение. С другой стороны,pcn_ubрежим является наиболее рискованным с точки зрения создания рывков, но почти всегда найдет хороший кадр, если он есть. Все остальные значения находятся где-то посередине.pcа такжеpcn_ubс точки зрения риска рывков и создания дубликатов кадров по сравнению с поиском хороших совпадений в разделах с плохими правками, потерянными полями, смешанными полями и т. д.

Более подробная информация о p/c/n/u/b доступна в разделе значения p/c/n/u/b .

Доступные значения:

'pc'

2-стороннее сопоставление (p/c)

'pc_n'

2-стороннее сопоставление и попытка 3-го сопоставления, если все еще прочесаны (p/c + n)

'pc_u'

2-стороннее сопоставление и попытка 3-го сопоставления (в том же порядке), если все еще прочесаны (p/c + u)

'pc_n_ub'

2-стороннее сопоставление, попытка 3-го совпадения, если все еще прочесана, и попытка 4-го/5-го совпадения, если все еще прочесана (p/c + n + u/b)

'pcn'

3-стороннее сопоставление (p/c/n)

'pcn_ub'

3-стороннее сопоставление и попытка 4-го/5-го совпадения, если все 3 исходных совпадения обнаружены как прочесанные (p/c/n + u/b)

Скобки в конце указывают совпадения, которые будут использоваться для этого режима, предполагая, чтоorder= tfffieldна autoили top).

С точки зрения скоростиpcрежим, безусловно, самый быстрый иpcn_ubявляется самым медленным.

Значение по умолчанию pc_n.

ppsrc

Отметьте основной поток ввода как предварительно обработанный ввод и включите вторичный поток ввода в качестве чистого источника для выбора полей. Подробнее см. во введении к фильтру. Это похоже наclip2функция от VFM/TFM.

Значение по умолчанию 0(отключено).

field

Установите поле для сопоставления. Рекомендуется установить это значение равным orderесли вы не столкнетесь с ошибками сопоставления с этим параметром. В определенных обстоятельствах изменение поля, используемого для сопоставления, может сильно повлиять на производительность сопоставления. Доступные значения:

'auto'

Автоматически (то же значение, что иorder).

'bottom'

Соответствие из нижнего поля.

'top'

Совпадение с верхнего поля.

Значение по умолчанию auto.

mchroma

Установите, будет ли цветность включена во время сравнения совпадений. В большинстве случаев рекомендуется оставлять это включенным. Вы должны установить это значение 0 только в том случае, если в вашем клипе есть проблемы с цветностью, такие как сильная радуга или другие артефакты. Установка этого 0параметра также может быть использована для ускорения работы за счет некоторой точности.

Значение по умолчанию 1.

y0
y1

Они определяют полосу исключения, которая исключает линии междуy0а также y1от включения в решение о сопоставлении полей. Полоса исключения может использоваться для игнорирования субтитров, логотипа или других вещей, которые могут помешать сопоставлению.y0устанавливает начальную строку сканирования и y1устанавливает конечную линию; все линии междуy0а также y1(включаяy0а такжеy1) будет игнорироваться. Параметр y0а такжеy1на то же значение отключит эту функцию. y0а такжеy1по умолчанию 0.

scthresh

Установите порог обнаружения изменения сцены в процентах от максимального изменения на плоскости яркости. Хорошие значения находятся в [8.0, 14.0]диапазоне. Обнаружение смены сцены актуально только в случаеcombmatch= sc. Диапазон для scthreshесть [0.0, 100.0].

Значение по умолчанию 12.0.

combmatch

Когдаcombatchis not none, fieldmatchпри принятии решения о том, какое совпадение использовать в качестве финального, будет учитываться прочесанный счет матчей. Доступные значения:

'none'

Нет окончательного сопоставления на основе гребенчатых оценок.

'sc'

Комбинированные оценки используются только при обнаружении смены сцены.

'full'

Используйте гребенчатые оценки все время.

Значение по умолчанию sc.

combdbg

Заставить fieldmatchвычислять гребенчатые метрики для определенных совпадений и печатать их. Этот параметр известен какmicoutв словаре TFM/VFM. Доступные значения:

'none'

Без принудительного расчета.

'pcn'

Принудительные расчеты p/c/n.

'pcnub'

Принудительные расчеты p/c/n/u/b.

Значение по умолчанию none.

cthresh

Это пороговое значение прочесывания области, используемое для обнаружения прочесываемых кадров. По сути, это определяет, насколько «сильным» или «видимым» расчесыванием должно быть обнаружено. Большие значения означают, что расчесывание должно быть более заметным, а меньшие значения означают, что расчесывание может быть менее заметным или сильным, но все же обнаруживаемым. Допустимые настройки: от -1(каждый пиксель будет распознан как гребенчатый) до 255(ни один пиксель не будет распознан как гребенчатый). Это в основном значение разницы в пикселях. Хороший ассортимент есть [8, 12].

Значение по умолчанию 9.

chroma

Устанавливает, учитывается ли цветность при решении гребенчатого кадра. Отключите это только в том случае, если у вашего источника есть проблемы с цветностью (радуга и т. д.), которые вызывают проблемы для обнаружения гребенчатого кадра с включенной цветностью. Собственно, используяchroma= 0обычно надежнее, за исключением случая, когда в исходнике цветность только прочесывается.

Значение по умолчанию 0.

blockx
blocky

Соответственно установите размер окна по оси x и по оси y, используемого при обнаружении гребенчатого кадра. Это связано с размером территории, на которой combpelпиксели должны быть определены как гребенчатые, чтобы кадр был объявлен гребенчатым. См.combpelописание параметра для получения дополнительной информации. Возможные значения — любое число, являющееся степенью двойки, начиная с 4 и заканчивая 512.

Значение по умолчанию 16.

combpel

Количество прочесанных пикселей внутри любого изblockyпо blockxблоки размера на кадре для того, чтобы кадр был обнаружен как прочесанный. Покаcthreshуправляет тем, насколько «видимым» должно быть расчесывание, этот параметр определяет, «сколько» расчесывания должно быть в любой локализованной области (окно, определяемоеblockxа такжеblockyнастройки) на раме. Минимальное значение равно, 0а максимальное равно blocky x blockx(при этом никакие кадры не будут определяться как прочесанные). Этот параметр известен какMIв словаре TFM/VFM.

Значение по умолчанию 80.

11.88.1 значение p/c/n/u/b

11.88.1.1 п/к/н

Мы предполагаем следующий телесиновый поток:

Top fields:     1 2 2 3 4
Bottom fields:  1 2 3 4 4

Цифры соответствуют прогрессивному кадру, к которому относятся поля. Здесь первые два кадра прогрессивные, 3-й и 4-й гребенчатые и так далее.

Когда fieldmatchнастроен запуск сопоставления снизу (field= bottom) вот как этот входной поток преобразуется:

Input stream:
                T     1 2 2 3 4
                B     1 2 3 4 4   <-- matching reference

Matches:              c c n n c

Output stream:
                T     1 2 3 4 4
                B     1 2 3 4 4

В результате сопоставления полей мы видим, что некоторые кадры дублируются. Чтобы выполнить полный обратный телесин, после этой операции необходимо использовать фильтр прореживания. См., например, децимативный фильтр.

Та же операция теперь сопоставляется с верхними полями (field= top) выглядит так:

Input stream:
                T     1 2 2 3 4   <-- matching reference
                B     1 2 3 4 4

Matches:              c c p p c

Output stream:
                T     1 2 2 3 4
                B     1 2 2 3 4

В этих примерах мы можем видеть p, что cи nозначают; в основном они относятся к кадру и полю противоположной четности:

  • pсоответствует полю противоположной четности в предыдущем кадре
  • cсоответствует полю противоположной четности в текущем кадре
  • nсоответствует полю противоположной четности в следующем кадре

11.88.1.2 в/б

Сопоставление uи bнемного отличается в том смысле, что они совпадают с противоположным флагом четности. В следующих примерах мы предполагаем, что в настоящее время мы сопоставляем второй кадр (верхний: 2, нижний: 2). В соответствии с совпадением над и под каждым совпавшим полем ставится крестик.

С нижним согласованием (field= bottom):

Match:           c         p           n          b          u

                 x       x               x        x          x
  Top          1 2 2     1 2 2       1 2 2      1 2 2      1 2 2
  Bottom       1 2 3     1 2 3       1 2 3      1 2 3      1 2 3
                 x         x           x        x              x

Output frames:
                 2          1          2          2          2
                 2          2          2          1          3

С верхним соответствием (field= top):

Match:           c         p           n          b          u

                 x         x           x        x              x
  Top          1 2 2     1 2 2       1 2 2      1 2 2      1 2 2
  Bottom       1 2 3     1 2 3       1 2 3      1 2 3      1 2 3
                 x       x               x        x          x

Output frames:
                 2          2          2          1          2
                 2          1          3          2          2

11.88.2 Примеры

Простой IVTC первого телесин-потока верхнего поля:

fieldmatch=order=tff:combmatch=none, decimate

Расширенный IVTC, с откатом на yadif для еще прочесанных кадров:

fieldmatch=order=tff:combmatch=full, yadif=deint=interlaced, decimate

11.89 fieldorder

Преобразуйте порядок полей входного видео.

Он принимает следующие параметры:

order

Порядок выходного поля. Допустимые значения: tffсначала верхнее поле или сначала bff нижнее поле.

Значение по умолчанию: 'tff'.

Преобразование выполняется путем сдвига содержимого изображения вверх или вниз на одну строку и заполнения оставшейся строки соответствующим содержанием изображения. Этот метод совместим с большинством широковещательных преобразователей порядка полей.

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

Это очень полезно при преобразовании в или из материала PAL DV, который находится первым в нижнем поле.

Например:

ffmpeg -i in.vob -vf "fieldorder=bff" out.dv

11.90 fifo, afifo

Буферизируйте входные изображения и отправляйте их по запросу.

В основном это полезно при автоматической вставке фреймворком libavfilter.

Он не принимает параметры.

11.91 fillborders

Заполните границы входного видео, не изменяя размеры видеопотока. Иногда видео может иметь мусор по четырем краям, и вы можете не захотеть обрезать видеовход, чтобы сохранить размер, кратный некоторому числу.

Этот фильтр принимает следующие параметры:

left

Количество пикселей для заполнения от левой границы.

right

Количество пикселей для заполнения от правой границы.

top

Количество пикселей для заполнения от верхней границы.

bottom

Количество пикселей для заполнения от нижней границы.

mode

Установите режим заполнения.

Он принимает следующие значения:

'smear'

заполнить пиксели, используя крайние пиксели

'mirror'

заполнить пиксели с помощью зеркального отображения (симметричная половина выборки)

'fixed'

заполнить пиксели постоянным значением

'reflect'

заполнить пиксели с помощью отражения (весь образец симметричен)

'wrap'

заполнить пиксели с помощью переноса

'fade'

затухание пикселей до постоянного значения

'margins'

заполнить пиксели сверху и снизу средневзвешенными пикселями рядом с границами

Значение по умолчанию smear.

color

Установите цвет для пикселей в фиксированном режиме или в режиме затухания. Значение по умолчанию black.

11.91.1 Команды

Этот фильтр поддерживает те же команды , что и параметры. Команда принимает тот же синтаксис соответствующей опции.

Если указанное выражение недействительно, оно сохраняется в своем текущем значении.

11.92 find_rect

Найдите прямоугольный предмет

Он принимает следующие параметры:

object

Путь к файлу изображения объекта должен быть выделен серым цветом8.

threshold

Порог обнаружения, по умолчанию 0,5.

mipmaps

Количество MIP-карт, по умолчанию 3.

xmin, ymin, xmax, ymax

Определяет прямоугольник, в котором нужно искать.

discard

Отбрасывать кадры, в которых объект не обнаружен. По умолчанию отключено.

11.92.1 Примеры

  • Покройте прямоугольный объект предоставленным изображением данного видео, используя ffmpeg:
    ffmpeg -i file.ts -vf find_rect=newref.pgm,cover_rect=cover.jpg:mode=cover new.mkv
    

11.93 floodfill

Область заливки значениями одних и тех же компонентов пикселей с другими значениями.

Он принимает следующие параметры:

x

Установите координату пикселя x.

y

Установите координату y пикселя.

s0

Установите значение компонента источника #0.

s1

Установите значение компонента источника №1.

s2

Установите значение компонента источника #2.

s3

Установите значение компонента источника #3.

d0

Установите значение компонента назначения #0.

d1

Установите значение компонента назначения #1.

d2

Установите значение компонента назначения #2.

d3

Установите значение компонента назначения #3.

11.94 format

Преобразуйте входное видео в один из указанных форматов пикселей. Libavfilter попытается выбрать тот, который подходит в качестве входных данных для следующего фильтра.

Он принимает следующие параметры:

pix_fmts

Разделенный символом '|' список имен форматов пикселей, например "pix_fmts=yuv420p|monow|rgb24".

11.94.1 Примеры

  • Преобразование входного видео в yuv420pформат
    format=pix_fmts=yuv420p
    

    Конвертируйте входное видео в любой из форматов в списке

    format=pix_fmts=yuv420p|yuv444p|yuv410p
    

11.95 fps

Преобразуйте видео в указанную постоянную частоту кадров, дублируя или удаляя кадры по мере необходимости.

Он принимает следующие параметры:

fps

Желаемая частота кадров на выходе. Он принимает выражения, содержащие следующие константы:

'source_fps'

Частота кадров на входе

'ntsc'

Частота кадров NTSC30000/1001

'pal'

Частота кадров PAL25.0

'film'

Частота кадров фильма24.0

'ntsc_film'

Частота кадров NTSC-фильма24000/1001

Значение по умолчанию 25.

start_time

Предположим, что первой PTS должно быть заданное значение в секундах. Это позволяет заполнять/обрезать в начале потока. По умолчанию никаких предположений об ожидаемой PTS для первого кадра не делается, поэтому заполнение или обрезка не выполняются. Например, можно установить значение 0, чтобы заполнить начало дубликатами первого кадра, если видеопоток начинается после аудиопотока, или чтобы обрезать любые кадры с отрицательным значением PTS.

round

Метод округления метки времени (PTS).

Возможные значения:

zero

округлить до 0

inf

округлить от 0

down

округлить до -бесконечности

up

округлить до +бесконечности

near

округлить до ближайшего

Значение по умолчанию near.

eof_action

Действие, выполняемое при чтении последнего кадра.

Возможные значения:

round

Используйте тот же метод округления метки времени, что и для других кадров.

pass

Пропустить последний кадр, если продолжительность ввода еще не достигнута.

Значение по умолчанию round.

Кроме того, параметры могут быть указаны в виде простой строки: fps[: start_time[: round]].

См. также фильтр настроек .

11.95.1 Примеры

  • Типичное использование для установки fps на 25:
    fps=fps=25
    
  • Устанавливает fps на 24, используя метод сокращения и округления до ближайшего:
    fps=fps=film:round=near
    

11.96 framepack

Упакуйте два разных видеопотока в стереоскопическое видео, установив правильные метаданные для поддерживаемых кодеков. Два представления должны иметь одинаковый размер и частоту кадров, и обработка остановится, когда закончится более короткое видео. Обратите внимание, что вы можете удобно настроить свойства вида с помощью фильтров масштаба и частоты кадров .

Он принимает следующие параметры:

format

Желаемый формат упаковки. Поддерживаемые значения:

sbs

Виды расположены рядом друг с другом (по умолчанию).

tab

Виды накладываются друг на друга.

lines

Представления упакованы построчно.

columns

Представления упакованы по столбцам.

frameseq

Представления чередуются во времени.

Некоторые примеры:

# Convert left and right views into a frame-sequential video
ffmpeg -i LEFT -i RIGHT -filter_complex framepack=frameseq OUTPUT

# Convert views into a side-by-side video with the same output resolution as the input
ffmpeg -i LEFT -i RIGHT -filter_complex [0:v]scale=w=iw/2[left],[1:v]scale=w=iw/2[right],[left][right]framepack=sbs OUTPUT

11.97 framerate

Измените частоту кадров, интерполируя новые кадры вывода видео из исходных кадров.

Этот фильтр не предназначен для правильной работы с чересстрочной разверткой. Если вы хотите изменить частоту кадров чересстрочного мультимедиа, вам необходимо выполнить деинтерлейсинг перед этим фильтром и выполнить повторный чересстрочности после этого фильтра.

Далее следует описание принятых опций.

fps

Укажите выходные кадры в секунду. Этот параметр также может быть указан как отдельное значение. Значение по умолчанию 50.

interp_start

Укажите начало диапазона, в котором выходной кадр будет создан как линейная интерполяция двух кадров. Диапазон — [ 0- 255], значение по умолчанию — 15.

interp_end

Укажите конец диапазона, в котором выходной кадр будет создан как линейная интерполяция двух кадров. Диапазон — [ 0- 255], значение по умолчанию — 240.

scene

Укажите уровень, при котором изменение сцены обнаруживается как значение от 0 до 100, чтобы указать новую сцену; низкое значение отражает низкую вероятность того, что текущий кадр представит новую сцену, в то время как более высокое значение означает, что текущий кадр, скорее всего, будет одним. Значение по умолчанию 8.2.

flags

Укажите флаги, влияющие на процесс фильтрации.

Доступное значение для flags:

scene_change_detect, scd

Включите обнаружение смены сцены, используя значение параметра scene. Этот флаг включен по умолчанию.

11.98 framestep

Выберите один кадр в каждом N-м кадре.

Этот фильтр принимает следующие параметры:

step

Выберите кадр после каждого stepкадра. Допустимые значения — положительные целые числа больше 0. Значение по умолчанию — 1.

11.99 freezedetect

Обнаружение зависшего видео.

Этот фильтр регистрирует сообщение и устанавливает метаданные кадра, когда обнаруживает, что входное видео не претерпевает существенных изменений в содержании в течение заданного времени. Обнаружение зависания видео вычисляет среднюю абсолютную разницу всех компонентов видеокадров и сравнивает ее с минимальным уровнем шума.

Печатное время и продолжительность выражены в секундах. Ключ lavfi.freezedetect.freeze_startметаданных устанавливается для первого кадра, временная метка которого равна или превышает продолжительность обнаружения, и содержит временную метку первого кадра стоп-кадра. Ключи метаданных lavfi.freezedetect.freeze_durationи lavfi.freezedetect.freeze_endустанавливаются на первом кадре после стоп-кадра.

Фильтр принимает следующие параметры:

noise, n

Установить устойчивость к шуму. Может быть указан в дБ (в случае, если к указанному значению добавляется «дБ») или как отношение разницы между 0 и 1. По умолчанию -60 дБ или 0,001.

duration, d

Установите продолжительность приостановки до уведомления (по умолчанию 2 секунды).

11.100 freezeframes

Заморозить кадры видео.

Этот фильтр замораживает кадры видео, используя кадр из второго входа.

Фильтр принимает следующие параметры:

first

Установите номер первого кадра, с которого следует начать стоп-кадр.

last

Установите номер последнего кадра, с которого следует закончить стоп-кадр.

replace

Установите количество кадров из 2-го входа, которые будут использоваться вместо замененных кадров.

11.101 frei0r

Примените эффект frei0r к входному видео.

Чтобы включить компиляцию этого фильтра, вам необходимо установить заголовок frei0r и настроить FFmpeg с расширением --enable-frei0r.

Он принимает следующие параметры:

filter_name

Имя загружаемого эффекта frei0r. Если переменная среды FREI0R_PATHопределена, эффект frei0r ищется в каждом из каталогов, указанных в списке, разделенном двоеточием, в FREI0R_PATH. В противном случае выполняется поиск стандартных путей frei0r в следующем порядке: HOME/.frei0r-1/lib/,/usr/local/lib/frei0r-1/, /usr/lib/frei0r-1/.

filter_params

Разделенный символом '|' список параметров для передачи в эффект frei0r.

Параметр эффекта frei0r может быть логическим (его значение равно «y» или «n»), двойным значением, цветом (задается как R/ G/ B, где R, G, и B— числами с плавающей запятой от 0,0 до 1,0 включительно) или описание цвета, как указано в разделе (ffmpeg-utils) «Цвет» в руководстве по ffmpeg-utils , позиция (указанная как X/ Y, где Xи Y— числа с плавающей запятой) и/или строка.

Количество и типы параметров зависят от загруженного эффекта. Если параметр эффекта не указан, устанавливается значение по умолчанию.

11.101.1 Примеры

  • Примените эффект искажения, установив первые два параметра типа double:
    frei0r=filter_name=distort0r:filter_params=0.5|0.01
    
  • Примените эффект colordistance, взяв цвет в качестве первого параметра:
    frei0r=colordistance:0.2/0.3/0.4
    frei0r=colordistance:violet
    frei0r=colordistance:0x112233
    
  • Примените эффект перспективы, указав верхнюю левую и верхнюю правую позиции изображения:
    frei0r=perspective:0.2/0.2|0.8/0.2
    

Для получения дополнительной информации см. http://frei0r.dyne.org

11.101.2 Команды

Этот фильтр поддерживаетfilter_paramsвариант как команды .

11.102 fspp

Применяйте быструю и простую постобработку. Это более быстрая версия spp .

Он разбивает (I)DCT на горизонтальные/вертикальные проходы. В отличие от простого фильтра постобработки, один из них выполняется один раз на блок, а не на пиксель. Это позволяет значительно увеличить скорость.

Фильтр принимает следующие параметры:

quality

Установить качество. Эта опция определяет количество уровней для усреднения. Он принимает целое число в диапазоне 4-5. Значение по умолчанию 4.

qp

Установите постоянный параметр квантования. Он принимает целое число в диапазоне 0-63. Если не установлено, фильтр будет использовать QP из видеопотока (если он доступен).

strength

Установить силу фильтра. Он принимает целое число в диапазоне от -15 до 32. Меньшие значения означают больше деталей, но также и больше артефактов, в то время как более высокие значения делают изображение более гладким, но и более размытым. Значение по умолчанию 0— оптимальное PSNR.

use_bframe_qp

Включите использование QP из B-кадров, если установлено значение 1. Использование этой опции может вызвать мерцание, так как B-кадры часто имеют большее значение QP. По умолчанию 0(не включено).

11.103 gblur

Примените фильтр размытия по Гауссу.

Фильтр принимает следующие параметры:

sigma

Установите горизонтальную сигму, стандартное отклонение размытия по Гауссу. Значение по умолчанию 0.5.

steps

Установите количество шагов для гауссовой аппроксимации. Значение по умолчанию 1.

planes

Установите, какие самолеты фильтровать. По умолчанию фильтруются все плоскости.

sigmaV

Установите вертикальную сигму, если она отрицательная, она будет такой же, как sigma. Значение по умолчанию -1.

11.103.1 Команды

Этот фильтр поддерживает те же команды, что и параметры. Команда принимает тот же синтаксис соответствующей опции.

Если указанное выражение недействительно, оно сохраняется в своем текущем значении.

11.104 geq

Примените общее уравнение к каждому пикселю.

Фильтр принимает следующие параметры:

lum_expr, lum

Установите выражение яркости.

cb_expr, cb

Установите цветность синего выражения.

cr_expr, cr

Установите красное выражение цветности.

alpha_expr, a

Установите альфа-выражение.

red_expr, r

Установите красное выражение.

green_expr, g

Установите зеленое выражение.

blue_expr, b

Установите синее выражение.

Цветовое пространство выбирается в соответствии с указанными параметрами. Если один изlum_expr,cb_expr, или жеcr_expr options, фильтр автоматически выберет цветовое пространство YCbCr. Если один изred_expr,green_expr, или же blue_exproptions, будет выбрано цветовое пространство RGB.

Если одно из выражений цветности не определено, оно возвращается к другому. Если альфа-выражение не указано, оно будет оцениваться как непрозрачное значение. Если ни одно из выражений цветности не указано, они будут оцениваться как выражение яркости.

В выражениях могут использоваться следующие переменные и функции:

N

Порядковый номер отфильтрованного кадра, начиная с 0.

X
Y

Координаты текущего образца.

W
H

Ширина и высота изображения.

SW
SH

Масштаб ширины и высоты зависит от текущей фильтруемой плоскости. Это отношение между количеством пикселей в соответствующей плоскости яркости и в текущей плоскости. Например, для YUV4:2:0 значения относятся 1,1к плоскости яркости и плоскости 0.5,0.5цветности.

T

Время текущего кадра, выраженное в секундах.

p(x, y)

Возвращает значение пикселя в местоположении ( x, y) текущей плоскости.

lum(x, y)

Возвращает значение пикселя в местоположении ( x, y) плоскости яркости.

cb(x, y)

Возвращает значение пикселя в местоположении ( x, y) плоскости цветности синего различия. Вернуть 0, если такой плоскости нет.

cr(x, y)

Возвращает значение пикселя в местоположении ( x, y) плоскости цветности красного цвета. Вернуть 0, если такой плоскости нет.

r(x, y)
g(x, y)
b(x, y)

Возвращает значение пикселя в местоположении ( x, y) красного/зеленого/синего компонента. Вернуть 0, если такого компонента нет.

alpha(x, y)

Возвращает значение пикселя в местоположении ( x, y) альфа-плоскости. Вернуть 0, если такой плоскости нет.

psum(x,y), lumsum(x, y), cbsum(x,y), crsum(x,y), rsum(x,y), gsum(x,y), bsum(x,y), alphasum(x,y)

Сумма выборочных значений в прямоугольнике от (0,0) до (x,y), это позволяет получить суммы выборок внутри прямоугольника. См. функции без постфикса суммы.

interpolation

Установите один из методов интерполяции:

nearest, n
bilinear, b

По умолчанию билинейный.

Для функций, если xи yнаходятся за пределами области, значение будет автоматически обрезано до ближнего края.

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

11.104.1 Примеры

  • Отразить изображение по горизонтали:
    geq=p(W-X\,Y)
    
  • Создайте двумерную синусоиду с углом PI/3и длиной волны 100 пикселей:
    geq=128 + 100*sin(2*(PI/100)*(cos(PI/3)*(X-50*T) + sin(PI/3)*Y)):128:128
    
  • Создайте причудливый загадочный движущийся свет:
    nullsrc=s=256x256,geq=random(1)/hypot(X-cos(N*0.07)*W/2-W/2\,Y-sin(N*0.09)*H/2-H/2)^2*1000000*sin(N*0.02):128:128
    
  • Создайте эффект быстрого тиснения:
    format=gray,geq=lum_expr='(p(X,Y)+(256-p(X-4,Y-4)))/2'
    
  • Измените компоненты RGB в зависимости от положения пикселя:
    geq=r='X/W*r(X,Y)':g='(1-X/W)*g(X,Y)':b='(H-Y)/H*b(X,Y)'
    
  • Создайте радиальный градиент того же размера, что и входные данные (см. также фильтр виньетирования ):
    geq=lum=255*gauss((X/W-0.5)*3)*gauss((Y/H-0.5)*3)/gauss(0)/gauss(0),format=gray
    

11.105 gradfun

Исправьте артефакты полос, которые иногда возникают в почти плоских областях, путем усечения до 8-битной глубины цвета. Интерполируйте градиенты, которые должны проходить там, где находятся полосы, и смешайте их.

Он предназначен только для воспроизведения. Не используйте его перед сжатием с потерями, потому что сжатие имеет тенденцию терять дизеринг и возвращать полосы.

Он принимает следующие параметры:

strength

Максимальная величина, на которую фильтр изменит любой один пиксель. Это также порог для обнаружения почти плоских областей. Допустимые значения находятся в диапазоне от 0,51 до 64; значение по умолчанию — 1,2. Значения вне диапазона будут обрезаны до допустимого диапазона.

radius

Окрестность, к которой подходит градиент. Больший радиус обеспечивает более плавные градиенты, но также не позволяет фильтру изменять пиксели вблизи детализированных областей. Приемлемые значения 8-32; значение по умолчанию — 16. Значения вне диапазона будут обрезаны до допустимого диапазона.

Кроме того, параметры могут быть указаны в виде простой строки: strength[: radius]

11.105.1 Примеры

  • Примените фильтр с 3.5силой и радиусом 8:
    gradfun=3.5:8
    
  • Укажите радиус, опуская силу (которая вернется к значению по умолчанию):
    gradfun=radius=8
    

11.106 graphmonitor

Показать различную статистику filtergraph.

С помощью этого фильтра можно отлаживать полный график фильтра. Особенно проблемы с заполнением ссылок кадрами из очереди.

Фильтр принимает следующие параметры:

size, s

Установите размер видеовыхода. Значение по умолчанию hd720.

opacity, o

Установить непрозрачность видео. Значение по умолчанию 0.9. Допустимый диапазон от 0до 1.

mode, m

Установите режим вывода, может быть fulllили compact. В compactрежиме только фильтры с некоторыми кадрами в очереди отображали статистику.

flags, f

Установите флаги, которые позволяют отображать статистику в видео.

Доступные значения для флагов:

'queue'

Отображение количества кадров в очереди в каждой ссылке.

'frame_count_in'

Отображение количества кадров, взятых из фильтра.

'frame_count_out'

Отображение количества кадров, выданных фильтром.

'frame_count_delta'

Отображение дельты количества кадров между двумя указанными выше значениями.

'pts'

Отображение текущих отфильтрованных точек кадра.

'pts_delta'

Отображение разницы в точках между текущим и предыдущим кадром.

'time'

Отображение текущего отфильтрованного времени кадра.

'time_delta'

Отображение временной разницы между текущим и предыдущим кадром.

'timebase'

Отображение временной базы для ссылки на фильтр.

'format'

Показать используемый формат для ссылки на фильтр.

'size'

Отображение размера видео или количества аудиоканалов, если аудио используется по ссылке фильтра.

'rate'

Отображение частоты кадров видео или частоты дискретизации в случае использования аудио по ссылке фильтра.

'eof'

Показать статус вывода ссылки.

'sample_count_in'

Отображение количества выборок, взятых из фильтра.

'sample_count_out'

Отображение количества образцов, выданных фильтром.

'sample_count_delta'

Отображение дельты количества выборок между двумя вышеуказанными значениями.

rate, r

Установите верхний предел скорости видео для выходного потока. Значение по умолчанию — 25. Это гарантирует, что частота кадров выходного видео не будет выше этого значения.

11.107 grayworld

Фильтр постоянства цвета, который применяет коррекцию цвета на основе предположения серого мира.

См.: https://www.researchgate.net/publication/275213614_A_New_Color_Correction_Method_for_Underwater_Imaging .

Алгоритм использует линейный свет, поэтому входные данные должны быть заранее линеаризованы (и, возможно, правильно помечены).

ffmpeg -i INPUT -vf zscale=transfer=linear,grayworld,zscale=transfer=bt709,format=yuv420p OUTPUT

11.108 greyedge

Фильтр изменения постоянства цвета, который оценивает освещенность сцены с помощью алгоритма серого края и соответствующим образом корректирует цвета сцены.

См.: https://staff.science.uva.nl/th.gevers/pub/GeversTIP07.pdf .

Фильтр принимает следующие параметры:

difford

Порядок дифференциации, применяемый к сцене. Должен быть выбран в диапазоне [0,2], значение по умолчанию равно 1.

minknorm

Параметр Минковского, используемый для расчета расстояния Минковского. Должен быть выбран в диапазоне [0,20], а значение по умолчанию равно 1. Установите значение 0 для получения максимального значения вместо вычисления расстояния Минковского.

sigma

Стандартное отклонение размытия по Гауссу, применяемое к сцене. Должен быть выбран в диапазоне [0,1024,0] и значение по умолчанию = 1. floor( sigma* break_off_sigma(3)) не может быть равен 0, если diffordбольше 0.

11.108.1 Примеры

  • Серый край:
    greyedge=difford=1:minknorm=5:sigma=2
    
  • Максимальный край:
    greyedge=difford=1:minknorm=0:sigma=2
    

11.109 guided

Примените направленный фильтр для сглаживания, устранения дымки и т. д. с сохранением краев.

Фильтр принимает следующие параметры:

radius

Установите радиус окна в пикселях. Допустимый диапазон от 1 до 20. По умолчанию 3.

eps

Установите параметр регуляризации (с квадратом). Допустимый диапазон: от 0 до 1. Значение по умолчанию: 0,01.

mode

Установить режим фильтра. Можно basicили fast. Значение по умолчанию basic.

sub

Установите коэффициент подвыборки для fastрежима. Диапазон: от 2 до 64. Значение по умолчанию: 4. В режиме субдискретизация не выполняется basic.

guidance

Установите режим навигации. Можно offили on. Значение по умолчанию off. Если off, требуется одиночный ввод. Если on, требуются два входа с одинаковым разрешением и форматом пикселей. Второй вход служит ориентиром.

planes

Установите самолеты для фильтрации. По умолчанию только первый.

11.109.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.109.2 Примеры

  • Сглаживание с сохранением границ с управляемым фильтром:
    ffmpeg -i in.png -vf guided out.png
    
  • Устранение дымки, фильтрация с передачей структуры, улучшение детализации с помощью управляемого фильтра. Информацию о создании направляющего изображения см. в статье «Фильтрация управляемого изображения». См.: http://kaiminghe.com/publications/pami12guidedfilter.pdf .
    ffmpeg -i in.png -i guidance.png -filter_complex guided=guidance=on out.png
    

11.110 haldclut

Примените Hald CLUT к видеопотоку.

Первый вход — это видеопоток для обработки, а второй — Hald CLUT. Вход Hald CLUT может быть простым изображением или полным видеопотоком.

Фильтр принимает следующие параметры:

clut

Установить, какие видеокадры CLUT будут обрабатываться из второго входного потока, можно firstили all. Значение по умолчанию all.

shortest

Принудительное завершение при завершении самого короткого ввода. Значение по умолчанию 0.

repeatlast

Продолжайте применять последний CLUT после окончания потока. Значение 0отключения фильтра после достижения последнего кадра CLUT. Значение по умолчанию 1.

haldclutтакже имеет те же параметры интерполяции, что и lut3d (оба фильтра имеют одинаковые внутренние компоненты).

Этот фильтр также поддерживает параметры синхронизации кадров .

Дополнительную информацию о Hald CLUT можно найти на веб-сайте Эскила Стинберга (автора Hald CLUT) по адресу http://www.quelsolaar.com/technology/clut.html .

11.110.1 Команды

Этот фильтр поддерживает interpопцию в виде команд .

11.110.2 Примеры рабочего процесса

11.110.2.1 Половинный видеопоток CLUT

Сгенерируйте поток Hald CLUT идентификации, измененный с различными эффектами:

ffmpeg -f lavfi -i haldclutsrc=8 -vf "hue=H=2*PI*t:s=sin(2*PI*t)+1, curves=cross_process" -t 10 -c:v ffv1 clut.nut

Примечание: убедитесь, что вы используете кодек без потерь.

Затем используйте его haldclut, чтобы применить его к некоторому случайному потоку:

ffmpeg -f lavfi -i mandelbrot -i clut.nut -filter_complex '[0][1] haldclut' -t 20 mandelclut.mkv

Hald CLUT будет применяться к 10 первым секундам (длительность clut.nut), то самое последнее изображение этого потока CLUT будет применено к оставшимся кадрам mandelbrotпотока.

11.110.2.2 Половина CLUT с предварительным просмотром

Предполагается, что Hald CLUT представляет собой квадратное изображение Level*Level*Levelпикселей Level*Level*Level. Для данного Hald CLUT FFmpeg выберет максимально возможный квадрат, начиная с левого верхнего угла изображения. Остальные пиксели заполнения (внизу или справа) будут игнорироваться. Эту область можно использовать для предварительного просмотра Hald CLUT.

Как правило, фильтр поддерживает следующие сгенерированные Hald CLUT haldclut:

ffmpeg -f lavfi -i haldclutsrc=8 -vf "
   pad=iw+320 [padded_clut];
   smptebars=s=320x256, split [a][b];
   [padded_clut][a] overlay=W-320:h, curves=color_negative [main];
   [main][b] overlay=W-320" -frames:v 1 clut.png

Он содержит оригинал и предварительный просмотр эффекта CLUT: цветные полосы SMPTE отображаются справа вверху, а внизу такие же цветные полосы, обработанные изменением цвета.

Затем эффект этого Hald CLUT можно визуализировать с помощью:

ffplay input.mkv -vf "movie=clut.png, [in] haldclut"

11.111 hflip

Отразите входное видео по горизонтали.

Например, чтобы перевернуть входное видео по горизонтали с помощью ffmpeg:

ffmpeg -i in.avi -vf "hflip" out.avi

11.112 histeq

Этот фильтр применяет глобальное выравнивание цветовой гистограммы для каждого кадра.

Его можно использовать для исправления видео со сжатым диапазоном интенсивности пикселей. Фильтр перераспределяет интенсивности пикселей, чтобы выровнять их распределение по всему диапазону интенсивности. Его можно рассматривать как «автоматически настраиваемый контрастный фильтр». Этот фильтр полезен только для исправления ухудшенного или плохо захваченного исходного видео.

Фильтр принимает следующие параметры:

strength

Определите величину выравнивания, которое необходимо применить. По мере уменьшения интенсивности распределение интенсивности пикселей все больше и больше приближается к распределению входного кадра. Значение должно быть числом с плавающей запятой в диапазоне [0,1] и по умолчанию равно 0,200.

intensity

Установите максимальную интенсивность, которая может быть сгенерирована, и соответствующим образом масштабируйте выходные значения. Сила должна быть установлена ​​по желанию, а затем интенсивность может быть ограничена, если это необходимо, чтобы избежать вымывания. Значение должно быть числом с плавающей запятой в диапазоне [0,1] и по умолчанию равно 0,210.

antibanding

Установите уровень подавления полос. Если фильтр включен, он будет случайным образом изменять яркость выходных пикселей на небольшую величину, чтобы избежать появления полос на гистограмме. Возможные значения none, weakили strong. По умолчанию это none.

11.113 histogram

Вычислите и нарисуйте гистограмму распределения цветов для входного видео.

Вычисленная гистограмма представляет собой представление распределения компонентов цвета в изображении.

Стандартная гистограмма отображает распределение компонентов цвета в изображении. Отображает цветовой график для каждого цветового компонента. Показывает распределение компонентов Y, U, V, A или R, G, B, в зависимости от формата ввода, в текущем кадре. Под каждым графиком показан измеритель шкалы компонентов цвета.

Фильтр принимает следующие параметры:

level_height

Установить высоту уровня. Значение по умолчанию 200. Допустимый диапазон: [50, 2048].

scale_height

Установить высоту цветовой шкалы. Значение по умолчанию 12. Допустимый диапазон: [0, 40].

display_mode

Установите режим отображения. Он принимает следующие значения:

'stack'

Графики компонентов цвета располагаются друг под другом.

'parade'

Графики компонентов цвета расположены рядом.

'overlay'

Представляет информацию, идентичную представленной в parade, за исключением того, что графики, представляющие компоненты цвета, накладываются непосредственно друг на друга.

Значение по умолчанию stack.

levels_mode

Установить режим. Можно или linear, или logarithmic. Значение по умолчанию linear.

components

Установите, какие компоненты цвета отображать. Значение по умолчанию 7.

fgopacity

Установите непрозрачность переднего плана. Значение по умолчанию 0.7.

bgopacity

Установите прозрачность фона. Значение по умолчанию 0.5.

colors_mode

Установить цветовой режим. Он принимает следующие значения:

'whiteonblack'
'blackonwhite'
'whiteongray'
'blackongray'
'coloronblack'
'coloronwhite'
'colorongray'
'blackoncolor'
'whiteoncolor'
'grayoncolor'

Значение по умолчанию whiteonblack.

11.113.1 Примеры

  • Рассчитаем и нарисуем гистограмму:
    ffplay -i input -vf histogram
    

11.114 hqdn3d

Это высокоточный/качественный 3D шумоподавляющий фильтр. Он направлен на уменьшение шума изображения, создание плавных изображений и создание неподвижных изображений. Это должно повысить сжимаемость.

Он принимает следующие необязательные параметры:

luma_spatial

Неотрицательное число с плавающей запятой, указывающее силу пространственной яркости. По умолчанию это 4.0.

chroma_spatial

Неотрицательное число с плавающей запятой, указывающее силу пространственной цветности. По умолчанию 3.0* luma_spatial/4.0.

luma_tmp

Число с плавающей запятой, указывающее временную силу яркости. По умолчанию 6.0* luma_spatial/4.0.

chroma_tmp

Число с плавающей запятой, указывающее временную силу цветности. По умолчанию это luma_tmp* chroma_spatial/ luma_spatial.

11.114.1 Команды

Этот фильтр поддерживает те же команды , что и параметры. Команда принимает тот же синтаксис соответствующей опции.

Если указанное выражение недействительно, оно сохраняется в своем текущем значении.

11.115 hwdownload

Загрузите аппаратные фреймы в системную память.

Ввод должен быть в аппаратных фреймах, а вывод - в неаппаратном формате. На выходе будут поддерживаться не все форматы - возможно, потребуется вставить дополнительныйformatотфильтруйте сразу после графика, чтобы получить вывод в поддерживаемом формате.

11.116 hwmap

Сопоставьте аппаратные фреймы с системной памятью или с другим устройством.

Этот фильтр имеет несколько различных режимов работы; какой из них используется, зависит от входных и выходных форматов:

  • Аппаратный ввод кадров, обычный вывод кадров

    Сопоставьте входные кадры с системной памятью и передайте их на выход. Если впоследствии потребуется исходный аппаратный каркас (например, после наложения на него чего-либо другого),hwmapfilter можно использовать снова в следующем режиме, чтобы получить его.

  • Обычный ввод кадров, аппаратный вывод кадров

    Если входные данные на самом деле являются аппаратным фреймом, отображаемым программным обеспечением, то отмените его сопоставление, то есть верните исходный аппаратный фрейм.

    В противном случае необходимо предоставить устройство. Создайте новые аппаратные поверхности на этом устройстве для вывода, затем сопоставьте их обратно с программным форматом на входе и передайте эти кадры предыдущему фильтру. Затем это будет действовать как hwuploadfilter, но может избежать дополнительной копии, когда ввод уже находится в совместимом формате.

  • Аппаратный ввод и вывод кадров

    Устройство должно поставляться для вывода либо напрямую, либо с derive_deviceвариант. Устройства ввода и вывода должны быть разных типов и совместимы — точное значение этого зависит от системы, но обычно это означает, что они должны относиться к одному и тому же основному аппаратному контексту (например, к одной и той же видеокарте).

    Если входные кадры изначально были созданы на устройстве вывода, отмените сопоставление, чтобы получить исходные кадры.

    В противном случае сопоставьте кадры с устройством вывода — создайте новые аппаратные кадры на выходе, соответствующие кадрам на входе.

Принимаются следующие дополнительные параметры:

mode

Установите режим сопоставления кадров. Некоторая комбинация:

read

Сопоставленный фрейм должен быть читаемым.

write

Сопоставленный фрейм должен быть доступен для записи.

overwrite

Отображение всегда будет перезаписывать весь кадр.

В некоторых случаях это может улучшить производительность, поскольку исходное содержимое фрейма не нужно загружать.

direct

Отображение не должно включать никакого копирования.

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

По умолчанию, read+writeесли не указано.

derive_device type

Вместо того, чтобы использовать устройство, предоставленное при инициализации, вместо этого получите новое устройство типа typeиз устройства, на котором существуют входные кадры.

reverse

При сопоставлении аппаратных средств с аппаратными средствами сопоставляйте в обратном порядке — создавайте кадры в приемнике и сопоставляйте их обратно с источником. Это может быть необходимо в некоторых случаях, когда требуется отображение в одном направлении, но используемые устройства поддерживают только противоположное направление.

Эта опция опасна — она может нарушить работу предыдущего фильтра неопределенным образом, если есть какие-либо дополнительные ограничения на выходные данные этого фильтра. Не используйте его без полного понимания последствий его использования.

11.117 hwupload

Загружать фреймы системной памяти на аппаратные поверхности.

Устройство для загрузки должно быть указано при инициализации фильтра. При использовании ffmpeg выберите соответствующее устройство с-filter_hw_device вариант или с помощьюderive_deviceвариант. Устройства ввода и вывода должны быть разных типов и совместимы — точное значение этого зависит от системы, но обычно это означает, что они должны относиться к одному и тому же основному аппаратному контексту (например, к одной и той же видеокарте).

Принимаются следующие дополнительные параметры:

derive_device type

Вместо того, чтобы использовать устройство, предоставленное при инициализации, вместо этого получите новое устройство типа typeиз устройства, на котором существуют входные кадры.

11.118 hwupload_cuda

Загрузите фреймы системной памяти на устройство CUDA.

Он принимает следующие необязательные параметры:

device

Номер используемого устройства CUDA

11.119 hqx

Примените высококачественный фильтр увеличения, разработанный для пиксельной графики. Изначально этот фильтр был создан Максимом Степиным.

Он принимает следующий вариант:

n

Установите размерность масштабирования: 2для hq2x, 3для hq3xи 4для hq4x. Значение по умолчанию 3.

11.120 hstack

Складывать входные видео горизонтально.

Все потоки должны иметь одинаковый формат пикселей и одинаковую высоту.

Обратите внимание, что этот фильтр работает быстрее, чем использование наложенного и подушечного фильтров для создания одного и того же вывода.

Фильтр принимает следующий вариант:

inputs

Установите количество входных потоков. По умолчанию 2.

shortest

Если установлено значение 1, принудительное завершение вывода при завершении кратчайшего ввода. Значение по умолчанию — 0.

11.121 hsvhold

Превращает определенный диапазон HSV в значения серого.

Этот фильтр измеряет разницу в цвете между установленным цветом HSV в параметрах и цветом, измеренным в видеопотоке. В зависимости от параметров выходные цвета могут быть изменены на серые или нет.

Фильтр принимает следующие параметры:

hue

Установите значение оттенка, которое будет использоваться при расчете цветового различия. Допустимый диапазон от -360 до 360. Значение по умолчанию 0.

sat

Установите значение насыщенности, которое будет использоваться при расчете цветового различия. Допустимый диапазон от -1 до 1. Значение по умолчанию — 0.

val

Установите значение, которое будет использоваться при расчете цветового различия. Допустимый диапазон от -1 до 1. Значение по умолчанию — 0.

similarity

Установите процент сходства с ключевым цветом. Допустимый диапазон — от 0 до 1. Значение по умолчанию — 0,01.

0.00001 соответствует только точному ключевому цвету, а 1.0 соответствует всему.

blend

Процент смеси. Допустимый диапазон — от 0 до 1. Значение по умолчанию — 0.

0.0 делает пиксели либо полностью серыми, либо вовсе не серыми.

Более высокие значения приводят к большему количеству серых пикселей, чем выше значение серого пикселя, тем больше цвет пикселя похож на ключевой цвет.

11.122 hsvkey

Превращает определенный диапазон HSV в прозрачность.

Этот фильтр измеряет разницу в цвете между установленным цветом HSV в параметрах и цветом, измеренным в видеопотоке. В зависимости от параметров выходные цвета можно изменить на прозрачные, добавив альфа-канал.

Фильтр принимает следующие параметры:

hue

Установите значение оттенка, которое будет использоваться при расчете цветового различия. Допустимый диапазон от -360 до 360. Значение по умолчанию 0.

sat

Установите значение насыщенности, которое будет использоваться при расчете цветового различия. Допустимый диапазон от -1 до 1. Значение по умолчанию — 0.

val

Установите значение, которое будет использоваться при расчете цветового различия. Допустимый диапазон от -1 до 1. Значение по умолчанию — 0.

similarity

Установите процент сходства с ключевым цветом. Допустимый диапазон — от 0 до 1. Значение по умолчанию — 0,01.

0.00001 соответствует только точному ключевому цвету, а 1.0 соответствует всему.

blend

Процент смеси. Допустимый диапазон — от 0 до 1. Значение по умолчанию — 0.

0.0 делает пиксели либо полностью прозрачными, либо непрозрачными вовсе.

Более высокие значения приводят к полупрозрачным пикселям, причем чем выше прозрачность, тем больше цвет пикселя похож на ключевой цвет.

11.123 hue

Измените оттенок и/или насыщенность ввода.

Он принимает следующие параметры:

h

Укажите угол оттенка в градусах. Он принимает выражение и по умолчанию равен "0".

s

Укажите насыщенность в диапазоне [-10,10]. Он принимает выражение и по умолчанию равен "1".

H

Укажите угол оттенка в радианах. Он принимает выражение и по умолчанию равен "0".

b

Укажите яркость в диапазоне [-10,10]. Он принимает выражение и по умолчанию равен "0".

hа такжеHявляются взаимоисключающими и не могут быть указаны одновременно.

The b,h,Hа такжеsзначения параметров представляют собой выражения, содержащие следующие константы:

n

количество кадров входного кадра, начиная с 0

pts

временная метка представления входного кадра, выраженная в базовых единицах времени

r

частота кадров входного видео, NAN, если частота кадров входного сигнала неизвестна

t

метка времени, выраженная в секундах, NAN, если метка времени ввода неизвестна

tb

временная база входного видео

11.123.1 Примеры

  • Установите оттенок на 90 градусов и насыщенность на 1,0:
    hue=h=90:s=1
    
  • Та же команда, но с выражением оттенка в радианах:
    hue=H=PI/2:s=1
    
  • Поверните оттенок и сделайте так, чтобы насыщенность колебалась между 0 и 2 в течение 1 секунды:
    hue="H=2*PI*t: s=sin(2*PI*t)+1"
    
  • Примените 3-секундный эффект нарастания насыщенности, начиная с 0:
    hue="s=min(t/3\,1)"
    

    Общее выражение постепенного появления может быть записано как:

    hue="s=min(0\, max((t-START)/DURATION\, 1))"
    
  • Примените эффект затухания насыщения на 3 секунды, начиная с 5 секунды:
    hue="s=max(0\, min(1\, (8-t)/3))"
    

    Общее выражение затухания может быть записано как:

    hue="s=max(0\, min(1\, (START+DURATION-t)/DURATION))"
    

11.123.2 Команды

Этот фильтр поддерживает следующие команды:

b
s
h
H

Измените оттенок и/или насыщенность и/или яркость входного видео. Команда принимает тот же синтаксис соответствующей опции.

Если указанное выражение недействительно, оно сохраняется в своем текущем значении.

11.124 huesaturation

Примените настройки оттенка-насыщенности-интенсивности к входному видеопотоку.

Этот фильтр работает в цветовом пространстве RGB.

Этот фильтр принимает следующие параметры:

hue

Установите изменение оттенка в градусах для применения. По умолчанию 0. Допустимый диапазон от -180 до 180.

saturation

Установите сдвиг насыщенности. По умолчанию 0. Допустимый диапазон от -1 до 1.

intensity

Установите сдвиг интенсивности. По умолчанию 0. Допустимый диапазон от -1 до 1.

colors

Установите, какие основные и дополнительные цвета будут корректироваться. Эти параметры устанавливаются путем предоставления одного или нескольких значений. Это может выбрать несколько цветов одновременно. По умолчанию выбраны все цвета.

'r'

Отрегулируйте красные.

'y'

Отрегулируйте желтые.

'g'

Отрегулируйте зелень.

'c'

Настройте голубые.

'b'

Отрегулируйте блюз.

'm'

Отрегулируйте пурпурный цвет.

'a'

Настройте все цвета.

strength

Установить силу фильтрации. Допустимый диапазон — от 0 до 100. Значение по умолчанию — 1.

rw, gw, bw

Установите вес для каждого компонента RGB. Допустимый диапазон от 0 до 1. По умолчанию установлено 0,333, 0,334, 0,333. Эти параметры используются при обработке насыщенности и осветления.

lightness

Установить сохранение светлоты, по умолчанию отключено. Регулировка оттенков может изменить яркость по сравнению с исходным триплетом RGB, при включении этой опции яркость сохраняется на том же значении.

11.125 hysteresis

Превратите первый поток во второй поток, соединив компоненты. Это позволяет создавать более надежные краевые маски.

Этот фильтр принимает следующие параметры:

planes

Укажите, какие плоскости будут обработаны как растровые, необработанные плоскости будут скопированы из первого потока. При значении по умолчанию 0xf будут обработаны все плоскости.

threshold

Установите порог, который используется при фильтрации. Если значение компонента пикселя выше этого значения, активируется алгоритм фильтрации соединения компонентов. По умолчанию значение равно 0.

Фильтр hysteresisтакже поддерживает параметры синхронизации кадров .

11.126 iccdetect

Определите цветовое пространство из встроенного профиля ICC (если он есть) и соответствующим образом обновите теги кадра.

Этот фильтр принимает следующие параметры:

force

Если задано значение true, существующие теги цветового пространства фрейма всегда будут переопределяться значениями, обнаруженными в профиле ICC. В противном случае они будут назначены только в том случае, если они содержат unknown. Включено по умолчанию.

11.127 iccgen

Создайте профили ICC и прикрепите их к фреймам.

Этот фильтр принимает следующие параметры:

color_primaries
color_trc

Настройте цветовое пространство, для которого будет создан профиль ICC. Значение по умолчанию autoвыводит значение из метаданных входного кадра, по умолчанию используется BT.709/sRGB.

Список возможных значений см. в фильтре setparamsunknown , но обратите внимание, что это недопустимые значения для этого фильтра.

force

Если установлено значение true, будет создан профиль ICC, даже если он перезапишет уже существующий профиль ICC. Отключено по умолчанию.

11.128 identity

Получите оценку идентичности между двумя входными видео.

Этот фильтр принимает два входных видео.

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

Полученная по компоненту средняя, ​​минимальная и максимальная оценка идентичности распечатывается через систему регистрации.

Фильтр сохраняет вычисленные оценки идентичности каждого кадра в метаданных кадра.

В приведенном ниже примере входной файлmain.mpgобрабатываемый файл сравнивается с эталонным файломref.mpg.

ffmpeg -i main.mpg -i ref.mpg -lavfi identity -f null -

11.129 idet

Обнаружение типа чересстрочной развертки видео.

Этот фильтр пытается определить, являются ли входные кадры чересстрочными, прогрессивными, верхними или нижними полями. Он также попытается обнаружить поля, которые повторяются между соседними кадрами (признак телесина).

Обнаружение одиночного кадра учитывает только непосредственно соседние кадры при классификации каждого кадра. Обнаружение нескольких кадров включает в себя историю классификации предыдущих кадров.

Фильтр будет регистрировать следующие значения метаданных:

single.current_frame

Обнаруженный тип текущего кадра с помощью обнаружения одиночного кадра. Один из: «tff» (сначала верхнее поле), «bff» (сначала нижнее поле), «прогрессивный» или «неопределенный»

single.tff

Совокупное количество кадров, обнаруженных как верхнее поле, сначала с использованием однокадрового обнаружения.

multiple.tff

Совокупное количество кадров, обнаруженных как верхнее поле, сначала с использованием обнаружения нескольких кадров.

single.bff

Совокупное количество кадров, обнаруженных как нижнее поле, сначала с использованием однокадрового обнаружения.

multiple.current_frame

Обнаруженный тип текущего кадра с использованием обнаружения нескольких кадров. Один из: «tff» (сначала верхнее поле), «bff» (сначала нижнее поле), «прогрессивный» или «неопределенный»

multiple.bff

Совокупное количество кадров, обнаруженных как нижнее поле, сначала с использованием обнаружения нескольких кадров.

single.progressive

Совокупное количество кадров, обнаруженных как прогрессивные с использованием однокадрового обнаружения.

multiple.progressive

Совокупное количество кадров, обнаруженных как прогрессивные с использованием обнаружения нескольких кадров.

single.undetermined

Совокупное количество кадров, которые не удалось классифицировать с помощью обнаружения одиночных кадров.

multiple.undetermined

Совокупное количество кадров, которые не удалось классифицировать с помощью обнаружения нескольких кадров.

repeated.current_frame

Какое поле в текущем кадре повторяется с последнего. Один из «ни», «верхний» или «нижний».

repeated.neither

Совокупное количество кадров без повторяющегося поля.

repeated.top

Совокупное количество кадров, в которых верхнее поле повторяется из верхнего поля предыдущего кадра.

repeated.bottom

Совокупное количество кадров с нижним полем, повторяющимся из нижнего поля предыдущего кадра.

Фильтр принимает следующие параметры:

intl_thres

Установить порог чересстрочной развертки.

prog_thres

Установите прогрессивный порог.

rep_thres

Порог для повторного обнаружения поля.

half_life

Количество кадров, после которых вклад данного кадра в статистику уменьшается вдвое (т. е. он вносит только 0,5 вклада в свою классификацию). Значение по умолчанию 0 означает, что всем просматриваемым кадрам навсегда присваивается полный вес 1,0.

analyze_interlaced_flag

Если это не 0, тогда ide будет использовать указанное количество кадров, чтобы определить, является ли чересстрочный флаг точным, он не будет подсчитывать неопределенные кадры. Если флаг окажется точным, он будет использоваться без каких-либо дальнейших вычислений, если он будет признан неточным, он будет очищен без каких-либо дальнейших вычислений. Это позволяет вставить фильтр idet в качестве метода с низкими вычислительными затратами для очистки чересстрочного флага.

11.130 il

Обратное чередование или чередование полей.

Этот фильтр позволяет обрабатывать чересстрочные поля изображений без их деинтерлейсинга. Деперемежение разбивает входной кадр на 2 поля (так называемые половинные изображения). Нечетные строки перемещаются в верхнюю половину выходного изображения, четные — в нижнюю. Вы можете обрабатывать (фильтровать) их независимо друг от друга, а затем повторно чередовать.

Фильтр принимает следующие параметры:

luma_mode, l
chroma_mode, c
alpha_mode, a

Доступные значения для luma_modeи : chroma_modealpha_mode

'none'

Ничего не делать.

'deinterleave, d'

Деинтерливировать поля, размещая одно над другим.

'interleave, i'

Чередование полей. Обратный эффект обратного чередования.

Значение по умолчанию none.

luma_swap, ls
chroma_swap, cs
alpha_swap, as

Поменяйте местами поля яркости/цветности/альфа. Обмен четными и нечетными строками. Значение по умолчанию 0.

11.130.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.131 inflate

Примените эффект раздувания к видео.

Этот фильтр заменяет пиксель локальным (3x3) средним значением, принимая во внимание только значения выше пикселя.

Он принимает следующие параметры:

threshold0
threshold1
threshold2
threshold3

Ограничьте максимальное изменение для каждой плоскости, по умолчанию 65535. Если 0, плоскость останется неизменной.

11.131.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.132 interlace

Простой чересстрочный фильтр из прогрессивного содержимого. Это чередует верхние (или нижние) строки нечетных кадров с нижними (или верхними) строками четных кадров, вдвое уменьшая частоту кадров и сохраняя высоту изображения.

   Original        Original             New Frame
   Frame 'j'      Frame 'j+1'             (tff)
  ==========      ===========       ==================
    Line 0  -------------------->    Frame 'j' Line 0
    Line 1          Line 1  ---->   Frame 'j+1' Line 1
    Line 2 --------------------->    Frame 'j' Line 2
    Line 3          Line 3  ---->   Frame 'j+1' Line 3
     ...             ...                   ...
New Frame + 1 will be generated by Frame 'j+2' and Frame 'j+3' and so on

Он принимает следующие необязательные параметры:

scan

Это определяет, берется ли чересстрочный кадр из четных (tff - по умолчанию) или нечетных (bff) строк прогрессивного кадра.

lowpass

Вертикальный фильтр нижних частот, чтобы избежать чересстрочной развертки твиттера и уменьшить муаровые узоры.

'0, off'

Отключить вертикальный фильтр нижних частот

'1, linear'

Включить линейный фильтр (по умолчанию)

'2, complex'

Включить сложный фильтр. Это немного уменьшит щебетание и муар, но лучше сохранит детализацию и субъективное ощущение резкости.

11.133 kerndeint

Деинтерлейсинг входного видео с помощью адаптивного деинтерлейсинга ядра Дональда Графта. Работайте с чересстрочными частями видео для создания прогрессивных кадров.

Далее следует описание принятых параметров.

thresh

Установите порог, который влияет на допуск фильтра при определении необходимости обработки линии пикселей. Это должно быть целое число в диапазоне [0,255] и по умолчанию равно 10. Значение 0 приведет к применению процесса к каждому пикселю.

map

Закрасить пиксели, превышающие пороговое значение, белым цветом, если установлено значение 1. Значение по умолчанию — 0.

order

Установите порядок полей. Поменяйте местами поля, если установлено значение 1, оставьте поля в покое, если установлено значение 0. По умолчанию установлено значение 0.

sharp

Включить дополнительную резкость, если установлено значение 1. Значение по умолчанию — 0.

twoway

Включите двустороннюю резкость, если установлено значение 1. Значение по умолчанию — 0.

11.133.1 Примеры

  • Применить значения по умолчанию:
    kerndeint=thresh=10:map=0:order=0:sharp=0:twoway=0
    
  • Включить дополнительную резкость:
    kerndeint=sharp=1
    
  • Покрасьте обработанные пиксели в белый цвет:
    kerndeint=map=1
    

11.134 kirsch

Применить оператор Кирша к входному видеопотоку.

Фильтр принимает следующий вариант:

planes

Укажите, какие плоскости будут обработаны, необработанные плоскости будут скопированы. При значении по умолчанию 0xf будут обработаны все плоскости.

scale

Установите значение, которое будет умножено на отфильтрованный результат.

delta

Установите значение, которое будет добавлено к отфильтрованному результату.

11.134.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.135 lagfun

Медленно обновляйте более темные пиксели.

Этот фильтр делает короткие вспышки света длиннее. Этот фильтр принимает следующие параметры:

decay

Установить коэффициент затухания. По умолчанию 0,95. Допустимый диапазон от 0 до 1.

planes

Установите, какие самолеты фильтровать. По умолчанию все. Допустимый диапазон от 0 до 15.

11.135.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.136 lenscorrection

Исправление радиальной дисторсии объектива

Этот фильтр можно использовать для коррекции радиального искажения, возникающего в результате использования широкоугольных объективов, и, таким образом, для повторного исправления изображения. Чтобы найти правильные параметры, можно использовать инструменты, доступные, например, в составе opencv или просто методом проб и ошибок. Чтобы использовать opencv, используйте калибровочный образец (в разделе samples/cpp) из источников opencv и извлеките коэффициенты k1 и k2 из полученной матрицы.

Обратите внимание, что фактически такой же фильтр доступен в инструментах с открытым исходным кодом Krita и Digikam из проекта KDE.

В отличие от фильтра виньетки , который также можно использовать для компенсации ошибок объектива, этот фильтр корректирует искажение изображения, тогда как виньетка корректирует распределение яркости, поэтому в некоторых случаях вы можете использовать оба фильтра вместе, хотя чтобы позаботиться о порядке, т.е. следует ли применять виньетирование до или после коррекции объектива.

11.136.1 Опции

Фильтр принимает следующие параметры:

cx

Относительная x-координата фокуса изображения и, следовательно, центра искажения. Это значение имеет диапазон [0,1] и выражается в долях ширины изображения. По умолчанию 0,5.

cy

Относительная координата y фокальной точки изображения и, следовательно, центра искажения. Это значение имеет диапазон [0,1] и выражается в долях высоты изображения. По умолчанию 0,5.

k1

Коэффициент квадратичного поправочного члена. Это значение имеет диапазон [-1,1]. 0 означает отсутствие коррекции. По умолчанию 0.

k2

Коэффициент двойного квадратичного поправочного члена. Это значение имеет диапазон [-1,1]. 0 означает отсутствие коррекции. По умолчанию 0.

i

Установите тип интерполяции. Можно nearestили bilinear. Значение по умолчанию nearest.

fc

Укажите цвет неотображенных пикселей. Синтаксис этой опции см. в разделе (ffmpeg-utils) «Цвет» в руководстве по ffmpeg-utils . Цвет по умолчанию black@0.

Формула, которая генерирует поправку:

r_src= r_tgt* (1 + k1* ( r_tgt/ r_0)^2 + k2* ( r_tgt/ r_0)^4)

где r_0– половина диагонали изображения , r_srcа r_tgt– расстояния от точки фокуса на исходном и целевом изображениях соответственно.

11.136.2 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.137 lensfun

Примените коррекцию объектива с помощью библиотеки Lensfun ( http://lensfun.sourceforge.net/ ).

Фильтр lensfunтребует, чтобы производитель камеры, модель камеры и модель объектива применяли коррекцию объектива. Фильтр загрузит базу данных Lensfun и запросит ее, чтобы найти соответствующие записи камеры и объектива в базе данных. Пока эти записи можно найти с заданными параметрами, фильтр может выполнять исправления кадров. Обратите внимание, что неполные строки приведут к тому, что фильтр выберет наилучшее соответствие с заданными параметрами, и фильтр выведет выбранные модели камеры и объектива (зарегистрированные с уровнем «информация»). Вы должны предоставить марку, модель камеры и модель объектива по мере необходимости.

Чтобы получить список доступных производителей и моделей, пропустите один или оба параметра makeи model. Фильтр отправит полный список в журнал с уровнем INFO. В первом столбце указана марка, во втором — модель. Чтобы получить список доступных объективов, установите любые значения для марки и модели и оставьте эту lens_modelопцию. Фильтр отправит полный список линз в лог с уровнем INFO. Инструмент ffmpeg завершит работу после того, как список будет напечатан.

Фильтр принимает следующие параметры:

make

Марка камеры (например, «Canon»). Эта опция обязательна.

model

Модель камеры (например, «Canon EOS 100D»). Эта опция обязательна.

lens_model

Модель объектива (например, «Canon EF-S 18-55mm f/3.5-5.6 IS STM»). Эта опция обязательна.

db_path

Полный путь к папке базы данных объективов. Если не задано, фильтр попытается загрузить базу данных из пути установки при сборке библиотеки. По умолчанию не установлено.

mode

Применяемый тип коррекции. Следующие значения являются допустимыми вариантами:

'vignetting'

Включает исправление виньетирования объектива.

'geometry'

Позволяет исправить геометрию объектива. Это значение по умолчанию.

'subpixel'

Позволяет исправить хроматические аберрации.

'vig_geo'

Позволяет исправить виньетирование объектива и геометрию объектива.

'vig_subpixel'

Позволяет исправить виньетирование объектива и хроматические аберрации.

'distortion'

Позволяет исправить как геометрию объектива, так и хроматические аберрации.

'all'

Включает все возможные исправления.

focal_length

Фокусное расстояние изображения/видео (увеличение; ожидаемая константа для видео). Например, объектив 18–55 мм имеет диапазон фокусных расстояний [18–55], поэтому при использовании этого объектива следует выбирать значение в этом диапазоне. По умолчанию 18.

aperture

Апертура изображения/видео (ожидаемая постоянная для видео). Обратите внимание, что диафрагма используется только для коррекции виньетирования. По умолчанию 3.5.

focus_distance

Фокусное расстояние изображения/видео (ожидаемая константа для видео). Обратите внимание, что фокусное расстояние используется только для виньетирования и лишь незначительно влияет на процесс коррекции виньетирования. Если неизвестно, оставьте значение по умолчанию (которое равно 1000).

scale

Масштабный коэффициент, применяемый после преобразования. После исправления видео уже не обязательно прямоугольное. Этот параметр определяет, какая часть результирующего изображения будет видна. Значение 0 означает, что значение будет выбрано автоматически таким образом, чтобы на выходном изображении было мало или совсем не было неотображенной области. 1.0 означает, что дополнительное масштабирование не выполняется. Более низкие значения могут привести к тому, что будет видна большая часть скорректированного изображения, в то время как более высокие значения могут помочь избежать неотображенных областей на выходе.

target_geometry

Целевая геометрия выходного изображения/видео. Следующие значения являются допустимыми вариантами:

'rectilinear (default)'
'fisheye'
'panoramic'
'equirectangular'
'fisheye_orthographic'
'fisheye_stereographic'
'fisheye_equisolid'
'fisheye_thoby'
reverse

Примените обратную коррекцию изображения (вместо исправления искажения примените его).

interpolation

Тип интерполяции, используемый при коррекции искажений. Следующие значения являются допустимыми вариантами:

'nearest'
'linear (default)'
'lanczos'

11.137.1 Примеры

  • Примените коррекцию объектива с маркой «Canon», моделью камеры «Canon EOS 100D» и моделью объектива «Canon EF-S 18-55mm f/3.5-5.6 IS STM» с фокусным расстоянием «18» и диафрагмой «8.0».
    ffmpeg -i input.mov -vf lensfun=make=Canon:model="Canon EOS 100D":lens_model="Canon EF-S 18-55mm f/3.5-5.6 IS STM":focal_length=18:aperture=8 -c:v h264 -b:v 8000k output.mov
    
  • Примените то же самое, что и раньше, но только для первых 5 секунд видео.
    ffmpeg -i input.mov -vf lensfun=make=Canon:model="Canon EOS 100D":lens_model="Canon EF-S 18-55mm f/3.5-5.6 IS STM":focal_length=18:aperture=8:enable='lte(t\,5)' -c:v h264 -b:v 8000k output.mov
    

11.138 libplacebo

Гибкий фильтр обработки с GPU-ускорением на основе libplacebo ( https://code.videolan.org/videolan/libplacebo ). Обратите внимание, что этот фильтр в настоящее время принимает только входные кадры Vulkan.

11.138.1 Опции

Параметры этого фильтра разделены на следующие разделы:

11.138.1.1 Режим вывода

Эти параметры управляют общим режимом вывода. По умолчанию libplacebo попытается максимально сохранить исходную колориметрию и размер, но при этом будет применяться любое встроенное зерно пленки, метаданные Dolby Vision или анаморфотный SAR, присутствующие в исходных кадрах.

w
h

Установите выражение размера выходного видео. Значение по умолчанию — входное измерение.

Позволяет использовать те же выражения, что и масштабный фильтр.

format

Установите переопределение выходного формата. Если не установлено (по умолчанию), кадры будут выводиться в том же формате, что и соответствующие входные кадры. В противном случае будет выполнено преобразование формата.

force_original_aspect_ratio
force_divisible_by

Работайте так же, как и идентичные параметры масштабного фильтра.

normalize_sar

Если включено (по умолчанию), выходные кадры всегда будут иметь соотношение сторон пикселя 1:1. Если этот параметр отключен, любые несоответствия соотношения сторон, в том числе, например, из-за источников анаморфного видео, перенаправляются в соотношение сторон выходного пикселя.

pad_crop_ratio

Указывает соотношение (между 0.0и 1.0) между отступами и кадрированием, когда соотношение сторон на входе не соответствует соотношению сторон на выходе и normalize_sarдействует. Значение по умолчанию 0.0всегда дополняет содержимое черными рамками, а значение 1.0всегда обрезает части содержимого. Возможны промежуточные значения, что приводит к смешению двух подходов.

colorspace
color_primaries
color_trc
range

Настройте цветовое пространство, в котором будут доставляться выходные кадры. Значение по умолчанию для autoвыходных кадров в том же формате, что и входные кадры, без изменений. Для любого другого значения будет выполнено преобразование.

См . фильтр setparams для списка возможных значений.

apply_filmgrain

Примените зернистость пленки (например, AV1 или H.274), если она присутствует в исходных кадрах, и удалите ее из вывода. Включено по умолчанию.

apply_dolbyvision

Примените метаданные Dolby Vision RPU, если они присутствуют в исходных кадрах, и удалите их из вывода. Включено по умолчанию. Обратите внимание, что Dolby Vision всегда будет выводить BT.2020+PQ, переопределяя обычные метаданные входного кадра. Они также будут выбраны в качестве значений autoдля соответствующих параметров вывода кадров.

11.138.1.2 Масштабирование

Параметры в этом разделе управляют тем, как libplacebo выполняет увеличение и (при необходимости) уменьшение масштаба. Обратите внимание, что libplacebo всегда будет внутренне работать с контентом 4:4:4, поэтому любые форматы цветности с субдискретизацией, такие как yuv420p, обязательно будут повышаться и понижаться в процессе рендеринга. Это означает, что масштабирование может действовать, даже если исходное и целевое разрешения совпадают.

upscaler
downscaler

Настройте ядро ​​фильтра, используемое для увеличения и уменьшения масштаба. Соответствующие значения по умолчанию: spline36и mitchell. Для получения полного списка возможных значений перейдите helpк этим параметрам. Наиболее важными значениями являются:

'none'

Заставляет использовать встроенную выборку текстур графического процессора (обычно билинейную). Чрезвычайно быстро, но плохого качества, особенно при даунскейлинге.

'bilinear'

Билинейная интерполяция. Как правило, это можно сделать бесплатно на графических процессорах, за исключением случаев, когда это приведет к алиасингу. Быстро и некачественно.

'nearest'

Интерполяция ближайших соседей. Резкий, но сильно алиасинговый.

'oversample'

Алгоритм, который визуально похож на интерполяцию ближайшего соседа, но пытается сохранить пропорции пикселя. Подходит для пиксель-арта, так как приводит к минимальным искажениям художественного образа.

'lanczos'

Стандартное ядро ​​интерполяции sinc-sinc.

'spline36'

Аппроксимация кубическим сплайном Ланцоша. Никакой разницы в производительности, но имеет немного меньше звона.

'ewa_lanczos'

Эллиптически взвешенная версия lanczos, основанная на ядре jinc-sinc. Это также обычно называют просто «масштабированием Jinc». Медленно, но очень качественно.

'gaussian'

Гауссово ядро. Имеет некие идеальные математические свойства, но субъективно очень размыт.

'mitchell'

Кубический сплайн BC с параметрами, рекомендованными Митчеллом и Нетравали. Очень мало звонка.

lut_entries

Настраивает размер LUT скейлера в диапазоне от 1до 256. По умолчанию 0будет выбрано внутреннее значение по умолчанию libplacebo, обычно 64.

antiringing

Включает подавление звонка (для фильтров не EWA). Значение (между 0.0и 1.0) настраивает силу алгоритма подавления звонков. Может увеличить алиасинг, если установлено слишком высокое значение. Отключено по умолчанию.

sigmoid

Включите сигмоидальное сжатие во время масштабирования. Немного уменьшает звон. Включено по умолчанию.

11.138.1.3 Удаление полос

Libplacebo поставляется со встроенным фильтром устранения полос, который хорошо противодействует многим распространенным источникам полос и блокировок. Включение этого параметра настоятельно рекомендуется всякий раз, когда требуется качество.

deband

Включить (быстрый) алгоритм удаления полос. Отключено по умолчанию.

deband_iterations

Количество итераций удаления полос алгоритма удаления полос. Каждая итерация выполняется с постепенно увеличивающимся радиусом (и уменьшающимся порогом). Рекомендуемые значения находятся в диапазоне 1от 4. По умолчанию 1.

deband_threshold

Сила полосового фильтра. Более высокие значения приводят к более агрессивному удалению полос. По умолчанию 4.0.

deband_radius

Радиус деполосирующего фильтра. Больший радиус лучше подходит для медленных уклонов, а меньший радиус лучше подходит для крутых уклонов. По умолчанию 16.0.

deband_grain

Количество дополнительного выходного зерна для добавления. Помогает скрыть недостатки. По умолчанию 6.0.

11.138.1.4 Настройка цвета

Коллекция субъективных элементов управления цветом. Не очень строго, поэтому точный эффект будет несколько варьироваться в зависимости от исходных основных цветов и цветового пространства.

brightness

Повышение яркости, между -1.0и 1.0. По умолчанию 0.0.

contrast

Контрастное усиление, между 0.0и 16.0. По умолчанию 1.0.

saturation

Усиление насыщения, между 0.0и 16.0. По умолчанию 1.0.

hue

Сдвиг оттенка в радианах между -3.14и 3.14. По умолчанию 0.0. Это повернет субвектор UV, по умолчанию будут использоваться коэффициенты BT.709 для входных сигналов RGB.

gamma

Регулировка гаммы, между 0.0и 16.0. По умолчанию 1.0.

cones

Модель конуса для моделирования дальтонизма. Принимает любую комбинацию l, mи s. Вот некоторые примеры:

'm'

Дейтераномалия/дейтеранопия (от 3% до 4% населения)

'l'

Протаномалия/протанопия (затрагивает 1-2% населения)

'l+m'

Монохромность (очень редко)

'l+m+s'

Ахроматопсия (полная потеря дневного зрения, крайне редко)

cone-strength

Коэффициент усиления для конусов, заданных cones, между 0.0и 10.0. Значение не 1.0приводит к изменению цветового зрения. Значение 0.0(по умолчанию) имитирует полную потерю этих конусов. Значения выше 1.0приводят к преувеличению различий между колбочками, что может помочь компенсировать снижение цветового зрения.

11.138.1.5 Обнаружение пика

Чтобы помочь справиться с источниками, которые имеют только статические метаданные HDR10 (или вообще не имеют тегов), libplacebo использует собственный внутренний вычислительный шейдер для анализа кадров, чтобы анализировать исходные кадры и адаптировать функцию отображения тонов в реальном времени. Если это слишком медленно или если требуются точно воспроизводимые кадры, рекомендуется отключить эту функцию.

peak_detect

Включите обнаружение пиков HDR. Игнорирует статические значения MaxCLL/MaxFALL в пользу динамического обнаружения на входе. Обратите внимание, что обнаруженные значения не записываются обратно в выходные кадры, они просто управляют внутренним процессом отображения тонов. Включено по умолчанию.

smoothing_period

Период сглаживания обнаружения пиков, между 0.0и 1000.0. Более высокие значения приводят к тому, что обнаружение пиков становится менее чувствительным к изменениям на входе. По умолчанию 100.0.

minimum_peak

Нижняя граница обнаруженного пика (относительно белого SDR) между 0.0 и 100.0. По умолчанию 1.0.

scene_threshold_low
scene_threshold_high

Нижний и верхний пороги для обнаружения изменения сцены. Выражается в логарифмической шкале между 0.0и 100.0. По умолчанию 5.5 и 10.0соответственно. Установка отрицательного значения отключает эту функцию.

overshoot

Максимальное сглаживание предела выброса, между 0.0и 1.0. Обеспечивает запас прочности для предотвращения отсечения в результате сглаживания пиков. По умолчанию 0.05, что соответствует марже 5%.

11.138.1.6 Отображение тонов

Параметры в этом разделе управляют тем, как libplacebo выполняет сопоставление тонов и цветовой гаммы при работе с несоответствиями между контентом с широкой гаммой или HDR. В целом, libplacebo полагается на точную маркировку источников и обработку информации о цветовой гамме дисплея для получения наилучших результатов.

intent

Цель рендеринга для использования при адаптации между различными основными цветовыми гаммами (после тональной компрессии).

'perceptual'

Отображение перцептивной гаммы. В настоящее время эквивалентно относительному колориметрическому.

'relative'

Относительный колориметрический. Это значение по умолчанию.

'absolute'

Абсолютная колориметрия.

'saturation'

Отображение насыщенности. Принудительно растягивает исходную гамму до целевой гаммы.

gamut_mode

Как обрабатывать цвета вне гаммы, которые могут возникнуть в результате сопоставления колориметрической гаммы.

'clip'

Ничего не делайте, просто обрежьте выходящие за пределы диапазона цвета в объем RGB. Это значение по умолчанию.

'warn'

Выделите пиксели вне цветового охвата (окрашивая их в розовый цвет).

'darken'

Линейно уменьшает яркость содержимого, чтобы сохранить насыщенные детали, с последующим отсечением оставшихся цветов вне гаммы. Как следует из названия, это делает все темнее, но обеспечивает хороший баланс между сохранением деталей и цветов.

'desaturate'

Жесткое обесцвечивание цветов вне гаммы в сторону белого с сохранением яркости. Имеет склонность к изменению цвета.

tonemapping

Алгоритм отображения тонов для использования. Доступные значения:

'auto'

Автоматический выбор на основе внутренней эвристики. Это значение по умолчанию.

'clip'

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

'bt.2390'

EETF из отчета ITU-R BT.2390, скатывание сплайна Эрмита с линейным сегментом. Смещение точки перегиба настраивается. Обратите внимание, что этот параметр по умолчанию имеет значение 1.0, а не значение из 0.5спецификации ITU-R.

'bt.2446a'

EETF из отчета ITU-R BT.2446, метод A. Предназначен для хорошо освоенных источников HDR. Может использоваться как для прямой, так и для обратной тональной компрессии. Не настраивается.

'spline'

Простой сплайн, состоящий из двух полиномов, соединенных одной точкой вращения. Параметр задает точку поворота (в пространстве PQ), по умолчанию 0.30. Может использоваться как для прямой, так и для обратной тональной компрессии.

'reinhard'

Простой нелинейный алгоритм глобальной тональной компрессии. Параметр определяет локальный коэффициент контрастности на пике изображения. По сути, параметр 0.5подразумевает, что эталонный белый будет примерно вдвое ярче, чем при отсечении. По умолчанию имеет значение 0.5, что приводит к простейшей формулировке этой функции.

'mobius'

Обобщение алгоритма отображения тонов Рейнхарда для поддержки дополнительного линейного наклона вблизи черного. Параметр отображения тонов указывает компромисс между линейной частью и нелинейной частью. По существу, для данного параметра xкаждое значение цвета ниже xбудет отображаться линейно, в то время как более высокие значения получают нелинейное отображение тона. Значения около 1.0заставляют эту кривую вести себя как clip, а значения около 0.0заставляют эту кривую вести себя как reinhard. Значение по умолчанию — 0.3, что обеспечивает хороший баланс между колориметрической точностью и сохранением деталей за пределами цветового охвата.

'hable'

Алгоритм кусочного кинематографического тонального отображения, разработанный Джоном Хейблом для использования в Uncharted 2, вдохновлен аналогичным алгоритмом тонального отображения, используемым Kodak. Популярен благодаря использованию в видеоиграх с HDR-рендерингом. Очень хорошо сохраняет как темные, так и яркие детали, но имеет недостаток, заключающийся в довольно значительном изменении средней яркости. Это похоже на reinhardпараметр 0.24.

'gamma'

Соответствует функции гаммы (степени) для передачи между исходным и целевым цветовыми пространствами, что эффективно приводит к восприятию жесткого соединения двух примерно линейных участков. Это довольно точно сохраняет детали во всех масштабах, но может привести к тому, что изображение будет приглушенным или тусклым. Параметр используется в качестве точки отсечки, по умолчанию равной 0.5.

'linear'

Линейно растягивает входной диапазон до выходного диапазона в пространстве PQ. Это позволит точно сохранить все детали, но приведет к значительному изменению средней яркости. Может использоваться для обратного тонального отображения в дополнение к обычному тональному отображению. Параметр можно использовать как дополнительный коэффициент линейного усиления (по умолчанию 1.0).

tonemapping_param

Для настраиваемых функций отображения тонов этот параметр можно использовать для точной настройки поведения кривой. Обратитесь к документации tonemapping. Значение по умолчанию 0.0заменяется предпочтительной настройкой кривой по умолчанию.

tonemapping_mode

Этот параметр определяет, как функция отображения тонов, указанная параметром, tonemappingприменяется к цветам в сцене. Возможные значения:

'auto'

Автоматический выбор на основе внутренней эвристики. Это значение по умолчанию.

'rgb'

Примените функцию для каждого канала в цветовом пространстве RGB. Поканальное тональное отображение в RGB. Гарантирует отсутствие отсечения и сильно обесцвечивает вывод, но значительно искажает цвета. Очень похоже на "голливудский" внешний вид.

'max'

Тональное отображение выполняется для самого яркого компонента, обнаруженного в сигнале. Хорошо сохраняет детали в светлых участках, но имеет тенденцию подавлять черный цвет.

'hybrid'

Карта тонов для каждого канала для светлых участков и линейная (на основе яркости) для полутонов/теней на основе фиксированной 2.4кривой гамма-коэффициента.

'luma'

Тональная карта линейно по компоненту яркости (CIE Y) и корректировка (обесцвечивание) цветности для компенсации с помощью простого постоянного коэффициента. По сути, это режим, используемый в методе A ITU-R BT.2446.

inverse_tonemapping

Если этот фильтр включен, он также будет пытаться растягивать сигналы SDR, чтобы заполнить выходные цветовые объемы HDR. Отключено по умолчанию.

tonemapping_crosstalk

Дополнительный коэффициент перекрестных помех тонального отображения, между 0.0и 0.3. Это может помочь уменьшить проблемы с отображением тонов определенных ярких спектральных цветов. По умолчанию 0.04.

tonemapping_lut_size

Размер LUT тонального отображения, между 2и 1024. По умолчанию 256. Обратите внимание, что эта цифра возводится в квадрат в сочетании с peak_detect.

11.138.1.7 Дизеринг

По умолчанию libplacebo будет выполнять дизеринг всякий раз, когда это необходимо, включая рендеринг в любой целочисленный формат с точностью ниже 16-битной. Рекомендуется всегда оставлять это включенным, так как в противном случае на выходе могут появиться видимые полосы, даже если debandingфильтр включен. Если нужна максимальная производительность, используйте ordered_fixedвместо отключения дизеринг.

dithering

Используемый метод дизеринга. Принимает следующие значения:

'none'

Полностью отключает дизеринг. Может привести к видимым полосам.

'blue'

Дизеринг с псевдосиним шумом. Это значение по умолчанию.

'ordered'

Настраиваемый упорядоченный шаблон дизеринга.

'ordered_fixed'

Быстрее упорядоченный дизеринг с фиксированным размером 6. Без текстуры.

'white'

Дизеринг с белым шумом. Без текстуры.

dither_lut_size

Dither LUT размер, как логарифм base2 между 1и 8. По умолчанию 6, что соответствует размеру LUT 64x64.

dither_temporal

Включает временное сглаживание. Отключено по умолчанию.

11.138.1.8 Пользовательские шейдеры

libplacebo поддерживает ряд пользовательских шейдеров, основанных на синтаксисе mpv .hook GLSL. Коллекцию таких шейдеров можно найти здесь: https://github.com/mpv-player/mpv/wiki/User-Scripts#user-shaders .

Полное описание формата шейдера mpv выходит за рамки этого раздела, но сводку можно найти здесь: https://mpv.io/manual/master/#options-glsl-shader .

custom_shader_path

Указывает путь к пользовательскому файлу шейдера для загрузки во время выполнения.

custom_shader_bin

Задает полный пользовательский шейдер в виде необработанной строки.

11.138.1.9 Отладка/производительность

Все параметры в этом разделе по умолчанию отключены. Они могут помочь при попытке выжать максимальную производительность за счет качества.

skip_aa

Отключите сглаживание при уменьшении масштаба.

polar_cutoff

Обрезать ядра полярного масштабатора (EWA) ниже этой абсолютной величины, между 0.0и 1.0.

disable_linear

Отключите линейное масштабирование света.

disable_builtin

Отключить встроенную выборку графического процессора (принудительно использовать LUT).

force_icc_lut

Принудительное использование полного ICC 3DLUT для сопоставления гаммы.

disable_fbos

Принудительно отключать FBO, что приводит к потере почти всего функционала, но предлагает максимально возможную скорость.

11.138.2 Команды

Этот фильтр поддерживает почти все вышеперечисленные параметры в виде команд .

11.138.3 Примеры

  • Полный пример того, как инициализировать устройство Vulkan, загружать кадры в графический процессор, выполнять преобразование фильтра в yuv420p и загружать кадры обратно в ЦП для вывода. Обратите внимание, что в определенных случаях вы можете обойти необходимость выполнения преобразования формата, указав правильный formatпараметр фильтра, соответствующий входным кадрам.
    ffmpeg -i $INPUT -init_hw_device vulkan -vf hwupload,libplacebo=format=yuv420p,hwdownload,format=yuv420p $OUTPUT
    
  • Ввод тональной карты на выход стандартной гаммы BT.709:
    libplacebo=colorspace=bt709:color_primaries=bt709:color_trc=bt709:range=tv
    
  • Масштабируйте ввод, чтобы он соответствовал стандартному разрешению 1080p, с масштабированием высокого качества:
    libplacebo=w=1920:h=1080:force_original_aspect_ratio=decrease:normalize_sar=true:upscaler=ewa_lanczos:downscaler=ewa_lanczos
    
  • Преобразование входных данных в стандартный sRGB JPEG:
    libplacebo=format=yuv420p:colorspace=bt470bg:color_primaries=bt709:color_trc=iec61966-2-1:range=pc
    
  • Используйте более качественные настройки удаления полос:
    libplacebo=deband=true:deband_iterations=3:deband_radius=8:deband_threshold=6
    
  • Запустите этот фильтр на ЦП, в системах с установленной Mesa (и с отключенными самыми дорогими опциями):
    ffmpeg ... -init_hw_device vulkan:llvmpipe ... -vf libplacebo=upscaler=none:downscaler=none:peak_detect=false
    
  • Подавить применение зернистости пленки AV1/H.274 на базе процессора в декодере, вместо этого используйте этот фильтр. Обратите внимание, что это выигрыш только в том случае, если кадры либо уже находятся на графическом процессоре, либо если вы используете libplacebo для других целей, поскольку в противном случае циклический обмен VRAM более чем компенсирует любое ожидаемое ускорение.
    ffmpeg -export_side_data +film_grain ... -vf libplacebo=apply_filmgrain=true
    

11.139 libvmaf

Вычислите оценку VMAF (объединение нескольких методов оценки видео) для пары исходных/искаженных входных видео.

Первый вход — это искаженное видео, а второй вход — эталонное видео.

Полученная оценка VMAF распечатывается через систему регистрации.

Для этого требуется библиотека Netflix vmaf (libvmaf) в качестве предварительного условия. После установки библиотеки ее можно включить с помощью: ./configure --enable-libvmaf.

Фильтр имеет следующие параметры:

model

'|' разделенный список моделей vmaf. Каждая модель может быть сконфигурирована с рядом параметров. Значение по умолчанию:"version=vmaf_v0.6.1"

model_path

Устарело, используйте model='path=...'.

enable_transform

Устарело, используйте model='enable_transform=true'.

phone_model

Устарело, используйте model='enable_transform=true'.

enable_conf_interval

Устарело, используйте model='enable_conf_interval=true'.

feature

'|' ограниченный список функций. Каждая функция может быть настроена с помощью ряда параметров.

psnr

Устарело, используйте feature='name=psnr'.

ssim

Устарело, используйте feature='name=ssim'.

ms_ssim

Устарело, используйте feature='name=ms_ssim'.

log_path

Задайте путь к файлу, который будет использоваться для хранения файлов журнала.

log_fmt

Установите формат файла журнала (xml, json, csv или sub).

n_threads

Установите количество потоков, которые будут использоваться при инициализации libvmaf. Значение по умолчанию: 0, нет потоков.

n_subsample

Установите интервал субдискретизации кадров, который будет использоваться.

Этот фильтр также поддерживает параметры синхронизации кадров .

11.139.1 Примеры

  • В приведенных ниже примерах искаженное видеоdistorted.mpgсравнивается с эталонным файломreference.mpg.
  • Основное использование:
    ffmpeg -i distorted.mpg -i reference.mpg -lavfi libvmaf=log_path=output.xml -f null -
    
  • Пример с несколькими моделями:
    ffmpeg -i distorted.mpg -i reference.mpg -lavfi libvmaf='model=version=vmaf_v0.6.1\\:name=vmaf|version=vmaf_v0.6.1neg\\:name=vmaf_neg' -f null -
    
  • Пример с несколькими дополнительными функциями:
    ffmpeg -i distorted.mpg -i reference.mpg -lavfi libvmaf='feature=name=psnr|name=ciede' -f null -
    
  • Пример с опциями и разными контейнерами:
    ffmpeg -i distorted.mpg -i reference.mkv -lavfi "[0:v]settb=AVTB,setpts=PTS-STARTPTS[main];[1:v]settb=AVTB,setpts=PTS-STARTPTS[ref];[main][ref]libvmaf=log_fmt=json:log_path=output.json" -f null -
    

11.140 limitdiff

Примените фильтр с ограниченным различием, используя второй и, возможно, третий видеопоток.

Фильтр принимает следующие параметры:

threshold

Установите порог, который будет использоваться при разрешении определенных различий между видеопотоками. Любое абсолютное значение разности, меньшее или точное, чем этот порог, будет выбирать компоненты пикселей из первого видеопотока.

elasticity

Установите эластичность мягкого порога при обработке видеопотоков. Это значение, умноженное на первое, устанавливает второй порог. Любое абсолютное значение разницы, большее или точное, чем второй порог, будет выбирать компоненты пикселей из второго видеопотока. Для значений между этими двумя пороговыми значениями будет использоваться линейная интерполяция между первым и вторым видеопотоком.

reference

Включить обработку эталонного (третьего) видеопотока. По умолчанию отключен. Если установлено, этот видеопоток будет использоваться для расчета абсолютной разницы с первым видеопотоком.

planes

Укажите, какие плоскости будут обрабатываться. По умолчанию все доступные.

11.140.1 Команды

Этот фильтр поддерживает все вышеперечисленные опции как команды, кроме опции 'reference'.

11.141 limiter

Ограничивает значения компонентов пикселей указанным диапазоном [мин., макс.].

Фильтр принимает следующие параметры:

min

Нижняя граница. По умолчанию используется наименьшее допустимое значение для ввода.

max

Верхняя граница. По умолчанию используется максимально допустимое значение для ввода.

planes

Укажите, какие плоскости будут обрабатываться. По умолчанию все доступные.

11.141.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.142 loop

Цикл видеокадров.

Фильтр принимает следующие параметры:

loop

Установите количество петель. Установка этого значения на -1 приведет к бесконечным циклам. По умолчанию 0.

size

Установите максимальный размер в количестве кадров. По умолчанию 0.

start

Установить первый кадр цикла. По умолчанию 0.

11.142.1 Примеры

  • Цикл одиночного первого кадра бесконечно:
    loop=loop=-1:size=1:start=0
    
  • Цикл одиночного первого кадра 10 раз:
    loop=loop=10:size=1:start=0
    
  • Зациклить 10 первых кадров 5 раз:
    loop=loop=5:size=10:start=0
    

11.143 lut1d

Примените 1D LUT к входному видео.

Фильтр принимает следующие параметры:

file

Установите имя файла 1D LUT.

В настоящее время поддерживаются форматы:

'cube'

Иридас

'csp'

киноКосмос

interp

Выберите режим интерполяции.

Доступные значения:

'nearest'

Используйте значения из ближайшей определенной точки.

'linear'

Интерполируйте значения с помощью линейной интерполяции.

'cosine'

Интерполируйте значения с помощью косинусной интерполяции.

'cubic'

Интерполируйте значения, используя кубическую интерполяцию.

'spline'

Интерполируйте значения, используя сплайн-интерполяцию.

11.143.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.144 lut3d

Примените 3D LUT к входному видео.

Фильтр принимает следующие параметры:

file

Задайте имя файла 3D LUT.

В настоящее время поддерживаются форматы:

'3dl'

Постэффекты

'cube'

Иридас

'dat'

Да Винчи

'm3d'

Пандора

'csp'

киноКосмос

interp

Выберите режим интерполяции.

Доступные значения:

'nearest'

Используйте значения из ближайшей определенной точки.

'trilinear'

Интерполируйте значения, используя 8 точек, определяющих куб.

'tetrahedral'

Интерполируйте значения, используя тетраэдр.

'pyramid'

Интерполируйте значения с помощью пирамиды.

'prism'

Интерполируйте значения с помощью призмы.

11.144.1 Команды

Этот фильтр поддерживает interpопцию в виде команд .

11.145 lumakey

Превратите определенные значения яркости в прозрачность.

Фильтр принимает следующие параметры:

threshold

Установите яркость, которая будет использоваться в качестве основы для прозрачности. Значение по умолчанию 0.

tolerance

Установите диапазон значений яркости для исключения. Значение по умолчанию 0.01.

softness

Установите диапазон мягкости. Значение по умолчанию 0. Используйте это для управления постепенным переходом от нуля к полной прозрачности.

11.145.1 Команды

Этот фильтр поддерживает те же команды , что и параметры. Команда принимает тот же синтаксис соответствующей опции.

Если указанное выражение недействительно, оно сохраняется в своем текущем значении.

11.146 lut, lutrgb, lutyuv

Вычислите справочную таблицу для привязки каждого входного значения компонента пикселя к выходному значению и примените его к входному видео.

lutyuvприменяет справочную таблицу к входному видео YUV, lutrgb к входному видео RGB.

Эти фильтры принимают следующие параметры:

c0

установить выражение компонента первого пикселя

c1

установить выражение компонента второго пикселя

c2

установить выражение компонента третьего пикселя

c3

установить выражение компонента четвертого пикселя, соответствует альфа-компоненту

r

установить выражение красного компонента

g

установить выражение зеленого компонента

b

установить выражение синего компонента

a

выражение альфа-компонента

y

установить выражение компонента Y/яркости

u

установить выражение компонента U/Cb

v

установить выражение компонента V/Cr

Каждый из них задает выражение, используемое для вычисления таблицы поиска для соответствующих значений компонентов пикселей.

Точный компонент, связанный с каждым из c*параметров, зависит от формата ввода.

Для lutфильтра требуются форматы пикселей YUV или RGB на входе, lutrgbтребуются форматы пикселей RGB на входе и lutyuvтребуется YUV.

Выражения могут содержать следующие константы и функции:

w
h

Вводимая ширина и высота.

val

Входное значение для компонента пикселя.

clipval

Входное значение, обрезанное до диапазона minval- maxval.

maxval

Максимальное значение компонента пикселя.

minval

Минимальное значение компонента пикселя.

negval

Инвертированное значение для значения компонента пикселя, обрезанное до диапазона minval- maxval; это соответствует выражению "maxval-clipval+minval".

clip(val)

Вычисленное значение в val, обрезанное до диапазона minval- maxval.

gammaval(gamma)

Вычисленное значение гамма-коррекции значения компонента пикселя, обрезанное до диапазона minval- maxval. Это соответствует выражению "pow((clipval-minval)/(maxval-minval)\, gamma)*(maxval-minval)+minval"

Все выражения по умолчанию имеют значение «clipval».

11.146.1 Команды

Этот фильтр поддерживает те же команды , что и параметры.

11.146.2 Примеры

  • Отменить входное видео:
    lutrgb="r=maxval+minval-val:g=maxval+minval-val:b=maxval+minval-val"
    lutyuv="y=maxval+minval-val:u=maxval+minval-val:v=maxval+minval-val"
    

    Вышеупомянутое аналогично:

    lutrgb="r=negval:g=negval:b=negval"
    lutyuv="y=negval:u=negval:v=negval"
    
  • Отменить яркость:
    lutyuv=y=negval
    
  • Удалите компоненты цветности, превратив видео в изображение в оттенках серого:
    lutyuv="u=128:v=128"
    
  • Примените эффект горения яркости:
    lutyuv="y=2*val"
    
  • Удалите зеленые и синие компоненты:
    lutrgb="g=0:b=0"
    
  • Установите постоянное значение альфа-канала на входе:
    format=rgba,lutrgb=a="maxval-minval/2"
    
  • Корректировка яркостной гаммы с коэффициентом 0,5:
    lutyuv=y=gammaval(0.5)
    
  • Отбросить младшие значащие биты яркости:
    lutyuv=y='bitand(val, 128+64+32)'
    
  • Эффект Technicolor:
    lutyuv=u='(val-maxval/2)*2+maxval/2':v='(val-maxval/2)*2+maxval/2'
    

11.147 lut2, tlut2

Фильтр lut2принимает два входных потока и выводит один поток.

Фильтр tlut2(time lut2) берет два последовательных кадра из одного потока.

Этот фильтр принимает следующие параметры:

c0

установить выражение компонента первого пикселя

c1

установить выражение компонента второго пикселя

c2

установить выражение компонента третьего пикселя

c3

установить выражение компонента четвертого пикселя, соответствует альфа-компоненту

d

установить разрядность вывода, доступно только для lut2фильтра. По умолчанию равно 0, что означает, что битовая глубина автоматически выбирается из первого входного формата.

Фильтр lut2также поддерживает параметры синхронизации кадров .

Каждый из них задает выражение, используемое для вычисления таблицы поиска для соответствующих значений компонентов пикселей.

Точный компонент, связанный с каждым из c*параметров, зависит от формата входных данных.

Выражения могут содержать следующие константы:

w
h

Вводимая ширина и высота.

x

Первое входное значение для компонента пикселя.

y

Второе входное значение для компонента пикселя.

bdx

Битовая глубина первого входного видео.

bdy

Битовая глубина второго входного видео.

Все выражения по умолчанию равны "x".

11.147.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд, кроме параметра d.

11.147.2 Примеры

  • Выделите различия между двумя видеопотоками RGB:
    lut2='ifnot(x-y,0,pow(2,bdx)-1):ifnot(x-y,0,pow(2,bdx)-1):ifnot(x-y,0,pow(2,bdx)-1)'
    
  • Выделите различия между двумя видеопотоками YUV:
    lut2='ifnot(x-y,0,pow(2,bdx)-1):ifnot(x-y,pow(2,bdx-1),pow(2,bdx)-1):ifnot(x-y,pow(2,bdx-1),pow(2,bdx)-1)'
    
  • Показать максимальную разницу между двумя видеопотоками:
    lut2='if(lt(x,y),0,if(gt(x,y),pow(2,bdx)-1,pow(2,bdx-1))):if(lt(x,y),0,if(gt(x,y),pow(2,bdx)-1,pow(2,bdx-1))):if(lt(x,y),0,if(gt(x,y),pow(2,bdx)-1,pow(2,bdx-1)))'
    

11.148 maskedclamp

Зажмите первый входной поток вторым входным и третьим входным потоком.

Возвращает значение первого потока между вторым входным потоком - undershootи третьим входным потоком + overshoot.

Этот фильтр принимает следующие параметры:

undershoot

Значение по умолчанию 0.

overshoot

Значение по умолчанию 0.

planes

Укажите, какие плоскости будут обработаны как растровые, необработанные плоскости будут скопированы из первого потока. При значении по умолчанию 0xf будут обработаны все плоскости.

11.148.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.149 maskedmax

Объедините второй и третий входные потоки в выходной поток, используя абсолютную разницу между вторым входным потоком и первым входным потоком и абсолютную разницу между третьим входным потоком и первым входным потоком. Выбранное значение будет из второго входного потока, если вторая абсолютная разница больше первой, или из третьего входного потока в противном случае.

Этот фильтр принимает следующие параметры:

planes

Укажите, какие плоскости будут обработаны как растровые, необработанные плоскости будут скопированы из первого потока. При значении по умолчанию 0xf будут обработаны все плоскости.

11.149.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.150 maskedmerge

Объедините первый входной поток со вторым входным потоком, используя веса пикселей в третьем входном потоке.

Значение 0 в компоненте пикселя третьего потока означает, что компонент пикселя из первого потока возвращается без изменений, а максимальное значение (например, 255 для 8-битных видео) означает, что компонент пикселя из второго потока возвращается без изменений. Промежуточные значения определяют степень слияния между компонентами пикселей обоих входных потоков.

Этот фильтр принимает следующие параметры:

planes

Укажите, какие плоскости будут обработаны как растровые, необработанные плоскости будут скопированы из первого потока. При значении по умолчанию 0xf будут обработаны все плоскости.

11.150.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.151 maskedmin

Объедините второй и третий входные потоки в выходной поток, используя абсолютную разницу между вторым входным потоком и первым входным потоком и абсолютную разницу между третьим входным потоком и первым входным потоком. Выбранное значение будет из второго входного потока, если вторая абсолютная разница меньше первой, или из третьего входного потока в противном случае.

Этот фильтр принимает следующие параметры:

planes

Укажите, какие плоскости будут обработаны как растровые, необработанные плоскости будут скопированы из первого потока. При значении по умолчанию 0xf будут обработаны все плоскости.

11.151.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.152 maskedthreshold

Выберите пиксели, сравнивающие абсолютную разницу двух видеопотоков с фиксированным порогом.

Если абсолютная разница между пиксельной составляющей первого и второго видеопотока равна или ниже заданного пользователем порога, то выбирается пиксельная составляющая из первого видеопотока, в противном случае выбирается пиксельная составляющая из второго видеопотока.

Этот фильтр принимает следующие параметры:

threshold

Установите пороговое значение, используемое при выборе пикселей из абсолютной разницы двух входных видеопотоков.

planes

Укажите, какие плоскости будут обработаны как растровые, необработанные плоскости будут скопированы из второго потока. При значении по умолчанию 0xf будут обработаны все плоскости.

11.152.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.153 maskfun

Создайте маску из входного видео.

Например, полезно создавать маски движения после tblendфильтра.

Этот фильтр принимает следующие параметры:

low

Установите низкий порог. Любой компонент пикселя ниже или точнее этого значения будет установлен на 0.

high

Установите высокий порог. Любой компонент пикселя выше этого значения будет установлен на максимальное значение, разрешенное для текущего формата пикселя.

planes

Настройте фильтрацию плоскостей, по умолчанию фильтруются все доступные плоскости.

fill

Заполните все пиксели кадра этим значением.

sum

Установите максимальное среднее значение пикселя для кадра. Если сумма всех компонентов пикселя выше этого среднего значения, выходной кадр будет полностью заполнен значением, установленным fillопцией. Обычно полезно для смены сцены при использовании в сочетании с tblendфильтром.

11.153.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.154 mcdeint

Примените деинтерлейсинг с компенсацией движения.

В качестве входных данных требуется одно поле на кадр, поэтому его следует использовать вместе с yadif=1/3 или эквивалентным.

Этот фильтр доступен только в ffmpeg версии 4.4 или более ранней.

Этот фильтр принимает следующие параметры:

mode

Установите режим деинтерлейсинга.

Он принимает одно из следующих значений:

'fast'
'medium'
'slow'

использовать итеративную оценку движения

'extra_slow'

как 'slow', но использовать несколько систем отсчета.

Значение по умолчанию: 'fast'.

parity

Установите четность поля изображения, предполагаемую для входного видео. Это должно быть одно из следующих значений:

'0, tff'

предположим сначала верхнее поле

'1, bff'

предположим сначала нижнее поле

Значение по умолчанию: 'bff'.

qp

Установите параметр квантования для каждого блока (QP), используемый внутренним кодировщиком.

Более высокие значения должны привести к более плавному векторному полю движения, но менее оптимальным для отдельных векторов. Значение по умолчанию — 1.

11.155 median

Выберите средний пиксель из определенного прямоугольника, определенного радиусом.

Этот фильтр принимает следующие параметры:

radius

Установите размер горизонтального радиуса. Значение по умолчанию 1. Допустимый диапазон — целое число от 1 до 127.

planes

Установите, какие плоскости обрабатывать. По умолчанию это 15все доступные плоскости.

radiusV

Установите размер вертикального радиуса. Значение по умолчанию 0. Допустимый диапазон — целое число от 0 до 127. Если он равен 0, значение будет выбрано из горизонтальной radiusопции.

percentile

Установите средний процентиль. Значение по умолчанию 0.5. Значение по умолчанию 0.5всегда будет выбирать средние значения, тогда как 0будут выбираться минимальные значения и 1максимальные значения.

11.155.1 Команды

Этот фильтр поддерживает те же команды , что и параметры. Команда принимает тот же синтаксис соответствующей опции.

Если указанное выражение недействительно, оно сохраняется в своем текущем значении.

11.156 mergeplanes

Объединяйте компоненты цветового канала из нескольких видеопотоков.

Фильтр принимает до 4 входных потоков и объединяет выбранные входные плоскости с выходным видео.

Этот фильтр принимает следующие параметры:

mapping

Установите отображение входной плоскости на выходную. Значение по умолчанию 0.

Сопоставления указаны в виде растрового изображения. Он должен быть указан как шестнадцатеричное число в форме 0xAa[Bb[Cc[Dd]]]. «Aa» описывает отображение для первой плоскости выходного потока. «A» устанавливает номер используемого входного потока (от 0 до 3), а «a» — номер плоскости соответствующего входа для использования (от 0 до 3). Остальные отображения аналогичны: «Bb» описывает отображение для второй плоскости выходного потока, «Cc» описывает отображение для третьей плоскости выходного потока, а «Dd» описывает отображение для четвертой плоскости выходного потока.

format

Установите формат выходного пикселя. Значение по умолчанию yuva444p.

map0s
map1s
map2s
map3s

Установите сопоставление входного и выходного потоков для выходной N-й плоскости. Значение по умолчанию 0.

map0p
map1p
map2p
map3p

Установите отображение входной и выходной плоскостей для выходной N-й плоскости. Значение по умолчанию 0.

11.156.1 Примеры

  • Объединить три серых видеопотока одинаковой ширины и высоты в один видеопоток:
    [a0][a1][a2]mergeplanes=0x001020:yuv444p
    
  • Объедините 1-й поток yuv444p и 2-й поток серого видео в видеопоток yuva444p:
    [a0][a1]mergeplanes=0x00010210:yuva444p
    
  • Поменяйте местами плоскости Y и A в потоке yuva444p:
    format=yuva444p,mergeplanes=0x03010200:yuva444p
    
  • Поменяйте местами плоскости U и V в потоке yuv420p:
    format=yuv420p,mergeplanes=0x000201:yuv420p
    
  • Закиньте клип rgb24 на yuv444p:
    format=rgb24,mergeplanes=0x000102:yuv444p
    

11.157 mestimate

Оцените и экспортируйте векторы движения, используя алгоритмы сопоставления блоков. Векторы движения сохраняются в данных на стороне кадра для использования другими фильтрами.

Этот фильтр принимает следующие параметры:

method

Задайте метод оценки движения. Принимает одно из следующих значений:

'esa'

Исчерпывающий алгоритм поиска.

'tss'

Трехэтапный алгоритм поиска.

'tdls'

Двумерный логарифмический алгоритм поиска.

'ntss'

Новый трехэтапный алгоритм поиска.

'fss'

Четырехшаговый алгоритм поиска.

'ds'

Алгоритм поиска алмазов.

'hexbs'

Алгоритм поиска на основе шестиугольника.

'epzs'

Усовершенствованный алгоритм предиктивного зонального поиска.

'umh'

Алгоритм поиска неравномерного множества шестиугольников.

Значение по умолчанию: 'esa'.

mb_size

Размер макроблока. По умолчанию 16.

search_param

Параметр поиска. По умолчанию 7.

11.158 midequalizer

Примените эффект Midway Image Equalization, используя два видеопотока.

Midway Image Equalization корректирует пару изображений, чтобы они имели одинаковую гистограмму, сохраняя при этом их динамику в максимально возможной степени. Это полезно, например, для сопоставления экспозиций с пары стереокамер.

Этот фильтр имеет два входа и один выход, которые должны иметь одинаковый формат пикселей, но могут быть разных размеров. Выход фильтра настраивается по первому входу с промежуточной гистограммой обоих входов.

Этот фильтр принимает следующие параметры:

planes

Установите, какие плоскости обрабатывать. По умолчанию это 15все доступные плоскости.

11.159 minterpolate

Преобразуйте видео в заданную частоту кадров, используя интерполяцию движения.

Этот фильтр принимает следующие параметры:

fps

Укажите выходную частоту кадров. Это может быть рациональным, например 60000/1001. Кадры отбрасываются, если они fpsниже исходного fps. По умолчанию 60.

mi_mode

Режим интерполяции движения. Принимаются следующие значения:

'dup'

Дублировать предыдущий или следующий кадр для интерполяции новых.

'blend'

Смешайте исходные кадры. Интерполированный кадр — это среднее значение предыдущего и следующего кадров.

'mci'

Интерполяция с компенсацией движения. При выборе этого режима действуют следующие параметры:

'mc_mode'

Режим компенсации движения. Принимаются следующие значения:

'obmc'

Компенсация движения перекрывающихся блоков.

'aobmc'

Адаптивная компенсация движения перекрывающихся блоков. Весовые коэффициенты окна управляются адаптивно в соответствии с надежностью соседних векторов движения, чтобы уменьшить чрезмерное сглаживание.

Режим по умолчанию 'obmc'.

'me_mode'

Режим оценки движения. Принимаются следующие значения:

'bidir'

Оценка двунаправленного движения. Векторы движения оцениваются для каждого исходного кадра как в прямом, так и в обратном направлениях.

'bilat'

Оценка двустороннего движения. Векторы движения оцениваются непосредственно для интерполированного кадра.

Режим по умолчанию 'bilat'.

'me'

Алгоритм, который будет использоваться для оценки движения. Принимаются следующие значения:

'esa'

Исчерпывающий алгоритм поиска.

'tss'

Трехэтапный алгоритм поиска.

'tdls'

Двумерный логарифмический алгоритм поиска.

'ntss'

Новый трехэтапный алгоритм поиска.

'fss'

Четырехшаговый алгоритм поиска.

'ds'

Алгоритм поиска алмазов.

'hexbs'

Алгоритм поиска на основе шестиугольника.

'epzs'

Усовершенствованный алгоритм предиктивного зонального поиска.

'umh'

Алгоритм поиска неравномерного множества шестиугольников.

Алгоритм по умолчанию: 'epzs'.

'mb_size'

Размер макроблока. По умолчанию 16.

'search_param'

Параметр поиска оценки движения. По умолчанию 32.

'vsbmc'

Включите компенсацию движения блока переменного размера. Оценка движения применяется с меньшими размерами блоков на границах объектов, чтобы сделать их менее размытыми. По умолчанию 0(отключено).

scd

Метод обнаружения смены сцены. Изменение сцены приводит к тому, что векторы движения имеют случайное направление. Обнаружение смены сцены заменяет интерполированные кадры дубликатами. Может не понадобиться для других режимов. Принимаются следующие значения:

'none'

Отключите обнаружение смены сцены.

'fdiff'

Разница кадров. Соответствующие значения пикселей сравниваются, и, если они удовлетворяют scd_threshold, обнаруживается изменение сцены.

Метод по умолчанию: 'fdiff'.

scd_threshold

Порог обнаружения смены сцены. Значение по умолчанию 10..

11.160 mix

Смешайте несколько входных видеопотоков в один видеопоток.

Далее следует описание принятых опций.

inputs

Количество входов. Если не указано, по умолчанию используется 2.

weights

Укажите вес каждого входного видеопотока в виде последовательности. Каждый вес отделен пробелом. Если количество весов меньше, чем количество framesпоследних указанных весов, будет использоваться для всех оставшихся неустановленных весов.

scale

Укажите масштаб, если он установлен, он будет умножен на сумму каждого веса, умноженного на значения пикселей, чтобы получить конечное значение целевого пикселя. По умолчанию scaleавтоматически масштабируется до суммы весов.

planes

Установите, какие самолеты фильтровать. По умолчанию все. Допустимый диапазон от 0 до 15.

duration

Укажите, как определяется конец потока.

'longest'

Продолжительность самого длинного ввода. (дефолт)

'shortest'

Продолжительность самого короткого ввода.

'first'

Продолжительность первого ввода.

11.160.1 Команды

Этот фильтр поддерживает следующие команды:

weights
scale
planes

Синтаксис такой же, как у опции с тем же именем.

11.161 monochrome

Преобразование видео в серый цвет с помощью пользовательского цветового фильтра.

Далее следует описание принятых опций.

cb

Установите синюю точку цветности. Допустимый диапазон от -1 до 1. Значение по умолчанию — 0.

cr

Установите красную точку цветности. Допустимый диапазон от -1 до 1. Значение по умолчанию — 0.

size

Установите размер цветового фильтра. Допустимый диапазон — от 0,1 до 10. Значение по умолчанию — 1.

high

Установите силу бликов. Допустимый диапазон — от 0 до 1. Значение по умолчанию — 0.

11.161.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.162 morpho

Этот фильтр позволяет применять основные морфологические преобразования оттенков серого, размывать и расширять произвольные структуры, установленные во втором входном потоке.

В отличие от наивной реализации и гораздо более низкой производительности в фильтрах эрозии и расширения , когда скорость критична morpho, вместо них следует использовать фильтр.

Далее следует описание принятых опций.

mode

Установить морфологическое преобразование для применения, может быть:

'erode'
'dilate'
'open'
'close'
'gradient'
'tophat'
'blackhat'

Значение по умолчанию erode.

planes

Настройте фильтрацию плоскостей, по умолчанию фильтруются все плоскости, кроме альфа.

structure

Установить, какая структура видеокадров будет обрабатываться из второго входного потока, может быть firstили all. Значение по умолчанию all.

Фильтр morphoтакже поддерживает параметры синхронизации кадров .

11.162.1 Команды

Этот фильтр поддерживает те же команды , что и параметры.

11.163 mpdecimate

Отбрасывать кадры, которые не сильно отличаются от предыдущего кадра, чтобы уменьшить частоту кадров.

В основном этот фильтр используется для кодирования с очень низким битрейтом (например, для потоковой передачи через модем с коммутируемой связью), но теоретически его можно использовать для исправления фильмов, которые были неправильно телесинированы.

Далее следует описание принятых опций.

max

Установите максимальное количество последовательных кадров, которые можно отбросить (если положительное), или минимальный интервал между отброшенными кадрами (если отрицательное). Если значение равно 0, кадр отбрасывается независимо от количества предыдущих последовательно отброшенных кадров.

Значение по умолчанию — 0.

hi
lo
frac

Установите пороговые значения отбрасывания.

Значения дляhiа такжеloпредназначены для блоков пикселей 8x8 и представляют фактические различия значений пикселей, поэтому пороговое значение 64 соответствует 1 единице различия для каждого пикселя или тому же самому распределению по блоку по-разному.

Кадр считается кандидатом на отбрасывание, если никакие блоки 8x8 не отличаются более чем на пороговое значение.hi, а если не болееfracблоки (1 означает все изображение) отличаются более чем на порогlo.

Значение по умолчанию дляhi64*12, значение по умолчанию дляloсоставляет 64*5, а значение по умолчанию дляfracсоставляет 0,33.

11.164 msad

Получите MSAD (средняя сумма абсолютных разностей) между двумя входными видео.

Этот фильтр принимает два входных видео.

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

Полученные значения по компонентам, средние, минимальные и максимальные MSAD распечатываются через систему регистрации.

Фильтр сохраняет рассчитанный MSAD каждого кадра в метаданных кадра.

В приведенном ниже примере входной файлmain.mpgобрабатываемый файл сравнивается с эталонным файломref.mpg.

ffmpeg -i main.mpg -i ref.mpg -lavfi msad -f null -

11.165 multiply

Умножьте значения пикселей первого видеопотока на значения пикселей второго видеопотока.

Фильтр принимает следующие параметры:

scale

Установите масштаб, применяемый ко второму видеопотоку. По умолчанию есть 1. Допустимый диапазон от 0до 9.

offset

Установите смещение, применяемое ко второму видеопотоку. По умолчанию есть 0.5. Допустимый диапазон от -1до 1.

planes

Укажите плоскости из входного видеопотока, которые будут обрабатываться. По умолчанию обрабатываются все плоскости.

11.165.1 Команды

Этот фильтр поддерживает те же команды , что и параметры.

11.166 negate

Отменить (инвертировать) входное видео.

Он принимает следующий вариант:

components

Установите компоненты для отрицания.

Доступные значения для компонентов:

'y'
'u'
'v'
'a'
'r'
'g'
'b'
negate_alpha

При значении 1 он отрицает альфа-компонент, если он присутствует. Значение по умолчанию — 0.

11.166.1 Команды

Этот фильтр поддерживает те же команды , что и параметры.

11.167 nlmeans

Кадры шумоподавления с использованием алгоритма Non-Local Means.

Каждый пиксель корректируется путем поиска других пикселей с аналогичным контекстом. Это сходство контекста определяется путем сравнения окружающих их участков размером pИксp. Патчи ищутся в областиrИксr вокруг пикселя.

Обратите внимание, что исследовательская область определяет центры для патчей, что означает, что некоторые патчи будут состоять из пикселей за пределами этой исследовательской области.

Фильтр принимает следующие параметры.

s

Установить мощность шумоподавления. По умолчанию 1.0. Должен быть в диапазоне [1,0, 30,0].

p

Установить размер патча. По умолчанию 7. Должно быть нечетное число в диапазоне [0, 99].

pc

Такой же какpно для плоскостей цветности.

Значение по умолчанию 0и означает автоматический.

r

Установить размер исследования. По умолчанию 15. Должно быть нечетное число в диапазоне [0, 99].

rc

Такой же какrно для плоскостей цветности.

Значение по умолчанию 0и означает автоматический.

11.168 nnedi

Деинтерлейсинг видео с помощью интерполяции, направленной по краю нейронной сети.

Этот фильтр принимает следующие параметры:

weights

Обязательная опция, без бинарного файла фильтр работать не может. В настоящее время файл можно найти здесь: https://github.com/dubhater/vapoursynth-nnedi3/blob/master/src/nnedi3_weights.bin

deint

Установите, какие кадры деинтерлейсировать, по умолчанию это all. Можно allили interlaced.

field

Установить режим работы.

Может быть одним из следующих:

'af'

Используйте флаги кадра, оба поля.

'a'

Используйте флаги кадра, одно поле.

't'

Используйте только верхнее поле.

'b'

Используйте только нижнее поле.

'tf'

Используйте оба поля, сначала верхнее.

'bf'

Используйте оба поля, сначала нижнее.

planes

Установите, какие плоскости обрабатывать, по умолчанию фильтр обрабатывает все кадры.

nsize

Установите размер локальной окрестности вокруг каждого пикселя, используемого нейронной сетью-предиктором.

Может быть одним из следующих:

's8x6'
's16x6'
's32x6'
's48x6'
's8x4'
's16x4'
's32x4'
nns

Установите количество нейронов в нейронной сети предиктора. Может быть одним из следующих:

'n16'
'n32'
'n64'
'n128'
'n256'
qual

Управляет количеством различных прогнозов нейронной сети, которые смешиваются вместе для вычисления конечного выходного значения. Может быть fast, по умолчанию или slow.

etype

Установите, какой набор весов использовать в предсказателе. Может быть одним из следующих:

'a, abs'

веса, обученные минимизировать абсолютную ошибку

's, mse'

веса, обученные минимизировать квадрат ошибки

pscrn

Определяет, используется ли нейронная сеть предварительного скрининга для принятия решения о том, какие пиксели должны быть обработаны нейронной сетью предиктора, а какие могут быть обработаны простой кубической интерполяцией. Прескринер обучен тому, чтобы знать, будет ли достаточно кубической интерполяции для пикселя или он должен быть предсказан предсказателем nn. Вычислительная сложность прескринера nn намного меньше, чем у предиктора nn. Поскольку большинство пикселей можно обработать с помощью кубической интерполяции, использование предварительного скрининга обычно приводит к гораздо более быстрой обработке. Прескринер довольно точен, поэтому разница между его использованием и неиспользованием практически всегда незаметна.

Может быть одним из следующих:

'none'
'original'
'new'
'new2'
'new3'

Значение по умолчанию new.

11.168.1 Команды

Этот фильтр поддерживает те же команды , что и параметры, за исключением weightsпараметра.

11.169 noformat

Заставить libavfilter не использовать ни один из указанных форматов пикселей для ввода следующего фильтра.

Он принимает следующие параметры:

pix_fmts

Разделенный символом '|' список названий форматов пикселей, например, pix_fmts=yuv420p|monow|rgb24".

11.169.1 Примеры

  • Заставьте libavfilter использовать формат, отличный от формата yuv420pввода для фильтра vflip:
    noformat=pix_fmts=yuv420p,vflip
    
  • Конвертируйте входное видео в любой из форматов, не содержащихся в списке:
    noformat=yuv420p|yuv444p|yuv410p
    

11.170 noise

Добавьте шум на входной видеокадр.

Фильтр принимает следующие параметры:

all_seed
c0_seed
c1_seed
c2_seed
c3_seed

Установите начальное значение шума для определенного компонента пикселя или для всех компонентов пикселя в случае all_seed. Значение по умолчанию 123457.

all_strength, alls
c0_strength, c0s
c1_strength, c1s
c2_strength, c2s
c3_strength, c3s

Установите уровень шума для определенного компонента пикселя или для всех компонентов пикселя в случае all_strength. Значение по умолчанию 0. Допустимый диапазон: [0, 100].

all_flags, allf
c0_flags, c0f
c1_flags, c1f
c2_flags, c2f
c3_flags, c3f

Установите флаги компонентов пикселей или установите флаги для всех компонентов, если all_flags. Доступные значения для флагов компонентов:

'a'

усредненный временной шум (более плавный)

'p'

смешать случайный шум с (полу)регулярным паттерном

't'

временной шум (картина шума меняется между кадрами)

'u'

равномерный шум (иначе гауссов)

11.170.1 Примеры

Добавьте временный и однородный шум к входному видео:

noise=alls=20:allf=t+u

11.171 normalize

Нормализуйте видео RGB (также известное как растяжение гистограммы, растяжение контраста). См.: https://en.wikipedia.org/wiki/Normalization_(image_processing)

Для каждого канала каждого кадра фильтр вычисляет входной диапазон и линейно сопоставляет его с заданным пользователем выходным диапазоном. Выходной диапазон по умолчанию соответствует полному динамическому диапазону от чистого черного до чистого белого.

Временное сглаживание можно использовать для входного диапазона, чтобы уменьшить мерцание (быстрые изменения яркости), возникающие, когда маленькие темные или яркие объекты входят в сцену или покидают ее. Это похоже на автоматическую экспозицию (автоматическая регулировка усиления) в видеокамере и, как и в видеокамере, может привести к периоду передержки или недодержки видео.

Каналы R, G, B можно нормализовать независимо, что может привести к некоторому смещению цвета, или объединить их в один канал, что предотвращает смещение цвета. Связанная нормализация сохраняет оттенок. Независимой нормализации нет, поэтому ее можно использовать для удаления некоторых цветовых оттенков. Независимая и связанная нормализация могут сочетаться в любом соотношении.

Фильтр нормализации принимает следующие параметры:

blackpt
whitept

Цвета, определяющие выходной диапазон. Минимальное входное значение сопоставляется с blackpt. Максимальное входное значение сопоставляется с whitept. По умолчанию черный и белый соответственно. Указание белого для blackptи черного для whiteptдаст инвертированное по цвету нормализованное видео. Оттенки серого можно использовать для уменьшения динамического диапазона (контрастности). Указание здесь насыщенных цветов может создать некоторые интересные эффекты.

smoothing

Количество предыдущих кадров, используемых для временного сглаживания. Входной диапазон каждого канала сглаживается с использованием скользящего среднего по текущему кадру и smoothingпредыдущим кадрам. По умолчанию 0 (без временного сглаживания).

independence

Управляет отношением независимой (со сдвигом цвета) нормализации канала к связанной (с сохранением цвета) нормализации. 0.0 полностью связан, 1.0 полностью независим. По умолчанию 1.0 (полностью независимый).

strength

Общая мощность фильтра. 1.0 - полная мощность. 0.0 — довольно дорогой no-op. По умолчанию 1.0 (полная сила).

11.171.1 Команды

Этот фильтр поддерживает те же команды , что и параметры, за исключением smoothingпараметра. Команда принимает тот же синтаксис соответствующей опции.

Если указанное выражение недействительно, оно сохраняется в своем текущем значении.

11.171.2 Примеры

Увеличение контрастности видео для использования полного динамического диапазона без временного сглаживания; может мерцать в зависимости от исходного контента:

normalize=blackpt=black:whitept=white:smoothing=0

То же, что и выше, но с 50 кадрами временного сглаживания; мерцание должно быть уменьшено в зависимости от исходного контента:

normalize=blackpt=black:whitept=white:smoothing=50

То же, что и выше, но с нормализацией связанного канала с сохранением оттенка:

normalize=blackpt=black:whitept=white:smoothing=50:independence=0

То же, что и выше, но с половинной силой:

normalize=blackpt=black:whitept=white:smoothing=50:independence=0:strength=0.5

Сопоставьте самый темный входной цвет с красным, самый яркий входной цвет с голубым:

normalize=blackpt=red:whitept=cyan

11.172 null

Передайте источник видео без изменений на выход.

11.173 ocr

Оптическое распознавание символов

Этот фильтр использует Tesseract для оптического распознавания символов. Чтобы включить компиляцию этого фильтра, вам нужно настроить FFmpeg с расширением --enable-libtesseract.

Он принимает следующие параметры:

datapath

Установите путь к данным tesseract. По умолчанию используется то, что было установлено при установке.

language

Установите язык, по умолчанию "eng".

whitelist

Установить белый список персонажей.

blacklist

Установить черный список персонажей.

Фильтр экспортирует распознанный текст как метаданные кадра lavfi.ocr.text. Фильтр экспортирует достоверность распознанных слов в качестве метаданных кадра lavfi.ocr.confidence.

11.174 ocv

Примените преобразование видео с помощью libopencv.

Чтобы включить этот фильтр, установите библиотеку и заголовки libopencv и настройте FFmpeg с расширением --enable-libopencv.

Он принимает следующие параметры:

filter_name

Имя применяемого фильтра libopencv.

filter_params

Параметры для передачи фильтру libopencv. Если не указано, используются значения по умолчанию.

Обратитесь к официальной документации libopencv для получения более точной информации: http://docs.opencv.org/master/modules/imgproc/doc/filtering.html

Поддерживаются несколько фильтров libopencv; см. следующие подразделы.

11.174.1 расширяться

Расширьте изображение, используя определенный структурирующий элемент. Это соответствует функции libopencv cvDilate.

Он принимает параметры: struct_el| nb_iterations.

struct_elпредставляет элемент структурирования и имеет синтаксис: colsx rows+ anchor_xx anchor_y/shape

colsи rowsпредставляют количество столбцов и строк элемента структурирования, anchor_xа anchor_yтакже точку привязки и shapeформу элемента структурирования. shape должен быть "прямой", "крест", "эллипс" или "пользовательский".

Если значение для shape«custom», за ним должна следовать строка вида «= filename». Предполагается, что файл с именем filenameпредставляет собой бинарное изображение, в котором каждый печатный символ соответствует яркому пикселю. Когда пользовательский shapeиспользуется colsи rowsигнорируется, вместо него предполагается число или столбцы и строки прочитанного файла.

Значение по умолчанию для struct_el"3x3+0x0/прямоугольник".

nb_iterationsуказывает, сколько раз преобразование применяется к изображению, и по умолчанию равно 1.

Некоторые примеры:

# Use the default values
ocv=dilate

# Dilate using a structuring element with a 5x5 cross, iterating two times
ocv=filter_name=dilate:filter_params=5x5+2x2/cross|2

# Read the shape from the file diamond.shape, iterating two times.
# The file diamond.shape may contain a pattern of characters like this
#   *
#  ***
# *****
#  ***
#   *
# The specified columns and rows are ignored
# but the anchor point coordinates are not
ocv=dilate:0x0+2x2/custom=diamond.shape|2

11.174.2 эрозия

Размывайте изображение, используя определенный структурирующий элемент. Это соответствует функции libopencv cvErode.

Он принимает параметры: struct_el: nb_iterationsс тем же синтаксисом и семантикой, что и фильтр расширения .

11.174.3 гладкая

Сглаживание входного видео.

Фильтр принимает следующие параметры: type| param1| param2| param3| param4.

type— это тип применяемого сглаживающего фильтра, который может принимать одно из следующих значений: «размытие», «размытие_без_масштаба», «медиана», «гауссовский» или «двусторонний». Значение по умолчанию — «гауссово».

Значение param1, param2, param3и param4 зависит от гладкого типа. param1и param2принимать целые положительные значения или 0. param3и param4принимать значения с плавающей запятой.

Значение по умолчанию равно param13. Значение по умолчанию для других параметров равно 0.

Эти параметры соответствуют параметрам, назначенным функции libopencv cvSmooth.

11.175 oscilloscope

2D видео осциллограф.

Полезно для измерения пространственного импульса, переходных характеристик, задержек цветности и т. д.

Он принимает следующие параметры:

x

Установить положение центра области x.

y

Установите положение центра прицела по оси Y.

s

Установите размер прицела относительно диагонали кадра.

t

Установите наклон/вращение прицела.

o

Установите прозрачность трассировки.

tx

Установить положение центра трассы по оси x.

ty

Установите положение центра трассы по оси Y.

tw

Задайте ширину трассы относительно ширины кадра.

th

Установите высоту трассировки относительно высоты кадра.

c

Установите, какие компоненты трассировать. По умолчанию он отслеживает первые три компонента.

g

Нарисуйте сетку трассировки. По умолчанию включен.

st

Нарисуйте немного статистики. По умолчанию включен.

sc

Нарисуйте размах. По умолчанию включен.

11.175.1 Команды

Этот фильтр поддерживает те же команды , что и параметры. Команда принимает тот же синтаксис соответствующей опции.

Если указанное выражение недействительно, оно сохраняется в своем текущем значении.

11.175.2 Примеры

  • Осмотрите всю первую строку видеокадра.
    oscilloscope=x=0.5:y=0:s=1
    
  • Осмотрите всю последнюю строку видеокадра.
    oscilloscope=x=0.5:y=1:s=1
    
  • Осмотрите полную 5-ю строку видеокадра высотой 1080.
    oscilloscope=x=0.5:y=5/1080:s=1
    
  • Проверьте полный последний столбец видеокадра.
    oscilloscope=x=1:y=0.5:s=1:t=1
    

11.176 overlay

Наложение одного видео поверх другого.

Он принимает два входа и имеет один выход. Первый вход — это «основное» видео, на которое накладывается второй вход.

Он принимает следующие параметры:

Далее следует описание принятых опций.

x
y

Установите выражение для координат x и y наложенного видео на основное видео. Значение по умолчанию равно "0" для обоих выражений. В случае, если выражение недопустимо, ему присваивается огромное значение (это означает, что наложение не будет отображаться в видимой области вывода).

eof_action

Смотрите кадровую синхронизацию .

eval

Установите, когда выражения дляx, а такжеyоцениваются.

Он принимает следующие значения:

'init'

оценивайте выражения только один раз во время инициализации фильтра или при обработке команды

'frame'

оценивать выражения для каждого входящего кадра

Значение по умолчанию: 'frame'.

shortest

Смотрите кадровую синхронизацию .

format

Установите формат выходного видео.

Он принимает следующие значения:

'yuv420'

форсировать выход YUV420

'yuv420p10'

форсировать выход YUV420p10

'yuv422'

форсировать выход YUV422

'yuv422p10'

заставить выход YUV422p10

'yuv444'

форсировать выход YUV444

'rgb'

принудительно упакованный RGB-выход

'gbrp'

форсировать планарный выход RGB

'auto'

автоматически выбирать формат

Значение по умолчанию: 'yuv420'.

repeatlast

Смотрите кадровую синхронизацию .

alpha

Установите формат альфы наложенного видео, это может быть straightили premultiplied. Значение по умолчанию straight.

The x, а такжеyвыражения могут содержать следующие параметры.

main_w, W
main_h, H

Основные входные ширина и высота.

overlay_w, w
overlay_h, h

Ширина и высота ввода оверлея.

x
y

Вычисленные значения для xи y. Они оцениваются для каждого нового кадра.

hsub
vsub

горизонтальные и вертикальные значения подвыборки цветности выходного формата. Например, для формата пикселей «yuv422p» hsubравно 2 и vsubравно 1.

n

номер входного кадра, начиная с 0

pos

позиция в файле входного кадра, NAN, если неизвестно

t

Отметка времени, выраженная в секундах. Это NAN, если отметка времени ввода неизвестна.

Этот фильтр также поддерживает параметры синхронизации кадров .

Обратите внимание, что переменные n, , доступны только тогда, когда оценка выполняется для каждого кадра , и будут оцениваться как NAN, когдаpostevalустановлен на 'init'.

Имейте в виду, что кадры берутся из каждого входного видео в порядке меток времени, поэтому, если их начальные метки времени различаются, рекомендуется пропустить два входа через setpts=PTS-STARTPTSфильтр, чтобы они начинались с одной и той же нулевой метки времени, как в примере для movieфильтр делает.

Вы можете связать вместе больше оверлеев, но вы должны проверить эффективность такого подхода.

11.176.1 Команды

Этот фильтр поддерживает следующие команды:

x
y

Измените x и y ввода наложения. Команда принимает тот же синтаксис соответствующей опции.

Если указанное выражение недействительно, оно сохраняется в своем текущем значении.

11.176.2 Примеры

  • Нарисуйте оверлей в 10 пикселях от нижнего правого угла основного видео:
    overlay=main_w-overlay_w-10:main_h-overlay_h-10
    

    При использовании именованных опций приведенный выше пример становится таким:

    overlay=x=main_w-overlay_w-10:y=main_h-overlay_h-10
    
  • Вставьте прозрачный логотип PNG в нижний левый угол ввода, используя ffmpegинструмент с -filter_complexопцией:
    ffmpeg -i input -i logo -filter_complex 'overlay=10:main_h-overlay_h-10' output
    
  • Вставьте 2 разных прозрачных логотипа PNG (второй логотип в правом нижнем углу) с помощью ffmpegинструмента:
    ffmpeg -i input -i logo1 -i logo2 -filter_complex 'overlay=x=10:y=H-h-10,overlay=x=W-w-10:y=H-h-10' output
    
  • Добавьте прозрачный цветной слой поверх основного видео; WxH необходимо указать размер основного входа в оверлейный фильтр:
    color=color=red@.3:size=WxH [over]; [in][over] overlay [out]
    
  • Воспроизведите исходное видео и отфильтрованную версию (здесь с фильтром дрожания) рядом друг с другом с помощью ffplayинструмента:
    ffplay input.avi -vf 'split[a][b]; [a]pad=iw*2:ih[src]; [b]deshake[filt]; [src][filt]overlay=w'
    

    Приведенная выше команда аналогична:

    ffplay input.avi -vf 'split[b], pad=iw*2[src], [b]deshake, [src]overlay=w'
    
  • Сделайте скользящее наложение, появляющееся слева направо в верхней части экрана, начиная со времени 2:
    overlay=x='if(gte(t,2), -w+(t-2)*20, NAN)':y=0
    
  • Скомпонуйте выходные данные, поместив два входных видео рядом друг с другом:
    ffmpeg -i left.avi -i right.avi -filter_complex "
    nullsrc=size=200x100 [background];
    [0:v] setpts=PTS-STARTPTS, scale=100x100 [left];
    [1:v] setpts=PTS-STARTPTS, scale=100x100 [right];
    [background][left]       overlay=shortest=1       [background+left];
    [background+left][right] overlay=shortest=1:x=100 [left+right]
    "
    
  • Замаскируйте 10-20 секунд видео, применив фильтр delogo к разделу
    ffmpeg -i test.avi -codec:v:0 wmv2 -ar 11025 -b:v 9000k
    -vf '[in]split[split_main][split_delogo];[split_delogo]trim=start=360:end=371,delogo=0:0:640:480[delogoed];[split_main][delogoed]overlay=eof_action=pass[out]'
    masked.avi
    
  • Соедините несколько накладок каскадом:
    nullsrc=s=200x200 [bg];
    testsrc=s=100x100, split=4 [in0][in1][in2][in3];
    [in0] lutrgb=r=0, [bg]   overlay=0:0     [mid0];
    [in1] lutrgb=g=0, [mid0] overlay=100:0   [mid1];
    [in2] lutrgb=b=0, [mid1] overlay=0:100   [mid2];
    [in3] null,       [mid2] overlay=100:100 [out0]
    

11.177 overlay_cuda

Наложение одного видео поверх другого.

Это вариант CUDA фильтра наложения . Он принимает только кадры CUDA. Базовые форматы входных пикселей должны совпадать.

Он принимает два входа и имеет один выход. Первый вход — это «основное» видео, на которое накладывается второй вход.

Он принимает следующие параметры:

x
y

Установите выражения для координат x и y наложенного видео на основное видео.

Они могут содержать следующие параметры:

main_w, W
main_h, H

Основные входные ширина и высота.

overlay_w, w
overlay_h, h

Ширина и высота ввода оверлея.

x
y

Вычисленные значения для xи y. Они оцениваются для каждого нового кадра.

n

Порядковый индекс основного входного кадра, начиная с 0.

pos

Позиция смещения байта в файле основного входного кадра, NAN, если неизвестно.

t

Отметка времени основного входного кадра, выраженная в секундах, NAN, если неизвестно.

Значение по умолчанию равно "0" для обоих выражений.

eval

Установите, когда выражения дляxа такжеyоцениваются.

Он принимает следующие значения:

init

Оценивайте выражения один раз во время инициализации фильтра или при обработке команды.

frame

Оценивать выражения для каждого входящего кадра

Значение по умолчаниюframe.

eof_action

Смотрите кадровую синхронизацию .

shortest

Смотрите кадровую синхронизацию .

repeatlast

Смотрите кадровую синхронизацию .

Этот фильтр также поддерживает параметры синхронизации кадров .

11.178 owdenoise

Примените шумоподавитель Overcomplete Wavelet.

Фильтр принимает следующие параметры:

depth

Установить глубину.

Большие значения глубины будут сильнее подавлять шум низкочастотных компонентов, но замедлят фильтрацию.

Должен быть int в диапазоне 8-16, по умолчанию 8.

luma_strength, ls

Установите силу яркости.

Должно быть двойное значение в диапазоне от 0 до 1000, по умолчанию — 1.0.

chroma_strength, cs

Установите силу цветности.

Должно быть двойное значение в диапазоне от 0 до 1000, по умолчанию — 1.0.

11.179 pad

Добавьте отступы к входному изображению и поместите исходный ввод в предоставленные координаты x, .y

Он принимает следующие параметры:

width, w
height, h

Укажите выражение для размера выходного изображения с добавленными отступами. Если значение для widthили heightравно 0, соответствующий входной размер используется для вывода.

Выражение widthможет ссылаться на значение, заданное heightвыражением, и наоборот.

Значение по умолчанию widthи heightравно 0.

x
y

Укажите смещения для размещения входного изображения в области заполнения относительно верхней/левой границы выходного изображения.

Выражение xможет ссылаться на значение, заданное y выражением, и наоборот.

Значение по умолчанию xи yравно 0.

Если xили yоценивается как отрицательное число, они будут изменены таким образом, чтобы входное изображение располагалось по центру заполненной области.

color

Укажите цвет заполненной области. Синтаксис этой опции см. в разделе (ffmpeg-utils) «Цвет» в руководстве по ffmpeg-utils .

Значение по умолчанию color— «черный».

eval

Укажите, когда оценивать width, height, xи yвыражение.

Он принимает следующие значения:

'init'

Оценивайте выражения только один раз во время инициализации фильтра или при обработке команды.

'frame'

Оцените выражения для каждого входящего кадра.

Значение по умолчанию: 'init'.

aspect

Pad к аспекту, а не к разрешению.

Значения параметров width, height, xи y являются выражениями, содержащими следующие константы:

in_w
in_h

Ширина и высота входного видео.

iw
ih

Это такие же, как in_wи in_h.

out_w
out_h

Выходная ширина и высота (размер заполненной области), как указано в выражениях widthи .height

ow
oh

Это такие же, как out_wи out_h.

x
y

Смещения x и y, как указано в выражениях xи y , или NAN, если они еще не указаны.

a

то же, что iw/ih

sar

соотношение сторон входного образца

dar

входное соотношение сторон дисплея, оно такое же, как ( iw/ ih) *sar

hsub
vsub

Значения подвыборки цветности по горизонтали и вертикали. Например, для формата пикселей «yuv422p» hsubравно 2 и vsubравно 1.

11.179.1 Примеры

  • Добавьте отступы фиолетового цвета к входному видео. Размер выходного видео составляет 640x480, а верхний левый угол входного видео помещается в столбец 0, строку 40.
    pad=640:480:0:40:violet
    

    Приведенный выше пример эквивалентен следующей команде:

    pad=width=640:height=480:x=0:y=40:color=violet
    
  • Заполните вход, чтобы получить вывод с размерами, увеличенными на 3/2, и поместите входное видео в центр заполненной области:
    pad="3/2*iw:3/2*ih:(ow-iw)/2:(oh-ih)/2"
    
  • Заполните вход, чтобы получить квадратный вывод с размером, равным максимальному значению между шириной и высотой ввода, и поместите входное видео в центр заполненной области:
    pad="max(iw\,ih):ow:(ow-iw)/2:(oh-ih)/2"
    
  • Дополните ввод, чтобы получить окончательное соотношение w/h 16:9:
    pad="ih*16/9:ih:(ow-iw)/2:(oh-ih)/2"
    
  • В случае анаморфотного видео, чтобы правильно установить выходной аспект отображения, необходимо использовать sarв выражении, согласно соотношению:
    (ih * X / ih) * sar = output_dar
    X = output_dar / sar
    

    Таким образом, предыдущий пример необходимо изменить, чтобы:

    pad="ih*16/9/sar:ih:(ow-iw)/2:(oh-ih)/2"
    
  • Удвойте размер вывода и поместите входное видео в нижний правый угол области вывода:
    pad="2*iw:2*ih:ow-iw:oh-ih"
    

11.180 palettegen

Создайте одну палитру для всего видеопотока.

Он принимает следующие параметры:

max_colors

Установите максимальное количество цветов для квантизации в палитре. Примечание: палитра по-прежнему будет содержать 256 цветов; неиспользуемые элементы палитры будут черными.

reserve_transparent

Создайте палитру максимум из 255 цветов и зарезервируйте последний для прозрачности. Сохранение цвета прозрачности полезно для оптимизации GIF. Если не установлено, максимальное количество цветов в палитре будет 256. Вероятно, вы захотите отключить эту опцию для отдельного изображения. Установить по умолчанию.

transparency_color

Установите цвет, который будет использоваться в качестве фона для прозрачности.

stats_mode

Установить режим статистики.

Он принимает следующие значения:

'full'

Вычислить полнокадровые гистограммы.

'diff'

Вычислять гистограммы только для той части, которая отличается от предыдущего кадра. Это может быть уместно, чтобы придать большее значение движущейся части вашего ввода, если фон статичен.

'single'

Вычислить новую гистограмму для каждого кадра.

Значение по умолчанию full.

use_alpha

Создайте палитру цветов с альфа-компонентами. Установка этого параметра автоматически отключит «reserve_transparent».

Фильтр также экспортирует метаданные кадра lavfi.color_quant_ratio ( nb_color_in / nb_color_out), которые можно использовать для оценки степени квантования цветов палитры. Эта информация также видна на infoуровне ведения журнала.

11.180.1 Примеры

  • Создайте репрезентативную палитру данного видео, используя ffmpeg:
    ffmpeg -i input.mkv -vf palettegen palette.png
    

11.181 paletteuse

Используйте палитру для понижения дискретизации входного видеопотока.

Фильтр принимает два входа: один видеопоток и палитру. Палитра должна быть изображением размером 256 пикселей.

Он принимает следующие параметры:

dither

Выберите режим дизеринга. Доступные алгоритмы:

'bayer'

Упорядоченный байеровский дизеринг 8x8 (детерминированный)

'heckbert'

Дизеринг по определению Пола Хекберта в 1982 году (простое распространение ошибок). Примечание: это сглаживание иногда считается «неправильным» и приводится в качестве справочного материала.

'floyd_steinberg'

Дизеринг Флойда и Стейнберга (рассеивание ошибок)

'sierra2'

Frankie Sierra dithering v2 (рассеивание ошибок)

'sierra2_4a'

Frankie Sierra dithering v2 "Lite" (диффузия ошибок)

Значение по умолчанию sierra2_4a.

bayer_scale

Когда bayerвыбрано сглаживание, этот параметр определяет масштаб узора (насколько виден узор штриховки). Низкое значение означает более заметный рисунок для меньшего количества полос, а более высокое значение означает менее видимый рисунок за счет большего количества полос.

Параметр должен быть целым числом в диапазоне [0,5]. Значение по умолчанию 2.

diff_mode

Если установлено, определите зону для обработки

'rectangle'

Только изменяющийся прямоугольник будет повторно обработан. Это похоже на механизм сжатия GIF кадрирования/смещения. Этот параметр может быть полезен для скорости, если изменяется только часть изображения, и имеет такие варианты использования, как ограничение области распространения ошибки.ditherк прямоугольнику, ограничивающему движущуюся сцену (это приводит к более детерминированному выводу, если сцена не сильно меняется, и, как результат, к меньшему движущемуся шуму и лучшему сжатию GIF).

Значение по умолчанию none.

new

Возьмите новую палитру для каждого выходного кадра.

alpha_threshold

Устанавливает альфа-порог прозрачности. Альфа-значения выше этого порога будут рассматриваться как полностью непрозрачные, а значения ниже этого порога будут рассматриваться как полностью прозрачные.

Параметр должен быть целым числом в диапазоне [0,255]. Значение по умолчанию 128.

use_alpha

Примените палитру, принимая во внимание альфа-значения. Полезно только с палитрами, содержащими несколько цветов с альфа-компонентами. Установка этого параметра автоматически отключит 'alpha_treshold'.

11.181.1 Примеры

  • Используйте палитру (сгенерированную, например, с помощью panelgen ) для кодирования GIF с помощью ffmpeg:
    ffmpeg -i input.mkv -i palette.png -lavfi paletteuse output.gif
    

11.182 perspective

Правильная перспектива видео, записанного не перпендикулярно экрану.

Далее следует описание принятых параметров.

x0
y0
x1
y1
x2
y2
x3
y3

Установите выражение координат для верхнего левого, верхнего правого, нижнего левого и нижнего правого углов. Значения по умолчанию, 0:0:W:0:0:H:W:Hс которыми перспектива останется неизменной. Если senseопция установлена ​​на source, то указанные точки будут отправлены в углы пункта назначения. Если senseопция установлена ​​в destination, то углы исходника будут отправлены в указанные координаты.

В выражениях могут использоваться следующие переменные:

W
H

ширина и высота видеокадра.

in

Количество входных кадров.

on

Количество выходных кадров.

interpolation

Установите интерполяцию для коррекции перспективы.

Он принимает следующие значения:

'linear'
'cubic'

Значение по умолчанию: 'linear'.

sense

Установить интерпретацию параметров координат.

Он принимает следующие значения:

'0, source'

Отправить точку в источнике, заданную заданными координатами, в углы пункта назначения.

'1, destination'

Направьте углы источника в точку назначения, указанную заданными координатами.

Значение по умолчанию: 'source'.

eval

Установить, когда выражения для координатx0,y0,...x3,y3оцениваются.

Он принимает следующие значения:

'init'

оценивайте выражения только один раз во время инициализации фильтра или при обработке команды

'frame'

оценивать выражения для каждого входящего кадра

Значение по умолчанию: 'init'.

11.183 phase

Задержите чересстрочное видео на время одного поля, чтобы порядок полей изменился.

Предполагаемое использование состоит в том, чтобы исправить фильмы PAL, которые были сняты с порядком полей, противоположным передаче фильма в видео.

Далее следует описание принятых параметров.

mode

Установить фазовый режим.

Он принимает следующие значения:

't'

Порядок захвата полей сверху вниз, передача снизу. Фильтр задержит нижнее поле.

'b'

Порядок захвата полей снизу вверх, передача сверху. Фильтр задержит верхнее поле.

'p'

Захват и передача с тем же порядком поля. Этот режим существует только для документации других параметров, на которые можно ссылаться, но если вы действительно выберете его, фильтр точно ничего не сделает.

'a'

Порядок захвата полей определяется автоматически по флагам полей, перенос наоборот. Фильтр выбирает среди 't' а также 'bрежимы на покадровой основе с использованием флагов полей. Если информация о поле недоступна, то это работает так же, как 'u'.

'u'

Захват неизвестного или изменяющегося, передача напротив. Фильтр выбирает среди 't' а также 'b' на покадровой основе, анализируя изображения и выбирая альтернативу, которая обеспечивает наилучшее соответствие между полями.

'T'

Захват сверху, передача неизвестного или изменяющегося. Фильтр выбирает среди 't' а также 'p' с помощью анализа изображений.

'B'

Захват снизу, передача неизвестна или варьируется. Фильтр выбирает среди 'b' а также 'p' с помощью анализа изображений.

'A'

Захват определяется полевыми флагами, передача неизвестна или варьируется. Фильтр выбирает среди 't', 'b' а также 'p' с использованием флагов полей и анализа изображений. Если информация о поле недоступна, то это работает так же, как 'U'. Это режим "по умолчанию".

'U'

Как захват, так и передача неизвестны или варьируются. Фильтр выбирает среди 't', 'b' а также 'p' только с помощью анализа изображений.

11.183.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.184 photosensitivity

Уменьшите различные вспышки в видео, чтобы помочь пользователям с эпилепсией.

Он принимает следующие параметры:

frames, f

Установите, сколько кадров использовать при фильтрации. По умолчанию 30.

threshold, t

Установите пороговый фактор обнаружения. По умолчанию 1. Чем ниже, тем строже.

skip

Установите, сколько пикселей пропускать при выборке кадров. По умолчанию 1. Допустимый диапазон от 1 до 1024.

bypass

Оставьте кадры без изменений. По умолчанию отключено.

11.185 pixdesctest

Тестовый фильтр дескриптора формата пикселей, в основном полезный для внутреннего тестирования. Выходное видео должно быть равно входному видео.

Например:

format=monow, pixdesctest

можно использовать для проверки определения дескриптора формата монобелого пикселя.

11.186 pixelize

Примените пикселизацию к видеопотоку.

Фильтр принимает следующие параметры:

width, w
height, h

Установите размеры блока, которые будут использоваться для пикселизации. Значение по умолчанию 16.

mode, m

Установите используемый режим пикселизации.

Возможные значения:

'avg'
'min'
'max'

Значение по умолчанию avg.

planes, p

Установите, какие самолеты фильтровать. По умолчанию фильтруются все плоскости.

11.186.1 Команды

Этот фильтр поддерживает все параметры в виде команд .

11.187 pixscope

Отобразите образцы значений цветовых каналов. В основном полезно для проверки цвета и уровней. Минимальное поддерживаемое разрешение 640x480.

Фильтры принимают следующие параметры:

x

Установите положение X области видимости, относительное смещение по оси X.

y

Установите положение Y прицела, относительное смещение по оси Y.

w

Установить ширину области.

h

Установите высоту прицела.

o

Установите прозрачность окна. Это окно также содержит статистику о площади пикселей.

wx

Установите положение X окна, относительное смещение по оси X.

wy

Установить положение Y окна, относительное смещение по оси Y.

11.187.1 Команды

Этот фильтр поддерживает те же команды , что и параметры.

11.188 pp

Включите указанную цепочку подфильтров постобработки с помощью libpostproc. Эта библиотека должна автоматически выбираться при сборке GPL ( --enable-gpl). Подфильтры должны быть разделены символом «/» и могут быть отключены путем добавления «-». Каждый подфильтр и некоторые опции имеют короткое и длинное имя, которые могут использоваться взаимозаменяемо, т.е. dr/dering одинаковы.

Фильтры принимают следующие параметры:

subfilters

Установить строку подфильтров постобработки.

Все подфильтры имеют общие параметры для определения их области действия:

a/autoq

Соблюдайте команды качества для этого подфильтра.

c/chrom

Также выполните фильтрацию цветности (по умолчанию).

y/nochrom

Выполнять только фильтрацию яркости (без цветности).

n/noluma

Выполните только фильтрацию цветности (без яркости).

Эти параметры могут быть добавлены после имени подфильтра, разделенного символом «|».

Доступные подфильтры:

hb/hdeblock[|difference[|flatness]]

Горизонтальный деблокирующий фильтр

difference

Коэффициент разницы, где более высокие значения означают большее разблокирование (по умолчанию: 32).

flatness

Порог плоскостности, при котором более низкие значения означают большее удаление блоков (по умолчанию: 39).

vb/vdeblock[|difference[|flatness]]

Вертикальный деблокирующий фильтр

difference

Коэффициент разницы, где более высокие значения означают большее разблокирование (по умолчанию: 32).

flatness

Порог плоскостности, при котором более низкие значения означают большее удаление блоков (по умолчанию: 39).

ha/hadeblock[|difference[|flatness]]

Точный горизонтальный деблокирующий фильтр

difference

Коэффициент разницы, где более высокие значения означают большее разблокирование (по умолчанию: 32).

flatness

Порог плоскостности, при котором более низкие значения означают большее удаление блоков (по умолчанию: 39).

va/vadeblock[|difference[|flatness]]

Точный вертикальный деблокирующий фильтр

difference

Коэффициент разницы, где более высокие значения означают большее разблокирование (по умолчанию: 32).

flatness

Порог плоскостности, при котором более низкие значения означают большее удаление блоков (по умолчанию: 39).

Фильтры удаления блочности по горизонтали и вертикали имеют одинаковые значения разницы и плоскостности, поэтому вы не можете установить разные пороговые значения по горизонтали и вертикали.

h1/x1hdeblock

Экспериментальный горизонтальный деблокирующий фильтр

v1/x1vdeblock

Экспериментальный вертикальный деблокирующий фильтр

dr/dering

Фильтр Деринга

tn/tmpnoise[|threshold1[|threshold2[|threshold3]]], temporal noise reducer
threshold1

больше -> более сильная фильтрация

threshold2

больше -> более сильная фильтрация

threshold3

больше -> более сильная фильтрация

al/autolevels[:f/fullyrange], automatic brightness / contrast correction
f/fullyrange

Растянуть яркость до 0-255.

lb/linblenddeint

Линейный фильтр деинтерлейсинга смешивания, который деинтерлейсирует заданный блок, фильтруя все строки с помощью (1 2 1)фильтра.

li/linipoldeint

Фильтр деинтерлейсинга с линейной интерполяцией, который деинтерлейсирует заданный блок путем линейной интерполяции каждой второй строки.

ci/cubicipoldeint

Фильтр деинтерлейсинга с кубической интерполяцией деинтерлейсирует заданный блок путем кубической интерполяции каждой второй строки.

md/mediandeint

Медианный фильтр деинтерлейсинга, который деинтерлейсирует заданный блок, применяя медианный фильтр к каждой второй строке.

fd/ffmpegdeint

Фильтр деинтерлейсинга FFmpeg, который деинтерлейсирует заданный блок, фильтруя каждую вторую строку (-1 4 2 4 -1)фильтром.

l5/lowpass5

Вертикально применяемый КИХ-фильтр нижних частот деинтерлейсинга, который деинтерлейсирует заданный блок, фильтруя все строки (-1 2 6 2 -1)фильтром.

fq/forceQuant[|quantizer]

Переопределяет таблицу квантователя из ввода с помощью указанного вами постоянного квантователя.

quantizer

Квантизатор для использования

de/default

Комбинация фильтров pp по умолчанию ( hb|a,vb|a,dr|a)

fa/fast

Комбинация фильтров Fast pp ( h1|a,v1|a,dr|a)

ac

Комбинация высококачественных полипропиленовых фильтров ( ha|a|128|7,va|a,dr|a)

11.188.1 Примеры

  • Примените горизонтальную и вертикальную деблокировку, устранение шумов и автоматическую яркость/контрастность:
    pp=hb/vb/dr/al
    
  • Применить фильтры по умолчанию без коррекции яркости/контрастности:
    pp=de/-al
    
  • Примените фильтры по умолчанию и временной шумоподавитель:
    pp=default/tmpnoise|1|2|3
    
  • Примените деблокировку только к яркости и автоматически включайте или выключайте вертикальную деблокировку в зависимости от доступного процессорного времени:
    pp=hb|y/vb|a
    

11.189 pp7

Примените фильтр постобработки 7. Это вариант фильтра spp , аналогичный spp = 6 с 7-точечным DCT, где после IDCT используется только центральная выборка.

Фильтр принимает следующие параметры:

qp

Установите постоянный параметр квантования. Он принимает целое число в диапазоне от 0 до 63. Если не установлено, фильтр будет использовать QP из видеопотока (если доступно).

mode

Установите пороговый режим. Доступные режимы:

'hard'

Установите жесткий порог.

'soft'

Установите мягкое пороговое значение (лучший эффект устранения звона, но, вероятно, более размытый).

'medium'

Установите средний порог (хорошие результаты, по умолчанию).

11.190 premultiply

Примените эффект предварительного умножения альфа-канала к входному видеопотоку, используя первую плоскость второго потока в качестве альфа-канала.

Оба потока должны иметь одинаковые размеры и одинаковый формат пикселей.

Фильтр принимает следующий вариант:

planes

Укажите, какие плоскости будут обработаны, необработанные плоскости будут скопированы. При значении по умолчанию 0xf будут обработаны все плоскости.

inplace

Не требуйте 2-го ввода для обработки, вместо этого используйте альфа-плоскость из входного потока.

11.191 prewitt

Применить оператор prewitt к входному видеопотоку.

Фильтр принимает следующий вариант:

planes

Укажите, какие плоскости будут обработаны, необработанные плоскости будут скопированы. При значении по умолчанию 0xf будут обработаны все плоскости.

scale

Установите значение, которое будет умножено на отфильтрованный результат.

delta

Установите значение, которое будет добавлено к отфильтрованному результату.

11.191.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.192 pseudocolor

Измените цвета кадров в видео с помощью псевдоцветов.

Этот фильтр принимает следующие параметры:

c0

установить выражение первого компонента пикселя

c1

установить выражение второго компонента пикселя

c2

установить выражение третьего компонента пикселя

c3

установить выражение четвертого компонента пикселя, соответствует альфа-компоненту

index, i

установить компонент для использования в качестве основы для изменения цветов

preset, p

Выберите один из встроенных LUT. По умолчанию установлено значение none.

Доступные LUT:

'magma'
'inferno'
'plasma'
'viridis'
'turbo'
'cividis'
'range1'
'range2'
'shadows'
'highlights'
'solar'
'nominal'
'preferred'
'total'
opacity

Установите непрозрачность выходных цветов. Допустимый диапазон от 0 до 1. Значение по умолчанию равно 1.

Каждая из опций выражения задает выражение, используемое для вычисления таблицы поиска для соответствующих значений компонента пикселя.

Выражения могут содержать следующие константы и функции:

w
h

Вводимая ширина и высота.

val

Входное значение для компонента пикселя.

ymin, umin, vmin, amin

Минимально допустимое значение компонента.

ymax, umax, vmax, amax

Максимально допустимое значение компонента.

Все выражения по умолчанию равны "val".

11.192.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.192.2 Примеры

  • Измените слишком высокие значения яркости на градиент:
    pseudocolor="'if(between(val,ymax,amax),lerp(ymin,ymax,(val-ymax)/(amax-ymax)),-1):if(between(val,ymax,amax),lerp(umax,umin,(val-ymax)/(amax-ymax)),-1):if(between(val,ymax,amax),lerp(vmin,vmax,(val-ymax)/(amax-ymax)),-1):-1'"
    

11.193 psnr

Получите среднее, максимальное и минимальное PSNR (отношение пикового сигнала к шуму) между двумя входными видео.

Этот фильтр принимает на вход два входных видео, первый вход считается «основным» источником и без изменений передается на выход. Второй вход используется как «эталонное» видео для вычисления PSNR.

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

Полученное среднее значение PSNR распечатывается через систему регистрации.

Фильтр сохраняет накопленную MSE (среднеквадратичную ошибку) каждого кадра, а в конце обработки она усредняется по всем кадрам одинаково, и для получения PSNR применяется следующая формула:

PSNR = 10*log10(MAX^2/MSE)

Где MAX — это среднее максимальных значений каждого компонента изображения.

Далее следует описание принятых параметров.

stats_file, f

Если указано, фильтр будет использовать именованный файл для сохранения PSNR каждого отдельного кадра. Когда имя файла равно "-", данные отправляются на стандартный вывод.

stats_version

Указывает, какую версию формата файла статистики использовать. Детали каждого формата описаны ниже. Значение по умолчанию — 1.

stats_add_max

Определяет, выводится ли максимальное значение в журнал статистики. Значение по умолчанию — 0. Требуется stats_version >= 2. Если это установлено и stats_version < 2, фильтр вернет ошибку.

Этот фильтр также поддерживает параметры синхронизации кадров .

Печатаемый файл, если stats_fileон выбран, содержит последовательность пар ключ/значение вида key: valueдля каждой сравниваемой пары кадров.

Если stats_versionуказано значение больше 1, строка заголовка предшествует списку статистики для каждой пары кадров, а пары ключ-значение следуют за форматом кадра со следующими параметрами:

psnr_log_version

Версия формата файла журнала. Будет соответствовать stats_version.

fields

Разделенный запятыми список параметров для каждой пары кадров, включенный в журнал.

Ниже приводится описание каждого отображаемого параметра для каждой пары кадров:

n

порядковый номер входного кадра, начиная с 1

mse_avg

Среднеквадратическая ошибка — средняя попиксельная разница сравниваемых кадров, усредненная по всем компонентам изображения.

mse_y, mse_u, mse_v, mse_r, mse_g, mse_b, mse_a

Среднеквадратическая ошибка — попиксельная средняя разница сравниваемых кадров для компонента, указанного суффиксом.

psnr_y, psnr_u, psnr_v, psnr_r, psnr_g, psnr_b, psnr_a

Отношение пикового сигнала к шуму сравниваемых кадров для компонента, указанного суффиксом.

max_avg, max_y, max_u, max_v

Максимально допустимое значение для каждого канала и среднее значение по всем каналам.

11.193.1 Примеры

  • Например:
    movie=ref_movie.mpg, setpts=PTS-STARTPTS [main];
    [main][ref] psnr="stats_file=stats.log" [out]
    

    В этом примере обрабатываемый входной файл сравнивается с эталонным файлом.ref_movie.mpg. PSNR каждого отдельного кадра хранится вstats.log.

  • Другой пример с разными контейнерами:
    ffmpeg -i main.mpg -i ref.mkv -lavfi  "[0:v]settb=AVTB,setpts=PTS-STARTPTS[main];[1:v]settb=AVTB,setpts=PTS-STARTPTS[ref];[main][ref]psnr" -f null -
    

11.194 pullup

Реверсивный фильтр Pulldown (обратный телесин), способный обрабатывать смешанный жесткий телесин, прогрессивный контент с частотой 24000/1001 кадр/с и прогрессивный контент с частотой 30000/1001 кадр/с.

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

Чтобы создать контент с равномерной частотой кадров, вставьте фильтр кадров в секунду после подтягивания, используйте, fps=24000/1001если частота входных кадров составляет 29,97 кадров в секунду, fps=24для 30 кадров в секунду и (редко) телесин на входе 25 кадров в секунду.

Фильтр принимает следующие параметры:

jl
jr
jt
jb

Эти параметры задают количество игнорируемого «мусора» слева, справа, сверху и снизу изображения соответственно. Слева и справа — по 8 пикселей, а сверху и снизу — по 2 строки. По умолчанию 8 пикселей с каждой стороны.

sb

Установите строгие перерывы. Установка для этого параметра значения 1 снизит вероятность того, что фильтр будет генерировать случайные несовпадающие кадры, но также может привести к отбрасыванию чрезмерного количества кадров во время последовательностей с большим движением. И наоборот, установка значения -1 упростит сопоставление полей фильтра. Это может помочь при обработке видео с небольшим размытием между полями, но также может привести к появлению чересстрочных кадров на выходе. Значение по умолчанию 0.

mp

Установите метрическую плоскость для использования. Он принимает следующие значения:

'l'

Используйте яркостную плоскость.

'u'

Используйте хроматический синий самолет.

'v'

Используйте красную плоскость цветности.

Эта опция может быть настроена на использование плоскости цветности вместо плоскости яркости по умолчанию для выполнения вычислений фильтра. Это может улучшить точность на очень чистом исходном материале, но, скорее всего, снизит точность, особенно если присутствует цветной шум (эффект радуги) или любое видео в градациях серого. Основная цель установкиmpк плоскости цветности, чтобы уменьшить нагрузку на ЦП и сделать подтягивание пригодным для использования в реальном времени на медленных машинах.

Для достижения наилучших результатов (без дублирования кадров в выходном файле) необходимо изменить частоту кадров на выходе. Например, для обратного ввода телесина NTSC:

ffmpeg -i input -vf pullup -r 24000/1001 ...

11.195 qp

Изменить параметры квантования видео (QP).

Фильтр принимает следующий вариант:

qp

Установите выражение для параметра квантования.

Выражение оценивается через eval API и может содержать, среди прочего, следующие константы:

known

1, если индекс не равен 129, иначе 0.

qp

Последовательный индекс, начиная с -129 до 128.

11.195.1 Примеры

  • Некоторое уравнение типа:
    qp=2+2*sin(PI*qp)
    

11.196 random

Сбрасывать видеокадры из внутреннего кеша кадров в случайном порядке. Ни один кадр не отбрасывается. Вдохновлен нервным фильтром frei0r .

frames

Задайте размер в количестве кадров внутреннего кэша в диапазоне от 2до 512. Значение по умолчанию 30.

seed

Установите начальное число для генератора случайных чисел, это должно быть целое число между 0и UINT32_MAX. Если не указано или явно задано значение меньше 0, фильтр попытается использовать хорошее случайное начальное число в максимально возможной степени.

11.197 readeia608

Чтение информации скрытых субтитров (EIA-608) из верхних строк видеокадра.

Этот фильтр добавляет метаданные кадра для lavfi.readeia608.X.ccи lavfi.readeia608.X.line, где X– номер идентифицированной строки с данными EIA-608 (начиная с 0). Ниже приводится описание каждого значения метаданных:

lavfi.readeia608.X.cc

Два байта хранятся как данные EIA-608 (напечатаны в шестнадцатеричном формате).

lavfi.readeia608.X.line

Номер строки, на которой были идентифицированы и прочитаны данные EIA-608.

Этот фильтр принимает следующие параметры:

scan_min

Установите строку, чтобы начать сканирование данных EIA-608. Значение по умолчанию 0.

scan_max

Установите строку для завершения сканирования данных EIA-608. Значение по умолчанию 29.

spw

Установите соотношение ширины, зарезервированное для обнаружения кода синхронизации. Значение по умолчанию 0.27. Допустимый диапазон [0.1 - 0.7].

chp

Включите проверку бита четности. В случае ошибки четности фильтр будет выводить 0x00этот символ. Значение по умолчанию — ложь.

lp

Линии нижних частот перед дальнейшей обработкой. По умолчанию включено.

11.197.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.197.2 Примеры

  • Выведите CSV-файл со временем презентации и первыми двумя строками идентифицированных данных подписей EIA-608.
    ffprobe -f lavfi -i movie=captioned_video.mov,readeia608 -show_entries frame=pts_time:frame_tags=lavfi.readeia608.0.cc,lavfi.readeia608.1.cc -of csv
    

11.198 readvitc

Считайте информацию о временном коде вертикального интервала (VITC) из верхних строк видеокадра.

Фильтр добавляет ключ метаданных кадра lavfi.readvitc.tc_strсо значением временного кода, если был обнаружен действительный временной код. Ключ дальнейших метаданных lavfi.readvitc.foundустанавливается на 0/1 в зависимости от того, были ли найдены данные тайм-кода или нет.

Этот фильтр принимает следующие параметры:

scan_max

Установите максимальное количество строк для сканирования данных VITC. Если установлено значение, -1сканируется весь видеокадр. Значение по умолчанию 45.

thr_b

Установите порог яркости для черного. Принимает числа с плавающей запятой в диапазоне [0.0,1.0], значение по умолчанию — 0.2. Значение должно быть равно или меньше thr_w.

thr_w

Установите порог яркости для белого. Принимает числа с плавающей запятой в диапазоне [0.0,1.0], значение по умолчанию — 0.6. Значение должно быть равно или больше thr_b.

11.198.1 Примеры

  • Обнаружение и отображение данных VITC на видеокадре; если действительный VITC не обнаружен, нарисуйте --:--:--:--в качестве заполнителя:
    ffmpeg -i input.avi -filter:v 'readvitc,drawtext=fontfile=FreeMono.ttf:text=%{metadata\\:lavfi.readvitc.tc_str\\:--\\\\\\:--\\\\\\:--\\\\\\:--}:x=(w-tw)/2:y=400-ascent'
    

11.199 remap

Переназначьте пиксели, используя 2-й: Xmap и 3-й: входной видеопоток Ymap.

Пиксель назначения в позиции (X, Y) будет выбран из позиции источника (x, y), где x = Xmap(X, Y) и y = Ymap(X, Y). Если значения сопоставления выходят за пределы допустимого диапазона, для целевого пикселя будет использоваться нулевое значение для пикселя.

Входные видеопотоки Xmap и Ymap должны иметь одинаковые размеры. Выходной видеопоток будет иметь размеры видеопотока Xmap/Ymap. Входные видеопотоки Xmap и Ymap имеют глубину 16 бит, одноканальные.

format

Укажите формат пикселя вывода этого фильтра. Можно colorили gray. Значение по умолчанию color.

fill

Укажите цвет неотображенных пикселей. Синтаксис этой опции см. в разделе (ffmpeg-utils) «Цвет» в руководстве по ffmpeg-utils . Цвет по умолчанию black.

11.200 removegrain

Фильтр removegrain — это пространственный шумоподавитель для прогрессивного видео.

m0

Установите режим для первой плоскости.

m1

Установите режим для второй плоскости.

m2

Установите режим для третьей плоскости.

m3

Установите режим для четвертой плоскости.

Диапазон режимов от 0 до 24. Ниже приводится описание каждого режима:

0

Оставьте входную плоскость без изменений. По умолчанию.

1

Обрезает пиксель с минимумом и максимумом из 8 соседних пикселей.

2

Обрезает пиксель со вторым минимумом и максимумом из 8 соседних пикселей.

3

Обрезает пиксель с третьим минимумом и максимумом из 8 соседних пикселей.

4

Обрезает пиксель с четвертым минимумом и максимумом из 8 соседних пикселей. Это эквивалентно медианному фильтру.

5

Чувствительное к линии отсечение с минимальными изменениями.

6

Чувствительное к линии отсечение, промежуточное.

7

Чувствительное к линии отсечение, промежуточное.

8

Чувствительное к линии отсечение, промежуточное.

9

Чувствительное к линии отсечение на линии, где соседние пиксели находятся ближе всего.

10

Заменяет целевой пиксель ближайшим соседом.

11

[1 2 1] горизонтальное и вертикальное размытие ядра.

12

То же, что и режим 11.

13

Режим Боба интерполирует верхнее поле из строки, где соседние пиксели находятся ближе всего.

14

Режим Боба интерполирует нижнее поле от линии, где соседние пиксели находятся ближе всего.

15

Режим Боба, интерполирует верхнее поле. То же, что и 13, но с более сложной формулой интерполяции.

16

Режим Боба, интерполирует нижнее поле. То же, что и 14, но с более сложной формулой интерполяции.

17

Обрезает пиксель с минимумом и максимумом соответственно максимума и минимума каждой пары противоположных соседних пикселей.

18

Чувствительное к линии отсечение с использованием противоположных соседей, максимальное расстояние которых от текущего пикселя минимально.

19

Заменяет пиксель средним значением 8 его соседей.

20

Усредняет 9 пикселей ([1 1 1] размытие по горизонтали и вертикали).

21

Обрезает пиксели, используя средние значения противоположного соседа.

22

То же, что и режим 21, но проще и быстрее.

23

Небольшое удаление краев и ореолов, но считается бесполезным.

24

Похоже на 23.

11.201 removelogo

Подавить логотип телестанции, используя файл изображения, чтобы определить, какие пиксели составляют логотип. Он работает путем заполнения пикселей, составляющих логотип, соседними пикселями.

Фильтр принимает следующие параметры:

filename, f

Установите файл растрового изображения фильтра, который может быть любым форматом изображения, поддерживаемым libavformat. Ширина и высота файла изображения должны соответствовать ширине и высоте обрабатываемого видеопотока.

Пиксели в предоставленном растровом изображении со значением ноль не считаются частью логотипа, ненулевые пиксели считаются частью логотипа. Если вы используете белый (255) для логотипа и черный (0) для остальных, вы будете в безопасности. Для создания растрового изображения фильтра рекомендуется сделать снимок экрана с черной рамкой с видимым логотипом, а затем использовать пороговый фильтр, а затем фильтр эрозии один или два раза.

При необходимости небольшие пятна можно исправить вручную. Помните, что если пиксели логотипа не закрыты, качество фильтра сильно ухудшится. Пометка слишком большого количества пикселей как части логотипа не так сильно повредит, но увеличит степень размытия, необходимого для покрытия изображения, и уничтожит больше информации, чем необходимо, а дополнительные пиксели замедлят работу на большом логотипе.

11.202 repeatfields

Этот фильтр использует флаг repeat_field из заголовков Video ES и поля жесткого повтора на основе его значения.

11.203 reverse

Перевернуть видеоклип.

Предупреждение: этому фильтру требуется память для буферизации всего клипа, поэтому рекомендуется обрезка.

11.203.1 Примеры

  • Возьмите первые 5 секунд клипа и переверните его.
    trim=end=5,reverse
    

11.204 rgbashift

Сдвиг пикселей R/G/B/A по горизонтали и/или по вертикали.

Фильтр принимает следующие параметры:

rh

Установите величину смещения красного цвета по горизонтали.

rv

Установите величину смещения красного цвета по вертикали.

gh

Установите количество для смещения зеленого по горизонтали.

gv

Установите величину смещения зеленого цвета по вертикали.

bh

Установите величину смещения синего цвета по горизонтали.

bv

Установите величину смещения синего цвета по вертикали.

ah

Установите величину смещения альфы по горизонтали.

av

Установите величину смещения альфа-канала по вертикали.

edge

Установить граничный режим, может быть smear, по умолчанию или warp.

11.204.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.205 roberts

Применить оператор roberts cross к входному видеопотоку.

Фильтр принимает следующий вариант:

planes

Укажите, какие плоскости будут обработаны, необработанные плоскости будут скопированы. При значении по умолчанию 0xf будут обработаны все плоскости.

scale

Установите значение, которое будет умножено на отфильтрованный результат.

delta

Установите значение, которое будет добавлено к отфильтрованному результату.

11.205.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.206 rotate

Поворот видео на произвольный угол, выраженный в радианах.

Фильтр принимает следующие параметры:

Далее следует описание необязательных параметров.

angle, a

Установите выражение для угла поворота входного видео по часовой стрелке, выраженное в радианах. Отрицательное значение приведет к вращению против часовой стрелки. По умолчанию установлено значение «0».

Это выражение оценивается для каждого кадра.

out_w, ow

Задайте выражение ширины вывода, значение по умолчанию — «iw». Это выражение оценивается только один раз во время настройки.

out_h, oh

Задайте выражение выходной высоты, значение по умолчанию — «ih». Это выражение оценивается только один раз во время настройки.

bilinear

Включить билинейную интерполяцию, если установлено значение 1, значение 0 отключает ее. Значение по умолчанию — 1.

fillcolor, c

Установите цвет, используемый для заполнения выходной области, не покрытой повернутым изображением. Общий синтаксис этой опции см. в разделе (ffmpeg-utils) «Цвет» в руководстве по ffmpeg-utils . Если выбрано специальное значение «none», фон не печатается (полезно, например, если фон никогда не отображается).

Значение по умолчанию — «черный».

Выражения для угла и выходного размера могут содержать следующие константы и функции:

n

порядковый номер входного кадра, начиная с 0. Перед фильтрацией первого кадра всегда NAN.

t

время в секундах входного кадра, при настройке фильтра устанавливается равным 0. Это всегда NAN перед фильтрацией первого кадра.

hsub
vsub

значения подвыборки цветности по горизонтали и вертикали. Например, для формата пикселей «yuv422p» hsubравно 2 и vsubравно 1.

in_w, iw
in_h, ih

ширина и высота входного видео

out_w, ow
out_h, oh

выходная ширина и высота, то есть размер заполненной области, как указано в выражениях widthиheight

rotw(a)
roth(a)

минимальная ширина/высота, необходимая для полного размещения входного видео, повернутого на aрадианы.

Они доступны только при вычисленииout_wа также out_hвыражения.

11.206.1 Примеры

  • Поверните вход на PI/6 радиан по часовой стрелке:
    rotate=PI/6
    
  • Поверните вход на PI/6 в радианах против часовой стрелки:
    rotate=-PI/6
    
  • Поверните вход на 45 градусов по часовой стрелке:
    rotate=45*PI/180
    
  • Примените постоянное вращение с периодом T, начиная с угла PI/3:
    rotate=PI/3+2*PI*t/T
    
  • Сделайте вращение входного видео колеблющимся с периодом T секунд и амплитудой A радиан:
    rotate=A*sin(2*PI/T*t)
    
  • Поверните видео, размер вывода выбирается таким образом, чтобы все вращающееся входное видео всегда полностью содержалось в выводе:
    rotate='2*PI*t:ow=hypot(iw,ih):oh=ow'
    
  • Поверните видео, уменьшите размер вывода, чтобы фон никогда не отображался:
    rotate=2*PI*t:ow='min(iw,ih)/sqrt(2)':oh=ow:c=none
    

11.206.2 Команды

Фильтр поддерживает следующие команды:

a, angle

Задайте выражение угла. Команда принимает тот же синтаксис соответствующей опции.

Если указанное выражение недействительно, оно сохраняется в своем текущем значении.

11.207 sab

Примените адаптивное размытие формы.

Фильтр принимает следующие параметры:

luma_radius, lr

Установите силу фильтра размытия яркости, значение должно быть в диапазоне 0,1–4,0, значение по умолчанию — 1,0. Большее значение приведет к более размытому изображению и более медленной обработке.

luma_pre_filter_radius, lpfr

Установите радиус предварительного фильтра яркости, значение должно быть в диапазоне 0,1–2,0, значение по умолчанию — 1,0.

luma_strength, ls

Установите максимальную разницу яркости между пикселями, которая все еще будет учитываться. Значение должно быть в диапазоне 0,1–100,0, значение по умолчанию — 1,0.

chroma_radius, cr

Установите силу фильтра размытия цветности, значение должно быть в диапазоне от -0,9 до 4,0. Большее значение приведет к более размытому изображению и более медленной обработке.

chroma_pre_filter_radius, cpfr

Задайте радиус предварительного фильтра цветности, значение должно быть в диапазоне от -0,9 до 2,0.

chroma_strength, cs

Установите максимальную разницу цветности между пикселями, которая все еще будет учитываться, она должна быть в диапазоне от -0,9 до 100,0.

Каждое значение параметра цветности, если оно не указано явно, устанавливается равным соответствующему значению параметра яркости.

11.208 scale

Масштабируйте (измените размер) входное видео, используя библиотеку libswscale.

Масштабный фильтр заставляет соотношение сторон выходного дисплея быть таким же, как и входное, путем изменения соотношения сторон выходного образца.

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

11.208.1 Опции

Фильтр принимает следующие параметры или любые параметры, поддерживаемые масштабатором libswscale.

См. (ffmpeg-scaler) руководство ffmpeg-scaler для получения полного списка параметров масштабирования.

width, w
height, h

Установите выражение размера выходного видео. Значение по умолчанию — входное измерение.

Если значение widthили wравно 0, входная ширина используется для вывода. Если значение heightили hравно 0, входная высота используется для вывода.

Если одно и только одно из значений равно -n с n >= 1, масштабный фильтр будет использовать значение, поддерживающее соотношение сторон входного изображения, рассчитанное на основе другого указанного измерения. Однако после этого он проверит, что вычисленное измерение делится на n, и при необходимости скорректирует значение.

Если оба значения равны -n с n >= 1, поведение будет идентичным обоим значениям, установленным равным 0, как описано ранее.

См. ниже список допустимых констант для использования в выражении измерения.

eval

Укажите, когда оценивать widthи heightвыражать. Он принимает следующие значения:

'init'

Оценивайте выражения только один раз во время инициализации фильтра или при обработке команды.

'frame'

Оцените выражения для каждого входящего кадра.

Значение по умолчанию: 'init'.

interl

Установите режим чересстрочной развертки. Он принимает следующие значения:

'1'

Принудительное масштабирование с поддержкой чересстрочной развертки.

'0'

Не применяйте чересстрочное масштабирование.

'-1'

Выберите масштабирование с учетом чересстрочной развертки в зависимости от того, помечены ли исходные кадры как чересстрочные или нет.

Значение по умолчанию: '0'.

flags

Установите флаги масштабирования libswscale. См. (ffmpeg-scaler) руководство по ffmpeg-scaler для получения полного списка значений. Если это не указано явно, фильтр применяет флаги по умолчанию.

param0, param1

Задайте входные параметры libswscale для алгоритмов масштабирования, которым они нужны. Полную документацию см. в руководстве по ffmpeg- scaler (ffmpeg-scaler) . Если это не указано явно, фильтр применяет пустые параметры.

size, s

Установите размер видео. Синтаксис этого параметра см. в разделе (ffmpeg-utils) «Размер видео» в руководстве по ffmpeg-utils .

in_color_matrix
out_color_matrix

Установите тип цветового пространства входа/выхода YCbCr.

Это позволяет переопределить автоматически обнаруженное значение, а также позволяет принудительно задать конкретное значение, используемое для выхода и кодировщика.

Если не указано, тип цветового пространства зависит от формата пикселей.

Возможные значения:

'auto'

Выбирайте автоматически.

'bt709'

Формат соответствует Рекомендации Международного союза электросвязи (ITU) BT.709.

'fcc'

Установите цветовое пространство в соответствии с Кодексом федеральных правил (CFR) Федеральной комиссии по связи США (FCC), раздел 47 (2003) 73.682 (a).

'bt601'
'bt470'
'smpte170m'

Установите цветовое пространство в соответствии с:

  • Рекомендация Сектора радиосвязи МСЭ (ITU-R) BT.601
  • МСЭ-R Рек. BT.470-6 (1998) Системы B, B1 и G
  • Общество инженеров кино и телевидения (SMPTE) ST 170: 2004
'smpte240m'

Установите цветовое пространство в соответствии со SMPTE ST 240:1999.

'bt2020'

Установите цветовое пространство в соответствии с непостоянной системой яркости ITU-R BT.2020.

in_range
out_range

Установите входной/выходной диапазон выборки YCbCr.

Это позволяет переопределить автоматически обнаруженное значение, а также позволяет принудительно задать конкретное значение, используемое для выхода и кодировщика. Если не указано, диапазон зависит от формата пикселей. Возможные значения:

'auto/unknown'

Выбирайте автоматически.

'jpeg/full/pc'

Установите полный диапазон (0-255 в случае 8-битной яркости).

'mpeg/limited/tv'

Установите диапазон "MPEG" (16-235 в случае 8-битной яркости).

force_original_aspect_ratio

Включите уменьшение или увеличение ширины или высоты выходного видео, если это необходимо, чтобы сохранить исходное соотношение сторон. Возможные значения:

'disable'

Масштабируйте видео, как указано, и отключите эту функцию.

'decrease'

При необходимости размеры выходного видео будут автоматически уменьшены.

'increase'

При необходимости размеры выходного видео будут автоматически увеличены.

Одним из полезных примеров этой опции является то, что, когда вы знаете максимально допустимое разрешение для конкретного устройства, вы можете использовать его, чтобы ограничить выходное видео этим, сохраняя при этом соотношение сторон. Например, устройство А поддерживает воспроизведение с разрешением 1280 x 720, а ваше видео имеет разрешение 1920 x 800. Использование этой опции (установите ее на уменьшение) и указание 1280x720 в командной строке делает вывод 1280x533.

Обратите внимание, что это отличается от указания -1 дляw или жеh, вам все равно нужно указать выходное разрешение, чтобы эта опция работала.

force_divisible_by

Гарантирует, что оба выходных размера, ширина и высота, делятся на заданное целое число при использовании вместе сforce_original_aspect_ratio. Это работает аналогично использованию -nвwа такжеhопции.

Этот параметр учитывает значение, установленное дляforce_original_aspect_ratio, увеличивая или уменьшая разрешение соответственно. Соотношение сторон видео может быть немного изменено.

Этот параметр может быть удобен, если вам нужно, чтобы видео соответствовало определенному разрешению или превышало его с помощьюforce_original_aspect_ratioно также имеют ограничения кодировщика на делимость по ширине или высоте.

Значенияwа такжеhoptions — это выражения, содержащие следующие константы:

in_w
in_h

Ширина и высота ввода

iw
ih

Это такие же, как in_wи in_h.

out_w
out_h

Выходная (масштабированная) ширина и высота

ow
oh

Это такие же out_wиout_h

a

То же, что iw/ih

sar

соотношение сторон входного образца

dar

Соотношение сторон входного дисплея. Рассчитано из (iw / ih) * sar.

hsub
vsub

горизонтальные и вертикальные входные значения подвыборки цветности. Например, для формата пикселей «yuv422p» hsubравно 2 и vsubравно 1.

ohsub
ovsub

горизонтальные и вертикальные выходные значения цветности подвыборки. Например, для формата пикселей «yuv422p» hsubравно 2 и vsubравно 1.

n

(Порядковый) номер входного кадра, начиная с 0. Доступно только с eval=frame.

t

Временная метка представления входного кадра, выраженная в секундах. Доступно только с eval=frame.

pos

Позиция (байтовое смещение) кадра во входном потоке или NaN, если эта информация недоступна и/или бессмысленна (например, в случае синтетического видео). Доступно только с eval=frame.

11.208.2 Примеры

  • Масштабируйте входное видео до размера 200x100.
    scale=w=200:h=100
    

    Это эквивалентно:

    scale=200:100
    

    или же:

    scale=200x100
    
  • Укажите аббревиатуру размера для выходного размера:
    scale=qcif
    

    что также можно записать как:

    scale=size=qcif
    
  • Увеличьте ввод до 2x:
    scale=w=2*iw:h=2*ih
    
  • Вышеупомянутое аналогично:
    scale=2*in_w:2*in_h
    
  • Масштабируйте вход до 2x с принудительным чересстрочным масштабированием:
    scale=2*iw:2*ih:interl=1
    
  • Уменьшите ввод до половины размера:
    scale=w=iw/2:h=ih/2
    
  • Увеличьте ширину и установите высоту того же размера:
    scale=3/2*iw:ow
    
  • Ищите греческую гармонию:
    scale=iw:1/PHI*iw
    scale=ih*PHI:ih
    
  • Увеличьте высоту и установите ширину на 3/2 высоты:
    scale=w=3/2*oh:h=3/5*ih
    
  • Увеличьте размер, сделав размер кратным значениям подвыборки цветности:
    scale="trunc(3/2*iw/hsub)*hsub:trunc(3/2*ih/vsub)*vsub"
    
  • Увеличьте ширину до максимум 500 пикселей, сохраняя то же соотношение сторон, что и на входе:
    scale=w='min(500\, iw*3/2):h=-1'
    
  • Сделайте пиксели квадратными, объединив масштаб и сетсар:
    scale='trunc(ih*dar):ih',setsar=1/1
    
  • Сделайте пиксели квадратными, объединив масштаб и сетсар, убедившись, что результирующее разрешение равно (требуется некоторыми кодеками):
    scale='trunc(ih*dar/2)*2:trunc(ih/2)*2',setsar=1/1
    

11.208.3 Команды

Этот фильтр поддерживает следующие команды:

width, w
height, h

Установите выражение размера выходного видео. Команда принимает тот же синтаксис соответствующей опции.

Если указанное выражение недействительно, оно сохраняется в своем текущем значении.

11.209 scale_cuda

Масштабирование (изменение размера) и преобразование (формат пикселей) входного видео с использованием ускоренных ядер CUDA. Настройка выходной ширины и высоты работает так же, как и для масштабного фильтра.

Фильтр принимает следующие параметры:

w
h

Установите выражение размера выходного видео. Значение по умолчанию — входное измерение.

Позволяет использовать те же выражения, что и масштабный фильтр.

interp_algo

Устанавливает алгоритм, используемый для масштабирования:

nearest

Ближайший сосед

Используется по умолчанию, если входные параметры соответствуют желаемому результату.

bilinear

Билинейный

bicubic

Бикубический

Это значение по умолчанию.

lanczos

Ланцош

format

Управляет выходным форматом пикселей. По умолчанию или если ничего не указано, используется формат входных пикселей.

Фильтр не поддерживает преобразование между форматами пикселей YUV и RGB.

passthrough

Если установлено значение 0, обрабатывается каждый кадр, даже если преобразование не требуется. Этот режим может быть полезен для использования фильтра в качестве буфера для потребителя кадров нисходящего потока, который исчерпывает ограниченный пул кадров декодера.

Если установлено значение 1, кадры передаются как есть, если они соответствуют желаемым выходным параметрам. Это поведение по умолчанию.

param

Параметр, зависящий от алгоритма.

Влияет на кривые бикубического алгоритма.

force_original_aspect_ratio
force_divisible_by

Работайте так же, как и идентичные параметры масштабного фильтра.

11.209.1 Примеры

  • Масштабируйте входное изображение до 720p, сохраняя соотношение сторон и гарантируя, что на выходе будет yuv420p.
    scale_cuda=-2:720:format=yuv420p
    
  • Масштабирование до 4K с использованием алгоритма ближайшего соседа.
    scale_cuda=4096:2160:interp_algo=nearest
    
  • Не выполняйте никаких преобразований или масштабирования, а скопируйте все входные кадры во вновь выделенные. Это может быть полезно для работы с цепочкой фильтрации и кодирования, которая в противном случае исчерпывает пул кадров декодеров.
    scale_cuda=passthrough=0
    

11.210 scale_npp

Используйте примитивы производительности NVIDIA (libnpp) для выполнения масштабирования и/или преобразования формата пикселей в видеокадрах CUDA. Установка ширины и высоты вывода работает так же, как и для scaleфильтра.

Принимаются следующие дополнительные опции:

format

Пиксельный формат выходных кадров CUDA. Если установлено значение «такой же» (по умолчанию), формат ввода будет сохранен. Обратите внимание, что автоматическое согласование формата и преобразование пока не поддерживаются для аппаратных фреймов.

interp_algo

Алгоритм интерполяции, используемый для изменения размера. Одно из следующего:

nn

Ближайший сосед.

linear
cubic
cubic2p_bspline

2-параметрический кубический (B=1, C=0)

cubic2p_catmullrom

2-параметрический кубический (B=0, C=1/2)

cubic2p_b05c03

2-параметрический кубический (B=1/2, C=3/10)

super

Суперсэмплинг

lanczos
force_original_aspect_ratio

Включите уменьшение или увеличение ширины или высоты выходного видео, если это необходимо, чтобы сохранить исходное соотношение сторон. Возможные значения:

'disable'

Масштабируйте видео, как указано, и отключите эту функцию.

'decrease'

При необходимости размеры выходного видео будут автоматически уменьшены.

'increase'

При необходимости размеры выходного видео будут автоматически увеличены.

Одним из полезных примеров этой опции является то, что, когда вы знаете максимально допустимое разрешение для конкретного устройства, вы можете использовать его, чтобы ограничить выходное видео этим, сохраняя при этом соотношение сторон. Например, устройство А поддерживает воспроизведение с разрешением 1280 x 720, а ваше видео имеет разрешение 1920 x 800. Использование этой опции (установите ее на уменьшение) и указание 1280x720 в командной строке делает вывод 1280x533.

Обратите внимание, что это отличается от указания -1 дляw или жеh, вам все равно нужно указать выходное разрешение, чтобы эта опция работала.

force_divisible_by

Гарантирует, что оба выходных размера, ширина и высота, делятся на заданное целое число при использовании вместе сforce_original_aspect_ratio. Это работает аналогично использованию -nвwа такжеhопции.

Этот параметр учитывает значение, установленное дляforce_original_aspect_ratio, увеличивая или уменьшая разрешение соответственно. Соотношение сторон видео может быть немного изменено.

Этот параметр может быть удобен, если вам нужно, чтобы видео соответствовало определенному разрешению или превышало его с помощьюforce_original_aspect_ratioно также имеют ограничения кодировщика на делимость по ширине или высоте.

eval

Укажите, когда оценивать widthи heightвыражать. Он принимает следующие значения:

'init'

Оценивайте выражения только один раз во время инициализации фильтра или при обработке команды.

'frame'

Оцените выражения для каждого входящего кадра.

Значенияwа такжеhoptions — это выражения, содержащие следующие константы:

in_w
in_h

Ширина и высота ввода

iw
ih

Это такие же, как in_wи in_h.

out_w
out_h

Выходная (масштабированная) ширина и высота

ow
oh

Это такие же out_wиout_h

a

То же, что iw/ih

sar

соотношение сторон входного образца

dar

Соотношение сторон входного дисплея. Рассчитано из (iw / ih) * sar.

n

(Порядковый) номер входного кадра, начиная с 0. Доступно только с eval=frame.

t

Временная метка представления входного кадра, выраженная в секундах. Доступно только с eval=frame.

pos

Позиция (байтовое смещение) кадра во входном потоке или NaN, если эта информация недоступна и/или бессмысленна (например, в случае синтетического видео). Доступно только с eval=frame.

11.211 scale2ref

Масштабируйте (измените размер) входное видео на основе эталонного видео.

См. Масштабный фильтр для доступных опций, scale2ref поддерживает то же самое, но использует эталонное видео вместо основного входа в качестве основы. Scale2ref также поддерживает следующие дополнительные константы дляwа также hопции:

main_w
main_h

Ширина и высота основного входного видео

main_a

То же, что main_w/main_h

main_sar

Образец соотношения сторон основного входного видео

main_dar, mdar

Соотношение сторон дисплея основного входного видео. Рассчитано из (main_w / main_h) * main_sar.

main_hsub
main_vsub

Значения подвыборки цветности основного входного видео по горизонтали и вертикали. Например, для формата пикселей «yuv422p» hsubравно 2 и vsub равно 1.

main_n

(Порядковый) номер основного входного кадра, начиная с 0. Доступно только с eval=frame.

main_t

Временная метка представления основного входного кадра, выраженная в секундах. Доступно только с eval=frame.

main_pos

Позиция (байтовое смещение) кадра в основном входном потоке или NaN, если эта информация недоступна и/или бессмысленна (например, в случае синтетического видео). Доступно только с eval=frame.

11.211.1 Примеры

  • Масштабируйте поток субтитров (б) так, чтобы он соответствовал размеру основного видео (а) перед наложением
    'scale2ref[b][a];[a][b]overlay'
    
  • Масштабируйте логотип до 1/10 высоты видео, сохраняя соотношение сторон экрана.
    [logo-in][video-in]scale2ref=w=oh*mdar:h=ih/10[logo-out][video-out]
    

11.211.2 Команды

Этот фильтр поддерживает следующие команды:

width, w
height, h

Установите выражение размера выходного видео. Команда принимает тот же синтаксис соответствующей опции.

Если указанное выражение недействительно, оно сохраняется в своем текущем значении.

11.212 scale2ref_npp

Используйте примитивы производительности NVIDIA (libnpp) для масштабирования (изменения размера) входного видео на основе эталонного видео.

Доступные параметры см. в фильтре scale_npp . Scale2ref_npp поддерживает то же самое, но использует эталонное видео вместо основного ввода в качестве основы. Scale2ref_npp также поддерживает следующие дополнительные константы дляwа также hопции:

main_w
main_h

Ширина и высота основного входного видео

main_a

То же, что main_w/main_h

main_sar

Образец соотношения сторон основного входного видео

main_dar, mdar

Соотношение сторон дисплея основного входного видео. Рассчитано из (main_w / main_h) * main_sar.

main_n

(Порядковый) номер основного входного кадра, начиная с 0. Доступно только с eval=frame.

main_t

Временная метка представления основного входного кадра, выраженная в секундах. Доступно только с eval=frame.

main_pos

Позиция (байтовое смещение) кадра в основном входном потоке или NaN, если эта информация недоступна и/или бессмысленна (например, в случае синтетического видео). Доступно только с eval=frame.

11.212.1 Примеры

  • Масштабируйте поток субтитров (б) так, чтобы он соответствовал размеру основного видео (а) перед наложением
    'scale2ref_npp[b][a];[a][b]overlay_cuda'
    
  • Масштабируйте логотип до 1/10 высоты видео, сохраняя соотношение сторон экрана.
    [logo-in][video-in]scale2ref_npp=w=oh*mdar:h=ih/10[logo-out][video-out]
    

11.213 scharr

Применить оператор scharr к входному видеопотоку.

Фильтр принимает следующий вариант:

planes

Укажите, какие плоскости будут обработаны, необработанные плоскости будут скопированы. При значении по умолчанию 0xf будут обработаны все плоскости.

scale

Установите значение, которое будет умножено на отфильтрованный результат.

delta

Установите значение, которое будет добавлено к отфильтрованному результату.

11.213.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.214 scroll

Прокручивайте входное видео по горизонтали и/или по вертикали с постоянной скоростью.

Фильтр принимает следующие параметры:

horizontal, h

Установить скорость горизонтальной прокрутки. По умолчанию 0. Допустимый диапазон от -1 до 1. Отрицательные значения изменяют направление прокрутки.

vertical, v

Установить скорость вертикальной прокрутки. По умолчанию 0. Допустимый диапазон от -1 до 1. Отрицательные значения изменяют направление прокрутки.

hpos

Установите начальную позицию горизонтальной прокрутки. По умолчанию 0. Допустимый диапазон от 0 до 1.

vpos

Установите начальную позицию вертикальной прокрутки. По умолчанию 0. Допустимый диапазон от 0 до 1.

11.214.1 Команды

Этот фильтр поддерживает следующие команды :

horizontal, h

Установить скорость горизонтальной прокрутки.

vertical, v

Установить скорость вертикальной прокрутки.

11.215 scdet

Обнаружение изменения сцены видео.

Этот фильтр устанавливает метаданные кадра с помощью mafd между кадром, оценкой сцены и пересылает кадр следующему фильтру, чтобы они могли использовать эти метаданные для обнаружения изменения сцены или других действий.

Кроме того, этот фильтр регистрирует сообщение и устанавливает метаданные кадра при обнаружении смены сцены путемthreshold.

lavfi.scd.mafdключи метаданных устанавливаются с помощью mafd для каждого кадра.

lavfi.scd.scoreКлючи метаданных устанавливаются с оценкой смены сцены для каждого кадра, чтобы обнаружить смену сцены.

lavfi.scd.timeключи метаданных устанавливаются с текущим отфильтрованным временем кадра, которые обнаруживают изменение сцены с помощьюthreshold.

Фильтр принимает следующие параметры:

threshold, t

Установите порог обнаружения изменения сцены в процентах от максимального изменения. Хорошие значения находятся в [8.0, 14.0]диапазоне. Диапазон дляthresholdесть [0., 100.].

Значение по умолчанию 10..

sc_pass, s

Установите флаг, чтобы передать кадры смены сцены следующему фильтру. Значение по умолчанию: 0 Вы можете включить его, если хотите получать снимки только кадров смены сцены.

11.216 selectivecolor

Настройте голубой, пурпурный, желтый и черный (CMYK) на определенные диапазоны цветов (например, «красный», «желтый», «зеленый», «голубой» и т. д.). Диапазон регулировки определяется «чистотой» цвета (то есть, насколько он уже насыщен).

Этот фильтр похож на инструмент «Выбор цвета» в Adobe Photoshop.

Фильтр принимает следующие параметры:

correction_method

Выберите метод цветокоррекции.

Доступные значения:

'absolute'

Указанные корректировки применяются «как есть» (добавляются/вычитаются из исходного значения компонента пикселя).

'relative'

Указанные корректировки относятся к исходному значению компонента.

Значение по умолчанию absolute.

reds

Корректировки для красных пикселей (пиксели, в которых красная составляющая максимальна)

yellows

Корректировки для желтых пикселей (пикселей, где синий компонент минимален)

greens

Настройки для зеленых пикселей (пиксели, в которых зеленый компонент максимален)

cyans

Настройки для голубых пикселей (пиксели, в которых красная составляющая минимальна)

blues

Настройки для синих пикселей (пикселей, в которых синий компонент максимален)

magentas

Коррекция пурпурных пикселей (пикселей, в которых зеленый компонент минимален)

whites

Корректировка белых пикселей (пикселей, в которых все компоненты больше 128)

neutrals

Настройки для всех пикселей, кроме чисто черного и чисто белого.

blacks

Коррекция для черных пикселей (пиксели, все компоненты которых меньше 128)

psfile

Укажите файл выборочного цвета Photoshop ( .asv), из которого нужно импортировать настройки.

Все настройки регулировки (reds,yellows, ...) принимает до 4 значений настройки с плавающей запятой, разделенных пробелами, в диапазоне [-1,1], соответственно, чтобы настроить количество голубого, пурпурного, желтого и черного для пикселей своего диапазона.

11.216.1 Примеры

  • Увеличьте голубой на 50% и уменьшите желтый на 33% в каждой зеленой области и увеличьте пурпурный на 27% в синих областях:
    selectivecolor=greens=.5 0 -.33 0:blues=0 .27
    
  • Используйте предустановку выборочного цвета Photoshop:
    selectivecolor=psfile=MySelectiveColorPresets/Misty.asv
    

11.217 separatefields

Он separatefieldsпринимает видеовход на основе кадров и разбивает каждый кадр на поля его компонентов, создавая новый клип половинной высоты с удвоенной частотой кадров и удвоенным количеством кадров.

Этот фильтр использует информацию о доминантности полей в кадре, чтобы решить, какое из каждой пары полей следует разместить первым в выходных данных. Если он ошибается, используйте фильтр setfield перед separatefieldsфильтром.

11.218 setdar, setsar

Фильтр setdarустанавливает соотношение сторон экрана для выходного видео фильтра.

Это делается путем изменения указанного соотношения сторон образца (также известного как пиксель) в соответствии со следующим уравнением:

DAR = HORIZONTAL_RESOLUTION / VERTICAL_RESOLUTION * SAR

Имейте в виду, что setdarфильтр не изменяет размеры видеокадра в пикселях. Кроме того, соотношение сторон экрана, установленное этим фильтром, может быть изменено более поздними фильтрами в цепочке фильтров, например, в случае масштабирования или применения другого фильтра «setdar» или «setsar».

Фильтр setsarустанавливает соотношение сторон образца (также известного как пиксель) для выходного видео фильтра.

Обратите внимание, что в результате применения этого фильтра соотношение сторон выходного изображения будет изменяться в соответствии с приведенным выше уравнением.

Имейте в виду, что соотношение сторон образца, установленное setsar фильтром, может быть изменено более поздними фильтрами в цепочке фильтров, например, если применяется другой фильтр «setsar» или «setdar».

Он принимает следующие параметры:

r, ratio, dar (setdar only), sar (setsar only)

Установите соотношение сторон, используемое фильтром.

Параметр может быть строкой числа с плавающей запятой, выражением или строкой вида num: den, где numи den— числитель и знаменатель соотношения сторон. Если параметр не указан, принимается значение «0». В случае использования формы " num: den" :символ должен быть экранирован.

max

Установите максимальное целочисленное значение, которое будет использоваться для выражения числителя и знаменателя при уменьшении выраженного соотношения сторон до рационального. Значение по умолчанию 100.

Параметр sarпредставляет собой выражение, содержащее следующие константы:

E, PI, PHI

Это приблизительные значения математических констант e (число Эйлера), pi (греческое пи) и фи (золотое сечение).

w, h

Вводимая ширина и высота.

a

Это то же самое, что w/ h.

sar

Соотношение сторон входного образца.

dar

Соотношение сторон входного дисплея. Это то же самое, что ( w/ h) * sar.

hsub, vsub

Горизонтальные и вертикальные значения подвыборки цветности. Например, для формата пикселей «yuv422p» hsubравно 2 и vsubравно 1.

11.218.1 Примеры

  • Чтобы изменить соотношение сторон экрана на 16:9, укажите одно из следующих значений:
    setdar=dar=1.77777
    setdar=dar=16/9
    
  • Чтобы изменить соотношение сторон образца на 10:11, укажите:
    setsar=sar=10/11
    
  • Чтобы установить соотношение сторон дисплея 16:9 и указать максимальное целочисленное значение 1000 в уменьшении соотношения сторон, используйте команду:
    setdar=ratio=16/9:max=1000
    

11.219 setfield

Силовое поле для выходного видеокадра.

Фильтр setfieldпомечает поле типа чересстрочной развертки для выходных кадров. Он не изменяет входной кадр, а только устанавливает соответствующее свойство, которое влияет на то, как кадр обрабатывается следующими фильтрами (например, fieldorderили yadif).

Фильтр принимает следующие параметры:

mode

Доступные значения:

'auto'

Сохраняйте то же свойство поля.

'bff'

Отметьте кадр как нижнее поле вперед.

'tff'

Отметьте кадр как верхний-поле-сначала.

'prog'

Отметьте кадр как прогрессивный.

11.220 setparams

Параметр принудительного кадра для выходного видеокадра.

Фильтр setparamsотмечает чересстрочность и цветовой диапазон для выходных кадров. Он не изменяет входной кадр, а только устанавливает соответствующее свойство, которое влияет на то, как кадр обрабатывается фильтрами/энкодерами.

field_mode

Доступные значения:

'auto'

Сохраняйте то же свойство поля (по умолчанию).

'bff'

Отметьте кадр как нижнее поле вперед.

'tff'

Отметьте кадр как верхний-поле-сначала.

'prog'

Отметьте кадр как прогрессивный.

range

Доступные значения:

'auto'

Сохраняйте то же свойство цветового диапазона (по умолчанию).

'unspecified, unknown'

Пометить рамку как неопределенную цветовую гамму.

'limited, tv, mpeg'

Отметьте кадр как ограниченный диапазон.

'full, pc, jpeg'

Отметьте кадр как полный диапазон.

color_primaries

Установите основные цвета. Доступные значения:

'auto'

Сохраняйте то же свойство основных цветов (по умолчанию).

'bt709'
'unknown'
'bt470m'
'bt470bg'
'smpte170m'
'smpte240m'
'film'
'bt2020'
'smpte428'
'smpte431'
'smpte432'
'jedec-p22'
color_trc

Установите передачу цвета. Доступные значения:

'auto'

Сохраняйте свойство trc того же цвета (по умолчанию).

'bt709'
'unknown'
'bt470m'
'bt470bg'
'smpte170m'
'smpte240m'
'linear'
'log100'
'log316'
'iec61966-2-4'
'bt1361e'
'iec61966-2-1'
'bt2020-10'
'bt2020-12'
'smpte2084'
'smpte428'
'arib-std-b67'
colorspace

Установите цветовое пространство. Доступные значения:

'auto'

Сохраняйте то же свойство цветового пространства (по умолчанию).

'gbr'
'bt709'
'unknown'
'fcc'
'bt470bg'
'smpte170m'
'smpte240m'
'ycgco'
'bt2020nc'
'bt2020c'
'smpte2085'
'chroma-derived-nc'
'chroma-derived-c'
'ictcp'

11.221 sharpen_npp

Используйте примитивы производительности NVIDIA (libnpp) для повышения резкости изображения с контролем границ.

Принимаются следующие дополнительные опции:

border_type

Тип выборки, который будет использоваться для границ рекламного фрейма. Одно из следующего:

replicate

Повторяйте значения пикселей.

11.222 shear

Примените сдвиговое преобразование к входному видео.

Этот фильтр поддерживает следующие параметры:

shx

Коэффициент сдвига в направлении X. Значение по умолчанию 0. Допустимый диапазон от -2 до 2.

shy

Коэффициент сдвига в направлении Y. Значение по умолчанию 0. Допустимый диапазон от -2 до 2.

fillcolor, c

Установите цвет, используемый для заполнения выходной области, не покрытой преобразованным видео. Общий синтаксис этой опции см. в разделе (ffmpeg-utils) «Цвет» в руководстве по ffmpeg-utils . Если выбрано специальное значение «none», фон не печатается (полезно, например, если фон никогда не отображается).

Значение по умолчанию — «черный».

interp

Установите тип интерполяции. Можно bilinearили nearest. Значение по умолчанию bilinear.

11.222.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.223 showinfo

Показать строку, содержащую различную информацию для каждого входного видеокадра. Входное видео не изменяется.

Этот фильтр поддерживает следующие параметры:

checksum

Вычислить контрольные суммы каждой плоскости. По умолчанию включено.

Показанная строка содержит последовательность пар ключ/значение вида key: value.

На выходе отображаются следующие значения:

n

(Порядковый) номер входного кадра, начиная с 0.

pts

Отметка времени представления входного кадра, выраженная в виде количества базовых единиц времени. Базовая единица времени зависит от входной площадки фильтра.

pts_time

Отметка времени представления входного кадра, выраженная в секундах.

pos

Позиция кадра во входном потоке или -1, если эта информация недоступна и/или бессмысленна (например, в случае синтетического видео).

fmt

Имя формата пикселей.

sar

Образец соотношения сторон входного кадра, выраженный в форме num/ den.

s

Размер входного кадра. Синтаксис этого параметра см. в разделе (ffmpeg-utils) «Размер видео» в руководстве по ffmpeg-utils .

i

Тип чересстрочного режима («P» — «прогрессивный», «T» — сначала верхнее поле, «B» — сначала нижнее поле).

iskey

Это 1, если кадр является ключевым кадром, 0 в противном случае.

type

Тип изображения входного кадра ("I" для I-кадра, "P" для P-кадра, "B" для B-кадра или "?" для неизвестного типа). Также обратитесь к документации AVPictureTypeперечисления и av_get_picture_type_charфункции, определенной в libavutil/avutil.h.

checksum

Контрольная сумма Adler-32 (в шестнадцатеричном формате) всех плоскостей входного кадра.

plane_checksum

Контрольная сумма Adler-32 (в шестнадцатеричном формате) каждой плоскости входного кадра, выраженная в виде «[ ]». c0 c1 c2 c3

mean

Среднее значение пикселей в каждой плоскости входного кадра, выраженное в виде «[ ]». mean0 mean1 mean2 mean3

stdev

Стандартное отклонение значений пикселей в каждой плоскости входного кадра, выраженное в виде «[ ]». stdev0 stdev1 stdev2 stdev3

11.224 showpalette

Отображает палитру из 256 цветов каждого кадра. Этот фильтр актуален только для pal8кадров пиксельного формата.

Он принимает следующий вариант:

s

Установите размер поля, используемого для представления одной записи цвета палитры. По умолчанию 30(для 30x30пиксельного поля).

11.225 shuffleframes

Изменить порядок и/или дублировать и/или удалить видеокадры.

Он принимает следующие параметры:

mapping

Установите целевые индексы входных кадров. Это пробел или '|' разделенный список индексов, который сопоставляет входные кадры с выходными кадрами. Количество индексов также устанавливает максимальное значение, которое может иметь каждый индекс. Индекс «-1» имеет особое значение и означает пропуск кадров.

Первый кадр имеет индекс 0. По умолчанию ввод остается неизменным.

11.225.1 Примеры

  • Поменяйте местами второй и третий кадры каждых трех кадров ввода:
    ffmpeg -i INPUT -vf "shuffleframes=0 2 1" OUTPUT
    
  • Поменяйте местами 10-й и 1-й кадры каждых десяти кадров ввода:
    ffmpeg -i INPUT -vf "shuffleframes=9 1 2 3 4 5 6 7 8 0" OUTPUT
    

11.226 shufflepixels

Изменение порядка пикселей в видеокадрах.

Этот фильтр принимает следующие параметры:

direction, d

Установить направление перемешивания. Может быть прямое или обратное направление. Направление по умолчанию — вперед.

mode, m

Установите режим воспроизведения в случайном порядке. Может быть горизонтальным, вертикальным или блочным режимом.

width, w
height, h

Установите размер блока для перемешивания. В случае режима горизонтального перемешивания используется только часть ширины по ширине, а в режиме вертикального перемешивания используется только часть размера по высоте.

seed, s

Установите случайное начальное число, используемое при перетасовке пикселей. В основном полезно установить, чтобы иметь возможность обратить процесс фильтрации, чтобы получить исходный ввод. Например, для обратного перемешивания в прямом направлении вам нужно использовать те же параметры и точно такое же начальное число, а также установить обратное направление.

11.227 shuffleplanes

Изменение порядка и/или дублирование видеоплоскостей.

Он принимает следующие параметры:

map0

Индекс входной плоскости, которая будет использоваться в качестве первой выходной плоскости.

map1

Индекс входной плоскости, которая будет использоваться в качестве второй выходной плоскости.

map2

Индекс входной плоскости, которая будет использоваться в качестве третьей выходной плоскости.

map3

Индекс входной плоскости, которая будет использоваться в качестве четвертой выходной плоскости.

Первая плоскость имеет индекс 0. По умолчанию ввод не изменяется.

11.227.1 Примеры

  • Поменяйте местами вторую и третью плоскости ввода:
    ffmpeg -i INPUT -vf shuffleplanes=0:2:1:3 OUTPUT
    

11.228 signalstats

Оценивайте различные визуальные метрики, помогающие определить проблемы, связанные с оцифровкой аналоговых видеоносителей.

По умолчанию фильтр регистрирует следующие значения метаданных:

YMIN

Отобразите минимальное значение Y, содержащееся во входном фрейме. Выражается в диапазоне [0-255].

YLOW

Отобразите значение Y в процентиле 10% во входном кадре. Выражается в диапазоне [0-255].

YAVG

Отобразите среднее значение Y в пределах входного кадра. Выражается в диапазоне [0-255].

YHIGH

Отобразите значение Y в процентиле 90% во входном кадре. Выражается в диапазоне [0-255].

YMAX

Отобразите максимальное значение Y, содержащееся во входном фрейме. Выражается в диапазоне [0-255].

UMIN

Отобразите минимальное значение U, содержащееся во входном фрейме. Выражается в диапазоне [0-255].

ULOW

Отобразите значение U в 10%-м процентиле во входном кадре. Выражается в диапазоне [0-255].

UAVG

Отобразите среднее значение U в пределах входного кадра. Выражается в диапазоне [0-255].

UHIGH

Отобразите значение U в процентиле 90% во входном кадре. Выражается в диапазоне [0-255].

UMAX

Отобразите максимальное значение U, содержащееся во входном кадре. Выражается в диапазоне [0-255].

VMIN

Отобразите минимальное значение V, содержащееся во входном кадре. Выражается в диапазоне [0-255].

VLOW

Отобразите значение V в 10%-м процентиле во входном кадре. Выражается в диапазоне [0-255].

VAVG

Отобразите среднее значение V в пределах входного кадра. Выражается в диапазоне [0-255].

VHIGH

Отобразите значение V в процентиле 90% во входном кадре. Выражается в диапазоне [0-255].

VMAX

Отобразите максимальное значение V, содержащееся во входном кадре. Выражается в диапазоне [0-255].

SATMIN

Отобразите минимальное значение насыщенности, содержащееся во входном кадре. Выражается в диапазоне [0–~181,02].

SATLOW

Отобразите значение насыщенности в процентиле 10% во входном кадре. Выражается в диапазоне [0–~181,02].

SATAVG

Отображение среднего значения насыщенности в пределах входного кадра. Выражается в диапазоне [0–~181,02].

SATHIGH

Отобразите значение насыщенности в процентиле 90% во входном кадре. Выражается в диапазоне [0–~181,02].

SATMAX

Отобразите максимальное значение насыщенности, содержащееся во входном кадре. Выражается в диапазоне [0–~181,02].

HUEMED

Отобразите среднее значение оттенка во входном кадре. Выражается в диапазоне [0-360].

HUEAVG

Отображение среднего значения оттенка во входном кадре. Выражается в диапазоне [0-360].

YDIF

Отобразите среднее значение разницы выборочных значений между всеми значениями плоскости Y в текущем кадре и соответствующими значениями предыдущего входного кадра. Выражается в диапазоне [0-255].

UDIF

Отобразите среднее значение разницы выборочных значений между всеми значениями плоскости U в текущем кадре и соответствующими значениями предыдущего входного кадра. Выражается в диапазоне [0-255].

VDIF

Отобразите среднее значение разницы выборочных значений между всеми значениями плоскости V в текущем кадре и соответствующими значениями предыдущего входного кадра. Выражается в диапазоне [0-255].

YBITDEPTH

Отображение разрядности плоскости Y в текущем кадре. Выражается в диапазоне [0-16].

UBITDEPTH

Отображение разрядности плоскости U в текущем кадре. Выражается в диапазоне [0-16].

VBITDEPTH

Отображение разрядности плоскости V в текущем кадре. Выражается в диапазоне [0-16].

Фильтр принимает следующие параметры:

stat
out

statуказать дополнительную форму анализа изображения. outвывод видео с выделенным типом пикселя.

Оба параметра принимают следующие значения:

'tout'

Определите temporal outliersпиксели. A temporal outlier— пиксель, не похожий на соседние пиксели того же поля. Примеры временных выбросов включают результаты пропадания видео, засорения головок или проблем с отслеживанием ленты.

'vrep'

Определить vertical line repetition. Повторение вертикальных строк включает в себя одинаковые ряды пикселей внутри кадра. В рожденном цифровым видео повторение вертикальных строк является обычным явлением, но эта картина необычна для видео, оцифрованного с аналогового источника. Когда это происходит в видео, полученном в результате оцифровки аналогового источника, это может указывать на маскировку из-за компенсатора выпадения.

'brng'

Определите пиксели, выходящие за пределы допустимого диапазона вещания.

color, c

Установите цвет выделения дляoutвариант. Цвет по умолчанию желтый.

11.228.1 Примеры

  • Выходные данные различных метрик видео:
    ffprobe -f lavfi movie=example.mov,signalstats="stat=tout+vrep+brng" -show_frames
    
  • Вывести конкретные данные о минимальном и максимальном значениях плоскости Y на кадр:
    ffprobe -f lavfi movie=example.mov,signalstats -show_entries frame_tags=lavfi.signalstats.YMAX,lavfi.signalstats.YMIN
    
  • Воспроизведение видео с выделением пикселов, выходящих за пределы диапазона трансляции, красным цветом.
    ffplay example.mov -vf signalstats="out=brng:color=red"
    
  • Воспроизведение видео с метаданными signalstats, нарисованными поверх кадра.
    ffplay example.mov -vf signalstats=stat=brng+vrep+tout,drawtext=fontfile=FreeSerif.ttf:textfile=signalstat_drawtext.txt
    

    Содержимое signalstat_drawtext.txt, используемое в команде:

    time %{pts:hms}
    Y (%{metadata:lavfi.signalstats.YMIN}-%{metadata:lavfi.signalstats.YMAX})
    U (%{metadata:lavfi.signalstats.UMIN}-%{metadata:lavfi.signalstats.UMAX})
    V (%{metadata:lavfi.signalstats.VMIN}-%{metadata:lavfi.signalstats.VMAX})
    saturation maximum: %{metadata:lavfi.signalstats.SATMAX}
    
    

11.229 signature

Вычисляет видеосигнатуру MPEG-7. Фильтр может обрабатывать более одного входа. В этом случае соответствие между входами может быть рассчитано дополнительно. Фильтр всегда проходит через первый вход. Подпись каждого потока может быть записана в файл.

Он принимает следующие параметры:

detectmode

Включите или отключите процесс сопоставления.

Доступные значения:

'off'

Отключить вычисление соответствия (по умолчанию).

'full'

Вычислите соответствие для всего видео и выведите, соответствует ли оно всему видео или только его частям.

'fast'

Вычисляйте только до тех пор, пока не будет найдено совпадение или видео не закончится. В некоторых случаях должно быть быстрее.

nb_inputs

Установите количество входов. Значение параметра должно быть неотрицательным целым числом. Значение по умолчанию — 1.

filename

Установите путь, по которому записывается вывод. Если имеется более одного входа, путь должен быть прототипом, т.е. должен содержать %d или %0nd (где n — целое положительное число), которые будут заменены номером входа. Если имя файла не указано, вывод не будет записан. Это значение по умолчанию.

format

Выберите выходной формат.

Доступные значения:

'binary'

Используйте указанное двоичное представление (по умолчанию).

'xml'

Используйте указанное представление xml.

th_d

Установите порог, чтобы определить одно слово как похожее. Значение параметра должно быть целым числом больше нуля. Значение по умолчанию — 9000.

th_dc

Установите порог для обнаружения всех слов как похожих. Значение параметра должно быть целым числом больше нуля. Значение по умолчанию — 60000.

th_xh

Установите порог для обнаружения кадров как похожих. Значение параметра должно быть целым числом больше нуля. Значение по умолчанию — 116.

th_di

Установите минимальную длину последовательности в кадрах, чтобы распознать ее как совпадающую последовательность. Значение параметра должно быть неотрицательным целым числом. Значение по умолчанию — 0.

th_it

Установите минимальное отношение, которое должны иметь совпадающие кадры со всеми кадрами. Значение параметра должно быть двойным значением от 0 до 1. Значение по умолчанию — 0,5.

11.229.1 Примеры

  • Чтобы вычислить подпись входного видео и сохранить ее в signal.bin:
    ffmpeg -i input.mkv -vf signature=filename=signature.bin -map 0:v -f null -
    
  • Чтобы определить, совпадают ли два видео, и сохранить подписи в формате XML в signal0.xml и signal1.xml:
    ffmpeg -i input1.mkv -i input2.mkv -filter_complex "[0:v][1:v] signature=nb_inputs=2:detectmode=full:format=xml:filename=signature%d.xml" -map :v -f null -
    

11.230 siti

Вычислите оценки пространственной информации (SI) и временной информации (TI) для видео, как определено в ITU-T P.910: Методы субъективной оценки качества видео для мультимедийных приложений. Доступен в формате PDF по адресу https://www.itu.int/rec/T-REC-P.910-199909-S/en .

Он принимает следующий вариант:

print_summary

Если установлено значение 1, сводная статистика будет выведена на консоль. По умолчанию 0.

11.230.1 Примеры

  • Чтобы рассчитать показатели SI/TI и распечатать сводку:
    ffmpeg -i input.mp4 -vf siti=print_summary=1 -f null -
    

11.231 smartblur

Размывайте входное видео, не затрагивая контуры.

Он принимает следующие параметры:

luma_radius, lr

Установите радиус яркости. Значение параметра должно быть числом с плавающей запятой в диапазоне [0,1,5,0], указывающим дисперсию гауссового фильтра, используемого для размытия изображения (медленнее, чем больше). Значение по умолчанию — 1,0.

luma_strength, ls

Установите силу яркости. Значение параметра должно быть числом с плавающей запятой в диапазоне [-1.0,1.0], которое настраивает размытие. Значение, включенное в [0.0,1.0], будет размывать изображение, тогда как значение, включенное в [-1.0,0.0], сделает изображение более четким. Значение по умолчанию — 1,0.

luma_threshold, lt

Установите порог яркости, используемый в качестве коэффициента, чтобы определить, должен ли пиксель быть размытым или нет. Значение параметра должно быть целым числом в диапазоне [-30,30]. Значение 0 будет фильтровать все изображение, значение, включенное в [0,30], будет фильтровать плоские области, а значение, включенное в [-30,0], будет фильтровать края. Значение по умолчанию — 0.

chroma_radius, cr

Установите радиус цветности. Значение параметра должно быть числом с плавающей запятой в диапазоне [0,1,5,0], указывающим дисперсию гауссового фильтра, используемого для размытия изображения (медленнее, чем больше). Значение по умолчаниюluma_radius.

chroma_strength, cs

Установите силу цветности. Значение параметра должно быть числом с плавающей запятой в диапазоне [-1.0,1.0], которое настраивает размытие. Значение, включенное в [0.0,1.0], будет размывать изображение, тогда как значение, включенное в [-1.0,0.0], сделает изображение более четким. Значение по умолчаниюluma_strength.

chroma_threshold, ct

Установите порог цветности, используемый в качестве коэффициента, чтобы определить, должен ли пиксель быть размытым или нет. Значение параметра должно быть целым числом в диапазоне [-30,30]. Значение 0 будет фильтровать все изображение, значение, включенное в [0,30], будет фильтровать плоские области, а значение, включенное в [-30,0], будет фильтровать края. Значение по умолчаниюluma_threshold.

Если параметр цветности не задан явно, устанавливается соответствующее значение яркости.

11.232 sobel

Применить оператор sobel к входному видеопотоку.

Фильтр принимает следующий вариант:

planes

Укажите, какие плоскости будут обработаны, необработанные плоскости будут скопированы. При значении по умолчанию 0xf будут обработаны все плоскости.

scale

Установите значение, которое будет умножено на отфильтрованный результат.

delta

Установите значение, которое будет добавлено к отфильтрованному результату.

11.232.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.233 spp

Примените простой фильтр постобработки, сжимающий и распаковывающий изображение в несколько (или - в случаеqualityуровень 6- все) сдвиги и средние результаты.

Фильтр принимает следующие параметры:

quality

Установить качество. Эта опция определяет количество уровней для усреднения. Он принимает целое число в диапазоне 0-6. Если установлено значение 0, фильтр не будет действовать. Значение 6означает более высокое качество. Для каждого приращения этого значения скорость падает примерно в 2 раза. Значение по умолчанию — 3.

qp

Установите постоянный параметр квантования. Если не установлено, фильтр будет использовать QP из видеопотока (если он доступен).

mode

Установите пороговый режим. Доступные режимы:

'hard'

Установить жесткое пороговое значение (по умолчанию).

'soft'

Установите мягкое пороговое значение (лучший эффект устранения звона, но, вероятно, более размытый).

use_bframe_qp

Включите использование QP из B-кадров, если установлено значение 1. Использование этой опции может вызвать мерцание, так как B-кадры часто имеют большее значение QP. По умолчанию 0(не включено).

11.233.1 Команды

Этот фильтр поддерживает следующие команды:

quality, level

Установите уровень качества. Значение maxможет использоваться для установки максимального уровня, в настоящее время 6.

11.234 sr

Масштабируйте ввод, применяя один из методов сверхвысокого разрешения на основе сверточных нейронных сетей. Поддерживаемые модели:

  • Модель сверточной нейронной сети сверхвысокого разрешения (SRCNN). См . https://arxiv.org/abs/1501.00092 .
  • Модель эффективной субпиксельной сверточной нейронной сети (ESPCN). См . https://arxiv.org/abs/1609.05158 .

Скрипты обучения, а также скрипты для сохранения файла модели (.pb) можно найти по адресу https://github.com/XueweiMeng/sr/tree/sr_dnn_native . Оригинальный репозиторий находится по адресу https://github.com/HighVoltageRocknRoll/sr.git .

Файлы собственных моделей (.model) можно создавать из файлов моделей TensorFlow (.pb) с помощью tools/python/convert.py.

Фильтр принимает следующие параметры:

dnn_backend

Укажите, какой сервер DNN использовать для загрузки и выполнения модели. Эта опция принимает следующие значения:

'native'

Нативная реализация загрузки и выполнения DNN.

'tensorflow'

Бэкэнд TensorFlow. Чтобы включить этот бэкенд, вам необходимо установить библиотеку TensorFlow для C (см. https://www.tensorflow.org/install/lang_c ) и настроить FFmpeg с помощью --enable-libtensorflow

Значение по умолчанию: 'native'.

model

Задайте путь к файлу модели, указав сетевую архитектуру и ее параметры. Обратите внимание, что разные серверные части используют разные форматы файлов. Бэкэнд TensorFlow может загружать файлы для обоих форматов, в то время как собственный бэкэнд может загружать файлы только для своего формата.

scale_factor

Установите коэффициент масштабирования для модели SRCNN. Допустимые значения 2, 3и 4. Значение по умолчанию 2. Масштабный коэффициент необходим для модели SRCNN, потому что она принимает входные данные, увеличенные с использованием бикубического масштабирования с надлежащим масштабным коэффициентом.

Чтобы получить полную функциональность (например, асинхронное выполнение), используйте фильтр dnn_processing .

11.235 ssim

Получите SSIM (показатель структурного сходства) между двумя входными видео.

Этот фильтр принимает на вход два входных видео, первый вход считается «основным» источником и без изменений передается на выход. Второй вход используется как «эталонное» видео для вычисления SSIM.

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

Фильтр сохраняет рассчитанный SSIM каждого кадра.

Далее следует описание принятых параметров.

stats_file, f

Если указано, фильтр будет использовать именованный файл для сохранения SSIM каждого отдельного кадра. Когда имя файла равно "-", данные отправляются на стандартный вывод.

Печатаемый файл, если stats_fileон выбран, содержит последовательность пар ключ/значение вида key: valueдля каждой сравниваемой пары кадров.

Ниже приводится описание каждого отображаемого параметра:

n

порядковый номер входного кадра, начиная с 1

Y, U, V, R, G, B

SSIM сравниваемых кадров для компонента, указанного суффиксом.

All

SSIM сравниваемых кадров для всего кадра.

dB

То же, что и выше, но в дБ.

Этот фильтр также поддерживает параметры синхронизации кадров .

11.235.1 Примеры

  • Например:
    movie=ref_movie.mpg, setpts=PTS-STARTPTS [main];
    [main][ref] ssim="stats_file=stats.log" [out]
    

    В этом примере обрабатываемый входной файл сравнивается с эталонным файлом.ref_movie.mpg. SSIM каждого отдельного кадра хранится вstats.log.

  • Другой пример с psnr и ssim одновременно:
    ffmpeg -i main.mpg -i ref.mpg -lavfi  "ssim;[0:v][1:v]psnr" -f null -
    
  • Другой пример с разными контейнерами:
    ffmpeg -i main.mpg -i ref.mkv -lavfi  "[0:v]settb=AVTB,setpts=PTS-STARTPTS[main];[1:v]settb=AVTB,setpts=PTS-STARTPTS[ref];[main][ref]ssim" -f null -
    

11.236 stereo3d

Преобразование между различными форматами стереоскопического изображения.

Фильтры принимают следующие параметры:

in

Установите формат входного стереоскопического изображения.

Доступные значения для форматов входного изображения:

'sbsl'

бок о бок параллельно (левый глаз левый, правый глаз правый)

'sbsr'

бок о бок перекрестие (правый глаз влево, левый глаз вправо)

'sbs2l'

бок о бок параллельно с разрешением половинной ширины (левый глаз слева, правый глаз справа)

'sbs2r'

параллельное перекрестие с разрешением половинной ширины (правый глаз слева, левый глаз справа)

'abl'
'tbl'

вверху-внизу (левый глаз вверху, правый глаз внизу)

'abr'
'tbr'

сверху-снизу (правый глаз сверху, левый снизу)

'ab2l'
'tb2l'

сверху-снизу с половинным разрешением по высоте (левый глаз вверху, правый глаз внизу)

'ab2r'
'tb2r'

сверху-снизу с половинным разрешением по высоте (правый глаз вверху, левый глаз внизу)

'al'

чередующиеся кадры (сначала левый глаз, потом правый глаз)

'ar'

чередующиеся кадры (сначала правый глаз, потом левый глаз)

'irl'

чередующиеся строки (левый глаз имеет верхний ряд, правый глаз начинается со следующего ряда)

'irr'

чередующиеся строки (правый глаз имеет верхний ряд, левый глаз начинается со следующего ряда)

'icl'

чередующиеся столбцы, левый глаз вперед

'icr'

чередующиеся столбцы, правый глаз вперед

Значение по умолчанию: 'sbsl'.

out

Установите формат стереоскопического изображения для вывода.

'sbsl'

бок о бок параллельно (левый глаз левый, правый глаз правый)

'sbsr'

бок о бок перекрестие (правый глаз влево, левый глаз вправо)

'sbs2l'

бок о бок параллельно с разрешением половинной ширины (левый глаз слева, правый глаз справа)

'sbs2r'

параллельное перекрестие с разрешением половинной ширины (правый глаз слева, левый глаз справа)

'abl'
'tbl'

вверху-внизу (левый глаз вверху, правый глаз внизу)

'abr'
'tbr'

сверху-снизу (правый глаз сверху, левый снизу)

'ab2l'
'tb2l'

сверху-снизу с половинным разрешением по высоте (левый глаз вверху, правый глаз внизу)

'ab2r'
'tb2r'

сверху-снизу с половинным разрешением по высоте (правый глаз вверху, левый глаз внизу)

'al'

чередующиеся кадры (сначала левый глаз, потом правый глаз)

'ar'

чередующиеся кадры (сначала правый глаз, потом левый глаз)

'irl'

чередующиеся строки (левый глаз имеет верхний ряд, правый глаз начинается со следующего ряда)

'irr'

чередующиеся строки (правый глаз имеет верхний ряд, левый глаз начинается со следующего ряда)

'arbg'

анаглиф красный/сине-серый (красный фильтр на левый глаз, синий фильтр на правый глаз)

'argg'

анаглиф красный/зелено-серый (красный фильтр на левый глаз, зеленый фильтр на правый глаз)

'arcg'

анаглиф красный/голубой серый (красный фильтр на левом глазу, голубой фильтр на правом глазу)

'arch'

анаглифный красный/голубой полуцвет (красный фильтр на левом глазу, голубой фильтр на правом глазу)

'arcc'

анаглифный красный/голубой цвет (красный фильтр для левого глаза, голубой фильтр для правого глаза)

'arcd'

анаглифный красный/голубой цвет, оптимизированный с помощью проекции Дюбуа методом наименьших квадратов (красный фильтр для левого глаза, голубой фильтр для правого глаза)

'agmg'

анаглифный зеленый/пурпурно-серый (зеленый фильтр на левом глазу, пурпурный фильтр на правом глазу)

'agmh'

анаглифный зеленый/пурпурный полуцвет (зеленый фильтр на левом глазу, пурпурный фильтр на правом глазу)

'agmc'

анаглифный зеленый/пурпурный цвет (зеленый фильтр на левом глазу, пурпурный фильтр на правом глазу)

'agmd'

анаглифный зеленый/пурпурный цвет, оптимизированный с помощью проекции Дюбуа методом наименьших квадратов (зеленый фильтр для левого глаза, пурпурный фильтр для правого глаза)

'aybg'

анаглиф желтый/сине-серый (желтый фильтр на левом глазу, синий фильтр на правом глазу)

'aybh'

анаглиф желто-синий наполовину окрашенный (желтый фильтр на левый глаз, синий фильтр на правый глаз)

'aybc'

анаглиф желтого/синего цвета (желтый фильтр на левом глазу, синий фильтр на правом глазу)

'aybd'

анаглифный желтый/синий цвет, оптимизированный с помощью проекции Дюбуа методом наименьших квадратов (желтый фильтр для левого глаза, синий фильтр для правого глаза)

'ml'

моно выход (только для левого глаза)

'mr'

моно выход (только для правого глаза)

'chl'

шахматная доска, левый глаз вперед

'chr'

шахматная доска, правый глаз вперед

'icl'

чередующиеся столбцы, левый глаз вперед

'icr'

чередующиеся столбцы, правый глаз вперед

'hdmi'

Пакет кадров HDMI

Значение по умолчанию: 'arcd'.

11.236.1 Примеры

  • Преобразование входного видео из параллельного анаглифического желтого / синего дюбуа:
    stereo3d=sbsl:aybd
    
  • Преобразование входного видео сверху вниз (левый глаз вверху, правый глаз внизу) в параллельное перекрестие.
    stereo3d=abl:sbsr
    

11.237 streamselect, astreamselect

Выберите видео- или аудиопотоки.

Фильтр принимает следующие параметры:

inputs

Установить количество входов. По умолчанию 2.

map

Установите входные индексы для переназначения на выходы.

11.237.1 Команды

Фильтр streamselectand astreamselectподдерживает следующие команды:

map

Установите входные индексы для переназначения на выходы.

11.237.2 Примеры

  • Выберите первые 5 секунд 1-го потока и остальное время 2-го потока:
    sendcmd='5.0 streamselect map 1',streamselect=inputs=2:map=0
    
  • То же, что и выше, но для звука:
    asendcmd='5.0 astreamselect map 1',astreamselect=inputs=2:map=0
    

11.238 subtitles

Нарисуйте субтитры поверх входного видео, используя библиотеку libass.

Чтобы включить компиляцию этого фильтра, вам необходимо настроить FFmpeg с расширением --enable-libass. Этот фильтр также требует сборки с libavcodec и libavformat для преобразования переданного файла субтитров в формат субтитров ASS (Advanced Substation Alpha).

Фильтр принимает следующие параметры:

filename, f

Установите имя файла субтитров для чтения. Это должно быть указано.

original_size

Укажите размер исходного видео, видео, для которого был составлен файл ASS. Синтаксис этого параметра см. в разделе (ffmpeg-utils) «Размер видео» в руководстве по ffmpeg-utils . Из-за неправильного расчета соотношения сторон ASS это необходимо для правильного масштабирования шрифтов, если соотношение сторон было изменено.

fontsdir

Задайте путь к каталогу, содержащему шрифты, которые могут использоваться фильтром. Эти шрифты будут использоваться в дополнение к тому, что использует поставщик шрифтов.

alpha

Альфа-канал процесса, по умолчанию альфа-канал не изменен.

charenc

Установите кодировку символов для ввода субтитров. subtitlesтолько фильтр. Полезно только если не UTF-8.

stream_index, si

Установите индекс потока субтитров. subtitlesтолько фильтр.

force_style

Переопределить параметры стиля или информации сценария по умолчанию для субтитров. Он принимает строку, содержащую KEY=VALUEпары форматов стиля ASS, разделенные знаком «,».

Если первый ключ не указан, предполагается, что первое значение указываетfilename.

Например, чтобы отобразить файлsub.srtповерх входного видео используйте команду:

subtitles=sub.srt

что эквивалентно:

subtitles=filename=sub.srt

Чтобы отобразить поток субтитров по умолчанию из файлаvideo.mkv, использовать:

subtitles=video.mkv

Чтобы отобразить второй поток субтитров из этого файла, используйте:

subtitles=video.mkv:si=1

Чтобы субтитры транслировались сsub.srtотображаются в 80% прозрачном синем цвете DejaVu Serif, используйте:

subtitles=sub.srt:force_style='Fontname=DejaVu Serif,PrimaryColour=&HCCFF0000'

11.239 super2xsai

Увеличьте входные данные в 2 раза и сгладьте их с помощью алгоритма масштабирования пиксельной графики Super2xSaI (Scale and Interpolate).

Полезно для увеличения пиксельных изображений без снижения резкости.

11.240 swaprect

Поменяйте местами два прямоугольных объекта в видео.

Этот фильтр принимает следующие параметры:

w

Установите ширину объекта.

h

Установить высоту объекта.

x1

Установите 1-ю координату X прямоугольника.

y1

Установите 1-ю координату y прямоугольника.

x2

Установите вторую координату X прямоугольника.

y2

Установите 2-ю координату прямоугольника y.

Все выражения оцениваются один раз для каждого кадра.

Все параметры являются выражениями, содержащими следующие константы:

w
h

Вводимая ширина и высота.

a

то же, что w/h

sar

соотношение сторон входного образца

dar

входное соотношение сторон дисплея, оно такое же, как ( w/ h) *sar

n

Номер входного кадра, начиная с 0.

t

Отметка времени, выраженная в секундах. Это NAN, если отметка времени ввода неизвестна.

pos

позиция в файле входного кадра, NAN, если неизвестно

11.240.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.241 swapuv

Поменяйте местами U и V плоскость.

11.242 tblend

Смешайте последовательные видеокадры.

Посмотреть смесь

11.243 telecine

Примените процесс телесина к видео.

Этот фильтр принимает следующие параметры:

first_field
'top, t'

сначала верхнее поле

'bottom, b'

сначала нижнее поле. Значение по умолчанию — top.

pattern

Строка чисел, представляющая шаблон раскрывающегося списка, который вы хотите применить. Значение по умолчанию равно 23.

Some typical patterns:

NTSC output (30i):
27.5p: 32222
24p: 23 (classic)
24p: 2332 (preferred)
20p: 33
18p: 334
16p: 3444

PAL output (25i):
27.5p: 12222
24p: 222222222223 ("Euro pulldown")
16.67p: 33
16p: 33333334

11.244 thistogram

Вычислите и нарисуйте гистограмму распределения цветов для входного видео во времени.

В отличие от видеофильтра гистограммы , который показывает гистограмму только одного входного кадра в определенное время, этот фильтр также показывает прошлые гистограммы количества кадров, определенного widthопцией.

Вычисленная гистограмма представляет собой представление распределения компонентов цвета в изображении.

Фильтр принимает следующие параметры:

width, w

Установите ширину вывода одноцветного компонента. Значение по умолчанию 0. Значение 0средней ширины будет взято из входного видео. Это также устанавливает количество пройденных гистограмм для хранения. Допустимый диапазон: [0, 8192].

display_mode, d

Установите режим отображения. Он принимает следующие значения:

'stack'

Графики компонентов цвета располагаются друг под другом.

'parade'

Графики компонентов цвета расположены рядом.

'overlay'

Представляет информацию, идентичную представленной в parade, за исключением того, что графики, представляющие компоненты цвета, накладываются непосредственно друг на друга.

Значение по умолчанию stack.

levels_mode, m

Установить режим. Можно или linear, или logarithmic. Значение по умолчанию linear.

components, c

Установите, какие компоненты цвета отображать. Значение по умолчанию 7.

bgopacity, b

Установите прозрачность фона. Значение по умолчанию 0.9.

envelope, e

Показать конверт. По умолчанию отключено.

ecolor, ec

Установить цвет конверта. Значение по умолчанию gold.

slide

Установите режим слайдов.

Доступные значения для слайда:

'frame'

Нарисуйте новую рамку, когда будет достигнута правая граница.

'replace'

Замените старые столбцы новыми.

'scroll'

Прокрутите справа налево.

'rscroll'

Прокрутите слева направо.

'picture'

Нарисуйте одну картинку.

Значение по умолчанию replace.

11.245 threshold

Примените пороговый эффект к видеопотоку.

Этому фильтру требуется четыре видеопотока для выполнения пороговой обработки. Первый поток — это поток, который мы фильтруем. Второй поток содержит пороговые значения, третий поток содержит минимальные значения, а последний, четвертый поток содержит максимальные значения.

Фильтр принимает следующий вариант:

planes

Укажите, какие плоскости будут обработаны, необработанные плоскости будут скопированы. При значении по умолчанию 0xf будут обработаны все плоскости.

Например, если значение компонента пикселя первого потока меньше порогового значения компонента пикселя из 2-го порогового потока, будет выбрано значение третьего потока, в противном случае будет выбрано значение компонента пикселя четвертого потока.

Используя фильтр источника цвета, можно выполнять различные типы пороговой обработки:

11.245.1 Команды

Этот фильтр поддерживает все параметры в виде команд .

11.245.2 Примеры

  • Двоичный порог с использованием серого цвета в качестве порога:
    ffmpeg -i 320x240.avi -f lavfi -i color=gray -f lavfi -i color=black -f lavfi -i color=white -lavfi threshold output.avi
    
  • Перевернутый двоичный порог, использующий серый цвет в качестве порога:
    ffmpeg -i 320x240.avi -f lavfi -i color=gray -f lavfi -i color=white -f lavfi -i color=black -lavfi threshold output.avi
    
  • Обрезать двоичный порог, используя серый цвет в качестве порога:
    ffmpeg -i 320x240.avi -f lavfi -i color=gray -i 320x240.avi -f lavfi -i color=gray -lavfi threshold output.avi
    
  • Порог до нуля, используя серый цвет в качестве порога:
    ffmpeg -i 320x240.avi -f lavfi -i color=gray -f lavfi -i color=white -i 320x240.avi -lavfi threshold output.avi
    
  • Порог инвертирован в ноль, используя серый цвет в качестве порога:
    ffmpeg -i 320x240.avi -f lavfi -i color=gray -i 320x240.avi -f lavfi -i color=white -lavfi threshold output.avi
    

11.246 thumbnail

Выберите наиболее репрезентативный кадр в заданной последовательности последовательных кадров.

Фильтр принимает следующие параметры:

n

Установите размер пакета кадров для анализа; в наборе nкадров фильтр выберет один из них, а затем обработает следующий пакет nкадров до конца. Значение по умолчанию 100.

Поскольку фильтр отслеживает всю последовательность кадров, большее n значение приведет к большему использованию памяти, поэтому высокое значение не рекомендуется.

11.246.1 Примеры

  • Извлеките одно изображение каждые 50 кадров:
    thumbnail=50
    
  • Полный пример создания миниатюры с помощью ffmpeg:
    ffmpeg -i in.avi -vf thumbnail,scale=300:200 -frames:v 1 out.png
    

11.247 tile

Мозаика несколько последовательных кадров вместе.

Пока фильтр может сделать обратное .

Фильтр принимает следующие параметры:

layout

Задайте размер сетки в форме COLUMNSxROWS. Диапазон до ячеек UINT_MAX. Значение по умолчанию 6x5.

nb_frames

Установите максимальное количество кадров для рендеринга в данной области. Оно должно быть меньше или равно wx h. Значение по умолчанию равно 0, что означает, что будет использоваться вся область.

margin

Задайте поле внешней границы в пикселях. Диапазон от 0 до 1024. По умолчанию 0.

padding

Установите толщину внутренней границы (т.е. количество пикселей между кадрами). Дополнительные параметры заполнения (например, различные значения для краев) см. в видеофильтре заполнения. Диапазон от 0 до 1024. По умолчанию 0.

color

Укажите цвет неиспользуемой области. Синтаксис этой опции см. в разделе (ffmpeg-utils) «Цвет» в руководстве по ffmpeg-utils . Значение по умолчанию color— «черный».

overlap

Установите количество кадров, которые будут перекрываться при объединении нескольких последовательных кадров. Значение должно быть между 0и nb_frames - 1. Значение по умолчанию 0.

init_padding

Установите количество кадров, чтобы они изначально были пустыми перед отображением первого выходного кадра. Это определяет, как скоро будет получен первый выходной кадр. Значение должно быть между 0и nb_frames - 1. Значение по умолчанию 0.

11.247.1 Примеры

  • Создание тайлов PNG размером 8x8 из всех ключевых кадров (-skip_frame nokey) в фильме:
    ffmpeg -skip_frame nokey -i file.avi -vf 'scale=128:72,tile=8x8' -an -vsync 0 keyframes%03d.png
    

    The -vsync 0необходимо для предотвращения ffmpegдублирования каждого выходного кадра для соответствия первоначально обнаруженной частоте кадров.

  • Отображать 5изображения в области 3x2кадров, с 7пикселями между ними и 2пикселями начального поля, используя смешанные плоские и именованные параметры:
    tile=3x2:nb_frames=5:padding=7:margin=2
    

11.248 tinterlace

Выполнение различных типов чередования временных полей.

Кадры считаются, начиная с 1, поэтому первый входной кадр считается нечетным.

Фильтр принимает следующие параметры:

mode

Укажите режим чередования. Этот параметр также может быть указан как отдельное значение. См. ниже список значений для этой опции.

Доступные значения:

'merge, 0'

Перемещайте нечетные кадры в верхнее поле, четные — в нижнее поле, создавая кадр двойной высоты с половинной частотой кадров.

 ------> time
Input:
Frame 1         Frame 2         Frame 3         Frame 4

11111           22222           33333           44444
11111           22222           33333           44444
11111           22222           33333           44444
11111           22222           33333           44444

Output:
11111                           33333
22222                           44444
11111                           33333
22222                           44444
11111                           33333
22222                           44444
11111                           33333
22222                           44444
'drop_even, 1'

Выводить только нечетные кадры, четные кадры отбрасываются, создавая кадр с неизменной высотой при половинной частоте кадров.

 ------> time
Input:
Frame 1         Frame 2         Frame 3         Frame 4

11111           22222           33333           44444
11111           22222           33333           44444
11111           22222           33333           44444
11111           22222           33333           44444

Output:
11111                           33333
11111                           33333
11111                           33333
11111                           33333
'drop_odd, 2'

Выводить только четные кадры, нечетные кадры отбрасываются, создавая кадр с неизменной высотой при половинной частоте кадров.

 ------> time
Input:
Frame 1         Frame 2         Frame 3         Frame 4

11111           22222           33333           44444
11111           22222           33333           44444
11111           22222           33333           44444
11111           22222           33333           44444

Output:
                22222                           44444
                22222                           44444
                22222                           44444
                22222                           44444
'pad, 3'

Расширьте каждый кадр до полной высоты, но заполните чередующиеся линии черным цветом, создав кадр с двойной высотой при той же частоте входных кадров.

 ------> time
Input:
Frame 1         Frame 2         Frame 3         Frame 4

11111           22222           33333           44444
11111           22222           33333           44444
11111           22222           33333           44444
11111           22222           33333           44444

Output:
11111           .....           33333           .....
.....           22222           .....           44444
11111           .....           33333           .....
.....           22222           .....           44444
11111           .....           33333           .....
.....           22222           .....           44444
11111           .....           33333           .....
.....           22222           .....           44444
'interleave_top, 4'

Чередуйте верхнее поле из нечетных кадров с нижним полем из четных кадров, создавая кадр с неизменной высотой при половинной частоте кадров.

 ------> time
Input:
Frame 1         Frame 2         Frame 3         Frame 4

11111<-         22222           33333<-         44444
11111           22222<-         33333           44444<-
11111<-         22222           33333<-         44444
11111           22222<-         33333           44444<-

Output:
11111                           33333
22222                           44444
11111                           33333
22222                           44444
'interleave_bottom, 5'

Чередуйте нижнее поле из нечетных кадров с верхним полем из четных кадров, создавая кадр с неизменной высотой при половинной частоте кадров.

 ------> time
Input:
Frame 1         Frame 2         Frame 3         Frame 4

11111           22222<-         33333           44444<-
11111<-         22222           33333<-         44444
11111           22222<-         33333           44444<-
11111<-         22222           33333<-         44444

Output:
22222                           44444
11111                           33333
22222                           44444
11111                           33333
'interlacex2, 6'

Двойная частота кадров с неизменной высотой. Вставляются кадры, каждый из которых содержит второе временное поле из предыдущего входного кадра и первое временное поле из следующего входного кадра. Этот режим зависит от флага top_field_first. Полезно для отображения чересстрочного видео без синхронизации поля.

 ------> time
Input:
Frame 1         Frame 2         Frame 3         Frame 4

11111           22222           33333           44444
 11111           22222           33333           44444
11111           22222           33333           44444
 11111           22222           33333           44444

Output:
11111   22222   22222   33333   33333   44444   44444
 11111   11111   22222   22222   33333   33333   44444
11111   22222   22222   33333   33333   44444   44444
 11111   11111   22222   22222   33333   33333   44444
'mergex2, 7'

Перемещайте нечетные кадры в верхнее поле, четные — в нижнее поле, создавая кадр двойной высоты с той же частотой кадров.

 ------> time
Input:
Frame 1         Frame 2         Frame 3         Frame 4

11111           22222           33333           44444
11111           22222           33333           44444
11111           22222           33333           44444
11111           22222           33333           44444

Output:
11111           33333           33333           55555
22222           22222           44444           44444
11111           33333           33333           55555
22222           22222           44444           44444
11111           33333           33333           55555
22222           22222           44444           44444
11111           33333           33333           55555
22222           22222           44444           44444

Числовые значения устарели, но принимаются по соображениям обратной совместимости.

Режим по умолчанию merge.

flags

Укажите флаги, влияющие на процесс фильтрации.

Доступное значение для flags:

low_pass_filter, vlpf

Включите линейную вертикальную фильтрацию нижних частот в фильтре. Вертикальная низкочастотная фильтрация требуется при создании чересстрочного приемника из прогрессивного источника, который содержит высокочастотные вертикальные детали. Фильтрация уменьшит чересстрочное «щебетание» и муаровые узоры.

complex_filter, cvlpf

Включите сложную вертикальную фильтрацию нижних частот. Это несколько меньше уменьшит чересстрочную развёртку и муаровые узоры, но лучше сохранит детали и субъективное впечатление резкости.

bypass_il

Обходите уже чересстрочные кадры, регулируйте только частоту кадров.

Вертикальная низкочастотная фильтрация и обход уже чересстрочных кадров могут быть включены только дляmode interleave_topи interleave_bottom.

11.249 tmedian

Выберите срединные пиксели из нескольких последовательных входных видеокадров.

Фильтр принимает следующие параметры:

radius

Установите радиус медианного фильтра. По умолчанию 1. Допустимый диапазон от 1 до 127.

planes

Установите, какие самолеты фильтровать. Значение по умолчанию равно 15, по которому обрабатываются все плоскости.

percentile

Установите средний процентиль. Значение по умолчанию 0.5. Значение по умолчанию 0.5всегда будет выбирать средние значения, тогда как 0будут выбираться минимальные значения и 1максимальные значения.

11.249.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд , за исключением параметра radius.

11.250 tmidequalizer

Примените эффект Temporal Midway Video Equalization.

Midway Video Equalization корректирует последовательность видеокадров, чтобы они имели одинаковые гистограммы, сохраняя при этом их динамику в максимально возможной степени. Это полезно, например, для сопоставления экспозиций из последовательности видеокадров.

Этот фильтр принимает следующие параметры:

radius

Установите радиус фильтрации. Значение по умолчанию 5. Допустимый диапазон от 1 до 127.

sigma

Установить фильтрацию сигмы. Значение по умолчанию 0.5. Это контролирует силу фильтрации. Установка этого параметра на 0 фактически ничего не делает.

planes

Установите, какие плоскости обрабатывать. По умолчанию это 15все доступные плоскости.

11.251 tmix

Смешайте последовательные видеокадры.

Далее следует описание принятых опций.

frames

Количество последовательных кадров для микширования. Если не указано, по умолчанию 3.

weights

Укажите вес каждого входного видеокадра. Каждый вес отделен пробелом. Если количество весов меньше, чем количество framesпоследних указанных весов, будет использоваться для всех оставшихся неустановленных весов.

scale

Укажите масштаб, если он установлен, он будет умножен на сумму каждого веса, умноженного на значения пикселей, чтобы получить конечное значение целевого пикселя. По умолчанию scaleавтоматически масштабируется до суммы весов.

planes

Установите, какие самолеты фильтровать. По умолчанию все. Допустимый диапазон от 0 до 15.

11.251.1 Примеры

  • В среднем 7 последовательных кадров:
    tmix=frames=7:weights="1 1 1 1 1 1 1"
    
  • Примените простую временную свертку:
    tmix=frames=3:weights="-1 3 -1"
    
  • Аналогично предыдущему, но показаны только временные различия:
    tmix=frames=3:weights="-1 2 -1":scale=1
    

11.251.2 Команды

Этот фильтр поддерживает следующие команды:

weights
scale
planes

Синтаксис такой же, как у опции с тем же именем.

11.252 tonemap

Цвета карты тонов из разных динамических диапазонов.

Этот фильтр ожидает данные с плавающей запятой одинарной точности, так как он должен работать (и может выводить) со значениями вне допустимого диапазона. Другой фильтр, например zscale , необходим для преобразования результирующего кадра в пригодный для использования формат.

Реализованные алгоритмы тональной компрессии работают только с линейным светом, поэтому входные данные должны быть заранее линеаризованы (и, возможно, правильно помечены).

ffmpeg -i INPUT -vf zscale=transfer=linear,tonemap=clip,zscale=transfer=bt709,format=yuv420p OUTPUT

11.252.1 Опции

Фильтр принимает следующие параметры.

tonemap

Установите алгоритм карты тонов для использования.

Возможные значения:

none

Не применяйте карту тонов, а только обесцветьте слишком яркие пиксели.

clip

Жестко обрежьте любые значения, выходящие за пределы допустимого диапазона. Используйте его для идеальной точности цветопередачи для значений в пределах диапазона и искажения значений вне диапазона.

linear

Растяните всю эталонную гамму до линейного кратного размера дисплея.

gamma

Соответствуйте логарифмическому переносу между кривыми тона.

reinhard

Сохраняйте общую яркость изображения с помощью простой кривой, используя нелинейный контраст, что приводит к сглаживанию деталей и ухудшению точности цветопередачи.

hable

Сохраняет как темные, так и яркие детали лучше, чем reinhard, за счет небольшого затемнения всего. Используйте его, когда сохранение деталей важнее точности цвета и яркости.

mobius

Плавно отображайте значения вне диапазона, максимально сохраняя контраст и цвета для материала в диапазоне. Используйте его, когда точность цветопередачи важнее сохранения деталей.

По умолчанию нет.

param

Настройте алгоритм отображения тонов.

Это влияет на следующие алгоритмы:

none

Игнорируется.

linear

Указывает коэффициент масштабирования, используемый при растяжении. По умолчанию 1.0.

gamma

Задает показатель степени функции. По умолчанию 1,8.

clip

Задайте дополнительный линейный коэффициент для умножения на сигнал перед отсечением. По умолчанию 1.0.

reinhard

Укажите локальный коэффициент контрастности на пике отображения. По умолчанию установлено значение 0,5, что означает, что значения в пределах гаммы будут примерно в два раза ярче, чем при отсечении.

hable

Игнорируется.

mobius

Задайте точку перехода от линейного к преобразованию Мёбиуса. Каждое значение ниже этой точки гарантированно будет сопоставлено 1:1. Чем выше значение, тем точнее будет результат за счет потери ярких деталей. По умолчанию установлено значение 0,3, которое из-за крутого начального наклона по-прежнему довольно точно сохраняет цвета в диапазоне.

desat

Примените обесцвечивание к светлым участкам, яркость которых превышает этот уровень. Чем выше параметр, тем больше информации о цвете будет сохранено. Этот параметр помогает предотвратить неестественное размытие цветов для супербликов, вместо этого (плавно) превращая их в белые. Это делает изображения более естественными за счет уменьшения информации о цветах вне диапазона.

Значение по умолчанию 2.0 несколько консервативно и в основном применяется только к небу или прямо освещенным солнечным светом поверхностям. Значение 0.0 отключает эту опцию.

Этот параметр работает только в том случае, если входной кадр имеет поддерживаемый цветовой тег.

peak

Замените сигнал/номинальный/опорный пик этим значением. Полезно, когда встроенная информация о пиках в метаданных дисплея ненадежна или при преобразовании тонов из нижнего диапазона в более высокий диапазон.

11.253 tpad

Временно дополнить кадры видео.

Фильтр принимает следующие параметры:

start

Укажите количество кадров задержки перед входным видеопотоком. По умолчанию 0.

stop

Укажите количество дополнительных кадров после входного видеопотока. Установите на -1, чтобы заполнять бесконечно. По умолчанию 0.

start_mode

Установить тип кадров, добавляемых в начало потока. Может быть или addили clone. Добавлены addрамки сплошного цвета. С cloneкадрами являются клонами первого кадра. Значение по умолчанию add.

stop_mode

Установите тип кадров, добавляемых в конец потока. Может быть или addили clone. Добавлены addрамки сплошного цвета. С cloneкадрами являются клонами последнего кадра. Значение по умолчанию add.

start_duration, stop_duration

Укажите продолжительность задержки запуска/останова. См. (ffmpeg-utils) раздел Продолжительность времени в руководстве ffmpeg-utils(1) для получения информации о принятом синтаксисе. Эти параметры переопределяют startи stop. По умолчанию 0.

color

Укажите цвет заполненной области. Синтаксис этой опции см. в разделе (ffmpeg-utils) «Цвет» в руководстве по ffmpeg-utils .

Значение по умолчанию color— «черный».

11.254 transpose

Транспонируйте строки со столбцами во входном видео и, при необходимости, отразите его.

Он принимает следующие параметры:

dir

Укажите направление транспонирования.

Может принимать следующие значения:

'0, 4, cclock_flip'

Повернуть на 90 градусов против часовой стрелки и вертикально отразить (по умолчанию), то есть:

L.R     L.l
. . ->  . .
l.r     R.r
'1, 5, clock'

Повернуть на 90 градусов по часовой стрелке, то есть:

L.R     l.L
. . ->  . .
l.r     r.R
'2, 6, cclock'

Повернуть на 90 градусов против часовой стрелки, то есть:

L.R     R.r
. . ->  . .
l.r     L.l
'3, 7, clock_flip'

Повернуть на 90 градусов по часовой стрелке и вертикально отразить, то есть:

L.R     r.R
. . ->  . .
l.r     l.L

Для значений от 4 до 7 транспонирование выполняется только в том случае, если геометрия входного видео является портретной, а не альбомной. Эти значения устарели, passthroughвместо них следует использовать этот параметр.

Числовые значения устарели, и от них следует отказаться в пользу символических констант.

passthrough

Не применять транспонирование, если входная геометрия соответствует геометрии, заданной указанным значением. Он принимает следующие значения:

'none'

Всегда применяйте транспонирование.

'portrait'

Сохранять портретную геометрию (когда height>= width).

'landscape'

Сохранять геометрию ландшафта (когда width>= height).

Значение по умолчанию none.

Например, чтобы повернуть на 90 градусов по часовой стрелке и сохранить портретную ориентацию:

transpose=dir=1:passthrough=portrait

Команда выше также может быть указана как:

transpose=1:portrait

11.255 transpose_npp

Транспонируйте строки со столбцами во входном видео и, при необходимости, отразите его. Более подробные примеры см. в видеофильтре транспонирования , который имеет в основном те же параметры.

Он принимает следующие параметры:

dir

Укажите направление транспонирования.

Может принимать следующие значения:

'cclock_flip'

Поверните на 90 градусов против часовой стрелки и вертикально отразите. (дефолт)

'clock'

Повернуть на 90 градусов по часовой стрелке.

'cclock'

Поверните на 90 градусов против часовой стрелки.

'clock_flip'

Поверните на 90 градусов по часовой стрелке и вертикально отразите.

passthrough

Не применять транспонирование, если входная геометрия соответствует геометрии, заданной указанным значением. Он принимает следующие значения:

'none'

Всегда применяйте транспонирование. (дефолт)

'portrait'

Сохранять портретную геометрию (когда height>= width).

'landscape'

Сохранять геометрию ландшафта (когда width>= height).

11.256 trim

Обрежьте ввод так, чтобы вывод содержал одну непрерывную часть ввода.

Он принимает следующие параметры:

start

Укажите время начала сохраняемого раздела, т.е. кадр с отметкой времени startбудет первым кадром в выводе.

end

Укажите время первого кадра, который будет удален, т. е. кадр, непосредственно предшествующий кадру с отметкой времени end, будет последним кадром в выводе.

start_pts

Это то же самое start, что и , за исключением того, что эта опция устанавливает метку времени начала в единицах измерения времени, а не в секундах.

end_pts

Это то же самое end, что и , за исключением того, что эта опция устанавливает конечную метку времени в единицах измерения времени, а не в секундах.

duration

Максимальная продолжительность вывода в секундах.

start_frame

Номер первого кадра, который необходимо передать на выход.

end_frame

Номер первого кадра, который следует отбросить.

start,end, а такжеdurationвыражаются в виде спецификаций продолжительности времени; см. (ffmpeg-utils) раздел «Продолжительность времени» в руководстве ffmpeg-utils(1) для получения информации о принятом синтаксисе.

Обратите внимание, что первые два набора параметров начала/конца иduration вариант смотрит на метку времени кадра, в то время как варианты _frame просто подсчитывают кадры, прошедшие через фильтр. Также обратите внимание, что этот фильтр не изменяет метки времени. Если вы хотите, чтобы временные метки вывода начинались с нуля, вставьте фильтр настроек после фильтра обрезки.

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

По умолчанию все входные данные сохраняются. Таким образом, можно установить, например, только конечные значения, чтобы сохранить все до указанного времени.

Примеры:

  • Отбросьте все, кроме второй минуты ввода:
    ffmpeg -i INPUT -vf trim=60:120
    
  • Держите только первую секунду:
    ffmpeg -i INPUT -vf trim=duration=1
    

11.257 unpremultiply

Примените эффект предварительного умножения альфа-канала к входному видеопотоку, используя первую плоскость второго потока в качестве альфа-канала.

Оба потока должны иметь одинаковые размеры и одинаковый формат пикселей.

Фильтр принимает следующий вариант:

planes

Укажите, какие плоскости будут обработаны, необработанные плоскости будут скопированы. При значении по умолчанию 0xf будут обработаны все плоскости.

Если формат имеет 1 или 2 компонента, то яркость имеет бит 0. Если формат имеет 3 или 4 компонента: для форматов RGB бит 0 — зеленый, бит 1 — синий, а бит 2 — красный; для форматов YUV бит 0 — это яркость, бит 1 — цветность-U, а бит 2 — цветность-V. Если он присутствует, альфа-канал всегда является последним битом.

inplace

Не требуйте 2-го ввода для обработки, вместо этого используйте альфа-плоскость из входного потока.

11.258 unsharp

Резкость или размытие входного видео.

Он принимает следующие параметры:

luma_msize_x, lx

Установите горизонтальный размер матрицы яркости. Это должно быть нечетное целое число от 3 до 23. Значение по умолчанию — 5.

luma_msize_y, ly

Установите размер матрицы яркости по вертикали. Это должно быть нечетное целое число от 3 до 23. Значение по умолчанию — 5.

luma_amount, la

Установите силу эффекта яркости. Это должно быть число с плавающей запятой, разумные значения лежат между -1,5 и 1,5.

Отрицательные значения будут размывать входное видео, а положительные значения сделают его более четким, нулевое значение отключит эффект.

Значение по умолчанию — 1,0.

chroma_msize_x, cx

Установите размер матрицы цветности по горизонтали. Это должно быть нечетное целое число от 3 до 23. Значение по умолчанию — 5.

chroma_msize_y, cy

Установите размер матрицы цветности по вертикали. Это должно быть нечетное целое число от 3 до 23. Значение по умолчанию — 5.

chroma_amount, ca

Установите силу эффекта цветности. Это должно быть число с плавающей запятой, разумные значения лежат между -1,5 и 1,5.

Отрицательные значения будут размывать входное видео, а положительные значения сделают его более четким, нулевое значение отключит эффект.

Значение по умолчанию — 0,0.

alpha_msize_x, ax

Установите горизонтальный размер альфа-матрицы. Это должно быть нечетное целое число от 3 до 23. Значение по умолчанию — 5.

alpha_msize_y, ay

Установите размер альфа-матрицы по вертикали. Это должно быть нечетное целое число от 3 до 23. Значение по умолчанию — 5.

alpha_amount, aa

Установите силу альфа-эффекта. Это должно быть число с плавающей запятой, разумные значения лежат между -1,5 и 1,5.

Отрицательные значения будут размывать входное видео, а положительные значения сделают его более четким, нулевое значение отключит эффект.

Значение по умолчанию — 0,0.

Все параметры являются необязательными и по умолчанию эквивалентны строке «5:5:1.0:5:5:0.0».

11.258.1 Примеры

  • Примените сильный эффект резкости яркости:
    unsharp=luma_msize_x=7:luma_msize_y=7:luma_amount=2.5
    
  • Примените сильное размытие параметров яркости и цветности:
    unsharp=7:7:-2:7:7:-2
    

11.259 untile

Разложите видео, состоящее из мозаичных изображений, на отдельные изображения.

Частота кадров выходного видео равна частоте кадров входного видео, умноженной на количество фрагментов.

Этот фильтр делает обратное tile .

Фильтр принимает следующие параметры:

layout

Установите размер сетки (т.е. количество строк и столбцов). Синтаксис этого параметра см. в разделе (ffmpeg-utils) «Размер видео» в руководстве по ffmpeg-utils .

11.259.1 Примеры

  • Создайте 1-секундное видео из файла неподвижного изображения, состоящего из 25 кадров, сложенных вертикально, как аналоговая кинолента:
    ffmpeg -r 1 -i image.jpg -vf untile=1x25 movie.mkv
    

11.260 uspp

Применить сверхмедленный/простой фильтр постобработки, который сжимает и распаковывает изображение в несколько раз (или - в случаеqualityуровень 8- все) сдвиги и средние результаты.

Это отличается от поведения spp тем, что uspp фактически кодирует и декодирует каждый случай с помощью libavcodec Snow, в то время как spp использует упрощенный внутренний DCT 8x8, аналогичный MJPEG.

Этот фильтр доступен только в ffmpeg версии 4.4 или более ранней.

Фильтр принимает следующие параметры:

quality

Установить качество. Эта опция определяет количество уровней для усреднения. Он принимает целое число в диапазоне 0-8. Если установлено значение 0, фильтр не будет действовать. Значение 8означает более высокое качество. Для каждого приращения этого значения скорость падает примерно в 2 раза. Значение по умолчанию — 3.

qp

Установите постоянный параметр квантования. Если не установлено, фильтр будет использовать QP из видеопотока (если он доступен).

11.261 v360

Конвертируйте 360 видео между различными форматами.

Фильтр принимает следующие параметры:

input
output

Установить формат входного/выходного видео.

Доступные форматы:

'e'
'equirect'

Равноугольная проекция.

'c3x2'
'c6x1'
'c1x6'

Кубическая карта с макетом 3x2/6x1/1x6.

Специальные параметры формата:

in_pad
out_pad

Установите пропорцию заполнения для входной/выходной кубической карты. Значения в десятичных дробях.

Примеры значений:

'0'

Без прокладки.

'0.01'

1% лица заполняется. Например, при разрешении 1920x1280 размер лица будет 640x640, а отступ будет равен 3 пикселям с каждой стороны. (640 * 0,01 = 6 пикселей)

Значение по умолчанию: '0' . Максимальное значение '0.1' .

fin_pad
fout_pad

Установите фиксированное заполнение для входной/выходной кубической карты. Значения в пикселях.

Значение по умолчанию: '0' . Если больше нуля, он переопределяет другие параметры заполнения.

in_forder
out_forder

Установите порядок граней для входной/выходной кубической карты. Выберите одно направление для каждой позиции.

Обозначение направлений:

'r'

Правильно

'l'

оставил

'u'

вверх

'd'

вниз

'f'

вперед

'b'

назад

Значение по умолчанию: 'rludfb' .

in_frot
out_frot

Установите поворот граней для входной/выходной кубической карты. Выберите один угол для каждой позиции.

Обозначение углов:

'0'

0 градусов по часовой стрелке

'1'

90 градусов по часовой стрелке

'2'

180 градусов по часовой стрелке

'3'

270 градусов по часовой стрелке

Значение по умолчанию: '000000' .

'eac'

Равноугольная кубическая карта.

'flat'
'gnomonic'
'rectilinear'

Обычное видео.

Специальные параметры формата:

h_fov
v_fov
d_fov

Установите выходное горизонтальное/вертикальное/диагональное поле зрения. Значения в градусах.

Если установлено диагональное поле зрения, оно имеет приоритет над горизонтальным и вертикальным полем зрения.

ih_fov
iv_fov
id_fov

Установите входное горизонтальное/вертикальное/диагональное поле зрения. Значения в градусах.

Если установлено диагональное поле зрения, оно имеет приоритет над горизонтальным и вертикальным полем зрения.

'dfisheye'

Двойной рыбий глаз.

Специальные параметры формата:

h_fov
v_fov
d_fov

Установите выходное горизонтальное/вертикальное/диагональное поле зрения. Значения в градусах.

Если установлено диагональное поле зрения, оно имеет приоритет над горизонтальным и вертикальным полем зрения.

ih_fov
iv_fov
id_fov

Установите входное горизонтальное/вертикальное/диагональное поле зрения. Значения в градусах.

Если установлено диагональное поле зрения, оно имеет приоритет над горизонтальным и вертикальным полем зрения.

'barrel'
'fb'
'barrelsplit'

Форматы Facebook 360.

'sg'

Стереографический формат.

Специальные параметры формата:

h_fov
v_fov
d_fov

Установите выходное горизонтальное/вертикальное/диагональное поле зрения. Значения в градусах.

Если установлено диагональное поле зрения, оно имеет приоритет над горизонтальным и вертикальным полем зрения.

ih_fov
iv_fov
id_fov

Установите входное горизонтальное/вертикальное/диагональное поле зрения. Значения в градусах.

Если установлено диагональное поле зрения, оно имеет приоритет над горизонтальным и вертикальным полем зрения.

'mercator'

Формат Меркатора.

'ball'

Шарообразный формат дает значительные искажения в сторону спины.

'hammer'

Формат картографической проекции Хаммера-Айтоффа.

'sinusoidal'

Синусоидальный формат проекции карты.

'fisheye'

Проекция «рыбий глаз».

Специальные параметры формата:

h_fov
v_fov
d_fov

Установите выходное горизонтальное/вертикальное/диагональное поле зрения. Значения в градусах.

Если установлено диагональное поле зрения, оно имеет приоритет над горизонтальным и вертикальным полем зрения.

ih_fov
iv_fov
id_fov

Установите входное горизонтальное/вертикальное/диагональное поле зрения. Значения в градусах.

Если установлено диагональное поле зрения, оно имеет приоритет над горизонтальным и вертикальным полем зрения.

'pannini'

Проекция Паннини.

Специальные параметры формата:

h_fov

Установите выходной параметр pannini.

ih_fov

Установите входной параметр pannini.

'cylindrical'

Цилиндрическая проекция.

Специальные параметры формата:

h_fov
v_fov
d_fov

Установите выходное горизонтальное/вертикальное/диагональное поле зрения. Значения в градусах.

Если установлено диагональное поле зрения, оно имеет приоритет над горизонтальным и вертикальным полем зрения.

ih_fov
iv_fov
id_fov

Установите входное горизонтальное/вертикальное/диагональное поле зрения. Значения в градусах.

Если установлено диагональное поле зрения, оно имеет приоритет над горизонтальным и вертикальным полем зрения.

'perspective'

Перспективная проекция. (только вывод)

Специальные параметры формата:

v_fov

Установите параметр перспективы.

'tetrahedron'

Проекция тетраэдра.

'tsp'

Проекция усеченной квадратной пирамиды.

'he'
'hequirect'

Полуравноугольная проекция.

'equisolid'

Эквисолидный формат.

Специальные параметры формата:

h_fov
v_fov
d_fov

Установите выходное горизонтальное/вертикальное/диагональное поле зрения. Значения в градусах.

Если установлено диагональное поле зрения, оно имеет приоритет над горизонтальным и вертикальным полем зрения.

ih_fov
iv_fov
id_fov

Установите входное горизонтальное/вертикальное/диагональное поле зрения. Значения в градусах.

Если установлено диагональное поле зрения, оно имеет приоритет над горизонтальным и вертикальным полем зрения.

'og'

Орфографический формат.

Специальные параметры формата:

h_fov
v_fov
d_fov

Установите выходное горизонтальное/вертикальное/диагональное поле зрения. Значения в градусах.

Если установлено диагональное поле зрения, оно имеет приоритет над горизонтальным и вертикальным полем зрения.

ih_fov
iv_fov
id_fov

Установите входное горизонтальное/вертикальное/диагональное поле зрения. Значения в градусах.

Если установлено диагональное поле зрения, оно имеет приоритет над горизонтальным и вертикальным полем зрения.

'octahedron'

Проекция октаэдра.

'cylindricalea'

Цилиндрическая равновеликая проекция.

interp

Установить метод интерполяции.
Примечание: для выполнения более сложных методов интерполяции требуется гораздо больше памяти.

Доступные методы:

'near'
'nearest'

Ближайший сосед.

'line'
'linear'

Билинейная интерполяция.

'lagrange9'

Интерполяция Лагранжа9.

'cube'
'cubic'

Бикубическая интерполяция.

'lanc'
'lanczos'

Интерполяция Ланцоша.

'sp16'
'spline16'

Интерполяция Spline16.

'gauss'
'gaussian'

Гауссова интерполяция.

'mitchell'

Интерполяция Митчелла.

Значение по умолчанию: 'line' .

w
h

Установите разрешение выходного видео.

Разрешение по умолчанию зависит от форматов.

in_stereo
out_stereo

Установите входной/выходной стереофонический формат.

'2d'

2D моно

'sbs'

Бок о бок

'tb'

Верхний низ

Значение по умолчанию: '2d' для формата ввода и вывода.

yaw
pitch
roll

Установите поворот для выходного видео. Значения в градусах.

rorder

Установите порядок вращения для выходного видео. Выберите один элемент для каждой позиции.

'y, Y'

рыскать

'p, P'

подача

'r, R'

рулон

Значение по умолчанию: 'ypr' .

h_flip
v_flip
d_flip

Отразите выходное видео по горизонтали (меняет местами слева направо) / по вертикали (меняет местами вверх-вниз) / в глубину (меняет местами назад-вперед). Логические значения.

ih_flip
iv_flip

Установите, если входное видео переворачивается по горизонтали/вертикали. Логические значения.

in_trans

Установите, если входное видео транспонировано. Логическое значение, по умолчанию отключено.

out_trans

Установите, нужно ли транспонировать выходное видео. Логическое значение, по умолчанию отключено.

h_offset
v_offset

Установите выходное смещение по горизонтали/вертикали вне оси. По умолчанию установлено значение 0. Допустимый диапазон от -1 до 1.

alpha_mask

Создайте маску в альфа-плоскости для всех неотображенных пикселей, пометив их полностью прозрачными. Логическое значение, по умолчанию отключено.

reset_rot

Сброс поворота выходного видео. Логическое значение, по умолчанию отключено.

11.261.1 Примеры

  • Преобразование равнопрямоугольного видео в кубическую карту с макетом 3x2 и отступом 1% с использованием бикубической интерполяции:
    ffmpeg -i input.mkv -vf v360=e:c3x2:cubic:out_pad=0.01 output.mkv
    
  • Извлеките вид сзади Equi-Angular Cubemap:
    ffmpeg -i input.mkv -vf v360=eac:flat:yaw=180 output.mkv
    
  • Преобразуйте транспонированную и горизонтально перевернутую равноугольную кубическую карту в стереофонический формат бок о бок в равнопрямоугольный стереофонический формат сверху вниз:
    v360=eac:equirect:in_stereo=sbs:in_trans=1:ih_flip=1:out_stereo=tb
    

11.261.2 Команды

Этот фильтр поддерживает подмножество вышеуказанных параметров в виде команд .

11.262 vaguedenoiser

Примените шумоподавитель на основе вейвлета.

Он преобразует каждый кадр из видеовхода в вейвлет-область, используя метод Коэна-Добеши-Фово 9/7. Затем он применяет некоторую фильтрацию к полученным коэффициентам. После этого выполняется обратное вейвлет-преобразование. Из-за свойств вейвлета это должно дать хороший сглаженный результат и уменьшить шум без размытия деталей изображения.

Этот фильтр принимает следующие параметры:

threshold

Сила фильтрации. Чем выше, тем более фильтрованным будет видео. Жесткий порог может использовать более высокий порог, чем мягкий порог, прежде чем видео будет выглядеть перефильтрованным. Значение по умолчанию — 2.

method

Метод фильтрации, который будет использовать фильтр.

Он принимает следующие значения:

'hard'

Все значения ниже порога будут обнулены.

'soft'

Все значения ниже порога будут обнулены. Все вышеперечисленные значения будут уменьшены на пороговое значение.

'garrote'

Масштабирует или обнуляет коэффициенты — промежуточное звено между (более) мягким и (менее) жестким порогом.

По умолчанию используется удавка.

nsteps

Сколько раз вейвлет будет разлагать изображение. Картинка не может быть разложена дальше определенной точки (обычно 8 для кадра 640x480 - так как 2^9 = 512 > 480). Допустимые значения — целые числа от 1 до 32. Значение по умолчанию — 6.

percent

Частичное или полное шумоподавление (уменьшение ограниченных коэффициентов), от 0 до 100. Значение по умолчанию — 85.

planes

Список плоскостей для обработки. По умолчанию обрабатываются все плоскости.

type

Тип порога, который будет использовать фильтр.

Он принимает следующие значения:

'universal'

Используемый порог одинаков для всех разложений.

'bayes'

Используемый порог зависит также от каждого коэффициента разложения.

По умолчанию универсальный.

11.263 varblur

Примените переменный фильтр размытия, используя второй видеопоток для установки радиуса размытия. Второй поток должен иметь такие же размеры.

Этот фильтр принимает следующие параметры:

min_r

Установите минимально допустимый радиус. Допустимый диапазон от 0 до 254. По умолчанию 0.

max_r

Установите максимально допустимый радиус. Допустимый диапазон от 1 до 255. По умолчанию 8.

planes

Установите, какие плоскости обрабатывать. По умолчанию используются все.

Фильтр varblurтакже поддерживает параметры синхронизации кадров .

11.263.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.264 vectorscope

Отобразите 2 значения компонентов цвета на двухмерном графике (который называется вектороскопом).

Этот фильтр принимает следующие параметры:

mode, m

Установить режим вектороскопа.

Он принимает следующие значения:

'gray'
'tint'

Значения серого отображаются на графике, более высокая яркость означает, что больше пикселей имеют одинаковое значение цвета компонента в месте на графике. Это режим "по умолчанию".

'color'

Значения серого отображаются на графике. Значения окружающих пикселей, отсутствующие в видеокадре, рисуются градиентом из 2-х цветовых компонентов, которые задаются параметрами xи y. Компонент 3-го цвета является статическим.

'color2'

Фактические значения компонентов цвета, присутствующих в видеокадре, отображаются на графике.

'color3'

Подобно цвету2, но более высокая частота тех же значений xи y на графике увеличивает значение другого компонента цвета, которым является яркость при значениях по умолчанию xи y.

'color4'

Фактические цвета, присутствующие в видеокадре, отображаются на графике. Если два разных цвета сопоставляются с одной и той же позицией на графике, то выбирается цвет с более высоким значением компонента, отсутствующего на графике.

'color5'

Значения серого отображаются на графике. Аналогично, colorно с третьим цветовым компонентом, выбранным из радиального градиента.

x

Установите, какой компонент цвета будет представлен на оси X. Значение по умолчанию 1.

y

Установите, какой компонент цвета будет представлен на оси Y. Значение по умолчанию 2.

intensity, i

Установите интенсивность, используемую режимами: серый, цвет, цвет3 и цвет5 для увеличения яркости цветовой составляющей, которая представляет частоту положения (X, Y) на графике.

envelope, e
'none'

Нет конверта, это по умолчанию.

'instant'

Мгновенный конверт, даже самый темный одиночный пиксель будет четко выделен.

'peak'

Сохраняйте максимальные и минимальные значения, представленные на графике, с течением времени. Таким образом, вы все еще можете обнаружить значения вне диапазона, не глядя постоянно в вектороскоп.

'peak+instant'

Пиковая и мгновенная огибающая объединены вместе.

graticule, g

Установите, какую сетку рисовать.

'none'
'green'
'color'
'invert'
opacity, o

Установите непрозрачность сетки.

flags, f

Установите флаги сетки.

'white'

Нарисуйте сетку для белой точки.

'black'

Нарисуйте сетку для черной точки.

'name'

Нарисуйте короткие названия цветовых точек.

bgopacity, b

Установите прозрачность фона.

lthreshold, l

Установите нижний порог для компонента цвета, не представленного на оси X или Y. Значения ниже этого значения будут игнорироваться. По умолчанию 0. Обратите внимание, что это значение умножается на фактическое максимально возможное значение, которое может иметь один компонент пикселя. Таким образом, для 8-битного ввода и низкого порогового значения 0,1 фактический порог равен 0,1 * 255 = 25.

hthreshold, h

Установите высокий порог для компонента цвета, не представленного на оси X или Y. Значения выше этого значения будут игнорироваться. По умолчанию 1. Обратите внимание, что это значение умножается на фактическое максимально возможное значение, которое может иметь один компонент пикселя. Таким образом, для 8-битного ввода и высокого порогового значения 0,9 фактический порог равен 0,9 * 255 = 230.

colorspace, c

Установите, какое цветовое пространство использовать при рисовании сетки.

'auto'
'601'
'709'

По умолчанию — авто.

tint0, t0
tint1, t1

Установите оттенок цвета для режима серого/оттенка вектороскопа. По умолчанию оба параметра равны нулю. Это означает отсутствие оттенка, и вывод останется серым.

11.265 vidstabdetect

Проанализируйте стабилизацию/устранение тряски видео. Выполните проход 1 из 2, см. vidstabtransform для прохода 2.

Этот фильтр создает файл с информацией об относительном перемещении и вращении последующих кадров, который затем используется фильтром vidstabtransform .

Чтобы включить компиляцию этого фильтра, вам необходимо настроить FFmpeg с расширением --enable-libvidstab.

Этот фильтр принимает следующие параметры:

result

Установите путь к файлу, используемому для записи информации о преобразованиях. Значение по умолчаниюtransforms.trf.

shakiness

Установите, насколько дрожит видео и насколько быстро работает камера. Он принимает целое число в диапазоне от 1 до 10, значение 1 означает небольшую дрожь, значение 10 означает сильную дрожь. Значение по умолчанию — 5.

accuracy

Установите точность процесса обнаружения. Это должно быть значение в диапазоне 1-15. Значение 1 означает низкую точность, значение 15 означает высокую точность. Значение по умолчанию — 15.

stepsize

Установите размер шага процесса поиска. Область вокруг минимума сканируется с разрешением 1 пиксель. Значение по умолчанию — 6.

mincontrast

Установите минимальный контраст. Ниже этого значения поле локального измерения отбрасывается. Должно быть значением с плавающей запятой в диапазоне 0-1. Значение по умолчанию — 0,3.

tripod

Установите номер опорного кадра для режима штатива.

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

Если установлено значение 0, оно отключено. Кадры считаются, начиная с 1.

show

Показать поля и преобразования в результирующих кадрах. Он принимает целое число в диапазоне 0-2. Значение по умолчанию — 0, что отключает любую визуализацию.

11.265.1 Примеры

  • Используйте значения по умолчанию:
    vidstabdetect
    
  • Проанализируйте сильно дрожащий фильм и поместите результаты в файл mytransforms.trf:
    vidstabdetect=shakiness=10:accuracy=15:result="mytransforms.trf"
    
  • Визуализируйте результат внутренних преобразований в полученном видео:
    vidstabdetect=show=1
    
  • Проанализируйте видео со средней дрожью, используя ffmpeg:
    ffmpeg -i input -vf vidstabdetect=shakiness=5:show=1 dummy.avi
    

11.266 vidstabtransform

Стабилизация/устранение тряски видео: проход 2 из 2, см. vidstabdetect для прохода 1.

Прочитайте файл с информацией о преобразовании для каждого кадра и примените/компенсируйте их. Вместе с фильтром vidstabdetect это можно использовать для дешейкинга видео. См. также http://public.hronopik.de/vid.stab . Важно также использовать нерезкий фильтр, см. ниже.

Чтобы включить компиляцию этого фильтра, вам необходимо настроить FFmpeg с расширением --enable-libvidstab.

11.266.1 Опции

input

Установите путь к файлу, используемому для чтения преобразований. Значение по умолчанию transforms.trf.

smoothing

Установите количество кадров (значение*2 + 1), используемых для низкочастотной фильтрации движения камеры. Значение по умолчанию — 10.

Например, число 10 означает, что используется 21 кадр (10 в прошлом и 10 в будущем) для сглаживания движения в видео. Большее значение приводит к более плавному видео, но ограничивает ускорение камеры (движения панорамирования/наклона). 0 — это особый случай, когда моделируется статическая камера.

optalgo

Установите алгоритм оптимизации пути камеры.

Допустимые значения:

'gauss'

Фильтр нижних частот ядра Гаусса при движении камеры (по умолчанию)

'avg'

усреднение по преобразованиям

maxshift

Установите максимальное количество пикселей для перевода кадров. Значение по умолчанию равно -1, что означает отсутствие ограничений.

maxangle

Установите максимальный угол в радианах (градусы*PI/180) для поворота кадров. Значение по умолчанию равно -1, что означает отсутствие ограничений.

crop

Укажите, как поступать с границами, которые могут быть видны из-за компенсации движения.

Доступные значения:

'keep'

сохранить информацию об изображении из предыдущего кадра (по умолчанию)

'black'

заполнить границу черным цветом

invert

Инвертировать преобразования, если установлено значение 1. Значение по умолчанию — 0.

relative

Считайте преобразования относительно предыдущего кадра, если установлено значение 1, и абсолютное значение, если установлено значение 0. Значение по умолчанию — 0.

zoom

Установите процент для масштабирования. Положительное значение приведет к эффекту увеличения, отрицательное значение — к эффекту уменьшения. Значение по умолчанию — 0 (без масштабирования).

optzoom

Установите оптимальное масштабирование, чтобы избежать границ.

Допустимые значения:

'0'

инвалид

'1'

определено оптимальное значение статического увеличения (только очень сильные движения приведут к видимым границам) (по умолчанию)

'2'

определяется оптимальное значение адаптивного масштабирования (границы не будут видны), см.zoomspeed

Обратите внимание, что значение, указанное при масштабировании, добавляется к рассчитанному здесь.

zoomspeed

Установите процент для максимального масштабирования каждого кадра (доступно, когда optzoomустанавливается на 2). Диапазон от 0 до 5, значение по умолчанию 0,25.

interpol

Укажите тип интерполяции.

Доступные значения:

'no'

без интерполяции

'linear'

линейный только горизонтальный

'bilinear'

линейный в обоих направлениях (по умолчанию)

'bicubic'

кубический в обоих направлениях (медленный)

tripod

Включите режим виртуального штатива, если установлено значение 1, что эквивалентно relative=0:smoothing=0. Значение по умолчанию — 0.

Используйте также tripodопцию vidstabdetect .

debug

Увеличьте уровень детализации журнала, если установлено значение 1. Также обнаруженные глобальные движения записываются во временный файл.global_motions.trf. Значение по умолчанию — 0.

11.266.2 Примеры

  • Используйте ffmpegдля типичной стабилизации со значениями по умолчанию:
    ffmpeg -i inp.mpeg -vf vidstabtransform,unsharp=5:5:0.8:3:3:0.4 inp_stabilized.mpeg
    

    Обратите внимание на использование нерезкого фильтра, который всегда рекомендуется.

  • Увеличьте масштаб еще немного и загрузите данные преобразования из данного файла:
    vidstabtransform=zoom=5:input="mytransforms.trf"
    
  • Сгладьте видео еще больше:
    vidstabtransform=smoothing=30
    

11.267 vflip

Отразите входное видео по вертикали.

Например, чтобы перевернуть видео по вертикали с помощью ffmpeg:

ffmpeg -i in.avi -vf "vflip" out.avi

11.268 vfrdet

Обнаружение видео с переменной частотой кадров.

Этот фильтр пытается определить, является ли ввод переменной или постоянной частотой кадров.

В конце будет выведено количество кадров, обнаруженных как имеющие переменные дельта-точки, и кадры с постоянными дельта-точками. Если были кадры с переменной дельтой, то он также покажет минимальную, максимальную и среднюю дельту.

11.269 vibrance

Увеличьте или измените насыщенность.

Фильтр принимает следующие параметры:

intensity

Установите силу усиления, если значение положительное, или силу изменения, если значение отрицательное. По умолчанию 0. Допустимый диапазон от -2 до 2.

rbal

Установите баланс красного. По умолчанию 1. Допустимый диапазон от -10 до 10.

gbal

Установите баланс зеленого. По умолчанию 1. Допустимый диапазон от -10 до 10.

bbal

Установите баланс синего. По умолчанию 1. Допустимый диапазон от -10 до 10.

rlum

Установите коэффициент яркости красного цвета.

glum

Установите коэффициент яркости зеленого.

blum

Установите коэффициент яркости синего.

alternate

Если intensityзначение отрицательное и для него установлено значение 1, цвета изменятся, в противном случае цвета будут менее насыщенными, более серыми.

11.269.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .

11.270 vif

Получите среднее значение VIF (верность визуальной информации) между двумя входными видео.

Этот фильтр принимает два входных видео.

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

Полученная средняя оценка VIF распечатывается через систему регистрации.

Фильтр сохраняет рассчитанную оценку VIF для каждого кадра.

В приведенном ниже примере входной файлmain.mpgобрабатываемый файл сравнивается с эталонным файломref.mpg.

ffmpeg -i main.mpg -i ref.mpg -lavfi vif -f null -

11.271 vignette

Создание или изменение эффекта естественного виньетирования.

Фильтр принимает следующие параметры:

angle, a

Задайте выражение угла линзы как количество радианов.

Значение обрезается в [0,PI/2]диапазоне.

Значение по умолчанию:"PI/5"

x0
y0

Установите выражения координат центра. Соответственно "w/2"и "h/2" по умолчанию.

mode

Установить режим вперед/назад.

Доступные режимы:

'forward'

Чем больше расстояние от центральной точки, тем темнее становится изображение.

'backward'

Чем больше расстояние от центральной точки, тем ярче становится изображение. Это можно использовать для устранения эффекта виньетки, хотя автоматическое обнаружение извлечения линзы отсутствует.angleи другие настройки (пока). Его также можно использовать для создания эффекта горения.

Значение по умолчанию: 'forward'.

eval

Установите режим оценки для выражений (angle,x0,y0).

Он принимает следующие значения:

'init'

Вычисляйте выражения только один раз во время инициализации фильтра.

'frame'

Оцените выражения для каждого входящего кадра. Это намного медленнее, чем 'init', так как он требует пересчета всех масштабаторов, но позволяет использовать расширенные динамические выражения.

Значение по умолчанию: 'init'.

dither

Установите дизеринг, чтобы уменьшить эффект кольцевых полос. По умолчанию 1 (включено).

aspect

Установите соотношение сторон виньетки. Этот параметр позволяет настроить форму виньетки. Установка этого значения на SAR входа создаст прямоугольное виньетирование в соответствии с размерами видео.

Значение по умолчанию 1/1.

11.271.1 Выражения

The alpha,x0а такжеy0выражения могут содержать следующие параметры.

w
h

ввод ширины и высоты

n

номер входного кадра, начиная с 0

pts

время PTS (Presentation TimeStamp) отфильтрованного видеокадра, выраженное в TBединицах, NAN, если не определено

r

частота кадров входного видео, NAN, если частота кадров входного сигнала неизвестна

t

PTS (Presentation TimeStamp) отфильтрованного видеокадра, выраженное в секундах, NAN, если не определено

tb

временная база входного видео

11.271.2 Примеры

  • Примените простой сильный эффект виньетирования:
    vignette=PI/4
    
  • Сделайте мерцающее виньетирование:
    vignette='PI/4+random(1)*PI/50':eval=frame
    

11.272 vmafmotion

Получите средний показатель движения VMAF для видео. Это одна из составных метрик VMAF.

Полученная средняя оценка движения распечатывается через систему регистрации.

Фильтр принимает следующие параметры:

stats_file

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

Пример:

ffmpeg -i ref.mpg -vf vmafmotion -f null -

11.273 vstack

Стек входных видео по вертикали.

Все потоки должны иметь одинаковый формат пикселей и одинаковую ширину.

Обратите внимание, что этот фильтр работает быстрее, чем использование наложенного и подушечного фильтров для создания одного и того же вывода.

Фильтр принимает следующие параметры:

inputs

Установите количество входных потоков. По умолчанию 2.

shortest

Если установлено значение 1, принудительное завершение вывода при завершении кратчайшего ввода. Значение по умолчанию — 0.

11.274 w3fdif

Деинтерлейсинг входного видео («w3fdif» означает «Фильтр деинтерлейсинга полей Weston 3»).

На основе процесса, описанного Мартином Уэстоном для отдела исследований и разработок BBC, и реализованного на основе алгоритма деинтерлейсинга, написанного Джимом Истербруком для отдела исследований и разработок BBC, фильтр деинтерлейсинга полей Weston 3 использует коэффициенты фильтрации, рассчитанные отделом исследований и разработок BBC.

Этот фильтр использует информацию о доминировании полей во фрейме, чтобы решить, какое из каждой пары полей следует разместить первым в выходных данных. Если он ошибается, используйте фильтр setfield перед w3fdifфильтром.

Существует два набора коэффициентов фильтра, так называемые «простые» и «сложные». Какой набор коэффициентов фильтра используется, можно задать, передав необязательный параметр:

filter

Установите коэффициенты чересстрочного фильтра. Принимает одно из следующих значений:

'simple'

Простой набор коэффициентов фильтра.

'complex'

Более сложный набор коэффициентов фильтра.

Значение по умолчанию: 'complex'.

mode

Режим чересстрочной развертки для принятия. Он принимает одно из следующих значений:

frame

Выведите один кадр для каждого кадра.

field

Выведите по одному кадру для каждого поля.

Значение по умолчанию равно field.

parity

Четность поля изображения, предполагаемая для входного чересстрочного видео. Он принимает одно из следующих значений:

tff

Предположим, что верхнее поле является первым.

bff

Предположим, что нижнее поле является первым.

auto

Включите автоматическое определение четности полей.

Значение по умолчанию равно auto. Если чередование неизвестно или декодер не экспортирует эту информацию, сначала предполагается верхнее поле.

deint

Укажите, какие кадры следует деинтерлейсировать. Принимает одно из следующих значений:

'all'

Деинтерлейс всех кадров,

'interlaced'

Только деинтерлейсные кадры, помеченные как чересстрочные.

Значение по умолчанию: 'all'.

11.274.1 Команды

Этот фильтр поддерживает те же команды , что и параметры.

11.275 waveform

Видеомонитор осциллограммы.

Монитор формы сигнала отображает интенсивность цветового компонента. По умолчанию только яркость. Каждый столбец формы волны соответствует столбцу пикселей в исходном видео.

Он принимает следующие параметры:

mode, m

Можно или row, или column. Значение по умолчанию column. В режиме строки диаграмма с левой стороны представляет значение компонента цвета 0, а справа представляет значение = 255. В режиме столбца верхняя сторона представляет значение компонента цвета = 0, а нижняя сторона представляет значение = 255.

intensity, i

Установите интенсивность. Меньшие значения полезны, чтобы узнать, сколько значений одной и той же яркости распределено по входным строкам/столбцам. Значение по умолчанию 0.04. Допустимый диапазон: [0, 1].

mirror, r

Установите режим зеркального отображения. 0значит незеркальный, 1значит зеркальный. В зеркальном режиме более высокие значения будут представлены слева для rowрежима и вверху для columnрежима. По умолчанию 1(зеркально).

display, d

Установите режим отображения. Он принимает следующие значения:

'overlay'

Представляет информацию, идентичную представленной в parade, за исключением того, что графики, представляющие компоненты цвета, накладываются непосредственно друг на друга.

Этот режим отображения облегчает обнаружение относительных различий или сходств в перекрывающихся областях цветовых компонентов, которые должны быть идентичными, таких как нейтральные белые, серые или черные цвета.

'stack'

Отображение отдельного графика для цветовых компонентов рядом в rowрежиме или один под другим в columnрежиме.

'parade'

Отображение отдельного графика для цветовых компонентов рядом в columnрежиме или один под другим в rowрежиме.

Использование этого режима отображения позволяет легко определять цветовые оттенки в светлых и темных участках изображения путем сравнения контуров верхнего и нижнего графиков каждой формы сигнала. Поскольку белые, серые и черные цвета характеризуются точно равными количествами красного, зеленого и синего, нейтральные области изображения должны отображать три формы волны примерно одинаковой ширины/высоты. Если нет, то коррекцию легко выполнить, отрегулировав уровни трех сигналов.

Значение по умолчанию stack.

components, c

Установите, какие компоненты цвета отображать. Значение по умолчанию — 1, что означает только яркость или компонент красного цвета, если вход находится в цветовом пространстве RGB. Например, если установлено значение 7, будут отображаться все 3 (если) доступных цветовых компонента.

envelope, e
'none'

Нет конверта, это по умолчанию.

'instant'

Мгновенный конверт, минимальные и максимальные значения, представленные на графике, будут хорошо видны даже при небольшом stepзначении.

'peak'

Удерживайте минимальные и максимальные значения, представленные на графике во времени. Таким образом, вы все еще можете обнаружить значения вне диапазона, не глядя постоянно на осциллограммы.

'peak+instant'

Пиковая и мгновенная огибающая объединены вместе.

filter, f
'lowpass'

Без фильтрации, это по умолчанию.

'flat'

Яркость и цветность объединены вместе.

'aflat'

Аналогично предыдущему, но показывает разницу между синей и красной цветностью.

'xflat'

Аналогично предыдущему, но используйте другие цвета.

'yflat'

То же, что и выше, но опять же с другими цветами.

'chroma'

Отображает только цветность.

'color'

Отображает фактическое значение цвета на осциллограмме.

'acolor'

Аналогично предыдущему, но с яркостью, показывающей частоту значений цветности.

graticule, g

Установите, какую масштабную сетку отображать.

'none'

Не отображать масштабную сетку.

'green'

Отображение зеленой шкалы, показывающей разрешенные диапазоны вещания.

'orange'

Отображение оранжевой сетки, показывающей разрешенные диапазоны вещания.

'invert'

Показать инвертированную сетку, показывающую допустимые диапазоны вещания.

opacity, o

Установите непрозрачность сетки.

flags, fl

Установите флаги сетки.

'numbers'

Нарисуйте цифры над линиями. По умолчанию включено.

'dots'

Рисуйте точки вместо линий.

scale, s

Установите масштаб, используемый для отображения масштабной сетки.

'digital'
'millivolts'
'ire'

По умолчанию цифровой.

bgopacity, b

Установите прозрачность фона.

tint0, t0
tint1, t1

Установите оттенок для вывода. Используется только с фильтром нижних частот и когда отображение не является наложенным, а форматы входных пикселей не RGB.

fitmode, fm

Установите образец соотношения сторон выходных видеокадров. Может использоваться для настройки формы волны, чтобы она не слишком сильно растягивалась в одном из направлений.

'none'

Установите соотношение сторон образца на 1/1.

'size'

Установите соотношение сторон образца, чтобы оно соответствовало входному размеру видео.

По умолчанию 'none'.

11.276 weave, doubleweave

Он weaveпринимает видеовход на основе полей и объединяет каждые два последовательных поля в один кадр, создавая новый клип двойной высоты с вдвое меньшей частотой кадров и вдвое меньшим количеством кадров.

doubleweaveРаботает так же, weaveно без уменьшения вдвое частоты кадров и количества кадров .

Он принимает следующий вариант:

first_field

Установите первое поле. Доступные значения:

'top, t'

Установите кадр как верхнее поле первым.

'bottom, b'

Установите кадр как нижнее поле вперед.

11.276.1 Примеры

11.277 xbr

Примените высококачественный фильтр увеличения xBR, разработанный для пиксельной графики. Он следует набору правил обнаружения границ, см . https://forums.libretro.com/t/xbr-algorithm-tutorial/123 .

Он принимает следующий вариант:

n

Установите размерность масштабирования: 2для 2xBR, 3для 3xBRи 4для 4xBR. Значение по умолчанию 3.

11.278 xcorrelate

Примените нормализованную взаимную корреляцию между первым и вторым входным видеопотоком.

Размеры второго входного видеопотока должны быть меньше, чем у первого входного видеопотока.

Фильтр принимает следующие параметры:

planes

Установите, какие плоскости обрабатывать.

secondary

Укажите, какие вторичные видеокадры будут обрабатываться из второго входного видеопотока, это может быть firstили all. Значение по умолчанию all.

Фильтр xcorrelateтакже поддерживает параметры синхронизации кадров .

11.279 xfade

Примените перекрестное затухание от одного входного видеопотока к другому входному видеопотоку. Перекрестное затухание применяется в течение заданного времени.

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

Фильтр принимает следующие параметры:

transition

Установите один из доступных эффектов перехода:

'custom'
'fade'
'wipeleft'
'wiperight'
'wipeup'
'wipedown'
'slideleft'
'slideright'
'slideup'
'slidedown'
'circlecrop'
'rectcrop'
'distance'
'fadeblack'
'fadewhite'
'radial'
'smoothleft'
'smoothright'
'smoothup'
'smoothdown'
'circleopen'
'circleclose'
'vertopen'
'vertclose'
'horzopen'
'horzclose'
'dissolve'
'pixelize'
'diagtl'
'diagtr'
'diagbl'
'diagbr'
'hlslice'
'hrslice'
'vuslice'
'vdslice'
'hblur'
'fadegrays'
'wipetl'
'wipetr'
'wipebl'
'wipebr'
'squeezeh'
'squeezev'
'zoomin'
'fadefast'
'fadeslow'

Эффект перехода по умолчанию — затухание.

duration

Установите продолжительность плавного перехода в секундах. Диапазон от 0 до 60 секунд. Длительность по умолчанию составляет 1 секунду.

offset

Установить начало плавного перехода относительно первого входного потока в секундах. Смещение по умолчанию равно 0.

expr

Установите выражение для пользовательского эффекта перехода.

В выражениях могут использоваться следующие переменные и функции:

X
Y

Координаты текущего образца.

W
H

Ширина и высота изображения.

P

Прогресс эффекта перехода.

PLANE

На данный момент обрабатывается самолет.

A

Возвращает значение первого ввода в текущем местоположении и плоскости.

B

Возвращаемое значение второго входа в текущем местоположении и плоскости.

a0(x, y)
a1(x, y)
a2(x, y)
a3(x, y)

Возвращает значение пикселя в местоположении ( x, y) первого/второго/третьего/четвертого компонента первого ввода.

b0(x, y)
b1(x, y)
b2(x, y)
b3(x, y)

Возвращает значение пикселя в месте ( x, y) первого/второго/третьего/четвертого компонента второго ввода.

11.279.1 Примеры

  • Перекрестное затухание от одного входного видео к другому входному видео с плавным переходом и продолжительностью перехода 2 секунды, начиная со смещения 5 секунд:
    ffmpeg -i first.mp4 -i second.mp4 -filter_complex xfade=transition=fade:duration=2:offset=5 output.mp4
    

11.280 xmedian

Выберите средние пиксели из нескольких входных видео.

Фильтр принимает следующие параметры:

inputs

Установить количество входов. По умолчанию 3. Допустимый диапазон от 3 до 255. Если количество входов четное, результатом будет среднее значение между двумя медианными значениями.

planes

Установите, какие самолеты фильтровать. Значение по умолчанию равно 15, по которому обрабатываются все плоскости.

percentile

Установите средний процентиль. Значение по умолчанию 0.5. Значение по умолчанию 0.5всегда будет выбирать средние значения, тогда как 0будут выбираться минимальные значения и 1максимальные значения.

11.280.1 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд , за исключением параметра inputs.

11.281 xstack

Сложите видеовходы в пользовательский макет.

Все потоки должны иметь одинаковый формат пикселей.

Фильтр принимает следующие параметры:

inputs

Установите количество входных потоков. По умолчанию 2.

layout

Укажите расположение входов. Этот параметр требует, чтобы желаемая конфигурация макета была явно задана пользователем. Это устанавливает положение каждого видеовхода на выходе. Каждый вход отделяется символом «|». Первое число представляет столбец, а второе число представляет строку. Числа начинаются с 0 и разделяются символом «_». Опционально можно использовать wX и hX, где X — видеовход, из которого берется ширина или высота. Можно использовать несколько значений, разделенных знаком «+». В этом случае значения суммируются.

Обратите внимание, что если входы имеют разные размеры, могут появиться пробелы, так как не весь выходной видеокадр будет заполнен. Точно так же видео могут накладываться друг на друга, если их положение не оставляет достаточно места для полного кадра соседних видео.

Для 2 входов устанавливается раскладка по умолчанию 0_0|w0_0(эквивалентная grid=2x1). Во всех остальных случаях макет или сетка должны быть установлены пользователем. Либо gridили layoutможно указать за один раз. Указание обоих приведет к ошибке.

grid

Задайте сетку фиксированного размера входных данных. Эта опция используется для создания сетки фиксированного размера входных потоков. Задайте размер сетки в форме COLUMNSxROWS. Должны быть ROWS * COLUMNS входные потоки, и они будут организованы в виде сетки со ROWSстроками и COLUMNSстолбцами. При использовании этого параметра каждый входной поток в строке должен иметь одинаковую высоту, а все строки должны иметь одинаковую ширину.

Если gridустановлено, то inputsопция игнорируется и неявно устанавливается в ROWS * COLUMNS.

Для 2 входов устанавливается сетка по умолчанию 2x1(эквивалентная layout=0_0|w0_0). Во всех остальных случаях макет или сетка должны быть установлены пользователем. Либо gridили layoutможно указать за один раз. Указание обоих приведет к ошибке.

shortest

Если установлено значение 1, принудительное завершение вывода при завершении кратчайшего ввода. Значение по умолчанию — 0.

fill

Если установлен допустимый цвет, все неиспользуемые пиксели будут заполнены этим цветом. По умолчанию fill установлено значение none, поэтому оно отключено.

11.281.1 Примеры

  • Отобразите 4 входа в сетку 2x2.

    Макет:

    input1(0, 0)  | input3(w0, 0)
    input2(0, h0) | input4(w0, h0)
    
    xstack=inputs=4:layout=0_0|0_h0|w0_0|w0_h0
    

    Обратите внимание, что если входные данные имеют разный размер, могут возникнуть пробелы или перекрытия.

  • Отобразите 4 входа в сетку 1x4.

    Макет:

    input1(0, 0)
    input2(0, h0)
    input3(0, h0+h1)
    input4(0, h0+h1+h2)
    
    xstack=inputs=4:layout=0_0|0_h0|0_h0+h1|0_h0+h1+h2
    

    Обратите внимание, что если входы имеют разную ширину, появится неиспользуемое пространство.

  • Отображение 9 входов в сетке 3x3.

    Макет:

    input1(0, 0)       | input4(w0, 0)      | input7(w0+w3, 0)
    input2(0, h0)      | input5(w0, h0)     | input8(w0+w3, h0)
    input3(0, h0+h1)   | input6(w0, h0+h1)  | input9(w0+w3, h0+h1)
    
    xstack=inputs=9:layout=0_0|0_h0|0_h0+h1|w0_0|w0_h0|w0_h0+h1|w0+w3_0|w0+w3_h0|w0+w3_h0+h1
    

    Обратите внимание, что если входные данные имеют разный размер, могут возникнуть пробелы или перекрытия.

  • Отображение 16 входов в сетке 4x4.

    Макет:

    input1(0, 0)       | input5(w0, 0)       | input9 (w0+w4, 0)       | input13(w0+w4+w8, 0)
    input2(0, h0)      | input6(w0, h0)      | input10(w0+w4, h0)      | input14(w0+w4+w8, h0)
    input3(0, h0+h1)   | input7(w0, h0+h1)   | input11(w0+w4, h0+h1)   | input15(w0+w4+w8, h0+h1)
    input4(0, h0+h1+h2)| input8(w0, h0+h1+h2)| input12(w0+w4, h0+h1+h2)| input16(w0+w4+w8, h0+h1+h2)
    
    xstack=inputs=16:layout=0_0|0_h0|0_h0+h1|0_h0+h1+h2|w0_0|w0_h0|w0_h0+h1|w0_h0+h1+h2|w0+w4_0|
    w0+w4_h0|w0+w4_h0+h1|w0+w4_h0+h1+h2|w0+w4+w8_0|w0+w4+w8_h0|w0+w4+w8_h0+h1|w0+w4+w8_h0+h1+h2
    

    Обратите внимание, что если входные данные имеют разный размер, могут возникнуть пробелы или перекрытия.

11.282 yadif

Деинтерлейсинг входного видео («yadif» означает «еще один фильтр деинтерлейсинга»).

Он принимает следующие параметры:

mode

Режим чересстрочной развертки для принятия. Он принимает одно из следующих значений:

0, send_frame

Выведите один кадр для каждого кадра.

1, send_field

Выведите по одному кадру для каждого поля.

2, send_frame_nospatial

Вроде send_frame, но пропускает проверку пространственного чередования.

3, send_field_nospatial

Вроде send_field, но пропускает проверку пространственного чередования.

Значение по умолчанию равно send_frame.

parity

Четность поля изображения, предполагаемая для входного чересстрочного видео. Он принимает одно из следующих значений:

0, tff

Предположим, что верхнее поле является первым.

1, bff

Предположим, что нижнее поле является первым.

-1, auto

Включите автоматическое определение четности полей.

Значение по умолчанию равно auto. Если чередование неизвестно или декодер не экспортирует эту информацию, сначала предполагается верхнее поле.

deint

Укажите, какие кадры следует деинтерлейсировать. Принимает одно из следующих значений:

0, all

Деинтерлейсировать все кадры.

1, interlaced

Только деинтерлейсные кадры, помеченные как чересстрочные.

Значение по умолчанию равно all.

11.283 yadif_cuda

Деинтерлейс входного видео с использованием алгоритма yadif , но реализованного в CUDA, чтобы оно могло работать как часть конвейера с ускорением графического процессора с nvdec и/или nvenc.

Он принимает следующие параметры:

mode

Режим чересстрочной развертки для принятия. Он принимает одно из следующих значений:

0, send_frame

Выведите один кадр для каждого кадра.

1, send_field

Выведите по одному кадру для каждого поля.

2, send_frame_nospatial

Вроде send_frame, но пропускает проверку пространственного чередования.

3, send_field_nospatial

Вроде send_field, но пропускает проверку пространственного чередования.

Значение по умолчанию равно send_frame.

parity

Четность поля изображения, предполагаемая для входного чересстрочного видео. Он принимает одно из следующих значений:

0, tff

Предположим, что верхнее поле является первым.

1, bff

Предположим, что нижнее поле является первым.

-1, auto

Включите автоматическое определение четности полей.

Значение по умолчанию равно auto. Если чередование неизвестно или декодер не экспортирует эту информацию, сначала предполагается верхнее поле.

deint

Укажите, какие кадры следует деинтерлейсировать. Принимает одно из следующих значений:

0, all

Деинтерлейсировать все кадры.

1, interlaced

Только деинтерлейсные кадры, помеченные как чересстрочные.

Значение по умолчанию равно all.

11.284 yaepblur

Примените фильтр размытия, сохраняя края («yaepblur» означает «еще один фильтр размытия, сохраняющий края»). Алгоритм описан в "JS Lee, Улучшение цифрового изображения и фильтрация шума с использованием локальной статистики, IEEE Trans. Pattern Anal. Mach. Intell. PAMI-2, 1980".

Он принимает следующие параметры:

radius, r

Установите радиус окна. Значение по умолчанию — 3.

planes, p

Установите, какие самолеты фильтровать. По умолчанию только первая плоскость.

sigma, s

Установить силу размытия. Значение по умолчанию — 128.

11.284.1 Команды

Этот фильтр поддерживает те же команды , что и параметры.

11.285 zoompan

Примените эффект масштабирования и панорамирования.

Этот фильтр принимает следующие параметры:

zoom, z

Установите выражение масштабирования. Диапазон 1-10. По умолчанию 1.

x
y

Установите выражение x и y. По умолчанию 0.

d

Установите выражение длительности в количестве кадров. Это устанавливает, сколько кадров будет длиться эффект для одного входного изображения. По умолчанию 90.

s

Установите размер выходного изображения, по умолчанию «hd720».

fps

Установите выходную частоту кадров, по умолчанию «25».

Каждое выражение может содержать следующие константы:

in_w, iw

Ширина ввода.

in_h, ih

Введите высоту.

out_w, ow

Выходная ширина.

out_h, oh

Выходная высота.

in

Количество входных кадров.

on

Количество выходных кадров.

in_time, it

Входная метка времени, выраженная в секундах. Это NAN, если отметка времени ввода неизвестна.

out_time, time, ot

Отметка времени вывода, выраженная в секундах.

x
y

Последнее вычисленное положение «x» и «y» из выражения «x» и «y» для текущего входного кадра.

px
py

'x' и 'y' последнего выходного кадра предыдущего входного кадра или 0, если такого кадра еще не было (первый входной кадр).

zoom

Последнее рассчитанное масштабирование по выражению 'z' для текущего входного кадра.

pzoom

Последнее вычисленное масштабирование последнего выходного кадра предыдущего входного кадра.

duration

Количество выходных кадров для текущего входного кадра. Вычисляется из выражения «d» для каждого входного кадра.

pduration

количество выходных кадров, созданных для предыдущего входного кадра

a

Рациональное число: ширина ввода/высота ввода

sar

соотношение сторон образца

dar

соотношение сторон дисплея

11.285.1 Примеры

  • Увеличение до 1,5x и одновременное панорамирование в какое-то место рядом с центром изображения:
    zoompan=z='min(zoom+0.0015,1.5)':d=700:x='if(gte(zoom,1.5),x,x+1/a)':y='if(gte(zoom,1.5),y,y+1)':s=640x360
    
  • Увеличение до 1,5x и панорамирование всегда в центре изображения:
    zoompan=z='min(zoom+0.0015,1.5)':d=700:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)'
    
  • То же, что и выше, но без паузы:
    zoompan=z='min(max(zoom,pzoom)+0.0015,1.5)':d=1:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)'
    
  • Увеличьте 2x в центре изображения только для первой секунды входного видео:
    zoompan=z='if(between(in_time,0,1),2,1)':d=1:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)'
    

11.286 zscale

Масштабируйте (измените размер) входное видео, используя библиотеку z.lib: https://github.com/sekrit-twc/zimg . Чтобы включить компиляцию этого фильтра, вам нужно настроить FFmpeg с расширением --enable-libzimg.

Фильтр zscale заставляет соотношение сторон выходного дисплея быть таким же, как и входное, путем изменения соотношения сторон выходного образца.

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

11.286.1 Опции

Фильтр принимает следующие параметры.

width, w
height, h

Установите выражение размера выходного видео. Значение по умолчанию — входное измерение.

Если значение widthили wравно 0, входная ширина используется для вывода. Если значение heightили hравно 0, входная высота используется для вывода.

Если одно и только одно из значений равно -n с n >= 1, фильтр zscale будет использовать значение, поддерживающее соотношение сторон входного изображения, рассчитанное на основе другого указанного измерения. Однако после этого он проверит, что вычисленное измерение делится на n, и при необходимости скорректирует значение.

Если оба значения равны -n с n >= 1, поведение будет идентичным обоим значениям, установленным равным 0, как описано ранее.

См. ниже список допустимых констант для использования в выражении измерения.

size, s

Установите размер видео. Синтаксис этого параметра см. в разделе (ffmpeg-utils) «Размер видео» в руководстве по ffmpeg-utils .

dither, d

Установите тип дизеринга.

Возможные значения:

none
ordered
random
error_diffusion

По умолчанию нет.

filter, f

Установите тип фильтра изменения размера.

Возможные значения:

point
bilinear
bicubic
spline16
spline36
lanczos

По умолчанию билинейный.

range, r

Установите цветовой диапазон.

Возможные значения:

input
limited
full

По умолчанию то же, что и ввод.

primaries, p

Установите основные цвета.

Возможные значения:

input
709
unspecified
170m
240m
2020

По умолчанию то же, что и ввод.

transfer, t

Установите характеристики передачи.

Возможные значения:

input
709
unspecified
601
linear
2020_10
2020_12
smpte2084
iec61966-2-1
arib-std-b67

По умолчанию то же, что и ввод.

matrix, m

Установите матрицу цветового пространства.

Возможные значения:

input
709
unspecified
470bg
170m
2020_ncl
2020_cl

По умолчанию то же, что и ввод.

rangein, rin

Установите диапазон входного цвета.

Возможные значения:

input
limited
full

По умолчанию то же, что и ввод.

primariesin, pin

Установите основные цвета ввода.

Возможные значения:

input
709
unspecified
170m
240m
2020

По умолчанию то же, что и ввод.

transferin, tin

Установите входные передаточные характеристики.

Возможные значения:

input
709
unspecified
601
linear
2020_10
2020_12

По умолчанию то же, что и ввод.

matrixin, min

Установите входную матрицу цветового пространства.

Возможные значения:

input
709
unspecified
470bg
170m
2020_ncl
2020_cl
chromal, c

Установите местоположение выходной цветности.

Возможные значения:

input
left
center
topleft
top
bottomleft
bottom
chromalin, cin

Установите местоположение входной цветности.

Возможные значения:

input
left
center
topleft
top
bottomleft
bottom
npl

Установите номинальную пиковую яркость.

param_a

Параметр A для масштабирования фильтров. Параметр «b» для бикубического и количество отводов фильтра для ланцоша.

param_b

Параметр B для масштабирования фильтров. Параметр "c" для бикубического.

Значенияwа такжеhoptions — это выражения, содержащие следующие константы:

in_w
in_h

Ширина и высота ввода

iw
ih

Это такие же, как in_wи in_h.

out_w
out_h

Выходная (масштабированная) ширина и высота

ow
oh

Это такие же out_wиout_h

a

То же, что iw/ih

sar

соотношение сторон входного образца

dar

Соотношение сторон входного дисплея. Рассчитано из (iw / ih) * sar.

hsub
vsub

горизонтальные и вертикальные входные значения подвыборки цветности. Например, для формата пикселей «yuv422p» hsubравно 2 и vsubравно 1.

ohsub
ovsub

горизонтальные и вертикальные выходные значения цветности подвыборки. Например, для формата пикселей «yuv422p» hsubравно 2 и vsubравно 1.

11.286.2 Команды

Этот фильтр поддерживает следующие команды:

width, w
height, h

Установите выражение размера выходного видео. Команда принимает тот же синтаксис соответствующей опции.

Если указанное выражение недействительно, оно сохраняется в своем текущем значении.

12 видеофильтров OpenCL

Ниже приведено описание доступных на данный момент видеофильтров OpenCL.

Чтобы включить компиляцию этих фильтров, вам необходимо настроить FFmpeg с расширением --enable-opencl.

Запуск фильтров OpenCL требует инициализации аппаратного устройства и передачи этого устройства всем фильтрам в любом графе фильтров.

-init_hw_device opencl[=name][:device[,key=value...]]

Инициализируйте новое аппаратное устройство типа с openclименем name, используя заданные параметры устройства.

-filter_hw_device name

Передайте вызываемое аппаратное устройство nameвсем фильтрам в любом графе фильтров.

Для получения более подробной информации см. https://www.ffmpeg.org/ffmpeg.html#Advanced-Video-options .

  • Пример выбора первого устройства на второй платформе и запуска на нем фильтра avgblur_opencl с параметрами по умолчанию.
    -init_hw_device opencl=gpu:1.0 -filter_hw_device gpu -i INPUT -vf "hwupload, avgblur_opencl, hwdownload" OUTPUT
    

Поскольку фильтры OpenCL не могут получить доступ к данным кадра в обычной памяти, все данные кадра перед использованием необходимо загрузить ( hwupload ) на аппаратные поверхности, подключенные к соответствующему устройству, а затем загрузить ( hwdownload ) обратно в обычную память. Обратите внимание, что hwupload будет загружаться на поверхность с тем же макетом, что и программный фрейм, поэтому может потребоваться добавить фильтр формата непосредственно перед вводом в правильном формате, а hwdownload не поддерживает все форматы на выходе — это может необходимо вставить дополнительный фильтр формата сразу после графика, чтобы получить вывод в поддерживаемом формате.

12.1 avgblur_opencl

Примените фильтр среднего размытия.

Фильтр принимает следующие параметры:

sizeX

Установите размер горизонтального радиуса. Диапазон [1, 1024]и значение по умолчанию 1.

planes

Установите, какие самолеты фильтровать. Значение по умолчанию равно 0xf, по которому обрабатываются все плоскости.

sizeY

Установите размер вертикального радиуса. Диапазон [1, 1024]и значение по умолчанию 0. Если ноль, sizeXбудет использоваться значение.

12.1.1 Пример

  • Примените фильтр среднего размытия с горизонтальным и вертикальным размером 3, установив для каждого пикселя вывода среднее значение области 7x7 с центром на нем во входных данных. Для пикселей по краям изображения область не выходит за границы изображения, поэтому в расчетах не используются координаты вне допустимого диапазона.
    -i INPUT -vf "hwupload, avgblur_opencl=3, hwdownload" OUTPUT
    

12.2 boxblur_opencl

Примените алгоритм boxblur к входному видео.

Он принимает следующие параметры:

luma_radius, lr
luma_power, lp
chroma_radius, cr
chroma_power, cp
alpha_radius, ar
alpha_power, ap

Далее следует описание принятых опций.

luma_radius, lr
chroma_radius, cr
alpha_radius, ar

Установите выражение для радиуса окна в пикселях, используемого для размытия соответствующей входной плоскости.

Значение радиуса должно быть неотрицательным числом и не должно превышать значение выражения min(w,h)/2для плоскостей яркости и альфа, а min(cw,ch)/2также для плоскостей цветности.

Значение по умолчанию дляluma_radiusэто "2". Если не указано, chroma_radiusа такжеalpha_radiusпо умолчанию соответствует соответствующему набору значений дляluma_radius.

Выражения могут содержать следующие константы:

w
h

Вводимая ширина и высота в пикселях.

cw
ch

Ширина и высота входного изображения цветности в пикселях.

hsub
vsub

Значения подвыборки цветности по горизонтали и вертикали. Например, для формата пикселей «yuv422p» hsubэто 2 и vsub1.

luma_power, lp
chroma_power, cp
alpha_power, ap

Укажите, сколько раз фильтр boxblur применяется к соответствующей плоскости.

Значение по умолчанию дляluma_powerравно 2. Если не указано, chroma_powerа такжеalpha_powerпо умолчанию соответствует соответствующему набору значений дляluma_power.

Значение 0 отключит эффект.

12.2.1 Примеры

Примените фильтр boxblur, установив для каждого пикселя вывода среднее значение box-radius luma_radius, chroma_radius, alpha_radiusдля каждой плоскости соответственно. Фильтр будет применен luma_power, chroma_power, alpha_powerраз к соответствующей плоскости. Для пикселей по краям изображения радиус не выходит за границы изображения, поэтому в расчетах не используются координаты вне допустимого диапазона.

  • Примените фильтр boxblur с яркостью, цветностью и альфа-радиусом, установленными на 2, и яркостью, цветностью и альфа-силой, установленными на 3. Фильтр будет запускаться 3 раза с квадратным радиусом, установленным на 2, для каждой плоскости изображения.
    -i INPUT -vf "hwupload, boxblur_opencl=luma_radius=2:luma_power=3, hwdownload" OUTPUT
    -i INPUT -vf "hwupload, boxblur_opencl=2:3, hwdownload" OUTPUT
    
  • Примените фильтр boxblur с радиусом яркости, установленным на 2, luma_power на 1, chroma_radius на 4, chroma_power на 5, alpha_radius на 3 и alpha_power на 7.

    Для плоскости яркости радиус окна 2x2 будет выполнен один раз.

    Для плоскости цветности радиус прямоугольника 4x4 будет запущен 5 раз.

    Для альфа-плоскости радиус прямоугольника 3x3 будет запущен 7 раз.

    -i INPUT -vf "hwupload, boxblur_opencl=2:1:4:5:3:7, hwdownload" OUTPUT
    

12.3 colorkey_opencl

Цветовая манипуляция цветового пространства RGB.

Фильтр принимает следующие параметры:

color

Цвет, который будет заменен прозрачностью.

similarity

Процент сходства с ключевым цветом.

0.01 соответствует только точному цвету ключа, а 1.0 соответствует всему.

blend

Процент смеси.

0.0 делает пиксели либо полностью прозрачными, либо непрозрачными вовсе.

Более высокие значения приводят к полупрозрачным пикселям, причем чем выше прозрачность, тем больше цвет пикселя похож на ключевой цвет.

12.3.1 Примеры

  • Сделайте каждый полузеленый пиксель на входе прозрачным с небольшим смешиванием:
    -i INPUT -vf "hwupload, colorkey_opencl=green:0.3:0.1, hwdownload" OUTPUT
    

12.4 convolution_opencl

Примените свертку матрицы 3x3, 5x5, 7x7.

Фильтр принимает следующие параметры:

0m
1m
2m
3m

Установите матрицу для каждой плоскости. Матрица представляет собой последовательность из 9, 25 или 49 чисел со знаком. Значение по умолчанию для каждой плоскости 0 0 0 0 1 0 0 0 0.

0rdiv
1rdiv
2rdiv
3rdiv

Установите множитель для расчетного значения для каждой плоскости. Если не установлено или равно 0, это будет сумма всех элементов матрицы. Значение параметра должно быть числом с плавающей запятой, большим или равным 0.0. Значение по умолчанию 1.0.

0bias
1bias
2bias
3bias

Установите смещение для каждой плоскости. Это значение добавляется к результату умножения. Полезно для того, чтобы сделать общее изображение ярче или темнее. Значение параметра должно быть числом с плавающей запятой, большим или равным 0.0. Значение по умолчанию 0.0.

12.4.1 Примеры

  • Применить резкость:
    -i INPUT -vf "hwupload, convolution_opencl=0 -1 0 -1 5 -1 0 -1 0:0 -1 0 -1 5 -1 0 -1 0:0 -1 0 -1 5 -1 0 -1 0:0 -1 0 -1 5 -1 0 -1 0, hwdownload" OUTPUT
    
  • Применить размытие:
    -i INPUT -vf "hwupload, convolution_opencl=1 1 1 1 1 1 1 1 1:1 1 1 1 1 1 1 1 1:1 1 1 1 1 1 1 1 1:1 1 1 1 1 1 1 1 1:1/9:1/9:1/9:1/9, hwdownload" OUTPUT
    
  • Применить усиление краев:
    -i INPUT -vf "hwupload, convolution_opencl=0 0 0 -1 1 0 0 0 0:0 0 0 -1 1 0 0 0 0:0 0 0 -1 1 0 0 0 0:0 0 0 -1 1 0 0 0 0:5:1:1:1:0:128:128:128, hwdownload" OUTPUT
    
  • Применить обнаружение края:
    -i INPUT -vf "hwupload, convolution_opencl=0 1 0 1 -4 1 0 1 0:0 1 0 1 -4 1 0 1 0:0 1 0 1 -4 1 0 1 0:0 1 0 1 -4 1 0 1 0:5:5:5:1:0:128:128:128, hwdownload" OUTPUT
    
  • Примените лапласианский детектор границ, который включает диагонали:
    -i INPUT -vf "hwupload, convolution_opencl=1 1 1 1 -8 1 1 1 1:1 1 1 1 -8 1 1 1 1:1 1 1 1 -8 1 1 1 1:1 1 1 1 -8 1 1 1 1:5:5:5:1:0:128:128:0, hwdownload" OUTPUT
    
  • Применить тиснение:
    -i INPUT -vf "hwupload, convolution_opencl=-2 -1 0 -1 1 1 0 1 2:-2 -1 0 -1 1 1 0 1 2:-2 -1 0 -1 1 1 0 1 2:-2 -1 0 -1 1 1 0 1 2, hwdownload" OUTPUT
    

12.5 erosion_opencl

Примените эффект эрозии к видео.

Этот фильтр заменяет пиксель локальным (3x3) минимумом.

Он принимает следующие параметры:

threshold0
threshold1
threshold2
threshold3

Ограничьте максимальное изменение для каждой плоскости. Диапазон [0, 65535]и значение по умолчанию 65535. Если 0, плоскость останется неизменной.

coordinates

Флаг, указывающий пиксель, на который следует ссылаться. Диапазон равен, [0, 255]а значение по умолчанию равно 255, т. е. используются все восемь пикселей.

Отметки для области с локальными координатами 3x3 с центром в x:

1 2 3

4 х 5

6 7 8

12.5.1 Пример

  • Примените фильтр эрозии с порогом 0, установленным на 30, порогом 1, установленным на 40, порогом 2, установленным на 50, и координатами, установленными на 231, установив каждый пиксель вывода на локальный минимум между пикселями: 1, 2, 3, 6, 7, 8 из 3x3 область с центром на нем во входных данных. Если разница между входным пикселем и локальным минимумом больше порога соответствующей плоскости, выходному пикселю будет присвоено значение входного пикселя - порог соответствующей плоскости.
    -i INPUT -vf "hwupload, erosion_opencl=30:40:50:coordinates=231, hwdownload" OUTPUT
    

12.6 deshake_opencl

Фильтр стабилизации видео на основе характерных точек.

Фильтр принимает следующие параметры:

tripod

Имитирует штатив, предотвращая любое движение камеры относительно исходного кадра. По умолчанию 0.

debug

Должна ли отображаться дополнительная отладочная информация как в обработанном выводе, так и в консоли.

Обратите внимание, что для просмотра вывода отладки консоли вам также потребуется перейти -v verboseк ffmpeg.

Совпадения точек просмотра в выходном видео поддерживаются только для входа RGB.

По умолчанию 0.

adaptive_crop

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

По умолчанию 1.

refine_features

Должны ли характерные точки уточняться на уровне субпикселей.

Это можно отключить для небольшого увеличения производительности за счет точности.

По умолчанию 1.

smooth_strength

Сила сглаживания, примененного к пути камеры от 0.0до 1.0.

1.0является максимальной силой сглаживания, в то время как значения меньше этого приводят к меньшему сглаживанию.

0.0заставляет фильтр адаптивно выбирать силу сглаживания для каждого кадра.

По умолчанию 0.0.

smooth_window_multiplier

Управляет размером окна сглаживания (количество буферизованных кадров, из которых определяется информация о движении).

Размер окна сглаживания определяется путем умножения частоты кадров видео на это число.

Допустимые значения находятся в диапазоне от 0.1до 10.0.

Большие значения увеличивают объем данных о движении, доступных для определения того, как сгладить путь камеры, потенциально улучшая плавность, но также увеличивая задержку и использование памяти.

По умолчанию 2.0.

12.6.1 Примеры

  • Стабилизируйте видео с фиксированной средней силой сглаживания:
    -i INPUT -vf "hwupload, deshake_opencl=smooth_strength=0.5, hwdownload" OUTPUT
    
  • Стабилизировать видео с помощью отладки (как в консоли, так и в отрендеренном видео):
    -i INPUT -filter_complex "[0:v]format=rgba, hwupload, deshake_opencl=debug=1, hwdownload, format=rgba, format=yuv420p" -v verbose OUTPUT
    

12.7 dilation_opencl

Примените эффект расширения к видео.

Этот фильтр заменяет пиксель локальным (3x3) максимумом.

Он принимает следующие параметры:

threshold0
threshold1
threshold2
threshold3

Ограничьте максимальное изменение для каждой плоскости. Диапазон [0, 65535]и значение по умолчанию 65535. Если 0, плоскость останется неизменной.

coordinates

Флаг, указывающий пиксель, на который следует ссылаться. Диапазон равен, [0, 255]а значение по умолчанию равно 255, т. е. используются все восемь пикселей.

Отметки для области с локальными координатами 3x3 с центром в x:

1 2 3

4 х 5

6 7 8

12.7.1 Пример

  • Примените фильтр расширения с порогом 0, установленным на 30, порогом 1, установленным на 40, порогом 2, установленным на 50, и координатами, установленными на 231, установив каждый пиксель вывода на локальный максимум между пикселями: 1, 2, 3, 6, 7, 8 из 3x3 область с центром на нем во входных данных. Если разница между входным пикселем и локальным максимумом больше, чем порог соответствующей плоскости, выходной пиксель будет установлен как входной пиксель + порог соответствующей плоскости.
    -i INPUT -vf "hwupload, dilation_opencl=30:40:50:coordinates=231, hwdownload" OUTPUT
    

12.8 nlmeans_opencl

Фильтр Non-local Means denoise через OpenCL, этот фильтр принимает те же параметры, что и nlmeans .

12.9 overlay_opencl

Наложение одного видео поверх другого.

Он принимает два входа и имеет один выход. Первый вход — это «основное» видео, на которое накладывается второй вход. Для этого фильтра требуется одинаковое расположение памяти для всех входов. Таким образом, может потребоваться преобразование формата.

Фильтр принимает следующие параметры:

x

Установите координату x наложенного видео на основное видео. Значение по умолчанию 0.

y

Установите координату y наложенного видео на основное видео. Значение по умолчанию 0.

12.9.1 Примеры

  • Наложите изображение LOGO в верхнем левом углу видео INPUT. Оба входа формата yuv420p.
    -i INPUT -i LOGO -filter_complex "[0:v]hwupload[a], [1:v]format=yuv420p, hwupload[b], [a][b]overlay_opencl, hwdownload" OUTPUT
    
  • Входы имеют одинаковую структуру памяти для цветовых каналов, наложение имеет дополнительную альфа-плоскость, например, INPUT — yuv420p, а LOGO — yuva420p.
    -i INPUT -i LOGO -filter_complex "[0:v]hwupload[a], [1:v]format=yuva420p, hwupload[b], [a][b]overlay_opencl, hwdownload" OUTPUT
    

12.10 pad_opencl

Добавьте отступы к входному изображению и поместите исходный ввод в предоставленные координаты x, .y

Он принимает следующие параметры:

width, w
height, h

Укажите выражение для размера выходного изображения с добавленными отступами. Если значение для widthили heightравно 0, соответствующий входной размер используется для вывода.

Выражение widthможет ссылаться на значение, заданное heightвыражением, и наоборот.

Значение по умолчанию widthи heightравно 0.

x
y

Укажите смещения для размещения входного изображения в области заполнения относительно верхней/левой границы выходного изображения.

Выражение xможет ссылаться на значение, заданное y выражением, и наоборот.

Значение по умолчанию xи yравно 0.

Если xили yоценивается как отрицательное число, они будут изменены таким образом, чтобы входное изображение располагалось по центру заполненной области.

color

Укажите цвет заполненной области. Синтаксис этой опции см. в разделе (ffmpeg-utils) «Цвет» в руководстве по ffmpeg-utils .

aspect

Pad к аспекту, а не к разрешению.

Значения параметров width, height, xи y являются выражениями, содержащими следующие константы:

in_w
in_h

Ширина и высота входного видео.

iw
ih

Это такие же, как in_wи in_h.

out_w
out_h

Выходная ширина и высота (размер заполненной области), как указано в выражениях widthи .height

ow
oh

Это такие же, как out_wи out_h.

x
y

Смещения x и y, как указано в выражениях xи y , или NAN, если они еще не указаны.

a

то же, что iw/ih

sar

соотношение сторон входного образца

dar

входное соотношение сторон дисплея, оно такое же, как ( iw/ ih) *sar

12.11 prewitt_opencl

Примените оператор Prewitt ( https://en.wikipedia.org/wiki/Prewitt_operator ) к входному видеопотоку.

Фильтр принимает следующий вариант:

planes

Установите, какие самолеты фильтровать. Значение по умолчанию равно 0xf, по которому обрабатываются все плоскости.

scale

Установите значение, которое будет умножено на отфильтрованный результат. Диапазон [0.0, 65535]и значение по умолчанию 1.0.

delta

Установите значение, которое будет добавлено к отфильтрованному результату. Диапазон [-65535, 65535]и значение по умолчанию 0.0.

12.11.1 Пример

  • Примените оператор Prewitt со шкалой, установленной на 2, и дельтой, установленной на 10.
    -i INPUT -vf "hwupload, prewitt_opencl=scale=2:delta=10, hwdownload" OUTPUT
    

12.12 program_opencl

Фильтруйте видео с помощью программы OpenCL.

source

Исходный файл программы OpenCL.

kernel

Имя ядра в программе.

inputs

Количество входов в фильтр. По умолчанию 1.

size, s

Размер выходных кадров. По умолчанию то же, что и первый вход.

Фильтр program_openclтакже поддерживает параметры синхронизации кадров .

Исходный файл программы должен содержать функцию ядра с заданным именем, которая будет запускаться один раз для каждой плоскости вывода. Каждый запуск на плоскости ставится в очередь как отдельный глобальный 2D NDRange с одним рабочим элементом для каждого создаваемого пикселя. Таким образом, глобальное смещение идентификатора для каждого рабочего элемента представляет собой координаты пикселя в целевом изображении.

Функция ядра должна принимать следующие аргументы:

  • Образ назначения,__write_only image2d_t .

    Это изображение станет выходным; ядро должно написать все это.

  • Индекс кадра,unsigned int .

    Это счетчик, начинающийся с нуля и увеличивающийся на единицу для каждого кадра.

  • Исходные изображения,__read_only image2d_t .

    Это самые последние изображения на каждом входе. Ядро может читать из них для генерации вывода, но не может записывать в них.

Примеры программ:

  • Скопируйте ввод в вывод (вывод должен быть того же размера, что и ввод).
    __kernel void copy (__write_only image2d_t назначение,
                       беззнаковый целочисленный индекс,
                       __read_only источник image2d_t)
    {
        const sampler_t сэмплер = CLK_NORMALIZED_COORDS_FALSE;
    
        int2 location = (int2)(get_global_id(0), get_global_id(1));
    
        значение float4 = read_imagef (источник, сэмплер, местоположение);
    
        write_imagef (назначение, местоположение, значение);
    }
    
  • Примените простое преобразование, вращая ввод на величину, увеличивающуюся с увеличением счетчика индексов. Значения пикселей линейно интерполируются сэмплером, и выход не обязательно должен иметь те же размеры, что и вход.
    __kernel void rotate_image(__write_only image2d_t dst,
                               беззнаковый целочисленный индекс,
                               __read_only image2d_t источник)
    {
        const sampler_t сэмплер = (CLK_NORMALIZED_COORDS_FALSE |
                                   CLK_FILTER_LINEAR);
    
        угол плавания = (плавающий) индекс / 100.0f;
    
        float2 dst_dim = convert_float2 (get_image_dim (dst));
        float2 src_dim = convert_float2 (get_image_dim (src));
    
        float2 dst_cen = dst_dim/2.0f;
        float2 src_cen = src_dim/2.0f;
    
        int2 dst_loc = (int2)(get_global_id(0), get_global_id(1));
    
        float2 dst_pos = convert_float2(dst_loc) - dst_cen;
        float2 src_pos = {
            cos(угол) * dst_pos.x - sin(угол) * dst_pos.y,
            sin(угол) * dst_pos.x + cos(угол) * dst_pos.y
        };
        src_pos = src_pos * src_dim / dst_dim;
    
        float2 src_loc = src_pos + src_cen;
    
        если (src_loc.x < 0.0f || src_loc.y < 0.0f ||
            src_loc.x > src_dim.x || src_loc.y > src_dim.y)
            write_imagef(dst, dst_loc, 0.5f);
        еще
            write_imagef(dst, dst_loc, read_imagef(src, sampler, src_loc));
    }
    
  • Смешайте два входа вместе, при этом количество каждого используемого входа зависит от счетчика индекса.
    __kernel void blend_images(__write_only image2d_t dst,
                               беззнаковый целочисленный индекс,
                               __read_only image2d_t src1,
                               __read_only image2d_t источник2)
    {
        const sampler_t сэмплер = (CLK_NORMALIZED_COORDS_FALSE |
                                   CLK_FILTER_LINEAR);
    
        смесь с плавающей запятой = (cos((float)index / 50.0f) + 1.0f) / 2.0f;
    
        int2 dst_loc = (int2)(get_global_id(0), get_global_id(1));
        int2 src1_loc = dst_loc * get_image_dim(src1) / get_image_dim(dst);
        int2 src2_loc = dst_loc * get_image_dim(src2) / get_image_dim(dst);
    
        float4 val1 = read_imagef(src1, sampler, src1_loc);
        float4 val2 = read_imagef(src2, sampler, src2_loc);
    
        write_imagef(dst, dst_loc, val1 * blend + val2 * (1.0f - blend));
    }
    

12.13 remap_opencl

Переназначьте пиксели, используя 2-й: Xmap и 3-й: входной видеопоток Ymap.

Пиксель назначения в позиции (X, Y) будет выбран из позиции источника (x, y), где x = Xmap(X, Y) и y = Ymap(X, Y). Если значения сопоставления выходят за пределы допустимого диапазона, для целевого пикселя будет использоваться нулевое значение для пикселя.

Входные видеопотоки Xmap и Ymap должны иметь одинаковые размеры. Выходной видеопоток будет иметь размеры видеопотока Xmap/Ymap. Входные видеопотоки Xmap и Ymap представляют собой 32-битный формат с плавающей запятой, одноканальный.

interp

Укажите интерполяцию, используемую для переназначения пикселей. Допустимые значения nearи linear. Значение по умолчанию linear.

fill

Укажите цвет неотображенных пикселей. Синтаксис этой опции см. в разделе (ffmpeg-utils) «Цвет» в руководстве по ffmpeg-utils . Цвет по умолчанию black.

12.14 roberts_opencl

Примените перекрестный оператор Робертса ( https://en.wikipedia.org/wiki/Roberts_cross ) для входного видеопотока.

Фильтр принимает следующий вариант:

planes

Установите, какие самолеты фильтровать. Значение по умолчанию равно 0xf, по которому обрабатываются все плоскости.

scale

Установите значение, которое будет умножено на отфильтрованный результат. Диапазон [0.0, 65535]и значение по умолчанию 1.0.

delta

Установите значение, которое будет добавлено к отфильтрованному результату. Диапазон [-65535, 65535]и значение по умолчанию 0.0.

12.14.1 Пример

  • Примените перекрестный оператор Робертса с масштабом, равным 2, и значением дельты, равным 10.
    -i INPUT -vf "hwupload, roberts_opencl=scale=2:delta=10, hwdownload" OUTPUT
    

12.15 sobel_opencl

Примените оператор Собеля ( https://en.wikipedia.org/wiki/Sobel_operator ) для ввода видеопотока.

Фильтр принимает следующий вариант:

planes

Установите, какие самолеты фильтровать. Значение по умолчанию равно 0xf, по которому обрабатываются все плоскости.

scale

Установите значение, которое будет умножено на отфильтрованный результат. Диапазон [0.0, 65535]и значение по умолчанию 1.0.

delta

Установите значение, которое будет добавлено к отфильтрованному результату. Диапазон [-65535, 65535]и значение по умолчанию 0.0.

12.15.1 Пример

  • Применить оператор собеля с масштабом, установленным на 2, и дельта, установленным на 10
    -i INPUT -vf "hwupload, sobel_opencl=scale=2:delta=10, hwdownload" OUTPUT
    

12.16 tonemap_opencl

Преобразование HDR(PQ/HLG) в SDR с тональным отображением.

Он принимает следующие параметры:

tonemap

Укажите используемый оператор тонального отображения. То же, что и параметр тональной карты в тональной карте .

param

Настройте алгоритм отображения тонов. то же, что параметр param в тональной карте .

desat

Примените обесцвечивание к светлым участкам, яркость которых превышает этот уровень. Чем выше параметр, тем больше информации о цвете будет сохранено. Этот параметр помогает предотвратить неестественное размытие цветов для супербликов, вместо этого (плавно) превращая их в белые. Это делает изображения более естественными за счет уменьшения информации о цветах вне диапазона.

Значение по умолчанию — 0,5, и алгоритм здесь немного отличается от тоновой карты версии процессора в настоящее время. Значение 0.0 отключает эту опцию.

threshold

Параметры алгоритма тональной компрессии точно настраиваются для каждой сцены. И порог используется для определения того, изменилась ли сцена или нет. Если расстояние между текущей средней яркостью кадра и текущим скользящим средним значением превышает пороговое значение, мы пересчитываем среднее значение сцены и пиковую яркость. Значение по умолчанию — 0,2.

format

Укажите формат выходного пикселя.

В настоящее время поддерживаются следующие форматы:

p010
nv12
range, r

Установите цветовой диапазон вывода.

Возможные значения:

tv/mpeg
pc/jpeg

По умолчанию то же, что и ввод.

primaries, p

Установите основные цвета вывода.

Возможные значения:

bt709
bt2020

По умолчанию то же, что и ввод.

transfer, t

Установите выходные передаточные характеристики.

Возможные значения:

bt709
bt2020

По умолчанию BT709.

matrix, m

Установите выходную матрицу цветового пространства.

Возможные значения:

bt709
bt2020

По умолчанию то же, что и ввод.

12.16.1 Пример

  • Преобразование видео HDR (PQ/HLG) в формат bt2020-transfer-characteristic p010 с использованием линейного оператора.
    -i INPUT -vf "format=p010,hwupload,tonemap_opencl=t=bt2020:tonemap=linear:format=p010,hwdownload,format=p010" OUTPUT
    

12.17 unsharp_opencl

Резкость или размытие входного видео.

Он принимает следующие параметры:

luma_msize_x, lx

Установите горизонтальный размер матрицы яркости. Диапазон [1, 23]и значение по умолчанию 5.

luma_msize_y, ly

Установите размер матрицы яркости по вертикали. Диапазон [1, 23]и значение по умолчанию 5.

luma_amount, la

Установите силу эффекта яркости. Диапазон [-10, 10]и значение по умолчанию 1.0.

Отрицательные значения будут размывать входное видео, а положительные значения сделают его более четким, нулевое значение отключит эффект.

chroma_msize_x, cx

Установите размер матрицы цветности по горизонтали. Диапазон [1, 23]и значение по умолчанию 5.

chroma_msize_y, cy

Установите размер матрицы цветности по вертикали. Диапазон [1, 23]и значение по умолчанию 5.

chroma_amount, ca

Установите силу эффекта цветности. Диапазон [-10, 10]и значение по умолчанию 0.0.

Отрицательные значения будут размывать входное видео, а положительные значения сделают его более четким, нулевое значение отключит эффект.

Все параметры являются необязательными и по умолчанию эквивалентны строке «5:5:1.0:5:5:0.0».

12.17.1 Примеры

  • Примените сильный эффект резкости яркости:
    -i INPUT -vf "hwupload, unsharp_opencl=luma_msize_x=7:luma_msize_y=7:luma_amount=2.5, hwdownload" OUTPUT
    
  • Примените сильное размытие параметров яркости и цветности:
    -i INPUT -vf "hwupload, unsharp_opencl=7:7:-2:7:7:-2, hwdownload" OUTPUT
    

12.18 xfade_opencl

Плавное затухание двух видео с пользовательским эффектом перехода с помощью OpenCL.

Он принимает следующие параметры:

transition

Установите один из возможных эффектов перехода.

custom

Выберите пользовательский эффект перехода, фактическое описание перехода будет выбрано из параметров исходного кода и ядра.

fade
wipeleft
wiperight
wipeup
wipedown
slideleft
slideright
slideup
slidedown

Переход по умолчанию — затухание.

source

Исходный файл программы OpenCL для пользовательского перехода.

kernel

Установите имя ядра, которое будет использоваться для пользовательского перехода из исходного файла программы.

duration

Установите продолжительность видеоперехода.

offset

Установите время начала перехода относительно первого видео.

Исходный файл программы должен содержать функцию ядра с заданным именем, которая будет запускаться один раз для каждой плоскости вывода. Каждый запуск на плоскости ставится в очередь как отдельный глобальный 2D NDRange с одним рабочим элементом для каждого создаваемого пикселя. Таким образом, глобальное смещение идентификатора для каждого рабочего элемента представляет собой координаты пикселя в целевом изображении.

Функция ядра должна принимать следующие аргументы:

  • Образ назначения,__write_only image2d_t .

    Это изображение станет выходным; ядро должно написать все это.

  • Первое исходное изображение, __read_only image2d_t. Второе исходное изображение, __read_only image2d_t.

    Это самые последние изображения на каждом входе. Ядро может читать из них для генерации вывода, но не может записывать в них.

  • Ход перехода, float. Это значение всегда находится в диапазоне от 0 до 1 включительно.

Примеры программ:

  • Примените эффект перехода занавеса точек:
    __kernel void blend_images(__write_only image2d_t dst,
                               __read_only image2d_t src1,
                               __read_only image2d_t src2,
                               плавающий прогресс)
    {
        const sampler_t сэмплер = (CLK_NORMALIZED_COORDS_FALSE |
                                   CLK_FILTER_LINEAR);
        int2 p = (int2)(get_global_id(0), get_global_id(1));
        float2 rp = (float2)(get_global_id(0), get_global_id(1));
        float2 dim = (float2)(get_image_dim(src1).x, get_image_dim(src1).y);
        рп = рп/дим;
    
        float2 точки = (float2)(20.0, 20.0);
        центр поплавка2 = (поплавок2)(0,0);
        float2 не используется;
    
        float4 val1 = read_imagef(src1, sampler, p);
        float4 val2 = read_imagef(src2, sampler, p);
        bool next = Distance(fract(rp * dots, &unused), (float2)(0.5, 0.5)) < (прогресс/расстояние(rp, центр));
    
        write_imagef(dst, p, next? val1 : val2);
    }
    

13 видеофильтров VAAPI

Видеофильтры VAAPI обычно используются с декодером VAAPI и кодировщиком VAAPI. Ниже приведено описание видеофильтров VAAPI.

Чтобы включить компиляцию этих фильтров, вам необходимо настроить FFmpeg с расширением --enable-vaapi.

Чтобы использовать фильтры vaapi, вам необходимо правильно настроить устройство vaapi. Для получения дополнительной информации, пожалуйста, прочитайте https://trac.ffmpeg.org/wiki/Hardware/VAAPI.

13.1 overlay_vaapi

Наложение одного видео поверх другого.

Он принимает два входа и имеет один выход. Первый вход — это «основное» видео, на которое накладывается второй вход. Для этого фильтра требуется одинаковое расположение памяти для всех входов. Таким образом, может потребоваться преобразование формата.

Фильтр принимает следующие параметры:

x

Установите координату x наложенного видео на основное видео. Значение по умолчанию 0.

y

Установите координату y наложенного видео на основное видео. Значение по умолчанию 0.

w

Установите ширину наложенного видео на основное видео. Значение по умолчанию — ширина входного оверлейного видео.

h

Установите высоту наложенного видео на основное видео. Значение по умолчанию — высота входного оверлейного видео.

alpha

Установите пороги обнаружения блокировки. Допустимый диапазон от 0,0 до 1,0, требуется входное видео с альфа-каналом. Значение по умолчанию 0.0.

13.1.1 Примеры

  • Наложите изображение LOGO в верхнем левом углу видео INPUT. Оба входа для этого фильтра имеют формат yuv420p.
    -i INPUT -i LOGO -filter_complex "[0:v]hwupload[a], [1:v]format=yuv420p, hwupload[b], [a][b]overlay_vaapi" OUTPUT
    
  • Наложите изображение ЛОГОТИПА со смещением (200, 100) от верхнего левого угла ВХОДНОГО видео. Входы имеют одинаковую структуру памяти для цветовых каналов, наложение имеет дополнительную альфа-плоскость, например, INPUT — yuv420p, а LOGO — yuva420p.
    -i INPUT -i LOGO -filter_complex "[0:v]hwupload[a], [1:v]format=yuva420p, hwupload[b], [a][b]overlay_vaapi=x=200:y=100:w=400:h=300:alpha=1.0, hwdownload, format=nv12" OUTPUT
    

13.2 tonemap_vaapi

Преобразование HDR (расширенный динамический диапазон) в SDR (стандартный динамический диапазон) с тональным отображением. Он сопоставляет динамический диапазон контента HDR10 с контентом SDR. В настоящее время он принимает только HDR10 в качестве входного сигнала.

Он принимает следующие параметры:

format

Укажите формат выходного пикселя.

В настоящее время поддерживаются следующие форматы:

p010
nv12

По умолчанию nv12.

primaries, p

Установите основные цвета вывода.

По умолчанию то же, что и ввод.

transfer, t

Установите выходные передаточные характеристики.

По умолчанию BT709.

matrix, m

Установите выходную матрицу цветового пространства.

По умолчанию то же, что и ввод.

13.2.1 Пример

  • Преобразование видео HDR (HDR10) в формат bt2020-transfer-characteristic p010
    tonemap_vaapi=format=p010:t=bt2020-10
    

14 источников видео

Ниже приведено описание доступных на данный момент видеоисточников.

14.1 buffer

Буферизируйте видеокадры и сделайте их доступными для цепочки фильтров.

Этот источник в основном предназначен для программного использования, в частности, через интерфейс, определенный вlibavfilter/buffersrc.h.

Он принимает следующие параметры:

video_size

Укажите размер (ширину и высоту) буферизованных видеокадров. Синтаксис этого параметра см. в разделе (ffmpeg-utils) «Размер видео» в руководстве по ffmpeg-utils .

width

Ширина входного видео.

height

Высота входного видео.

pix_fmt

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

time_base

Укажите временную базу, предполагаемую временными метками буферизованных кадров.

frame_rate

Укажите частоту кадров, ожидаемую для видеопотока.

pixel_aspect, sar

Соотношение сторон образца (пикселя) входного видео.

sws_param

Этот параметр устарел и игнорируется. Добавьте перед описанием filtergraph , чтобы указать флаги swscale для автоматически вставляемых масштабаторов. См . Синтаксис Filtergraph . sws_flags=flags;

hw_frames_ctx

При использовании формата аппаратных пикселей это должна быть ссылка на AVHWFramesContext, описывающий входные кадры.

Например:

buffer=width=320:height=240:pix_fmt=yuv410p:time_base=1/24:sar=1

укажет источнику принимать видеокадры размером 320x240 и в формате "yuv410p", предполагая 1/24 в качестве временной базы временных меток и квадратных пикселей (соотношение сторон образца 1:1). Поскольку формат пикселя с именем "yuv410p" соответствует числу 6 (проверьте определение enum AVPixelFormat вlibavutil/pixfmt.h), этот пример соответствует:

buffer=size=320x240:pixfmt=6:time_base=1/24:pixel_aspect=1/1

В качестве альтернативы параметры могут быть указаны в виде простой строки, но этот синтаксис устарел:

width: height: pix_fmt: time_base.num: time_base.den: pixel_aspect.num:pixel_aspect.den

14.2 cellauto

Создайте шаблон, сгенерированный элементарным клеточным автоматом.

Начальное состояние клеточного автомата можно определить через filenameа такжеpatternопции. Если такие опции не указаны, начальное состояние создается случайным образом.

При каждом новом кадре новая строка видео заполняется результатом работы клеточного автомата следующего поколения. Поведение при заполнении всего кадра определяется параметромscrollвариант.

Этот источник принимает следующие параметры:

filename, f

Считать начальное состояние клеточного автомата, т.е. начальную строку, из указанного файла. В файле каждый непробельный символ считается активной ячейкой, новая строка завершает строку, а дальнейшие символы в файле игнорируются.

pattern, p

Считать начальное состояние клеточного автомата, т.е. начальную строку, из указанной строки.

Каждый непробельный символ в строке считается активной ячейкой, новая строка завершает строку, а дальнейшие символы в строке будут игнорироваться.

rate, r

Установите скорость видео, то есть количество кадров, генерируемых в секунду. По умолчанию 25.

random_fill_ratio, ratio

Установите случайный коэффициент заполнения для начальной строки клеточного автомата. Это числовое значение с плавающей запятой в диапазоне от 0 до 1, по умолчанию 1/PHI.

Этот параметр игнорируется, если указан файл или шаблон.

random_seed, seed

Установите начальное значение для случайного заполнения начальной строки, оно должно быть целым числом в диапазоне от 0 до UINT32_MAX. Если не указано или явно задано значение -1, фильтр попытается использовать хорошее случайное начальное число в максимально возможной степени.

rule

Установите правило клеточного автомата, это число от 0 до 255. Значение по умолчанию 110.

size, s

Установите размер выходного видео. Синтаксис этого параметра см. в разделе (ffmpeg-utils) «Размер видео» в руководстве по ffmpeg-utils .

Еслиfilenameили жеpatternуказан, размер по умолчанию устанавливается равным ширине указанной строки начального состояния, а высота устанавливается widthравной * PHI.

Еслиsizeустановлен, он должен содержать ширину указанной строки шаблона, и указанный шаблон будет центрирован в большей строке.

Если имя файла или строка шаблона не указаны, значение размера по умолчанию равно «320x518» (используется для случайно сгенерированного начального состояния).

scroll

Если установлено значение 1, прокручивайте вывод вверх, когда все строки в выводе уже заполнены. Если установлено значение 0, новая сгенерированная строка будет записана поверх верхней строки сразу после заполнения нижней строки. По умолчанию 1.

start_full, full

Если установлено значение 1, полностью заполните вывод сгенерированными строками перед выводом первого кадра. Это поведение по умолчанию, для отключения установите значение 0.

stitch

Если установлено значение 1, сшейте края левого и правого ряда вместе. Это поведение по умолчанию, для отключения установите значение 0.

14.2.1 Примеры

  • Прочитайте начальное состояние изpatternи укажите выходной размер 200x400.
    cellauto=f=pattern:s=200x400
    
  • Создайте случайную начальную строку шириной 200 ячеек с коэффициентом заполнения 2/3:
    cellauto=ratio=2/3:s=200x200
    
  • Создайте шаблон, созданный по правилу 18, начиная с одной живой ячейки с центром в начальной строке шириной 100:
    cellauto=p=@:s=100x400:full=0:rule=18
    
  • Укажите более сложный начальный шаблон:
    cellauto=p='@@ @ @@':s=100x400:full=0:rule=18
    

14.3 coreimagesrc

Источник видео, созданный на графическом процессоре с использованием Apple CoreImage API в OSX.

Этот источник видео является специализированной версией основного образа. . Используйте основной генератор изображений в начале применяемой цепочки фильтров для создания контента.

Источник видео coreimagesrc принимает следующие параметры:

list_generators

Перечислите все доступные генераторы вместе со всеми их соответствующими параметрами, а также возможные минимальные и максимальные значения вместе со значениями по умолчанию.

list_generators=true
size, s

Укажите размер исходного видео. Синтаксис этого параметра см. в разделе (ffmpeg-utils) «Размер видео» в руководстве по ffmpeg-utils . Значение по умолчанию равно 320x240.

rate, r

Укажите частоту кадров исходного видео как количество кадров, генерируемых в секунду. Это должна быть строка в формате frame_rate_num/ frame_rate_den, целое число, число с плавающей запятой или допустимая аббревиатура частоты кадров видео. Значение по умолчанию — «25».

sar

Установите соотношение сторон образца исходного видео.

duration, d

Установите продолжительность исходного видео. См. (ffmpeg-utils) раздел Продолжительность времени в руководстве ffmpeg-utils(1) для получения информации о принятом синтаксисе.

Если не указано или выраженная продолжительность отрицательна, предполагается, что видео будет генерироваться вечно.

Кроме того, принимаются все параметры видеофильтра coreimage . Полная цепочка фильтров может использоваться для дальнейшей обработки сгенерированного ввода без передачи CPU-HOST. Подробности смотрите в документации и примерах coreimage .

14.3.1 Примеры

  • Используйте CIQRCodeGenerator для создания QR-кода для домашней страницы FFmpeg в виде полной и экранированной командной строки для стандартной оболочки Apple bash:
    ffmpeg -f lavfi -i coreimagesrc=s=100x100:filter=CIQRCodeGenerator@inputMessage=https\\\\\://FFmpeg.org/@inputCorrectionLevel=H -frames:v 1 QRCode.png
    

    Этот пример эквивалентен примеру ядра QRCode без необходимости использования источника видео nullsrc.

14.4 gradients

Создайте несколько градиентов.

size, s

Установите размер кадра. Синтаксис этого параметра см. в разделе (ffmpeg-utils) «Размер видео» в руководстве по ffmpeg-utils . Значение по умолчанию — «640x480».

rate, r

Установите частоту кадров, выраженную в количестве кадров в секунду. Значение по умолчанию — «25».

c0, c1, c2, c3, c4, c5, c6, c7

Установите 8 цветов. Значения по умолчанию для цветов выбираются случайным образом.

x0, y0, y0, y1

Установите исходную и конечную точки градиентной линии. Если отрицательный или вне диапазона, выбираются случайные.

nb_colors, n

Установите количество цветов, которые будут использоваться одновременно. Допустимый диапазон от 2 до 8. Значение по умолчанию — 2.

seed

Установите начальное значение для выбора точек градиентной линии.

duration, d

Установите продолжительность исходного видео. См. (ffmpeg-utils) раздел Продолжительность времени в руководстве ffmpeg-utils(1) для получения информации о принятом синтаксисе.

Если не указано или выраженная продолжительность отрицательна, предполагается, что видео будет генерироваться вечно.

speed

Установить скорость вращения градиентов.

type, t

Установите тип градиента, может быть linearили radialили circularили spiral.

14.5 mandelbrot

Создайте фрактал множества Мандельброта и постепенно приближайтесь к точке, указанной с помощью start_xи start_y.

Этот источник принимает следующие параметры:

end_pts

Установите значение точки терминала. Значение по умолчанию — 400.

end_scale

Установите значение шкалы терминала. Должно быть значением с плавающей запятой. Значение по умолчанию — 0,3.

inner

Установите режим внутренней окраски, то есть алгоритм, используемый для рисования внутренней области фрактала Мандельброта.

Он должен принимать одно из следующих значений:

black

Установите черный режим.

convergence

Показать время до сходимости.

mincol

Установите цвет на основе точки, ближайшей к началу итераций.

period

Установите режим периода.

Значение по умолчанию mincol.

bailout

Установите значение спасения. Значение по умолчанию — 10,0.

maxiter

Установите максимальное количество итераций, выполняемых алгоритмом рендеринга. Значение по умолчанию — 7189.

outer

Установить внешний режим окраски. Он должен принимать одно из следующих значений:

iteration_count

Установите режим подсчета итераций.

normalized_iteration_count

установить нормализованный режим подсчета итераций.

Значение по умолчанию normalized_iteration_count.

rate, r

Установите частоту кадров, выраженную в количестве кадров в секунду. Значение по умолчанию — «25».

size, s

Установите размер кадра. Синтаксис этого параметра см. в разделе (ffmpeg-utils) «Размер видео» в руководстве по ffmpeg-utils . Значение по умолчанию — «640x480».

start_scale

Установите начальное значение шкалы. Значение по умолчанию — 3,0.

start_x

Установите начальную позицию x. Должно быть значение с плавающей запятой от -100 до 100. Значение по умолчанию: -0,743643887037158704752191506114774.

start_y

Установите начальную позицию Y. Должно быть значение с плавающей запятой в диапазоне от -100 до 100. Значение по умолчанию: -0,131825904205311970493132056385139.

14.6 mptestsrc

Создавайте различные тестовые шаблоны, сгенерированные тестовым фильтром MPlayer.

Размер создаваемого видео фиксированный и составляет 256x256. Этот источник полезен, в частности, для тестирования функций кодирования.

Этот источник принимает следующие параметры:

rate, r

Укажите частоту кадров исходного видео как количество кадров, генерируемых в секунду. Это должна быть строка в формате frame_rate_num/ frame_rate_den, целое число, число с плавающей запятой или допустимая аббревиатура частоты кадров видео. Значение по умолчанию — «25».

duration, d

Установите продолжительность исходного видео. См. (ffmpeg-utils) раздел Продолжительность времени в руководстве ffmpeg-utils(1) для получения информации о принятом синтаксисе.

Если не указано или выраженная продолжительность отрицательна, предполагается, что видео будет генерироваться вечно.

test, t

Установите номер или название теста, который необходимо выполнить. Поддерживаемые тесты:

dc_luma
dc_chroma
freq_luma
freq_chroma
amp_luma
amp_chroma
cbp
mv
ring1
ring2
all
max_frames, m

Установите максимальное количество кадров, генерируемых для каждого теста, значение по умолчанию — 30.

Значение по умолчанию — «все», которое циклически перебирает список всех тестов.

Некоторые примеры:

mptestsrc=t=dc_luma

сгенерирует тестовый шаблон "dc_luma".

14.7 frei0r_src

Предоставьте свободный источник.

Чтобы включить компиляцию этого фильтра, вам необходимо установить заголовок frei0r и настроить FFmpeg с расширением --enable-frei0r.

Этот источник принимает следующие параметры:

size

Размер создаваемого видео. Синтаксис этого параметра см. в разделе (ffmpeg-utils) «Размер видео» в руководстве по ffmpeg-utils .

framerate

Частота кадров сгенерированного видео. Это может быть строка вида num/ denили аббревиатура частоты кадров.

filter_name

Имя источника frei0r для загрузки. Для получения дополнительной информации о frei0r и о том, как установить параметры, прочитайте раздел frei0r в документации по видеофильтрам.

filter_params

Разделенный символом '|' список параметров для передачи в источник frei0r.

Например, чтобы сгенерировать источник frei0r partik0l размером 200x200 и частотой кадров 10, который накладывается на основной вход фильтра наложения:

frei0r_src=size=200x200:framerate=10:filter_name=partik0l:filter_params=1234 [overlay]; [in][overlay] overlay

14.8 life

Создайте модель жизни.

Этот источник основан на обобщении жизненной игры Джона Конвея.

Исходный ввод представляет собой сетку жизни, каждый пиксель представляет собой ячейку, которая может находиться в одном из двух возможных состояний: живом или мертвом. Каждая ячейка взаимодействует со своими восемью соседями, которые являются ячейками, расположенными по горизонтали, вертикали или диагонали.

При каждом взаимодействии сетка эволюционирует в соответствии с принятым правилом, определяющим количество соседних живых клеток, при котором клетка останется живой или родится. ruleОпция позволяет указать правило для принятия.

Этот источник принимает следующие параметры:

filename, f

Задайте файл, из которого считывается начальное состояние сетки. В файле каждый непробельный символ считается активной ячейкой, а новая строка используется для разграничения конца каждой строки.

Если этот параметр не указан, начальная сетка генерируется случайным образом.

rate, r

Установите скорость видео, то есть количество кадров, генерируемых в секунду. По умолчанию 25.

random_fill_ratio, ratio

Установите коэффициент случайного заполнения для исходной случайной сетки. Это числовое значение с плавающей запятой в диапазоне от 0 до 1, по умолчанию 1/PHI. Игнорируется, если указан файл.

random_seed, seed

Установите начальное значение для заполнения исходной случайной сетки, оно должно быть целым числом в диапазоне от 0 до UINT32_MAX. Если не указано или явно задано значение -1, фильтр попытается использовать хорошее случайное начальное число в максимально возможной степени.

rule

Установите правило жизни.

Правило может быть задано кодом вида "S NS/B NB", где NSи NB- последовательности чисел в диапазоне 0-8, NSопределяет количество живых соседних ячеек, благодаря которым живая ячейка остается живой, и NBколичество живых соседние клетки, которые заставляют мертвую клетку стать живой (т.е. «родиться»). «s» и «b» могут быть использованы вместо «S» и «B» соответственно.

В качестве альтернативы правило может быть указано 18-битным целым числом. 9 старших битов используются для кодирования состояния следующей ячейки, если она активна для каждого числа соседних живых ячеек, младшие биты определяют правило «рождения» новых ячеек. Биты более высокого порядка кодируют большее количество соседних ячеек. Например, число 6153 = (12<<9)+9определяет правило выживания 12 и изначальное правило 9, что соответствует «S23/B03».

Значение по умолчанию — «S23/B3», что является исходным правилом игры жизни Конвея и будет поддерживать жизнь клетки, если у нее есть 2 или 3 соседних живых клетки, и родит новую клетку, если вокруг мертвой клетки есть три живых клетки. клетка.

size, s

Установите размер выходного видео. Синтаксис этого параметра см. в разделе (ffmpeg-utils) «Размер видео» в руководстве по ffmpeg-utils .

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

Если имя файла не указано, значение размера по умолчанию равно «320x240» (используется для случайно сгенерированной начальной сетки).

stitch

Если установлено значение 1, сшиваются левый и правый края сетки вместе, а также верхний и нижний края. По умолчанию 1.

mold

Установить скорость сотовой формы. Если установлено, мертвая ячейка будет идти отdeath_colorк mold_colorс шагомmold.moldможет иметь значение от 0 до 255.

life_color

Установите цвет живых (или только что родившихся) клеток.

death_color

Установите цвет мертвых клеток. Еслиmoldустановлен, это первый цвет, используемый для обозначения мертвой клетки.

mold_color

Установите цвет плесени для определенно мертвых и заплесневелых клеток.

Чтобы узнать о синтаксисе этих трех параметров цвета, см. раздел (ffmpeg-utils) «Цвет» в руководстве по ffmpeg-utils .

14.8.1 Примеры

  • Считайте сетку изpattern, и отцентрируйте его на сетке размером 300x300 пикселей:
    life=f=pattern:s=300x300
    
  • Создайте случайную сетку размером 200x200 с коэффициентом заполнения 2/3:
    life=ratio=2/3:s=200x200
    
  • Укажите пользовательское правило для развития случайно сгенерированной сетки:
    life=rule=S14/B34
    
  • Полный пример с эффектом медленной смерти (плесень) с использованием ffplay:
    ffplay -f lavfi life=s=300x200:mold=10:r=60:ratio=0.1:death_color=#C83232:life_color=#00ff00,scale=1200:800:flags=16
    

14.9 allrgb, allyuv, color, colorchart, colorspectrum, haldclutsrc, nullsrc, pal75bars, pal100bars, rgbtestsrc, smptebars, smptehdbars, testsrc, testsrc2, yuvtestsrc

Источник allrgbвозвращает кадры размером 4096x4096 всех цветов RGB.

Источник allyuvвозвращает кадры размером 4096x4096 всех цветов yuv.

Источник colorобеспечивает равномерно окрашенный ввод.

Источник colorchartпредоставляет таблицу проверки цветов.

Источник colorspectrumобеспечивает ввод цветового спектра.

Источник haldclutsrcпредоставляет личность Hald CLUT. См. также фильтр Haldclut .

Источник nullsrcвозвращает необработанные видеокадры. В основном полезно использовать в инструментах анализа/отладки или в качестве источника для фильтров, которые игнорируют входные данные.

Источник pal75barsгенерирует шаблон цветных полос на основе рекомендаций EBU PAL с уровнями цвета 75%.

Источник pal100barsгенерирует шаблон цветных полос на основе рекомендаций EBU PAL со 100% уровнями цвета.

Источник rgbtestsrcгенерирует тестовый шаблон RGB, полезный для обнаружения проблем RGB и BGR. Вы должны увидеть красную, зеленую и синюю полосу сверху вниз.

Источник smptebarsгенерирует шаблон цветных полос на основе SMPTE Engineering Guideline EG 1-1990.

Источник smptehdbarsгенерирует шаблон цветных полос на основе SMPTE RP 219-2002.

Источник testsrcгенерирует шаблон тестового видео, показывающий цветовой шаблон, градиент прокрутки и отметку времени. Это в основном предназначено для целей тестирования.

Источник testsrc2похож на testrc, но поддерживает больше форматов пикселей, а не только rgb24. Это позволяет использовать его в качестве входных данных для других тестов, не требуя преобразования формата.

Источник yuvtestsrcгенерирует тестовый шаблон YUV. Вы должны увидеть полосы ay, cb и cr сверху вниз.

Источники принимают следующие параметры:

level

Укажите уровень Hald CLUT, доступный только в haldclutsrc исходниках. Уровень Nсоздает изображение в N*N*Nпикселях N*N*N , которое будет использоваться в качестве матрицы идентичности для трехмерных интерполяционных таблиц. Каждый компонент кодируется на 1/(N*N)шкале.

color, c

Укажите цвет источника, доступный только в color источнике. Синтаксис этой опции см. в разделе (ffmpeg-utils) «Цвет» в руководстве по ffmpeg-utils .

size, s

Укажите размер исходного видео. Синтаксис этого параметра см. в разделе (ffmpeg-utils) «Размер видео» в руководстве по ffmpeg-utils . Значение по умолчанию равно 320x240.

Этот параметр недоступен с фильтрами allrgb, allyuvи .haldclutsrc

rate, r

Укажите частоту кадров исходного видео как количество кадров, генерируемых в секунду. Это должна быть строка в формате frame_rate_num/ frame_rate_den, целое число, число с плавающей запятой или допустимая аббревиатура частоты кадров видео. Значение по умолчанию — «25».

duration, d

Установите продолжительность исходного видео. См. (ffmpeg-utils) раздел Продолжительность времени в руководстве ffmpeg-utils(1) для получения информации о принятом синтаксисе.

Если не указано или выраженная продолжительность отрицательна, предполагается, что видео будет генерироваться вечно.

Поскольку в качестве временной базы используется частота кадров, все кадры, включая последний, будут иметь полную продолжительность. Если указанная продолжительность не кратна длительности кадра, она будет округлена в большую сторону.

sar

Установите соотношение сторон образца исходного видео.

alpha

Укажите альфа-канал (непрозрачность) фона, доступный только в testsrc2исходном коде. Значение должно находиться в диапазоне от 0 (полностью прозрачный) до 255 (полностью непрозрачный, значение по умолчанию).

decimals, n

Установите количество десятичных знаков для отображения в отметке времени, доступной только в testsrcисточнике.

Отображаемое значение метки времени будет соответствовать исходному значению метки времени, умноженному на степень 10 указанного значения. Значение по умолчанию — 0.

type

Установите тип цветового спектра, доступный только в colorspectrumисточнике. Может быть одним из следующих:

'black'
'white'
'all'
patch_size

Установить размер фрагмента одного цветового фрагмента, доступного только в colorchartисходном коде. Значение по умолчанию 64x64.

preset

Установите предустановку цветов colorchecker, доступную только в colorchartисточнике.

Доступные значения:

'reference'
'skintones'

Значение по умолчанию reference.

14.9.1 Примеры

  • Сгенерируйте видео продолжительностью 5,3 секунды, размером 176x144 и частотой кадров 10 кадров в секунду:
    testsrc=duration=5.3:size=qcif:rate=10
    
  • Следующее описание графика сгенерирует красный источник с непрозрачностью 0,2, размером «qcif» и частотой кадров 10 кадров в секунду:
    color=c=red@0.2:s=qcif:r=10
    
  • Если входное содержимое должно быть проигнорировано, nullsrcможно использовать. Следующая команда генерирует шум в плоскости яркости с помощью geqфильтра:
    nullsrc=s=256x256, geq=random(1)*255:128:128
    

14.9.2 Команды

Источник colorподдерживает следующие команды:

c, color

Установите цвет созданного изображения. Принимает тот же синтаксис соответствующегоcolorвариант.

14.10 openclsrc

Создание видео с помощью программы OpenCL.

source

Исходный файл программы OpenCL.

kernel

Имя ядра в программе.

size, s

Размер кадров для генерации. Это должно быть установлено.

format

Формат пикселей для использования для сгенерированных кадров. Это должно быть установлено.

rate, r

Количество кадров, генерируемых каждую секунду. Значение по умолчанию — «25».

Подробнее о том, как работает загрузка программы, смотрите в фильтре program_opencl .

Примеры программ:

  • Сгенерируйте цветовую шкалу, установив значения пикселей из положения пикселя в выходном изображении. (Обратите внимание, что это будет работать со всеми форматами пикселей, но сгенерированный вывод не будет таким же.)
    __kernel недействительный скат (__write_only image2d_t dst,
                       беззнаковый целочисленный индекс)
    {
        int2 loc = (int2)(get_global_id(0), get_global_id(1));
    
        число с плавающей запятой4;
        val.xy = val.zw = convert_float2 (loc) / convert_float2 (get_image_dim (dst));
    
        write_imagef(dst, loc, val);
    }
    
  • Создайте узор ковра Серпинского, панорамируя на один пиксель в каждом кадре.
    __kernel void sierpinski_carpet(__write_only image2d_t dst,
                                    беззнаковый целочисленный индекс)
    {
        int2 loc = (int2)(get_global_id(0), get_global_id(1));
    
        значение float4 = 0,0f;
        int x = loc.x + индекс;
        int y = loc.y + индекс;
        в то время как (х > 0 || у > 0) {
            если (х % 3 == 1 && у % 3 == 1) {
                значение = 1,0f;
                ломать;
            }
            х/= 3;
            у /= 3;
        }
    
        write_imagef(dst, loc, value);
    }
    

14.11 sierpinski

Создайте фрактал ковра Серпинского/треугольника и произвольно панорамируйте его.

Этот источник принимает следующие параметры:

size, s

Установите размер кадра. Синтаксис этого параметра см. в разделе (ffmpeg-utils) «Размер видео» в руководстве по ffmpeg-utils . Значение по умолчанию — «640x480».

rate, r

Установите частоту кадров, выраженную в количестве кадров в секунду. Значение по умолчанию — «25».

seed

Установите начальное число, которое используется для случайного панорамирования.

jump

Установите максимальный прыжок для одного пункта назначения панорамирования. Допустимый диапазон от 1 до 10000.

type

Установить тип фрактала, может быть по умолчанию carpetили triangle.

15 видеоприемников

Ниже приведено описание доступных на данный момент видеоприемников.

15.1 buffersink

Буферизируйте видеокадры и сделайте их доступными в конце графика фильтра.

Этот приемник в основном предназначен для программного использования, в частности через интерфейс, определенный вlibavfilter/buffersink.h или система опций.

Он принимает указатель на структуру AVBufferSinkContext, которая определяет форматы входящих буферов, которые следует передать в качестве непрозрачного параметра avfilter_init_filterдля инициализации.

15.2 nullsink

Нулевой приемник видео: абсолютно ничего не делать с входным видео. В основном он полезен в качестве шаблона и для использования в инструментах анализа/отладки.

16 мультимедийных фильтров

Ниже приведено описание доступных на данный момент мультимедийных фильтров.

16.1 abitscope

Преобразование входного аудио в видеовыход с отображением области битов аудио.

Фильтр принимает следующие параметры:

rate, r

Установите частоту кадров, выраженную в количестве кадров в секунду. Значение по умолчанию — «25».

size, s

Укажите размер видео для вывода. Синтаксис этого параметра см. в разделе (ffmpeg-utils) «Размер видео» в руководстве по ffmpeg-utils . Значение по умолчанию 1024x256.

colors

Укажите список цветов, разделенных пробелом или '|' который будет использоваться для рисования каналов. Нераспознанные или отсутствующие цвета будут заменены белым цветом.

mode, m

Установите режим вывода. Можно barsили trace. Значение по умолчанию bars.

16.2 adrawgraph

Нарисуйте график, используя входные метаданные аудио.

См. рисунок

16.3 agraphmonitor

Смотрите графмонитор .

16.4 ahistogram

Преобразование входного аудио в видеовыход с отображением гистограммы громкости.

Фильтр принимает следующие параметры:

dmode

Укажите, как рассчитывается гистограмма.

Он принимает следующие значения:

'single'

Используйте единую гистограмму для всех каналов.

'separate'

Используйте отдельную гистограмму для каждого канала.

Значение по умолчанию single.

rate, r

Установите частоту кадров, выраженную в количестве кадров в секунду. Значение по умолчанию — «25».

size, s

Укажите размер видео для вывода. Синтаксис этого параметра см. в разделе (ffmpeg-utils) «Размер видео» в руководстве по ffmpeg-utils . Значение по умолчанию hd720.

scale

Установить масштаб отображения.

Он принимает следующие значения:

'log'

логарифмический

'sqrt'

квадратный корень

'cbrt'

кубический корень

'lin'

линейный

'rlog'

обратный логарифмический

Значение по умолчанию log.

ascale

Установить масштаб амплитуды.

Он принимает следующие значения:

'log'

логарифмический

'lin'

линейный

Значение по умолчанию log.

acount

Установите, сколько кадров будет накапливаться в гистограмме. По умолчанию 1. Установка этого параметра на -1 приводит к накоплению всех кадров.

rheight

Установите коэффициент гистограммы высоты окна.

slide

Установите скользящую сонограмму.

Он принимает следующие значения:

'replace'

заменить старые строки новыми.

'scroll'

прокрутите сверху вниз.

Значение по умолчанию replace.

hmode

Установите режим гистограммы.

Он принимает следующие значения:

'abs'

Используйте абсолютные значения образцов.

'sign'

Используйте нетронутые значения образцов.

Значение по умолчанию abs.

16.5 aphasemeter

Измеряет фазу входного аудио, которое экспортируется как метаданные lavfi.aphasemeter.phase, представляющие среднюю фазу текущего аудиокадра. Видеовыход также может быть создан и включен по умолчанию. Аудио передается как первый выход.

Аудио будет преобразовано в стерео, если оно имеет другое расположение каналов. Значение фазы находится в диапазоне, [-1, 1]где -1означает, что левый и правый каналы полностью не совпадают по фазе, а 1каналы находятся в фазе.

Фильтр принимает следующие параметры, связанные с его видеовыходом:

rate, r

Установите выходную частоту кадров. Значение по умолчанию 25.

size, s

Установите размер видео для вывода. Синтаксис этого параметра см. в разделе (ffmpeg-utils) «Размер видео» в руководстве по ffmpeg-utils . Значение по умолчанию 800x400.

rc
gc
bc

Укажите красный, зеленый, синий контраст. Значения по умолчанию: 2, 7и 1. Допустимый диапазон [0, 255].

mpc

Установите цвет, который будет использоваться для рисования срединной фазы. Если цвет установлен noneпо умолчанию, значение средней фазы не будет отображаться.

video

Включить видеовыход. По умолчанию включено.

16.5.1 определение фазы

Фильтр также обнаруживает противофазные и монофонические последовательности в стереопотоках. Он регистрирует начало, конец и продолжительность последовательности, когда она длится дольше или дольше минимального набора.

Фильтр принимает следующие параметры для этого обнаружения:

phasing

Включите обнаружение моно и не в фазе. По умолчанию отключено.

tolerance, t

Установите фазовый допуск для монофонического обнаружения в соотношении амплитуд. Значение по умолчанию 0. Допустимый диапазон [0, 1].

angle, a

Установите пороговое значение угла для обнаружения несовпадения фаз в градусах. Значение по умолчанию 170. Допустимый диапазон [90, 180].

duration, d

Установите продолжительность моно или вне фазы до уведомления, выраженную в секундах. Значение по умолчанию 2.

16.5.2 Примеры

  • Полный пример с ffmpegобнаружением 1 секунды моно с допуском по фазе 0,001:
    ffmpeg -i stereo.wav -af aphasemeter=video=0:phasing=1:duration=1:tolerance=0.001 -f null -
    

16.6 avectorscope

Преобразуйте входное аудио в видеовыход, представляя область аудио вектора.

Фильтр используется для измерения разницы между каналами стереофонического аудиопотока. Монофонический сигнал, состоящий из идентичных левого и правого сигналов, дает прямую вертикальную линию. Любое стереоразделение видно как отклонение от этой линии, создающее фигуру Лиссажу. Если появляется прямая (или отклонение от нее), но горизонтальная линия, это говорит о том, что левый и правый каналы не совпадают по фазе.

Фильтр принимает следующие параметры:

mode, m

Установите режим вектороскопа.

Доступные значения:

'lissajous'

Лиссажу повернулся на 45 градусов.

'lissajous_xy'

То же, что и выше, но без поворота.

'polar'

Форма, напоминающая половину круга.

Значение по умолчанию: 'lissajous'.

size, s

Установите размер видео для вывода. Синтаксис этого параметра см. в разделе (ffmpeg-utils) «Размер видео» в руководстве по ffmpeg-utils . Значение по умолчанию 400x400.

rate, r

Установите выходную частоту кадров. Значение по умолчанию 25.

rc
gc
bc
ac

Укажите красный, зеленый, синий и альфа-контраст. Значения по умолчанию: 40, 160и . Допустимый диапазон . 80255[0, 255]

rf
gf
bf
af

Укажите красный, зеленый, синий и альфа-фейд. Значения по умолчанию: 15, 10и . Допустимый диапазон . 55[0, 255]

zoom

Установите коэффициент масштабирования. Значение по умолчанию 1. Допустимый диапазон [0, 10]. Значения ниже 1автоматически настраивают коэффициент масштабирования до максимально возможного значения.

draw

Установите режим рисования вектороскопа.

Доступные значения:

'dot'

Нарисуйте точку для каждого образца.

'line'

Нарисуйте линию между предыдущим и текущим образцом.

Значение по умолчанию: 'dot'.

scale

Укажите масштаб амплитуды аудиосэмплов.

Доступные значения:

'lin'

Линейный.

'sqrt'

Квадратный корень.

'cbrt'

Кубический корень.

'log'

Логарифмический.

swap

Поменять местами ось левого канала с осью правого канала.

mirror

Зеркальная ось.

'none'

Нет зеркала.

'x'

Отразить только ось x.

'y'

Отразите только ось Y.

'xy'

Отразите обе оси.

16.6.1 Примеры

  • Полный пример с использованием ffplay:
    ffplay -f lavfi 'amovie=input.mp3, asplit [a][out1];
                 [a] avectorscope=zoom=1.3:rc=2:gc=200:bc=10:rf=1:gf=8:bf=7 [out0]'
    

16.6.2 Команды

Этот фильтр поддерживает все вышеперечисленные параметры в виде команд, кроме параметров sizeи rate.

16.7 bench, abench

Эталонная часть filtergraph.

Фильтр принимает следующие параметры:

action

Запустите или остановите таймер.

Доступные значения:

'start'

Получите текущее время, установите его как метаданные кадра (с помощью клавиши lavfi.bench.start_time) и перешлите кадр к следующему фильтру.

'stop'

Получите текущее время и извлеките lavfi.bench.start_timeметаданные из метаданных входного кадра, чтобы получить разницу во времени. Затем распечатываются разница во времени, среднее, максимальное и минимальное время (соответственно t, avg, maxи ). minМетки времени выражаются в секундах.

16.7.1 Примеры

  • Эталонный селективный цветной фильтр:
    bench=start,selectivecolor=reds=-.2 .12 -.49,bench=stop
    

16.8 concat

Объединяйте аудио- и видеопотоки, объединяя их один за другим.

Фильтр работает на сегментах синхронизированных видео- и аудиопотоков. Все сегменты должны иметь одинаковое количество потоков каждого типа, и это также будет количество потоков на выходе.

Фильтр принимает следующие параметры:

n

Установите количество сегментов. По умолчанию 2.

v

Установите количество выходных видеопотоков, то есть количество видеопотоков в каждом сегменте. По умолчанию 1.

a

Установите количество выходных аудиопотоков, то есть количество аудиопотоков в каждом сегменте. По умолчанию 0.

unsafe

Активировать небезопасный режим: не сбой, если сегменты имеют другой формат.

У фильтра есть v+ aвыходы: сначала vвидеовыходы, потом aаудиовыходы.

Есть nx( v+ a) входов: сначала входы для первого сегмента в том же порядке, что и выходы, затем входы для второго сегмента и т. д.

Связанные потоки не всегда имеют одинаковую продолжительность по разным причинам, в том числе из-за размера кадра кодека или небрежного авторинга. По этой причине связанные синхронизированные потоки (например, видео и его звуковая дорожка) должны быть объединены одновременно. Фильтр concat будет использовать длительность самого длинного потока в каждом сегменте (кроме последнего) и, при необходимости, заполнять более короткие аудиопотоки тишиной.

Чтобы этот фильтр работал правильно, все сегменты должны начинаться с отметки времени 0.

Все соответствующие потоки должны иметь одинаковые параметры во всех сегментах; система фильтрации автоматически выберет общий формат пикселей для видеопотоков и общий формат выборки, частоту дискретизации и расположение каналов для аудиопотоков, но другие настройки, такие как разрешение, должны быть явно преобразованы пользователем.

Различные частоты кадров допустимы, но приведут к переменной частоте кадров на выходе; не забудьте настроить выходной файл для его обработки.

16.8.1 Примеры

  • Объедините вступление, эпизод и концовку, все в двуязычной версии (видео в потоке 0, аудио в потоках 1 и 2):
    ffmpeg -i opening.mkv -i episode.mkv -i ending.mkv -filter_complex \
      '[0:0] [0:1] [0:2] [1:0] [1:1] [1:2] [2:0] [2:1] [2:2]
       concat=n=3:v=1:a=2 [v] [a1] [a2]' \
      -map '[v]' -map '[a1]' -map '[a2]' output.mkv
    
  • Объедините две части, обрабатывая звук и видео отдельно, используя (а) источники фильмов и настраивая разрешение:
    movie=part1.mp4, scale=512:288 [v1] ; amovie=part1.mp4 [a1] ;
    movie=part2.mp4, scale=512:288 [v2] ; amovie=part2.mp4 [a2] ;
    [v1] [v2] concat [outv] ; [a1] [a2] concat=v=0:a=1 [outa]
    

    Обратите внимание, что рассинхронизация произойдет в стежке, если аудио- и видеопотоки не имеют одинаковой продолжительности в первом файле.

16.8.2 Команды

Этот фильтр поддерживает следующие команды:

next

Закрыть текущий сегмент и перейти к следующему

16.9 ebur128

Фильтр сканера EBU R128. Этот фильтр берет аудиопоток и анализирует его уровень громкости. По умолчанию он регистрирует сообщение с частотой 10 Гц с мгновенной громкостью (обозначается M), кратковременной громкостью ( S), интегрированной громкостью ( I) и диапазоном громкости ( LRA).

Фильтр может анализировать только потоки, которые имеют формат выборки с плавающей запятой двойной точности. При необходимости входной поток будет преобразован в эту спецификацию. Пользователям может потребоваться вставить фильтры формата и/или выборки после этого фильтра, чтобы получить исходные параметры.

Фильтр также имеет видеовыход (см. videoопцию) с графиком в реальном времени для наблюдения за изменением громкости. Графика содержит зарегистрированное сообщение, упомянутое выше, поэтому оно больше не печатается, когда установлен этот параметр, если только не установлено подробное ведение журнала. Основная область графика содержит кратковременную громкость (3 секунды анализа), а датчик справа предназначен для мгновенной громкости (400 миллисекунд), но его можно дополнительно настроить для отображения кратковременной громкости (см gauge. ).

Зеленая область отмечает целевой диапазон +/- 1LU вокруг заданной громкости (по умолчанию -23LUFS, если не изменено с помощью target).

Дополнительную информацию о Рекомендации по громкости EBU R128 можно найти на http://tech.ebu.ch/loudness .

Фильтр принимает следующие параметры:

video

Активируйте видеовыход. Аудиопоток передается без изменений независимо от того, установлена ​​эта опция или нет. Видеопоток будет первым выходным потоком, если он активирован. Значение по умолчанию 0.

size

Установите размер видео. Этот параметр предназначен только для видео. Синтаксис этого параметра см. в разделе (ffmpeg-utils) «Размер видео» в руководстве по ffmpeg-utils . По умолчанию и минимальное разрешение 640x480.

meter

Установите измеритель шкалы EBU. Значение по умолчанию 9. Распространенными значениями являются 9и 18, соответственно для измерителя шкалы EBU +9 и измерителя шкалы EBU +18. Допускается любое другое целочисленное значение из этого диапазона.

metadata

Установите вставку метаданных. Если установлено значение 1, аудиовход будет сегментирован на выходные кадры по 100 мс, каждый из которых содержит различную информацию о громкости в метаданных. Все ключи метаданных имеют префикс lavfi.r128..

Значение по умолчанию 0.

framelog

Принудительно установите уровень ведения журнала кадров.

Доступные значения:

'info'

уровень регистрации информации

'verbose'

подробный уровень ведения журнала

По умолчанию уровень ведения журнала установлен на info. Еслиvideoилиmetadataпараметры установлены, он переключается на verbose.

peak

Установите пиковый режим(ы).

Доступные режимы могут суммироваться (опция является flagтипом). Возможные значения:

'none'

Отключите любой пиковый режим (по умолчанию).

'sample'

Включите режим выборки пика.

Простой пиковый режим с поиском более высокого значения выборки. Он регистрирует сообщение для пика выборки (обозначается SPK).

'true'

Включите режим истинного пика.

Если этот параметр включен, поиск пиков выполняется в версии входного потока с избыточной дискретизацией для повышения точности пиков. Он регистрирует сообщение для истинного пика. (обозначается TPK) и истинного пика на кадр (обозначается FTPK). Для этого режима требуется сборка с расширением libswresample.

dualmono

Относитесь к входным монофоническим файлам как к «двойному моно». Если монофонический файл предназначен для воспроизведения на стереосистеме, его измерение EBU R128 будет некорректным для восприятия. Если установлено значение true, эта опция компенсирует этот эффект. Этот параметр не влияет на многоканальные входные файлы.

panlaw

Установите специальный закон панорамирования, который будет использоваться для измерения двойных монофонических файлов. Этот параметр является необязательным и имеет значение по умолчанию -3,01 дБ.

target

Установите определенный целевой уровень (в LUFS), используемый в качестве относительного нуля в визуализации. Этот параметр является необязательным и имеет значение по умолчанию -23LUFS, как указано в EBU R128. Однако для материалов, опубликованных в Интернете, может быть предпочтительнее уровень -16LUFS (например, для использования с подкастами или видеоплатформами).

gauge

Установите значение, отображаемое датчиком. Допустимые значения: momentaryи s shortterm. По умолчанию будет использоваться мгновенное значение, но в некоторых сценариях может быть полезнее вместо этого наблюдать краткосрочное значение (например, живое микширование).

scale

Устанавливает масштаб дисплея для громкости. Допустимые параметры absolute (в LUFS) или relative(LU) относительно цели. Это влияет только на видеовыход, а не на сводку или непрерывный вывод журнала.

16.9.1 Примеры

  • График в реальном времени ffplayс использованием шкалы EBU +18:
    ffplay -f lavfi -i "amovie=input.mp3,ebur128=video=1:meter=18 [out0][out1]"
    
  • Запустите анализ с помощью ffmpeg:
    ffmpeg -nostats -i input.mp3 -filter_complex ebur128 -f null -
    

16.10 interleave, ainterleave

Временно чередовать кадры из нескольких входов.

interleaveработает с видеовходами, ainterleaveс аудио.

Эти фильтры считывают кадры с нескольких входов и отправляют на выход самый старый кадр из очереди.

Входные потоки должны иметь четко определенные, монотонно возрастающие значения метки времени кадра.

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

Например, рассмотрим случай, когда один вход является selectфильтром, который всегда пропускает входные кадры. Фильтр interleaveбудет продолжать чтение с этого входа, но он никогда не сможет отправлять новые кадры на выход, пока вход не отправит сигнал конца потока.

Также, в зависимости от синхронизации входов, фильтры будут отбрасывать кадры, если на один вход поступает больше кадров, чем на другие, а очередь уже заполнена.

Эти фильтры принимают следующие параметры:

nb_inputs, n

Установите количество различных входов, по умолчанию 2.

duration

Как определить конец потока.

longest

Продолжительность самого длинного ввода. (дефолт)

shortest

Продолжительность самого короткого ввода.

first

Продолжительность первого ввода.

16.10.1 Примеры

  • Чередуйте кадры, принадлежащие разным потокам, используя ffmpeg:
    ffmpeg -i bambi.avi -i pr0n.mkv -filter_complex "[0:v][1:v] interleave" out.avi
    
  • Добавьте мерцающий эффект размытия:
    select='if(gt(random(0), 0.2), 1, 2)':n=2 [tmp], boxblur=2:2, [tmp] interleave
    

16.11 latency, alatency

Измерьте задержку фильтрации.

Сообщите о предыдущей задержке фильтрации фильтра, задержке количества аудиосэмплов для аудиофильтров или количестве видеокадров для видеофильтров.

В конце входного потока фильтр сообщит о минимальной и максимальной измеренной задержке для предыдущего работающего фильтра в filtergraph.

16.12 metadata, ametadata

Управление метаданными кадра.

Этот фильтр принимает следующие параметры:

mode

Установить режим работы фильтра.

Может быть одним из следующих:

'select'

Если оба valueи keyустановлены, выберите кадры, которые имеют такие метаданные. Если keyустановлено only, выберите каждый кадр, имеющий такой ключ в метаданных.

'add'

Добавьте новые метаданные keyи файлы value. Если ключ уже доступен, ничего не делайте.

'modify'

Изменить значение уже существующего ключа.

'delete'

Если valueустановлено, удалять только ключи, имеющие такое значение. В противном случае удалите ключ. Если keyне установлено, удалите все значения метаданных в кадре.

'print'

Вывести ключ и его значение, если метаданные были найдены. Если keyне установлено, вывести все значения метаданных, доступные в кадре.

key

Установите ключ, используемый со всеми режимами. Должен быть установлен для всех режимов, кроме printи delete.

value

Установите значение метаданных, которое будет использоваться. Этот параметр является обязательным для режима modifyи .add

function

Какую функцию использовать при сравнении значения метаданных и value.

Может быть одним из следующих:

'same_str'

Значения интерпретируются как строки, возвращает true, если значение метаданных совпадает с value.

'starts_with'

Значения интерпретируются как строки, возвращает true, если значение метаданных начинается со valueстроки параметра.

'less'

Значения интерпретируются как числа с плавающей запятой, возвращает true, если значение метаданных меньше value.

'equal'

Значения интерпретируются как числа с плавающей запятой, возвращает true, если они valueравны значению метаданных.

'greater'

Значения интерпретируются как числа с плавающей запятой, возвращает true, если значение метаданных больше value.

'expr'

Значения интерпретируются как числа с плавающей запятой, возвращает true, если выражение из option expr оценивается как true.

'ends_with'

Значения интерпретируются как строки, возвращает true, если значение метаданных заканчивается valueстрокой параметра.

expr

Установите выражение, которое используется, когда functionустановлено значение expr. Выражение оценивается через eval API и может содержать следующие константы:

VALUE1, FRAMEVAL

Плавающее представление valueиз ключа метаданных.

VALUE2, USERVAL

Представление с плавающей запятой value, предоставленное пользователем в valueопции.

file

Если указано в printрежиме, вывод записывается в указанный файл. Вместо простого имени файла можно указать любой доступный для записи URL. Имя файла «-» является сокращением для стандартного вывода. Если fileопция не установлена, выходные данные записываются в журнал с уровнем журнала AV_LOG_INFO.

direct

Уменьшает буферизацию в режиме печати, когда вывод записывается в URL-адрес, заданный с помощью file.

16.12.1 Примеры

  • Вывести все значения метаданных для кадров с ключом lavfi.signalstats.YDIFсо значениями от 0 до 1.
    signalstats,metadata=print:key=lavfi.signalstats.YDIF:value=0:function=expr:expr='between(VALUE1,0,1)'
    
  • Распечатать вывод тишины в файлmetadata.txt.
    silencedetect,ametadata=mode=print:file=metadata.txt
    
  • Направьте все метаданные в канал с файловым дескриптором 4.
    metadata=mode=print:file='pipe\:4'
    

16.13 perms, aperms

Установите разрешения на чтение/запись для выходных кадров.

Эти фильтры в основном предназначены для разработчиков, чтобы проверить прямой путь в следующем фильтре в графе фильтров.

Фильтры принимают следующие параметры:

mode

Выберите режим разрешений.

Он принимает следующие значения:

'none'

Ничего не делать. Это значение по умолчанию.

'ro'

Установить все выходные кадры только для чтения.

'rw'

Сделайте все выходные кадры доступными для прямой записи.

'toggle'

Сделайте кадр доступным только для чтения, если он доступен для записи, и доступным для записи, если он доступен только для чтения.

'random'

Установите каждый выходной фрейм доступным только для чтения или записи в случайном порядке.

seed

Установите начальное значение для randomрежима, оно должно быть целым числом между 0и UINT32_MAX. Если не указано или явно задано значение -1, фильтр попытается использовать хорошее случайное начальное число в максимально возможной степени.

Примечание: в случае автоматического вставления фильтра между фильтром разрешений и последующим фильтром разрешение может быть получено не так, как ожидалось, в следующем фильтре. Вставка формата или фильтра формата перед фильтром perms /aperms может избежать этой проблемы.

16.14 realtime, arealtime

Замедлить фильтрацию, чтобы приблизительно соответствовать реальному времени.

Эти фильтры приостанавливают фильтрацию на определенное время, чтобы скорость вывода соответствовала временным меткам ввода. Они похожи наreвариант к ffmpeg.

Они принимают следующие варианты:

limit

Ограничение по времени для пауз. Любая более длительная пауза будет считаться разрывом метки времени и сбрасывать таймер. По умолчанию 2 секунды.

speed

Фактор скорости обработки. Значение должно быть числом с плавающей запятой больше нуля. Значения больше 1,0 приведут к более быстрой обработке, чем в реальном времени, меньшие значения замедлят обработку. Автоматически limitадаптируется соответствующим образом. По умолчанию 1.0.

Скорость обработки выше, чем та, которая возможна без этих фильтров, не может быть достигнута.

16.14.1 Команды

Оба фильтра поддерживают все вышеперечисленные опции в виде команд .

16.15 segment, asegment

Разделить один входной поток на несколько потоков.

Этот фильтр работает противоположно фильтрам concat.

segmentработает на видеокадрах, asegmentна аудиосэмплах.

Этот фильтр принимает следующие параметры:

timestamps

Временные метки выходных сегментов, разделенные '|'. Первый сегмент будет запускаться с начала входного потока. Последний сегмент будет работать до конца входного потока

frames, samples

Точное количество кадров/выборок для разделения сегментов.

Во всех случаях префикс каждого сегмента с «+» сделает его относительным к предыдущему сегменту.

16.15.1 Примеры

  • Разделить входной аудиопоток на три выходных аудиопотока, начиная с начала входного аудиопотока и сохраняя его в 1-м выходном аудиопотоке, затем следуя на 60-й секунде и сохраняя его во 2-м выходном аудиопотоке, и последний после 150-й секунды хранения входного аудиопотока в 3-м выходном аудиопотоке:
    asegment=timestamps="60|150"
    

16.16 select, aselect

Выберите кадры для передачи на выходе.

Этот фильтр принимает следующие параметры:

expr, e

Установите выражение, которое оценивается для каждого входного кадра.

Если выражение равно нулю, кадр отбрасывается.

Если результат оценки отрицательный или NaN, кадр отправляется на первый выход; в противном случае он отправляется на выход с индексом ceil(val)-1, предполагая, что входной индекс начинается с 0.

Например, значение 1.2соответствует выводу с индексом ceil(1.2)-1 = 2-1 = 1, то есть второму выводу.

outputs, n

Установите количество выходов. Выход, на который следует отправить выбранный кадр, основан на результате оценки. Значение по умолчанию — 1.

Выражение может содержать следующие константы:

n

(Порядковый) номер отфильтрованного кадра, начиная с 0.

selected_n

(Порядковый) номер выбранного кадра, начиная с 0.

prev_selected_n

Порядковый номер последнего выбранного кадра. Это NAN, если не определено.

TB

Временная база входных временных меток.

pts

PTS (отметка времени представления) отфильтрованного кадра, выраженная в TBединицах. Это NAN, если не определено.

t

PTS отфильтрованного кадра, выраженное в секундах. Это NAN, если не определено.

prev_pts

PTS ранее отфильтрованного кадра. Это NAN, если не определено.

prev_selected_pts

PTS последнего ранее отфильтрованного кадра. Это NAN, если не определено.

prev_selected_t

PTS последнего ранее выбранного кадра, выраженное в секундах. Это NAN, если не определено.

start_pts

Первый PTS в потоке, не являющийся NAN. Он остается NAN, если не найден.

start_t

Первый PTS в секундах в потоке, который не является NAN. Он остается NAN, если не найден.

pict_type (video only)

Тип отфильтрованного кадра. Он может принимать одно из следующих значений:

I
P
B
S
SI
SP
BI
interlace_type (video only)

Тип чередования кадров. Он может принимать одно из следующих значений:

PROGRESSIVE

Кадр прогрессивный (не чересстрочный).

TOPFIRST

Кадр находится в верхнем поле.

BOTTOMFIRST

Кадр располагается в нижней части поля.

consumed_sample_n (audio only)

количество выбранных сэмплов перед текущим кадром

samples_n (audio only)

количество семплов в текущем кадре

sample_rate (audio only)

входная частота дискретизации

key

Это 1, если отфильтрованный кадр является ключевым кадром, 0 в противном случае.

pos

позиция в файле отфильтрованного кадра, -1, если информация недоступна (например, для синтетического видео)

scene (video only)

значение от 0 до 1 для указания новой сцены; низкое значение отражает низкую вероятность того, что текущий кадр представит новую сцену, в то время как более высокое значение означает, что текущий кадр, скорее всего, будет единым (см. пример ниже).

concatdec_select

Демультиплексор concat может выбрать только часть входного файла concat, установив начальную и конечную точки, но выходные пакеты могут не полностью содержаться в выбранном интервале. Используя эту переменную, можно пропускать кадры, сгенерированные демультиплексором concat, которые точно не содержатся в выбранном интервале.

Это работает путем сравнения точек кадра со lavf.concat.start_time значениями lavf.concat.durationметаданных пакета, которые также присутствуют в декодированных кадрах.

Переменная concatdec_selectравна -1, если точки кадра имеют по крайней мере значение start_time и либо метаданные продолжительности отсутствуют, либо точки кадров меньше, чем start_time + длительность, в противном случае 0, и NaN, если отсутствуют метаданные start_time.

В основном это означает, что входной кадр выбирается, если его точки находятся в пределах интервала, установленного демультиплексором concat.

Значение выражения выбора по умолчанию равно "1".

16.16.1 Примеры

  • Выберите все кадры на входе:
    select
    

    Пример выше аналогичен:

    select=1
    
  • Пропустить все кадры:
    select=0
    
  • Выберите только I-кадры:
    select='eq(pict_type\,I)'
    
  • Выберите один кадр каждые 100:
    select='not(mod(n\,100))'
    
  • Выберите только кадры, содержащиеся во временном интервале 10-20:
    select=between(t\,10\,20)
    
  • Выберите только I-кадры, содержащиеся во временном интервале 10-20:
    select=between(t\,10\,20)*eq(pict_type\,I)
    
  • Выберите кадры с минимальным расстоянием 10 секунд:
    select='isnan(prev_selected_t)+gte(t-prev_selected_t\,10)'
    
  • Используйте aselect, чтобы выбрать только аудиокадры с количеством сэмплов> 100:
    aselect='gt(samples_n\,100)'
    
  • Создайте мозаику из первых сцен:
    ffmpeg -i video.avi -vf select='gt(scene\,0.4)',scale=160:120,tile -frames:v 1 preview.png
    

    Сравнение sceneсо значением от 0,3 до 0,5, как правило, является разумным выбором.

  • Отправьте четные и нечетные кадры на отдельные выходы и скомпонуйте их:
    select=n=2:e='mod(n, 2)+1' [odd][even]; [odd] pad=h=2*ih [tmp]; [tmp][even] overlay=y=h
    
  • Выберите полезные кадры из файла ffconcat, который использует точки входа и выхода, но где исходные файлы не только внутри кадра.
    ffmpeg -copyts -vsync 0 -segment_time_metadata 1 -i input.ffconcat -vf select=concatdec_select -af aselect=concatdec_select output.avi
    

16.17 sendcmd, asendcmd

Отправьте команды фильтрам в filtergraph.

Эти фильтры считывают команды для отправки другим фильтрам в filtergraph.

sendcmdдолжны быть вставлены между двумя видеофильтрами, asendcmdдолжны быть вставлены между двумя аудиофильтрами, но в остальном они действуют одинаково.

Спецификация команд может быть предоставлена ​​в аргументах фильтра с commandsопцией или в файле, указанном filenameопцией.

Эти фильтры принимают следующие параметры:

commands, c

Установите команды для чтения и отправки другим фильтрам.

filename, f

Установите имя файла команд для чтения и отправки другим фильтрам.

16.17.1 Синтаксис команд

Описание команд состоит из последовательности спецификаций интервалов, включая список команд, которые должны быть выполнены, когда происходит конкретное событие, связанное с этим интервалом. Происходящее событие обычно представляет собой время текущего кадра, входящего или выходящего из заданного временного интервала.

Интервал задается следующим синтаксисом:

START[-END] COMMANDS;

Временной интервал задается символами STARTи ENDраз. ENDявляется необязательным и по умолчанию равно максимальному времени.

Текущее время кадра считается внутри указанного интервала, если оно входит в интервал [ START, END), то есть когда время больше или равно STARTи меньше END.

COMMANDSсостоит из последовательности одной или нескольких спецификаций команд, разделенных знаком «,», относящихся к этому интервалу. Синтаксис спецификации команды определяется следующим образом:

[FLAGS] TARGET COMMAND ARG

FLAGSявляется необязательным и указывает тип событий, относящихся к интервалу времени, которые позволяют отправить указанную команду, и должен быть ненулевой последовательностью флагов идентификатора, разделенных знаком «+» или «|». и заключены между "[" и "]".

Распознаются следующие флаги:

enter

Команда отправляется, когда временная метка текущего кадра входит в указанный интервал. Другими словами, команда отправляется, когда временная метка предыдущего кадра не была в заданном интервале, а текущий есть.

leave

Команда отправляется, когда временная метка текущего кадра покидает указанный интервал. Другими словами, команда отправляется, когда временная метка предыдущего кадра была в заданном интервале, а текущая — нет.

expr

Команда ARGинтерпретируется как выражение, а результат выражения передается как ARG.

Выражение оценивается через eval API и может содержать следующие константы:

POS

Исходное положение кадра в файле или неопределенное, если оно не определено для текущего кадра.

PTS

Временная метка презентации во входных данных.

N

Количество входных кадров для видео или аудио, начиная с 0.

T

Время в секундах текущего кадра.

TS

Время начала в секундах текущего командного интервала.

TE

Время окончания в секундах текущего командного интервала.

TI

Интерполированное время текущего командного интервала, TI = (T - TS) / (TE - TS).

W

Ширина кадра видео.

H

Высота кадра видео.

Если FLAGSне указано, предполагается значение по умолчанию [enter].

TARGETуказывает цель команды, обычно это имя класса фильтра или конкретное имя экземпляра фильтра.

COMMANDуказывает имя команды для целевого фильтра.

ARGявляется необязательным и указывает необязательный список аргументов для данного COMMAND.

Между одной спецификацией интервала и другой пробелы или последовательности символов, начинающиеся с #до конца строки, игнорируются и могут использоваться для аннотирования комментариев.

Ниже приведено упрощенное описание синтаксиса спецификации команд в формате BNF:

COMMAND_FLAG  ::= "enter" | "leave"
COMMAND_FLAGS ::= COMMAND_FLAG [(+|"|")COMMAND_FLAG]
COMMAND       ::= ["[" COMMAND_FLAGS "]"] TARGET COMMAND [ARG]
COMMANDS      ::= COMMAND [,COMMANDS]
INTERVAL      ::= START[-END] COMMANDS
INTERVALS     ::= INTERVAL[;INTERVALS]

16.17.2 Примеры

  • Укажите изменение темпа звука на 4-й секунде:
    asendcmd=c='4.0 atempo tempo 1.5',atempo
    
  • Таргетинг на конкретный экземпляр фильтра:
    asendcmd=c='4.0 atempo@my tempo 1.5',atempo@my
    
  • Укажите список команд drawtext и hue в файле.
    # show text in the interval 5-10
    5.0-10.0 [enter] drawtext reinit 'fontfile=FreeSerif.ttf:text=hello world',
             [leave] drawtext reinit 'fontfile=FreeSerif.ttf:text=';
    
    # desaturate the image in the interval 15-20
    15.0-20.0 [enter] hue s 0,
              [enter] drawtext reinit 'fontfile=FreeSerif.ttf:text=nocolor',
              [leave] hue s 1,
              [leave] drawtext reinit 'fontfile=FreeSerif.ttf:text=color';
    
    # apply an exponential saturation fade-out effect, starting from time 25
    25 [enter] hue s exp(25-t)
    

    Граф фильтра, позволяющий читать и обрабатывать приведенный выше список команд, хранящийся в файле.test.cmd, можно указать с помощью:

    sendcmd=f=test.cmd,drawtext=fontfile=FreeSerif.ttf:text='',hue
    

16.18 setpts, asetpts

Измените PTS (временную метку представления) входных кадров.

setptsработает на видеокадрах, asetptsна аудиокадрах.

Этот фильтр принимает следующие параметры:

expr

Выражение, которое оценивается для каждого кадра для построения его метки времени.

Выражение оценивается через eval API и может содержать следующие константы:

FRAME_RATE, FR

частота кадров, определенная только для видео с постоянной частотой кадров

PTS

Временная метка презентации во входных данных

N

Количество входных кадров для видео или количество потребленных семплов, не включая текущий кадр для аудио, начиная с 0.

NB_CONSUMED_SAMPLES

Количество потребляемых семплов, не считая текущего кадра (только аудио)

NB_SAMPLES, S

Количество семплов в текущем кадре (только аудио)

SAMPLE_RATE, SR

Частота дискретизации звука.

STARTPTS

PTS первого кадра.

STARTT

время в секундах первого кадра

INTERLACED

Укажите, является ли текущий кадр чересстрочным.

T

время в секундах текущего кадра

POS

исходная позиция в файле кадра или undefined, если не определено для текущего кадра

PREV_INPTS

Предыдущий вход PTS.

PREV_INT

предыдущее время ввода в секундах

PREV_OUTPTS

Предыдущий выход ПТС.

PREV_OUTT

предыдущее время вывода в секундах

RTCTIME

Время настенных часов (RTC) в микросекундах. Это устарело, вместо этого используйте time(0).

RTCSTART

Время настенных часов (RTC) в начале фильма в микросекундах.

TB

Временная база входных временных меток.

16.18.1 Примеры

  • Начать отсчет PTS с нуля
    setpts=PTS-STARTPTS
    
  • Примените эффект быстрого движения:
    setpts=0.5*PTS
    
  • Примените эффект замедленного движения:
    setpts=2.0*PTS
    
  • Установите фиксированную скорость 25 кадров в секунду:
    setpts=N/(25*TB)
    
  • Установите фиксированную скорость 25 кадров в секунду с некоторым дрожанием:
    setpts='1/(25*TB) * (N + 0.05 * sin(N*2*PI/25))'
    
  • Примените смещение 10 секунд ко входу PTS:
    setpts=PTS+10/TB
    
  • Сгенерируйте временные метки из «живого источника» и перебазируйте на текущую временную базу:
    setpts='(RTCTIME - RTCSTART) / (TB * 1000000)'
    
  • Создание временных меток путем подсчета выборок:
    asetpts=N/SR/TB
    

16.19 setrange

Принудительный цветовой диапазон для выходного видеокадра.

Фильтр setrangeотмечает свойство цветового диапазона для выходных кадров. Он не изменяет входной кадр, а только устанавливает соответствующее свойство, которое влияет на то, как кадр обрабатывается следующими фильтрами.

Фильтр принимает следующие параметры:

range

Доступные значения:

'auto'

Сохраняйте то же свойство цветового диапазона.

'unspecified, unknown'

Установите цветовой диапазон как неопределенный.

'limited, tv, mpeg'

Установите цветовой диапазон как ограниченный.

'full, pc, jpeg'

Установите цветовой диапазон как полный.

16.20 settb, asettb

Установите временную базу для временных меток выходных кадров. Это в основном полезно для тестирования конфигурации временной базы.

Он принимает следующие параметры:

expr, tb

Выражение, которое оценивается в выходной временной шкале.

Значение дляtbявляется арифметическим выражением, представляющим рациональное число. Выражение может содержать константы «AVTB» (временная база по умолчанию), «intb» (входная временная база) и «sr» (частота дискретизации, только аудио). Значение по умолчанию — «интб».

16.20.1 Примеры

  • Установите временную шкалу на 1/25:
    settb=expr=1/25
    
  • Установите временную шкалу на 1/10:
    settb=expr=0.1
    
  • Установите временную базу на 1001/1000:
    settb=1+0.001
    
  • Установите временную базу на 2*intb:
    settb=2*intb
    
  • Установите значение временной базы по умолчанию:
    settb=AVTB
    

16.21 showcqt

Преобразование входного аудио в выходной видеосигнал, представляющий частотный спектр логарифмически, с использованием алгоритма преобразования постоянной добротности Брауна-Пакетта с прямым вычислением коэффициента частотной области (но само преобразование на самом деле не является постоянной добротностью, вместо этого коэффициент добротности фактически является переменным/фиксированным), с музыкальным тоном шкала от E0 до D#10.

Фильтр принимает следующие параметры:

size, s

Укажите размер видео для вывода. Должно быть ровно. Синтаксис этого параметра см. в разделе (ffmpeg-utils) «Размер видео» в руководстве по ffmpeg-utils . Значение по умолчанию 1920x1080.

fps, rate, r

Установите выходную частоту кадров. Значение по умолчанию 25.

bar_h

Установите высоту гистограммы. Должно быть ровно. Значение по умолчанию — -1это автоматическое вычисление высоты гистограммы.

axis_h

Установите высоту оси. Должно быть ровно. Значение по умолчанию — -1это автоматическое вычисление высоты оси.

sono_h

Установите высоту сонограммы. Должно быть ровно. Значение по умолчанию — -1это автоматическое вычисление высоты сонограммы.

fullhd

Ставь фулхд разрешение. Этот параметр устарел size, s вместо него используйте . Значение по умолчанию 1.

sono_v, volume

Укажите выражение объема сонограммы. Он может содержать переменные:

bar_v

bar_vоцененное выражение

frequency, freq, f

частота, на которой он оценивается

timeclamp, tc

стоимость timeclampопциона

и функции:

a_weighting(f)

A-взвешивание равной громкости

b_weighting(f)

B-взвешивание равной громкости

c_weighting(f)

C-взвешивание равной громкости.

Значение по умолчанию 16.

bar_v, volume2

Задайте выражение объема гистограммы. Он может содержать переменные:

sono_v

sono_vоцененное выражение

frequency, freq, f

частота, на которой он оценивается

timeclamp, tc

стоимость timeclampопциона

и функции:

a_weighting(f)

A-взвешивание равной громкости

b_weighting(f)

B-взвешивание равной громкости

c_weighting(f)

C-взвешивание равной громкости.

Значение по умолчанию sono_v.

sono_g, gamma

Укажите гамма-сонограмму. Низкая гамма делает спектр более контрастным, более высокая гамма делает спектр более широким. Значение по умолчанию 3. Допустимый диапазон [1, 7].

bar_g, gamma2

Укажите гамму гистограммы. Значение по умолчанию 1. Допустимый диапазон [1, 7].

bar_t

Укажите уровень прозрачности гистограммы. Меньшее значение делает гистограмму более четкой. Значение по умолчанию 1. Допустимый диапазон [0, 1].

timeclamp, tc

Задайте временной зажим преобразования. На низкой частоте существует компромисс между точностью во временной и частотной областях. Если timeclamp меньше, событие во временной области представляется более точно (например, быстрый бас-барабан), в противном случае событие в частотной области представляется более точно (например, бас-гитара). Допустимый диапазон [0.002, 1]. Значение по умолчанию 0.17.

attack

Установите время атаки в секундах. По умолчанию 0(отключено). В противном случае он ограничивает будущие выборки, применяя асимметричное управление окнами во временной области, что полезно, когда требуется низкая задержка. Допустимый диапазон [0, 1].

basefreq

Задайте базовую частоту преобразования. Значение по умолчанию равно 20.01523126408007475, что соответствует частоте на 50 центов ниже E0. Допустимый диапазон [10, 100000].

endfreq

Укажите конечную частоту преобразования. Значение по умолчанию равно 20495.59681441799654, что соответствует частоте на 50 центов выше D#10. Допустимый диапазон [10, 100000].

coeffclamp

Этот параметр устарел и игнорируется.

tlength

Задайте длину преобразования во временной области. Используйте эту опцию, чтобы управлять компромиссом точности между временной областью и частотной областью для каждой выборки частоты. Он может содержать переменные:

frequency, freq, f

частота, на которой он оценивается

timeclamp, tc

стоимость timeclampопциона.

Значение по умолчанию 384*tc/(384+tc*f).

count

Укажите количество преобразований для каждого видеокадра. Значение по умолчанию 6. Допустимый диапазон [1, 30].

fcount

Укажите количество преобразований для каждого отдельного пикселя. Значение по умолчанию равно 0, поэтому оно вычисляется автоматически. Допустимый диапазон [0, 10].

fontfile

Укажите файл шрифта для использования с FreeType для рисования оси. Если не указано, используйте встроенный шрифт. Обратите внимание, что рисование с помощью файла шрифта или встроенного шрифта не реализуется с помощью пользовательского basefreqи вместо этого endfreqиспользуйте параметр .axisfile

font

Укажите шаблон fontconfig. Это имеет более низкий приоритет, чем fontfile. В :шаблоне можно заменить на , |чтобы избежать ненужного экранирования.

fontcolor

Укажите выражение цвета шрифта. Это арифметическое выражение, которое должно возвращать целочисленное значение 0xRRGGBB. Он может содержать переменные:

frequency, freq, f

частота, на которой он оценивается

timeclamp, tc

стоимость timeclampопциона

и функции:

midi(f)

число миди частоты f, некоторые числа миди: E0(16), C1(24), C2(36), A4(69)

r(x), g(x), b(x)

красное, зеленое и синее значение интенсивности x.

Значение по умолчанию st(0, (midi(f)-59.5)/12); st(1, if(between(ld(0),0,1), 0.5-0.5*cos(2*PI*ld(0)), 0)); r(1-ld(1)) + b(ld(1)).

axisfile

Укажите файл изображения для рисования оси. Этот параметр переопределяет fontfileи fontcolorпараметр.

axis, text

Включить/выключить рисование текста на оси. Если установлено значение 0, рисование по оси отключается, игнорируя fontfileи axisfileпараметр. Значение по умолчанию 1.

csp

Установить цветовое пространство. Принятые значения:

'unspecified'

Не указано (по умолчанию)

'bt709'

БТ.709

'fcc'

ФКК

'bt470bg'

BT.470BG или BT.601-6 625

'smpte170m'

СМПТЭ-170М или БТ.601-6 525

'smpte240m'

СМПТЭ-240М

'bt2020ncl'

BT.2020 с непостоянной яркостью

cscheme

Установить цветовую схему спектрограммы. Это список значений с плавающей запятой в формате left_r|left_g|left_b|right_r|right_g|right_b. Значение по умолчанию 1|0.5|0|0|0.5|1.

16.21.1 Примеры

  • Воспроизведение звука при отображении спектра:
    ffplay -f lavfi 'amovie=a.mp3, asplit [a][out1]; [a] showcqt [out0]'
    
  • То же, что и выше, но с частотой кадров 30 кадров в секунду:
    ffplay -f lavfi 'amovie=a.mp3, asplit [a][out1]; [a] showcqt=fps=30:count=5 [out0]'
    
  • Воспроизведение в разрешении 1280x720:
    ffplay -f lavfi 'amovie=a.mp3, asplit [a][out1]; [a] showcqt=s=1280x720:count=4 [out0]'
    
  • Отключить отображение сонограммы:
    sono_h=0
    
  • А1 и ее гармоники: А1, А2, (ближняя) Е3, А3:
    ffplay -f lavfi 'aevalsrc=0.1*sin(2*PI*55*t)+0.1*sin(4*PI*55*t)+0.1*sin(6*PI*55*t)+0.1*sin(8*PI*55*t),
                     asplit[a][out1]; [a] showcqt [out0]'
    
  • То же, что и выше, но с большей точностью в частотной области:
    ffplay -f lavfi 'aevalsrc=0.1*sin(2*PI*55*t)+0.1*sin(4*PI*55*t)+0.1*sin(6*PI*55*t)+0.1*sin(8*PI*55*t),
                     asplit[a][out1]; [a] showcqt=timeclamp=0.5 [out0]'
    
  • Пользовательский объем:
    bar_v=10:sono_v=bar_v*a_weighting(f)
    
  • Пользовательская гамма, теперь спектр линейен по отношению к амплитуде.
    bar_g=2:sono_g=2
    
  • Пользовательское уравнение tlength:
    tc=0.33:tlength='st(0,0.17); 384*tc / (384 / ld(0) + tc*f /(1-ld(0))) + 384*tc / (tc*f / ld(0) + 384 /(1-ld(0)))'
    
  • Пользовательский цвет шрифта и файл шрифта, C-нота окрашена в зеленый цвет, другие окрашены в синий цвет:
    fontcolor='if(mod(floor(midi(f)+0.5),12), 0x0000FF, g(1))':fontfile=myfont.ttf
    
  • Пользовательский шрифт с помощью fontconfig:
    font='Courier New,Monospace,mono|bold'
    
  • Пользовательский диапазон частот с пользовательской осью с использованием файла изображения:
    axisfile=myaxis.png:basefreq=40:endfreq=10000
    

16.22 showfreqs

Преобразуйте входной звук в видеовыход, представляющий спектр звуковой мощности. Амплитуда звука находится по оси Y, а частота — по оси X.

Фильтр принимает следующие параметры:

size, s

Укажите размер видео. Синтаксис этого параметра см. в разделе (ffmpeg-utils) «Размер видео» в руководстве по ffmpeg-utils . Значение по умолчанию 1024x512.

rate, r

Установить скорость видео. Значение по умолчанию 25.

mode

Установите режим отображения. Это устанавливает, как будет представлен каждый частотный бин.

Он принимает следующие значения:

'line'
'bar'
'dot'

Значение по умолчанию bar.

ascale

Установить масштаб амплитуды.

Он принимает следующие значения:

'lin'

Линейная шкала.

'sqrt'

Шкала квадратного корня.

'cbrt'

Масштаб кубического корня.

'log'

Логарифмическая шкала.

Значение по умолчанию log.

fscale

Установить шкалу частоты.

Он принимает следующие значения:

'lin'

Линейная шкала.

'log'

Логарифмическая шкала.

'rlog'

Обратнологарифмическая шкала.

Значение по умолчанию lin.

win_size

Установить размер окна. Допустимый диапазон от 16 до 65536.

По умолчанию2048

win_func

Установите оконную функцию.

Он принимает следующие значения:

'rect'
'bartlett'
'hanning'
'hamming'
'blackman'
'welch'
'flattop'
'bharris'
'bnuttall'
'bhann'
'sine'
'nuttall'
'lanczos'
'gauss'
'tukey'
'dolph'
'cauchy'
'parzen'
'poisson'
'bohman'

Значение по умолчанию hanning.

overlap

Установите перекрытие окна. В диапазоне [0, 1]. Значение по умолчанию означает 1, что будет выбрано оптимальное перекрытие для выбранной оконной функции.

averaging

Установить усреднение по времени. Установка этого параметра на 0 будет отображать текущие максимальные пики. Значение по умолчанию 1, что означает, что усреднение по времени отключено.

colors

Укажите список цветов, разделенных пробелом или '|' который будет использоваться для рисования частот каналов. Нераспознанные или отсутствующие цвета будут заменены белым цветом.

cmode

Установить режим отображения каналов.

Он принимает следующие значения:

'combined'
'separate'

Значение по умолчанию combined.

minamp

Установите минимальную амплитуду, используемую в logмасштабере амплитуды.

data

Установить режим отображения данных.

Он принимает следующие значения:

'magnitude'
'phase'
'delay'

Значение по умолчанию magnitude.

channels

Установите каналы для использования при обработке звука. По умолчанию обрабатываются все.

16.23 showspatial

Преобразуйте входной стереофонический звук в видеовыход, представляя пространственное отношение между двумя каналами.

Фильтр принимает следующие параметры:

size, s

Укажите размер видео для вывода. Синтаксис этого параметра см. в разделе (ffmpeg-utils) «Размер видео» в руководстве по ffmpeg-utils . Значение по умолчанию 512x512.

win_size

Установить размер окна. Допустимый диапазон от 1024до 65536. Размер по умолчанию 4096.

win_func

Установить оконную функцию.

Он принимает следующие значения:

'rect'
'bartlett'
'hann'
'hanning'
'hamming'
'blackman'
'welch'
'flattop'
'bharris'
'bnuttall'
'bhann'
'sine'
'nuttall'
'lanczos'
'gauss'
'tukey'
'dolph'
'cauchy'
'parzen'
'poisson'
'bohman'

Значение по умолчанию hann.

overlap

Установите коэффициент перекрытия окна. Значение по умолчанию 0.5. Когда значение 1перекрытия устанавливается на рекомендуемый размер для конкретной функции окна, используемой в настоящее время.

16.24 showspectrum

Преобразуйте входной звук в видеовыход, представляя звуковой частотный спектр.

Фильтр принимает следующие параметры:

size, s

Укажите размер видео для вывода. Синтаксис этого параметра см. в разделе (ffmpeg-utils) «Размер видео» в руководстве по ffmpeg-utils . Значение по умолчанию 640x512.

slide

Укажите, как спектр должен скользить по окну.

Он принимает следующие значения:

'replace'

образцы начинаются снова слева, когда достигают права

'scroll'

образцы прокручиваются справа налево

'fullframe'

кадры создаются только тогда, когда сэмплы достигают нужного

'rscroll'

образцы прокручиваются слева направо

'lreplace'

образцы начинаются снова справа, когда они достигают левого

Значение по умолчанию replace.

mode

Укажите режим отображения.

Он принимает следующие значения:

'combined'

все каналы отображаются в одной строке

'separate'

все каналы отображаются в отдельных строках

Значение по умолчанию: 'combined'.

color

Укажите цветовой режим дисплея.

Он принимает следующие значения:

'channel'

каждый канал отображается отдельным цветом

'intensity'

каждый канал отображается с использованием одной и той же цветовой схемы

'rainbow'

каждый канал отображается с использованием цветовой схемы радуги

'moreland'

каждый канал отображается с использованием цветовой схемы Морленда

'nebulae'

каждый канал отображается с использованием цветовой схемы туманностей

'fire'

каждый канал отображается с использованием цветовой схемы огня

'fiery'

каждый канал отображается с использованием огненной цветовой схемы

'fruit'

каждый канал отображается с использованием цветовой схемы фруктов

'cool'

каждый канал отображается с использованием классной цветовой схемы

'magma'

каждый канал отображается с использованием цветовой схемы магмы

'green'

каждый канал отображается с использованием зеленой цветовой схемы

'viridis'

каждый канал отображается с использованием цветовой схемы viridis

'plasma'

каждый канал отображается с использованием цветовой схемы плазмы

'cividis'

каждый канал отображается с использованием цветовой схемы cividis

'terrain'

каждый канал отображается с использованием цветовой схемы ландшафта

Значение по умолчанию: 'channel'.

scale

Укажите масштаб, используемый для вычисления значений интенсивности цвета.

Он принимает следующие значения:

'lin'

линейный

'sqrt'

квадратный корень, по умолчанию

'cbrt'

кубический корень

'log'

логарифмический

'4thrt'

4-й корень

'5thrt'

5-й корень

Значение по умолчанию: 'sqrt'.

fscale

Задайте шкалу частот.

Он принимает следующие значения:

'lin'

линейный

'log'

логарифмический

Значение по умолчанию: 'lin'.

saturation

Установите модификатор насыщенности для отображаемых цветов. Отрицательные значения обеспечивают альтернативную цветовую схему. 0вообще нет насыщения. Насыщенность должна быть в диапазоне [-10,0, 10,0]. Значение по умолчанию 1.

win_func

Установить оконную функцию.

Он принимает следующие значения:

'rect'
'bartlett'
'hann'
'hanning'
'hamming'
'blackman'
'welch'
'flattop'
'bharris'
'bnuttall'
'bhann'
'sine'
'nuttall'
'lanczos'
'gauss'
'tukey'
'dolph'
'cauchy'
'parzen'
'poisson'
'bohman'

Значение по умолчанию hann.

orientation

Установить ориентацию оси времени и частоты. Можно verticalили horizontal. Значение по умолчанию vertical.

overlap

Установите коэффициент перекрытия окна. Значение по умолчанию 0. Когда значение 1перекрытия устанавливается на рекомендуемый размер для конкретной функции окна, используемой в настоящее время.

gain

Установите усиление шкалы для расчета значений интенсивности цвета. Значение по умолчанию 1.

data

Установите, какие данные отображать. Может быть magnitude, по умолчанию или phase, или развернутая фаза: uphase.

rotation

Установить поворот цвета, должен быть в диапазоне [-1.0, 1.0]. Значение по умолчанию 0.

start

Установите начальную частоту, с которой будет отображаться спектрограмма. Значение по умолчанию 0.

stop

Установите частоту остановки для отображения спектрограммы. Значение по умолчанию 0.

fps

Установите верхний предел частоты кадров. По умолчанию auto, неограниченно.

legend

Нарисуйте оси времени и частоты и легенды. По умолчанию отключено.

drange

Установите динамический диапазон, используемый для расчета значений интенсивности цвета. Значение по умолчанию — 120 дБ полной шкалы. Допустимый диапазон от 10 до 200.

limit

Установите верхний предел громкости входных аудиосэмплов в dBFS. По умолчанию 0 дБ полной шкалы. Допустимый диапазон от -100 до 100.

opacity

Установите степень непрозрачности при использовании вывода в формате пикселей с альфа-компонентом.

Использование очень похоже на фильтр showwaves; см. примеры в этом разделе.

16.24.1 Примеры

  • Большое окно с логарифмическим масштабированием цвета:
    showspectrum=s=1280x480:scale=log
    
  • Полный пример цветного и скользящего спектра для каждого канала с использованием ffplay:
    ffplay -f lavfi 'amovie=input.mp3, asplit [a][out1];
                 [a] showspectrum=mode=separate:color=intensity:slide=1:scale=cbrt [out0]'
    

16.25 showspectrumpic

Преобразуйте входной звук в один видеокадр, представляющий спектр звуковых частот.

Фильтр принимает следующие параметры:

size, s

Укажите размер видео для вывода. Синтаксис этого параметра см. в разделе (ffmpeg-utils) «Размер видео» в руководстве по ffmpeg-utils . Значение по умолчанию 4096x2048.

mode

Укажите режим отображения.

Он принимает следующие значения:

'combined'

все каналы отображаются в одной строке

'separate'

все каналы отображаются в отдельных строках

Значение по умолчанию: 'combined'.

color

Укажите цветовой режим дисплея.

Он принимает следующие значения:

'channel'

каждый канал отображается отдельным цветом

'intensity'

каждый канал отображается с использованием одной и той же цветовой схемы

'rainbow'

каждый канал отображается с использованием цветовой схемы радуги

'moreland'

каждый канал отображается с использованием цветовой схемы Морленда

'nebulae'

каждый канал отображается с использованием цветовой схемы туманностей

'fire'

каждый канал отображается с использованием цветовой схемы огня

'fiery'

каждый канал отображается с использованием огненной цветовой схемы

'fruit'

каждый канал отображается с использованием цветовой схемы фруктов

'cool'

каждый канал отображается с использованием классной цветовой схемы

'magma'

каждый канал отображается с использованием цветовой схемы магмы

'green'

каждый канал отображается с использованием зеленой цветовой схемы

'viridis'

каждый канал отображается с использованием цветовой схемы viridis

'plasma'

каждый канал отображается с использованием цветовой схемы плазмы

'cividis'

каждый канал отображается с использованием цветовой схемы cividis

'terrain'

каждый канал отображается с использованием цветовой схемы ландшафта

Значение по умолчанию: 'intensity'.

scale

Укажите масштаб, используемый для вычисления значений интенсивности цвета.

Он принимает следующие значения:

'lin'

линейный

'sqrt'

квадратный корень, по умолчанию

'cbrt'

кубический корень

'log'

логарифмический

'4thrt'

4-й корень

'5thrt'

5-й корень

Значение по умолчанию: 'log'.

fscale

Задайте шкалу частот.

Он принимает следующие значения:

'lin'

линейный

'log'

логарифмический

Значение по умолчанию: 'lin'.

saturation

Установите модификатор насыщенности для отображаемых цветов. Отрицательные значения обеспечивают альтернативную цветовую схему. 0вообще нет насыщения. Насыщенность должна быть в диапазоне [-10,0, 10,0]. Значение по умолчанию 1.

win_func

Установить оконную функцию.

Он принимает следующие значения:

'rect'
'bartlett'
'hann'
'hanning'
'hamming'
'blackman'
'welch'
'flattop'
'bharris'
'bnuttall'
'bhann'
'sine'
'nuttall'
'lanczos'
'gauss'
'tukey'
'dolph'
'cauchy'
'parzen'
'poisson'
'bohman'

Значение по умолчанию hann.

orientation

Установить ориентацию оси времени и частоты. Можно verticalили horizontal. Значение по умолчанию vertical.

gain

Установите усиление шкалы для расчета значений интенсивности цвета. Значение по умолчанию 1.

legend

Нарисуйте оси времени и частоты и легенды. По умолчанию включено.

rotation

Установить поворот цвета, должен быть в диапазоне [-1.0, 1.0]. Значение по умолчанию 0.

start

Установите начальную частоту, с которой будет отображаться спектрограмма. Значение по умолчанию 0.

stop

Установите частоту остановки для отображения спектрограммы. Значение по умолчанию 0.

drange

Установите динамический диапазон, используемый для расчета значений интенсивности цвета. Значение по умолчанию — 120 дБ полной шкалы. Допустимый диапазон от 10 до 200.

limit

Установите верхний предел громкости входных аудиосэмплов в dBFS. По умолчанию 0 дБ полной шкалы. Допустимый диапазон от -100 до 100.

opacity

Установите степень непрозрачности при использовании вывода в формате пикселей с альфа-компонентом.

16.25.1 Примеры

  • Извлеките звуковую спектрограмму всей звуковой дорожки в изображении 1024x1024, используя ffmpeg:
    ffmpeg -i audio.flac -lavfi showspectrumpic=s=1024x1024 spectrogram.png
    

16.26 showvolume

Преобразуйте громкость входного аудио в выходной видеосигнал.

Фильтр принимает следующие параметры:

rate, r

Установить скорость видео.

b

Установите ширину границы, допустимый диапазон [0, 5]. По умолчанию 1.

w

Установите ширину канала, допустимый диапазон [80, 8192]. По умолчанию 400.

h

Установите высоту канала, допустимый диапазон [1, 900]. По умолчанию 20.

f

Установить затухание, допустимый диапазон [0, 1]. По умолчанию 0,95.

c

Установите объемное цветовое выражение.

В выражении могут использоваться следующие переменные:

VOLUME

Текущая максимальная громкость канала в дБ.

PEAK

Текущий пик.

CHANNEL

Текущий номер канала, начиная с 0.

t

Если установлено, отображаются названия каналов. По умолчанию включено.

v

Если установлено, отображает значения объема. По умолчанию включено.

o

Установить ориентацию, может быть горизонтальной: hили вертикальной: v, по умолчанию h.

s

Установите размер шага, допустимый диапазон: [0, 5]. По умолчанию 0, что означает, что шаг отключен.

p

Установите непрозрачность фона, допустимый диапазон: [0, 1]. По умолчанию 0.

m

Установите режим измерения, может быть пиковым: pили среднеквадратичным значением: rпо умолчанию p.

ds

Установить масштаб отображения, может быть линейным: linили логарифмическим: log, по умолчанию lin.

dm

Во втором. Если установлено > 0., отобразить линию максимального уровня за предыдущие секунды. по умолчанию отключено:0.

dmc

Цвет максимальной линии. Используйте, когда dmдля параметра установлено значение > 0. По умолчанию:orange

16.27 showwaves

Преобразуйте входное аудио в видеовыход, представляющий волны сэмплов.

Фильтр принимает следующие параметры:

size, s

Укажите размер видео для вывода. Синтаксис этого параметра см. в разделе (ffmpeg-utils) «Размер видео» в руководстве по ffmpeg-utils . Значение по умолчанию 600x240.

mode

Установите режим отображения.

Доступные значения:

'point'

Нарисуйте точку для каждого образца.

'line'

Проведите вертикальную линию для каждого образца.

'p2p'

Нарисуйте точку для каждого образца и линию между ними.

'cline'

Нарисуйте центрированную вертикальную линию для каждого образца.

Значение по умолчанию point.

n

Установите количество образцов, которые печатаются на одном столбце. Большее значение уменьшит частоту кадров. Должно быть положительным целым числом. Этот параметр можно установить только в том случае, если значение для rate не указано явно.

rate, r

Установите (приблизительную) выходную частоту кадров. Это делается путем установки опции n. Значение по умолчанию — «25».

split_channels

Установите, должны ли каналы отображаться отдельно или перекрываться. Значение по умолчанию — 0.

colors

Установите цвета, разделенные символом '|' которые планируется использовать для рисования каждого канала.

scale

Установить масштаб амплитуды.

Доступные значения:

'lin'

Линейный.

'log'

Логарифмический.

'sqrt'

Квадратный корень.

'cbrt'

Кубический корень.

По умолчанию линейный.

draw

Установите режим рисования. Это в основном полезно установить на высокое значение n.

Доступные значения:

'scale'

Масштабируйте значения пикселей для каждого нарисованного образца.

'full'

Нарисуйте каждый образец напрямую.

Значение по умолчанию scale.

16.27.1 Примеры

  • Выведите звук входного файла и соответствующее видеопредставление одновременно:
    amovie=a.mp3,asplit[out0],showwaves[out1]
    
  • Создайте синтетический сигнал и покажите его с помощью showwaves, установив частоту кадров 30 кадров в секунду:
    aevalsrc=sin(1*2*PI*t)*sin(880*2*PI*t):cos(2*PI*200*t),asplit[out0],showwaves=r=30[out1]
    

16.28 showwavespic

Преобразование входного аудио в один видеокадр, представляющий волны сэмплов.

Фильтр принимает следующие параметры:

size, s

Укажите размер видео для вывода. Синтаксис этого параметра см. в разделе (ffmpeg-utils) «Размер видео» в руководстве по ffmpeg-utils . Значение по умолчанию 600x240.

split_channels

Установите, должны ли каналы отображаться отдельно или перекрываться. Значение по умолчанию — 0.

colors

Установите цвета, разделенные символом '|' которые планируется использовать для рисования каждого канала.

scale

Установить масштаб амплитуды.

Доступные значения:

'lin'

Линейный.

'log'

Логарифмический.

'sqrt'

Квадратный корень.

'cbrt'

Кубический корень.

По умолчанию линейный.

draw

Установите режим рисования.

Доступные значения:

'scale'

Масштабируйте значения пикселей для каждого нарисованного образца.

'full'

Нарисуйте каждый образец напрямую.

Значение по умолчанию scale.

filter

Установите режим фильтра.

Доступные значения:

'average'

Используйте средние значения образцов для каждого взятого образца.

'peak'

Используйте пиковые значения образцов для каждого взятого образца.

Значение по умолчанию average.

16.28.1 Примеры

  • Извлеките разделенное по каналам представление формы волны всей звуковой дорожки в изображении 1024x800, используя ffmpeg:
    ffmpeg -i audio.flac -lavfi showwavespic=split_channels=1:s=1024x800 waveform.png
    

16.29 sidedata, asidedata

Удалите боковые данные кадра или выберите кадры на его основе.

Этот фильтр принимает следующие параметры:

mode

Установить режим работы фильтра.

Может быть одним из следующих:

'select'

Выберите каждый кадр с боковыми данными type.

'delete'

Удалить сторонние данные type. Если typeне установлено, удалите все сторонние данные в кадре.

type

Установите тип данных стороны, используемый во всех режимах. Должен быть установлен для selectрежима. Список типов данных на стороне фрейма см. в AVFrameSideDataTypeперечислении вlibavutil/frame.h. Например, для выбора AV_FRAME_DATA_PANSCANпобочных данных необходимо указать PANSCAN.

16.30 spectrumsynth

Синтезируйте аудио из двух входных видеоспектров, первый входной поток представляет амплитуду во времени, а второй представляет фазу во времени. Фильтр преобразует частотную область, отображаемую в видео, обратно во временную область, представленную в аудиовыходе.

Этот фильтр в первую очередь создан для реверсирования обработанных выходных сигналов фильтра шоуспектра , но также может синтезировать звук из других спектрограмм. Но в таком случае результаты будут плохими, если фазовые данные недоступны, потому что в таких случаях фазовые данные необходимо воссоздать, обычно они просто воссоздаются из случайного шума. Для достижения наилучших результатов используйте вывод только серого ( channelцветовой режим в фильтре showspectrum ) и logмасштабируйте видео амплитуды и linмасштабируйте фазовое видео. Чтобы создать фазу для второго видео, используйте dataопцию. Входные видео обычно должны использовать fullframe режим слайдов, поскольку это экономит ресурсы, необходимые для декодирования видео.

Фильтр принимает следующие параметры:

sample_rate

Укажите частоту дискретизации выходного аудио, частота дискретизации аудио, из которого был сгенерирован спектр, может отличаться.

channels

Установите количество каналов, представленных во входных видеоспектрах.

scale

Установите масштаб, который использовался при генерации входного спектра магнитуды. Можно linили log. Значение по умолчанию log.

slide

Установите ползунок, который использовался при генерации входных спектров. Может быть replace, scroll, fullframeили rscroll. Значение по умолчанию fullframe.

win_func

Установите оконную функцию, используемую для ресинтеза.

overlap

Установите перекрытие окна. В диапазоне [0, 1]. Значение по умолчанию означает 1, что будет выбрано оптимальное перекрытие для выбранной оконной функции.

orientation

Установите ориентацию входных видео. Можно verticalили horizontal. Значение по умолчанию vertical.

16.30.1 Примеры

  • Сначала создайте видео амплитуды и фазы из аудио, предполагая, что аудио является стереофоническим с частотой дискретизации 44100, а затем повторно синтезируйте видео обратно в аудио с помощью спектра:
    ffmpeg -i input.flac -lavfi showspectrum=mode=separate:scale=log:overlap=0.875:color=channel:slide=fullframe:data=magnitude -an -c:v rawvideo magnitude.nut
    ffmpeg -i input.flac -lavfi showspectrum=mode=separate:scale=lin:overlap=0.875:color=channel:slide=fullframe:data=phase -an -c:v rawvideo phase.nut
    ffmpeg -i magnitude.nut -i phase.nut -lavfi spectrumsynth=channels=2:sample_rate=44100:win_func=hann:overlap=0.875:slide=fullframe output.flac
    

16.31 split, asplit

Разделить вход на несколько одинаковых выходов.

asplitработает с аудио входом, splitс видео.

Фильтр принимает единственный параметр, который определяет количество выходов. Если не указано, по умолчанию используется 2.

16.31.1 Примеры

  • Создайте два отдельных выхода из одного и того же входа:
    [in] split [out0][out1]
    
  • Чтобы создать 3 или более выходов, вам нужно указать количество выходов, например:
    [in] asplit=3 [out0][out1][out2]
    
  • Создайте два отдельных вывода из одного и того же ввода, один обрезанный и один дополненный:
    [in] split [splitout1][splitout2];
    [splitout1] crop=100:100:0:0    [cropout];
    [splitout2] pad=200:200:100:100 [padout];
    
  • Создайте 5 копий входного аудио с помощью ffmpeg:
    ffmpeg -i INPUT -filter_complex asplit=5 OUTPUT
    

16.32 zmq, azmq

Получайте команды, отправленные через клиент libzmq, и перенаправляйте их на фильтры в filtergraph.

zmqи azmqработают как проходные фильтры. zmq должен быть вставлен между двумя видеофильтрами, azmqмежду двумя аудиофильтрами. Оба способны отправлять сообщения любому типу фильтра.

Чтобы включить эти фильтры, вам необходимо установить библиотеку libzmq и заголовки, а также настроить FFmpeg с расширением --enable-libzmq.

Для получения дополнительной информации о libzmq см.: http://www.zeromq.org/

zmqФильтры и azmqработают как сервер libzmq, который получает сообщения, отправленные через сетевой интерфейс, определенныйbind_address(или аббревиатура "b"). Значение по умолчанию для этого параметраtcp://localhost:5555. Вы можете изменить это значение в соответствии с вашими потребностями, но не забудьте экранировать любые знаки ':' (см . экранирование filtergraph ).

Полученное сообщение должно иметь вид:

TARGET COMMAND [ARG]

TARGETуказывает цель команды, обычно это имя класса фильтра или конкретное имя экземпляра фильтра. Имя экземпляра фильтра по умолчанию использует шаблон 'Parsed_<filter_name>_<index>', но вы можете переопределить это с помощью 'filter_name@id' (см . Синтаксис Filtergraph ).

COMMANDуказывает имя команды для целевого фильтра.

ARGявляется необязательным и указывает необязательный список аргументов для данного COMMAND.

При получении сообщение обрабатывается, и соответствующая команда вводится в граф фильтра. В зависимости от результата фильтр отправит клиенту ответ в формате:

ERROR_CODE ERROR_REASON
MESSAGE

MESSAGEявляется необязательным.

16.32.1 Примеры

смотреть наtools/zmqsendдля примера клиента zmq, который можно использовать для отправки команд, обработанных этими фильтрами.

Рассмотрим следующий фильтр-граф, сгенерированный ffplay. В этом примере последний оверлейный фильтр имеет имя экземпляра. Все остальные фильтры будут иметь имена экземпляров по умолчанию.

ffplay -dumpgraph 1 -f lavfi "
color=s=100x100:c=red  [l];
color=s=100x100:c=blue [r];
nullsrc=s=200x100, zmq [bg];
[bg][l]   overlay     [bg+l];
[bg+l][r] overlay@my=x=100 "

Чтобы изменить цвет левой части видео, можно использовать следующую команду:

echo Parsed_color_0 c yellow | tools/zmqsend

Чтобы изменить правую сторону:

echo Parsed_color_1 c pink | tools/zmqsend

Чтобы изменить положение правой стороны:

echo overlay@my x 150 | tools/zmqsend

17 мультимедийных источников

Ниже приведено описание доступных на данный момент мультимедийных источников.

17.1 amovie

Это то же самое, что и источник фильма , за исключением того, что по умолчанию выбирается аудиопоток.

17.2 avsynctest

Создайте тест синхронизации аудио/видео.

Сгенерированный поток периодически показывает flash видеокадр и издает звуковой сигнал в аудио. Полезно для проверки проблем с синхронизацией аудио/видео.

Он принимает следующие параметры:

size, s

Установите размер выходного видео. Значение по умолчанию hd720.

framerate, fr

Установите частоту кадров выходного видео. Значение по умолчанию 30.

samplerate, sr

Установите частоту дискретизации выходного аудио. Значение по умолчанию 44100.

amplitude, a

Установите амплитуду звукового сигнала на выходе. Значение по умолчанию 0.7.

period, p

Установите период выходного звукового сигнала в секундах. Значение по умолчанию 3.

delay, dl

Установите задержку вспышки видео на выходе в количестве кадров. Значение по умолчанию 0.

cycle, c

Включить циклирование задержек видео, по умолчанию отключено.

duration, d

Установите продолжительность вывода потока. По умолчанию продолжительность не ограничена.

fg, bg, ag

Установить передний план/фон/дополнительный цвет.

17.3 movie

Чтение аудио- и/или видеопотоков из контейнера фильмов.

Он принимает следующие параметры:

filename

Имя ресурса для чтения (не обязательно файл, это также может быть устройство или поток, доступ к которому осуществляется по какому-либо протоколу).

format_name, f

Задает предполагаемый формат для чтения фильма и может быть именем контейнера или устройства ввода. Если не указано, формат угадывается из movie_nameили путем проверки.

seek_point, sp

Указывает точку поиска в секундах. Кадры будут выводиться, начиная с этой точки поиска. Параметр оценивается с помощью av_strtod, поэтому числовое значение может иметь суффикс IS. Значение по умолчанию — «0».

streams, s

Указывает потоки для чтения. Можно указать несколько потоков, разделенных знаком «+». Тогда источник будет иметь столько же выходов в том же порядке. Синтаксис объясняется в разделе (ffmpeg) «Спецификаторы потока» в руководстве по ffmpeg . Два специальных имени, «dv» и «da», определяют, соответственно, видео- и аудиопоток по умолчанию (наиболее подходящий). По умолчанию "dv" или "da", если фильтр называется "amovie".

stream_index, si

Указывает индекс видеопотока для чтения. Если значение равно -1, автоматически будет выбран наиболее подходящий видеопоток. Значение по умолчанию "-1". Устарело. Если фильтр называется «анимация», он будет выбирать аудио вместо видео.

loop

Указывает, сколько раз читать поток последовательно. Если значение равно 0, поток будет зацикливаться бесконечно. Значение по умолчанию — «1».

Обратите внимание, что когда фильм зациклен, временные метки источника не изменяются, поэтому он будет генерировать немонотонно увеличивающиеся временные метки.

discontinuity

Определяет разницу во времени между кадрами, выше которой точка считается разрывом временной метки, который удаляется путем корректировки более поздних временных меток.

dec_threads

Указывает количество потоков для декодирования

format_opts

Укажите параметры формата для открываемого файла. Параметры формата можно указать в виде списка пар key= value, разделенных знаком ':'. В следующем примере показано, как добавить параметры protocol_whitelist и protocol_blacklist:

ffplay -f lavfi
"movie=filename='1.sdp':format_opts='protocol_whitelist=file,rtp,udp\:protocol_blacklist=http'"

Это позволяет накладывать второе видео поверх основного ввода графа фильтра, как показано на этом графике:

input -----------> deltapts0 --> overlay --> output
                                    ^
                                    |
movie --> scale--> deltapts1 -------+

17.3.1 Примеры

  • Пропустите 3,2 секунды с начала файла AVI в формате .avi и наложите его поверх входных данных с пометкой «in»:
    movie=in.avi:seek_point=3.2, scale=180:-1, setpts=PTS-STARTPTS [over];
    [in] setpts=PTS-STARTPTS [main];
    [main][over] overlay=16:16 [out]
    
  • Прочитайте с устройства video4linux2 и наложите его поверх ввода с пометкой «in»:
    movie=/dev/video0:f=video4linux2, scale=180:-1, setpts=PTS-STARTPTS [over];
    [in] setpts=PTS-STARTPTS [main];
    [main][over] overlay=16:16 [out]
    
  • Прочитать первый видеопоток и аудиопоток с id 0x81 из dvd.vob; видео подключено к панели с именем «видео», а аудио подключено к панели с именем «аудио»:
    movie=dvd.vob:s=v:0+#0x81 [video] [audio]
    

17.3.2 Команды

И movie, и amovie поддерживают следующие команды:

seek

Выполните поиск, используя «av_seek_frame». Синтаксис: искать stream_index| timestamp|flags

  • stream_index: Если stream_index равен -1, выбирается поток по умолчанию, и timestampон автоматически преобразуется из единиц AV_TIME_BASE в специфичную для потока time_base.
  • timestamp: Отметка времени в единицах AVStream.time_base или, если поток не указан, в единицах AV_TIME_BASE.
  • flags: Флаги, которые выбирают направление и режим поиска.
get_duration

Получите продолжительность фильма в единицах AV_TIME_BASE.

18 См. также

ffmpeg , ffplay , ffprobe , libavfilter

19 авторов

Разработчики FFmpeg.

Для получения подробной информации об авторстве см. историю Git проекта (git://source.ffmpeg.org/ffmpeg), например, введя команду git logв исходном каталоге FFmpeg или просмотрев онлайн-репозиторий по адресу http://source. ffmpeg.org .

Сопровождающие для конкретных компонентов перечислены в файле MAINTAINERSв дереве исходного кода.

Этот документ был создан 11 июля 2022 года с помощью makeinfo .

Хостинг предоставлен telepoint.bg

Исходный текст