Оглавление
- 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команда, которую можно использовать для переопределения выражения.
Как и любой другой фильтр,enableoption следует тем же правилам.
Например, чтобы включить фильтр размытия ( smartblur ) с 10 секунд до 3 минут и фильтр кривых , начинающийся с 3 секунд:
smartblur = enable='between(t,10,3*60)',
curves = enable='gte(t,3)' : preset=cross_process
Посмотрите ffmpeg -filters, какие фильтры поддерживают временную шкалу.
6 Изменение параметров во время выполнения с помощью команды
Некоторые параметры можно изменить во время работы фильтра с помощью команды. Эти параметры помечены буквой «Т» на выходе
ffmpeg -h filter=<name of filter>. Имя команды — это имя параметра, а аргумент — новое значение.
7 вариантов фильтров с несколькими входами (framesync)
Некоторые фильтры с несколькими входами поддерживают общий набор опций. Эти параметры могут быть установлены только по имени, а не по сокращенному обозначению.
eof_actionДействие, предпринимаемое при обнаружении EOF на вторичном входе; он принимает одно из следующих значений:
repeatПовторить последний кадр (по умолчанию).
endallЗавершите оба потока.
passПропустите основной ввод.
shortestЕсли установлено значение 1, принудительное завершение вывода при завершении кратчайшего ввода. Значение по умолчанию — 0.
repeatlastЕсли установлено значение 1, фильтр принудительно продлевает последний кадр вторичных потоков до конца основного потока. Значение 0 отключает это поведение. Значение по умолчанию — 1.
8 аудиофильтров
Когда вы настраиваете сборку FFmpeg, вы можете отключить любой из существующих фильтров, используя файлы --disable-filters. Выходные данные configure отобразят аудиофильтры, включенные в вашу сборку.
Ниже приведено описание доступных в настоящее время аудиофильтров.
8.1 acompressor
Компрессор в основном используется для уменьшения динамического диапазона сигнала. Особенно современная музыка в основном сжимается с высоким коэффициентом для улучшения общей громкости. Это сделано для того, чтобы привлечь максимальное внимание слушателя, «ожирить» звук и придать треку больше «мощности». Если сигнал сжат слишком сильно, впоследствии он может звучать тускло или «мертво», или он может начать «накачивать» (что может быть мощным эффектом, но также может полностью разрушить дорожку). Правильная компрессия — ключ к профессиональному звуку и высокое искусство сведения и мастеринга. Из-за его сложных настроек может потребоваться много времени, чтобы получить правильное представление о таком эффекте.
Сжатие выполняется путем определения объема выше выбранного уровня
thresholdи деления его на коэффициент, установленный с помощью ratio. Таким образом, если вы установите порог на -12 дБ и ваш сигнал достигает -6 дБ, соотношение 2:1 приведет к сигналу на уровне -9 дБ. Поскольку точное манипулирование сигналом может привести к искажению формы сигнала, снижение может быть выравнивается с течением времени. Это делается настройками «Атака» и «Отпуск».
attackопределяет, как долго сигнал должен подниматься выше порога, прежде чем произойдет какое-либо снижение, и releaseустанавливает время, в течение которого сигнал должен упасть ниже порога, чтобы снова уменьшить снижение. Более короткие сигналы, чем выбранное время атаки, останутся нетронутыми. Общее уменьшение сигнала может быть компенсировано впоследствии с помощью
makeupпараметр. Таким образом, сжатие пиков сигнала примерно на 6 дБ и повышение уровня грима до этого уровня приводит к тому, что сигнал становится в два раза громче, чем источник. Чтобы получить более мягкий вход в сжатие, kneeжесткий край сглаживается на пороге в диапазоне выбранных децибел.
Фильтр принимает следующие параметры:
level_inУстановите входное усиление. По умолчанию 1. Диапазон значений от 0,015625 до 64.
modeУстановить режим работы компрессора. Можно
upwardилиdownward. Значение по умолчаниюdownward.thresholdЕсли сигнал потока превысит этот уровень, это повлияет на уменьшение усиления. По умолчанию это 0,125. Диапазон составляет от 0,00097563 до 1.
ratioУстановите коэффициент, на который уменьшается сигнал. 1:2 означает, что если уровень поднялся на 4 дБ выше порога, то после снижения он будет только на 2 дБ выше. По умолчанию 2. Диапазон значений от 1 до 20.
attackКоличество миллисекунд, в течение которых сигнал должен подняться выше порогового значения, прежде чем начнется снижение усиления. По умолчанию 20. Диапазон значений от 0,01 до 2000.
releaseКоличество миллисекунд, в течение которых сигнал должен упасть ниже порогового значения, прежде чем уменьшение снова уменьшится. По умолчанию 250. Диапазон значений от 0,01 до 9000.
makeupУстановите величину, на которую будет усиливаться сигнал после обработки. По умолчанию 1. Диапазон значений от 1 до 64.
kneeИзогните острое колено вокруг порога, чтобы более мягко ввести снижение усиления. По умолчанию 2,82843. Диапазон от 1 до 8.
linkВыберите, влияет ли
averageуровень между всеми каналами входного потока или более громким (maximum) каналом входного потока на уменьшение. Значение по умолчаниюaverage.detectionСледует ли брать точный сигнал в случае
peakили RMS в случаеrms. Значение по умолчанию,rmsкоторое в основном более плавное.mixНасколько использовать сжатый сигнал на выходе. По умолчанию 1. Диапазон значений от 0 до 1.
8.1.1 Команды
Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .
8.2 acontrast
Простой фильтр сжатия/расширения динамического диапазона звука.
Фильтр принимает следующие параметры:
contrastУстановить контраст. По умолчанию 33. Допустимый диапазон от 0 до 100.
8.3 acopy
Скопируйте входной источник звука без изменений на выход. В основном это полезно для целей тестирования.
8.4 acrossfade
Примените перекрестное затухание от одного входного аудиопотока к другому входному аудиопотоку. Кроссфейд применяется в течение заданного времени в конце первого потока.
Фильтр принимает следующие параметры:
nb_samples, nsУкажите количество сэмплов, для которых должен длиться эффект перекрестного затухания. В конце эффекта перекрестного затухания первый входной звук будет полностью тихим. По умолчанию 44100.
duration, dУкажите продолжительность эффекта перекрестного затухания. См. (ffmpeg-utils) раздел Продолжительность времени в руководстве ffmpeg-utils(1) для получения информации о принятом синтаксисе. По умолчанию продолжительность определяется
nb_samples. Если установлено, эта опция используется вместоnb_samples.overlap, oДолжен ли конец первого потока пересекаться с началом второго потока. По умолчанию включено.
curve1Установите кривую для перехода плавного перехода для первого потока.
curve2Установите кривую для перехода плавного перехода для второго потока.
Описание доступных типов кривых см. в описании фильтра fade .
8.4.1 Примеры
- Переход от одного входа к другому:
ffmpeg -i first.flac -i second.flac -filter_complex acrossfade=d=10:c1=exp:c2=exp output.flac - Переход от одного входа к другому, но без перекрытия:
ffmpeg -i first.flac -i second.flac -filter_complex acrossfade=d=10:o=0:c1=exp:c2=exp output.flac
8.5 acrossover
Разделить аудиопоток на несколько полос.
Этот фильтр разделяет аудиопоток на два или более частотных диапазона. Суммирование всех потоков обратно даст плоский результат.
Фильтр принимает следующие параметры:
splitУстановите разделенные частоты. Они должны быть положительными и увеличиваться.
orderУстановите порядок фильтра для каждого разделения полосы. Это управляет спадом фильтра или крутизной передаточной функции фильтра. Доступные значения:
- '
2nd' 12 дБ на октаву.
- '
4th' 24 дБ на октаву.
- '
6th' 36 дБ на октаву.
- '
8th' 48 дБ на октаву.
- '
10th' 60 дБ на октаву.
- '
12th' 72 дБ на октаву.
- '
14th' 84 дБ на октаву.
- '
16th' 96 дБ на октаву.
- '
18th' 108 дБ на октаву.
- '
20th' 120 дБ на октаву.
Значение по умолчанию
4th.- '
levelУстановите уровень входного усиления. Допустимый диапазон — от 0 до 1. Значение по умолчанию — 1.
gainsУстановите выходное усиление для каждой полосы. Значение по умолчанию — 1 для всех диапазонов.
precisionУстановите, какую точность использовать при обработке образцов.
autoАвтоматический выбор внутреннего формата сэмпла в зависимости от других фильтров.
floatВсегда используйте формат выборки с точностью до одинарной плавающей запятой.
doubleВсегда используйте формат выборки с двойной точностью с плавающей запятой.
Значение по умолчанию
auto.
8.5.1 Примеры
- Разделить входной аудиопоток на две полосы (низкая и высокая) с частотой разделения 1500 Гц, каждая полоса будет в отдельном потоке:
ffmpeg -i in.flac -filter_complex 'acrossover=split=1500[LOW][HIGH]' -map '[LOW]' low.wav -map '[HIGH]' high.wav - То же, что и выше, но с более высоким порядком фильтрации:
ffmpeg -i in.flac -filter_complex 'acrossover=split=1500:order=8th[LOW][HIGH]' -map '[LOW]' low.wav -map '[HIGH]' high.wav - То же, что и выше, но также с дополнительной средней полосой (частоты между 1500 и 8000):
ffmpeg -i in.flac -filter_complex 'acrossover=split=1500 8000:order=8th[LOW][MID][HIGH]' -map '[LOW]' low.wav -map '[MID]' mid.wav -map '[HIGH]' high.wav
8.6 acrusher
Уменьшите битовое разрешение звука.
Этот фильтр биткрашер с расширенной функциональностью. Bit Crusher используется для звукового уменьшения количества битов, с которыми сэмплируется звуковой сигнал. Это вообще не меняет битовую глубину, просто производит эффект. Материал с уменьшенной разрядностью звучит более жестко и «цифрово». Этот фильтр может даже округлять до непрерывных значений вместо дискретных разрядностей. Кроме того, он имеет смещение D/C, что приводит к различному подавлению нижней и верхней половины сигнала. Параметр Anti-Aliasing может производить «более мягкие» звуки дробления.
Еще одной особенностью этого фильтра является логарифмический режим. Эта настройка переключает линейные расстояния между битами на логарифмические. В результате получается гораздо более «естественный» звучащий дробилка, который, например, не гейтирует низкие сигналы. Человеческое ухо имеет логарифмическое восприятие, поэтому такое дробление гораздо приятнее. Логарифмическое дробление также может быть сглажено.
Фильтр принимает следующие параметры:
level_inУстановить уровень в.
level_outВыставить уровень.
bitsУстановите битовое уменьшение.
mixУстановите объем смешивания.
modeМожет быть линейным:
linили логарифмическим:log.dcУстановите постоянный ток.
aaУстановите сглаживание.
samplesУстановите сокращение выборки.
lfoВключите LFO. По умолчанию отключен.
lforangeУстановите диапазон LFO.
lforateУстановите скорость LFO.
8.6.1 Команды
Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .
8.7 acue
Отложить фильтрацию звука до заданной временной метки настенных часов. См. Cue фильтр.
8.8 adeclick
Удалите импульсный шум из входного аудио.
Образцы, обнаруженные как импульсный шум, заменяются интерполированными образцами с использованием авторегрессионного моделирования.
window, wУстановить размер окна в миллисекундах. Допустимый диапазон от
10до100. Значение по умолчанию —55миллисекунды. Это устанавливает размер окна, которое будет обработано сразу.overlap, oУстановить перекрытие окна в процентах от размера окна. Допустимый диапазон от
50до95. Значение по умолчанию —75проценты. Установка очень высокого значения увеличивает удаление импульсного шума, но делает весь процесс намного медленнее.arorder, aУстановите порядок авторегрессии в процентах от размера окна. Допустимый диапазон от
0до25. Значение по умолчанию —2проценты. Эта опция также контролирует качество интерполированных выборок с использованием соседних хороших выборок.threshold, tУстановите пороговое значение. Допустимый диапазон от
1до100. Значение по умолчанию2. Это контролирует силу импульсного шума, который будет удален. Чем ниже значение, тем больше сэмплов будет детектировано как импульсный шум.burst, bУстановить пакетное слияние в процентах от размера окна. Допустимый диапазон
0до10. Значение по умолчанию2. Если любые две выборки, обнаруженные как шум, разнесены меньше, чем это значение, то любая выборка между этими двумя выборками также будет обнаружена как шум.method, mУстановите метод перекрытия.
Он принимает следующие значения:
add, aВыберите метод добавления с перекрытием. Даже неинтерполированные выборки немного изменяются с помощью этого метода.
save, sВыберите метод сохранения с перекрытием. Неинтерполированные выборки остаются без изменений.
Значение по умолчанию
a.
8.9 adeclip
Удалите обрезанные сэмплы из входного аудио.
Образцы, обнаруженные как усеченные, заменяются интерполированными образцами с использованием авторегрессионного моделирования.
window, wУстановить размер окна в миллисекундах. Допустимый диапазон от
10до100. Значение по умолчанию —55миллисекунды. Это устанавливает размер окна, которое будет обработано сразу.overlap, oУстановить перекрытие окна в процентах от размера окна. Допустимый диапазон от
50до95. Значение по умолчанию —75проценты.arorder, aУстановите порядок авторегрессии в процентах от размера окна. Допустимый диапазон от
0до25. Значение по умолчанию —8проценты. Эта опция также контролирует качество интерполированных выборок с использованием соседних хороших выборок.threshold, tУстановите пороговое значение. Допустимый диапазон от
1до100. Значение по умолчанию10. Более высокие значения делают обнаружение клипа менее агрессивным.hsize, nУстановите размер гистограммы, используемой для обнаружения клипов. Допустимый диапазон от
100до9999. Значение по умолчанию1000. Более высокие значения делают обнаружение клипа менее агрессивным.method, mУстановите метод перекрытия.
Он принимает следующие значения:
add, aВыберите метод добавления с перекрытием. Даже неинтерполированные выборки немного изменяются с помощью этого метода.
save, sВыберите метод сохранения с перекрытием. Неинтерполированные выборки остаются без изменений.
Значение по умолчанию
a.
8.10 adecorrelate
Примените декорреляцию к входному аудиопотоку.
Фильтр принимает следующие параметры:
stagesУстановить этапы декорреляции фильтрации. Допустимый диапазон от 1 до 16. Значение по умолчанию — 6.
seedУстановите случайное начальное значение, используемое для установки задержки в выборках по каналам.
8.11 adelay
Задержка одного или нескольких аудиоканалов.
Сэмплы в задержанном канале заполнены тишиной.
Фильтр принимает следующий вариант:
delaysУстановите список задержек в миллисекундах для каждого канала, разделенных знаком «|». Неиспользованные задержки будут молча игнорироваться. Если количество заданных задержек меньше количества каналов, все оставшиеся каналы не будут задержаны. Если вы хотите отложить точное количество выборок, добавьте «S» к числу. Если вы хотите вместо задержки в секундах, добавьте 's' к номеру.
allИспользуйте последнюю установленную задержку для всех оставшихся каналов. По умолчанию отключен. Эта опция, если она включена, изменяет
delaysинтерпретацию опции.
8.11.1 Примеры
- Задержите первый канал на 1,5 секунды, третий канал на 0,5 секунды и оставьте второй канал (и любые другие каналы, которые могут присутствовать) без изменений.
adelay=1500|0|500 - Задержите второй канал на 500 отсчетов, третий канал на 700 отсчетов и оставьте первый канал (и любые другие каналы, которые могут присутствовать) без изменений.
adelay=0|500S|700S - Задержите все каналы на одинаковое количество отсчетов:
adelay=delays=64S:all=1
8.12 adenorm
Remedy денормирует звук, добавляя очень низкий уровень шума.
Этот фильтр должен быть помещен перед любым фильтром, который может производить денормализацию.
Далее следует описание принятых параметров.
levelУстановите уровень добавленного шума в дБ. Значение по умолчанию
-351. Допустимый диапазон от -451 до -90.typeУстановите тип добавленного шума.
dcДобавьте сигнал постоянного тока.
acДобавьте сигнал переменного тока.
squareДобавьте квадратный сигнал.
pulseДобавьте импульсный сигнал.
Значение по умолчанию
dc.
8.12.1 Команды
Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .
8.13 aderivative, aintegral
Вычислите производную/интеграл аудиопотока.
Применение обоих фильтров один за другим дает оригинальный звук.
8.14 adynamicequalizer
Примените динамическую коррекцию к входному аудиопотоку.
Далее следует описание принятых опций.
thresholdУстановите порог обнаружения, используемый для запуска выравнивания. Обнаружение порога осуществляется с помощью полосового фильтра. Значение по умолчанию — 0. Допустимый диапазон — от 0 до 100.
dfrequencyУстановите частоту обнаружения в Гц, используемую для полосового фильтра, используемого для запуска выравнивания. Значение по умолчанию — 1000 Гц. Допустимый диапазон составляет от 2 до 1000000 Гц.
dqfactorУстановите коэффициент резонанса обнаружения для полосового фильтра, используемого для запуска выравнивания. Значение по умолчанию — 1. Допустимый диапазон — от 0,001 до 1000.
tfrequencyУстановите целевую частоту выравнивающего фильтра. Значение по умолчанию — 1000 Гц. Допустимый диапазон составляет от 2 до 1000000 Гц.
tqfactorУстановите целевой коэффициент резонанса для целевого выравнивающего фильтра. Значение по умолчанию — 1. Допустимый диапазон — от 0,001 до 1000.
attackУстановите количество миллисекунд, в течение которых сигнал от обнаружения должен подняться выше порога обнаружения, прежде чем начнется выравнивание. По умолчанию 20. Допустимый диапазон от 1 до 2000.
releaseУстановите количество миллисекунд, в течение которых сигнал от обнаружения должен упасть ниже порога обнаружения, прежде чем выравнивание закончится. По умолчанию 200. Допустимый диапазон от 1 до 2000.
kneeИзгиб острого колена вокруг порога обнаружения для более мягкого расчета коэффициента усиления выравнивания. По умолчанию 1. Допустимый диапазон от 0 до 8.
ratioУстановите коэффициент, на который повышается усиление выравнивания. По умолчанию 1. Допустимый диапазон от 1 до 20.
makeupУстановите компенсационное смещение в дБ, на которое повышается усиление выравнивания. По умолчанию 0. Допустимый диапазон от 0 до 30.
rangeУстановите максимально допустимую величину снижения/усиления в дБ. По умолчанию 0. Допустимый диапазон от 0 до 200.
slewУстановите коэффициент нарастания. По умолчанию 1. Допустимый диапазон от 1 до 200.
modeУстановите режим работы фильтра, может быть одним из следующих:
- '
listen' Вывод только изолированного полосового сигнала.
- '
cut' Вырезать частоты выше порога обнаружения.
- '
boost' Повышение частоты ниже порога обнаружения.
Режим по умолчанию '
cut'.- '
tftypeУстановите тип целевого фильтра, может быть одним из следующих:
- '
bell' - '
lowshelf' - '
highshelf'
Тип по умолчанию: '
bell'.- '
8.14.1 Команды
Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .
8.15 adynamicsmooth
Примените динамическое сглаживание к входному аудиопотоку.
Далее следует описание принятых опций.
sensitivityУстановите уровень чувствительности к колебаниям частоты. По умолчанию 2. Допустимый диапазон от 0 до 1e+06.
basefreqУстановите базовую частоту для сглаживания. Значение по умолчанию 22050. Допустимый диапазон от 2 до 1e+06.
8.15.1 Команды
Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .
8.16 aecho
Примените эхо к входному звуку.
Эхо представляет собой отраженный звук и может естественно возникать среди гор (а иногда и больших зданий) при разговоре или крике; эффекты цифрового эха имитируют это поведение и часто используются, чтобы помочь заполнить звук одного инструмента или вокала. Разница во времени между исходным сигналом и отражением равна delay, а громкость отраженного сигнала равна decay. Несколько эхо-сигналов могут иметь разные задержки и затухания.
Далее следует описание принятых параметров.
in_gainУстановите входное усиление отраженного сигнала. Значение по умолчанию
0.6.out_gainУстановить выходное усиление отраженного сигнала. Значение по умолчанию
0.3.delaysУстановите список временных интервалов в миллисекундах между исходным сигналом и отражениями, разделенными '|'.
delayДопустимый диапазон для каждого(0 - 90000.0]. Значение по умолчанию1000.decaysУстановить список громкости отраженных сигналов, разделенных символом '|'.
decayДопустимый диапазон для каждого(0 - 1.0]. Значение по умолчанию0.5.
8.16.1 Примеры
- Заставьте это звучать так, как будто инструментов в два раза больше, чем на самом деле:
aecho=0.8:0.88:60:0.4 - Если задержка очень короткая, то это звучит как (металлический) робот, играющий музыку:
aecho=0.8:0.88:6:0.4 - Более длительная задержка будет звучать как концерт под открытым небом в горах:
aecho=0.8:0.9:1000:0.3 - То же, что и выше, но с еще одной горой:
aecho=0.8:0.9:1000|1800:0.3|0.25
8.17 aemphasis
Фильтр звуковых акцентов создает или восстанавливает материал, непосредственно взятый с пластинок или компакт-дисков с акцентами, с различными кривыми фильтра. Например, для записи музыки на винил сигнал сначала должен быть обработан фильтром, чтобы нивелировать недостатки этого носителя записи. После воспроизведения материала необходимо применить обратный фильтр, чтобы восстановить искажение частотной характеристики.
Фильтр принимает следующие параметры:
level_inУстановите входное усиление.
level_outУстановите выходное усиление.
modeУстановить режим фильтра. Для восстановления материала используйте
reproductionрежим, в противном случае используйтеproductionрежим. По умолчанию этоreproductionрежим.typeУстановите тип фильтра. Выбирает средний. Может быть одним из следующих:
colвыберите Колумбию.
emiвыберите ЭМИ.
bsiвыберите BSI (78 об/мин).
riaaвыберите РИАА.
cdвыберите компакт-диск (CD).
50fmвыберите 50 мкс (FM).
75fmвыберите 75 мкс (FM).
50kfвыберите 50 мкс (FM-KF).
75kfвыберите 75 мкс (FM-KF).
8.17.1 Команды
Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .
8.18 aeval
Измените звуковой сигнал в соответствии с указанными выражениями.
Этот фильтр принимает одно или несколько выражений (по одному для каждого канала), которые оцениваются и используются для изменения соответствующего аудиосигнала.
Он принимает следующие параметры:
exprsУстановите список выражений, разделенных знаком «|», для каждого отдельного канала. Если количество входных каналов превышает количество выражений, для оставшихся выходных каналов используется последнее указанное выражение.
channel_layout, cУстановите схему выходного канала. Если не указано, расположение каналов определяется количеством выражений. Если установлено '
same', по умолчанию будет использоваться тот же макет входного канала.
Каждое выражение exprsможет содержать следующие константы и функции:
chномер канала текущего выражения
nномер оцениваемой выборки, начиная с 0
sчастота дискретизации
tвремя оцениваемого образца, выраженное в секундах
nb_in_channelsnb_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. По умолчанию
4096win_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Гц
qQ-фактор
oоктава
sсклон
kкГц
width, wЗадайте ширину полосы пропускания фильтра в единицах width_type.
mix, mСколько использовать отфильтрованный сигнал на выходе. По умолчанию 1. Диапазон значений от 0 до 1.
channels, cУкажите, какие каналы фильтровать, по умолчанию фильтруются все доступные.
normalize, nНормализация биквадратных коэффициентов по умолчанию отключена. Включение этого параметра нормализует амплитудную характеристику при постоянном токе до 0 дБ.
order, oУстановите порядок фильтра, может быть 1 или 2. По умолчанию 2.
transform, aУстановите тип преобразования БИХ-фильтра.
didiitditdiilattsvfzdf
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 Команды
Этот фильтр поддерживает следующие команды:
weightsnormalizeСинтаксис такой же, как у опции с тем же именем.
8.34 amultiply
Умножьте первый аудиопоток на второй аудиопоток и сохраните результат в выходном аудиопотоке. Умножение выполняется путем умножения каждой выборки из первого потока на выборку в той же позиции из второго потока.
С помощью этого поэлементного умножения можно создавать амплитудные затухания и амплитудные модуляции.
8.35 anequalizer
Параметрический многополосный эквалайзер высокого порядка для каждого канала.
Он принимает следующие параметры:
params-
Эта строка опций имеет формат: "c
chnf=cfw=wg=gt=f| ..." Каждая полоса эквалайзера разделяется символом '|'.chnУстановите номер канала, к которому будет применяться выравнивание. Если вход не имеет этого канала, запись игнорируется.
fУстановите центральную частоту для диапазона. Если вход не имеет этой частоты, запись игнорируется.
wУстановите ширину полосы в герцах.
gУстановите усиление полосы в дБ.
tУстановить тип фильтра для полосы, опционально, может быть:
- '
0' Баттерворт, это по умолчанию.
- '
1' Чебышев тип 1.
- '
2' Чебышев тип 2.
- '
curvesПри включенной опции АЧХ эквалайзера отображается в видеопотоке.
sizeУстановите размер видеопотока. Полезно, только если опция кривых активирована.
mgainУстановите максимальное усиление, которое будет отображаться. Полезно, только если опция кривых активирована. Установка разумного значения позволяет отображать усиление, полученное от соседних полос, которые расположены слишком близко друг к другу, и, таким образом, дает более высокое усиление, когда оба активированы.
fscaleУстановите частотную шкалу, используемую для отображения частотной характеристики в видеовыходе. Может быть линейным или логарифмическим. По умолчанию логарифмический.
colorsУстановите цвет для каждой кривой канала, которая будет отображаться в видеопотоке. Это список названий цветов, разделенных пробелом или '|'. Нераспознанные или отсутствующие цвета будут заменены белым цветом.
8.35.1 Примеры
- Уменьшить усиление на 10 для центральной частоты 200 Гц и ширины 100 Гц для первых 2 каналов с использованием фильтра Чебышева типа 1:
anequalizer=c0 f=200 w=100 g=-10 t=1|c1 f=200 w=100 g=-10 t=1
8.35.2 Команды
Этот фильтр поддерживает следующие команды:
changeИзменить существующие параметры фильтра. Синтаксис команд: "
fN|f=freq|w=width|g=gain"fNномер существующего фильтра, начиная с 0, если такой фильтр недоступен, возвращается ошибка.freqустановить новый параметр частоты.widthустановить новый параметр ширины в герцах.gainустановить новый параметр усиления в дБ.Полный вызов фильтра с помощью asendcmd может выглядеть так: asendcmd=c='4.0 anequalizer change 0|f=200|w=50|g=1',anequalizer=...
8.36 anlmdn
Уменьшите широкополосный шум в аудиосэмплах с помощью алгоритма Non-Local Means.
Каждый образец корректируется путем поиска других образцов с похожим контекстом. Это сходство контекста определяется путем сравнения окружающих их участков размером
p. Патчи ищутся в областиrвокруг образца.
Фильтр принимает следующие параметры:
strength, sУстановить мощность шумоподавления. Допустимый диапазон — от 0,00001 до 10000. Значение по умолчанию — 0,00001.
patch, pУстановите продолжительность радиуса исправления. Допустимый диапазон от 1 до 100 миллисекунд. Значение по умолчанию — 2 миллисекунды.
research, rУстановите продолжительность радиуса исследования. Допустимый диапазон от 2 до 300 миллисекунд. Значение по умолчанию — 6 миллисекунд.
output, oУстановите режим вывода.
Он принимает следующие значения:
iПередайте ввод без изменений.
oПроходной шум отфильтрован.
nПроходят только шумы.
Значение по умолчанию
o.
smooth, mУстановить коэффициент сглаживания. Значение по умолчанию
11. Допустимый диапазон от1до1000.
8.36.1 Команды
Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .
8.37 anlmf, anlms
Примените нормализованный алгоритм наименьшего среднего (квадраты | четвертый) к первому аудиопотоку, используя второй аудиопоток.
Этот адаптивный фильтр используется для имитации желаемого фильтра путем нахождения коэффициентов фильтра, которые относятся к получению наименьшего среднего квадрата сигнала ошибки (разница между желаемым вторым входным аудиопотоком и фактическим сигналом, 1-м входным аудиопотоком).
Далее следует описание принятых опций.
orderУстановите порядок фильтров.
muУстановить фильтр мю.
epsУстановите фильтр eps.
leakageУстановите утечку фильтра.
out_modeОн принимает следующие значения:
iПройдите 1-й вход.
dПройдите 2-й вход.
oПередайте отфильтрованные образцы.
nПередайте разницу между нужными и отфильтрованными образцами.
Значение по умолчанию
o.
8.37.1 Примеры
- Одним из многих применений этого фильтра является шумоподавление, входной звук фильтруется с теми же семплами, которые задерживаются на фиксированную величину, один из таких примеров для стереозвука:
asplit[a][b],[a]adelay=32S|32S[a],[b][a]anlms=order=128:leakage=0.0005:mu=.5:out_mode=o
8.37.2 Команды
Этот фильтр поддерживает те же команды, что и опции, за исключением option order.
8.38 anull
Передайте источник звука без изменений на выход.
8.39 apad
Заполните конец аудиопотока тишиной.
Это можно использовать вместе сffmpeg -shortestдля расширения аудиопотоков до той же длины, что и видеопоток.
Далее следует описание принятых опций.
packet_sizeУстановить размер пакета тишины. Значение по умолчанию — 4096.
pad_lenУстановите количество сэмплов тишины, которые нужно добавить в конец. После достижения значения поток прекращается. Этот вариант взаимоисключающий с
whole_len.whole_lenУстановите минимальное общее количество сэмплов в выходном аудиопотоке. Если значение больше длины входного аудио, в конец добавляется тишина, пока не будет достигнуто значение. Этот вариант взаимоисключающий с
pad_len.pad_durУкажите продолжительность добавляемых образцов тишины. См. (ffmpeg-utils) раздел Продолжительность времени в руководстве ffmpeg-utils(1) для получения информации о принятом синтаксисе. Используется, только если установлено неотрицательное значение.
whole_durУкажите минимальную общую продолжительность выходного аудиопотока. См. (ffmpeg-utils) раздел Продолжительность времени в руководстве ffmpeg-utils(1) для получения информации о принятом синтаксисе. Используется, только если установлено неотрицательное значение. Если значение больше длины входного аудио, в конец добавляется тишина, пока не будет достигнуто значение. Этот вариант взаимоисключающий с
pad_dur
Если ниpad_lenниwhole_lenниpad_dur
ниwhole_durустановлен, фильтр будет добавлять тишину в конец входного потока на неопределенный срок.
Обратите внимание, что для ffmpeg 4.4 и более ранних версий нольpad_durили же
whole_durтакже заставлял фильтр добавлять тишину на неопределенный срок.
8.39.1 Примеры
- Добавьте 1024 образца тишины в конец ввода:
apad=pad_len=1024 - Убедитесь, что аудиовыход будет содержать не менее 10000 сэмплов, при необходимости заполните вход тишиной:
apad=whole_len=10000 - Используйте
ffmpegдля заполнения аудиовхода тишиной, чтобы видеопоток всегда был самым коротким и преобразовывался до конца в выходной файл при использованииshortestвариант:ffmpeg -i VIDEO -i AUDIO -filter_complex "[1:0]apad" -shortest OUTPUT
8.40 aphaser
Добавьте эффект фазирования к входному звуку.
Фазерный фильтр создает серии пиков и впадин в частотном спектре. Положение пиков и впадин модулируется таким образом, что они меняются со временем, создавая эффект размашистости.
Далее следует описание принятых параметров.
in_gainУстановите входное усиление. По умолчанию 0,4.
out_gainУстановите выходное усиление. По умолчанию 0,74.
delayУстановите задержку в миллисекундах. По умолчанию 3.0.
decayУстановить распад. По умолчанию 0,4.
speedУстановите скорость модуляции в Гц. По умолчанию 0,5.
typeУстановите тип модуляции. По умолчанию треугольный.
Он принимает следующие значения:
- '
triangular, t' - '
sinusoidal, s'
- '
8.41 aphaseshift
Примените фазовый сдвиг к входным звуковым образцам.
Фильтр принимает следующие параметры:
shiftЗадайте фазовый сдвиг. Допустимый диапазон от -1,0 до 1,0. Значение по умолчанию — 0,0.
levelУстановите выходное усиление, применяемое к конечному выходу. Допустимый диапазон от 0,0 до 1,0. Значение по умолчанию — 1,0.
orderУстановите порядок фильтрации, используемый для фильтрации. Допустимый диапазон от 1 до 16. Значение по умолчанию — 8.
8.41.1 Команды
Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .
8.42 apsyclip
Примените Psychoacoustic clipper к входному аудиопотоку.
Фильтр принимает следующие параметры:
level_inУстановите входное усиление. По умолчанию это 1. Диапазон: [0,015625 - 64].
level_outУстановите выходное усиление. По умолчанию это 1. Диапазон: [0,015625 - 64].
clipУстановите начальное значение отсечения. Значение по умолчанию — 0dBFS или 1.
diffВыводить только разностные сэмплы, полезные для прослушивания вносимых искажений. По умолчанию отключен.
adaptiveУстановите силу применяемого адаптивного искажения. Значение по умолчанию — 0,5. Допустимый диапазон от 0 до 1.
iterationsУстановите количество итераций психоакустического клипера. Допустимый диапазон — от 1 до 20. Значение по умолчанию — 10.
levelВыходной сигнал автоматического уровня. По умолчанию отключено. Это нормализует звук до 0dBFS, если включено.
8.42.1 Команды
Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .
8.43 apulsator
Аудиопульсатор — нечто среднее между автопаннером и тремоло. Но он также может создавать забавные стереоэффекты. Пульсатор изменяет громкость левого и правого каналов на основе LFO (генератора низкой частоты) с различными волновыми формами и сдвинутыми фазами. Этот фильтр имеет возможность определять смещение между левым и правым каналом. Смещение 0 означает, что обе формы LFO соответствуют друг другу. Левый и правый канал переделаны одинаково - обычное тремоло. Смещение 50% означает, что форма правого канала точно сдвинута по фазе (или сдвинута назад примерно на половину частоты) — пульсатор действует как автопаннер. При 1 обе кривые снова совпадают. Каждая промежуточная настройка перемещает фазовый сдвиг между всеми этапами без промежутка и создает некоторые «обходные» звуки с синусоидальными и треугольными волнами.
Фильтр принимает следующие параметры:
level_inУстановите входное усиление. По умолчанию это 1. Диапазон: [0,015625 - 64].
level_outУстановите выходное усиление. По умолчанию это 1. Диапазон: [0,015625 - 64].
modeУстановите форму волны, которую будет использовать LFO. Может быть одним из: синусоидальный, треугольный, квадратный, пилообразный или пилообразный. По умолчанию синус.
amountУстановить модуляцию. Определите, на какую часть исходного сигнала влияет LFO.
offset_lУстановить смещение левого канала. По умолчанию 0. Допустимый диапазон: [0–1].
offset_rУстановить смещение правого канала. По умолчанию 0,5. Допустимый диапазон: [0–1].
widthУстановите ширину импульса. По умолчанию 1. Допустимый диапазон: [0–2].
timingУстановите возможный режим синхронизации. Может быть одним из: ударов в минуту, мс или Гц. По умолчанию Гц.
bpmУстановите удары в минуту. Значение по умолчанию — 120. Допустимый диапазон — [30–300]. Используется, только если синхронизация установлена ​​на удары в минуту.
msУстановите мс. По умолчанию 500. Допустимый диапазон: [10 - 2000]. Используется, только если время установлено на мс.
hzУстановите частоту в Гц. По умолчанию 2. Допустимый диапазон: [0,01–100]. Используется, только если синхронизация установлена ​​на Hz.
8.44 aresample
Передискретизируйте входной звук в соответствии с указанными параметрами, используя библиотеку libswresample. Если ничего не указано, фильтр будет автоматически преобразовывать вход и выход.
Этот фильтр также может растягивать/сжимать аудиоданные, чтобы они соответствовали временным меткам, или вводить тишину/вырезать звук, чтобы он соответствовал временным меткам, выполнять комбинацию того и другого или не делать ни того, ни другого.
Фильтр принимает синтаксис [ sample_rate:] resampler_options, где sample_rate
выражает частоту дискретизации и resampler_optionsпредставляет собой список
пар key= value, разделенных знаком «:».
Полный список поддерживаемых параметров
см. в разделе
(ffmpeg-resampler) «Параметры ресемплера» в руководстве ffmpeg-resampler(1) .
8.44.1 Примеры
- Передискретизируйте входной звук до 44 100 Гц:
aresample=44100 - Растягивать/сжимать сэмплы до заданных временных меток с максимальной компенсацией 1000 сэмплов в секунду:
aresample=async=1000
8.45 areverse
Перевернуть аудиоклип.
Предупреждение: этому фильтру требуется память для буферизации всего клипа, поэтому рекомендуется обрезка.
8.45.1 Примеры
- Возьмите первые 5 секунд клипа и переверните его.
atrim=end=5,areverse
8.46 arnndn
Уменьшите шум от речи с помощью рекуррентных нейронных сетей.
Этот фильтр принимает следующие параметры:
model, mУстановите файл модели поезда для загрузки. Эта опция требуется всегда.
mixУстановите, сколько нужно смешать отфильтрованные сэмплы в конечный результат. Допустимый диапазон: от -1 до 1. Значение по умолчанию — 1. Отрицательные значения являются особыми, они устанавливают, сколько отфильтрованного шума следует сохранять в конечном выходе фильтра. Установите для этого параметра значение -1, чтобы услышать фактический шум, удаленный из входного сигнала.
8.46.1 Команды
Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .
8.47 asdr
Измерьте отношение аудиосигнала к искажению.
Этот фильтр принимает на вход два аудиопотока и выводит первый аудиопоток. Результаты представлены в дБ на канал в конце любого входа.
8.48 asetnsamples
Установите количество выборок на каждый выходной аудиокадр.
Последний выходной пакет может содержать разное количество сэмплов, так как фильтр сбрасывает все оставшиеся сэмплы, когда входной звук сигнализирует об окончании.
Фильтр принимает следующие параметры:
nb_out_samples, nУстановите количество кадров на каждый выходной аудиокадр. Это число означает количество выборок на каждый канал . Значение по умолчанию — 1024.
pad, pЕсли установлено значение 1, фильтр дополнит последний аудиокадр нулями, так что последний кадр будет содержать то же количество сэмплов, что и предыдущие. Значение по умолчанию — 1.
Например, чтобы установить количество выборок для каждого кадра равным 1234 и отключить заполнение для последнего кадра, используйте:
asetnsamples=n=1234:p=0
8.49 asetrate
Установите частоту дискретизации без изменения данных PCM. Это приведет к изменению скорости и шага.
Фильтр принимает следующие параметры:
sample_rate, rУстановите выходную частоту дискретизации. По умолчанию 44100 Гц.
8.50 ashowinfo
Показать строку, содержащую различную информацию для каждого входного звукового кадра. Входной звук не изменяется.
Показанная строка содержит последовательность пар ключ/значение вида
key: value.
На выходе отображаются следующие значения:
n(Порядковый) номер входного кадра, начиная с 0.
ptsОтметка времени представления входного кадра в базовых единицах времени; временная база зависит от входной площадки фильтра и обычно равна 1/
sample_rate.pts_timeВременная метка представления входного кадра в секундах.
posпозиция кадра во входном потоке, -1, если эта информация недоступна и/или бессмысленна (например, в случае синтетического звука)
fmtФормат образца.
chlayoutСхема канала.
rateЧастота дискретизации аудиокадра.
nb_samplesКоличество выборок (на канал) в кадре.
checksumКонтрольная сумма Adler-32 (в шестнадцатеричном формате) аудиоданных. Для планарного звука данные обрабатываются так, как если бы все плоскости были объединены.
plane_checksumsСписок контрольных сумм Adler-32 для каждой плоскости данных.
8.51 asoftclip
Примените мягкое отсечение звука.
Мягкое отсечение — это тип эффекта искажения, при котором амплитуда сигнала насыщается по плавной кривой, а не по резкой форме жесткого отсечения.
Этот фильтр принимает следующие параметры:
typeУстановить тип мягкого отсечения.
Он принимает следующие значения:
hardtanhatancubicexpalgquinticsinerf
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.
Ниже приводится список каждого ключа метаданных:
meanvariancecentroidspreadskewnesskurtosisentropyflatnesscrestfluxslopedecreaserolloff
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 dBRMS level dBСтандартный пиковый и среднеквадратический уровень измеряется в dBFS.
RMS peak dBRMS 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Гц
qQ-фактор
oоктава
sсклон
kкГц
width, wЗадайте ширину полосы пропускания фильтра в единицах width_type.
mix, mСколько использовать отфильтрованный сигнал на выходе. По умолчанию 1. Диапазон значений от 0 до 1.
channels, cУкажите, какие каналы фильтровать, по умолчанию фильтруются все доступные.
normalize, nНормализация биквадратных коэффициентов по умолчанию отключена. Включение этого параметра нормализует амплитудную характеристику при постоянном токе до 0 дБ.
transform, aУстановите тип преобразования БИХ-фильтра.
didiitditdiilattsvfzdf
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Гц
qQ-фактор
oоктава
sсклон
kкГц
width, wЗадайте ширину полосы пропускания фильтра в единицах width_type.
mix, mСколько использовать отфильтрованный сигнал на выходе. По умолчанию 1. Диапазон значений от 0 до 1.
channels, cУкажите, какие каналы фильтровать, по умолчанию фильтруются все доступные.
normalize, nНормализация биквадратных коэффициентов по умолчанию отключена. Включение этого параметра нормализует амплитудную характеристику при постоянном токе до 0 дБ.
transform, aУстановите тип преобразования БИХ-фильтра.
didiitditdiilattsvfzdf
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Гц
qQ-фактор
oоктава
sсклон
kкГц
width, wОпределите, насколько крутым является переход полки фильтра.
poles, pУстановить количество полюсов. По умолчанию 2.
mix, mСколько использовать отфильтрованный сигнал на выходе. По умолчанию 1. Диапазон значений от 0 до 1.
channels, cУкажите, какие каналы фильтровать, по умолчанию фильтруются все доступные.
normalize, nНормализация биквадратных коэффициентов по умолчанию отключена. Включение этого параметра нормализует амплитудную характеристику при постоянном токе до 0 дБ.
transform, aУстановите тип преобразования БИХ-фильтра.
didiitditdiilattsvfzdf
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 Команды
Этот фильтр поддерживает следующие команды:
a0a1a2b0b1b2Изменить параметр биквадрата. Синтаксис команды: "
value"mix, mСколько использовать отфильтрованный сигнал на выходе. По умолчанию 1. Диапазон значений от 0 до 1.
channels, cУкажите, какие каналы фильтровать, по умолчанию фильтруются все доступные.
normalize, nНормализация биквадратных коэффициентов по умолчанию отключена. Включение этого параметра нормализует амплитудную характеристику при постоянном токе до 0 дБ.
transform, aУстановите тип преобразования БИХ-фильтра.
didiitditdiilattsvfzdf
precision, rУстановить точность фильтрации.
autoВыберите автоматический формат семпла в зависимости от фильтров окружающего звучания.
s16Всегда используйте подписанный 16-битный.
s32Всегда используйте подписанные 32-битные.
f32Всегда используйте 32-битное число с плавающей запятой.
f64Всегда используйте 64-битное число с плавающей запятой.
block_size, bУстановите размер блока, используемый для обратной обработки IIR. Если это значение установлено на достаточно высокое значение (выше, чем длина импульсной характеристики, которая усекается при достижении значений, близких к нулю), фильтрация станет линейно-фазовой, в противном случае, если она недостаточно велика, она просто создаст неприятные артефакты.
Обратите внимание, что задержка фильтра будет равна именно этому числу сэмплов, если установлено ненулевое значение.
8.68 bs2b
Bauer стерео в бинауральное преобразование, которое улучшает прослушивание стереофонических аудиозаписей в наушниках.
Чтобы включить компиляцию этого фильтра, вам необходимо настроить FFmpeg с расширением
--enable-libbs2b.
Он принимает следующие параметры:
profileПредопределенный уровень перекрестной подачи.
defaultУровень по умолчанию (fcut=700, подача=50).
cmoyСхема Чу Мой (fcut=700, подача=60).
jmeierСхема Яна Мейера (fcut=650, подача=95).
fcutЧастота среза (в Гц).
feedУровень подачи (в Гц).
8.69 channelmap
Переназначьте входные каналы на новые местоположения.
Он принимает следующие параметры:
mapСопоставьте каналы от входа к выходу. Аргумент представляет собой список сопоставлений, разделенных знаком '|', каждое из которых имеет форму или . может быть либо именем входного канала (например, FL для переднего левого), либо его индексом в расположении входного канала. имя выходного канала или его индекс в схеме выходных каналов. Если не указано, то это неявно индекс, начинающийся с нуля и увеличивающийся на единицу для каждого отображения.
in_channel-out_channelin_channelin_channelout_channelout_channelchannel_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
Сжимайте или расширяйте динамический диапазон аудио.
Он принимает следующие параметры:
attacksdecaysСписок значений времени в секундах для каждого канала, по которым усредняется мгновенный уровень входного сигнала для определения его громкости.
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Гц
qQ-фактор
oоктава
sсклон
kкГц
width, wЗадайте ширину полосы пропускания фильтра в единицах width_type.
gain, gУстановите необходимое усиление или ослабление в дБ. Остерегайтесь клиппирования при использовании положительного усиления.
mix, mСколько использовать отфильтрованный сигнал на выходе. По умолчанию 1. Диапазон значений от 0 до 1.
channels, cУкажите, какие каналы фильтровать, по умолчанию фильтруются все доступные.
normalize, nНормализация биквадратных коэффициентов по умолчанию отключена. Включение этого параметра нормализует амплитудную характеристику при постоянном токе до 0 дБ.
transform, aУстановите тип преобразования БИХ-фильтра.
didiitditdiilattsvfzdf
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количество каналов
chlayoutchannel_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окно черного человека
nuttall33-членное непрерывное окно Наттолла 1-й производной
mnuttall3минимальное трехчленное прерывистое ореховое окно
nuttall4-членное непрерывное окно Наттолла 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, но теперь в формате.
multichhrirffmpeg -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Гц
qQ-фактор
oоктава
sсклон
kкГц
width, wЗадайте ширину полосы пропускания фильтра в единицах width_type. Применяется только к двухполюсному фильтру. Значение по умолчанию равно 0,707q и дает ответ Баттерворта.
mix, mСколько использовать отфильтрованный сигнал на выходе. По умолчанию 1. Диапазон значений от 0 до 1.
channels, cУкажите, какие каналы фильтровать, по умолчанию фильтруются все доступные.
normalize, nНормализация биквадратных коэффициентов по умолчанию отключена. Включение этого параметра нормализует амплитудную характеристику при постоянном токе до 0 дБ.
transform, aУстановите тип преобразования БИХ-фильтра.
didiitditdiilattsvfzdf
precision, rУстановить точность фильтрации.
autoВыберите автоматический формат семпла в зависимости от фильтров окружающего звучания.
s16Всегда используйте подписанный 16-битный.
s32Всегда используйте подписанные 32-битные.
f32Всегда используйте 32-битное число с плавающей запятой.
f64Всегда используйте 64-битное число с плавающей запятой.
block_size, bУстановите размер блока, используемый для обратной обработки IIR. Если это значение установлено на достаточно высокое значение (выше, чем длина импульсной характеристики, которая усекается при достижении значений, близких к нулю), фильтрация станет линейно-фазовой, в противном случае, если она недостаточно велика, она просто создаст неприятные артефакты.
Обратите внимание, что задержка фильтра будет равна именно этому числу сэмплов, если установлено ненулевое значение.
8.89.1 Команды
Этот фильтр поддерживает следующие команды:
frequency, fИзмените частоту верхних частот. Синтаксис команды: "
frequency"width_type, tИзмените highpass width_type. Синтаксис команды: "
width_type"width, wИзмените ширину верхних частот. Синтаксис команды: "
width"mix, mИзмените микс верхних частот. Синтаксис команды: "
mix"
8.90 join
Объедините несколько входных потоков в один многоканальный поток.
Он принимает следующие параметры:
inputsКоличество входных потоков. По умолчанию 2.
channel_layoutЖелаемая схема выходного канала. По умолчанию это стерео.
mapСопоставьте каналы от входов к выходу. Аргумент представляет собой список отображений, разделенных знаком '|', каждое из которых находится в форме. — индекс входного потока, отсчитываемый от 0. может быть либо именем входного канала (например, FL для переднего левого), либо его индексом в заданном входном потоке. имя выходного канала.
input_idx.in_channel-out_channelinput_idxin_channelout_channel
Фильтр попытается угадать сопоставления, если они не указаны явно. Он делает это, сначала пытаясь найти неиспользуемый соответствующий входной канал, и если это не удается, он выбирает первый неиспользуемый входной канал.
Соедините 3 входа (с правильно настроенными раскладками каналов):
ffmpeg -i INPUT1 -i INPUT2 -i INPUT3 -filter_complex join=inputs=3 OUTPUT
Создайте выход 5.1 из 6 одноканальных потоков:
ffmpeg -i fl -i fr -i fc -i sl -i sr -i lfe -filter_complex
'join=inputs=6:channel_layout=5.1:map=0.0-FL|1.0-FR|2.0-FC|3.0-SL|4.0-SR|5.0-LFE'
out
8.91 ladspa
Загрузите плагин LADSPA (простой API-интерфейс Linux Audio Developer).
Чтобы включить компиляцию этого фильтра, вам необходимо настроить FFmpeg с расширением
--enable-ladspa.
file, fУказывает имя загружаемой библиотеки подключаемых модулей LADSPA. Если переменная окружения
LADSPA_PATHопределена, подключаемый модуль LADSPA ищется в каждом из каталогов, указанных в спискеLADSPA_PATH, разделенном двоеточиями, в противном случае — в стандартных путях LADSPA, расположенных в следующем порядке:HOME/.ladspa/lib/,/usr/local/lib/ladspa/,/usr/lib/ladspa/.plugin, pУказывает подключаемый модуль в библиотеке. Некоторые библиотеки содержат только один плагин, а другие содержат их много. Если этот параметр не установлен, фильтр отобразит все доступные плагины в указанной библиотеке.
controls, cУстановите '|' разделенный список элементов управления, которые представляют собой нуль или более значений с плавающей запятой, которые определяют поведение загруженного плагина (например, задержку, порог или усиление). Элементы управления должны быть определены с использованием следующего синтаксиса: c0=
value0|c1=value1|c2=value2|..., гдеvalueiзначение, установленное дляi-го элемента управления. В качестве альтернативы они также могут быть определены с использованием следующего синтаксиса:value0|value1|value2|..., гдеvalueiзначение, заданное наi-м элементе управления. Еслиcontrolsустановлено значениеhelp, печатаются все доступные элементы управления и их допустимые диапазоны.sample_rate, sУкажите частоту дискретизации, по умолчанию 44100. Используется, только если у плагина нет входных данных.
nb_samples, nУстановите количество выборок на канал для каждого выходного кадра, по умолчанию 1024. Используется, только если у плагина нет входных данных.
duration, dУстановите минимальную продолжительность исходного звука. См. (ffmpeg-utils) раздел Продолжительность времени в руководстве ffmpeg-utils(1) для получения информации о принятом синтаксисе. Обратите внимание, что результирующая продолжительность может быть больше, чем указанная продолжительность, так как сгенерированный звук всегда обрезается в конце полного кадра. Если не указано или выраженная продолжительность отрицательна, предполагается, что звук будет генерироваться навсегда. Используется, только если у плагина нулевые входы.
latency, lВключить компенсацию задержки, по умолчанию отключено. Используется только в том случае, если у плагина есть входы.
8.91.1 Примеры
- Список всех доступных плагинов в библиотеке amp (пример плагина LADSPA):
ladspa=file=amp - Перечислите все доступные элементы управления и их допустимые диапазоны для
vcf_notchплагина изVCFбиблиотеки:ladspa=f=vcf:p=vcf_notch:c=help - Имитация аудиооборудования низкого качества с помощью
Computer Music Toolkitбиблиотеки плагинов (CMT):ladspa=file=cmt:plugin=lofi:controls=c0=22|c1=12|c2=12 - Добавьте к звуку реверберацию с помощью TAP-плагинов (плагины Tom's Audio Processing):
ladspa=file=tap_reverb:tap_reverb - Сгенерируйте белый шум с амплитудой 0,2:
ladspa=file=cmt:noise_source_white:c=c0=.2 - Сгенерируйте клики со скоростью 20 ударов в минуту, используя плагин
C* Click - MetronomeизC* Audio Plugin Suiteбиблиотеки (CAPS):ladspa=file=caps:Click:c=c1=20' - Применить
C* Eq10X2 - Stereo 10-band equaliserэффект:ladspa=caps:Eq10X2:c=c0=-48|c9=-24|c3=12|c4=2 - Увеличьте громкость на 20 дБ с помощью ограничителя быстрого просмотра из
SWH Pluginsколлекции Стива Харриса:ladspa=fast_lookahead_limiter_1913:fastLookaheadLimiter:20|0|2 - Ослабьте низкие частоты с помощью многополосного эквалайзера из
SWH Pluginsколлекции Стива Харриса:ladspa=mbeq_1197:mbeq:-24|-24|-24|0|0|0|0|0|0|0|0|0|0|0|0 - Уменьшить стереоизображение с помощью
NarrowerбиблиотекиC* Audio Plugin Suite(CAPS):ladspa=caps:Narrower - Еще один белый шум, теперь использующий
C* Audio Plugin Suiteбиблиотеку (CAPS):ladspa=caps:White:.2 - Немного фрактального шума с использованием
C* Audio Plugin Suiteбиблиотеки (CAPS):ladspa=caps:Fractal:c=c1=1 - Динамическая нормализация громкости с помощью
VLevelплагина:ladspa=vlevel-ladspa:vlevel_mono
8.91.2 Команды
Этот фильтр поддерживает следующие команды:
cNИзмените
N-th контрольное значение.Если указанное значение недействительно, оно игнорируется и сохраняется предыдущее значение.
8.92 loudnorm
Нормализация громкости EBU R128. Включает режимы динамической и линейной нормализации. Поддержка как однопроходного (прямые трансляции, файлы), так и двухпроходного (файлы) режимов. Этот алгоритм может ориентироваться на IL, LRA и максимальный истинный пик. В динамическом режиме для точного обнаружения истинных пиков аудиопоток будет повышаться до 192 кГц. Используйте -arопцию или aresampleфильтр, чтобы явно установить выходную частоту дискретизации.
Фильтр принимает следующие параметры:
I, iУстановите интегрированную цель громкости. Диапазон составляет от -70,0 до -5,0. Значение по умолчанию: -24,0.
LRA, lraУстановите целевой диапазон громкости. Диапазон: 1,0–50,0. Значение по умолчанию — 7,0.
TP, tpУстановите максимальный истинный пик. Диапазон составляет от -9,0 до +0,0. Значение по умолчанию: -2,0.
measured_I, measured_iИзмеренный IL входного файла. Диапазон составляет от -99,0 до +0,0.
measured_LRA, measured_lraИзмеренный LRA входного файла. Диапазон: 0,0–99,0.
measured_TP, measured_tpИзмеренный истинный пик входного файла. Диапазон составляет от -99,0 до +99,0.
measured_threshИзмеренный порог входного файла. Диапазон составляет от -99,0 до +0,0.
offsetУстановите усиление смещения. Усиление применяется перед ограничителем истинного пика. Диапазон составляет от -99,0 до +99,0. По умолчанию +0,0.
linearНормализация путем линейного масштабирования исходного звука.
measured_I,measured_LRA,measured_TP, иmeasured_threshвсе должны быть указаны. Целевой LRA не должен быть ниже исходного LRA, а изменение интегрированной громкости не должно приводить к истинному пику, превышающему целевое TP. Если какое-либо из этих условий не выполняется, режим нормализации вернется кdynamic. Вариантыtrueилиfalse. Значение по умолчаниюtrue.dual_monoОтноситесь к входным монофоническим файлам как к «двойному моно». Если монофонический файл предназначен для воспроизведения на стереосистеме, его измерение EBU R128 будет некорректным для восприятия. Если установлено значение
true, эта опция компенсирует этот эффект. Этот параметр не влияет на многоканальные входные файлы. Варианты истинны или ложны. Значение по умолчанию — ложь.print_formatУстановите формат печати для статистики. Варианты: сводка, json или ничего. Значение по умолчанию — нет.
8.93 lowpass
Примените фильтр нижних частот с точечной частотой 3 дБ. Фильтр может быть однополюсным или двухполюсным (по умолчанию). Спад фильтра составляет 6 дБ на полюс на октаву (20 дБ на полюс на декаду).
Фильтр принимает следующие параметры:
frequency, fУстановите частоту в Гц. По умолчанию 500.
poles, pУстановить количество полюсов. По умолчанию 2.
width_type, tУстановите метод, чтобы указать ширину полосы пропускания фильтра.
hГц
qQ-фактор
oоктава
sсклон
kкГц
width, wЗадайте ширину полосы пропускания фильтра в единицах width_type. Применяется только к двухполюсному фильтру. Значение по умолчанию равно 0,707q и дает ответ Баттерворта.
mix, mСколько использовать отфильтрованный сигнал на выходе. По умолчанию 1. Диапазон значений от 0 до 1.
channels, cУкажите, какие каналы фильтровать, по умолчанию фильтруются все доступные.
normalize, nНормализация биквадратных коэффициентов по умолчанию отключена. Включение этого параметра нормализует амплитудную характеристику при постоянном токе до 0 дБ.
transform, aУстановите тип преобразования БИХ-фильтра.
didiitditdiilattsvfzdf
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Установить детектор переходных процессов. Возможные значения:
crispmixedsmooth
detectorУстановить детектор. Возможные значения:
compoundpercussivesoft
phaseУстановите фазу. Возможные значения:
laminarindependent
windowУстановить размер окна обработки. Возможные значения:
standardshortlong
smoothingУстановить сглаживание. Возможные значения:
offon
formantВключить сохранение форманты при сдвиге тона. Возможные значения:
shiftedpreserved
pitchqУстановите качество тона. Возможные значения:
qualityspeedconsistency
channelsУстановите каналы. Возможные значения:
aparttogether
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Гц
qQ-фактор
oоктава
sсклон
kкГц
width, wОпределите, насколько крутым является переход полки фильтра.
poles, pУстановить количество полюсов. По умолчанию 2.
mix, mСколько использовать отфильтрованный сигнал на выходе. По умолчанию 1. Диапазон значений от 0 до 1.
channels, cУкажите, какие каналы фильтровать, по умолчанию фильтруются все доступные.
normalize, nНормализация биквадратных коэффициентов по умолчанию отключена. Включение этого параметра нормализует амплитудную характеристику при постоянном токе до 0 дБ.
transform, aУстановите тип преобразования БИХ-фильтра.
didiitditdiilattsvfzdf
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Гц
qQ-фактор
oоктава
sсклон
kкГц
width, wОпределите, насколько крутым является переход полки фильтра.
poles, pУстановить количество полюсов. По умолчанию 2.
mix, mСколько использовать отфильтрованный сигнал на выходе. По умолчанию 1. Диапазон значений от 0 до 1.
channels, cУкажите, какие каналы фильтровать, по умолчанию фильтруются все доступные.
normalize, nНормализация биквадратных коэффициентов по умолчанию отключена. Включение этого параметра нормализует амплитудную характеристику при постоянном токе до 0 дБ.
transform, aУстановите тип преобразования БИХ-фильтра.
didiitditdiilattsvfzdf
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Этот параметр представляет математическую точность.
Он определяет, какие форматы входных сэмплов будут разрешены, что влияет на точность масштабирования объема.
fixed8-битная фиксированная точка; это ограничивает формат входного образца до U8, S16 и S32.
float32-битные числа с плавающей запятой; это ограничивает формат входного образца до FLT. (дефолт)
double64-битные числа с плавающей запятой; это ограничивает формат входного образца до 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частота дискретизации
startptsPTS в начале стрима
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/ .denominatorsample_rateЧастота дискретизации входящих аудиобуферов.
sample_fmtОбразец формата входящих аудиобуферов. Либо имя примера формата, либо соответствующее целочисленное представление из перечисления AVSampleFormat в
libavutil/samplefmt.hchannel_layoutРасположение каналов входящих аудиобуферов. Либо имя макета канала из channel_layout_map в
libavutil/channel_layout.cили соответствующее целочисленное представление из макросов AV_CH_LAYOUT_* вlibavutil/channel_layout.hchannelsКоличество каналов входящих аудиобуферов. Если оба
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.
ptsPTS (Presentation TimeStamp) выходного аудиокадра, выраженный в
TBединицах.tPTS выходного аудиокадра, выраженное в секундах.
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:hiwШирина входного кадра.
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 Команды
Этот фильтр поддерживает следующие команды , соответствующие одноименной опции:
factorthresholdtolerancelowhighplanes
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серийный номер.Параллельное может быть быстрее, чем последовательное, а наоборот никогда не бывает. Параллельный процесс прервется раньше, если первое изменение превысит пороговое значение, в то время как последовательный продолжит обработку другой стороны кадров, если они равны или ниже порогового значения.
0s1s2sУстановите сигму для 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_sizeluminance_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_modec1_modec2_modec3_modeall_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_opacityc1_opacityc2_opacityc3_opacityall_opacityУстановите непрозрачность смешивания для определенного компонента пикселя или всех компонентов пикселя в случае
all_opacity. Используется только в сочетании с режимами наложения компонентов пикселей.c0_exprc1_exprc2_exprc3_exprall_exprУстановите выражение смешивания для определенного компонента пикселя или всех компонентов пикселя в случае
all_expr. Обратите внимание, что соответствующие параметры режима будут игнорироваться, если они установлены.В выражениях могут использоваться следующие переменные:
NПорядковый номер отфильтрованного кадра, начиная с
0.XYкоординаты текущего образца
WHширина и высота фильтруемой в данный момент плоскости
SWSHШкала ширины и высоты фильтруемой плоскости. Это отношение размеров текущей плоскости к плоскости яркости, например, для
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_minperiod_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. «Метрика перцептивного размытия без ссылки». Позволяет использовать блочную аббревиатуру.
Фильтр принимает следующие параметры:
lowhighУстановите нижнее и верхнее пороговые значения, используемые алгоритмом определения порога Кэнни.
Высокий порог выбирает «сильные» краевые пиксели, которые затем соединяются через 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, lrluma_power, lpchroma_radius, crchroma_power, cpalpha_radius, aralpha_power, ap
Далее следует описание принятых опций.
luma_radius, lrchroma_radius, cralpha_radius, arУстановите выражение для радиуса окна в пикселях, используемого для размытия соответствующей входной плоскости.
Значение радиуса должно быть неотрицательным числом и не должно превышать значение выражения
min(w,h)/2для плоскостей яркости и альфа, аmin(cw,ch)/2также для плоскостей цветности.Значение по умолчанию для
luma_radiusэто "2". Если не указано,chroma_radiusа такжеalpha_radiusпо умолчанию соответствует соответствующему набору значений дляluma_radius.Выражения могут содержать следующие константы:
whВводимая ширина и высота в пикселях.
cwchШирина и высота входного изображения цветности в пикселях.
hsubvsubЗначения подвыборки цветности по горизонтали и вертикали. Например, для формата пикселей «yuv422p»
hsubэто 2 иvsub1.
luma_power, lpchroma_power, cpalpha_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
Измените интенсивность основных цветов (красный, зеленый и синий) входных кадров.
Фильтр позволяет настроить входной кадр в областях теней, средних тонов или светлых участков для баланса красного-голубого, зеленого-пурпурного или сине-желтого.
Положительное значение корректировки смещает баланс в сторону основного цвета, отрицательное значение — в сторону дополнительного цвета.
Фильтр принимает следующие параметры:
rsgsbsОтрегулируйте красные, зеленые и синие тени (самые темные пиксели).
rmgmbmОтрегулируйте средние тона красного, зеленого и синего (средние пиксели).
rhghbhОтрегулируйте красные, зеленые и синие блики (самые яркие пиксели).
Допустимые диапазоны параметров:
[-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.
rcwgmwbywУстановите вес каждого значения параметра
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
Фильтр принимает следующие параметры:
rrrgrbraОтрегулируйте вклад входных красного, зеленого, синего и альфа-каналов для выходного красного канала. По умолчанию
1дляrr, и0дляrg,rbиra.grgggbgaОтрегулируйте вклад входных красного, зеленого, синего и альфа-каналов для выходного зеленого канала. По умолчанию
1дляgg, и0дляgr,gbиga.brbgbbbaОтрегулируйте вклад входных красного, зеленого, синего и альфа-каналов для выходного синего канала. По умолчанию
1дляbb, и0дляbr,bgиba.aragabaaОтрегулируйте вклад входных красного, зеленого, синего и альфа-каналов для выходного альфа-канала. По умолчанию
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
Настройте кадры видеовхода с помощью уровней.
Фильтр принимает следующие параметры:
rimingiminbiminaiminОтрегулируйте красную, зеленую, синюю и альфа-входную точку черного. Допустимые диапазоны параметров:
[-1.0, 1.0]. Значения по умолчанию0.rimaxgimaxbimaxaimaxОтрегулируйте красную, зеленую, синюю и альфа-входную точку белого. Допустимые диапазоны параметров:
[-1.0, 1.0]. Значения по умолчанию1.Уровни ввода используются для осветления бликов (яркие тона), затемнения теней (темные тона), изменения баланса ярких и темных тонов.
romingominbominaominОтрегулируйте красную, зеленую, синюю и альфа-выходную точку черного. Допустимые диапазоны параметров:
[0, 1.0]. Значения по умолчанию0.romaxgomaxbomaxaomaxОтрегулируйте красную, зеленую, синюю и альфа-белую точку вывода. Допустимые диапазоны параметров:
[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
Преобразование цветовой матрицы.
Фильтр принимает следующие параметры:
srcdstУкажите исходную и конечную цветовую матрицу. Оба значения должны быть указаны.
Принятые значения:
- '
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 элементов.
Фильтр принимает следующие параметры:
0m1m2m3mУстановите матрицу для каждой плоскости. Матрица представляет собой последовательность из 9, 25 или 49 целых чисел со знаком в
squareрежиме и от 1 до 49 нечетных целых чисел со знаком вrowрежиме.0rdiv1rdiv2rdiv3rdivУстановите множитель для расчетного значения для каждой плоскости. Если не установлено или равно 0, это будет сумма всех элементов матрицы.
0bias1bias2bias3biasУстановите смещение для каждой плоскости. Это значение добавляется к результату умножения. Полезно для того, чтобы сделать общее изображение ярче или темнее. По умолчанию 0,0.
0mode1mode2mode3modeУстановите матричный режим для каждой плоскости. Можно или .
square_ Значение по умолчанию .rowcolumnsquare
11.39.1 Команды
Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .
11.39.2 Примеры
- Применить резкость:
convolution="0 -1 0 -1 5 -1 0 -1 0:0 -1 0 -1 5 -1 0 -1 0:0 -1 0 -1 5 -1 0 -1 0:0 -1 0 -1 5 -1 0 -1 0" - Применить размытие:
convolution="1 1 1 1 1 1 1 1 1:1 1 1 1 1 1 1 1 1:1 1 1 1 1 1 1 1 1:1 1 1 1 1 1 1 1 1:1/9:1/9:1/9:1/9" - Применить усиление краев:
convolution="0 0 0 -1 1 0 0 0 0:0 0 0 -1 1 0 0 0 0:0 0 0 -1 1 0 0 0 0:0 0 0 -1 1 0 0 0 0:5:1:1:1:0:128:128:128" - Применить обнаружение края:
convolution="0 1 0 1 -4 1 0 1 0:0 1 0 1 -4 1 0 1 0:0 1 0 1 -4 1 0 1 0:0 1 0 1 -4 1 0 1 0:5:5:5:1:0:128:128:128" - Примените лапласианский детектор границ, который включает диагонали:
convolution="1 1 1 1 -8 1 1 1 1:1 1 1 1 -8 1 1 1 1:1 1 1 1 -8 1 1 1 1:1 1 1 1 -8 1 1 1 1:5:5:5:1:0:128:128:0" - Применить тиснение:
convolution="-2 -1 0 -1 1 1 0 1 2:-2 -1 0 -1 1 1 0 1 2:-2 -1 0 -1 1 1 0 1 2:-2 -1 0 -1 1 1 0 1 2"
11.40 convolve
Примените 2D-свертку видеопотока в частотной области, используя второй поток в качестве импульса.
Фильтр принимает следующие параметры:
planesУстановите, какие плоскости обрабатывать.
impulseУстановить, какие импульсные видеокадры будут обрабатываться, можно
firstилиall. Значение по умолчаниюall.
Фильтр convolveтакже поддерживает параметры синхронизации кадров .
11.41 copy
Скопируйте источник входного видео без изменений на выход. В основном это полезно для целей тестирования.
11.42 coreimage
Фильтрация видео на графическом процессоре с использованием Apple CoreImage API на OSX.
Аппаратное ускорение основано на контексте OpenGL. Обычно это означает, что он обрабатывается видеооборудованием. Однако существуют программные реализации OpenGL, что означает отсутствие гарантии аппаратной обработки. Это зависит от соответствующей OSX.
Apple предлагает множество фильтров и генераторов изображений с широким набором опций. На фильтр нужно ссылаться по его имени вместе с его параметрами.
Фильтр coreimage принимает следующие параметры:
list_filtersПеречислите все доступные фильтры и генераторы вместе со всеми их соответствующими параметрами, а также возможные минимальные и максимальные значения вместе со значениями по умолчанию.
list_filters=truefilterУкажите все фильтры по их имени и параметрам. Используется
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представляют собой выражения, содержащие следующие константы:
xyВычисленные значения для
xиy. Они оцениваются для каждого нового кадра.in_win_hВводимая ширина и высота.
iwihЭто такие же, как
in_wиin_h.out_wout_hВыходная (обрезанная) ширина и высота.
owohЭто такие же, как
out_wиout_h.aто же, что
iw/ihsarсоотношение сторон входного образца
darвходное соотношение сторон дисплея, оно такое же, как (
iw/ih) *sarhsubvsubзначения подвыборки цветности по горизонтали и вертикали. Например, для формата пикселей «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_wh, out_hxyУстановите ширину/высоту выходного видео и положение по горизонтали/вертикали во входном видео. Команда принимает тот же синтаксис соответствующей опции.
Если указанное выражение недействительно, оно сохраняется в своем текущем значении.
11.45 cropdetect
Автоматическое определение размера обрезки.
Он рассчитывает необходимые параметры обрезки и распечатывает рекомендуемые параметры через систему протоколирования. Обнаруженные размеры соответствуют нечерной области входного видео.
Он принимает следующие параметры:
limitУстановите более высокий порог значения черного, который можно указать от нуля (0) до всего (255 для 8-битных форматов). Значение интенсивности, превышающее установленное значение, считается нечерным. По умолчанию оно равно 24. Вы также можете указать значение от 0,0 до 1,0, которое будет масштабироваться в зависимости от разрядности формата пикселей.
roundЗначение, на которое должны делиться ширина/высота. По умолчанию оно равно 16. Смещение автоматически настраивается по центру видео. Используйте 2, чтобы получить только четные размеры (необходимо для видео 4:2:2). 16 лучше всего подходит для кодирования большинства видеокодеков.
skipУстановите количество начальных кадров, для которых пропускается оценка. По умолчанию 2. Диапазон значений от 0 до INT_MAX.
reset_count, resetУстановите счетчик, который определяет, через какое количество кадров кадрирование обнулит ранее обнаруженную наибольшую область видео и начнет заново, чтобы определить текущую оптимальную область обрезки. Значение по умолчанию — 0.
Это может быть полезно, когда логотипы каналов искажают область видео. 0 указывает «никогда не сбрасывать» и возвращает наибольшую область, обнаруженную во время воспроизведения.
11.46 cue
Отложить фильтрацию видео до заданной временной метки настенных часов. Сначала фильтр проходитprerollколичество кадров, то он буферизуется максимум
bufferколичество кадров и ждет сигнала. После достижения сигнала он пересылает буферизованные кадры, а также любые последующие кадры, поступающие на его вход.
Фильтр можно использовать для синхронизации вывода нескольких процессов ffmpeg для устройств вывода в реальном времени, таких как Decklink. Помещая задержку в цепочку фильтрации и предварительно буферизируя кадры, процесс может передавать данные на вывод почти сразу после достижения целевой временной метки настенных часов.
Идеальная точность кадров не может быть гарантирована, но в некоторых случаях результат достаточен.
cueОтметка времени реплики, выраженная в отметке времени UNIX в микросекундах. По умолчанию 0.
prerollПродолжительность контента для передачи в качестве преролла, выраженная в секундах. По умолчанию 0.
bufferМаксимальная продолжительность содержимого для буферизации перед ожиданием сигнала, выраженная в секундах. По умолчанию 0.
11.47 curves
Примените корректировку цвета с помощью кривых.
Этот фильтр похож на инструменты кривых Adobe Photoshop и GIMP. Каждый компонент (красный, зеленый и синий) имеет свои значения, определяемые Nключевыми точками, связанными друг с другом с помощью плавной кривой. По оси X представлены значения пикселей из входного кадра, а по оси Y — новые значения пикселей, которые будут установлены для выходного кадра.
По умолчанию кривая компонента определяется двумя точками (0;0)и
(1;1). Это создает прямую линию, в которой каждое исходное значение пикселя «настраивается» на свое собственное значение, что означает отсутствие изменений в изображении.
Фильтр позволяет переопределить эти две точки и добавить еще несколько. Новая кривая (использующая естественную интерполяцию кубическим сплайном) будет определена так, чтобы плавно проходить через все эти новые координаты. Новые определенные точки должны строго увеличиваться по оси x, а их значения xи yдолжны находиться в [0;1]интервале. Если вычисленные кривые выходят за пределы векторных пространств, значения будут соответствующим образом обрезаны.
Фильтр принимает следующие параметры:
presetВыберите один из доступных наборов цветов. Эту опцию можно использовать в дополнение к
r,g,bпараметры; в этом случае более поздние параметры имеют приоритет над предустановленными значениями. Доступные пресеты:- '
none' - '
color_negative' - '
cross_process' - '
darker' - '
increase_contrast' - '
lighter' - '
linear_contrast' - '
medium_contrast' - '
negative' - '
strong_contrast' - '
vintage'
Значение по умолчанию
none.- '
master, mУстановите главные ключевые точки. Эти точки будут определять отображение второго прохода. Иногда его называют отображением «яркости» или «значения». Его можно использовать с
r,g,bили жеallпоскольку он действует как LUT постобработки.red, rУстановите ключевые точки для красного компонента.
green, gУстановите ключевые точки для зеленого компонента.
blue, bУстановите ключевые точки для синего компонента.
allУстановите ключевые точки для всех компонентов (не включая мастер). Может использоваться в дополнение к другим параметрам компонентов ключевых точек. В этом случае неустановленный компонент(ы) будет резервным на этом
allпараметр.psfileУкажите файл кривых Photoshop (
.acv), из которого нужно импортировать настройки.plotСохраните скрипт кривых Gnuplot в указанный файл.
Чтобы избежать некоторых конфликтов синтаксиса графа фильтров, каждый список ключевых точек должен быть определен с использованием следующего синтаксиса: x0/y0 x1/y1 x2/y2 ....
11.47.1 Команды
Этот фильтр поддерживает те же команды , что и параметры.
11.47.2 Примеры
- Немного увеличьте средний уровень синего:
curves=blue='0/0 0.5/0.58 1/1' - Винтажный эффект:
curves=r='0/0.11 .42/.51 1/0.95':g='0/0 0.50/0.48 1/1':b='0/0.22 .49/.44 1/0.8'Здесь мы получаем следующие координаты для каждой компоненты:
red(0;0.11) (0.42;0.51) (1;0.95)green(0;0) (0.50;0.48) (1;1)blue(0;0.22) (0.49;0.44) (1;0.80)
- Предыдущий пример также может быть достигнут с помощью связанного встроенного пресета:
curves=preset=vintage - Или просто:
curves=vintage - Используйте предустановку Photoshop и переопределите точки зеленого компонента:
curves=psfile='MyCurvesPresets/purple.acv':green='0/0 0.45/0.53 1/1' - Проверьте кривые
cross_processпрофиля, используяffmpegиgnuplot:ffmpeg -f lavfi -i color -vf curves=cross_process:plot=/tmp/curves.plt -frames:v 1 -f null - gnuplot -p /tmp/curves.plt
11.48 datascope
Фильтр анализа видеоданных.
Этот фильтр показывает шестнадцатеричные значения пикселей части видео.
Фильтр принимает следующие параметры:
size, sУстановите размер выходного видео.
xУстановите смещение x от того места, где нужно выбрать пиксели.
yУстановите смещение по оси y, откуда следует выбирать пиксели.
modeУстановить режим прицела, может быть одним из следующих:
- '
mono' Нарисуйте шестнадцатеричные значения пикселей белым цветом на черном фоне.
- '
color' Нарисуйте шестнадцатеричные значения пикселей с цветом входного видеопикселя на черном фоне.
- '
color2' Нарисуйте шестнадцатеричные значения пикселей на цветном фоне, выбранном из входного видео, цвет текста выбран таким образом, чтобы он всегда был виден.
- '
axisНарисуйте номера строк и столбцов слева и сверху видео.
opacityУстановите прозрачность фона.
formatУстановите формат отображаемого числа. Можно
hexилиdec. Значение по умолчаниюhex.componentsУстановите пиксельные компоненты для отображения. По умолчанию отображаются все компоненты пикселей.
11.48.1 Команды
Этот фильтр поддерживает те же команды , что и параметры, за исключением sizeпараметра.
11.49 dblur
Примените фильтр направленного размытия.
Фильтр принимает следующие параметры:
angleУстановить угол направленного размытия. Значение по умолчанию
45.radiusУстановить радиус направленного размытия. Значение по умолчанию
5.planesУстановите, какие самолеты фильтровать. По умолчанию фильтруются все плоскости.
11.49.1 Команды
Этот фильтр поддерживает те же команды , что и параметры. Команда принимает тот же синтаксис соответствующей опции.
Если указанное выражение недействительно, оно сохраняется в своем текущем значении.
11.50 dctdnoiz
Кадры шумоподавления с помощью 2D DCT (фильтрация в частотной области).
Этот фильтр не предназначен для реального времени.
Фильтр принимает следующие параметры:
sigma, sУстановите постоянную сигма шума.
Это
sigmaопределяет жесткий порог3 * sigma; каждый коэффициент DCT (абсолютное значение) ниже этого порога отбрасывается.Если вам нужна более продвинутая фильтрация, см.
expr.Значение по умолчанию
0.overlapУстановите количество перекрывающихся пикселей для каждого блока. Поскольку фильтр может быть медленным, вы можете уменьшить это значение за счет менее эффективного фильтра и риска появления различных артефактов.
Если значение перекрытия не позволяет обработать всю ширину или высоту ввода, будет отображено предупреждение, и соответствующие границы не будут удалены из шума.
Значение по умолчанию равно
blocksize-1, что является наилучшей возможной настройкой.expr, eУстановите выражение коэффициента коэффициента.
Для каждого коэффициента блока DCT это выражение будет оцениваться как значение множителя для коэффициента.
Если этот параметр установлен,
sigmaопция будет проигнорирована.Доступ к абсолютному значению коэффициента можно получить через
cпеременную.nУстановите
blocksizeиспользование количества битов. определяет , то есть ширину и высоту обрабатываемых блоков.1<<nblocksizeЗначение по умолчанию
3(8x8) и может быть увеличено до416x16blocksize. Обратите внимание, что изменение этого параметра сильно влияет на скорость обработки. Кроме того, больший размер блока не обязательно означает лучшее шумоподавление.
11.50.1 Примеры
Примените шумоподавление с помощьюsigmaиз 4.5:
dctdnoiz=4.5
Та же операция может быть выполнена с использованием системы выражений:
dctdnoiz=e='gte(c, 4.5*3)'
Насильственное шумоподавление с использованием блока размером 16x16:
dctdnoiz=15:n=4
11.51 deband
Удалите артефакты полосатости из входного видео. Он работает, заменяя полосатые пиксели средним значением ссылочных пикселей.
Фильтр принимает следующие параметры:
1thr2thr3thr4thrУстановите порог обнаружения полос для каждой плоскости. По умолчанию 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.alphabetagammadeltaУстановите пороги обнаружения блокировки. Допустимый диапазон от 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.1scthreshУстановите порог смены сцены. Значение по умолчанию
15.blockxblockyУстановите размер блоков осей 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) средним значением, принимая во внимание только значения ниже пикселя.
Он принимает следующие параметры:
threshold0threshold1threshold2threshold3Ограничьте максимальное изменение для каждой плоскости, по умолчанию 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
Подавить логотип телеканала простой интерполяцией окружающих пикселей. Просто установите прямоугольник, закрывающий логотип, и наблюдайте, как он исчезает (а иногда появляется что-то еще более уродливое — ваш пробег может отличаться).
Он принимает следующие параметры:
xyУкажите координаты левого верхнего угла логотипа. Они должны быть указаны.
whУкажите ширину и высоту логотипа для очистки. Они должны быть указаны.
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
Попытаться исправить небольшие изменения горизонтального и/или вертикального смещения. Этот фильтр помогает устранить дрожание камеры при удерживании камеры в руках, ударах о штатив, движении в транспортном средстве и т. д.
Фильтр принимает следующие параметры:
xywhУкажите прямоугольную область, в которой нужно ограничить поиск векторов движения. При желании поиск векторов движения можно ограничить прямоугольной областью кадра, определяемой его левым верхним углом, шириной и высотой. Эти параметры имеют то же значение, что и фильтр drawbox, который можно использовать для визуализации положения ограничительной рамки.
Это полезно, когда одновременное движение объектов в кадре можно спутать с движением камеры при поиске вектора движения.
Если для некоторых или всех
x,yиwустановленоhзначение -1, то используется полный кадр. Это позволяет устанавливать более поздние параметры без указания ограничивающей рамки для поиска вектора движения.По умолчанию - поиск по всему кадру.
rxryУкажите максимальную степень перемещения по осям 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) максимумом.
Он принимает следующие параметры:
threshold0threshold1threshold2threshold3Ограничьте максимальное изменение для каждой плоскости, по умолчанию 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
Нарисуйте цветную рамку на входном изображении.
Он принимает следующие параметры:
xyВыражения, определяющие координаты верхнего левого угла блока. По умолчанию он равен 0.
width, wheight, 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.hsubvsubзначения подвыборки цветности по горизонтали и вертикали. Например, для формата пикселей «yuv422p»
hsubравно 2 иvsubравно 1.in_h, ihin_w, iwВводимая ширина и высота.
sarСоотношение сторон входного образца.
xyКоординаты смещения x и y, где нарисован блок.
whШирина и высота нарисованного прямоугольника.
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
Нарисуйте сетку на входном изображении.
Он принимает следующие параметры:
xyВыражения, задающие координаты некоторой точки пересечения сетки (предназначенные для настройки смещения). Оба значения по умолчанию равны 0.
width, wheight, 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.hsubvsubзначения подвыборки цветности по горизонтали и вертикали. Например, для формата пикселей «yuv422p»
hsubравно 2 иvsubравно 1.in_h, ihin_w, iwШирина и высота ячейки входной сетки.
sarСоотношение сторон входного образца.
xyКоординаты x и y некоторой точки пересечения сетки (предназначены для настройки смещения).
whШирина и высота рисуемой ячейки.
tТолщина нарисованной ячейки.
Эти константы позволяют выражениям
x,y,wи ссылаться друг на друга,hпоэтомуtвы можете, например, указатьy=x/darилиh=w/dar.
11.71.1 Примеры
- Нарисуйте сетку с ячейкой 100x100 пикселей, толщиной 2 пикселя, красным цветом и непрозрачностью 50%:
drawgrid=width=100:height=100:thickness=2:color=red@0.5 - Нарисуйте белую сетку 3x3 с непрозрачностью 50%:
drawgrid=w=iw/3:h=ih/3:t=2:c=white@0.5
11.71.2 Команды
Этот фильтр поддерживает те же команды, что и параметры. Команда принимает тот же синтаксис соответствующей опции.
Если указанное выражение недействительно, оно сохраняется в своем текущем значении.
11.72 drawtext
Нарисуйте текстовую строку или текст из указанного файла поверх видео, используя библиотеку libfreetype.
Чтобы включить компиляцию этого фильтра, вам нужно настроить FFmpeg с расширением
--enable-libfreetype. Чтобы включить резервный вариант шрифта по умолчанию и fontпараметр, вам необходимо настроить FFmpeg с расширением --enable-libfontconfig. Чтобы включить эту text_shapingопцию, вам нужно настроить FFmpeg с расширением
--enable-libfribidi.
11.72.1 Синтаксис
Он принимает следующие параметры:
boxИспользуется для рисования рамки вокруг текста с использованием цвета фона. Значение должно быть либо 1 (включить), либо 0 (отключить). Значение по умолчанию равно
box0.boxborderwУстановите ширину границы, которая должна быть нарисована вокруг блока, используя
boxcolor. Значение по умолчанию равноboxborderw0.boxcolorЦвет, который будет использоваться для рисования рамки вокруг текста. Синтаксис этой опции см. в разделе (ffmpeg-utils) «Цвет» в руководстве по ffmpeg-utils .
Значение по умолчанию
boxcolor— «белый».line_spacingУстановите межстрочный интервал в пикселях границы, которая будет нарисована вокруг блока, используя
box. Значение по умолчанию равноline_spacing0.borderwУстановите ширину границы, которая будет нарисована вокруг текста, используя
bordercolor. Значение по умолчанию равноborderw0.bordercolorУстановите цвет, который будет использоваться для рисования границы вокруг текста. Синтаксис этой опции см. в разделе (ffmpeg-utils) «Цвет» в руководстве по ffmpeg-utils .
Значение по умолчанию
bordercolor— «черный».expansionВыберите способ
textрасширения. Может быть либоnone,strftime(устарело), ​​либоnormal(по умолчанию). Подробнее см. в разделе Расширение текста ниже.basetimeУстановите время начала подсчета. Значение в микросекундах. Применяется только в устаревшем режиме расширения strftime. Для эмуляции в обычном режиме расширения используйте
ptsфункцию, указав время начала (в секундах) в качестве второго аргумента.fix_boundsЕсли да, проверьте и исправьте координаты текста, чтобы избежать обрезки.
fontcolorЦвет, который будет использоваться для рисования шрифтов. Синтаксис этой опции см. в разделе (ffmpeg-utils) «Цвет» в руководстве по ffmpeg-utils .
Значение по умолчанию
fontcolor— «черный».fontcolor_exprСтрока, которая расширяется так же, как
textдля получения динамическогоfontcolorзначения. По умолчанию эта опция имеет пустое значение и не обрабатывается. Когда этот параметр установлен, он имеет приоритет надfontcolorпараметром.fontСемейство шрифтов, которое будет использоваться для рисования текста. По умолчанию Санс.
fontfileФайл шрифта, который будет использоваться для рисования текста. Путь должен быть включен. Этот параметр является обязательным, если поддержка fontconfig отключена.
alphaНарисуйте текст, применяя альфа-смешивание. Значение может быть числом от 0,0 до 1,0. Выражение также принимает те же переменные
x, y. Значение по умолчанию — 1. Смfontcolor_expr. .fontsizeРазмер шрифта, который будет использоваться для рисования текста. Значение по умолчанию равно
fontsize16.text_shapingЕсли установлено значение 1, попытайтесь изменить форму текста (например, изменить порядок текста справа налево и соединить арабские символы) перед его рисованием. В противном случае просто нарисуйте текст точно так, как указано. По умолчанию 1 (если поддерживается).
ft_load_flagsФлаги, которые будут использоваться для загрузки шрифтов.
Флаги отображают соответствующие флаги, поддерживаемые libfreetype, и представляют собой комбинацию следующих значений:
defaultno_scaleno_hintingrenderno_bitmapvertical_layoutforce_autohintcrop_bitmappedanticignore_global_advance_widthno_recurseignore_transformmonochromelinear_designno_autohint
Значение по умолчанию — «по умолчанию».
Для получения дополнительной информации обратитесь к документации по флагам FT_LOAD_* libfreetype.
shadowcolorЦвет, который будет использоваться для рисования тени за нарисованным текстом. Синтаксис этой опции см. в разделе (ffmpeg-utils) «Цвет» в руководстве по ffmpeg-utils .
Значение по умолчанию
shadowcolor— «черный».shadowxshadowyСмещения 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.xyВыражения, определяющие смещения, при которых текст будет отображаться в видеокадре. Они относятся к верхней/левой границе выходного изображения.
Значение по умолчанию
xиyравно "0".См. ниже список допустимых констант и функций.
Параметры для xи yявляются выражениями, содержащими следующие константы и функции:
darвходное соотношение сторон дисплея, оно такое же, как (
w/h) *sarhsubvsubзначения подвыборки цветности по горизонтали и вертикали. Например, для формата пикселей «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иmaxsarСоотношение сторон входного образца.
tметка времени, выраженная в секундах, NAN, если метка времени ввода неизвестна
text_h, thвысота отображаемого текста
text_w, twширина отображаемого текста
xyкоординаты смещения x и y, в которых рисуется текст.
Эти параметры позволяют выражениям
xиyссылаться друг на друга, поэтому вы можете, например, указатьy=x/dar.pict_typeОдносимвольное описание типа изображения текущего кадра.
pkt_posТекущая позиция пакета во входном файле или потоке (в байтах, от начала ввода). Значение -1 указывает, что эта информация недоступна.
pkt_durationДлительность текущего пакета в секундах.
pkt_sizeТекущий размер пакета (в байтах).
11.72.2 Расширение текста
Еслиexpansionустановлено значение strftime, фильтр распознает последовательности strftime() в предоставленном тексте и соответствующим образом расширяет их. Проверьте документацию strftime(). Эта функция устарела.
Еслиexpansionустановлено значение none, текст печатается дословно.
Еслиexpansionустановлено значение normal(по умолчанию), используется следующий механизм расширения.
Символ обратной косой черты '\', за которым следует любой символ, всегда расширяется до второго символа.
Последовательности формы %{...}расширены. Текст между фигурными скобками — это имя функции, за которым могут следовать аргументы, разделенные символом ':'. Если аргументы содержат специальные символы или разделители (':' или '}'), их следует экранировать.
Обратите внимание, что они, вероятно, также должны быть экранированы как значение для
textoption в строке аргумента фильтра и в качестве аргумента фильтра в описании filtergraph, а также, возможно, для оболочки, что обеспечивает до четырех уровней экранирования; использование текстового файла позволяет избежать этих проблем.
Доступны следующие функции:
expr, eРезультат вычисления выражения.
Он должен принимать один аргумент, определяющий вычисляемое выражение, которое принимает те же константы и функции, что
xиyзначения. Обратите внимание, что не все константы должны использоваться, например, размер текста неизвестен при вычислении выражения, поэтому константыtext_wиtext_hбудут иметь неопределенное значение.expr_int_format, eifОцените значение выражения и выведите его в виде форматированного целого числа.
Первый аргумент — это вычисляемое выражение, как и для
exprфункции. Второй аргумент определяет выходной формат. Допустимые значения: 'x', 'X', 'd' а также 'u'. Они обрабатываются точно так же, как вprintfфункции. Третий параметр является необязательным и устанавливает количество позиций, занимаемых выходом. Его можно использовать для добавления нуля слева.gmtimeВремя работы фильтра, выраженное в формате UTC. Он может принимать аргумент: строку формата strftime(). Строка формата расширена для поддержки переменной
%[1-6]N, которая печатает доли секунды с необязательно заданным количеством цифр.localtimeВремя работы фильтра, выраженное в местном часовом поясе. Он может принимать аргумент: строку формата strftime(). Строка формата расширена для поддержки переменной
%[1-6]N, которая печатает доли секунды с необязательно заданным количеством цифр.metadataМетаданные кадра. Принимает один или два аргумента.
Первый аргумент является обязательным и указывает ключ метаданных.
Второй аргумент является необязательным и указывает значение по умолчанию, используемое, когда ключ метаданных не найден или пуст.
Доступные метаданные можно определить, проверив записи, начинающиеся с TAG, включенные в каждый раздел кадра, напечатанный с помощью запуска
ffprobe -show_frames.Также доступны строковые метаданные, сгенерированные в фильтрах, ведущих к фильтру drawtext.
n, frame_numНомер кадра, начиная с 0.
pict_typeОдносимвольное описание текущего типа изображения.
ptsВременная метка текущего кадра. Может принимать до трех аргументов.
Первый аргумент — это формат метки времени; по умолчанию
fltсекунды представляют собой десятичное число с точностью до микросекунды;hmsобозначает отформатированную[-]HH:MM:SS.mmmметку времени с точностью до миллисекунды.gmtimeобозначает временную метку кадра, отформатированную как время UTC;localtimeобозначает временную метку кадра, отформатированную как местное время часового пояса.Второй аргумент — это смещение, добавляемое к метке времени.
Если формат установлен на
hms, может быть предоставлен третий аргумент24HHдля представления часовой части отформатированной метки времени в 24-часовом формате (00-23).Если задан формат
localtimeилиgmtime, может быть предоставлен третий аргумент: строка формата strftime(). По умолчаниюYYYY-MM-DD HH:MM:SSбудет использоваться формат.
11.72.3 Команды
Этот фильтр поддерживает изменение параметров с помощью команд:
reinitИзменить существующие параметры фильтра.
Синтаксис аргумента такой же, как и для вызова фильтра, например
fontsize=56:fontcolor=green:text='Hello World'Полный вызов фильтра с помощью sendcmd будет выглядеть так:
sendcmd=c='56.0 drawtext reinit fontsize=56\:fontcolor=green\:text=Hello\\ World'
Если весь аргумент не может быть проанализирован или применен как допустимые значения, фильтр продолжит работу с существующими параметрами.
11.72.4 Примеры
- Нарисуйте «Тестовый текст» шрифтом FreeSerif, используя значения по умолчанию для дополнительных параметров.
drawtext="fontfile=/usr/share/fonts/truetype/freefont/FreeSerif.ttf: text='Test Text'" - Нарисуйте «Тестовый текст» шрифтом FreeSerif размером 24 в позициях x=100 и y=50 (считая от верхнего левого угла экрана), текст будет желтым с красной рамкой вокруг него. И текст, и поле имеют непрозрачность 20%.
drawtext="fontfile=/usr/share/fonts/truetype/freefont/FreeSerif.ttf: text='Test Text':\ x=100: y=50: fontsize=24: fontcolor=yellow@0.2: box=1: boxcolor=red@0.2"Обратите внимание, что двойные кавычки не нужны, если в списке параметров не используются пробелы.
- Показать текст в центре кадра видео:
drawtext="fontsize=30:fontfile=FreeSerif.ttf:text='hello world':x=(w-text_w)/2:y=(h-text_h)/2" - Показать текст в произвольной позиции, переключаясь на новую позицию каждые 30 секунд:
drawtext="fontsize=30:fontfile=FreeSerif.ttf:text='hello world':x=if(eq(mod(t\,30)\,0)\,rand(0\,(w-text_w))\,x):y=if(eq(mod(t\,30)\,0)\,rand(0\,(h-text_h))\,y)" - Покажите текстовую строку, скользящую справа налево в последней строке видеокадра. Файл
LONG_LINEпредполагается, что он содержит одну строку без символов новой строки.drawtext="fontsize=15:fontfile=FreeSerif.ttf:text=LONG_LINE:y=h-line_h:x=-50*t" - Показать содержимое файла
CREDITSот нижней части кадра и прокрутите вверх.drawtext="fontsize=20:fontfile=FreeSerif.ttf:textfile=CREDITS:y=h-20*t" - Нарисуйте одну зеленую букву «g» в центре входного видео. Базовая линия глифа располагается на половине высоты экрана.
drawtext="fontsize=60:fontfile=FreeSerif.ttf:fontcolor=green:text=g:x=(w-max_glyph_w)/2:y=h/2-ascent" - Показывать текст на 1 секунду каждые 3 секунды:
drawtext="fontfile=FreeSerif.ttf:fontcolor=white:x=100:y=x/dar:enable=lt(mod(t\,3)\,1):text='blink'" - Используйте fontconfig для установки шрифта. Обратите внимание, что двоеточия должны быть экранированы.
drawtext='fontfile=Linux Libertine O-40\:style=Semibold:text=FFmpeg' - Нарисуйте «Тестовый текст» с размером шрифта, зависящим от высоты видео.
drawtext="text='Test Text': fontsize=h/30: x=(w-text_w)/2: y=(h-text_h*2)" - Вывести дату кодирования в реальном времени (см. strftime(3)):
drawtext='fontfile=FreeSans.ttf:text=%{localtime\:%a %b %d %Y}' - Показывать появление и исчезновение текста (появление/исчезновение):
#!/bin/sh DS=1.0 # display start DE=10.0 # display end FID=1.5 # fade in duration FOD=5 # fade out duration ffplay -f lavfi "color,drawtext=text=TEST:fontsize=50:fontfile=FreeSerif.ttf:fontcolor_expr=ff0000%{eif\\\\: clip(255*(1*between(t\\, $DS + $FID\\, $DE - $FOD) + ((t - $DS)/$FID)*between(t\\, $DS\\, $DS + $FID) + (-(t - $DE)/$FOD)*between(t\\, $DE - $FOD\\, $DE) )\\, 0\\, 255) \\\\: x\\\\: 2 }" - Горизонтальное выравнивание нескольких отдельных текстов. Обратите внимание, что
max_glyph_aиfontsizeстоимость входит вyкомпенсировать.drawtext=fontfile=FreeSans.ttf:text=DOG:fontsize=24:x=10:y=20+24-max_glyph_a, drawtext=fontfile=FreeSans.ttf:text=cow:fontsize=24:x=80:y=20+24-max_glyph_a - Нанесите специальные
lavf.image2dec.source_basenameметаданные на каждый кадр, если такие метаданные существуют. В противном случае нарисуйте строку «NA». Обратите внимание, что демультиплексор image2 должен иметь опцию-export_path_metadata 1чтобы специальные поля метаданных были доступны для фильтров.drawtext="fontsize=20:fontcolor=white:fontfile=FreeSans.ttf:text='%{metadata\:lavf.image2dec.source_basename\:NA}':x=10:y=10"
Для получения дополнительной информации о libfreetype посетите: http://www.freetype.org/ .
Для получения дополнительной информации о fontconfig посетите: http://freedesktop.org/software/fontconfig/fontconfig-user.html .
Для получения дополнительной информации о libfribidi посетите: http://fribidi.org/ .
11.73 edgedetect
Обнаружение и рисование краев. Фильтр использует алгоритм Canny Edge Detection.
Фильтр принимает следующие параметры:
lowhighУстановите нижнее и верхнее пороговые значения, используемые алгоритмом определения порога Кэнни.
Высокий порог выбирает «сильные» краевые пиксели, которые затем соединяются через 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) минимумом.
Он принимает следующие параметры:
threshold0threshold1threshold2threshold3Ограничьте максимальное изменение для каждой плоскости, по умолчанию 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-й выход.
Типичное использование — фильтровать только часть кадра.
Фильтр принимает следующие параметры:
xyУстановите верхнее левое положение обрезки.
whУстановите размер обрезки.
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'.Фильтр принимает следующие переменные:
- '
XYКоординаты текущего образца.
WHШирина и высота изображения.
NНомер входного кадра, начиная с 0.
WSHSРазмер массива БПФ для горизонтальной и вертикальной обработки.
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.y0y1Они определяют полосу исключения, которая исключает линии между
y0а такжеy1от включения в решение о сопоставлении полей. Полоса исключения может использоваться для игнорирования субтитров, логотипа или других вещей, которые могут помешать сопоставлению.y0устанавливает начальную строку сканирования иy1устанавливает конечную линию; все линии междуy0а такжеy1(включаяy0а такжеy1) будет игнорироваться. Параметрy0а такжеy1на то же значение отключит эту функцию.y0а такжеy1по умолчанию0.scthreshУстановите порог обнаружения изменения сцены в процентах от максимального изменения на плоскости яркости. Хорошие значения находятся в
[8.0, 14.0]диапазоне. Обнаружение смены сцены актуально только в случаеcombmatch=sc. Диапазон дляscthreshесть[0.0, 100.0].Значение по умолчанию
12.0.combmatchКогда
combatchis 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.blockxblockyСоответственно установите размер окна по оси 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_exproptions, будет выбрано цветовое пространство RGB.
Если одно из выражений цветности не определено, оно возвращается к другому. Если альфа-выражение не указано, оно будет оцениваться как непрозрачное значение. Если ни одно из выражений цветности не указано, они будут оцениваться как выражение яркости.
В выражениях могут использоваться следующие переменные и функции:
NПорядковый номер отфильтрованного кадра, начиная с
0.XYКоординаты текущего образца.
WHШирина и высота изображения.
SWSHМасштаб ширины и высоты зависит от текущей фильтруемой плоскости. Это отношение между количеством пикселей в соответствующей плоскости яркости и в текущей плоскости. Например, для 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, nbilinear, 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
Сопоставьте аппаратные фреймы с системной памятью или с другим устройством.
Этот фильтр имеет несколько различных режимов работы; какой из них используется, зависит от входных и выходных форматов:
- Аппаратный ввод кадров, обычный вывод кадров
Сопоставьте входные кадры с системной памятью и передайте их на выход. Если впоследствии потребуется исходный аппаратный каркас (например, после наложения на него чего-либо другого),
hwmapfilter можно использовать снова в следующем режиме, чтобы получить его. - Обычный ввод кадров, аппаратный вывод кадров
Если входные данные на самом деле являются аппаратным фреймом, отображаемым программным обеспечением, то отмените его сопоставление, то есть верните исходный аппаратный фрейм.
В противном случае необходимо предоставить устройство. Создайте новые аппаратные поверхности на этом устройстве для вывода, затем сопоставьте их обратно с программным форматом на входе и передайте эти кадры предыдущему фильтру. Затем это будет действовать как
hwuploadfilter, но может избежать дополнительной копии, когда ввод уже находится в совместимом формате. - Аппаратный ввод и вывод кадров
Устройство должно поставляться для вывода либо напрямую, либо с
derive_deviceвариант. Устройства ввода и вывода должны быть разных типов и совместимы — точное значение этого зависит от системы, но обычно это означает, что они должны относиться к одному и тому же основному аппаратному контексту (например, к одной и той же видеокарте).Если входные кадры изначально были созданы на устройстве вывода, отмените сопоставление, чтобы получить исходные кадры.
В противном случае сопоставьте кадры с устройством вывода — создайте новые аппаратные кадры на выходе, соответствующие кадрам на входе.
Принимаются следующие дополнительные параметры:
modeУстановите режим сопоставления кадров. Некоторая комбинация:
readСопоставленный фрейм должен быть читаемым.
writeСопоставленный фрейм должен быть доступен для записи.
overwriteОтображение всегда будет перезаписывать весь кадр.
В некоторых случаях это может улучшить производительность, поскольку исходное содержимое фрейма не нужно загружать.
directОтображение не должно включать никакого копирования.
Косвенные сопоставления с копиями фреймов создаются в некоторых случаях, когда прямое сопоставление невозможно или оно может иметь неожиданные свойства. Установка этого флага гарантирует, что сопоставление является прямым и завершится ошибкой, если это невозможно.
По умолчанию,
read+writeесли не указано.derive_devicetypeВместо того, чтобы использовать устройство, предоставленное при инициализации, вместо этого получите новое устройство типа
typeиз устройства, на котором существуют входные кадры.reverseПри сопоставлении аппаратных средств с аппаратными средствами сопоставляйте в обратном порядке — создавайте кадры в приемнике и сопоставляйте их обратно с источником. Это может быть необходимо в некоторых случаях, когда требуется отображение в одном направлении, но используемые устройства поддерживают только противоположное направление.
Эта опция опасна — она может нарушить работу предыдущего фильтра неопределенным образом, если есть какие-либо дополнительные ограничения на выходные данные этого фильтра. Не используйте его без полного понимания последствий его использования.
11.117 hwupload
Загружать фреймы системной памяти на аппаратные поверхности.
Устройство для загрузки должно быть указано при инициализации фильтра. При использовании ffmpeg выберите соответствующее устройство с-filter_hw_device
вариант или с помощьюderive_deviceвариант. Устройства ввода и вывода должны быть разных типов и совместимы — точное значение этого зависит от системы, но обычно это означает, что они должны относиться к одному и тому же основному аппаратному контексту (например, к одной и той же видеокарте).
Принимаются следующие дополнительные параметры:
derive_devicetypeВместо того, чтобы использовать устройство, предоставленное при инициализации, вместо этого получите новое устройство типа
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 Команды
Этот фильтр поддерживает следующие команды:
bshHИзмените оттенок и/или насыщенность и/или яркость входного видео. Команда принимает тот же синтаксис соответствующей опции.
Если указанное выражение недействительно, оно сохраняется в своем текущем значении.
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_primariescolor_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, lchroma_mode, calpha_mode, aДоступные значения для
luma_modeи :chroma_modealpha_mode- '
none' Ничего не делать.
- '
deinterleave, d' Деинтерливировать поля, размещая одно над другим.
- '
interleave, i' Чередование полей. Обратный эффект обратного чередования.
Значение по умолчанию
none.- '
luma_swap, lschroma_swap, csalpha_swap, asПоменяйте местами поля яркости/цветности/альфа. Обмен четными и нечетными строками. Значение по умолчанию
0.
11.130.1 Команды
Этот фильтр поддерживает все вышеперечисленные параметры в виде команд .
11.131 inflate
Примените эффект раздувания к видео.
Этот фильтр заменяет пиксель локальным (3x3) средним значением, принимая во внимание только значения выше пикселя.
Он принимает следующие параметры:
threshold0threshold1threshold2threshold3Ограничьте максимальное изменение для каждой плоскости, по умолчанию 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, присутствующие в исходных кадрах.
whУстановите выражение размера выходного видео. Значение по умолчанию — входное измерение.
Позволяет использовать те же выражения, что и масштабный фильтр.
formatУстановите переопределение выходного формата. Если не установлено (по умолчанию), кадры будут выводиться в том же формате, что и соответствующие входные кадры. В противном случае будет выполнено преобразование формата.
force_original_aspect_ratioforce_divisible_byРаботайте так же, как и идентичные параметры масштабного фильтра.
normalize_sarЕсли включено (по умолчанию), выходные кадры всегда будут иметь соотношение сторон пикселя 1:1. Если этот параметр отключен, любые несоответствия соотношения сторон, в том числе, например, из-за источников анаморфного видео, перенаправляются в соотношение сторон выходного пикселя.
pad_crop_ratioУказывает соотношение (между
0.0и1.0) между отступами и кадрированием, когда соотношение сторон на входе не соответствует соотношению сторон на выходе иnormalize_sarдействует. Значение по умолчанию0.0всегда дополняет содержимое черными рамками, а значение1.0всегда обрезает части содержимого. Возможны промежуточные значения, что приводит к смешению двух подходов.colorspacecolor_primariescolor_trcrangeНастройте цветовое пространство, в котором будут доставляться выходные кадры. Значение по умолчанию для
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, обязательно будут повышаться и понижаться в процессе рендеринга. Это означает, что масштабирование может действовать, даже если исходное и целевое разрешения совпадают.
upscalerdownscalerНастройте ядро ​​фильтра, используемое для увеличения и уменьшения масштаба. Соответствующие значения по умолчанию:
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_lowscene_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_sizeDither 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.
Выражения могут содержать следующие константы и функции:
whВводимая ширина и высота.
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*параметров, зависит от формата входных данных.
Выражения могут содержать следующие константы:
whВводимая ширина и высота.
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.map0smap1smap2smap3sУстановите сопоставление входного и выходного потоков для выходной N-й плоскости. Значение по умолчанию
0.map0pmap1pmap2pmap3pУстановите отображение входной и выходной плоскостей для выходной 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 Команды
Этот фильтр поддерживает следующие команды:
weightsscaleplanesСинтаксис такой же, как у опции с тем же именем.
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.
hilofracУстановите пороговые значения отбрасывания.
Значения для
hiа такжеloпредназначены для блоков пикселей 8x8 и представляют фактические различия значений пикселей, поэтому пороговое значение 64 соответствует 1 единице различия для каждого пикселя или тому же самому распределению по блоку по-разному.Кадр считается кандидатом на отбрасывание, если никакие блоки 8x8 не отличаются более чем на пороговое значение.
hi, а если не болееfracблоки (1 означает все изображение) отличаются более чем на порогlo.Значение по умолчанию для
hi64*12, значение по умолчанию дляloсоставляет 64*5, а значение по умолчанию дляfracсоставляет 0,33.
11.164 msad
Получите MSAD (средняя сумма абсолютных разностей) между двумя входными видео.
Этот фильтр принимает два входных видео.
Оба входных видео должны иметь одинаковое разрешение и формат пикселей, чтобы этот фильтр работал правильно. Также предполагается, что оба входа имеют одинаковое количество кадров, которые сравниваются один за другим.
Полученные значения по компонентам, средние, минимальные и максимальные MSAD распечатываются через систему регистрации.
Фильтр сохраняет рассчитанный MSAD каждого кадра в метаданных кадра.
В приведенном ниже примере входной файлmain.mpgобрабатываемый файл сравнивается с эталонным файломref.mpg.
ffmpeg -i main.mpg -i ref.mpg -lavfi msad -f null -
11.165 multiply
Умножьте значения пикселей первого видеопотока на значения пикселей второго видеопотока.
Фильтр принимает следующие параметры:
scaleУстановите масштаб, применяемый ко второму видеопотоку. По умолчанию есть
1. Допустимый диапазон от0до9.offsetУстановите смещение, применяемое ко второму видеопотоку. По умолчанию есть
0.5. Допустимый диапазон от-1до1.planesУкажите плоскости из входного видеопотока, которые будут обрабатываться. По умолчанию обрабатываются все плоскости.
11.165.1 Команды
Этот фильтр поддерживает те же команды , что и параметры.
11.166 negate
Отменить (инвертировать) входное видео.
Он принимает следующий вариант:
componentsУстановите компоненты для отрицания.
Доступные значения для компонентов:
- '
y' - '
u' - '
v' - '
a' - '
r' - '
g' - '
b'
- '
negate_alphaПри значении 1 он отрицает альфа-компонент, если он присутствует. Значение по умолчанию — 0.
11.166.1 Команды
Этот фильтр поддерживает те же команды , что и параметры.
11.167 nlmeans
Кадры шумоподавления с использованием алгоритма Non-Local Means.
Каждый пиксель корректируется путем поиска других пикселей с аналогичным контекстом. Это сходство контекста определяется путем сравнения окружающих их участков размером
pИксp. Патчи ищутся в областиrИксr
вокруг пикселя.
Обратите внимание, что исследовательская область определяет центры для патчей, что означает, что некоторые патчи будут состоять из пикселей за пределами этой исследовательской области.
Фильтр принимает следующие параметры.
sУстановить мощность шумоподавления. По умолчанию 1.0. Должен быть в диапазоне [1,0, 30,0].
pУстановить размер патча. По умолчанию 7. Должно быть нечетное число в диапазоне [0, 99].
pcТакой же как
pно для плоскостей цветности.Значение по умолчанию
0и означает автоматический.rУстановить размер исследования. По умолчанию 15. Должно быть нечетное число в диапазоне [0, 99].
rcТакой же как
rно для плоскостей цветности.Значение по умолчанию
0и означает автоматический.
11.168 nnedi
Деинтерлейсинг видео с помощью интерполяции, направленной по краю нейронной сети.
Этот фильтр принимает следующие параметры:
weightsОбязательная опция, без бинарного файла фильтр работать не может. В настоящее время файл можно найти здесь: https://github.com/dubhater/vapoursynth-nnedi3/blob/master/src/nnedi3_weights.bin
deintУстановите, какие кадры деинтерлейсировать, по умолчанию это
all. Можноallилиinterlaced.fieldУстановить режим работы.
Может быть одним из следующих:
- '
af' Используйте флаги кадра, оба поля.
- '
a' Используйте флаги кадра, одно поле.
- '
t' Используйте только верхнее поле.
- '
b' Используйте только нижнее поле.
- '
tf' Используйте оба поля, сначала верхнее.
- '
bf' Используйте оба поля, сначала нижнее.
- '
planesУстановите, какие плоскости обрабатывать, по умолчанию фильтр обрабатывает все кадры.
nsizeУстановите размер локальной окрестности вокруг каждого пикселя, используемого нейронной сетью-предиктором.
Может быть одним из следующих:
- '
s8x6' - '
s16x6' - '
s32x6' - '
s48x6' - '
s8x4' - '
s16x4' - '
s32x4'
- '
nnsУстановите количество нейронов в нейронной сети предиктора. Может быть одним из следующих:
- '
n16' - '
n32' - '
n64' - '
n128' - '
n256'
- '
qualУправляет количеством различных прогнозов нейронной сети, которые смешиваются вместе для вычисления конечного выходного значения. Может быть
fast, по умолчанию илиslow.etypeУстановите, какой набор весов использовать в предсказателе. Может быть одним из следующих:
- '
a, abs' веса, обученные минимизировать абсолютную ошибку
- '
s, mse' веса, обученные минимизировать квадрат ошибки
- '
pscrnОпределяет, используется ли нейронная сеть предварительного скрининга для принятия решения о том, какие пиксели должны быть обработаны нейронной сетью предиктора, а какие могут быть обработаны простой кубической интерполяцией. Прескринер обучен тому, чтобы знать, будет ли достаточно кубической интерполяции для пикселя или он должен быть предсказан предсказателем nn. Вычислительная сложность прескринера nn намного меньше, чем у предиктора nn. Поскольку большинство пикселей можно обработать с помощью кубической интерполяции, использование предварительного скрининга обычно приводит к гораздо более быстрой обработке. Прескринер довольно точен, поэтому разница между его использованием и неиспользованием практически всегда незаметна.
Может быть одним из следующих:
- '
none' - '
original' - '
new' - '
new2' - '
new3'
Значение по умолчанию
new.- '
11.168.1 Команды
Этот фильтр поддерживает те же команды , что и параметры, за исключением weightsпараметра.
11.169 noformat
Заставить libavfilter не использовать ни один из указанных форматов пикселей для ввода следующего фильтра.
Он принимает следующие параметры:
pix_fmtsРазделенный символом '|' список названий форматов пикселей, например, pix_fmts=yuv420p|monow|rgb24".
11.169.1 Примеры
- Заставьте libavfilter использовать формат, отличный от формата
yuv420pввода для фильтра vflip:noformat=pix_fmts=yuv420p,vflip - Конвертируйте входное видео в любой из форматов, не содержащихся в списке:
noformat=yuv420p|yuv444p|yuv410p
11.170 noise
Добавьте шум на входной видеокадр.
Фильтр принимает следующие параметры:
all_seedc0_seedc1_seedc2_seedc3_seedУстановите начальное значение шума для определенного компонента пикселя или для всех компонентов пикселя в случае
all_seed. Значение по умолчанию123457.all_strength, allsc0_strength, c0sc1_strength, c1sc2_strength, c2sc3_strength, c3sУстановите уровень шума для определенного компонента пикселя или для всех компонентов пикселя в случае
all_strength. Значение по умолчанию0. Допустимый диапазон: [0, 100].all_flags, allfc0_flags, c0fc1_flags, c1fc2_flags, c2fc3_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 можно нормализовать независимо, что может привести к некоторому смещению цвета, или объединить их в один канал, что предотвращает смещение цвета. Связанная нормализация сохраняет оттенок. Независимой нормализации нет, поэтому ее можно использовать для удаления некоторых цветовых оттенков. Независимая и связанная нормализация могут сочетаться в любом соотношении.
Фильтр нормализации принимает следующие параметры:
blackptwhiteptЦвета, определяющие выходной диапазон. Минимальное входное значение сопоставляется с
blackpt. Максимальное входное значение сопоставляется сwhitept. По умолчанию черный и белый соответственно. Указание белого дляblackptи черного дляwhiteptдаст инвертированное по цвету нормализованное видео. Оттенки серого можно использовать для уменьшения динамического диапазона (контрастности). Указание здесь насыщенных цветов может создать некоторые интересные эффекты.smoothingКоличество предыдущих кадров, используемых для временного сглаживания. Входной диапазон каждого канала сглаживается с использованием скользящего среднего по текущему кадру и
smoothingпредыдущим кадрам. По умолчанию 0 (без временного сглаживания).independenceУправляет отношением независимой (со сдвигом цвета) нормализации канала к связанной (с сохранением цвета) нормализации. 0.0 полностью связан, 1.0 полностью независим. По умолчанию 1.0 (полностью независимый).
strengthОбщая мощность фильтра. 1.0 - полная мощность. 0.0 — довольно дорогой no-op. По умолчанию 1.0 (полная сила).
11.171.1 Команды
Этот фильтр поддерживает те же команды , что и параметры, за исключением smoothingпараметра. Команда принимает тот же синтаксис соответствующей опции.
Если указанное выражение недействительно, оно сохраняется в своем текущем значении.
11.171.2 Примеры
Увеличение контрастности видео для использования полного динамического диапазона без временного сглаживания; может мерцать в зависимости от исходного контента:
normalize=blackpt=black:whitept=white:smoothing=0
То же, что и выше, но с 50 кадрами временного сглаживания; мерцание должно быть уменьшено в зависимости от исходного контента:
normalize=blackpt=black:whitept=white:smoothing=50
То же, что и выше, но с нормализацией связанного канала с сохранением оттенка:
normalize=blackpt=black:whitept=white:smoothing=50:independence=0
То же, что и выше, но с половинной силой:
normalize=blackpt=black:whitept=white:smoothing=50:independence=0:strength=0.5
Сопоставьте самый темный входной цвет с красным, самый яркий входной цвет с голубым:
normalize=blackpt=red:whitept=cyan
11.172 null
Передайте источник видео без изменений на выход.
11.173 ocr
Оптическое распознавание символов
Этот фильтр использует Tesseract для оптического распознавания символов. Чтобы включить компиляцию этого фильтра, вам нужно настроить FFmpeg с расширением
--enable-libtesseract.
Он принимает следующие параметры:
datapathУстановите путь к данным tesseract. По умолчанию используется то, что было установлено при установке.
languageУстановите язык, по умолчанию "eng".
whitelistУстановить белый список персонажей.
blacklistУстановить черный список персонажей.
Фильтр экспортирует распознанный текст как метаданные кадра lavfi.ocr.text. Фильтр экспортирует достоверность распознанных слов в качестве метаданных кадра lavfi.ocr.confidence.
11.174 ocv
Примените преобразование видео с помощью libopencv.
Чтобы включить этот фильтр, установите библиотеку и заголовки libopencv и настройте FFmpeg с расширением --enable-libopencv.
Он принимает следующие параметры:
filter_nameИмя применяемого фильтра libopencv.
filter_paramsПараметры для передачи фильтру libopencv. Если не указано, используются значения по умолчанию.
Обратитесь к официальной документации libopencv для получения более точной информации: http://docs.opencv.org/master/modules/imgproc/doc/filtering.html
Поддерживаются несколько фильтров libopencv; см. следующие подразделы.
11.174.1 расширяться
Расширьте изображение, используя определенный структурирующий элемент. Это соответствует функции libopencv cvDilate.
Он принимает параметры: struct_el| nb_iterations.
struct_elпредставляет элемент структурирования и имеет синтаксис:
colsx rows+ anchor_xx anchor_y/shape
colsи rowsпредставляют количество столбцов и строк элемента структурирования, anchor_xа anchor_yтакже точку привязки и shapeформу элемента структурирования. shape
должен быть "прямой", "крест", "эллипс" или "пользовательский".
Если значение для shape«custom», за ним должна следовать строка вида «= filename». Предполагается, что файл с именем
filenameпредставляет собой бинарное изображение, в котором каждый печатный символ соответствует яркому пикселю. Когда пользовательский
shapeиспользуется colsи rowsигнорируется, вместо него предполагается число или столбцы и строки прочитанного файла.
Значение по умолчанию для struct_el"3x3+0x0/прямоугольник".
nb_iterationsуказывает, сколько раз преобразование применяется к изображению, и по умолчанию равно 1.
Некоторые примеры:
# Use the default values
ocv=dilate
# Dilate using a structuring element with a 5x5 cross, iterating two times
ocv=filter_name=dilate:filter_params=5x5+2x2/cross|2
# Read the shape from the file diamond.shape, iterating two times.
# The file diamond.shape may contain a pattern of characters like this
# *
# ***
# *****
# ***
# *
# The specified columns and rows are ignored
# but the anchor point coordinates are not
ocv=dilate:0x0+2x2/custom=diamond.shape|2
11.174.2 эрозия
Размывайте изображение, используя определенный структурирующий элемент. Это соответствует функции libopencv cvErode.
Он принимает параметры: struct_el: nb_iterationsс тем же синтаксисом и семантикой, что и фильтр
расширения .
11.174.3 гладкая
Сглаживание входного видео.
Фильтр принимает следующие параметры:
type| param1| param2| param3| param4.
type— это тип применяемого сглаживающего фильтра, который может принимать одно из следующих значений: «размытие», «размытие_без_масштаба», «медиана», «гауссовский» или «двусторонний». Значение по умолчанию — «гауссово».
Значение param1, param2, param3и param4
зависит от гладкого типа. param1и
param2принимать целые положительные значения или 0. param3и
param4принимать значения с плавающей запятой.
Значение по умолчанию равно param13. Значение по умолчанию для других параметров равно 0.
Эти параметры соответствуют параметрам, назначенным функции libopencv cvSmooth.
11.175 oscilloscope
2D видео осциллограф.
Полезно для измерения пространственного импульса, переходных характеристик, задержек цветности и т. д.
Он принимает следующие параметры:
xУстановить положение центра области x.
yУстановите положение центра прицела по оси Y.
sУстановите размер прицела относительно диагонали кадра.
tУстановите наклон/вращение прицела.
oУстановите прозрачность трассировки.
txУстановить положение центра трассы по оси x.
tyУстановите положение центра трассы по оси Y.
twЗадайте ширину трассы относительно ширины кадра.
thУстановите высоту трассировки относительно высоты кадра.
cУстановите, какие компоненты трассировать. По умолчанию он отслеживает первые три компонента.
gНарисуйте сетку трассировки. По умолчанию включен.
stНарисуйте немного статистики. По умолчанию включен.
scНарисуйте размах. По умолчанию включен.
11.175.1 Команды
Этот фильтр поддерживает те же команды , что и параметры. Команда принимает тот же синтаксис соответствующей опции.
Если указанное выражение недействительно, оно сохраняется в своем текущем значении.
11.175.2 Примеры
- Осмотрите всю первую строку видеокадра.
oscilloscope=x=0.5:y=0:s=1 - Осмотрите всю последнюю строку видеокадра.
oscilloscope=x=0.5:y=1:s=1 - Осмотрите полную 5-ю строку видеокадра высотой 1080.
oscilloscope=x=0.5:y=5/1080:s=1 - Проверьте полный последний столбец видеокадра.
oscilloscope=x=1:y=0.5:s=1:t=1
11.176 overlay
Наложение одного видео поверх другого.
Он принимает два входа и имеет один выход. Первый вход — это «основное» видео, на которое накладывается второй вход.
Он принимает следующие параметры:
Далее следует описание принятых опций.
xyУстановите выражение для координат 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, Wmain_h, HОсновные входные ширина и высота.
overlay_w, woverlay_h, hШирина и высота ввода оверлея.
xyВычисленные значения для
xиy. Они оцениваются для каждого нового кадра.hsubvsubгоризонтальные и вертикальные значения подвыборки цветности выходного формата. Например, для формата пикселей «yuv422p»
hsubравно 2 иvsubравно 1.nномер входного кадра, начиная с 0
posпозиция в файле входного кадра, NAN, если неизвестно
tОтметка времени, выраженная в секундах. Это NAN, если отметка времени ввода неизвестна.
Этот фильтр также поддерживает параметры синхронизации кадров .
Обратите внимание, что переменные n, , доступны только тогда, когда оценка выполняется для каждого кадра , и будут оцениваться как NAN, когдаpostevalустановлен на 'init'.
Имейте в виду, что кадры берутся из каждого входного видео в порядке меток времени, поэтому, если их начальные метки времени различаются, рекомендуется пропустить два входа через setpts=PTS-STARTPTSфильтр, чтобы они начинались с одной и той же нулевой метки времени, как в примере для movieфильтр делает.
Вы можете связать вместе больше оверлеев, но вы должны проверить эффективность такого подхода.
11.176.1 Команды
Этот фильтр поддерживает следующие команды:
xyИзмените 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. Базовые форматы входных пикселей должны совпадать.
Он принимает два входа и имеет один выход. Первый вход — это «основное» видео, на которое накладывается второй вход.
Он принимает следующие параметры:
xyУстановите выражения для координат x и y наложенного видео на основное видео.
Они могут содержать следующие параметры:
main_w, Wmain_h, HОсновные входные ширина и высота.
overlay_w, woverlay_h, hШирина и высота ввода оверлея.
xyВычисленные значения для
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, wheight, hУкажите выражение для размера выходного изображения с добавленными отступами. Если значение для
widthилиheightравно 0, соответствующий входной размер используется для вывода.Выражение
widthможет ссылаться на значение, заданноеheightвыражением, и наоборот.Значение по умолчанию
widthиheightравно 0.xyУкажите смещения для размещения входного изображения в области заполнения относительно верхней/левой границы выходного изображения.
Выражение
xможет ссылаться на значение, заданноеyвыражением, и наоборот.Значение по умолчанию
xиyравно 0.Если
xилиyоценивается как отрицательное число, они будут изменены таким образом, чтобы входное изображение располагалось по центру заполненной области.colorУкажите цвет заполненной области. Синтаксис этой опции см. в разделе (ffmpeg-utils) «Цвет» в руководстве по ffmpeg-utils .
Значение по умолчанию
color— «черный».evalУкажите, когда оценивать
width,height,xиyвыражение.Он принимает следующие значения:
- '
init' Оценивайте выражения только один раз во время инициализации фильтра или при обработке команды.
- '
frame' Оцените выражения для каждого входящего кадра.
Значение по умолчанию: '
init'.- '
aspectPad к аспекту, а не к разрешению.
Значения параметров width, height, xи y
являются выражениями, содержащими следующие константы:
in_win_hШирина и высота входного видео.
iwihЭто такие же, как
in_wиin_h.out_wout_hВыходная ширина и высота (размер заполненной области), как указано в выражениях
widthи .heightowohЭто такие же, как
out_wиout_h.xyСмещения x и y, как указано в выражениях
xиy, или NAN, если они еще не указаны.aто же, что
iw/ihsarсоотношение сторон входного образца
darвходное соотношение сторон дисплея, оно такое же, как (
iw/ih) *sarhsubvsubЗначения подвыборки цветности по горизонтали и вертикали. Например, для формата пикселей «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
Правильная перспектива видео, записанного не перпендикулярно экрану.
Далее следует описание принятых параметров.
x0y0x1y1x2y2x3y3Установите выражение координат для верхнего левого, верхнего правого, нижнего левого и нижнего правого углов. Значения по умолчанию,
0:0:W:0:0:H:W:Hс которыми перспектива останется неизменной. Еслиsenseопция установлена ​​наsource, то указанные точки будут отправлены в углы пункта назначения. Еслиsenseопция установлена ​​вdestination, то углы исходника будут отправлены в указанные координаты.В выражениях могут использоваться следующие переменные:
WHширина и высота видеокадра.
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, wheight, 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 reducerthreshold1больше -> более сильная фильтрация
threshold2больше -> более сильная фильтрация
threshold3больше -> более сильная фильтрация
al/autolevels[:f/fullyrange], automatic brightness / contrast correctionf/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.
Каждая из опций выражения задает выражение, используемое для вычисления таблицы поиска для соответствующих значений компонента пикселя.
Выражения могут содержать следующие константы и функции:
whВводимая ширина и высота.
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 кадров в секунду.
Фильтр принимает следующие параметры:
jljrjtjbЭти параметры задают количество игнорируемого «мусора» слева, справа, сверху и снизу изображения соответственно. Слева и справа — по 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 и может содержать, среди прочего, следующие константы:
known1, если индекс не равен 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 перед фильтрацией первого кадра.
hsubvsubзначения подвыборки цветности по горизонтали и вертикали. Например, для формата пикселей «yuv422p»
hsubравно 2 иvsubравно 1.in_w, iwin_h, ihширина и высота входного видео
out_w, owout_h, ohвыходная ширина и высота, то есть размер заполненной области, как указано в выражениях
widthиheightrotw(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, wheight, 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_matrixout_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_rangeout_rangeУстановите входной/выходной диапазон выборки YCbCr.
Это позволяет переопределить автоматически обнаруженное значение, а также позволяет принудительно задать конкретное значение, используемое для выхода и кодировщика. Если не указано, диапазон зависит от формата пикселей. Возможные значения:
- '
auto/unknown' Выбирайте автоматически.
- '
jpeg/full/pc' Установите полный диапазон (0-255 в случае 8-битной яркости).
- '
mpeg/limited/tv' Установите диапазон "MPEG" (16-235 в случае 8-битной яркости).
- '
force_original_aspect_ratioВключите уменьшение или увеличение ширины или высоты выходного видео, если это необходимо, чтобы сохранить исходное соотношение сторон. Возможные значения:
- '
disable' Масштабируйте видео, как указано, и отключите эту функцию.
- '
decrease' При необходимости размеры выходного видео будут автоматически уменьшены.
- '
increase' При необходимости размеры выходного видео будут автоматически увеличены.
Одним из полезных примеров этой опции является то, что, когда вы знаете максимально допустимое разрешение для конкретного устройства, вы можете использовать его, чтобы ограничить выходное видео этим, сохраняя при этом соотношение сторон. Например, устройство А поддерживает воспроизведение с разрешением 1280 x 720, а ваше видео имеет разрешение 1920 x 800. Использование этой опции (установите ее на уменьшение) и указание 1280x720 в командной строке делает вывод 1280x533.
Обратите внимание, что это отличается от указания -1 для
wили жеh, вам все равно нужно указать выходное разрешение, чтобы эта опция работала.- '
force_divisible_byГарантирует, что оба выходных размера, ширина и высота, делятся на заданное целое число при использовании вместе с
force_original_aspect_ratio. Это работает аналогично использованию-nвwа такжеhопции.Этот параметр учитывает значение, установленное для
force_original_aspect_ratio, увеличивая или уменьшая разрешение соответственно. Соотношение сторон видео может быть немного изменено.Этот параметр может быть удобен, если вам нужно, чтобы видео соответствовало определенному разрешению или превышало его с помощью
force_original_aspect_ratioно также имеют ограничения кодировщика на делимость по ширине или высоте.
Значенияwа такжеhoptions — это выражения, содержащие следующие константы:
in_win_hШирина и высота ввода
iwihЭто такие же, как
in_wиin_h.out_wout_hВыходная (масштабированная) ширина и высота
owohЭто такие же
out_wиout_haТо же, что
iw/ihsarсоотношение сторон входного образца
darСоотношение сторон входного дисплея. Рассчитано из
(iw / ih) * sar.hsubvsubгоризонтальные и вертикальные входные значения подвыборки цветности. Например, для формата пикселей «yuv422p»
hsubравно 2 иvsubравно 1.ohsubovsubгоризонтальные и вертикальные выходные значения цветности подвыборки. Например, для формата пикселей «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, wheight, hУстановите выражение размера выходного видео. Команда принимает тот же синтаксис соответствующей опции.
Если указанное выражение недействительно, оно сохраняется в своем текущем значении.
11.209 scale_cuda
Масштабирование (изменение размера) и преобразование (формат пикселей) входного видео с использованием ускоренных ядер CUDA. Настройка выходной ширины и высоты работает так же, как и для масштабного фильтра.
Фильтр принимает следующие параметры:
whУстановите выражение размера выходного видео. Значение по умолчанию — входное измерение.
Позволяет использовать те же выражения, что и масштабный фильтр.
interp_algoУстанавливает алгоритм, используемый для масштабирования:
nearestБлижайший сосед
Используется по умолчанию, если входные параметры соответствуют желаемому результату.
bilinearБилинейный
bicubicБикубический
Это значение по умолчанию.
lanczosЛанцош
formatУправляет выходным форматом пикселей. По умолчанию или если ничего не указано, используется формат входных пикселей.
Фильтр не поддерживает преобразование между форматами пикселей YUV и RGB.
passthroughЕсли установлено значение 0, обрабатывается каждый кадр, даже если преобразование не требуется. Этот режим может быть полезен для использования фильтра в качестве буфера для потребителя кадров нисходящего потока, который исчерпывает ограниченный пул кадров декодера.
Если установлено значение 1, кадры передаются как есть, если они соответствуют желаемым выходным параметрам. Это поведение по умолчанию.
paramПараметр, зависящий от алгоритма.
Влияет на кривые бикубического алгоритма.
force_original_aspect_ratioforce_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Ближайший сосед.
linearcubiccubic2p_bspline2-параметрический кубический (B=1, C=0)
cubic2p_catmullrom2-параметрический кубический (B=0, C=1/2)
cubic2p_b05c032-параметрический кубический (B=1/2, C=3/10)
superСуперсэмплинг
lanczos
force_original_aspect_ratioВключите уменьшение или увеличение ширины или высоты выходного видео, если это необходимо, чтобы сохранить исходное соотношение сторон. Возможные значения:
- '
disable' Масштабируйте видео, как указано, и отключите эту функцию.
- '
decrease' При необходимости размеры выходного видео будут автоматически уменьшены.
- '
increase' При необходимости размеры выходного видео будут автоматически увеличены.
Одним из полезных примеров этой опции является то, что, когда вы знаете максимально допустимое разрешение для конкретного устройства, вы можете использовать его, чтобы ограничить выходное видео этим, сохраняя при этом соотношение сторон. Например, устройство А поддерживает воспроизведение с разрешением 1280 x 720, а ваше видео имеет разрешение 1920 x 800. Использование этой опции (установите ее на уменьшение) и указание 1280x720 в командной строке делает вывод 1280x533.
Обратите внимание, что это отличается от указания -1 для
wили жеh, вам все равно нужно указать выходное разрешение, чтобы эта опция работала.- '
force_divisible_byГарантирует, что оба выходных размера, ширина и высота, делятся на заданное целое число при использовании вместе с
force_original_aspect_ratio. Это работает аналогично использованию-nвwа такжеhопции.Этот параметр учитывает значение, установленное для
force_original_aspect_ratio, увеличивая или уменьшая разрешение соответственно. Соотношение сторон видео может быть немного изменено.Этот параметр может быть удобен, если вам нужно, чтобы видео соответствовало определенному разрешению или превышало его с помощью
force_original_aspect_ratioно также имеют ограничения кодировщика на делимость по ширине или высоте.evalУкажите, когда оценивать
widthиheightвыражать. Он принимает следующие значения:- '
init' Оценивайте выражения только один раз во время инициализации фильтра или при обработке команды.
- '
frame' Оцените выражения для каждого входящего кадра.
- '
Значенияwа такжеhoptions — это выражения, содержащие следующие константы:
in_win_hШирина и высота ввода
iwihЭто такие же, как
in_wиin_h.out_wout_hВыходная (масштабированная) ширина и высота
owohЭто такие же
out_wиout_haТо же, что
iw/ihsarсоотношение сторон входного образца
darСоотношение сторон входного дисплея. Рассчитано из
(iw / ih) * sar.n(Порядковый) номер входного кадра, начиная с 0. Доступно только с
eval=frame.tВременная метка представления входного кадра, выраженная в секундах. Доступно только с
eval=frame.posПозиция (байтовое смещение) кадра во входном потоке или NaN, если эта информация недоступна и/или бессмысленна (например, в случае синтетического видео). Доступно только с
eval=frame.
11.211 scale2ref
Масштабируйте (измените размер) входное видео на основе эталонного видео.
См. Масштабный фильтр для доступных опций, scale2ref поддерживает то же самое, но использует эталонное видео вместо основного входа в качестве основы. Scale2ref также поддерживает следующие дополнительные константы дляwа также
hопции:
main_wmain_hШирина и высота основного входного видео
main_aТо же, что
main_w/main_hmain_sarОбразец соотношения сторон основного входного видео
main_dar, mdarСоотношение сторон дисплея основного входного видео. Рассчитано из
(main_w / main_h) * main_sar.main_hsubmain_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, wheight, hУстановите выражение размера выходного видео. Команда принимает тот же синтаксис соответствующей опции.
Если указанное выражение недействительно, оно сохраняется в своем текущем значении.
11.212 scale2ref_npp
Используйте примитивы производительности NVIDIA (libnpp) для масштабирования (изменения размера) входного видео на основе эталонного видео.
Доступные параметры см. в фильтре scale_npp . Scale2ref_npp поддерживает то же самое, но использует эталонное видео вместо основного ввода в качестве основы. Scale2ref_npp также поддерживает следующие дополнительные константы дляwа также
hопции:
main_wmain_hШирина и высота основного входного видео
main_aТо же, что
main_w/main_hmain_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 (setdaronly), sar (setsaronly)Установите соотношение сторон, используемое фильтром.
Параметр может быть строкой числа с плавающей запятой, выражением или строкой вида
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 (в шестнадцатеричном формате) каждой плоскости входного кадра, выраженная в виде «[ ]».
c0c1c2c3meanСреднее значение пикселей в каждой плоскости входного кадра, выраженное в виде «[ ]».
mean0mean1mean2mean3stdevСтандартное отклонение значений пикселей в каждой плоскости входного кадра, выраженное в виде «[ ]».
stdev0stdev1stdev2stdev3
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, wheight, 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].
Фильтр принимает следующие параметры:
statout-
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, BSSIM сравниваемых кадров для компонента, указанного суффиксом.
AllSSIM сравниваемых кадров для всего кадра.
dBТо же, что и выше, но в дБ.
Этот фильтр также поддерживает параметры синхронизации кадров .
11.235.1 Примеры
- Например:
movie=ref_movie.mpg, setpts=PTS-STARTPTS [main]; [main][ref] ssim="stats_file=stats.log" [out]В этом примере обрабатываемый входной файл сравнивается с эталонным файлом.
ref_movie.mpg. SSIM каждого отдельного кадра хранится вstats.log. - Другой пример с psnr и ssim одновременно:
ffmpeg -i main.mpg -i ref.mpg -lavfi "ssim;[0:v][1:v]psnr" -f null - - Другой пример с разными контейнерами:
ffmpeg -i main.mpg -i ref.mkv -lavfi "[0:v]settb=AVTB,setpts=PTS-STARTPTS[main];[1:v]settb=AVTB,setpts=PTS-STARTPTS[ref];[main][ref]ssim" -f null -
11.236 stereo3d
Преобразование между различными форматами стереоскопического изображения.
Фильтры принимают следующие параметры:
inУстановите формат входного стереоскопического изображения.
Доступные значения для форматов входного изображения:
- '
sbsl' бок о бок параллельно (левый глаз левый, правый глаз правый)
- '
sbsr' бок о бок перекрестие (правый глаз влево, левый глаз вправо)
- '
sbs2l' бок о бок параллельно с разрешением половинной ширины (левый глаз слева, правый глаз справа)
- '
sbs2r' параллельное перекрестие с разрешением половинной ширины (правый глаз слева, левый глаз справа)
- '
abl' - '
tbl' вверху-внизу (левый глаз вверху, правый глаз внизу)
- '
abr' - '
tbr' сверху-снизу (правый глаз сверху, левый снизу)
- '
ab2l' - '
tb2l' сверху-снизу с половинным разрешением по высоте (левый глаз вверху, правый глаз внизу)
- '
ab2r' - '
tb2r' сверху-снизу с половинным разрешением по высоте (правый глаз вверху, левый глаз внизу)
- '
al' чередующиеся кадры (сначала левый глаз, потом правый глаз)
- '
ar' чередующиеся кадры (сначала правый глаз, потом левый глаз)
- '
irl' чередующиеся строки (левый глаз имеет верхний ряд, правый глаз начинается со следующего ряда)
- '
irr' чередующиеся строки (правый глаз имеет верхний ряд, левый глаз начинается со следующего ряда)
- '
icl' чередующиеся столбцы, левый глаз вперед
- '
icr' чередующиеся столбцы, правый глаз вперед
Значение по умолчанию: '
sbsl'.
- '
outУстановите формат стереоскопического изображения для вывода.
- '
sbsl' бок о бок параллельно (левый глаз левый, правый глаз правый)
- '
sbsr' бок о бок перекрестие (правый глаз влево, левый глаз вправо)
- '
sbs2l' бок о бок параллельно с разрешением половинной ширины (левый глаз слева, правый глаз справа)
- '
sbs2r' параллельное перекрестие с разрешением половинной ширины (правый глаз слева, левый глаз справа)
- '
abl' - '
tbl' вверху-внизу (левый глаз вверху, правый глаз внизу)
- '
abr' - '
tbr' сверху-снизу (правый глаз сверху, левый снизу)
- '
ab2l' - '
tb2l' сверху-снизу с половинным разрешением по высоте (левый глаз вверху, правый глаз внизу)
- '
ab2r' - '
tb2r' сверху-снизу с половинным разрешением по высоте (правый глаз вверху, левый глаз внизу)
- '
al' чередующиеся кадры (сначала левый глаз, потом правый глаз)
- '
ar' чередующиеся кадры (сначала правый глаз, потом левый глаз)
- '
irl' чередующиеся строки (левый глаз имеет верхний ряд, правый глаз начинается со следующего ряда)
- '
irr' чередующиеся строки (правый глаз имеет верхний ряд, левый глаз начинается со следующего ряда)
- '
arbg' анаглиф красный/сине-серый (красный фильтр на левый глаз, синий фильтр на правый глаз)
- '
argg' анаглиф красный/зелено-серый (красный фильтр на левый глаз, зеленый фильтр на правый глаз)
- '
arcg' анаглиф красный/голубой серый (красный фильтр на левом глазу, голубой фильтр на правом глазу)
- '
arch' анаглифный красный/голубой полуцвет (красный фильтр на левом глазу, голубой фильтр на правом глазу)
- '
arcc' анаглифный красный/голубой цвет (красный фильтр для левого глаза, голубой фильтр для правого глаза)
- '
arcd' анаглифный красный/голубой цвет, оптимизированный с помощью проекции Дюбуа методом наименьших квадратов (красный фильтр для левого глаза, голубой фильтр для правого глаза)
- '
agmg' анаглифный зеленый/пурпурно-серый (зеленый фильтр на левом глазу, пурпурный фильтр на правом глазу)
- '
agmh' анаглифный зеленый/пурпурный полуцвет (зеленый фильтр на левом глазу, пурпурный фильтр на правом глазу)
- '
agmc' анаглифный зеленый/пурпурный цвет (зеленый фильтр на левом глазу, пурпурный фильтр на правом глазу)
- '
agmd' анаглифный зеленый/пурпурный цвет, оптимизированный с помощью проекции Дюбуа методом наименьших квадратов (зеленый фильтр для левого глаза, пурпурный фильтр для правого глаза)
- '
aybg' анаглиф желтый/сине-серый (желтый фильтр на левом глазу, синий фильтр на правом глазу)
- '
aybh' анаглиф желто-синий наполовину окрашенный (желтый фильтр на левый глаз, синий фильтр на правый глаз)
- '
aybc' анаглиф желтого/синего цвета (желтый фильтр на левом глазу, синий фильтр на правом глазу)
- '
aybd' анаглифный желтый/синий цвет, оптимизированный с помощью проекции Дюбуа методом наименьших квадратов (желтый фильтр для левого глаза, синий фильтр для правого глаза)
- '
ml' моно выход (только для левого глаза)
- '
mr' моно выход (только для правого глаза)
- '
chl' шахматная доска, левый глаз вперед
- '
chr' шахматная доска, правый глаз вперед
- '
icl' чередующиеся столбцы, левый глаз вперед
- '
icr' чередующиеся столбцы, правый глаз вперед
- '
hdmi' Пакет кадров HDMI
Значение по умолчанию: '
arcd'.- '
11.236.1 Примеры
- Преобразование входного видео из параллельного анаглифического желтого / синего дюбуа:
stereo3d=sbsl:aybd - Преобразование входного видео сверху вниз (левый глаз вверху, правый глаз внизу) в параллельное перекрестие.
stereo3d=abl:sbsr
11.237 streamselect, astreamselect
Выберите видео- или аудиопотоки.
Фильтр принимает следующие параметры:
inputsУстановить количество входов. По умолчанию 2.
mapУстановите входные индексы для переназначения на выходы.
11.237.1 Команды
Фильтр streamselectand astreamselectподдерживает следующие команды:
mapУстановите входные индексы для переназначения на выходы.
11.237.2 Примеры
- Выберите первые 5 секунд 1-го потока и остальное время 2-го потока:
sendcmd='5.0 streamselect map 1',streamselect=inputs=2:map=0 - То же, что и выше, но для звука:
asendcmd='5.0 astreamselect map 1',astreamselect=inputs=2:map=0
11.238 subtitles
Нарисуйте субтитры поверх входного видео, используя библиотеку libass.
Чтобы включить компиляцию этого фильтра, вам необходимо настроить FFmpeg с расширением
--enable-libass. Этот фильтр также требует сборки с libavcodec и libavformat для преобразования переданного файла субтитров в формат субтитров ASS (Advanced Substation Alpha).
Фильтр принимает следующие параметры:
filename, fУстановите имя файла субтитров для чтения. Это должно быть указано.
original_sizeУкажите размер исходного видео, видео, для которого был составлен файл ASS. Синтаксис этого параметра см. в разделе (ffmpeg-utils) «Размер видео» в руководстве по ffmpeg-utils . Из-за неправильного расчета соотношения сторон ASS это необходимо для правильного масштабирования шрифтов, если соотношение сторон было изменено.
fontsdirЗадайте путь к каталогу, содержащему шрифты, которые могут использоваться фильтром. Эти шрифты будут использоваться в дополнение к тому, что использует поставщик шрифтов.
alphaАльфа-канал процесса, по умолчанию альфа-канал не изменен.
charencУстановите кодировку символов для ввода субтитров.
subtitlesтолько фильтр. Полезно только если не UTF-8.stream_index, siУстановите индекс потока субтитров.
subtitlesтолько фильтр.force_styleПереопределить параметры стиля или информации сценария по умолчанию для субтитров. Он принимает строку, содержащую
KEY=VALUEпары форматов стиля ASS, разделенные знаком «,».
Если первый ключ не указан, предполагается, что первое значение указываетfilename.
Например, чтобы отобразить файлsub.srtповерх входного видео используйте команду:
subtitles=sub.srt
что эквивалентно:
subtitles=filename=sub.srt
Чтобы отобразить поток субтитров по умолчанию из файлаvideo.mkv, использовать:
subtitles=video.mkv
Чтобы отобразить второй поток субтитров из этого файла, используйте:
subtitles=video.mkv:si=1
Чтобы субтитры транслировались сsub.srtотображаются в 80% прозрачном синем цвете
DejaVu Serif, используйте:
subtitles=sub.srt:force_style='Fontname=DejaVu Serif,PrimaryColour=&HCCFF0000'
11.239 super2xsai
Увеличьте входные данные в 2 раза и сгладьте их с помощью алгоритма масштабирования пиксельной графики Super2xSaI (Scale and Interpolate).
Полезно для увеличения пиксельных изображений без снижения резкости.
11.240 swaprect
Поменяйте местами два прямоугольных объекта в видео.
Этот фильтр принимает следующие параметры:
wУстановите ширину объекта.
hУстановить высоту объекта.
x1Установите 1-ю координату X прямоугольника.
y1Установите 1-ю координату y прямоугольника.
x2Установите вторую координату X прямоугольника.
y2Установите 2-ю координату прямоугольника y.
Все выражения оцениваются один раз для каждого кадра.
Все параметры являются выражениями, содержащими следующие константы:
whВводимая ширина и высота.
aто же, что
w/hsarсоотношение сторон входного образца
darвходное соотношение сторон дисплея, оно такое же, как (
w/h) *sarnНомер входного кадра, начиная с 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Установите максимальное количество кадров для рендеринга в данной области. Оно должно быть меньше или равно
wxh. Значение по умолчанию равно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.pngThe
-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Обходите уже чересстрочные кадры, регулируйте только частоту кадров.
Вертикальная низкочастотная фильтрация и обход уже чересстрочных кадров могут быть включены только для
modeinterleave_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 Команды
Этот фильтр поддерживает следующие команды:
weightsscaleplanesСинтаксис такой же, как у опции с тем же именем.
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 видео между различными форматами.
Фильтр принимает следующие параметры:
inputoutputУстановить формат входного/выходного видео.
Доступные форматы:
- '
e' - '
equirect' Равноугольная проекция.
- '
c3x2' - '
c6x1' - '
c1x6' Кубическая карта с макетом 3x2/6x1/1x6.
Специальные параметры формата:
in_padout_padУстановите пропорцию заполнения для входной/выходной кубической карты. Значения в десятичных дробях.
Примеры значений:
- '
0' Без прокладки.
- '
0.01' 1% лица заполняется. Например, при разрешении 1920x1280 размер лица будет 640x640, а отступ будет равен 3 пикселям с каждой стороны. (640 * 0,01 = 6 пикселей)
Значение по умолчанию: '
0' . Максимальное значение '0.1' .- '
fin_padfout_padУстановите фиксированное заполнение для входной/выходной кубической карты. Значения в пикселях.
Значение по умолчанию: '
0' . Если больше нуля, он переопределяет другие параметры заполнения.in_forderout_forderУстановите порядок граней для входной/выходной кубической карты. Выберите одно направление для каждой позиции.
Обозначение направлений:
- '
r' Правильно
- '
l' оставил
- '
u' вверх
- '
d' вниз
- '
f' вперед
- '
b' назад
Значение по умолчанию: '
rludfb' .- '
in_frotout_frotУстановите поворот граней для входной/выходной кубической карты. Выберите один угол для каждой позиции.
Обозначение углов:
- '
0' 0 градусов по часовой стрелке
- '
1' 90 градусов по часовой стрелке
- '
2' 180 градусов по часовой стрелке
- '
3' 270 градусов по часовой стрелке
Значение по умолчанию: '
000000' .- '
- '
eac' Равноугольная кубическая карта.
- '
flat' - '
gnomonic' - '
rectilinear' Обычное видео.
Специальные параметры формата:
h_fovv_fovd_fovУстановите выходное горизонтальное/вертикальное/диагональное поле зрения. Значения в градусах.
Если установлено диагональное поле зрения, оно имеет приоритет над горизонтальным и вертикальным полем зрения.
ih_foviv_fovid_fovУстановите входное горизонтальное/вертикальное/диагональное поле зрения. Значения в градусах.
Если установлено диагональное поле зрения, оно имеет приоритет над горизонтальным и вертикальным полем зрения.
- '
dfisheye' Двойной рыбий глаз.
Специальные параметры формата:
h_fovv_fovd_fovУстановите выходное горизонтальное/вертикальное/диагональное поле зрения. Значения в градусах.
Если установлено диагональное поле зрения, оно имеет приоритет над горизонтальным и вертикальным полем зрения.
ih_foviv_fovid_fovУстановите входное горизонтальное/вертикальное/диагональное поле зрения. Значения в градусах.
Если установлено диагональное поле зрения, оно имеет приоритет над горизонтальным и вертикальным полем зрения.
- '
barrel' - '
fb' - '
barrelsplit' Форматы Facebook 360.
- '
sg' Стереографический формат.
Специальные параметры формата:
h_fovv_fovd_fovУстановите выходное горизонтальное/вертикальное/диагональное поле зрения. Значения в градусах.
Если установлено диагональное поле зрения, оно имеет приоритет над горизонтальным и вертикальным полем зрения.
ih_foviv_fovid_fovУстановите входное горизонтальное/вертикальное/диагональное поле зрения. Значения в градусах.
Если установлено диагональное поле зрения, оно имеет приоритет над горизонтальным и вертикальным полем зрения.
- '
mercator' Формат Меркатора.
- '
ball' Шарообразный формат дает значительные искажения в сторону спины.
- '
hammer' Формат картографической проекции Хаммера-Айтоффа.
- '
sinusoidal' Синусоидальный формат проекции карты.
- '
fisheye' Проекция «рыбий глаз».
Специальные параметры формата:
h_fovv_fovd_fovУстановите выходное горизонтальное/вертикальное/диагональное поле зрения. Значения в градусах.
Если установлено диагональное поле зрения, оно имеет приоритет над горизонтальным и вертикальным полем зрения.
ih_foviv_fovid_fovУстановите входное горизонтальное/вертикальное/диагональное поле зрения. Значения в градусах.
Если установлено диагональное поле зрения, оно имеет приоритет над горизонтальным и вертикальным полем зрения.
- '
pannini' Проекция Паннини.
Специальные параметры формата:
h_fovУстановите выходной параметр pannini.
ih_fovУстановите входной параметр pannini.
- '
cylindrical' Цилиндрическая проекция.
Специальные параметры формата:
h_fovv_fovd_fovУстановите выходное горизонтальное/вертикальное/диагональное поле зрения. Значения в градусах.
Если установлено диагональное поле зрения, оно имеет приоритет над горизонтальным и вертикальным полем зрения.
ih_foviv_fovid_fovУстановите входное горизонтальное/вертикальное/диагональное поле зрения. Значения в градусах.
Если установлено диагональное поле зрения, оно имеет приоритет над горизонтальным и вертикальным полем зрения.
- '
perspective' Перспективная проекция. (только вывод)
Специальные параметры формата:
v_fovУстановите параметр перспективы.
- '
tetrahedron' Проекция тетраэдра.
- '
tsp' Проекция усеченной квадратной пирамиды.
- '
he' - '
hequirect' Полуравноугольная проекция.
- '
equisolid' Эквисолидный формат.
Специальные параметры формата:
h_fovv_fovd_fovУстановите выходное горизонтальное/вертикальное/диагональное поле зрения. Значения в градусах.
Если установлено диагональное поле зрения, оно имеет приоритет над горизонтальным и вертикальным полем зрения.
ih_foviv_fovid_fovУстановите входное горизонтальное/вертикальное/диагональное поле зрения. Значения в градусах.
Если установлено диагональное поле зрения, оно имеет приоритет над горизонтальным и вертикальным полем зрения.
- '
og' Орфографический формат.
Специальные параметры формата:
h_fovv_fovd_fovУстановите выходное горизонтальное/вертикальное/диагональное поле зрения. Значения в градусах.
Если установлено диагональное поле зрения, оно имеет приоритет над горизонтальным и вертикальным полем зрения.
ih_foviv_fovid_fovУстановите входное горизонтальное/вертикальное/диагональное поле зрения. Значения в градусах.
Если установлено диагональное поле зрения, оно имеет приоритет над горизонтальным и вертикальным полем зрения.
- '
octahedron' Проекция октаэдра.
- '
cylindricalea' Цилиндрическая равновеликая проекция.
- '
interpУстановить метод интерполяции.
Примечание: для выполнения более сложных методов интерполяции требуется гораздо больше памяти.Доступные методы:
- '
near' - '
nearest' Ближайший сосед.
- '
line' - '
linear' Билинейная интерполяция.
- '
lagrange9' Интерполяция Лагранжа9.
- '
cube' - '
cubic' Бикубическая интерполяция.
- '
lanc' - '
lanczos' Интерполяция Ланцоша.
- '
sp16' - '
spline16' Интерполяция Spline16.
- '
gauss' - '
gaussian' Гауссова интерполяция.
- '
mitchell' Интерполяция Митчелла.
Значение по умолчанию: '
line' .- '
whУстановите разрешение выходного видео.
Разрешение по умолчанию зависит от форматов.
in_stereoout_stereoУстановите входной/выходной стереофонический формат.
- '
2d' 2D моно
- '
sbs' Бок о бок
- '
tb' Верхний низ
Значение по умолчанию: '
2d' для формата ввода и вывода.- '
yawpitchrollУстановите поворот для выходного видео. Значения в градусах.
rorderУстановите порядок вращения для выходного видео. Выберите один элемент для каждой позиции.
- '
y, Y' рыскать
- '
p, P' подача
- '
r, R' рулон
Значение по умолчанию: '
ypr' .- '
h_flipv_flipd_flipОтразите выходное видео по горизонтали (меняет местами слева направо) / по вертикали (меняет местами вверх-вниз) / в глубину (меняет местами назад-вперед). Логические значения.
ih_flipiv_flipУстановите, если входное видео переворачивается по горизонтали/вертикали. Логические значения.
in_transУстановите, если входное видео транспонировано. Логическое значение, по умолчанию отключено.
out_transУстановите, нужно ли транспонировать выходное видео. Логическое значение, по умолчанию отключено.
h_offsetv_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, t0tint1, 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"x0y0Установите выражения координат центра. Соответственно
"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выражения могут содержать следующие параметры.
whввод ширины и высоты
nномер входного кадра, начиная с 0
ptsвремя PTS (Presentation TimeStamp) отфильтрованного видеокадра, выраженное в
TBединицах, NAN, если не определеноrчастота кадров входного видео, NAN, если частота кадров входного сигнала неизвестна
tPTS (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, t0tint1, 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Установите выражение для пользовательского эффекта перехода.
В выражениях могут использоваться следующие переменные и функции:
XYКоординаты текущего образца.
WHШирина и высота изображения.
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.
xyУстановите выражение 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Отметка времени вывода, выраженная в секундах.
xyПоследнее вычисленное положение «x» и «y» из выражения «x» и «y» для текущего входного кадра.
pxpy'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, wheight, hУстановите выражение размера выходного видео. Значение по умолчанию — входное измерение.
Если значение
widthилиwравно 0, входная ширина используется для вывода. Если значениеheightилиhравно 0, входная высота используется для вывода.Если одно и только одно из значений равно -n с n >= 1, фильтр zscale будет использовать значение, поддерживающее соотношение сторон входного изображения, рассчитанное на основе другого указанного измерения. Однако после этого он проверит, что вычисленное измерение делится на n, и при необходимости скорректирует значение.
Если оба значения равны -n с n >= 1, поведение будет идентичным обоим значениям, установленным равным 0, как описано ранее.
См. ниже список допустимых констант для использования в выражении измерения.
size, sУстановите размер видео. Синтаксис этого параметра см. в разделе (ffmpeg-utils) «Размер видео» в руководстве по ffmpeg-utils .
dither, dУстановите тип дизеринга.
Возможные значения:
noneorderedrandomerror_diffusion
По умолчанию нет.
filter, fУстановите тип фильтра изменения размера.
Возможные значения:
pointbilinearbicubicspline16spline36lanczos
По умолчанию билинейный.
range, rУстановите цветовой диапазон.
Возможные значения:
inputlimitedfull
По умолчанию то же, что и ввод.
primaries, pУстановите основные цвета.
Возможные значения:
input709unspecified170m240m2020
По умолчанию то же, что и ввод.
transfer, tУстановите характеристики передачи.
Возможные значения:
input709unspecified601linear2020_102020_12smpte2084iec61966-2-1arib-std-b67
По умолчанию то же, что и ввод.
matrix, mУстановите матрицу цветового пространства.
Возможные значения:
input709unspecified470bg170m2020_ncl2020_cl
По умолчанию то же, что и ввод.
rangein, rinУстановите диапазон входного цвета.
Возможные значения:
inputlimitedfull
По умолчанию то же, что и ввод.
primariesin, pinУстановите основные цвета ввода.
Возможные значения:
input709unspecified170m240m2020
По умолчанию то же, что и ввод.
transferin, tinУстановите входные передаточные характеристики.
Возможные значения:
input709unspecified601linear2020_102020_12
По умолчанию то же, что и ввод.
matrixin, minУстановите входную матрицу цветового пространства.
Возможные значения:
input709unspecified470bg170m2020_ncl2020_cl
chromal, cУстановите местоположение выходной цветности.
Возможные значения:
inputleftcentertoplefttopbottomleftbottom
chromalin, cinУстановите местоположение входной цветности.
Возможные значения:
inputleftcentertoplefttopbottomleftbottom
nplУстановите номинальную пиковую яркость.
param_aПараметр A для масштабирования фильтров. Параметр «b» для бикубического и количество отводов фильтра для ланцоша.
param_bПараметр B для масштабирования фильтров. Параметр "c" для бикубического.
Значенияwа такжеhoptions — это выражения, содержащие следующие константы:
in_win_hШирина и высота ввода
iwihЭто такие же, как
in_wиin_h.out_wout_hВыходная (масштабированная) ширина и высота
owohЭто такие же
out_wиout_haТо же, что
iw/ihsarсоотношение сторон входного образца
darСоотношение сторон входного дисплея. Рассчитано из
(iw / ih) * sar.hsubvsubгоризонтальные и вертикальные входные значения подвыборки цветности. Например, для формата пикселей «yuv422p»
hsubравно 2 иvsubравно 1.ohsubovsubгоризонтальные и вертикальные выходные значения цветности подвыборки. Например, для формата пикселей «yuv422p»
hsubравно 2 иvsubравно 1.
11.286.2 Команды
Этот фильтр поддерживает следующие команды:
width, wheight, hУстановите выражение размера выходного видео. Команда принимает тот же синтаксис соответствующей опции.
Если указанное выражение недействительно, оно сохраняется в своем текущем значении.
12 видеофильтров OpenCL
Ниже приведено описание доступных на данный момент видеофильтров OpenCL.
Чтобы включить компиляцию этих фильтров, вам необходимо настроить FFmpeg с расширением
--enable-opencl.
Запуск фильтров OpenCL требует инициализации аппаратного устройства и передачи этого устройства всем фильтрам в любом графе фильтров.
-init_hw_device opencl[=name][:device[,key=value...]]Инициализируйте новое аппаратное устройство типа с
openclименемname, используя заданные параметры устройства.-filter_hw_devicenameПередайте вызываемое аппаратное устройство
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, lrluma_power, lpchroma_radius, crchroma_power, cpalpha_radius, aralpha_power, ap
Далее следует описание принятых опций.
luma_radius, lrchroma_radius, cralpha_radius, arУстановите выражение для радиуса окна в пикселях, используемого для размытия соответствующей входной плоскости.
Значение радиуса должно быть неотрицательным числом и не должно превышать значение выражения
min(w,h)/2для плоскостей яркости и альфа, аmin(cw,ch)/2также для плоскостей цветности.Значение по умолчанию для
luma_radiusэто "2". Если не указано,chroma_radiusа такжеalpha_radiusпо умолчанию соответствует соответствующему набору значений дляluma_radius.Выражения могут содержать следующие константы:
whВводимая ширина и высота в пикселях.
cwchШирина и высота входного изображения цветности в пикселях.
hsubvsubЗначения подвыборки цветности по горизонтали и вертикали. Например, для формата пикселей «yuv422p»
hsubэто 2 иvsub1.
luma_power, lpchroma_power, cpalpha_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.
Фильтр принимает следующие параметры:
0m1m2m3mУстановите матрицу для каждой плоскости. Матрица представляет собой последовательность из 9, 25 или 49 чисел со знаком. Значение по умолчанию для каждой плоскости
0 0 0 0 1 0 0 0 0.0rdiv1rdiv2rdiv3rdivУстановите множитель для расчетного значения для каждой плоскости. Если не установлено или равно 0, это будет сумма всех элементов матрицы. Значение параметра должно быть числом с плавающей запятой, большим или равным
0.0. Значение по умолчанию1.0.0bias1bias2bias3biasУстановите смещение для каждой плоскости. Это значение добавляется к результату умножения. Полезно для того, чтобы сделать общее изображение ярче или темнее. Значение параметра должно быть числом с плавающей запятой, большим или равным
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) минимумом.
Он принимает следующие параметры:
threshold0threshold1threshold2threshold3Ограничьте максимальное изменение для каждой плоскости. Диапазон
[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) максимумом.
Он принимает следующие параметры:
threshold0threshold1threshold2threshold3Ограничьте максимальное изменение для каждой плоскости. Диапазон
[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, wheight, hУкажите выражение для размера выходного изображения с добавленными отступами. Если значение для
widthилиheightравно 0, соответствующий входной размер используется для вывода.Выражение
widthможет ссылаться на значение, заданноеheightвыражением, и наоборот.Значение по умолчанию
widthиheightравно 0.xyУкажите смещения для размещения входного изображения в области заполнения относительно верхней/левой границы выходного изображения.
Выражение
xможет ссылаться на значение, заданноеyвыражением, и наоборот.Значение по умолчанию
xиyравно 0.Если
xилиyоценивается как отрицательное число, они будут изменены таким образом, чтобы входное изображение располагалось по центру заполненной области.colorУкажите цвет заполненной области. Синтаксис этой опции см. в разделе (ffmpeg-utils) «Цвет» в руководстве по ffmpeg-utils .
aspectPad к аспекту, а не к разрешению.
Значения параметров width, height, xи y
являются выражениями, содержащими следующие константы:
in_win_hШирина и высота входного видео.
iwihЭто такие же, как
in_wиin_h.out_wout_hВыходная ширина и высота (размер заполненной области), как указано в выражениях
widthи .heightowohЭто такие же, как
out_wиout_h.xyСмещения x и y, как указано в выражениях
xиy, или NAN, если они еще не указаны.aто же, что
iw/ihsarсоотношение сторон входного образца
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Укажите формат выходного пикселя.
В настоящее время поддерживаются следующие форматы:
p010nv12
range, rУстановите цветовой диапазон вывода.
Возможные значения:
tv/mpegpc/jpeg
По умолчанию то же, что и ввод.
primaries, pУстановите основные цвета вывода.
Возможные значения:
bt709bt2020
По умолчанию то же, что и ввод.
transfer, tУстановите выходные передаточные характеристики.
Возможные значения:
bt709bt2020
По умолчанию BT709.
matrix, mУстановите выходную матрицу цветового пространства.
Возможные значения:
bt709bt2020
По умолчанию то же, что и ввод.
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Выберите пользовательский эффект перехода, фактическое описание перехода будет выбрано из параметров исходного кода и ядра.
fadewipeleftwiperightwipeupwipedownslideleftsliderightslideupslidedown-
Переход по умолчанию — затухание.
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Укажите формат выходного пикселя.
В настоящее время поддерживаются следующие форматы:
p010nv12
По умолчанию 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=truesize, 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_lumadc_chromafreq_lumafreq_chromaamp_lumaamp_chromacbpmvring1ring2allmax_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и .haldclutsrcrate, 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.rcgcbcУкажите красный, зеленый, синий контраст. Значения по умолчанию:
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.rcgcbcacУкажите красный, зеленый, синий и альфа-контраст. Значения по умолчанию:
40,160и . Допустимый диапазон .80255[0, 255]rfgfbfafУкажите красный, зеленый, синий и альфа-фейд. Значения по умолчанию:
15,10и . Допустимый диапазон .55[0, 255]zoomУстановите коэффициент масштабирования. Значение по умолчанию
1. Допустимый диапазон[0, 10]. Значения ниже1автоматически настраивают коэффициент масштабирования до максимально возможного значения.drawУстановите режим рисования вектороскопа.
Доступные значения:
- '
dot' Нарисуйте точку для каждого образца.
- '
line' Нарисуйте линию между предыдущим и текущим образцом.
Значение по умолчанию: '
dot'.- '
scaleУкажите масштаб амплитуды аудиосэмплов.
Доступные значения:
- '
lin' Линейный.
- '
sqrt' Квадратный корень.
- '
cbrt' Кубический корень.
- '
log' Логарифмический.
- '
swapПоменять местами ось левого канала с осью правого канала.
mirrorЗеркальная ось.
- '
none' Нет зеркала.
- '
x' Отразить только ось x.
- '
y' Отразите только ось Y.
- '
xy' Отразите обе оси.
- '
16.6.1 Примеры
- Полный пример с использованием
ffplay:ffplay -f lavfi 'amovie=input.mp3, asplit [a][out1]; [a] avectorscope=zoom=1.3:rc=2:gc=200:bc=10:rf=1:gf=8:bf=7 [out0]'
16.6.2 Команды
Этот фильтр поддерживает все вышеперечисленные параметры в виде команд, кроме параметров sizeи rate.
16.7 bench, abench
Эталонная часть filtergraph.
Фильтр принимает следующие параметры:
actionЗапустите или остановите таймер.
Доступные значения:
- '
start' Получите текущее время, установите его как метаданные кадра (с помощью клавиши
lavfi.bench.start_time) и перешлите кадр к следующему фильтру.- '
stop' Получите текущее время и извлеките
lavfi.bench.start_timeметаданные из метаданных входного кадра, чтобы получить разницу во времени. Затем распечатываются разница во времени, среднее, максимальное и минимальное время (соответственноt,avg,maxи ).minМетки времени выражаются в секундах.
- '
16.7.1 Примеры
- Эталонный селективный цветной фильтр:
bench=start,selectivecolor=reds=-.2 .12 -.49,bench=stop
16.8 concat
Объединяйте аудио- и видеопотоки, объединяя их один за другим.
Фильтр работает на сегментах синхронизированных видео- и аудиопотоков. Все сегменты должны иметь одинаковое количество потоков каждого типа, и это также будет количество потоков на выходе.
Фильтр принимает следующие параметры:
nУстановите количество сегментов. По умолчанию 2.
vУстановите количество выходных видеопотоков, то есть количество видеопотоков в каждом сегменте. По умолчанию 1.
aУстановите количество выходных аудиопотоков, то есть количество аудиопотоков в каждом сегменте. По умолчанию 0.
unsafeАктивировать небезопасный режим: не сбой, если сегменты имеют другой формат.
У фильтра есть v+ aвыходы: сначала vвидеовыходы, потом
aаудиовыходы.
Есть nx( v+ a) входов: сначала входы для первого сегмента в том же порядке, что и выходы, затем входы для второго сегмента и т. д.
Связанные потоки не всегда имеют одинаковую продолжительность по разным причинам, в том числе из-за размера кадра кодека или небрежного авторинга. По этой причине связанные синхронизированные потоки (например, видео и его звуковая дорожка) должны быть объединены одновременно. Фильтр concat будет использовать длительность самого длинного потока в каждом сегменте (кроме последнего) и, при необходимости, заполнять более короткие аудиопотоки тишиной.
Чтобы этот фильтр работал правильно, все сегменты должны начинаться с отметки времени 0.
Все соответствующие потоки должны иметь одинаковые параметры во всех сегментах; система фильтрации автоматически выберет общий формат пикселей для видеопотоков и общий формат выборки, частоту дискретизации и расположение каналов для аудиопотоков, но другие настройки, такие как разрешение, должны быть явно преобразованы пользователем.
Различные частоты кадров допустимы, но приведут к переменной частоте кадров на выходе; не забудьте настроить выходной файл для его обработки.
16.8.1 Примеры
- Объедините вступление, эпизод и концовку, все в двуязычной версии (видео в потоке 0, аудио в потоках 1 и 2):
ffmpeg -i opening.mkv -i episode.mkv -i ending.mkv -filter_complex \ '[0:0] [0:1] [0:2] [1:0] [1:1] [1:2] [2:0] [2:1] [2:2] concat=n=3:v=1:a=2 [v] [a1] [a2]' \ -map '[v]' -map '[a1]' -map '[a2]' output.mkv - Объедините две части, обрабатывая звук и видео отдельно, используя (а) источники фильмов и настраивая разрешение:
movie=part1.mp4, scale=512:288 [v1] ; amovie=part1.mp4 [a1] ; movie=part2.mp4, scale=512:288 [v2] ; amovie=part2.mp4 [a2] ; [v1] [v2] concat [outv] ; [a1] [a2] concat=v=0:a=1 [outa]Обратите внимание, что рассинхронизация произойдет в стежке, если аудио- и видеопотоки не имеют одинаковой продолжительности в первом файле.
16.8.2 Команды
Этот фильтр поддерживает следующие команды:
nextЗакрыть текущий сегмент и перейти к следующему
16.9 ebur128
Фильтр сканера EBU R128. Этот фильтр берет аудиопоток и анализирует его уровень громкости. По умолчанию он регистрирует сообщение с частотой 10 Гц с мгновенной громкостью (обозначается M), кратковременной громкостью ( S), интегрированной громкостью ( I) и диапазоном громкости ( LRA).
Фильтр может анализировать только потоки, которые имеют формат выборки с плавающей запятой двойной точности. При необходимости входной поток будет преобразован в эту спецификацию. Пользователям может потребоваться вставить фильтры формата и/или выборки после этого фильтра, чтобы получить исходные параметры.
Фильтр также имеет видеовыход (см. videoопцию) с графиком в реальном времени для наблюдения за изменением громкости. Графика содержит зарегистрированное сообщение, упомянутое выше, поэтому оно больше не печатается, когда установлен этот параметр, если только не установлено подробное ведение журнала. Основная область графика содержит кратковременную громкость (3 секунды анализа), а датчик справа предназначен для мгновенной громкости (400 миллисекунд), но его можно дополнительно настроить для отображения кратковременной громкости (см gauge. ).
Зеленая область отмечает целевой диапазон +/- 1LU вокруг заданной громкости (по умолчанию -23LUFS, если не изменено с помощью target).
Дополнительную информацию о Рекомендации по громкости EBU R128 можно найти на http://tech.ebu.ch/loudness .
Фильтр принимает следующие параметры:
videoАктивируйте видеовыход. Аудиопоток передается без изменений независимо от того, установлена ​​эта опция или нет. Видеопоток будет первым выходным потоком, если он активирован. Значение по умолчанию
0.sizeУстановите размер видео. Этот параметр предназначен только для видео. Синтаксис этого параметра см. в разделе (ffmpeg-utils) «Размер видео» в руководстве по ffmpeg-utils . По умолчанию и минимальное разрешение
640x480.meterУстановите измеритель шкалы EBU. Значение по умолчанию
9. Распространенными значениями являются9и18, соответственно для измерителя шкалы EBU +9 и измерителя шкалы EBU +18. Допускается любое другое целочисленное значение из этого диапазона.metadataУстановите вставку метаданных. Если установлено значение
1, аудиовход будет сегментирован на выходные кадры по 100 мс, каждый из которых содержит различную информацию о громкости в метаданных. Все ключи метаданных имеют префиксlavfi.r128..Значение по умолчанию
0.framelogПринудительно установите уровень ведения журнала кадров.
Доступные значения:
- '
info' уровень регистрации информации
- '
verbose' подробный уровень ведения журнала
По умолчанию уровень ведения журнала установлен на
info. Еслиvideoилиmetadataпараметры установлены, он переключается наverbose.- '
peakУстановите пиковый режим(ы).
Доступные режимы могут суммироваться (опция является
flagтипом). Возможные значения:- '
none' Отключите любой пиковый режим (по умолчанию).
- '
sample' Включите режим выборки пика.
Простой пиковый режим с поиском более высокого значения выборки. Он регистрирует сообщение для пика выборки (обозначается
SPK).- '
true' Включите режим истинного пика.
Если этот параметр включен, поиск пиков выполняется в версии входного потока с избыточной дискретизацией для повышения точности пиков. Он регистрирует сообщение для истинного пика. (обозначается
TPK) и истинного пика на кадр (обозначаетсяFTPK). Для этого режима требуется сборка с расширениемlibswresample.
- '
dualmonoОтноситесь к входным монофоническим файлам как к «двойному моно». Если монофонический файл предназначен для воспроизведения на стереосистеме, его измерение EBU R128 будет некорректным для восприятия. Если установлено значение
true, эта опция компенсирует этот эффект. Этот параметр не влияет на многоканальные входные файлы.panlawУстановите специальный закон панорамирования, который будет использоваться для измерения двойных монофонических файлов. Этот параметр является необязательным и имеет значение по умолчанию -3,01 дБ.
targetУстановите определенный целевой уровень (в LUFS), используемый в качестве относительного нуля в визуализации. Этот параметр является необязательным и имеет значение по умолчанию -23LUFS, как указано в EBU R128. Однако для материалов, опубликованных в Интернете, может быть предпочтительнее уровень -16LUFS (например, для использования с подкастами или видеоплатформами).
gaugeУстановите значение, отображаемое датчиком. Допустимые значения:
momentaryи 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и .addfunctionКакую функцию использовать при сравнении значения метаданных и
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Временная база входных временных меток.
ptsPTS (отметка времени представления) отфильтрованного кадра, выраженная в
TBединицах. Это NAN, если не определено.tPTS отфильтрованного кадра, выраженное в секундах. Это NAN, если не определено.
prev_ptsPTS ранее отфильтрованного кадра. Это NAN, если не определено.
prev_selected_ptsPTS последнего ранее отфильтрованного кадра. Это NAN, если не определено.
prev_selected_tPTS последнего ранее выбранного кадра, выраженное в секундах. Это NAN, если не определено.
start_ptsПервый PTS в потоке, не являющийся NAN. Он остается NAN, если не найден.
start_tПервый PTS в секундах в потоке, который не является NAN. Он остается NAN, если не найден.
pict_type (video only)Тип отфильтрованного кадра. Он может принимать одно из следующих значений:
IPBSSISPBI
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Частота дискретизации звука.
STARTPTSPTS первого кадра.
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_vbar_vоцененное выражениеfrequency, freq, fчастота, на которой он оценивается
timeclamp, tcстоимость
timeclampопциона
и функции:
a_weighting(f)A-взвешивание равной громкости
b_weighting(f)B-взвешивание равной громкости
c_weighting(f)C-взвешивание равной громкости.
Значение по умолчанию
16.bar_v, volume2Задайте выражение объема гистограммы. Он может содержать переменные:
sono_vsono_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используйте параметр .axisfilefontУкажите шаблон 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.
По умолчанию
2048win_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