Оглавление
- 1 Description
- 2 Filtering Introduction
- 3 graph2dot
- 4 Filtergraph description
- 5 Timeline editing
- 6 Changing options at runtime with a command
- 7 Options for filters with several inputs (framesync)
- 8 Audio Filters
- 8.1 acompressor
- 8.2 acontrast
- 8.3 acopy
- 8.4 acrossfade
- 8.5 acrossover
- 8.6 acrusher
- 8.7 acue
- 8.8 adeclick
- 8.9 adeclip
- 8.10 adecorrelate
- 8.11 adelay
- 8.12 adenorm
- 8.13 aderivative, aintegral
- 8.14 adynamicequalizer
- 8.15 adynamicsmooth
- 8.16 aecho
- 8.17 aemphasis
- 8.18 aeval
- 8.19 aexciter
- 8.20 afade
- 8.21 afftdn
- 8.22 afftfilt
- 8.23 afir
- 8.24 aformat
- 8.25 afreqshift
- 8.26 afwtdn
- 8.27 agate
- 8.28 aiir
- 8.29 alimiter
- 8.30 allpass
- 8.31 aloop
- 8.32 amerge
- 8.33 amix
- 8.34 amultiply
- 8.35 anequalizer
- 8.36 anlmdn
- 8.37 anlmf, anlms
- 8.38 anull
- 8.39 apad
- 8.40 aphaser
- 8.41 aphaseshift
- 8.42 apsyclip
- 8.43 apulsator
- 8.44 aresample
- 8.45 areverse
- 8.46 arnndn
- 8.47 asdr
- 8.48 asetnsamples
- 8.49 asetrate
- 8.50 ashowinfo
- 8.51 asoftclip
- 8.52 aspectralstats
- 8.53 asr
- 8.54 astats
- 8.55 asubboost
- 8.56 asubcut
- 8.57 asupercut
- 8.58 asuperpass
- 8.59 asuperstop
- 8.60 atempo
- 8.61 atilt
- 8.62 atrim
- 8.63 axcorrelate
- 8.64 bandpass
- 8.65 bandreject
- 8.66 bass, lowshelf
- 8.67 biquad
- 8.68 bs2b
- 8.69 channelmap
- 8.70 channelsplit
- 8.71 chorus
- 8.72 compand
- 8.73 compensationdelay
- 8.74 crossfeed
- 8.75 crystalizer
- 8.76 dcshift
- 8.77 deesser
- 8.78 dialoguenhance
- 8.79 drmeter
- 8.80 dynaudnorm
- 8.81 earwax
- 8.82 equalizer
- 8.83 extrastereo
- 8.84 firequalizer
- 8.85 flanger
- 8.86 haas
- 8.87 hdcd
- 8.88 headphone
- 8.89 highpass
- 8.90 join
- 8.91 ladspa
- 8.92 loudnorm
- 8.93 lowpass
- 8.94 lv2
- 8.95 mcompand
- 8.96 pan
- 8.97 replaygain
- 8.98 resample
- 8.99 rubberband
- 8.100 sidechaincompress
- 8.101 sidechaingate
- 8.102 silencedetect
- 8.103 silenceremove
- 8.104 sofalizer
- 8.105 speechnorm
- 8.106 stereotools
- 8.107 stereowiden
- 8.108 superequalizer
- 8.109 surround
- 8.110 tiltshelf
- 8.111 treble, highshelf
- 8.112 tremolo
- 8.113 vibrato
- 8.114 virtualbass
- 8.115 volume
- 8.116 volumedetect
- 9 Audio Sources
- 10 Audio Sinks
- 11 Video Filters
- 11.1 addroi
- 11.2 alphaextract
- 11.3 alphamerge
- 11.4 amplify
- 11.5 ass
- 11.6 atadenoise
- 11.7 avgblur
- 11.8 bbox
- 11.9 bilateral
- 11.10 bitplanenoise
- 11.11 blackdetect
- 11.12 blackframe
- 11.13 blend
- 11.14 blockdetect
- 11.15 blurdetect
- 11.16 bm3d
- 11.17 boxblur
- 11.18 bwdif
- 11.19 cas
- 11.20 chromahold
- 11.21 chromakey
- 11.22 chromakey_cuda
- 11.23 chromanr
- 11.24 chromashift
- 11.25 ciescope
- 11.26 codecview
- 11.27 colorbalance
- 11.28 colorcontrast
- 11.29 colorcorrect
- 11.30 colorchannelmixer
- 11.31 colorize
- 11.32 colorkey
- 11.33 colorhold
- 11.34 colorlevels
- 11.35 colormap
- 11.36 colormatrix
- 11.37 colorspace
- 11.38 colortemperature
- 11.39 convolution
- 11.40 convolve
- 11.41 copy
- 11.42 coreimage
- 11.43 cover_rect
- 11.44 crop
- 11.45 cropdetect
- 11.46 cue
- 11.47 curves
- 11.48 datascope
- 11.49 dblur
- 11.50 dctdnoiz
- 11.51 deband
- 11.52 deblock
- 11.53 decimate
- 11.54 deconvolve
- 11.55 dedot
- 11.56 deflate
- 11.57 deflicker
- 11.58 dejudder
- 11.59 delogo
- 11.60 derain
- 11.61 deshake
- 11.62 despill
- 11.63 detelecine
- 11.64 dilation
- 11.65 displace
- 11.66 dnn_classify
- 11.67 dnn_detect
- 11.68 dnn_processing
- 11.69 drawbox
- 11.70 drawgraph
- 11.71 drawgrid
- 11.72 drawtext
- 11.73 edgedetect
- 11.74 elbg
- 11.75 entropy
- 11.76 epx
- 11.77 eq
- 11.78 erosion
- 11.79 estdif
- 11.80 exposure
- 11.81 extractplanes
- 11.82 fade
- 11.83 feedback
- 11.84 fftdnoiz
- 11.85 fftfilt
- 11.86 field
- 11.87 fieldhint
- 11.88 fieldmatch
- 11.89 fieldorder
- 11.90 fifo, afifo
- 11.91 fillborders
- 11.92 find_rect
- 11.93 floodfill
- 11.94 format
- 11.95 fps
- 11.96 framepack
- 11.97 framerate
- 11.98 framestep
- 11.99 freezedetect
- 11.100 freezeframes
- 11.101 frei0r
- 11.102 fspp
- 11.103 gblur
- 11.104 geq
- 11.105 gradfun
- 11.106 graphmonitor
- 11.107 grayworld
- 11.108 greyedge
- 11.109 guided
- 11.110 haldclut
- 11.111 hflip
- 11.112 histeq
- 11.113 histogram
- 11.114 hqdn3d
- 11.115 hwdownload
- 11.116 hwmap
- 11.117 hwupload
- 11.118 hwupload_cuda
- 11.119 hqx
- 11.120 hstack
- 11.121 hsvhold
- 11.122 hsvkey
- 11.123 hue
- 11.124 huesaturation
- 11.125 hysteresis
- 11.126 iccdetect
- 11.127 iccgen
- 11.128 identity
- 11.129 idet
- 11.130 il
- 11.131 inflate
- 11.132 interlace
- 11.133 kerndeint
- 11.134 kirsch
- 11.135 lagfun
- 11.136 lenscorrection
- 11.137 lensfun
- 11.138 libplacebo
- 11.139 libvmaf
- 11.140 limitdiff
- 11.141 limiter
- 11.142 loop
- 11.143 lut1d
- 11.144 lut3d
- 11.145 lumakey
- 11.146 lut, lutrgb, lutyuv
- 11.147 lut2, tlut2
- 11.148 maskedclamp
- 11.149 maskedmax
- 11.150 maskedmerge
- 11.151 maskedmin
- 11.152 maskedthreshold
- 11.153 maskfun
- 11.154 mcdeint
- 11.155 median
- 11.156 mergeplanes
- 11.157 mestimate
- 11.158 midequalizer
- 11.159 minterpolate
- 11.160 mix
- 11.161 monochrome
- 11.162 morpho
- 11.163 mpdecimate
- 11.164 msad
- 11.165 multiply
- 11.166 negate
- 11.167 nlmeans
- 11.168 nnedi
- 11.169 noformat
- 11.170 noise
- 11.171 normalize
- 11.172 null
- 11.173 ocr
- 11.174 ocv
- 11.175 oscilloscope
- 11.176 overlay
- 11.177 overlay_cuda
- 11.178 owdenoise
- 11.179 pad
- 11.180 palettegen
- 11.181 paletteuse
- 11.182 perspective
- 11.183 phase
- 11.184 photosensitivity
- 11.185 pixdesctest
- 11.186 pixelize
- 11.187 pixscope
- 11.188 pp
- 11.189 pp7
- 11.190 premultiply
- 11.191 prewitt
- 11.192 pseudocolor
- 11.193 psnr
- 11.194 pullup
- 11.195 qp
- 11.196 random
- 11.197 readeia608
- 11.198 readvitc
- 11.199 remap
- 11.200 removegrain
- 11.201 removelogo
- 11.202 repeatfields
- 11.203 reverse
- 11.204 rgbashift
- 11.205 roberts
- 11.206 rotate
- 11.207 sab
- 11.208 scale
- 11.209 scale_cuda
- 11.210 scale_npp
- 11.211 scale2ref
- 11.212 scale2ref_npp
- 11.213 scharr
- 11.214 scroll
- 11.215 scdet
- 11.216 selectivecolor
- 11.217 separatefields
- 11.218 setdar, setsar
- 11.219 setfield
- 11.220 setparams
- 11.221 sharpen_npp
- 11.222 shear
- 11.223 showinfo
- 11.224 showpalette
- 11.225 shuffleframes
- 11.226 shufflepixels
- 11.227 shuffleplanes
- 11.228 signalstats
- 11.229 signature
- 11.230 siti
- 11.231 smartblur
- 11.232 sobel
- 11.233 spp
- 11.234 sr
- 11.235 ssim
- 11.236 stereo3d
- 11.237 streamselect, astreamselect
- 11.238 subtitles
- 11.239 super2xsai
- 11.240 swaprect
- 11.241 swapuv
- 11.242 tblend
- 11.243 telecine
- 11.244 thistogram
- 11.245 threshold
- 11.246 thumbnail
- 11.247 tile
- 11.248 tinterlace
- 11.249 tmedian
- 11.250 tmidequalizer
- 11.251 tmix
- 11.252 tonemap
- 11.253 tpad
- 11.254 transpose
- 11.255 transpose_npp
- 11.256 trim
- 11.257 unpremultiply
- 11.258 unsharp
- 11.259 untile
- 11.260 uspp
- 11.261 v360
- 11.262 vaguedenoiser
- 11.263 varblur
- 11.264 vectorscope
- 11.265 vidstabdetect
- 11.266 vidstabtransform
- 11.267 vflip
- 11.268 vfrdet
- 11.269 vibrance
- 11.270 vif
- 11.271 vignette
- 11.272 vmafmotion
- 11.273 vstack
- 11.274 w3fdif
- 11.275 waveform
- 11.276 weave, doubleweave
- 11.277 xbr
- 11.278 xcorrelate
- 11.279 xfade
- 11.280 xmedian
- 11.281 xstack
- 11.282 yadif
- 11.283 yadif_cuda
- 11.284 yaepblur
- 11.285 zoompan
- 11.286 zscale
- 12 OpenCL Video Filters
- 12.1 avgblur_opencl
- 12.2 boxblur_opencl
- 12.3 colorkey_opencl
- 12.4 convolution_opencl
- 12.5 erosion_opencl
- 12.6 deshake_opencl
- 12.7 dilation_opencl
- 12.8 nlmeans_opencl
- 12.9 overlay_opencl
- 12.10 pad_opencl
- 12.11 prewitt_opencl
- 12.12 program_opencl
- 12.13 remap_opencl
- 12.14 roberts_opencl
- 12.15 sobel_opencl
- 12.16 tonemap_opencl
- 12.17 unsharp_opencl
- 12.18 xfade_opencl
- 13 VAAPI Video Filters
- 14 Video Sources
- 14.1 buffer
- 14.2 cellauto
- 14.3 coreimagesrc
- 14.4 gradients
- 14.5 mandelbrot
- 14.6 mptestsrc
- 14.7 frei0r_src
- 14.8 life
- 14.9 allrgb, allyuv, color, colorchart, colorspectrum, haldclutsrc, nullsrc, pal75bars, pal100bars, rgbtestsrc, smptebars, smptehdbars, testsrc, testsrc2, yuvtestsrc
- 14.10 openclsrc
- 14.11 sierpinski
- 15 Video Sinks
- 16 Multimedia Filters
- 16.1 abitscope
- 16.2 adrawgraph
- 16.3 agraphmonitor
- 16.4 ahistogram
- 16.5 aphasemeter
- 16.6 avectorscope
- 16.7 bench, abench
- 16.8 concat
- 16.9 ebur128
- 16.10 interleave, ainterleave
- 16.11 latency, alatency
- 16.12 metadata, ametadata
- 16.13 perms, aperms
- 16.14 realtime, arealtime
- 16.15 segment, asegment
- 16.16 select, aselect
- 16.17 sendcmd, asendcmd
- 16.18 setpts, asetpts
- 16.19 setrange
- 16.20 settb, asettb
- 16.21 showcqt
- 16.22 showfreqs
- 16.23 showspatial
- 16.24 showspectrum
- 16.25 showspectrumpic
- 16.26 showvolume
- 16.27 showwaves
- 16.28 showwavespic
- 16.29 sidedata, asidedata
- 16.30 spectrumsynth
- 16.31 split, asplit
- 16.32 zmq, azmq
- 17 Multimedia Sources
- 18 See Also
- 19 Authors
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
команда, которую можно использовать для переопределения выражения.
Как и любой другой фильтр,enable
option следует тем же правилам.
Например, чтобы включить фильтр размытия ( 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
chn
f=cf
w=w
g=g
t=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_channel
in_channel
in_channel
out_channel
out_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_channel
input_idx
in_channel
out_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 иvsub
1.
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
_ Значение по умолчанию .row
column
square
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<<
n
blocksize
Значение по умолчанию
3
(8x8) и может быть увеличено до4
16x16blocksize
. Обратите внимание, что изменение этого параметра сильно влияет на скорость обработки. Кроме того, больший размер блока не обязательно означает лучшее шумоподавление.
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
Удалите дождь на входном изображении/видео, применив методы удаления на основе сверточных нейронных сетей. Поддерживаемые модели:
- Рекуррентная сеть агрегации контекста сжатия и возбуждения (RESCAN). См . http://openaccess.thecvf.com/content_ECCV_2018/papers/Xia_Li_Recurrent_Squeeze-and-Excitation_Context_ECCV_2018_paper.pdf .
Обучение, а также сценарии генерации моделей представлены в репозитории по адресу 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 (отключить). Значение по умолчанию равно
box
0.boxborderw
Установите ширину границы, которая должна быть нарисована вокруг блока, используя
boxcolor
. Значение по умолчанию равноboxborderw
0.boxcolor
Цвет, который будет использоваться для рисования рамки вокруг текста. Синтаксис этой опции см. в разделе (ffmpeg-utils) «Цвет» в руководстве по ffmpeg-utils .
Значение по умолчанию
boxcolor
— «белый».line_spacing
Установите межстрочный интервал в пикселях границы, которая будет нарисована вокруг блока, используя
box
. Значение по умолчанию равноline_spacing
0.borderw
Установите ширину границы, которая будет нарисована вокруг текста, используя
bordercolor
. Значение по умолчанию равноborderw
0.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
Размер шрифта, который будет использоваться для рисования текста. Значение по умолчанию равно
fontsize
16.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
(по умолчанию), используется следующий механизм расширения.
Символ обратной косой черты '\
', за которым следует любой символ, всегда расширяется до второго символа.
Последовательности формы %{...}
расширены. Текст между фигурными скобками — это имя функции, за которым могут следовать аргументы, разделенные символом ':'. Если аргументы содержат специальные символы или разделители (':' или '}'), их следует экранировать.
Обратите внимание, что они, вероятно, также должны быть экранированы как значение для
text
option в строке аргумента фильтра и в качестве аргумента фильтра в описании 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
=tff
(иfield
на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
Когда
combatch
is notnone
,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
' Частота кадров NTSC
30000/1001
- '
pal
' Частота кадров PAL
25.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_expr
options, будет выбрано цветовое пространство 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
Фильтр постоянства цвета, который применяет коррекцию цвета на основе предположения серого мира.
Алгоритм использует линейный свет, поэтому входные данные должны быть заранее линеаризованы (и, возможно, правильно помечены).
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
Сопоставьте аппаратные фреймы с системной памятью или с другим устройством.
Этот фильтр имеет несколько различных режимов работы; какой из них используется, зависит от входных и выходных форматов:
- Аппаратный ввод кадров, обычный вывод кадров
Сопоставьте входные кадры с системной памятью и передайте их на выход. Если впоследствии потребуется исходный аппаратный каркас (например, после наложения на него чего-либо другого),
hwmap
filter можно использовать снова в следующем режиме, чтобы получить его. - Обычный ввод кадров, аппаратный вывод кадров
Если входные данные на самом деле являются аппаратным фреймом, отображаемым программным обеспечением, то отмените его сопоставление, то есть верните исходный аппаратный фрейм.
В противном случае необходимо предоставить устройство. Создайте новые аппаратные поверхности на этом устройстве для вывода, затем сопоставьте их обратно с программным форматом на входе и передайте эти кадры предыдущему фильтру. Затем это будет действовать как
hwupload
filter, но может избежать дополнительной копии, когда ввод уже находится в совместимом формате. - Аппаратный ввод и вывод кадров
Устройство должно поставляться для вывода либо напрямую, либо с
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.Список возможных значений см. в фильтре setparams
unknown
, но обратите внимание, что это недопустимые значения для этого фильтра.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_mode
alpha_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
, что соответствует размеру LUT64x64
.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
.Значение по умолчанию для
hi
64*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
представляет элемент структурирования и имеет синтаксис:
cols
x rows
+ anchor_x
x 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
принимать значения с плавающей запятой.
Значение по умолчанию равно param1
3. Значение по умолчанию для других параметров равно 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, когдаpos
t
eval
установлен на '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
а такжеh
options — это выражения, содержащие следующие константы:
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
а такжеh
options — это выражения, содержащие следующие константы:
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
пиксели. Atemporal 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 Команды
Фильтр streamselect
and 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
Установите максимальное количество кадров для рендеринга в данной области. Оно должно быть меньше или равно
w
xh
. Значение по умолчанию равно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 Примеры
- Чересстрочное видео с использованием фильтра
выбора и разделения полей:
separatefields,select=eq(mod(n,4),0)+eq(mod(n,4),3),weave
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
а такжеh
options — это выражения, содержащие следующие константы:
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 иvsub
1.
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
/BNB
", где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
и . Допустимый диапазон .80
255
[0, 255]
rf
gf
bf
af
Укажите красный, зеленый, синий и альфа-фейд. Значения по умолчанию:
15
,10
и . Допустимый диапазон .5
5
[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
аудиовыходы.
Есть n
x( 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
и sshortterm
. По умолчанию будет использоваться мгновенное значение, но в некоторых сценариях может быть полезнее вместо этого наблюдать краткосрочное значение (например, живое микширование).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