Зміст
- 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 Description
У цьому документі описано фільтри, джерела та приймачі, надані бібліотекою libavfilter.
2 Filtering Introduction
Фільтрування у FFmpeg увімкнено через бібліотеку libavfilter.
У libavfilter фільтр може мати кілька входів і кілька виходів. Щоб проілюструвати можливі речі, ми розглянемо наступний фільтр-граф.
[головний]
вхід --> розділити ---------------------> накладення --> вихід
| ^
|[tmp] [фліп]|
+-----> кадрування --> 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 graph2dot
Thegraph2dotпрограма, що входить до складу FFmpegtools
каталог можна використовувати для аналізу опису filtergraph і видачі відповідного текстового представлення мовою точок.
Виклик команди:
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 Filtergraph description
Фільтрограф — це орієнтований граф зв’язаних фільтрів. Він може містити цикли, і між парою фільтрів може бути кілька зв’язків. Кожна ланка має одну вхідну площадку з одного боку, що з’єднує її з одним фільтром, від якого вона отримує вхідний сигнал, і одну вихідну площадку з іншого боку, що з’єднує її з одним фільтром, який приймає його вихід.
Кожен фільтр у filtergraph є екземпляром класу фільтра, зареєстрованого в програмі, який визначає функції та кількість вхідних і вихідних майданчиків фільтра.
Фільтр без вхідних майданчиків називається «джерелом», а фільтр без вихідних майданчиків називається «приймачем».
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;
Ось опис BNF синтаксису filtergraph:
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
Композиція опису фільтра передбачає кілька рівнів екранування. Перегляньте (ffmpeg-utils) розділ «Квотування та екранування» в посібнику ffmpeg-utils(1) для отримання додаткової інформації про використану процедуру екранування.
Екранування першого рівня впливає на вміст кожного значення опції фільтра, яке може містити спеціальний символ, що :використовується для розділення значень, або один із екранованих символів \'.
Екранування другого рівня впливає на весь опис фільтра, який може містити екрановані символи \'або спеціальні символи [],;, що використовуються в описі filtergraph.
Нарешті, коли ви вказуєте filtergraph у командному рядку оболонки, вам потрібно виконати третій рівень екранування для спеціальних символів оболонки, які містяться в ньому.
Наприклад, розглянемо наступний рядок, який буде вбудовано в опис фільтра drawtexttextзначення:
this is a 'string': may contain one, or more, special characters
Цей рядок містить 'спеціальний екранований символ і
:спеціальний символ, тому його потрібно екранувати таким чином:
text=this is a \'string\'\: may contain one, or more, special characters
Під час вбудовування опису фільтра в опис filtergraph необхідний другий рівень екранування, щоб екранувати всі спеціальні символи filtergraph. Таким чином, наведений вище приклад виглядає так:
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 Timeline editing
Деякі фільтри підтримують загальнийenableваріант. Для фільтрів, які підтримують редагування шкали часу, цей параметр можна встановити для виразу, який обчислюється перед надсиланням кадру до фільтра. Якщо оцінка відмінна від нуля, фільтр буде ввімкнено, інакше кадр буде надіслано без змін до наступного фільтра в діаграмі фільтрів.
Вираз приймає такі значення:
- '
t' позначка часу, виражена в секундах, NAN, якщо позначка часу введення невідома
- '
n' порядковий номер вхідного кадру, починаючи з 0
- '
pos' позиція у файлі вхідного кадру, NAN, якщо невідома
- '
w' - '
h' ширина та висота вхідного кадру, якщо відео
Крім того, ці фільтри підтримують anenableкоманда, яку можна використовувати для повторного визначення виразу.
Як і будь-який інший варіант фільтрації,enableваріант дотримується тих же правил.
Наприклад, щоб увімкнути фільтр розмиття ( smartblur ) від 10 секунд до 3 хвилин, а фільтр кривих , починаючи з 3 секунд:
smartblur = enable='between(t,10,3*60)',
curves = enable='gte(t,3)' : preset=cross_process
Перегляньте ffmpeg -filters, які фільтри підтримують шкалу часу.
6 Changing options at runtime with a command
Деякі параметри можна змінити під час роботи фільтра за допомогою команди. Ці параметри позначені буквою T на виході
ffmpeg -h filter=<name of filter>. Ім’я команди – це ім’я параметра, а аргумент – нове значення.
7 Options for filters with several inputs (framesync)
Деякі фільтри з кількома входами підтримують загальний набір параметрів. Ці параметри можна встановити лише за назвою, а не за допомогою короткого позначення.
eof_actionДія, яку потрібно виконати, коли EOF зустрічається на вторинному вході; він приймає одне з наступних значень:
repeatПовторити останній кадр (за замовчуванням).
endallЗакінчити обидва потоки.
passПропустіть головний вхід.
shortestЯкщо встановлено значення 1, примусове завершення виведення, коли завершується найкоротший вхід. Значення за замовчуванням 0.
repeatlastЯкщо встановлено значення 1, фільтр змушує розширювати останній кадр вторинних потоків до кінця основного потоку. Значення 0 вимикає цю поведінку. Значення за замовчуванням 1.
8 Audio Filters
Коли ви налаштовуєте збірку 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здебільшого плавніше.mixСкільки використовувати стислий сигнал на виході. За замовчуванням — 1. Діапазон — від 0 до 1.
8.1.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
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Встановіть криву для переходу з перехресним затуханням для другого потоку.
Для опису доступних типів кривих див . опис фільтра afade .
8.4.1 Examples
- Перехресне затухання від одного входу до іншого:
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 Examples
- Розділіть вхідний аудіопотік на дві смуги (низьку та високу) з роздільною частотою 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
Зменшити роздільну здатність звуку в бітах.
Цей фільтр є подрібнювачем біт з розширеною функціональністю. Подрібнювач бітів використовується для звукового зменшення кількості бітів, якими дискретизується аудіосигнал. Це зовсім не змінює бітову глибину, а лише створює ефект. Матеріал зі зниженою розрядністю звучить більш жорстко і «цифрово». Цей фільтр здатний навіть округляти до безперервних значень замість дискретних бітових глибин. Крім того, він має D/C зміщення, яке призводить до різного подрібнення нижньої та верхньої половини сигналу. Параметр Anti-Aliasing здатний створювати «м'якші» нищівні звуки.
Ще однією особливістю цього фільтра є логарифмічний режим. Цей параметр змінює лінійні відстані між бітами на логарифмічні. Результатом є набагато більш «природне» звучання дробарки, яка, наприклад, не пропускає низькі сигнали. Людське вухо має логарифмічне сприйняття, тому таке дроблення набагато приємніше. Логарифмічне дроблення також може отримати згладжування.
Фільтр приймає такі параметри:
level_inВстановіть рівень.
level_outВстановіть рівень.
bitsВстановити розрядність.
mixВстановіть кількість змішування.
modeМоже бути лінійним:
linабо логарифмічним:log.dcВстановити DC.
aaВстановити згладжування.
samplesВстановити зменшення вибірки.
lfoУвімкнути LFO. За замовчуванням вимкнено.
lforangeВстановити діапазон LFO.
lforateВстановити швидкість LFO.
8.6.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
8.7 acue
Відкласти фільтрацію аудіо до певної позначки часу настінного годинника. Перегляньте фільтр репліки .
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 Examples
- Затримайте перший канал на 1,5 секунди, третій канал на 0,5 секунди та залиште другий канал (і будь-які інші канали, які можуть бути присутні) без змін.
adelay=1500|0|500 - Затримайте другий канал на 500 вибірок, третій канал на 700 вибірок і залиште перший канал (та будь-які інші канали, які можуть бути присутні) без змін.
adelay=0|500S|700S - Затримка всіх каналів на однакову кількість вибірок:
adelay=delays=64S:all=1
8.12 adenorm
Усуньте відхилення в аудіо, додавши надзвичайно низький рівень шуму.
Цей фільтр повинен бути розміщений перед будь-яким фільтром, який може виробляти денормальні зміни.
Нижче наведено опис прийнятих параметрів.
levelВстановіть рівень доданого шуму в дБ. Типовим є
-351. Дозволений діапазон від -451 до -90.typeВстановити тип доданого шуму.
dcДодайте сигнал постійного струму.
acДодайте сигнал змінного струму.
squareДодати квадратний сигнал.
pulseДодайте імпульсний сигнал.
Типовим є
dc.
8.12.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
8.15 adynamicsmooth
Застосуйте динамічне згладжування до вхідного аудіопотоку.
Нижче наведено опис прийнятих варіантів.
sensitivityВстановіть ступінь чутливості до коливань частоти. За замовчуванням — 2. Дозволений діапазон — від 0 до 1e+06.
basefreqВстановіть базову частоту для згладжування. Значення за замовчуванням – 22050. Дозволений діапазон – від 2 до 1e+06.
8.15.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
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 Examples
- Зробіть так, ніби інструментів у два рази більше, ніж насправді грає:
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виберіть Columbia.
emiвиберіть EMI.
bsiвиберіть BSI (78RPM).
riaaвиберіть RIAA.
cdвиберіть компакт-диск (CD).
50fmвиберіть 50 мкс (FM).
75fmвиберіть 75 мкс (FM).
50kfвиберіть 50 мкс (FM-KF).
75kfвиберіть 75 мкс (FM-KF).
8.17.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
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 Examples
- Половина обсягу:
aeval=val(ch)/2:c=same - Інвертувати фазу другого каналу:
aeval=val(0)|-val(1)
8.19 aexciter
Збудник використовується для отримання високого звуку, якого немає в оригінальному сигналі. Це робиться шляхом створення гармонійних спотворень сигналу, які обмежені в діапазоні та додаються до вихідного сигналу. Ексайтер підвищує верхню межу аудіосигналу без простого підвищення вищих частот, як це робив би еквалайзер, щоб створити більш «чіткий» або «яскравий» звук.
Фільтр приймає такі параметри:
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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
8.20.2 Examples
- Згасання в перші 15 секунд звуку:
afade=t=in:ss=0:d=15 - Згасання останніх 25 секунд 900-секундного аудіо:
afade=t=out:st=875:d=25
8.21 afftdn
Приглушення звукових зразків за допомогою ШПФ.
Нижче наведено опис прийнятих параметрів.
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 Commands
Цей фільтр підтримує деякі вищезазначені параметри як команди .
8.21.2 Examples
- Зменшіть білий шум на 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Встановіть дійсний вираз частотної області для кожного окремого каналу, розділеного символом «|». Типовим є "re". Якщо кількість вхідних каналів перевищує кількість виразів, для решти вихідних каналів використовується останній вказаний вираз.
imagУстановіть уявний вираз у частотній області для кожного окремого каналу, розділеного символом «|». Типовим є "im".
Кожен вираз у
realіimagможе містити такі константи та функції:srчастота дискретизації
bномер біну поточної частоти
nbкількість доступних бункерів
chномер каналу поточного виразу
chsкількість каналів
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 Examples
- Залиште майже лише низькі частоти в аудіо:
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
Застосуйте довільний фільтр кінцевої імпульсної характеристики.
Цей фільтр призначений для застосування довгих FIR-фільтрів, тривалістю до 60 секунд.
Його можна використовувати як компонент для цифрових кросоверних фільтрів, вирівнювання кімнати, усунення перехресних перешкод, синтезу хвильового поля, ауралізації, амбіофоніки, амбіоніки та просторування.
Цей фільтр використовує потоки, вищі за перший, як коефіцієнти FIR. Якщо не перший потік містить один канал, він використовуватиметься для всіх вхідних каналів у першому потоці, інакше кількість каналів у не першому потоці має бути такою самою, як кількість каналів у першому потоці.
Він приймає такі параметри:
dryВстановіть сухе посилення. Це встановлює посилення вхідного сигналу.
wetВстановіть вологе посилення. Це встановлює остаточне вихідне посилення.
lengthВстановіть довжину фільтра імпульсної характеристики. За замовчуванням 1, що означає, що обробляється весь ІЧ-протокол.
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 Examples
- Застосуйте реверберацію до потоку, використовуючи моно-ІЧ-файл як другий вхід, завершіть команду за допомогою 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)розділ «Макет каналу» в посібнику 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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
8.26 afwtdn
Зменшіть широкосмуговий шум із вхідних зразків за допомогою Wavelets.
Нижче наведено опис прийнятих варіантів.
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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
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. Типовим є
rms. Може бутиpeakабоrms.linkВиберіть, чи впливатиме на зниження середній рівень між усіма каналами чи гучніший канал. Типовим є
average. Може бутиaverageабоmaximum.
8.27.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
8.28 aiir
Застосуйте довільний фільтр нескінченної імпульсної характеристики.
Він приймає такі параметри:
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 Examples
- Застосуйте 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і шириною фільтра 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Встановити тип перетворення IIR-фільтра.
didiitditdiilattsvfzdf
precision, rВстановити точність фільтрації.
autoВиберіть автоматичний формат семплів залежно від фільтрів об’ємного звуку.
s16Завжди використовуйте 16-бітний знак.
s32Завжди використовуйте 32-розрядний знак.
f32Завжди використовуйте 32-бітове значення з плаваючою точкою.
f64Завжди використовуйте float 64-bit.
8.30.1 Commands
Цей фільтр підтримує такі команди:
frequency, fЗмінити частоту повного проходу. Синтаксис команди: "
frequency"width_type, tЗмінити allpass width_type. Синтаксис команди: "
width_type"width, wЗмінити ширину всіх проходів. Синтаксис команди: "
width"mix, mЗмініть загальну суміш. Синтаксис команди: "
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 Examples
- Об’єднайте два монофайли в стереопотік:
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
вхідні дані містять цілочисельні зразки , aresample буде автоматично вставлено для виконання перетворення на плаваючі зразки.
Наприклад
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 Commands
Цей фільтр підтримує такі команди:
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 Examples
- Менше підсилення на 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 Commands
Цей фільтр підтримує такі команди:
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
Зменшіть широкосмуговий шум у зразках аудіо за допомогою алгоритму нелокальних середніх.
Кожен зразок коригується шляхом пошуку інших зразків із подібним контекстом. Ця контекстна подібність визначається шляхом порівняння навколишніх частин розміру
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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
8.37 anlmf, anlms
Застосуйте нормалізований алгоритм найменшого середнього-(квадрати|четвертий) до першого аудіопотоку за допомогою другого аудіопотоку.
Цей адаптивний фільтр використовується для імітації бажаного фільтра шляхом знаходження коефіцієнтів фільтра, які стосуються створення найменшого середнього квадрата сигналу помилки (різниця між бажаним, 2-м вхідним аудіопотоком, і фактичним сигналом, 1-м вхідним аудіопотоком).
Нижче наведено опис прийнятих варіантів.
orderВстановити порядок фільтрів.
muВстановіть фільтр mu.
epsВстановіть фільтр eps.
leakageВстановити протікання фільтра.
out_modeВін приймає такі значення:
iПройдіть 1-й вхід.
dПройдіть 2-й вхід.
oПередайте відфільтровані проби.
nПередача різниці між бажаними та відфільтрованими зразками.
Значення за замовчуванням:
o.
8.37.1 Examples
- Одним із багатьох застосувань цього фільтра є зменшення шуму, вхідний звук фільтрується за однаковими зразками, які затримуються на фіксовану величину, один із таких прикладів для стереоаудіо:
asplit[a][b],[a]adelay=32S|32S[a],[b][a]anlms=order=128:leakage=0.0005:mu=.5:out_mode=o
8.37.2 Commands
Цей фільтр підтримує ті самі команди, що й параметри, за винятком параметра 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 Examples
- Додайте 1024 зразки тиші в кінець введення:
apad=pad_len=1024 - Переконайтеся, що аудіовихід міститиме принаймні 10 000 семплів, за потреби доповніть вхід тишею:
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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
8.42 apsyclip
Застосуйте психоакустичний кліпер для вхідного аудіопотоку.
Фільтр приймає такі параметри:
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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
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, ms або Hz. За замовчуванням hz.
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) «Параметри Resampler» у посібнику ffmpeg-resampler(1)
, щоб отримати повний список підтримуваних параметрів.
8.44.1 Examples
- Повторіть вибірку вхідного звуку до 44100 Гц:
aresample=44100 - Розтягнути/стиснути вибірки до заданих часових позначок із компенсацією максимум 1000 вибірок на секунду:
aresample=async=1000
8.45 areverse
Перевернути аудіозапис.
Попередження: цьому фільтру потрібна пам’ять для буферизації всього кліпу, тому пропонується обрізання.
8.45.1 Examples
- Візьміть перші 5 секунд кліпу та переверніть його назад.
atrim=end=5,areverse
8.46 arnndn
Зменшіть шум від мови за допомогою повторюваних нейронних мереж.
Цей фільтр приймає такі параметри:
model, mНалаштувати файл моделі поїзда для завантаження. Ця опція завжди потрібна.
mixВстановіть, скільки змішувати відфільтровані зразки в кінцевий результат. Дозволений діапазон — від -1 до 1. Значення за замовчуванням — 1. Від’ємні значення є спеціальними, вони встановлюють, скільки фільтрованого шуму слід утримувати в кінцевому виході фільтра. Встановіть цей параметр на -1, щоб почути фактичний шум, видалений із вхідного сигналу.
8.46.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
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Встановити тип soft-clipping.
Він приймає такі значення:
hardtanhatancubicexpalgquinticsinerf
thresholdВстановіть поріг, з якого починати відсікання. Значення за замовчуванням 0 дБ або 1.
outputВстановити посилення, застосоване до виходу. Значення за замовчуванням 0 дБ або 1.
paramВстановіть додатковий параметр, який керує сигмовидною функцією.
oversampleВстановити коефіцієнт передискретизації.
8.51.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
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Коротка довжина вікна в секундах, що використовується для вимірювання пікового та найнижчого RMS. За замовчуванням
0.05(50 мілісекунд). Дозволений діапазон становить[0 - 10].metadata-
Налаштувати введення метаданих. Усі ключі метаданих мають префікс
lavfi.astats.X, деXномер каналу, починаючи з 1, або рядокOverall. За замовчуванням вимкнено.Доступні ключі для кожного каналу: DC_offset Min_level Max_level Min_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 Zero_crossings_rate Number_of_Nafnormals Number_of_
і для загального: 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Пікові та найнижчі значення середньоквадратичного рівня, виміряні протягом короткого вікна.
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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
8.56 asubcut
Обрізати частоти сабвуфера.
Цей фільтр дозволяє встановлювати спеціальний, більш крутий спад, ніж фільтр високих частот, і, таким чином, може більше послабити частотний вміст у смузі зупинки.
Фільтр приймає такі параметри:
cutoffВстановіть частоту зрізу в Герцах. Дозволений діапазон — від 2 до 200. Значення за замовчуванням — 20.
orderВстановити порядок фільтрів. Доступні значення від 3 до 20. Значення за замовчуванням 10.
levelВстановити рівень посилення вхідного сигналу. Дозволений діапазон — від 0 до 1. Значення за замовчуванням — 1.
8.56.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
8.57 asupercut
Вирізати суперчастоти.
Фільтр приймає такі параметри:
cutoffВстановіть частоту зрізу в Герцах. Дозволений діапазон – від 20000 до 192000. Значення за замовчуванням – 20000.
orderВстановити порядок фільтрів. Доступні значення від 3 до 20. Значення за замовчуванням 10.
levelВстановити рівень посилення вхідного сигналу. Дозволений діапазон — від 0 до 1. Значення за замовчуванням — 1.
8.57.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
8.58 asuperpass
Застосуйте смуговий фільтр Баттерворта високого порядку.
Фільтр приймає такі параметри:
centerfВстановіть центральну частоту в Герцах. Дозволений діапазон — від 2 до 999999. Значення за замовчуванням — 1000.
orderВстановити порядок фільтрів. Доступні значення від 4 до 20. Значення за замовчуванням — 4.
qfactorВстановити Q-фактор. Дозволений діапазон — від 0,01 до 100. Значення за замовчуванням — 1.
levelВстановити рівень посилення вхідного сигналу. Дозволений діапазон — від 0 до 2. Значення за замовчуванням — 1.
8.58.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
8.59 asuperstop
Застосуйте смуговий фільтр Баттерворта високого порядку.
Фільтр приймає такі параметри:
centerfВстановіть центральну частоту в Герцах. Дозволений діапазон — від 2 до 999999. Значення за замовчуванням — 1000.
orderВстановити порядок фільтрів. Доступні значення від 4 до 20. Значення за замовчуванням — 4.
qfactorВстановити Q-фактор. Дозволений діапазон — від 0,01 до 100. Значення за замовчуванням — 1.
levelВстановити рівень посилення вхідного сигналу. Дозволений діапазон — від 0 до 2. Значення за замовчуванням — 1.
8.59.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
8.60 atempo
Відрегулюйте темп звуку.
Фільтр приймає тільки один параметр, темп звуку. Якщо не вказано, фільтр припускатиме номінальний темп 1,0. Темп має бути в діапазоні [0,5, 100,0].
Зауважте, що темп більше 2 пропустить деякі семпли, а не змішає їх. Якщо з будь-якої причини це викликає занепокоєння, завжди можна послідовно підключити кілька екземплярів темпу, щоб досягти бажаного темпу продукту.
8.60.1 Examples
- Уповільнення звуку до 80% темпу:
atempo=0.8 - Щоб прискорити звук до 300% темпу:
atempo=3 - Щоб пришвидшити аудіо до 300% темпу шляхом послідовного з’єднання двох примірників темпу:
atempo=sqrt(3),atempo=sqrt(3)
8.60.2 Commands
Цей фільтр підтримує такі команди:
tempoЗмінити коефіцієнт масштабування темпу фільтра. Синтаксис команди: "
tempo"
8.61 atilt
Застосувати спектральний фільтр нахилу до аудіопотоку.
Цей фільтр застосовує будь-який нахил спаду спектра в будь-якому заданому діапазоні частот.
Фільтр приймає такі параметри:
freqВстановіть центральну частоту нахилу в Гц. За замовчуванням 10000 Гц.
slopeВстановіть напрямок нахилу схилу. За замовчуванням 0. Дозволений діапазон від -1 до 1.
widthВстановити ширину нахилу. За замовчуванням 1000. Дозволений діапазон від 100 до 10000.
orderВстановити порядок нахилу фільтра.
levelВстановити рівень вхідної гучності. Дозволений діапазон від 0 до 4. За замовчуванням 1.
8.61.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
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 Examples
- Розрахувати кореляцію між каналами в стереоаудіопотоці:
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Встановити тип перетворення IIR-фільтра.
didiitditdiilattsvfzdf
precision, rВстановити точність фільтрації.
autoВиберіть автоматичний формат семплів залежно від фільтрів об’ємного звуку.
s16Завжди використовуйте 16-бітний знак.
s32Завжди використовуйте 32-розрядний знак.
f32Завжди використовуйте 32-бітове значення з плаваючою точкою.
f64Завжди використовуйте float 64-bit.
block_size, bВстановіть розмір блоку, який використовується для зворотної IIR обробки. Якщо це значення встановлено на досить високе значення (вище, ніж довжина імпульсної відповіді, скорочена, коли вона досягає майже нульових значень), фільтрація стане лінійною фазою, інакше, якщо недостатньо великою, вона призведе до неприємних артефактів.
Зауважте, що затримка фільтра складатиме саме стільки вибірок, якщо встановлено ненульове значення.
8.64.1 Commands
Цей фільтр підтримує такі команди:
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Встановити тип перетворення IIR-фільтра.
didiitditdiilattsvfzdf
precision, rВстановити точність фільтрації.
autoВиберіть автоматичний формат семплів залежно від фільтрів об’ємного звуку.
s16Завжди використовуйте 16-бітний знак.
s32Завжди використовуйте 32-розрядний знак.
f32Завжди використовуйте 32-бітове значення з плаваючою точкою.
f64Завжди використовуйте float 64-bit.
block_size, bВстановіть розмір блоку, який використовується для зворотної IIR обробки. Якщо це значення встановлено на досить високе значення (вище, ніж довжина імпульсної відповіді, скорочена, коли вона досягає майже нульових значень), фільтрація стане лінійною фазою, інакше, якщо недостатньо великою, вона призведе до неприємних артефактів.
Зауважте, що затримка фільтра складатиме саме стільки вибірок, якщо встановлено ненульове значення.
8.65.1 Commands
Цей фільтр підтримує такі команди:
frequency, fЗмінити частоту відхилення смуги. Синтаксис команди: "
frequency"width_type, tЗмінити bandreject width_type. Синтаксис команди: "
width_type"width, wЗмінити ширину смуги. Синтаксис команди: "
width"mix, mЗмінити мікс bandreject. Синтаксис команди: "
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Встановити тип перетворення IIR-фільтра.
didiitditdiilattsvfzdf
precision, rВстановити точність фільтрації.
autoВиберіть автоматичний формат семплів залежно від фільтрів об’ємного звуку.
s16Завжди використовуйте 16-бітний знак.
s32Завжди використовуйте 32-розрядний знак.
f32Завжди використовуйте 32-бітове значення з плаваючою точкою.
f64Завжди використовуйте float 64-bit.
block_size, bВстановіть розмір блоку, який використовується для зворотної IIR обробки. Якщо це значення встановлено на досить високе значення (вище, ніж довжина імпульсної відповіді, скорочена, коли вона досягає майже нульових значень), фільтрація стане лінійною фазою, інакше, якщо недостатньо великою, вона призведе до неприємних артефактів.
Зауважте, що затримка фільтра складатиме саме стільки вибірок, якщо встановлено ненульове значення.
8.66.1 Commands
Цей фільтр підтримує такі команди:
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 Commands
Цей фільтр підтримує такі команди:
a0a1a2b0b1b2Змінити біквадратичний параметр. Синтаксис команди: "
value"mix, mСкільки використовувати відфільтрований сигнал на виході. За замовчуванням — 1. Діапазон — від 0 до 1.
channels, cВкажіть, які канали фільтрувати, за замовчуванням фільтруються всі доступні.
normalize, nНормалізувати біквадратичні коефіцієнти, за замовчуванням вимкнено. Увімкнення нормалізує амплітудну характеристику при постійному струмі до 0 дБ.
transform, aВстановити тип перетворення IIR-фільтра.
didiitditdiilattsvfzdf
precision, rВстановити точність фільтрації.
autoВиберіть автоматичний формат семплів залежно від фільтрів об’ємного звуку.
s16Завжди використовуйте 16-бітний знак.
s32Завжди використовуйте 32-розрядний знак.
f32Завжди використовуйте 32-бітове значення з плаваючою точкою.
f64Завжди використовуйте float 64-bit.
block_size, bВстановіть розмір блоку, який використовується для зворотної IIR обробки. Якщо це значення встановлено на досить високе значення (вище, ніж довжина імпульсної відповіді, скорочена, коли вона досягає майже нульових значень), фільтрація стане лінійною фазою, інакше, якщо недостатньо великою, вона призведе до неприємних артефактів.
Зауважте, що затримка фільтра складатиме саме стільки вибірок, якщо встановлено ненульове значення.
8.68 bs2b
Перетворення стереозвуку Bauer у бінауральне, що покращує прослуховування стереозаписів у навушниках.
Щоб увімкнути компіляцію цього фільтра, вам потрібно налаштувати FFmpeg за допомогою
--enable-libbs2b.
Він приймає такі параметри:
profileПопередньо встановлений рівень перехресної подачі.
defaultРівень за замовчуванням (fcut=700, feed=50).
cmoyСхема Chu Moy (fcut=700, feed=60).
jmeierСхема Яна Мейера (fcut=650, feed=95).
fcutЧастота зрізу (в Гц).
feedРівень подачі (в Гц).
8.69 channelmap
Перепризначте вхідні канали до нових місць.
Він приймає такі параметри:
mapКарта каналів від входу до виходу. Аргументом є розділений '|' список відображень, кожне у формі або . може бути або назвою вхідного каналу (наприклад, FL для переднього лівого боку), або його індексом у макеті вхідного каналу. це ім'я вихідного каналу або його індекс у схемі вихідного каналу. Якщо не задано, це неявно є індексом, який починається з нуля та збільшується на одиницю для кожного відображення.
in_channel-out_channelin_channelin_channelout_channelout_channelchannel_layoutСхема каналу вихідного потоку.
Якщо відображення відсутнє, фільтр неявно зіставлятиме вхідні канали з вихідними, зберігаючи індекси.
8.69.1 Examples
- Наприклад, якщо припустити, що вхідний файл 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 Examples
- Наприклад, якщо припустити, що вхідний MP3-файл стерео,
ffmpeg -i in.mp3 -filter_complex channelsplit out.mkvстворить вихідний файл Matroska з двома аудіопотоками, один з яких містить лише лівий канал, а інший – правий.
- Розділіть файл WAV 5.1 на файли для кожного каналу:
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 з файлу 5.1 WAV:
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 Examples
- Одна затримка:
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 Examples
- Створіть музику як з тихими, так і з гучними фрагментами, придатною для прослуховування в галасливому середовищі:
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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
8.74 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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
8.75 crystalizer
Простий алгоритм для підвищення різкості звуку.
Цей фільтр лінійно збільшує відмінності між кожним зразком аудіо.
Фільтр приймає такі параметри:
iВстановлює інтенсивність ефекту (за замовчуванням: 2,0). Має бути в діапазоні від -10,0 до 0 (без змін звуку) до 10,0 (максимальний ефект). Для зворотної фільтрації використовуйте від’ємне значення.
cУвімкнути відсікання. За замовчуванням увімкнено.
8.75.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
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Передайте тільки ess.
Значення за замовчуванням:
o.
8.78 dialoguenhance
Покращте діалог у стереозвуку.
Цей фільтр приймає стереофонічний вхід і створює канали об’ємного звуку (3.0). Нещодавно створений передній центральний канал має покращений мовний діалог, спочатку доступний в обох стереоканалах. Цей фільтр виводить передні лівий і передній правий канали так само, як доступний у стереовході.
Фільтр приймає такі параметри:
originalВстановіть вихідний центральний коефіцієнт, щоб зберегти вихід на передньому центральному каналі. Дозволений діапазон — від 0 до 1. Значення за замовчуванням — 1.
enhanceВстановіть коефіцієнт посилення діалогу для виведення переднього центрального каналу. Дозволений діапазон — від 0 до 3. Значення за замовчуванням — 1.
voiceВстановіть коефіцієнт виявлення голосу. Дозволений діапазон — від 2 до 32. Значення за замовчуванням — 2.
8.78.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
8.79 drmeter
Вимірювання динамічного діапазону звуку.
Значення DR 14 і вище зустрічаються в дуже динамічному матеріалі. DR від 8 до 13 міститься в перехідному матеріалі. А все, що менше 8, має дуже погану динаміку і дуже стиснуте.
Фільтр приймає такі параметри:
lengthУстановіть довжину вікна в секундах, щоб розділити аудіо на сегменти однакової довжини. За замовчуванням 3 секунди.
8.80 dynaudnorm
Динамічний нормалізатор звуку.
Цей фільтр застосовує певну величину підсилення до вхідного аудіо, щоб привести його пікову величину до цільового рівня (наприклад, 0 dBFS). Однак, на відміну від більш «простих» алгоритмів нормалізації, Dynamic Audio Normalizer *динамічно* повторно регулює коефіцієнт посилення для вхідного аудіо. Це дозволяє застосувати додаткове посилення до «тихих» ділянок аудіо, уникаючи спотворень або відсікання «гучних» ділянок. Іншими словами: Dynamic Audio Normalizer «вирівнює» гучність тихих і гучних секцій, у тому сенсі, що гучність кожної секції буде приведена до одного цільового рівня. Однак зауважте, що Dynamic Audio Normalizer досягає цієї мети *без* застосування «стиснення динамічного діапазону». Він збереже 100% динамічного діапазону *в* кожній частині аудіофайлу.
framelen, fВстановіть довжину кадру в мілісекундах. У діапазоні від 10 до 8000 мілісекунд. За замовчуванням 500 мілісекунд. Dynamic Audio Normalizer обробляє вхідне аудіо невеликими фрагментами, які називаються кадрами. Це необхідно, оскільки пікова величина не має значення лише для одного значення вибірки. Замість цього нам потрібно визначити пікову величину для безперервної послідовності значень вибірки. У той час як «стандартний» нормалізатор просто використовує пікову величину всього файлу, Dynamic Audio Normalizer визначає пікову величину окремо для кожного кадру. Довжина кадру вказується в мілісекундах. За замовчуванням 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 визначає максимально можливий (локальний) коефіцієнт підсилення для кожного вхідного кадру, тобто максимальний коефіцієнт підсилення, який не призводить до обрізання чи спотворення. Максимальний коефіцієнт підсилення визначається вибіркою найвищої величини кадру. Однак Dynamic Audio Normalizer додатково обмежує максимальний коефіцієнт посилення кадру попередньо визначеним (глобальним) максимальним коефіцієнтом посилення. Це робиться для того, щоб уникнути надмірних коефіцієнтів підсилення в «тихих» або майже тихих кадрах. За замовчуванням максимальний коефіцієнт посилення становить 10,0. Для більшості входів значення за замовчуванням має бути достатнім, і зазвичай не рекомендується збільшувати це значення. Однак для вхідного сигналу з надзвичайно низьким загальним рівнем гучності може знадобитися дозволити навіть вищі коефіцієнти посилення. Примітка, однак, що Dynamic Audio Normalizer не просто застосовує «жорстке» порогове значення (тобто відсікає значення вище порогового значення). Замість цього буде застосована «сигмоїдна» порогова функція. Таким чином, коефіцієнти підсилення плавно наближаються до порогового значення, але ніколи не перевищують це значення.
targetrms, rВстановіть цільову RMS. В діапазоні від 0,0 до 1,0. За замовчуванням 0.0 - вимкнено. За замовчуванням Dynamic Audio Normalizer виконує «пікову» нормалізацію. Це означає, що максимальний локальний коефіцієнт посилення для кожного кадру визначається (тільки) вибіркою найвищої величини кадру. Таким чином, зразки можуть бути максимально посилені без перевищення максимального рівня сигналу, тобто без обрізання. Однак за бажанням Dynamic Audio Normalizer також може враховувати середнє квадратичне значення кадру, скорочено RMS. В електротехніці RMS зазвичай використовується для визначення потужності сигналу, що змінюється в часі. Тому вважається, що RMS є кращим наближенням «сприйнятої гучності», ніж просто дивитися на пікову величину сигналу. Отже, регулюючи всі кадри до постійного середньоквадратичного значення, рівномірний "
coupling, nУвімкнути зв'язок каналів. За замовчуванням увімкнено. За замовчуванням Dynamic Audio Normalizer підсилює всі канали на однакову величину. Це означає, що до всіх каналів буде застосовано однаковий коефіцієнт посилення, тобто максимально можливий коефіцієнт посилення визначається «найгучнішим» каналом. Однак під час деяких записів може трапитися так, що гучність різних каналів буде нерівномірною, наприклад, один канал може бути «тише», ніж інший(і). У цьому випадку цю опцію можна використати для вимкнення з’єднання каналів. Таким чином, коефіцієнт посилення буде визначено незалежно для кожного каналу, залежно лише від вибірки найвищої величини окремого каналу. Це дозволяє гармонізувати гучність різних каналів.
correctdc, cУвімкнути корекцію зміщення постійного струму. За замовчуванням вимкнено. Звуковий сигнал (у часовій області) — це послідовність значень вибірки. У Dynamic Audio Normalizer ці зразкові значення представлено в діапазоні від -1,0 до 1,0, незалежно від вихідного формату введення. Зазвичай аудіосигнал або "форма хвилі" має бути зосереджена навколо нульової точки. Це означає, що якщо ми обчислюємо середнє значення всіх зразків у файлі або в одному кадрі, то результат має бути 0,0 або принаймні дуже близьким до цього значення. Проте, якщо є значне відхилення середнього значення від 0,0 у позитивному або негативному напрямку, це називається зміщенням постійного струму або зсувом постійного струму. Оскільки зсув постійного струму явно небажаний, Dynamic Audio Normalizer забезпечує додаткову корекцію зсуву постійного струму. З увімкненою корекцією зміщення постійного струму, Dynamic Audio Normalizer визначатиме середнє значення або зміщення «поправки постійного струму» кожного вхідного кадру та віднімає це значення з усіх значень вибірки кадру, що гарантує, що ці вибірки знову будуть центруватися навколо 0,0. Крім того, щоб уникнути «розривів» на межах кадру, значення зміщення корекції постійного струму будуть плавно інтерполюватись між сусідніми кадрами.
altboundary, bУвімкнути альтернативний режим меж. За замовчуванням вимкнено. Dynamic Audio Normalizer враховує певне сусідство навколо кожного кадру. Це включає попередні кадри, а також наступні кадри. Однак для «граничних» кадрів, розташованих на самому початку і в самому кінці аудіофайлу, доступні не всі сусідні кадри. Зокрема, для перших кількох кадрів у аудіофайлі попередні кадри невідомі. І, аналогічно, для кількох останніх кадрів у аудіофайлі наступні кадри невідомі. Таким чином, виникає питання, які коефіцієнти підсилення слід прийняти для відсутніх кадрів у «граничній» області. 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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
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Встановити тип перетворення IIR-фільтра.
didiitditdiilattsvfzdf
precision, rВстановити точність фільтрації.
autoВиберіть автоматичний формат семплів залежно від фільтрів об’ємного звуку.
s16Завжди використовуйте 16-бітний знак.
s32Завжди використовуйте 32-розрядний знак.
f32Завжди використовуйте 32-бітове значення з плаваючою точкою.
f64Завжди використовуйте float 64-bit.
block_size, bВстановіть розмір блоку, який використовується для зворотної IIR обробки. Якщо це значення встановлено на досить високе значення (вище, ніж довжина імпульсної відповіді, скорочена, коли вона досягає майже нульових значень), фільтрація стане лінійною фазою, інакше, якщо недостатньо великою, вона призведе до неприємних артефактів.
Зауважте, що затримка фільтра складатиме саме стільки вибірок, якщо встановлено ненульове значення.
8.82.1 Examples
- Послаблення на 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 Commands
Цей фільтр підтримує такі команди:
frequency, fЗміна частоти еквалайзера. Синтаксис команди: "
frequency"width_type, tЗмінити тип ширини еквалайзера. Синтаксис команди: "
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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
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вікно hann (за замовчуванням)
hammingзабивання вікна
blackmanвікно Блекмана
nuttall33-членне неперервне 1-е похідне мінімальне вікно
mnuttall3мінімальне тричленне розривне мінімальне вікно
nuttall4-термове неперервне 1-е похідне мінімальне вікно
bnuttallмінімальне 4-членне розривне вікно nuttall (Blackman-nuttall).
bharrisвікно Блекмена-Харріса
tukeytukey вікно
fixedЯкщо ввімкнено, використовувати фіксовану кількість зразків аудіо. Це покращує швидкість під час фільтрації з великою затримкою. За замовчуванням вимкнено.
multiУвімкнути багатоканальне оцінювання посилення. За замовчуванням вимкнено.
zero_phaseУвімкніть режим нульової фази, віднявши мітку часу, щоб компенсувати затримку. За замовчуванням вимкнено.
scaleВстановити масштаб, який використовується посиленням. Допустимі значення:
linlinлінійна частота, лінійне посилення
linlogлінійна частота, логарифмічне (в дБ) посилення (за замовчуванням)
loglinлогарифмічна (в октавному масштабі, де 20 Гц дорівнює 0) частота, лінійне посилення
loglogлогарифмічна частота, логарифмічний посилення
dumpfileВстановити файл для дампа, підходить для gnuplot.
dumpscaleВстановити масштаб для файлу дампа. Прийнятні значення такі ж, як і параметр масштабу. Типовим є linlog.
fft2Увімкніть 2-канальне згортання за допомогою комплексного ШПФ. Це значно покращує швидкість. За замовчуванням вимкнено.
min_phaseУвімкнути мінімальну фазову імпульсну характеристику. За замовчуванням вимкнено.
8.84.1 Examples
- низькі частоти на 1000 Гц:
firequalizer=gain='if(lt(f,1000), 0, -INF)' - низькі частоти на 1000 Гц з gain_entry:
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 - НЧ на лівому каналі, ВЧ на правому каналі:
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
Декодує цифрові дані високої чіткості (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 Examples
- Повний приклад використання файлів wav як коефіцієнтів із фільтрами amovie для мікшування 7.1, кожен фільтр amovie використовує стереофайл із коефіцієнтами ІЧ як вхідні дані. У файлах наведено коефіцієнти для кожної позиції віртуального гучномовця:
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 як коефіцієнтів із фільтрами amovie для мікшування 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Встановити тип перетворення IIR-фільтра.
didiitditdiilattsvfzdf
precision, rВстановити точність фільтрації.
autoВиберіть автоматичний формат семплів залежно від фільтрів об’ємного звуку.
s16Завжди використовуйте 16-бітний знак.
s32Завжди використовуйте 32-розрядний знак.
f32Завжди використовуйте 32-бітове значення з плаваючою точкою.
f64Завжди використовуйте float 64-bit.
block_size, bВстановіть розмір блоку, який використовується для зворотної IIR обробки. Якщо це значення встановлено на досить високе значення (вище, ніж довжина імпульсної відповіді, скорочена, коли вона досягає майже нульових значень), фільтрація стане лінійною фазою, інакше, якщо недостатньо великою, вона призведе до неприємних артефактів.
Зауважте, що затримка фільтра складатиме саме стільки вибірок, якщо встановлено ненульове значення.
8.89.1 Commands
Цей фільтр підтримує такі команди:
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Карта каналів від входів до виходу. Аргументом є розділений '|' список відображень, кожне у формі. є нульовим індексом вхідного потоку. може бути або назвою вхідного каналу (наприклад, 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 (Linux Audio Developer's Simple Plugin API).
Щоб увімкнути компіляцію цього фільтра, вам потрібно налаштувати 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 Examples
- Перелічіть усі доступні плагіни в бібліотеці 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колекції Steve Harris:ladspa=fast_lookahead_limiter_1913:fastLookaheadLimiter:20|0|2 - Послабте низькі частоти за допомогою багатосмугового еквалайзера з
SWH Pluginsколекції Steve Harris: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 Commands
Цей фільтр підтримує такі команди:
cNЗмінити
N-е контрольне значення.Якщо вказане значення недійсне, воно ігнорується, а попереднє зберігається.
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, цей параметр компенсує цей ефект. Ця опція не впливає на багатоканальні вхідні файли. Варіанти істинні або невірні. За замовчуванням false.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Встановити тип перетворення IIR-фільтра.
didiitditdiilattsvfzdf
precision, rВстановити точність фільтрації.
autoВиберіть автоматичний формат семплів залежно від фільтрів об’ємного звуку.
s16Завжди використовуйте 16-бітний знак.
s32Завжди використовуйте 32-розрядний знак.
f32Завжди використовуйте 32-бітове значення з плаваючою точкою.
f64Завжди використовуйте float 64-bit.
block_size, bВстановіть розмір блоку, який використовується для зворотної IIR обробки. Якщо це значення встановлено на досить високе значення (вище, ніж довжина імпульсної відповіді, скорочена, коли вона досягає майже нульових значень), фільтрація стане лінійною фазою, інакше, якщо недостатньо великою, вона призведе до неприємних артефактів.
Зауважте, що затримка фільтра складатиме саме стільки вибірок, якщо встановлено ненульове значення.
8.93.1 Examples
- Низькочастотний лише канал LFE, його LFE немає, він нічого не робить:
lowpass=c=LFE
8.93.2 Commands
Цей фільтр підтримує такі команди:
frequency, fЗміна частоти низьких частот. Синтаксис команди: "
frequency"width_type, tЗмінити lowpass width_type. Синтаксис команди: "
width_type"width, wЗмінити ширину низьких частот. Синтаксис команди: "
width"mix, mЗмінити суміш низьких частот. Синтаксис команди: "
mix"
8.94 lv2
Завантажте плагін LV2 (LADSPA версії 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 Examples
- Застосуйте плагін підсилення басів від 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 Commands
Цей фільтр підтримує всі параметри, експортовані плагіном як команди.
8.95 mcompand
Багатосмугове стиснення або розширення динамічного діапазону звуку.
Вхідний звук розділений на смуги за допомогою IIR Лінквіца-Райлі 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 Mixing examples
Наприклад, якщо ви хочете мікшувати зі стерео на моно, але з більшим коефіцієнтом для лівого каналу:
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 Remapping examples
Перепризначення каналу буде ефективним тоді і тільки якщо:
- коефіцієнти посилення дорівнюють нулю або одиниці,
- лише один вхід на вихід каналу,
Якщо всі ці умови задовольняються, фільтр сповістить користувача («Виявлено чисте відображення каналів») і використає оптимізований метод без втрат для перевідображення.
Наприклад, якщо у вас є джерело 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 Commands
Цей фільтр підтримує такі команди:
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основному плавніше.level_scВстановити посилення бічного ланцюга. За замовчуванням — 1. Діапазон — від 0,015625 до 64.
mixСкільки використовувати стислий сигнал на виході. За замовчуванням — 1. Діапазон — від 0 до 1.
8.100.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
8.100.2 Examples
- Повний приклад 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Виберіть, чи слід брати для виявлення точний сигнал чи схожий на RMS. За замовчуванням встановлено середньоквадратичне значення. Може бути піковим або середньоквадратичним.
linkВиберіть, чи впливатиме на зниження середній рівень між усіма каналами чи гучніший канал. За замовчуванням середній. Може бути середнім або максимальним.
level_scВстановити посилення бічного ланцюга. За замовчуванням 1. Діапазон від 0,015625 до 64.
8.101.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
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 Examples
- Виявлення 5 секунд тиші з толерантністю до шуму -50 дБ:
silencedetect=n=-50dB:d=5 - Повний приклад із
ffmpegвизначенням тиші з толерантністю до шуму 0,0001silence.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негативне значення. Потім це значення розглядається як позитивне значення та використовується для вказівки, що ефект має перезапустити обробку, як зазначено в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 Examples
- У наступному прикладі показано, як цей фільтр можна використовувати для початку запису, який не містить затримки на початку, яка зазвичай виникає між натисканням кнопки запису та початком виконання:
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 Examples
- Використання файлу дивана 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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
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Увімкнути softclipping. Результатом є аналогове спотворення замість різкого цифрового відсікання 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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
8.106.2 Examples
- Застосувати ефект караоке:
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 Commands
Цей фільтр підтримує всі наведені вище параметри, 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)розділ «Макет каналу» в посібнику ffmpeg-utils(1) , щоб дізнатися про необхідний синтаксис.
chl_inВстановити структуру вхідного каналу. За замовчуванням це
stereo.Перегляньте (ffmpeg-utils)розділ «Макет каналу» в посібнику 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Встановити тип перетворення IIR-фільтра.
didiitditdiilattsvfzdf
precision, rВстановити точність фільтрації.
autoВиберіть автоматичний формат семплів залежно від фільтрів об’ємного звуку.
s16Завжди використовуйте 16-бітний знак.
s32Завжди використовуйте 32-розрядний знак.
f32Завжди використовуйте 32-бітове значення з плаваючою точкою.
f64Завжди використовуйте float 64-bit.
block_size, bВстановіть розмір блоку, який використовується для зворотної IIR обробки. Якщо це значення встановлено на досить високе значення (вище, ніж довжина імпульсної відповіді, скорочена, коли вона досягає майже нульових значень), фільтрація стане лінійною фазою, інакше, якщо недостатньо великою, вона призведе до неприємних артефактів.
Зауважте, що затримка фільтра складатиме саме стільки вибірок, якщо встановлено ненульове значення.
8.110.1 Commands
Цей фільтр підтримує деякі параметри як команди .
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Встановити тип перетворення IIR-фільтра.
didiitditdiilattsvfzdf
precision, rВстановити точність фільтрації.
autoВиберіть автоматичний формат семплів залежно від фільтрів об’ємного звуку.
s16Завжди використовуйте 16-бітний знак.
s32Завжди використовуйте 32-розрядний знак.
f32Завжди використовуйте 32-бітове значення з плаваючою точкою.
f64Завжди використовуйте float 64-bit.
block_size, bВстановіть розмір блоку, який використовується для зворотної IIR обробки. Якщо це значення встановлено на досить високе значення (вище, ніж довжина імпульсної відповіді, скорочена, коли вона досягає майже нульових значень), фільтрація стане лінійною фазою, інакше, якщо недостатньо великою, вона призведе до неприємних артефактів.
Зауважте, що затримка фільтра складатиме саме стільки вибірок, якщо встановлено ненульове значення.
8.111.1 Commands
Цей фільтр підтримує такі команди:
frequency, fЗміна частоти високих частот. Синтаксис команди: "
frequency"width_type, tЗмінити тип ширини високих частот. Синтаксис команди: "
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
Застосувати фільтр віртуальних низьких частот.
Цей фільтр приймає стерео вхід і створює стерео з виходом каналів 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час кадру
tbtimestamp timebase
volumeостаннє встановлене значення гучності
Зверніть увагу, колиevalвстановлено на 'once' доступні лише
змінні sample_rateта tb, усі інші змінні оцінюватимуться як NAN.
8.115.1 Commands
Цей фільтр підтримує такі команди:
volumeЗмініть вираз гучності. Команда приймає той самий синтаксис відповідного параметра.
Якщо вказаний вираз недійсний, його поточне значення зберігається.
8.115.2 Examples
- Зменшіть гучність вхідного звуку вдвічі:
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 Examples
Ось уривок результату:
[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 Audio Sources
Нижче наведено опис доступних на даний момент джерел звуку.
9.1 abuffer
Буферизуйте аудіокадри та зробіть їх доступними для ланцюжка фільтрів.
Це джерело в основному призначене для програмного використання, зокрема через інтерфейс, визначений уlibavfilter/buffersrc.h.
Він приймає такі параметри:
time_baseБаза часу, яка використовуватиметься для позначок часу надісланих кадрів. Це має бути число з плаваючою комою або у формі
numerator/denominator.sample_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 Examples
abuffer=sample_rate=44100:sample_fmt=s16p:channel_layout=stereo
вказує джерелу приймати планарне 16-бітове стерео зі знаком на 44100 Гц. Оскільки формат зразка з назвою "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 Examples
- Створити тишу:
aevalsrc=0 - Згенерувати син сигнал з частотою 440 Гц, встановити частоту дискретизації 8000 Гц:
aevalsrc="sin(440*2*PI*t):s=8000" - Згенеруйте двоканальний сигнал, чітко вкажіть розташування каналу (передній центр + задній центр):
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
Створіть коефіцієнти FIR за допомогою методу частотної дискретизації.
Отриманий потік може бути використаний з фільтром afir для фільтрації звукового сигналу.
Фільтр приймає такі параметри:
taps, tВстановити кількість коефіцієнтів фільтра у вихідному аудіопотоці. Значення за замовчуванням 1025.
frequency, fВстановіть точки частоти, звідки встановлюються величина та фаза. Це має бути в порядку не спадання, і перший елемент має бути 0, тоді як останній елемент має бути 1. Елементи розділені пробілами.
magnitude, mВстановіть значення амплітуди для кожної частотної точки, встановленої за допомогою
frequency. Кількість значень має збігатися з кількістю точок частоти. Значення розділені пробілами.phase, pВстановіть значення фази для кожної частотної точки, встановленої за допомогою
frequency. Кількість значень має збігатися з кількістю точок частоти. Значення розділені пробілами.sample_rate, rВстановіть частоту дискретизації, за замовчуванням 44100.
nb_samples, nВстановіть кількість зразків для кожного кадру. За замовчуванням 1024.
win_func, wВстановити функцію вікна. Типовим є blackman.
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 Examples
- Встановіть частоту дискретизації на 48000 Гц і розкладку каналу на 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 Examples
- Читати з файлу
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 Examples
- Згенеруйте 60 секунд рожевого шуму з частотою дискретизації 44,1 кГц і амплітудою 0,5:
anoisesrc=d=60:c=pink:r=44100:a=0.5
9.7 hilbert
Генеруйте коефіцієнти FIR-перетворення Гільберта з непарним відведенням.
Отриманий потік можна використовувати з afir -фільтром для фазового зсуву сигналу на 90 градусів.
Це використовується в багатьох схемах матричного кодування та для генерації аналітичного сигналу. Процес часто записують як множення на i (або j), уявну одиницю.
Фільтр приймає такі параметри:
sample_rate, sВстановіть частоту дискретизації, за замовчуванням 44100.
taps, tВстановіть довжину FIR-фільтра, за замовчуванням 22051.
nb_samples, nВстановіть кількість зразків для кожного кадру.
win_func, wВстановити функцію вікна, яка буде використовуватися під час генерації коефіцієнтів FIR.
9.8 sinc
Створюйте коефіцієнти КІХ низьких частот, високих частот, смугового пропускання або відхилення смуги.
Отриманий потік може бути використаний з фільтром afir для фільтрації звукового сигналу.
Фільтр приймає такі параметри:
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 (TimeStamp презентації) вихідного аудіокадру, виражений в
TBодиницях.tPTS вихідного аудіокадру, виражений у секундах.
TBЧасова розгортка вихідних аудіокадрів.
Типовим є
1024.
9.9.1 Examples
- Згенеруйте просту синусоїду 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 Audio Sinks
Нижче наведено опис доступних на даний момент аудіоприймачів.
10.1 abuffersink
Буферизуйте аудіокадри та зробіть їх доступними для кінця ланцюжка фільтрів.
Цей приймач в основному призначений для програмного використання, зокрема через інтерфейс, визначений уlibavfilter/buffersink.h
або система опцій.
Він приймає вказівник на структуру AVABufferSinkContext, яка визначає формати вхідних буферів, який передається як непрозорий параметр avfilter_init_filterдля ініціалізації.
10.2 anullsink
Нульовий аудіоприймач; абсолютно нічого не робити з вхідним аудіо. Це в основному корисно як шаблон і для використання в інструментах аналізу/налагодження.
11 Video Filters
Коли ви налаштовуєте збірку FFmpeg, ви можете вимкнути будь-який із наявних фільтрів за допомогою --disable-filters. Вихід конфігурації покаже відеофільтри, включені у вашу збірку.
Нижче наведено опис доступних на даний момент відеофільтрів.
11.1 addroi
Позначте область інтересу у кадрі відео.
Дані кадру передаються без змін, але метадані додаються до кадру, що вказує на цікаві області, які можуть вплинути на поведінку подальшого кодування. Кілька регіонів можна позначити, застосовуючи фільтр кілька разів.
xВідстань області в пікселях від лівого краю кадру.
yВідстань області в пікселях від верхнього краю кадру.
wШирина області в пікселях.
hВисота області в пікселях.
Параметри
x,y,wіhє виразами та можуть містити такі змінні:iwШирина вхідного кадру.
ihВисота вхідної рамки.
qoffsetЗсув квантування для застосування в межах регіону.
Це має бути реальне значення в діапазоні від -1 до +1. Нульове значення означає відсутність зміни якості. Від’ємне значення вимагає кращої якості (менше квантування), тоді як позитивне значення вимагає гіршої якості (більше квантування).
Діапазон відкалібровано таким чином, щоб крайні значення вказували на найбільший можливий зсув - якщо решта кадру закодовано з найгіршою можливою якістю, зміщення -1 вказує на те, що цю область все одно слід закодувати з найкращою можливою якістю. Потім проміжні значення інтерполюються певним залежним від кодеку способом.
Наприклад, у 10-бітному H.264 параметр квантування коливається від -12 до 51. Типове значення qoffset -1/10, отже, вказує на те, що ця область повинна бути закодована з QP приблизно на одну десяту повного діапазону краще, ніж решта кадру. Отже, якби більшу частину кадру було закодовано з QP приблизно 30, ця область отримає QP приблизно 24 (зміщення приблизно -1/10 * (51 - -12) = -6,3). Екстремальне значення -1 вказуватиме на те, що цю область слід кодувати з найкращою можливою якістю незалежно від обробки решти кадру, тобто її слід кодувати з QP -12.
clearЯкщо встановлено значення true, видаліть усі існуючі цікаві області, позначені на кадрі, перш ніж додати нову.
11.1.1 Examples
- Позначте центральну чверть кадру як цікаву.
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 Commands
Цей фільтр підтримує такі команди , які відповідають опції з такою ж назвою:
factorthresholdtolerancelowhighplanes
11.5 ass
Те саме, що й фільтр субтитрів , за винятком того, що для його роботи не потрібні libavcodec і libavformat. З іншого боку, він обмежений файлами субтитрів ASS (Advanced Substation Alpha).
Цей фільтр приймає такі параметри на додаток до загальних параметрів із фільтра субтитрів :
shapingВстановіть механізм формування
Доступні значення:
- '
auto' Типовий механізм формування libass, який є найкращим із доступних.
- '
simple' Швидкий формувальник шрифтів, який може виконувати лише заміни
- '
complex' Повільніший формувач із використанням OpenType для замін і позиціонування
Типовим є
auto.- '
11.6 atadenoise
Застосуйте адаптивне тимчасове усереднення шуму до відеовходу.
Фільтр приймає такі параметри:
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 Commands
Цей фільтр підтримує ті самі команди , що й параметри, крім параметра s. Команда приймає той самий синтаксис відповідного параметра.
11.7 avgblur
Застосуйте фільтр середнього розмиття.
Фільтр приймає такі параметри:
sizeXВстановити розмір горизонтального радіуса.
planesВстановіть, які площини фільтрувати. За замовчуванням усі площини фільтруються.
sizeYВстановіть розмір вертикального радіуса, якщо нуль, він буде таким самим, як
sizeX. Типовим є0.
11.7.1 Commands
Цей фільтр підтримує ті самі команди, що й параметри. Команда приймає той самий синтаксис відповідного параметра.
Якщо вказаний вираз недійсний, його поточне значення зберігається.
11.8 bbox
Обчисліть обмежувальну рамку для нечорних пікселів у площині яскравості вхідного кадру.
Цей фільтр обчислює обмежувальну рамку, що містить усі пікселі зі значенням яскравості, що перевищує мінімально допустиме значення. Параметри, що описують обмежувальну рамку, друкуються в журналі фільтра.
Фільтр приймає такі параметри:
min_valВстановіть мінімальне значення яскравості. Типовим є
16.
11.8.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
11.9 bilateral
Застосувати двосторонній фільтр, просторове згладжування зі збереженням країв.
Фільтр приймає такі параметри:
sigmaSУстановіть сигму функції Гауса для обчислення просторової ваги. Дозволений діапазон від 0 до 512. За замовчуванням 0,1.
sigmaRУстановіть сигму функції Гауса для обчислення ваги діапазону. Дозволений діапазон від 0 до 1. За замовчуванням 0,1.
planesВстановити площини для фільтрації. За замовчуванням лише перший.
11.9.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
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 Examples
- Застосуйте перехід від нижнього шару до верхнього за перші 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 Commands
Цей фільтр підтримує ті самі команди , що й параметри.
11.14 blockdetect
Визначає блочність кадрів без зміни вхідних кадрів.
На основі Ремко Муіджа та Ігоря Кіренка: «Засіб блокування артефактів без посилань для адаптивної обробки відео». 2005 13-та Європейська конференція з обробки сигналів.
Фільтр приймає такі параметри:
period_minperiod_maxВстановіть мінімальне та максимальне значення для визначення піксельних сіток (періодів). Значення за замовчуванням [3,24].
planesВстановити площини для фільтрації. За замовчуванням лише перший.
11.14.1 Examples
- Визначити блочність для першої площини та знайти періоди в межах [8,32]:
blockdetect=period_min=8:period_max=32:planes=1
11.15 blurdetect
Визначає розмитість кадрів без зміни вхідних кадрів.
На основі Marziliano, Pina та ін. «Метрика перцептивного розмиття без посилання». Дозволяє блочне скорочення.
Фільтр приймає такі параметри:
lowhighВстановіть низькі та високі порогові значення, які використовуються алгоритмом порогового значення Canny.
Високий поріг вибирає «сильні» крайові пікселі, які потім з’єднуються через 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 Examples
- Визначте розмиття для 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Якщо ввімкнено, фільтр використовуватиме 2-й потік для відповідності блоків. За замовчуванням вимкнено для
basicзначенняestimопції та завжди ввімкнено, якщо значенняestimдорівнюєfinal.planesВстановити площини для фільтрації. За замовчуванням доступні всі, крім альфа-версії.
11.16.1 Examples
- Базова фільтрація з 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 іvsubдорівнює 1.
luma_power, lpchroma_power, cpalpha_power, apУкажіть, скільки разів фільтр boxblur застосовується до відповідної площини.
Значення за умовчанням для
luma_powerдорівнює 2. Якщо не вказано,chroma_powerіalpha_powerза замовчуванням встановлено відповідне значенняluma_power.Значення 0 вимкне ефект.
11.17.1 Examples
- Застосуйте фільтр 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
Застосуйте фільтр Adaptive Sharpen Contrast до відеопотоку.
Фільтр приймає такі параметри:
strengthВстановити силу заточування. Значення за замовчуванням 0.
planesВстановити площини для фільтрації. Значення за замовчуванням — фільтрувати всі площини, крім альфа-площини.
11.19.1 Commands
Цей фільтр підтримує ті самі команди , що й параметри.
11.20 chromahold
Видалити всю інформацію про колір для всіх кольорів, крім певного.
Фільтр приймає такі параметри:
colorКолір, який не буде замінено нейтральною кольоровістю.
similarityВідсоток схожості з вищевказаним кольором. 0,01 відповідає лише точному кольору ключа, тоді як 1,0 відповідає всьому.
blendВідсоток суміші. 0.0 робить пікселі або повністю сірими, або зовсім не сірими. Вищі значення призводять до кращого збереження кольору.
yuvСигналізує, що переданий колір уже знаходиться в YUV замість RGB.
Дослівні кольори, як-от «зелений» або «червоний», більше не мають сенсу, коли це ввімкнено. Це можна використовувати для передачі точних значень YUV як шістнадцяткових чисел.
11.20.1 Commands
Цей фільтр підтримує ті самі команди , що й параметри. Команда приймає той самий синтаксис відповідного параметра.
Якщо вказаний вираз недійсний, його поточне значення зберігається.
11.21 chromakey
Колірний простір YUV.
Фільтр приймає такі параметри:
colorКолір, який буде замінено на прозорість.
similarityВідсоток схожості з ключовим кольором.
0,01 відповідає лише точному кольору ключа, тоді як 1,0 відповідає всьому.
blendВідсоток суміші.
0.0 робить пікселі або повністю прозорими, або взагалі непрозорими.
Вищі значення призводять до напівпрозорих пікселів, а з вищою прозорістю колір пікселів схожіший на основний колір.
yuvСигналізує, що переданий колір уже знаходиться в YUV замість RGB.
Дослівні кольори, як-от «зелений» або «червоний», більше не мають сенсу, коли це ввімкнено. Це можна використовувати для передачі точних значень YUV як шістнадцяткових чисел.
11.21.1 Commands
Цей фільтр підтримує ті самі команди , що й параметри. Команда приймає той самий синтаксис відповідного параметра.
Якщо вказаний вираз недійсний, його поточне значення зберігається.
11.21.2 Examples
- Зробіть кожен зелений піксель у вхідному зображенні прозорим:
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. для більш детальної інформації та параметрів дивіться chromakey .
11.22.1 Examples
- Зробіть усі зелені пікселі у вхідному відео прозорими та використовуйте їх як накладання для іншого відео:
./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' Різниця в квадраті.
Тип відстані за замовчуванням – manhattan.
- '
11.23.1 Commands
Цей фільтр підтримує ті самі команди , що й параметри. Команда приймає той самий синтаксис відповідного параметра.
11.24 chromashift
Зсув кольорових пікселів по горизонталі та/або вертикалі.
Фільтр приймає такі параметри:
cbhВстановіть величину зсуву хроматично-синього кольору по горизонталі.
cbvВстановіть величину вертикального зсуву кольорового синього.
crhВстановіть величину зсуву хроматично-червоного по горизонталі.
crvВстановіть величину вертикального зсуву хроматично-червоного.
edgeВстановити режим краю, може бути
smear, за замовчуванням абоwarp.
11.24.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
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' зворотні прогнози MVs
- '
frame_type, ftУстановіть тип кадру для візуалізації векторів руху.
Доступні прапорці для
frame_type:- '
if' внутрішньокодовані кадри (I-кадри)
- '
pf' передбачені кадри (P-кадри)
- '
bf' двонаправлено передбачені кадри (B-кадри)
- '
11.26.1 Examples
- Візуалізуйте передбачувані 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 Examples
- Додайте червоний відтінок тіням:
colorbalance=rs=.3
11.27.2 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
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 Examples
- Перетворити джерело в градації сірого:
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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
11.32 colorkey
Колірний простір RGB. Цей фільтр працює з кадрами 8-бітного формату RGB, встановлюючи альфа-компонент кожного пікселя, який потрапляє в радіус подібності ключового кольору, на 0. Значення альфа для пікселів за межами радіуса подібності залежить від значення параметра змішування.
Фільтр приймає такі параметри:
colorВстановіть колір, для якого альфа буде встановлено на 0 (повна прозорість). Див. (ffmpeg-utils) розділ «Колір» у посібнику ffmpeg-utils . Типовим є
black.similarityВстановіть радіус від основного кольору, у межах якого інші кольори також матимуть повну прозорість. Обчислена відстань пов’язана з одиницею часткової відстані в 3D-просторі між значеннями RGB основного кольору та кольором пікселя. Діапазон від 0,01 до 1,0. 0,01 відповідає в дуже малому радіусі навколо точного кольору ключа, тоді як 1,0 відповідає всьому. Типовим є
0.01.blendВстановіть спосіб обчислення значення альфа для пікселів, які виходять за межі радіуса подібності. 0.0 робить пікселі або повністю прозорими, або повністю непрозорими. Вищі значення призводять до напівпрозорих пікселів, а з більшою прозорістю колір пікселя схожіший на основний колір. Діапазон від 0,0 до 1,0. Типовим є
0.0.
11.32.1 Examples
- Зробіть кожен зелений піксель у вхідному зображенні прозорим:
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 Commands
Цей фільтр підтримує ті самі команди , що й параметри. Команда приймає той самий синтаксис відповідного параметра.
Якщо вказаний вираз недійсний, його поточне значення зберігається.
11.33 colorhold
Видалити всю інформацію про колір для всіх кольорів RGB, крім певного.
Фільтр приймає такі параметри:
colorКолір, який не можна замінити на нейтральний сірий.
similarityВідсоток схожості з вищевказаним кольором. 0,01 відповідає лише точному кольору ключа, тоді як 1,0 відповідає всьому.
blendВідсоток суміші. 0.0 робить пікселі повністю сірими. Вищі значення призводять до кращого збереження кольору.
11.33.1 Commands
Цей фільтр підтримує ті самі команди , що й параметри. Команда приймає той самий синтаксис відповідного параметра.
Якщо вказаний вираз недійсний, його поточне значення зберігається.
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 Examples
- Зробити відеовихід темнішим:
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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
11.35 colormap
Застосуйте користувацькі карти кольорів до відеопотоку.
Цей фільтр потребує трьох вхідних відеопотоків. Перший потік – це відеопотік, який буде відфільтровано. Другий і третій відеопотік визначають кольорові плями для вихідного кольору та відображення цільового кольору.
Фільтр приймає такі параметри:
patch_sizeУстановіть вихідний і цільовий розмір фрагмента відеопотоку в пікселях.
nb_patchesУстановіть максимальну кількість використовуваних патчів із вихідного та цільового відеопотоку. Значення за замовчуванням — кількість патчів, доступних у додаткових відеопотоках. Максимальна дозволена кількість патчів становить
64.typeУстановіть налаштування, які використовуються для цільових кольорів. Може бути
relativeабоabsolute. За замовчуванням:absolute.kernelВстановіть ядро, яке використовується для вимірювання відмінностей кольорів між відображеними кольорами.
Допустимі значення:
- '
euclidean' - '
weuclidean'
Типовим є
euclidean.- '
11.36 colormatrix
Перетворення кольорової матриці.
Фільтр приймає такі параметри:
srcdstУкажіть матрицю кольорів джерела та призначення. Необхідно вказати обидва значення.
Допустимі значення:
- '
bt709' BT.709
- '
fcc' FCC
- '
bt601' BT.601
- '
bt470' BT.470
- '
bt470bg' BT.470BG
- '
smpte170m' СМПТЕ-170М
- '
smpte240m' СМПТЕ-240М
- '
bt2020' BT.2020
- '
Наприклад, щоб конвертувати з BT.601 на SMPTE-240M, скористайтеся командою:
colormatrix=bt601:smpte240m
11.37 colorspace
Перетворення колірного простору, характеристик передачі або основних кольорів. Вхідне відео має мати рівний розмір.
Фільтр приймає такі параметри:
allВкажіть усі властивості кольору одночасно.
Допустимі значення:
- '
bt470m' БТ.470М
- '
bt470bg' BT.470BG
- '
bt601-6-525' BT.601-6 525
- '
bt601-6-625' BT.601-6 625
- '
bt709' BT.709
- '
smpte170m' СМПТЕ-170М
- '
smpte240m' СМПТЕ-240М
- '
bt2020' BT.2020
- '
spaceУкажіть вихідний простір кольорів.
Допустимі значення:
- '
bt709' BT.709
- '
fcc' FCC
- '
bt470bg' BT.470BG або BT.601-6 625
- '
smpte170m' СМПТЕ-170М або БТ.601-6 525
- '
smpte240m' СМПТЕ-240М
- '
ycgco' YCgCo
- '
bt2020ncl' BT.2020 з непостійною яскравістю
- '
trcВкажіть вихідні характеристики передачі.
Допустимі значення:
- '
bt709' BT.709
- '
bt470m' БТ.470М
- '
bt470bg' BT.470BG
- '
gamma22' Постійна гамма 2,2
- '
gamma28' Постійна гамма 2,8
- '
smpte170m' SMPTE-170M, BT.601-6 625 або BT.601-6 525
- '
smpte240m' СМПТЕ-240М
- '
srgb' 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' BT.709
- '
bt470m' БТ.470М
- '
bt470bg' BT.470BG або BT.601-6 625
- '
smpte170m' СМПТЕ-170М або БТ.601-6 525
- '
smpte240m' СМПТЕ-240М
- '
film' фільм
- '
smpte431' СМПТЕ-431
- '
smpte432' СМПТЕ-432
- '
bt2020' BT.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Виконайте швидке перетворення, яке пропускає гамма/первинну корекцію. Це займе значно менше ЦП, але буде математично неправильним. Щоб отримати результати, сумісні з результатами фільтра colormatrix, використовуйте fast=1.
ditherВкажіть режим дизерінгу.
Допустимі значення:
- '
none' Без тремтіння
- '
fsb' Дизерінг Флойда-Штейнберга
- '
wpadaptРежим адаптації Whitepoint.
Допустимі значення:
- '
bradford' Адаптація білої точки Бредфорда
- '
vonkries' von Kries whitepoint адаптація
- '
identity' адаптація білої точки ідентифікації (тобто без адаптації білої точки)
- '
iallПеревизначити всі властивості введення одночасно. Ті самі прийнятні значення, що й усі .
ispaceПеревизначити простір кольорів введення. Ті самі прийнятні значення, що й пробіл .
iprimariesПеревизначати основні кольори введення. Ті самі прийнятні значення, що й первинні .
itrcПеревизначати вхідні характеристики передачі. Ті самі прийнятні значення, що й trc .
irangeПеревизначити діапазон кольорів введення. Ті самі прийнятні значення, що й діапазон .
Фільтр перетворює характеристики передачі, колірний простір і первинні кольори на вказані користувачем значення. Якщо вихідне значення не вказано, встановлюється значення за замовчуванням на основі властивості "все". Якщо ця властивість також не вказана, фільтр зареєструє помилку. Діапазон і формат вихідних кольорів за замовчуванням мають те саме значення, що й діапазон і формат вхідних кольорів. Характеристики передачі вхідних даних, колірний простір, первинні кольори та діапазон кольорів повинні бути встановлені на вхідних даних. Якщо будь-який із них відсутній, фільтр зареєструє помилку, і перетворення не відбудеться.
Наприклад, щоб перетворити вхід на SMPTE-240M, скористайтеся командою:
colorspace=smpte240m
11.38 colortemperature
Налаштуйте колірну температуру у відео, щоб імітувати варіації колірної температури навколишнього середовища.
Фільтр приймає такі параметри:
temperatureВстановіть температуру в Кельвінах. Дозволений діапазон – від 1000 до 40000. Значення за замовчуванням – 6500 K.
mixВстановити змішування з фільтрованим виходом. Дозволений діапазон — від 0 до 1. Значення за замовчуванням — 1.
plВстановіть ступінь збереження світлості. Дозволений діапазон — від 0 до 1. Значення за замовчуванням — 0.
11.38.1 Commands
Цей фільтр підтримує ті самі команди , що й параметри.
11.39 convolution
Застосуйте згортку 3x3, 5x5, 7x7 або горизонтальну/вертикальну до 49 елементів.
Фільтр приймає такі параметри:
0m1m2m3mЗадайте матрицю для кожної площини. Матриця — це послідовність із 9, 25 або 49 цілих чисел зі знаком у
squareрежимі та від 1 до 49 непарних чисел зі знаком уrowрежимі.0rdiv1rdiv2rdiv3rdivВстановіть множник для розрахункового значення для кожної площини. Якщо не встановлено або 0, це буде сума всіх елементів матриці.
0bias1bias2bias3biasВстановіть ухил для кожної площини. Це значення додається до результату множення. Корисно, щоб зробити загальне зображення яскравішим або темнішим. За замовчуванням 0,0.
0mode1mode2mode3modeВстановіть режим матриці для кожної площини. Може бути
square,rowабоcolumn. Типовим єsquare.
11.39.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
11.39.2 Examples
- Застосувати різкість:
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
Застосуйте двовимірну згортку відеопотоку в частотній області, використовуючи другий потік як імпульс.
Фільтр приймає такі параметри:
planesВизначте, які площини обробляти.
impulseВстановити, які імпульсні відеокадри будуть оброблятися, можна
firstабоall. Типовим єall.
Фільтр convolveтакож підтримує параметри синхронізації кадрів .
11.41 copy
Скопіюйте джерело вхідного відео без змін на вихід. Це в основному корисно для тестування.
11.42 coreimage
Фільтрація відео на GPU за допомогою Apple CoreImage API на OSX.
Апаратне прискорення базується на контексті OpenGL. Зазвичай це означає, що він обробляється апаратним забезпеченням відео. Однак існують програмні реалізації OpenGL, що означає відсутність гарантії на апаратну обробку. Це залежить від відповідної OSX.
Існує багато фільтрів і генераторів зображень, наданих компанією Apple, які пропонують широкий вибір опцій. Фільтр має мати посилання на його назву разом із параметрами.
Фільтр основного зображення приймає такі параметри:
list_filtersПерелічіть усі доступні фільтри та генератори разом із усіма відповідними параметрами, а також можливі мінімальні та максимальні значення разом із значеннями за замовчуванням.
list_filters=truefilterУкажіть усі фільтри за їхніми відповідними назвами та параметрами. Використовуйте
list_filtersдля визначення всіх дійсних імен і параметрів фільтрів. Числові параметри задаються значенням з плаваючою точкою та автоматично прив’язуються до відповідного діапазону значень. Параметри вектора та кольору мають бути визначені списком значень з плаваючою точкою, розділених пробілами. Має бути зроблено екранування персонажів.defaultДля використання стандартних параметрів для фільтра доступна спеціальна назва параметра.Необхідно вказати одну
defaultабо хоча б одну з опцій фільтра. Усі пропущені параметри використовуються зі значеннями за замовчуванням. Синтаксис рядка фільтра такий:filter=<NAME>@<OPTION>=<VALUE>[@<OPTION>=<VALUE>][@...][#<NAME>@<OPTION>=<VALUE>[@<OPTION>=<VALUE>][@...]][#...]output_rectУкажіть прямокутник, у якому результат ланцюжка фільтрів буде скопійовано у вхідне зображення. Він задається списком значень float, розділених пробілами:
output_rect=x\ y\ width\ heightЯкщо не задано, вихідний прямокутник дорівнює розмірам вхідного зображення. Вихідний прямокутник автоматично обрізається на межах вхідного зображення. Від’ємні значення дійсні для кожного компонента.
output_rect=25\ 25\ 100\ 100
Кілька фільтрів можна з’єднати для послідовної обробки без передачі GPU-HOST, що дозволяє швидко обробляти складні ланцюжки фільтрів. Наразі підтримуються лише фільтри з нульовим (генератори) або точно одним (фільтри) вхідним зображенням і одним вихідним зображенням. Крім того, фільтри переходів ще не можна використовувати за призначенням.
Деякі фільтри генерують вихідні зображення з додатковим доповненням залежно від відповідного ядра фільтра. Заповнення автоматично видаляється, щоб гарантувати, що результат фільтра має такий самий розмір, як і вхідне зображення.
Для генераторів зображень розмір вихідного зображення визначається попереднім вихідним зображенням ланцюжка фільтрів або вхідним зображенням усього ланцюжка фільтрів відповідно. Генератори не використовують інформацію про пікселі цього зображення для генерації результату. Однак згенерований вихід змішується з цим зображенням, що призводить до часткового або повного покриття вихідного зображення.
Джерело відео coreimagesrc можна використовувати для створення вхідних зображень, які безпосередньо подаються в ланцюг фільтрів. При його використанні не потрібне надання вхідних зображень з іншого джерела відео або вхідного відео.
11.42.1 Examples
- Список усіх доступних фільтрів:
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, поданий як повний і екранований командний рядок для стандартної оболонки bash від Apple:
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 Examples
- Накрийте прямокутний об’єкт наданим зображенням певного відео за допомогою
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 іvsub1.nНомер вхідного кадру, починаючи з 0.
posпозиція у файлі вхідного кадру, NAN, якщо невідома
tМітка часу, виражена в секундах. Це NAN, якщо позначка часу введення невідома.
Вираз для out_wможе залежати від значення out_h, а вираз для out_hможе залежати від out_w, але вони не можуть залежати від xі y, оскільки xі yобчислюються після out_wі out_h.
Параметри xand yвизначають вирази для положення верхнього лівого кута вихідної (необрізаної) області. Вони оцінюються для кожного кадру. Якщо оцінене значення недійсне, воно наближається до найближчого дійсного значення.
Вираз для xможе залежати від y, а вираз для yможе залежати від x.
11.44.1 Examples
- Область обрізання розміром 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 Commands
Цей фільтр підтримує такі команди:
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Встановіть лічильник, який визначає, через скільки кадрів cropdetect скине раніше виявлену найбільшу область відео та почне спочатку, щоб визначити поточну оптимальну область кадрування. Значення за замовчуванням 0.
Це може бути корисним, коли логотипи каналів спотворюють область відео. 0 вказує на «ніколи не скидати» та повертає найбільшу область під час відтворення.
11.46 cue
Відкласти фільтрацію відео до заданої мітки часу настінного годинника. Спочатку фільтр проходить даліprerollкількість кадрів, то буферизується не більше
bufferкількість кадрів і чекає сигналу. Після досягнення сигналу він пересилає буферизовані кадри, а також будь-які наступні кадри, що надходять на його вхід.
Фільтр можна використовувати для синхронізації виведення кількох процесів ffmpeg для пристроїв виведення в реальному часі, таких як decklink. Встановлюючи затримку в ланцюжок фільтрації та попередню буферизацію кадрів, процес може передавати дані на вихід майже одразу після досягнення цільової позначки часу настінного годинника.
Ідеальна точність кадру не може бути гарантована, але результат достатньо хороший для деяких випадків використання.
cueПозначка часу, виражена в мітці часу UNIX у мікросекундах. За замовчуванням 0.
prerollТривалість вмісту, який буде передано напередодні, у секундах. За замовчуванням 0.
bufferМаксимальна тривалість буферизації вмісту перед очікуванням сигналу, виражена в секундах. За замовчуванням 0.
11.47 curves
Застосуйте коригування кольору за допомогою кривих.
Цей фільтр подібний до інструментів кривих Adobe Photoshop і GIMP. Кожен компонент (червоний, зелений і синій) має свої значення, визначені Nключовими точками, пов’язаними одна з одною за допомогою плавної кривої. На осі х відображаються значення пікселів із вхідного кадру, а на осі ординат – нові значення пікселів, які потрібно встановити для вихідного кадру.
За замовчуванням компонентна крива визначається двома точками (0;0)і
(1;1). Це створює пряму лінію, де кожне початкове значення пікселя «підлаштовується» під своє значення, що означає відсутність змін у зображенні.
Фільтр дозволяє перевизначати ці дві точки та додавати ще деякі. Буде визначено нову криву (з використанням інтерполяції природного кубічного сплайну), яка плавно проходитиме через усі ці нові координати. Нові визначені точки повинні суворо зростати по осі абсцис, а їх 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 кривих у вказаному файлі.
Щоб уникнути деяких конфліктів синтаксису filtergraph, кожен список ключових точок потрібно визначити за допомогою такого синтаксису: x0/y0 x1/y1 x2/y2 ....
11.47.1 Commands
Цей фільтр підтримує ті самі команди , що й параметри.
11.47.2 Examples
- Трохи збільшити середній рівень синього:
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 Commands
Цей фільтр підтримує ті самі команди , що й опції, що виключають sizeопцію.
11.49 dblur
Застосуйте фільтр спрямованого розмиття.
Фільтр приймає такі параметри:
angleВстановити кут спрямованого розмиття. Типовим є
45.radiusВстановити радіус спрямованого розмиття. Типовим є
5.planesВстановіть, які площини фільтрувати. За замовчуванням усі площини фільтруються.
11.49.1 Commands
Цей фільтр підтримує ті самі команди , що й параметри. Команда приймає той самий синтаксис відповідного параметра.
Якщо вказаний вираз недійсний, його поточне значення зберігається.
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 Examples
Застосувати шумопоглинання за допомогою asigmaз 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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
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 Examples
- Деблокуйте за допомогою слабкого фільтра та розміру блоку 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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
11.53 decimate
Видаляйте повторювані кадри через рівні проміжки часу.
Фільтр приймає такі параметри:
cycleВстановіть кількість кадрів, з яких буде видалено один. Встановлення цього значення
Nозначає, що один кадр із кожної групиNкадрів буде видалено. Типовим є5.dupthreshВстановіть поріг для виявлення дублікатів. Якщо показник різниці для кадру менший або дорівнює цьому значенню, він оголошується як дублікат. За замовчуванням
1.1scthreshВстановити поріг зміни сцени. Типовим є
15.blockxblockyУстановіть розмір блоків осей x і y, які використовуються під час метричних обчислень. Великі блоки забезпечують краще придушення шуму, але також гірше розпізнають невеликі рухи. Має бути ступінь двійки. Типовим є
32.ppsrcПозначте основний вхід як попередньо оброблений і активуйте чистий вихідний вхідний потік. Це дозволяє попередньо обробляти вхідні дані різними фільтрами, щоб допомогти обчислити показники, зберігаючи вибір кадру без втрат. Якщо встановлено значення
1, перший потік призначений для попередньо оброблених вхідних даних, а другий потік є чистим джерелом, з якого вибираються збережені кадри. Типовим є0.chromaВстановіть, чи враховуватиметься кольоровість у метричних обчисленнях. Типовим є
1.
11.54 deconvolve
Застосуйте двовимірну деконволюцію відеопотоку в частотній області, використовуючи другий потік як імпульс.
Фільтр приймає такі параметри:
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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
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 кадрів в секунду (від плівки до NTSC).
- '
5' Якщо оригінал було телекіно з 25 до 30 кадрів/с (PAL до NTSC).
- '
20' Якщо суміш двох.
Типовим є '
4'.- '
11.59 delogo
Придушіть логотип телевізійної станції простою інтерполяцією навколишніх пікселів. Просто встановіть прямокутник, що закриває логотип, і спостерігайте, як він зникає (іноді з’являється щось ще потворніше – ваш пробіг може відрізнятися).
Він приймає такі параметри:
xyВкажіть координати верхнього лівого кута логотипу. Їх необхідно вказати.
whУкажіть ширину та висоту логотипу, який потрібно очистити. Їх необхідно вказати.
showЯкщо встановлено значення 1, на екрані з’являється зелений прямокутник, щоб спростити пошук потрібних параметрів
x,y,wіh. Значення за замовчуванням 0.Прямокутник малюється на крайніх пікселях, які будуть (частково) замінені інтерпольованими значеннями. Значення наступних пікселів безпосередньо поза цим прямокутником у кожному напрямку використовуватимуться для обчислення інтерпольованих значень пікселів усередині прямокутника.
11.59.1 Examples
- Встановіть прямокутник, що покриває область з координатами верхнього лівого кута 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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
11.65 displace
Зміщення пікселів, як зазначено другим і третім вхідним потоком.
Він приймає три вхідні потоки та виводить один потік, перший вхід є джерелом, а другий і третій вхідні дані є картами переміщення.
Другий вхід визначає, наскільки зміщувати пікселі вздовж осі x, а третій вказує, наскільки зміщувати пікселі вздовж осі y. Якщо один із потоків карти зміщення завершується, буде використано останній кадр із цієї карти зміщення.
Зауважте, що після створення карти переміщень можна використовувати знову і знову.
Нижче наведено опис прийнятих варіантів.
edgeВстановіть поведінку зміщення для пікселів, які виходять за межі діапазону.
Доступні значення:
- '
blank' Відсутні пікселі замінюються чорними пікселями.
- '
smear' Сусідні пікселі розсуватимуться, щоб замінити відсутні пікселі.
- '
wrap' Пікселі поза межами діапазону обернуті таким чином, щоб вони вказували на пікселі з іншого боку.
- '
mirror' Пікселі поза діапазоном буде замінено дзеркальними пікселями.
Типовим є '
smear'.- '
11.65.1 Examples
- Додайте ефект хвилі до входу 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Встановіть конфігурації для передачі в серверну частину
Для бекенда tensorflow ви можете встановити його конфігурації за допомогою
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 (за замовчуванням: встановлено). Відкат до виконання синхронізації, якщо серверна частина не підтримує асинхронізацію.
Для бекенда tensorflow ви можете встановити його конфігурації за допомогою
sess_configпараметри, використовуйте tools/python/tf_sess_config.py, щоб отримати конфігурації бекенда TensorFlow для вашої системи.
11.68.1 Examples
- Видалити дощ у кадрі rgb24 за допомогою can.pb (див . фільтр видалення ):
./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 іvsub1.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на одного, тому ви можете, наприклад, вказати або .hty=x/darh=w/dar
11.69.1 Examples
- Намалюйте чорну рамку навколо краю вхідного зображення:
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 Commands
Цей фільтр підтримує ті самі команди, що й параметри. Команда приймає той самий синтаксис відповідного параметра.
Якщо вказаний вираз недійсний, його поточне значення зберігається.
11.70 drawgraph
Намалюйте графік, використовуючи метадані вхідного відео.
Він приймає такі параметри:
m1Установіть ключ метаданих 1-го кадру, значення метаданих якого використовуватимуться для малювання графіка.
fg1Установіть 1-й вираз кольору переднього плану.
m2Встановіть ключ метаданих 2-го кадру, значення метаданих яких використовуватимуться для малювання графіка.
fg2Установіть 2-й вираз кольору переднього плану.
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 іvsub1.in_h, ihin_w, iwШирина і висота комірки вхідної сітки.
sarСпіввідношення сторін вхідного зразка.
xyКоординати x і y деякої точки перетину сітки (для налаштування зсуву).
whШирина і висота намальованої комірки.
tТовщина намальованої комірки.
Ці константи дозволяють виразам , , і
xпосилатисяyодинwна одного, тому ви можете, наприклад, вказати або .hty=x/darh=w/dar
11.71.1 Examples
- Намалюйте сітку з осередками 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 Commands
Цей фільтр підтримує ті самі команди, що й параметри. Команда приймає той самий синтаксис відповідного параметра.
Якщо вказаний вираз недійсний, його поточне значення зберігається.
11.72 drawtext
Намалюйте текстовий рядок або текст із зазначеного файлу поверх відео за допомогою бібліотеки libfreetype.
Щоб увімкнути компіляцію цього фільтра, вам потрібно налаштувати FFmpeg за допомогою
--enable-libfreetype. Щоб увімкнути резервний шрифт за замовчуванням і fontопцію, потрібно налаштувати FFmpeg за допомогою --enable-libfontconfig. Щоб увімкнути text_shapingопцію, вам потрібно налаштувати FFmpeg за допомогою
--enable-libfribidi.
11.72.1 Syntax
Він приймає такі параметри:
boxВикористовується для малювання рамки навколо тексту за допомогою кольору фону. Значення має бути 1 (увімкнено) або 0 (вимкнено). Значення за умовчанням
boxдорівнює 0.boxborderwВстановіть ширину рамки, яка буде намальована навколо коробки, за допомогою
boxcolor. Значення за умовчаннямboxborderwдорівнює 0.boxcolorКолір, який використовуватиметься для малювання поля навколо тексту. Щоб дізнатися про синтаксис цього параметра, перевірте розділ (ffmpeg-utils)"Колір" у посібнику ffmpeg-utils .
Значенням за замовчуванням
boxcolorє "білий".line_spacingВстановіть міжрядковий інтервал у пікселях межі, яка буде намальована навколо поля, за допомогою
box. Значення за умовчаннямline_spacingдорівнює 0.borderwВстановіть ширину рамки, яка буде намальована навколо тексту, за допомогою
bordercolor. Значення за умовчаннямborderwдорівнює 0.bordercolorУстановіть колір, який використовуватиметься для малювання рамки навколо тексту. Щоб дізнатися про синтаксис цього параметра, перевірте розділ (ffmpeg-utils)"Колір" у посібнику ffmpeg-utils .
Значенням за замовчуванням
bordercolorє "чорний".expansionВиберіть спосіб
textрозгортання. Може бутиnone,strftime(застаріле) абоnormal(за замовчуванням). Додаткову інформацію див . у розділі « Розширення тексту» нижче.basetimeВстановіть час початку підрахунку. Значення в мікросекундах. Застосовується лише в застарілому режимі розширення strftime. Для емуляції у звичайному режимі розширення використовуйте
ptsфункцію, надаючи час початку (у секундах) як другий аргумент.fix_boundsЯкщо істина, перевірте та виправте текстові координати, щоб уникнути вирізання.
fontcolorКолір, який буде використовуватися для малювання шрифтів. Щоб дізнатися про синтаксис цього параметра, перевірте розділ (ffmpeg-utils)"Колір" у посібнику ffmpeg-utils .
Значенням за замовчуванням
fontcolorє "чорний".fontcolor_exprРядок, який розгортається так само, як
textдля отримання динамічногоfontcolorзначення. За замовчуванням цей параметр має порожнє значення та не обробляється. Якщо цей параметр установлено, він перекриваєfontcolorпараметр.fontСімейство шрифтів для малювання тексту. За замовчуванням Sans.
fontfileФайл шрифту, який буде використовуватися для малювання тексту. Шлях повинен бути включений. Цей параметр є обов’язковим, якщо підтримку fontconfig вимкнено.
alphaНамалюйте текст, застосовуючи альфа-змішування. Значення може бути числом від 0,0 до 1,0. Вираз також приймає ті самі змінні
x, y. Значення за замовчуванням – 1. Дивfontcolor_expr.fontsizeРозмір шрифту, який буде використовуватися для малювання тексту. Стандартне значення
fontsize— 16.text_shapingЯкщо встановлено значення 1, спробуйте сформувати текст (наприклад, змінити порядок тексту справа наліво та з’єднати арабські символи), перш ніж малювати його. В іншому випадку просто намалюйте текст точно так, як задано. За замовчуванням 1 (якщо підтримується).
ft_load_flagsПрапорці, які будуть використовуватися для завантаження шрифтів.
Прапори відображають відповідні прапори, які підтримує libfreetype, і є комбінацією таких значень:
defaultno_scaleno_hintingrenderno_bitmapvertical_layoutforce_autohintcrop_bitmappedanticignore_global_advance_widthno_recurseignore_transformmonochromelinear_designno_autohint
Значення за замовчуванням - "default".
Для отримання додаткової інформації зверніться до документації для прапорів FT_LOAD_* libfreetype.
shadowcolorКолір, який використовуватиметься для малювання тіні за намальованим текстом. Щоб дізнатися про синтаксис цього параметра, перевірте розділ (ffmpeg-utils)"Колір" у посібнику ffmpeg-utils .
Значенням за замовчуванням
shadowcolorє "чорний".shadowxshadowyЗміщення x і y для положення тіні тексту відносно положення тексту. Вони можуть бути як позитивними, так і негативними значеннями. Значенням за замовчуванням для обох є "0".
start_numberПочатковий номер кадру для змінної n/frame_num. Значення за замовчуванням - "0".
tabsizeРозмір у кількості пробілів для відтворення вкладки. Значення за замовчуванням – 4.
timecodeВстановіть початкове подання часового коду у форматі «гг:хх:сс[:;.]фф». Його можна використовувати з текстовим параметром або без нього.
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, якщо ви хочете використовувати текстові дані в bboxах виявлення бічних даних.
Якщо встановлено джерело тексту,
textвінtextfileігноруватиметься та використовуватиме текстові дані в полях виявлення бічних даних. Тому, будь ласка, не використовуйте цей параметр, якщо ви не впевнені щодо джерела тексту.reloadБуде
textfileперезавантажено через вказаний інтервал кадрів. Обов’язково оновлюйтеtextfileатомарно, інакше воно може бути прочитано частково або навіть не вийде. Діапазон від 0 до INT_MAX. За замовчуванням 0.xyВирази, які вказують зсуви, де текст буде намальовано у відеокадрі. Вони відносяться до верхньої/лівої межі вихідного зображення.
Значення за замовчуванням
xіyдорівнює "0".Нижче наведено список прийнятних констант і функцій.
Параметри для xта yє виразами, що містять такі константи та функції:
darформат вхідного дисплея, такий самий, як (
w/h) *sarhsubvsubгоризонтальні та вертикальні значення кольоровості. Наприклад, для піксельного формату "yuv422p"
hsubдорівнює 2 іvsub1.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 Text expansion
Якщоexpansionвстановлено значення strftime, фільтр розпізнає послідовності strftime() у наданому тексті та розгортає їх відповідно. Перевірте документацію strftime(). Ця функція застаріла.
Якщоexpansionвстановлено значення none, текст друкується дослівно.
Якщоexpansionмає значення normal(за замовчуванням), використовується наступний механізм розширення.
Символ зворотної косої риски '\', після якого йде будь-який символ, завжди розширюється до другого символу.
Послідовності форми %{...}розгорнуті. Текст у фігурних дужках — це ім’я функції, за яким, можливо, слідують аргументи, розділені знаком «:». Якщо аргументи містять спеціальні символи або розділювачі (':' або '}'), їх слід екранувати.
Зверніть увагу, що вони, ймовірно, також повинні бути екрановані як значення для
textпараметр у рядку аргументу фільтра та як аргумент фільтра в описі 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.Також доступні метадані рядка, згенеровані у фільтрах, що ведуть до фільтра малювання тексту.
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 Commands
Цей фільтр підтримує зміну параметрів за допомогою команд:
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 Examples
- Намалюйте «Тестовий текст» шрифтом 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Встановіть низькі та високі порогові значення, які використовуються алгоритмом порогового значення Canny.
Високий поріг вибирає «сильні» крайові пікселі, які потім з’єднуються через 8-з’єднання зі «слабкими» крайовими пікселями, вибраними низьким порогом.
lowіhighпорогові значення повинні бути обрані в діапазоні [0,1] іlowповинні бути меншими або дорівнюватиhigh.Значення за замовчуванням для
low,20/255а значення за замовчуваннямhighдля50/255.modeВизначте режим малювання.
- '
wires' Намалюйте білі/сірі дроти на чорному тлі.
- '
colormix' Змішайте кольори, щоб створити ефект фарби/мультфільму.
- '
canny' Застосуйте детектор країв Canny на всіх вибраних площинах.
Значення за замовчуванням:
wires.- '
planesВиберіть площини для фільтрації. За замовчуванням усі доступні площини фільтруються.
11.73.1 Examples
- Стандартне визначення краю з настроюваними значеннями для порогового значення гістерезису:
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 Commands
Фільтр підтримує такі команди:
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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
11.79 estdif
Деінтерлейсування вхідного відео ("estdif" означає "Edge Slope Tracing Deinterlacing Filter").
Просторовий фільтр, який використовує алгоритм трасування нахилу країв для інтерполяції відсутніх ліній. Він приймає такі параметри:
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 Commands
Цей фільтр підтримує ті самі команди , що й параметри.
11.80 exposure
Відрегулюйте експозицію відеопотоку.
Фільтр приймає такі параметри:
exposureВстановіть корекцію експозиції в EV. Дозволений діапазон – від -3,0 до 3,0 EV Значення за замовчуванням – 0 EV.
blackВстановіть корекцію рівня чорного. Дозволений діапазон від -1,0 до 1,0. Значення за замовчуванням 0.
11.80.1 Commands
Цей фільтр підтримує ті самі команди , що й параметри.
11.81 extractplanes
Вилучайте компоненти кольорового каналу з вхідного відеопотоку в окремі відеопотоки у відтінках сірого.
Фільтр приймає такі параметри:
planesВстановіть площину(и) для вилучення.
Доступні значення для площин:
- '
y' - '
u' - '
v' - '
a' - '
r' - '
g' - '
b'
Вибір площин, недоступних у вхідних даних, призведе до помилки. Це означає, що ви не можете вибирати площини
r,g,bразом із площинамиy,u,vодночасно.- '
11.81.1 Examples
- Вилучити компоненти колірного каналу яскравості, 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 Examples
- Зникнення в перших 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-й вихід. Звідти його можна фільтрувати за допомогою інших відеофільтрів. Після того як фільтр отримує кадр із 2-го входу, цей кадр об’єднується поверх оригінального кадру з 1-го входу та передається на 1-й вихід.
Типове використання – фільтрувати лише частину кадру.
Фільтр приймає такі параметри:
xyУстановіть верхню ліву позицію кадрування.
whВстановіть розмір кадрування.
11.83.1 Examples
- Розмийте лише верхню ліву прямокутну частину відеокадру розміром 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 ШПФ (фільтрація в частотній області).
Фільтр приймає такі параметри:
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 Examples
- Високих частот:
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Коли
combatchне єnone,fieldmatchвізьме до уваги скомбіновані результати матчів, коли вирішуватиме, який матч використовувати як фінальний матч. Доступні значення:- '
none' Немає остаточного зіставлення на основі комбінованих балів.
- '
sc' Комбіновані оцінки використовуються лише тоді, коли виявляється зміна сцени.
- '
full' Використовуйте зачесані бали весь час.
Типовим є
sc.- '
combdbgПримусово
fieldmatchобчислювати комбіновані показники для певних збігів і друкувати їх. Цей параметр відомий якmicoutу словнику TFM/VFM. Доступні значення:- '
none' Без примусового розрахунку.
- '
pcn' Силові п/к/н розрахунки.
- '
pcnub' Примусові обчислення p/c/n/u/b.
Значення за замовчуванням:
none.- '
cthreshЦе порогове значення зони комбінування, яке використовується для виявлення комбінованого кадру. Це, по суті, контролює, наскільки «сильним» або «видимим» має бути розчісування, щоб його було виявлено. Більші значення означають, що розчісування має бути більш помітним, а менші значення означають, що розчісування може бути менш помітним або сильним і все одно може бути виявлено. Дійсні параметри від
-1(кожен піксель буде виявлено як розчесаний) до255(жоден піксель не буде виявлено як розчесаний). В основному це значення різниці в пікселях. Хорошим діапазоном є[8, 12].Значення за замовчуванням:
9.chromaВстановлює, чи враховується кольоровість у рішенні комбінованого кадру. Вимкніть це, лише якщо ваше джерело має проблеми кольоровості (веселка тощо), які спричиняють проблеми з розпізнаванням комбінованого кадру з увімкненою кольоровістю. Власне, використовуючи
chroma=0зазвичай є більш надійним, за винятком випадку, коли в джерелі є лише розчісування кольоровості.Значення за замовчуванням:
0.blockxblockyВідповідно встановіть розмір вікна, яке використовується під час виявлення комбінованого кадру, по осі x і осі y. Це пов’язано з розміром території, на якій
combpelпікселі повинні бути виявлені як розчесані, щоб кадр було оголошено розчесаним. Дивcombpelопис параметра для отримання додаткової інформації. Можливими значеннями є будь-яке число, яке є степенем 2, починаючи з 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 meaning
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, низ:2). Відповідно до відповідності, «x» ставиться над і під кожним зіставленим полем.
З нижньою відповідністю (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 Examples
Простий 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 Commands
Цей фільтр підтримує ті самі команди , що й параметри. Команда приймає той самий синтаксис відповідного параметра.
Якщо вказаний вираз недійсний, його поточне значення зберігається.
11.92 find_rect
Знайдіть прямокутний предмет
Він приймає такі варіанти:
objectШлях до файлу зображення об’єкта має бути сірим8.
thresholdПоріг виявлення, за замовчуванням 0,5.
mipmapsКількість MIP-карт, за замовчуванням 3.
xmin, ymin, xmax, ymaxВизначає прямокутник, у якому шукати.
discardВідкинути кадри, у яких об’єкт не виявлено. За замовчуванням вимкнено.
11.92.1 Examples
- Накрийте прямокутний об’єкт наданим зображенням певного відео за допомогою
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 Examples
- Перетворіть вхідне відео у
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]].
Дивіться також фільтр setpts .
11.95.1 Examples
- Типове використання для встановлення частоти кадрів на секунду на 25:
fps=fps=25 - Встановлює кадр/с на 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
Стоп-кадри відео.
Цей фільтр фіксує кадри відео, використовуючи кадр із 2-го входу.
Фільтр приймає такі параметри:
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 Examples
- Застосуйте ефект distort0r, встановивши перші два подвійних параметра:
frei0r=filter_name=distort0r:filter_params=0.5|0.01 - Застосуйте ефект колірної відстані, взявши колір як перший параметр:
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 Commands
Цей фільтр підтримуєfilter_paramsпараметр як команди .
11.102 fspp
Застосуйте швидку та просту постобробку. Це швидша версія spp .
Він розділяє (I)DCT на горизонтальні/вертикальні проходи. На відміну від простого фільтра постобробки, один із них виконується один раз на блок, а не на піксель. Це дозволяє досягти набагато вищої швидкості.
Фільтр приймає такі параметри:
qualityВстановити якість. Цей параметр визначає кількість рівнів для усереднення. Він приймає ціле число в діапазоні 4-5. Значення за замовчуванням:
4.qpПримусово встановити постійний параметр квантування. Він приймає ціле число в діапазоні 0-63. Якщо не встановлено, фільтр використовуватиме QP із відеопотоку (якщо доступний).
strengthВстановити силу фільтра. Він приймає ціле число в діапазоні від -15 до 32. Менші значення означають більше деталей, але також більше артефактів, тоді як вищі значення роблять зображення більш гладким, але також розмитим. Значення за замовчуванням
0− PSNR optimal.use_bframe_qpУвімкніть використання QP з B-Frames, якщо встановлено
1. Використання цього параметра може спричинити мерехтіння, оскільки B-кадри часто мають більший QP. За замовчуванням0(не ввімкнено).
11.103 gblur
Застосуйте фільтр розмиття Гауса.
Фільтр приймає такі параметри:
sigmaУстановіть горизонтальну сигму, стандартне відхилення розмиття за Гаусом. Типовим є
0.5.stepsВстановіть кількість кроків для апроксимації Гауса. Типовим є
1.planesВстановіть, які площини фільтрувати. За замовчуванням усі площини фільтруються.
sigmaVВстановіть вертикальну сигму, якщо від’ємна, вона буде такою самою, як
sigma. Типовим є-1.
11.103.1 Commands
Цей фільтр підтримує ті самі команди, що й параметри. Команда приймає той самий синтаксис відповідного параметра.
Якщо вказаний вираз недійсний, його поточне значення зберігається.
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
параметри, фільтр автоматично вибере простір кольорів YCbCr. Якщо один ізred_expr,green_expr, або
blue_exprякщо вказати параметри, він вибере простір кольорів 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 Examples
- Переверніть зображення по горизонталі:
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 Examples
- Застосуйте фільтр з
3.5міцністю та радіусом8:gradfun=3.5:8 - Укажіть радіус, опустивши міцність (що повернеться до значення за замовчуванням):
gradfun=radius=8
11.106 graphmonitor
Показати різноманітну статистику фільтрів.
За допомогою цього фільтра можна налагодити повний фільтр. Особливо проблеми із заповненням посилань фреймами в черзі.
Фільтр приймає такі параметри:
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 Examples
- сірий край:
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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
11.109.2 Examples
- Згладжування із збереженням країв за допомогою керованого фільтра:
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 можна знайти на веб-сайті Eskil Steenberg (автор Hald CLUT) за адресою http://www.quelsolaar.com/technology/clut.html .
11.110.1 Commands
Цей фільтр підтримує interpопцію як команди .
11.110.2 Workflow examples
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 Examples
- Обчислити та намалювати гістограму:
ffplay -i input -vf histogram
11.114 hqdn3d
Це високоточний/якісний тривимірний шумозаглушувальний фільтр. Він спрямований на зменшення шуму зображення, створюючи плавні зображення та роблячи нерухомі зображення дійсно нерухомими. Це повинно підвищити стисливість.
Він приймає наступні додаткові параметри:
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 Commands
Цей фільтр підтримує ті самі команди , що й параметри. Команда приймає той самий синтаксис відповідного параметра.
Якщо вказаний вираз недійсний, його поточне значення зберігається.
11.115 hwdownload
Завантажте апаратні кадри в пам'ять системи.
Вхідні дані мають бути в апаратних кадрах, а вихідні – у неапаратному форматі. Не всі формати будуть підтримуватися на виході - можливо, доведеться вставити додатковийformatфільтрувати відразу після графіка, щоб отримати вивід у підтримуваному форматі.
11.116 hwmap
Зіставте апаратні кадри в системну пам'ять або інший пристрій.
Цей фільтр має кілька різних режимів роботи; який із них використовується, залежить від форматів введення та виведення:
- Апаратний кадровий вхід, нормальний кадровий вихід
Зіставте вхідні кадри в системну пам'ять і передайте їх на вихід. Якщо пізніше знадобиться вихідний апаратний каркас (наприклад, після накладання чогось іншого на його частину), то
hwmapфільтр можна використовувати знову в наступному режимі, щоб отримати його. - Звичайний кадровий вхід, апаратний кадровий вихід
Якщо вхідні дані насправді є програмно-відображеним апаратним фреймом, скасуйте його зіставлення, тобто поверніть вихідний апаратний кадр.
В іншому випадку необхідно надати пристрій. Створіть нові апаратні поверхні на цьому пристрої для виведення, а потім зіставте їх назад у формат програмного забезпечення на вході та надайте ці кадри попередньому фільтру. Тоді це діятиме як
hwuploadфільтр, але можна уникнути додаткової копії, коли вхідні дані вже є у сумісному форматі. - Апаратний вхід і вихід кадру
Пристрій повинен постачатися для виведення безпосередньо або разом з
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є взаємовиключними та не можуть бути визначені одночасно.
Theb,h,HіsЗначення параметрів - це вирази, що містять такі константи:
nкількість кадрів вхідного кадру, починаючи з 0
ptsвідмітка часу представлення вхідного кадру, виражена в одиницях основного часу
rчастота кадрів вхідного відео, NAN, якщо частота кадрів вхідного сигналу невідома
tпозначка часу, виражена в секундах, NAN, якщо позначка часу введення невідома
tbчасова база вхідного відео
11.123.1 Examples
- Встановіть відтінок 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 Commands
Цей фільтр підтримує такі команди:
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, idet використовуватиме вказану кількість кадрів, щоб визначити, чи правильний прапор черезрядкової розгортки, він не рахуватиме невизначені кадри. Якщо прапор виявиться точним, він використовуватиметься без будь-яких подальших обчислень, якщо він буде визнаний неточним, його буде очищено без будь-яких додаткових обчислень. Це дозволяє вставити фільтр 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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
11.131 inflate
Застосуйте ефект збільшення до відео.
Цей фільтр замінює піксель локальним (3x3) середнім, враховуючи лише значення, вищі за піксель.
Він приймає такі варіанти:
threshold0threshold1threshold2threshold3Обмежте максимальну зміну для кожної площини, за замовчуванням 65535. Якщо 0, площина залишиться незмінною.
11.131.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
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
Деінтерлейс вхідного відео за допомогою адаптивного деінтерлінгу ядра Donald Graft. Працюйте над переплетеними частинами відео, щоб створити прогресивні кадри.
Нижче наведено опис прийнятих параметрів.
threshВстановіть порогове значення, яке впливає на допуск фільтра під час визначення того, чи потрібно обробити піксельну лінію. Це має бути ціле число в діапазоні [0,255] і за умовчанням дорівнює 10. Значення 0 призведе до застосування процесу до кожного пікселя.
mapЗафарбовувати пікселі, що перевищують порогове значення, білим, якщо встановлено значення 1. За замовчуванням 0.
orderВстановіть порядок полів. Поміняти місцями поля, якщо встановлено значення 1, залиште поля без змін, якщо значення 0. За замовчуванням 0.
sharpУвімкнути додаткове підвищення різкості, якщо встановлено значення 1. За замовчуванням 0.
twowayУвімкнути двосторонню різкість, якщо встановлено значення 1. За замовчуванням 0.
11.133.1 Examples
- Застосувати значення за замовчуванням:
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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
11.135 lagfun
Повільно оновлюйте темніші пікселі.
Цей фільтр робить короткі спалахи світла довшими. Цей фільтр приймає такі параметри:
decayВстановити коефіцієнт розпаду. За замовчуванням .95. Дозволений діапазон від 0 до 1.
planesВстановіть, які площини фільтрувати. За замовчуванням це все. Дозволений діапазон від 0 до 15.
11.135.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
11.136 lenscorrection
Виправлення радіальної дисторсії лінзи
Цей фільтр можна використовувати для корекції радіальних спотворень, які можуть виникнути в результаті використання ширококутних лінз, і таким чином повторно виправити зображення. Щоб знайти потрібні параметри, можна скористатися інструментами, доступними, наприклад, як частина opencv або просто методом проб і помилок. Щоб використовувати opencv, скористайтеся зразком калібрування (у розділі samples/cpp) із джерел opencv і витягніть коефіцієнти k1 і k2 з результуючої матриці.
Зауважте, що фактично той самий фільтр доступний у інструментах із відкритим кодом Krita та Digikam із проекту KDE.
На відміну від фільтра віньєтки , який також можна використовувати для компенсації помилок об’єктива, цей фільтр виправляє викривлення зображення, тоді як віньєтування виправляє розподіл яскравості, тому в деяких випадках ви можете використовувати обидва фільтри разом, хоча вам доведеться подбати про порядок, тобто про те, чи слід застосовувати віньєтування до або після корекції лінз.
11.136.1 Options
Фільтр приймає такі параметри:
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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
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 Examples
- Застосовуйте корекцію об’єктивів марки «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 Options
Параметри цього фільтра розділені на такі розділи:
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' Примусово використовує вбудовану вибірку текстур GPU (зазвичай білінійну). Надзвичайно швидко, але поганої якості, особливо при зменшенні масштабу.
- '
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. Це обертатиме УФ-підвектор, за замовчуванням коефіцієнти 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_sizeРозмір LUT, як log 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Вимкнути вбудовану вибірку GPU (примусово вмикає LUT).
force_icc_lutПримусово використовувати повний ICC 3DLUT для відображення гами.
disable_fbosПримусово вимкніть FBO, що призведе до втрати майже всіх функцій, але запропонує максимально можливу швидкість.
11.138.2 Commands
Цей фільтр підтримує майже всі наведені вище параметри як команди .
11.138.3 Examples
- Повний приклад того, як ініціалізувати пристрій 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 (Video Multi-Method Assessment Fusion) для опорної/спотвореної пари вхідних відео.
Перший вхід – це спотворене відео, а другий вхід – еталонне відео.
Отримана оцінка 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 Examples
- У наведених нижче прикладах спотворене відео
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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди , крім параметра 'reference'.
11.141 limiter
Обмежує значення піксельних компонентів вказаним діапазоном [min, max].
Фільтр приймає такі параметри:
minНижня межа. За замовчуванням встановлено найнижче дозволене значення для введення.
maxВерхня межа. За умовчанням встановлено найвище дозволене значення для введення.
planesВкажіть, які площини будуть оброблені. За замовчуванням усі доступні.
11.141.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
11.142 loop
Цикл відео кадрів.
Фільтр приймає такі параметри:
loopВстановіть кількість петель. Встановлення цього значення на -1 призведе до нескінченних циклів. За замовчуванням 0.
sizeВстановіть максимальний розмір у кількості кадрів. За замовчуванням 0.
startУстановіть перший кадр циклу. За замовчуванням 0.
11.142.1 Examples
- Нескінченне повторення одного першого кадру:
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' cineSpace
- '
interpВиберіть режим інтерполяції.
Доступні значення:
- '
nearest' Використовуйте значення з найближчої визначеної точки.
- '
linear' Інтерполюйте значення за допомогою лінійної інтерполяції.
- '
cosine' Інтерполяція значень за допомогою косинусної інтерполяції.
- '
cubic' Інтерполюйте значення за допомогою кубічної інтерполяції.
- '
spline' Інтерполюйте значення за допомогою сплайн-інтерполяції.
- '
11.143.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
11.144 lut3d
Застосуйте 3D LUT до вхідного відео.
Фільтр приймає такі параметри:
fileВстановіть назву файлу 3D LUT.
Наразі підтримувані формати:
- '
3dl' Після ефектів
- '
cube' Іриди
- '
dat' Da Vinci
- '
m3d' Пандора
- '
csp' cineSpace
- '
interpВиберіть режим інтерполяції.
Доступні значення:
- '
nearest' Використовуйте значення з найближчої визначеної точки.
- '
trilinear' Інтерполюйте значення, використовуючи 8 точок, що визначають куб.
- '
tetrahedral' Інтерполюйте значення за допомогою тетраедра.
- '
pyramid' Інтерполяція значень за допомогою піраміди.
- '
prism' Інтерполюйте значення за допомогою призми.
- '
11.144.1 Commands
Цей фільтр підтримує interpопцію як команди .
11.145 lumakey
Перетворення певних значень яскравості на прозорість.
Фільтр приймає такі параметри:
thresholdВстановіть яскравість, яка використовуватиметься як основа для прозорості. Значення за замовчуванням:
0.toleranceВстановіть діапазон значень яскравості, які потрібно вивести. Значення за замовчуванням:
0.01.softnessВстановити діапазон м'якості. Значення за замовчуванням:
0. Використовуйте це, щоб керувати поступовим переходом від нуля до повної прозорості.
11.145.1 Commands
Цей фільтр підтримує ті самі команди , що й параметри. Команда приймає той самий синтаксис відповідного параметра.
Якщо вказаний вираз недійсний, його поточне значення зберігається.
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 на вході,
lutrgbRGB піксельних форматів на вході та lutyuvYUV.
Вирази можуть містити такі константи та функції:
whШирина та висота введення.
valВхідне значення для компонента пікселя.
clipvalВхідне значення, обрізане до діапазону
minval- .maxvalmaxvalМаксимальне значення для компонента пікселя.
minvalМінімальне значення для компонента пікселя.
negvalОб’єднане значення для значення компонента пікселя, обрізане до діапазону
minval- ;maxvalце відповідає виразу "maxval-clipval+minval".clip(val)Обчислене значення в
val, обрізане до діапазонуminval- .maxvalgammaval(gamma)Обчислене значення гамма-корекції значення компонента пікселя, обрізане до діапазону
minval- .maxvalЦе відповідає виразу "pow((clipval-minval)/(maxval-minval)\,gamma)*(maxval-minval)+minval"
Усі вирази за умовчанням мають значення "clipval".
11.146.1 Commands
Цей фільтр підтримує ті самі команди , що й параметри.
11.146.2 Examples
- Скасувати вхідне відео:
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)' - Технічний ефект:
lutyuv=u='(val-maxval/2)*2+maxval/2':v='(val-maxval/2)*2+maxval/2'
11.147 lut2, tlut2
Фільтр lut2приймає два вхідних потоки і виводить один потік.
Фільтр tlut2(час lut2) приймає два послідовних кадри з одного потоку.
Цей фільтр приймає такі параметри:
c0встановити перший компонент піксельного виразу
c1встановити другий компонент піксельного виразу
c2встановити вираз компонента третього пікселя
c3встановіть четвертий піксельний компонент виразу, що відповідає альфа-компоненту
dвстановити вихідну бітову глибину, доступну лише для
lut2фільтра. За замовчуванням 0, що означає, що бітова глибина автоматично вибирається з першого вхідного формату.
Фільтр lut2також підтримує параметри синхронізації кадрів .
Кожен із них визначає вираз, який слід використовувати для обчислення таблиці пошуку для відповідних значень піксельних компонентів.
Точний компонент, пов’язаний з кожним із c*параметрів, залежить від формату вхідних даних.
Вирази можуть містити такі константи:
whШирина та висота введення.
xПерше вхідне значення для компонента пікселя.
yДруге вхідне значення для компонента пікселя.
bdxРозрядність першого вхідного відео.
bdyБітова глибина другого вхідного відео.
Усі вирази за умовчанням мають значення "x".
11.147.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди , крім параметра d.
11.147.2 Examples
- Виділіть відмінності між двома відеопотоками 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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
11.149 maskedmax
Об’єднайте другий і третій вхідний потік у вихідний потік, використовуючи абсолютні різниці між другим вхідним потоком і першим вхідним потоком і абсолютну різницю між третім вхідним потоком і першим вхідним потоком. Вибране значення буде з другого вхідного потоку, якщо друга абсолютна різниця більша за першу, або з третього вхідного потоку в іншому випадку.
Цей фільтр приймає такі параметри:
planesВстановіть, які площини будуть оброблені як растрові, необроблені площини будуть скопійовані з першого потоку. За замовчуванням значення 0xf буде оброблено всі площини.
11.149.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
11.150 maskedmerge
Об’єднайте перший вхідний потік із другим вхідним потоком, використовуючи піксельні ваги в третьому вхідному потоці.
Значення 0 у компоненті пікселя третього потоку означає, що компонент пікселя з першого потоку повертається без змін, тоді як максимальне значення (наприклад, 255 для 8-бітного відео) означає, що компонент пікселя з другого потоку повертається без змін. Проміжні значення визначають ступінь злиття між піксельними компонентами обох вхідних потоків.
Цей фільтр приймає такі параметри:
planesВстановіть, які площини будуть оброблені як растрові, необроблені площини будуть скопійовані з першого потоку. За замовчуванням значення 0xf буде оброблено всі площини.
11.150.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
11.151 maskedmin
Об’єднайте другий і третій вхідний потік у вихідний потік, використовуючи абсолютні різниці між другим вхідним потоком і першим вхідним потоком і абсолютну різницю між третім вхідним потоком і першим вхідним потоком. Вибране значення буде з другого вхідного потоку, якщо друга абсолютна різниця менша за першу, або з третього вхідного потоку в іншому випадку.
Цей фільтр приймає такі параметри:
planesВстановіть, які площини будуть оброблені як растрові, необроблені площини будуть скопійовані з першого потоку. За замовчуванням значення 0xf буде оброблено всі площини.
11.151.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
11.152 maskedthreshold
Виберіть пікселі, порівнюючи абсолютну різницю двох відеопотоків із фіксованим порогом.
Якщо абсолютна різниця між піксельним компонентом першого та другого відеопотоку дорівнює або нижча за заданий користувачем поріг, тоді піксельний компонент вибирається з першого відеопотоку, інакше піксельний компонент вибирається з другого відеопотоку.
Цей фільтр приймає такі параметри:
thresholdВстановіть порогове значення, яке використовується під час вибору пікселів з абсолютної різниці з двох вхідних відеопотоків.
planesВстановіть, які площини будуть оброблені як растрові, необроблені площини будуть скопійовані з другого потоку. За замовчуванням значення 0xf буде оброблено всі площини.
11.152.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
11.153 maskfun
Створення маски з вхідного відео.
Наприклад, корисно створювати маски руху після tblendфільтра.
Цей фільтр приймає такі параметри:
lowВстановіть низький поріг. Будь-який піксельний компонент, нижчий або точніший за це значення, буде встановлено на 0.
highВстановити високий поріг. Для будь-якого піксельного компонента, вищого за це значення, буде встановлено максимальне значення, дозволене для поточного формату пікселів.
planesВстановіть площини для фільтрування, за замовчуванням фільтруються всі доступні площини.
fillЗаповніть усі пікселі рамки цим значенням.
sumУстановіть максимальне середнє значення пікселів для кадру. Якщо сума всіх піксельних компонентів перевищує це середнє значення, вихідний кадр буде повністю заповнений значенням, встановленим
fillпараметром. Як правило, це корисно для зміни сцени в поєднанні зtblendфільтром.
11.153.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
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 Commands
Цей фільтр підтримує ті самі команди , що й параметри. Команда приймає той самий синтаксис відповідного параметра.
Якщо вказаний вираз недійсний, його поточне значення зберігається.
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 Examples
- Об’єднайте три сірі відеопотоки однакової ширини та висоти в один відеопотік:
[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 налаштовує пару зображень так, щоб мати однакову гістограму, максимально зберігаючи їхню динаміку. Це корисно, наприклад, для зіставлення експозиції з пари стереокамер.
Цей фільтр має два входи та один вихід, які мають мати однаковий формат пікселів, але можуть мати різні розміри. Вихід фільтра - це перший вхід, скоригований за допомогою середньої гістограми обох входів.
Цей фільтр приймає такі параметри:
planesВизначте, які площини обробляти. За замовчуванням встановлено
15, тобто всі доступні літаки.
11.159 minterpolate
Перетворіть відео на задану частоту кадрів за допомогою інтерполяції руху.
Цей фільтр приймає такі параметри:
fpsВкажіть вихідну частоту кадрів. Це може бути раціонально, напр
60000/1001. Кадри пропускаються, якщо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 Commands
Цей фільтр підтримує такі команди:
weightsscaleplanesСинтаксис такий самий, як і параметр із такою ж назвою.
11.161 monochrome
Перетворюйте відео на сіре за допомогою спеціального кольорового фільтра.
Нижче наведено опис прийнятих варіантів.
cbВстановіть кольорову синю пляму. Дозволений діапазон від -1 до 1. Значення за замовчуванням 0.
crВстановіть кольорову червону пляму. Дозволений діапазон від -1 до 1. Значення за замовчуванням 0.
sizeВстановіть розмір кольорового фільтра. Дозволений діапазон — від 0,1 до 10. Значення за замовчуванням — 1.
highВстановіть силу відблисків. Дозволений діапазон — від 0 до 1. Значення за замовчуванням — 0.
11.161.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
11.162 morpho
Цей фільтр дозволяє застосовувати основні морфологічні перетворення відтінків сірого, розмивати та розширювати довільні структури, встановлені у другому вхідному потоці.
На відміну від простої реалізації та набагато повільнішої продуктивності у фільтрах ерозії
та розширення , коли швидкість є критичною, morphoфільтр слід використовувати замість цього.
Нижче наведено опис прийнятих варіантів,
modeЗадати морфологічне перетворення для застосування можна:
- '
erode' - '
dilate' - '
open' - '
close' - '
gradient' - '
tophat' - '
blackhat'
Типовим є
erode.- '
planesВстановіть площини для фільтрування, за замовчуванням фільтруються всі площини, крім альфа.
structureВстановити, яка структура відеокадрів буде оброблена з другого вхідного потоку, може бути
firstабоall. Типовим єall.
Фільтр morphoтакож підтримує параметри синхронізації кадрів .
11.162.1 Commands
Цей фільтр підтримує ті самі команди , що й параметри.
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 Commands
Цей фільтр підтримує ті самі команди , що й параметри.
11.166 negate
Інвертувати (інвертувати) вхідне відео.
Він приймає наступний варіант:
componentsУстановіть компоненти на заперечення.
Доступні значення для компонентів:
- '
y' - '
u' - '
v' - '
a' - '
r' - '
g' - '
b'
- '
negate_alphaЗі значенням 1 він заперечує альфа-компонент, якщо він присутній. Значення за замовчуванням 0.
11.166.1 Commands
Цей фільтр підтримує ті самі команди , що й параметри.
11.167 nlmeans
Усунення шумів у кадрах за допомогою алгоритму нелокальних середніх.
Кожен піксель коригується шляхом пошуку інших пікселів із подібним контекстом. Ця контекстна подібність визначається шляхом порівняння навколишніх частин розміру
pxp. Латки шукають у районіrxr
навколо пікселя.
Зауважте, що область дослідження визначає центри для патчів, а це означає, що деякі патчі складатимуться з пікселів за межами цієї дослідницької області.
Фільтр приймає такі параметри.
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, default абоslow.etypeУстановіть, який набір ваг використовувати в предикторі. Може бути одним із таких:
- '
a, abs' ваги, навчені для мінімізації абсолютної похибки
- '
s, mse' ваги навчені для мінімізації квадратичної помилки
- '
pscrnКонтролює, чи використовується нейронна мережа попереднього перегляду для визначення того, які пікселі мають бути оброблені нейронною мережею предиктора, а які можна обробляти простою кубічною інтерполяцією. Особа попереднього відбору навчена знати, чи буде кубічна інтерполяція достатня для пікселя, чи вона повинна бути передбачена предиктором nn. Обчислювальна складність попереднього скринінгу nn набагато менша, ніж складність предиктора nn. Оскільки більшість пікселів можна обробляти кубічною інтерполяцією, використання попереднього скринінгу зазвичай призводить до набагато швидшої обробки. Попередній скринінг досить точний, тому різниця між його використанням і невикористанням майже завжди непомітна.
Може бути одним із таких:
- '
none' - '
original' - '
new' - '
new2' - '
new3'
Типовим є
new.- '
11.168.1 Commands
Цей фільтр підтримує ті самі команди , що й параметри, за винятком weightsпараметра.
11.169 noformat
Змусити libavfilter не використовувати жоден із указаних форматів пікселів для вхідних даних до наступного фільтра.
Він приймає такі параметри:
pix_fmtsРозділений «|» список імен форматів пікселів, наприклад pix_fmts=yuv420p|monow|rgb24».
11.169.1 Examples
- Змусити 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 Examples
Додайте тимчасовий і рівномірний шум до вхідного відео:
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 є досить дорогим безопераційним способом. За замовчуванням 1.0 (повна сила).
11.171.1 Commands
Цей фільтр підтримує ті самі команди , що й параметри, за винятком smoothingпараметра. Команда приймає той самий синтаксис відповідного параметра.
Якщо вказаний вираз недійсний, його поточне значення зберігається.
11.171.2 Examples
Розтягнути контраст відео для використання повного динамічного діапазону без тимчасового згладжування; може мерехтіти залежно від вихідного вмісту:
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Встановіть шлях до даних для тесерактних даних. За замовчуванням використовується те, що було встановлено під час встановлення.
languageВстановіть мову, за замовчуванням "англ".
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 dilate
Розширте зображення за допомогою певного структурного елемента. Це відповідає функції libopencv cvDilate.
Він приймає параметри: struct_el| nb_iterations.
struct_elпредставляє структурний елемент і має синтаксис:
colsx rows+ anchor_xx anchor_y/shape
colsі rowsпредставляють кількість стовпців і рядків структурного елемента, anchor_xі anchor_yточку прив’язки, і shapeформу для структурного елемента. shape
має бути "прямий", "хрест", "еліпс" або "спеціальний".
Якщо значенням shapeє «користувацький», за ним має слідувати рядок у формі «= filename». Передбачається, що файл із назвою
filenameпредставляє двійкове зображення, де кожен друкований символ відповідає яскравому пікселю. Якщо настроюваний
shapeвикористовується colsта rowsігнорується, натомість приймається кількість або стовпці та рядки зчитаного файлу.
Значення за замовчуванням struct_el— «3x3+0x0/rect».
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 erode
Розмийте зображення за допомогою певного структурного елемента. Це відповідає функції libopencv cvErode.
Він приймає параметри: struct_el: nb_iterationsз тим самим синтаксисом і семантикою, що й фільтр
розширення .
11.174.3 smooth
Згладжування вхідного відео.
Фільтр приймає такі параметри:
type| param1| param2| param3| param4.
typeце тип плавного фільтра, який потрібно застосувати, і має бути одним із таких значень: "blur", "blur_no_scale", "median", "gaussian" або "bilateral". Значенням за замовчуванням є "гаусів".
Значення param1, param2, param3, і param4
залежить від гладкого типу. param1і
param2приймати цілі додатні значення або 0. param3і
param4приймати значення з плаваючою комою.
Значення за замовчуванням для param1— 3. Значення за замовчуванням для інших параметрів — 0.
Ці параметри відповідають параметрам, призначеним функції libopencv cvSmooth.
11.175 oscilloscope
2D відеоосцилограф.
Корисно для вимірювання просторового імпульсу, реакції на крок, затримки кольоровості тощо.
Він приймає такі параметри:
xУстановіть центр області осі x.
yВстановіть центр осці y.
sВстановіть розмір області відносно діагоналі кадру.
tНалаштування нахилу/обертання прицілу.
oВстановити непрозорість трасування.
txУстановіть центр трасування по осі x.
tyВстановіть центр трасування в положення y.
twВстановіть ширину контуру відносно ширини кадру.
thВстановіть висоту трасування відносно висоти кадру.
cВстановіть, які компоненти відстежувати. За замовчуванням він відстежує перші три компоненти.
gНамалюйте сітку трасування. За замовчуванням увімкнено.
stНамалюйте трохи статистики. За замовчуванням увімкнено.
scМалювати обсяг. За замовчуванням увімкнено.
11.175.1 Commands
Цей фільтр підтримує ті самі команди , що й параметри. Команда приймає той самий синтаксис відповідного параметра.
Якщо вказаний вираз недійсний, його поточне значення зберігається.
11.175.2 Examples
- Огляньте весь перший ряд відеокадру.
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Дивіться framesync .
evalВстановіть, коли вирази для
x, іyоцінюються.Він приймає такі значення:
- '
init' обчислювати вирази лише один раз під час ініціалізації фільтра або під час обробки команди
- '
frame' оцінити вирази для кожного вхідного кадру
Значення за замовчуванням: '
frame'.- '
shortestДивіться framesync .
formatВстановіть формат вихідного відео.
Він приймає такі значення:
- '
yuv420' силовий вихід YUV420
- '
yuv420p10' силовий вихід YUV420p10
- '
yuv422' силовий вихід YUV422
- '
yuv422p10' сила YUV422p10 вихід
- '
yuv444' силовий вихід YUV444
- '
rgb' примусово упакований вихід RGB
- '
gbrp' силовий планарний вихід RGB
- '
auto' автоматично вибрати формат
Значення за замовчуванням: '
yuv420'.- '
repeatlastДивіться framesync .
alphaВстановіть формат альфа-версії накладеного відео, це може бути
straightабоpremultiplied. Типовим єstraight.
Thex, іyвирази можуть містити такі параметри.
main_w, Wmain_h, HОсновний вхід ширина і висота.
overlay_w, woverlay_h, hШирина та висота введення накладки.
xyОбчислені значення для
xтаy. Вони оцінюються для кожного нового кадру.hsubvsubгоризонтальні та вертикальні значення кольоровості вихідного формату. Наприклад, для піксельного формату "yuv422p"
hsubдорівнює 2 іvsub1.nномер вхідного кадру, починаючи з 0
posпозиція у файлі вхідного кадру, NAN, якщо невідома
tПозначка часу, виражена в секундах. Це NAN, якщо позначка часу введення невідома.
Цей фільтр також підтримує параметри синхронізації кадрів .
Зауважте, що змінні n, pos, tдоступні лише тоді, коли оцінка виконується для кадру , і оцінюватимуться для NAN, колиevalвстановлено на 'init'.
Майте на увазі, що кадри беруться з кожного вхідного відео в порядку часових позначок, отже, якщо їхні початкові часові позначки відрізняються, доцільно пропустити два входи через setpts=PTS-STARTPTSфільтр, щоб вони починалися з тієї самої нульової часової позначки, як у прикладі для movieфільтр робить.
Ви можете об’єднати більше оверлеїв, але ви повинні перевірити ефективність такого підходу.
11.176.1 Commands
Цей фільтр підтримує такі команди:
xyЗмініть x і y накладеного введення. Команда приймає той самий синтаксис відповідного параметра.
Якщо вказаний вираз недійсний, його поточне значення зберігається.
11.176.2 Examples
- Намалюйте накладання на відстані 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Дивіться framesync .
shortestДивіться framesync .
repeatlastДивіться framesync .
Цей фільтр також підтримує параметри синхронізації кадрів .
11.178 owdenoise
Застосувати OverComplete Wavelet Denoiser.
Фільтр приймає такі параметри:
depthВстановити глибину.
Більші значення глибини більше приглушуватимуть нижчі частотні компоненти, але сповільнять фільтрацію.
Має бути значення в діапазоні 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вираз .xyВін приймає такі значення:
- '
init' Обчислюйте вирази лише один раз під час ініціалізації фільтра або під час обробки команди.
- '
frame' Оцініть вирази для кожного вхідного кадру.
Значення за замовчуванням: '
init'.- '
aspectДодайте формат замість роздільної здатності.
Значення параметрів width, height, xі y
є виразами, що містять такі константи:
in_win_hШирина та висота вхідного відео.
iwihЦе те саме, що
in_wіin_h.out_wout_hШирина та висота виводу (розмір доповненої області), визначені виразами
widthand .heightowohЦе те саме, що
out_wіout_h.xyЗміщення x і y, як визначено виразами
xandy, або NAN, якщо ще не вказано.aте саме, що
iw/ihsarформат вхідного зразка
darформат вхідного дисплея, такий самий, як (
iw/ih) *sarhsubvsubЗначення підвибірки кольоровості по горизонталі та вертикалі. Наприклад, для піксельного формату "yuv422p"
hsubдорівнює 2 іvsub1.
11.179.1 Examples
- Додайте відступи з кольором «фіолетовий» до вхідного відео. Розмір вихідного відео становить 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 Examples
- Створіть репрезентативну палітру даного відео за допомогою
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 Examples
- Використовуйте палітру (створену, наприклад, за допомогою palettegen ), щоб закодувати 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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
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 Commands
Цей фільтр підтримує всі параметри як команди .
11.187 pixscope
Відображення зразкових значень колірних каналів. В основному корисно для перевірки кольору та рівнів. Мінімальна підтримувана роздільна здатність – 640x480.
Фільтри приймають такі параметри:
xВстановіть позицію області осі X, відносне зміщення по осі X.
yВстановіть положення осі Y, відносне зміщення осі Y.
wВстановити ширину області.
hВстановити висоту прицілу.
oВстановити непрозорість вікна. У цьому вікні також міститься статистика щодо площі пікселів.
wxВстановити позицію вікна X, відносне зміщення по осі X.
wyВстановити положення вікна Y, відносне зміщення по осі Y.
11.187.1 Commands
Цей фільтр підтримує ті самі команди , що й параметри.
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Вертикально застосований FIR-фільтр усунення переплетення низьких частот, який усунення переплетення заданого блоку шляхом фільтрації всіх рядків за допомогою
(-1 2 6 2 -1)фільтра.fq/forceQuant[|quantizer]Замінює таблицю квантувача зі вхідних даних постійним квантувачем, який ви вказуєте.
quantizerКвантувач для використання
de/defaultТипова комбінація фільтрів pp (
hb|a,vb|a,dr|a)fa/fastШвидка комбінація фільтрів pp (
h1|a,v1|a,dr|a)acВисокоякісна комбінація pp фільтрів (
ha|a|128|7,va|a,dr|a)
11.188.1 Examples
- Застосуйте горизонтальну та вертикальну деблокування, деринг та автоматичну яскравість/контраст:
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Не вимагайте другого введення для обробки, замість цього використовуйте альфа-площину з вхідного потоку.
11.191 prewitt
Застосувати оператор prewitt до вхідного відеопотоку.
Фільтр приймає такі параметри:
planesВстановіть, які площини будуть оброблені, необроблені площини будуть скопійовані. За замовчуванням значення 0xf буде оброблено всі площини.
scaleВстановіть значення, яке буде помножено на відфільтрований результат.
deltaВстановіть значення, яке буде додано до відфільтрованого результату.
11.191.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
11.192.2 Examples
- Змініть занадто високі значення яскравості на градієнт:
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 Examples
- Наприклад:
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 Examples
- Якесь рівняння на зразок:
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цей символ. За замовчуванням false.lpНизькочастотні лінії перед подальшою обробкою. За замовчуванням увімкнено.
11.197.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
11.197.2 Examples
- Виведіть файл 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 Examples
- Виявлення та малювання даних 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
Перепризначайте пікселі за допомогою вхідного відеопотоку 2nd: Xmap і 3rd: 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У режимі Bob інтерполюється верхнє поле від лінії, де найближчі сусідні пікселі.
14У режимі Bob інтерполюється нижнє поле від лінії, де найближчі сусідні пікселі.
15Режим Bob, інтерполює верхнє поле. Те саме, що 13, але з більш складною формулою інтерполяції.
16Режим Bob, інтерполює нижнє поле. Те саме, що 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 Examples
- Візьміть перші 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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
11.205 roberts
Застосуйте оператор кросу Робертса до вхідного відеопотоку.
Фільтр приймає такі параметри:
planesВстановіть, які площини будуть оброблені, необроблені площини будуть скопійовані. За замовчуванням значення 0xf буде оброблено всі площини.
scaleВстановіть значення, яке буде помножено на відфільтрований результат.
deltaВстановіть значення, яке буде додано до відфільтрованого результату.
11.205.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
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 іvsub1.in_w, iwin_h, ihширина та висота вхідного відео
out_w, owout_h, ohвихідні ширина та висота, тобто розмір доповненої області, як зазначено виразами
widthandheightrotw(a)roth(a)мінімальна ширина/висота, необхідна для повного вмісту вхідного відео, повернутого на
aрадіани.Вони доступні лише під час обчислення
out_wіout_hвирази.
11.206.1 Examples
- Поверніть вхід на 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 Commands
Фільтр підтримує такі команди:
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 Options
Фільтр приймає наступні параметри або будь-які параметри, які підтримуються масштабувальником 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' Встановити колірний простір відповідно до:
- Рекомендація BT.601 Сектору радіозв’язку ITU (ITU-R).
- ITU-R Rec. 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' Розміри вихідного відео будуть автоматично збільшені за потреби.
Одним з корисних прикладів цього параметра є те, що коли ви знаєте максимальну дозволену роздільну здатність певного пристрою, ви можете використовувати його, щоб обмежити вихідне відео цим, зберігаючи при цьому співвідношення сторін. Наприклад, пристрій A дозволяє відтворювати 1280x720, а ваше відео має 1920x800. Використання цього параметра (встановіть для нього значення зменшення) і вказівка ​​1280x720 у командному рядку робить вихід 1280x533.
Зауважте, що це не те, що вказано -1 для
wабоh, вам все одно потрібно вказати вихідну роздільну здатність, щоб цей параметр працював.- '
force_divisible_byГарантує, що обидва вихідні розміри, ширина та висота, діляться на задане ціле число, якщо використовується разом із
force_original_aspect_ratio. Це працює подібно до використання-nвwіhпараметри.Цей параметр поважає значення, встановлене для
force_original_aspect_ratio, відповідно збільшуючи або зменшуючи роздільну здатність. Співвідношення сторін відео може бути дещо змінено.Ця опція може бути зручною, якщо вам потрібно, щоб відео відповідало визначеній роздільній здатності або перевищувало її за допомогою
force_original_aspect_ratioале також мають обмеження кодувальника на подільність по ширині або висоті.
Цінностіwіhпараметри - це вирази, що містять такі константи:
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 іvsub1.ohsubovsubгоризонтальні та вертикальні вихідні значення кольоровості. Наприклад, для піксельного формату "yuv422p"
hsubдорівнює 2 іvsub1.n(Послідовний) номер вхідного кадру, починаючи з 0. Доступно лише з
eval=frame.tПозначка часу представлення вхідного кадру, виражена як кількість секунд. Доступно лише з
eval=frame.posПозиція (зміщення байтів) кадру у вхідному потоці або NaN, якщо ця інформація недоступна та/або безглузда (наприклад, у випадку синтетичного відео). Доступно лише з
eval=frame.
11.208.2 Examples
- Масштабуйте вхідне відео до розміру 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 та setsar, переконавшись, що результуюча роздільна здатність є рівною (вимагається деякими кодеками):
scale='trunc(ih*dar/2)*2:trunc(ih/2)*2',setsar=1/1
11.208.3 Commands
Цей фільтр підтримує такі команди:
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 Examples
- Масштабуйте вхідний сигнал до 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 Performance Primitives (libnpp), щоб виконати масштабування та/або перетворення піксельного формату на відеокадрах CUDA. Встановлення ширини та висоти виведення працює так само, як і для scaleфільтра.
Приймаються такі додаткові опції:
formatФормат пікселів вихідних кадрів CUDA. Якщо встановлено рядок "same" (за замовчуванням), формат введення буде збережено. Зауважте, що автоматичне узгодження формату та перетворення ще не підтримується для апаратних кадрів
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' Розміри вихідного відео будуть автоматично збільшені за потреби.
Одним з корисних прикладів цього параметра є те, що коли ви знаєте максимальну дозволену роздільну здатність певного пристрою, ви можете використовувати його, щоб обмежити вихідне відео цим, зберігаючи при цьому співвідношення сторін. Наприклад, пристрій A дозволяє відтворювати 1280x720, а ваше відео має 1920x800. Використання цього параметра (встановіть для нього значення зменшення) і вказівка ​​1280x720 у командному рядку робить вихід 1280x533.
Зауважте, що це не те, що вказано -1 для
wабоh, вам все одно потрібно вказати вихідну роздільну здатність, щоб цей параметр працював.- '
force_divisible_byГарантує, що обидва вихідні розміри, ширина та висота, діляться на задане ціле число, якщо використовується разом із
force_original_aspect_ratio. Це працює подібно до використання-nвwіhпараметри.Цей параметр поважає значення, встановлене для
force_original_aspect_ratio, відповідно збільшуючи або зменшуючи роздільну здатність. Співвідношення сторін відео може бути дещо змінено.Ця опція може бути зручною, якщо вам потрібно, щоб відео відповідало визначеній роздільній здатності або перевищувало її за допомогою
force_original_aspect_ratioале також мають обмеження кодувальника на подільність по ширині або висоті.evalУкажіть, коли обчислювати
widthтаheightвиражати. Він приймає такі значення:- '
init' Обчислюйте вирази лише один раз під час ініціалізації фільтра або під час обробки команди.
- '
frame' Оцініть вирази для кожного вхідного кадру.
- '
Цінностіwіhпараметри - це вирази, що містять такі константи:
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 іvsub1.main_n(Послідовний) номер основного кадру введення, починаючи з 0. Доступно лише з
eval=frame.main_tПозначка часу представлення основного вхідного кадру, виражена як кількість секунд. Доступно лише з
eval=frame.main_posПозиція (зміщення байтів) кадру в основному вхідному потоці або NaN, якщо ця інформація недоступна та/або безглузда (наприклад, у випадку синтетичного відео). Доступно лише з
eval=frame.
11.211.1 Examples
- Перед накладанням масштабуйте потік субтитрів (b), щоб відповідати розміру основного відео (a).
'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 Commands
Цей фільтр підтримує такі команди:
width, wheight, hУстановіть вираз розмірності вихідного відео. Команда приймає той самий синтаксис відповідного параметра.
Якщо вказаний вираз недійсний, його поточне значення зберігається.
11.212 scale2ref_npp
Використовуйте NVIDIA Performance Primitives (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 Examples
- Перед накладанням масштабуйте потік субтитрів (b), щоб відповідати розміру основного відео (a).
'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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
11.214 scroll
Прокручуйте вхідне відео горизонтально та/або вертикально з постійною швидкістю.
Фільтр приймає такі параметри:
horizontal, hВстановіть швидкість горизонтальної прокрутки. За замовчуванням 0. Дозволений діапазон від -1 до 1. Від’ємні значення змінюють напрямок прокручування.
vertical, vВстановіть швидкість вертикального прокручування. За замовчуванням 0. Дозволений діапазон від -1 до 1. Від’ємні значення змінюють напрямок прокручування.
hposВстановіть початкове горизонтальне положення прокручування. За замовчуванням 0. Дозволений діапазон від 0 до 1.
vposВстановіть початкове вертикальне положення прокручування. За замовчуванням 0. Дозволений діапазон від 0 до 1.
11.214.1 Commands
Цей фільтр підтримує такі команди :
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 Selective Color.
Фільтр приймає такі параметри:
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 Examples
- Збільште блакитний на 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 (грецьке pi) і phi (золотий перетин).
w, hШирина та висота введення.
aЦе те саме, що
w/h.sarСпіввідношення сторін вхідного зразка.
darСпіввідношення сторін вхідного дисплея. Це те саме, що (
w/h) *sar.hsub, vsubЗначення підвибірки кольоровості по горизонталі та вертикалі. Наприклад, для піксельного формату "yuv422p"
hsubдорівнює 2 іvsub1.
11.218.1 Examples
- Щоб змінити співвідношення сторін дисплея на 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
Параметр Force frame для вихідного відеокадру.
Фільтр 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 Performance Primitives (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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
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 Examples
- Поміняйте місцями другий і третій кадри з кожних трьох кадрів введення:
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Встановити перемішування block_size. У режимі горизонтального перемішування використовується лише ширина, а у вертикальному – лише висота.
seed, sВстановити випадкове початкове число, яке використовується з перетасуванням пікселів. Головним чином корисно налаштувати, щоб мати можливість змінити процес фільтрації, щоб отримати оригінальний вхід. Наприклад, щоб перетасувати у зворотному напрямку, вам потрібно використати ті самі параметри та точнісінько те саме початкове значення та встановити напрямок на зворотний.
11.227 shuffleplanes
Змініть порядок і/або дублюйте відеоплани.
Він приймає такі параметри:
map0Індекс вхідної площини, яка буде використовуватися як перша вихідна площина.
map1Індекс вхідної площини, яка буде використовуватися як друга вихідна площина.
map2Індекс вхідної площини, яка буде використовуватися як третя вихідна площина.
map3Індекс вхідної площини, яка буде використовуватися як четверта вихідна площина.
Перша площина має індекс 0. За замовчуванням вхідні дані залишаються незмінними.
11.227.1 Examples
- Поміняйте місцями другу і третю площину введення:
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 Examples
- Вихідні дані різних відеометрик:
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 Examples
- Щоб обчислити підпис вхідного відео та зберегти його в signature.bin:
ffmpeg -i input.mkv -vf signature=filename=signature.bin -map 0:v -f null - - Щоб визначити, чи збігаються два відео, і зберегти підписи у форматі XML у signature0.xml і signature1.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 Examples
- Щоб розрахувати показники 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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
11.233 spp
Застосуйте простий фільтр постобробки, який стискає та розтискає зображення на кілька (або - у випадкуqualityрівень 6- усі) зсуви та усереднення результатів.
Фільтр приймає такі параметри:
qualityВстановити якість. Цей параметр визначає кількість рівнів для усереднення. Він приймає ціле число в діапазоні 0-6. Якщо встановлено значення
0, фільтр не матиме ефекту. Значення6означає вищу якість. З кожним збільшенням цього значення швидкість падає приблизно в 2 рази. Значення за замовчуванням становить3.qpПримусово встановити постійний параметр квантування. Якщо не встановлено, фільтр використовуватиме QP із відеопотоку (якщо доступний).
modeВстановити пороговий режим. Доступні режими:
- '
hard' Встановити жорсткий поріг (за замовчуванням).
- '
soft' Встановіть м’яке порогове значення (кращий ефект усунення дзвінків, але, швидше за все, розмитіший).
- '
use_bframe_qpУвімкніть використання QP з B-Frames, якщо встановлено
1. Використання цього параметра може спричинити мерехтіння, оскільки B-кадри часто мають більший QP. За замовчуванням0(не ввімкнено).
11.233.1 Commands
Цей фільтр підтримує такі команди:
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 Examples
- Наприклад:
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 Examples
- Перетворіть вхідне відео з паралелі на анагліф жовто-синього Дюбуа:
stereo3d=sbsl:aybd - Перетворюйте вхідне відео згори вниз (ліве око зверху, праве око знизу) у паралельне перехресне око.
stereo3d=abl:sbsr
11.237 streamselect, astreamselect
Виберіть відео або аудіопотоки.
Фільтр приймає такі параметри:
inputsВстановити кількість входів. За замовчуванням 2.
mapВстановіть вхідні індекси для переналаштування на виходи.
11.237.1 Commands
Фільтр streamselectand astreamselectпідтримує такі команди:
mapВстановіть вхідні індекси для переналаштування на виходи.
11.237.2 Examples
- Виберіть перші 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Встановіть координату 2 прямокутника x.
y2Встановіть 2-у координату y.
Усі вирази обчислюються один раз для кожного кадру.
Параметри all — це вирази, що містять такі константи:
whШирина та висота введення.
aте саме, що
w/hsarформат вхідного зразка
darформат вхідного дисплея, такий самий, як (
w/h) *sarnНомер вхідного кадру, починаючи з 0.
tМітка часу, виражена в секундах. Це NAN, якщо позначка часу введення невідома.
posпозиція у файлі вхідного кадру, NAN, якщо невідома
11.240.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
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 Commands
Цей фільтр підтримує всі параметри як команди .
11.245.2 Examples
- Двійкове порогове значення, використовуючи сірий колір як порогове значення:
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 Examples
- Витягніть одне зображення на кожні 50 кадрів:
thumbnail=50 - Повний приклад створення мініатюри за допомогою
ffmpeg:ffmpeg -i in.avi -vf thumbnail,scale=300:200 -frames:v 1 out.png
11.247 tile
Об'єднайте кілька послідовних кадрів.
Фільтр untilе може робити навпаки.
Фільтр приймає такі параметри:
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 Examples
- Створення 8x8 PNG плиток усіх ключових кадрів (
-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 Commands
Цей фільтр підтримує всі вищезазначені параметри як команди , за винятком параметра radius.
11.250 tmidequalizer
Застосуйте ефект часового вирівнювання відео.
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 Examples
- У середньому 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 Commands
Цей фільтр підтримує такі команди:
weightsscaleplanesСинтаксис такий самий, як і параметр із такою ж назвою.
11.252 tonemap
Кольори тонової карти з різних динамічних діапазонів.
Цей фільтр очікує даних у формі з плаваючою точністю одинарної точності, оскільки він має оперувати (і може виводити) значення, що виходять за межі діапазону. Інший фільтр, наприклад zscale , необхідний для перетворення отриманого кадру у придатний для використання формат.
Реалізовані алгоритми відображення тонів працюють лише з лінійним світлом, тому вхідні дані слід попередньо лінеаризувати (і, можливо, правильно позначити).
ffmpeg -i INPUT -vf zscale=transfer=linear,tonemap=clip,zscale=transfer=bt709,format=yuv420p OUTPUT
11.252.1 Options
Фільтр приймає такі параметри.
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 просто підраховують кадри, які проходять через фільтр. Також зауважте, що цей фільтр не змінює позначки часу. Якщо ви бажаєте, щоб вихідні мітки часу починалися з нуля, вставте фільтр setpts після фільтра обрізки.
Якщо встановлено кілька параметрів початку або кінця, цей фільтр намагається бути жадібним і зберігати всі кадри, які відповідають принаймні одному з указаних обмежень. Щоб зберегти лише ту частину, яка одночасно відповідає всім обмеженням, об’єднайте кілька фільтрів обрізки.
За умовчанням зберігаються всі введені дані. Отже, можна встановити, наприклад, лише кінцеві значення, щоб зберегти все до вказаного часу.
приклади:
- Відкинути все, крім другої хвилини введення:
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 — chroma-U, а біт 2 — chroma-V. Якщо присутній, альфа-канал завжди є останнім бітом.
inplaceНе вимагайте другого введення для обробки, замість цього використовуйте альфа-площину з вхідного потоку.
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 Examples
- Застосувати потужний ефект підвищення яскравості:
unsharp=luma_msize_x=7:luma_msize_y=7:luma_amount=2.5 - Застосуйте сильне розмиття параметрів яскравості та кольоровості:
unsharp=7:7:-2:7:7:-2
11.259 untile
Розкладіть відео, яке складається з мозаїчних зображень, на окремі зображення.
Частота кадрів вихідного відео – це частота кадрів вхідного відео, помножена на кількість фрагментів.
Цей фільтр діє навпаки плитки .
Фільтр приймає такі параметри:
layoutВстановіть розмір сітки (тобто кількість рядків і стовпців). Щоб дізнатися про синтаксис цього параметра, перевірте розділ (ffmpeg-utils) «Розмір відео» в посібнику ffmpeg-utils .
11.259.1 Examples
- Створіть 1-секундне відео з файлу нерухомого зображення, що складається з 25 кадрів, розташованих вертикально, як аналогова кіноплівка:
ffmpeg -r 1 -i image.jpg -vf untile=1x25 movie.mkv
11.260 uspp
Застосуйте ультраповільний/простий фільтр постобробки, який стискає та розпаковує зображення на кілька (або - у випадкуqualityрівень 8- усі) зсуви та усереднення результатів.
Це відрізняється від поведінки spp тим, що uspp фактично кодує та декодує кожен випадок за допомогою libavcodec Snow, тоді як spp використовує спрощений внутрішній лише 8x8 DCT, подібний до 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' 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' Сплайн16 інтерполяція.
- '
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 Examples
- Перетворіть рівнопрямокутне відео на кубічну карту з макетом 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 - Перетворюйте транспоновану та горизонтально перевернуту Equi-Angular Cubemap у стереоформаті «пліч-о-пліч» у формат рівнопрямокутного верхнього та нижнього стерео:
v360=eac:equirect:in_stereo=sbs:in_trans=1:ih_flip=1:out_stereo=tb
11.261.2 Commands
Цей фільтр підтримує підмножину наведених вище параметрів як команди .
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
Застосуйте змінний фільтр розмиття, використовуючи 2-й відеопотік, щоб установити радіус розмиття. 2-й струмок повинен мати такі ж розміри.
Цей фільтр приймає такі параметри:
min_rУстановіть мінімально допустимий радіус. Дозволений діапазон від 0 до 254. За замовчуванням 0.
max_rУстановіть максимально дозволений радіус. Дозволений діапазон від 1 до 255. За замовчуванням 8.
planesВизначте, які площини обробляти. За замовчуванням використовуються всі.
Фільтр varblurтакож підтримує параметри синхронізації кадрів .
11.263.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
11.264 vectorscope
Відобразити 2 значення колірних компонентів у двовимірному графіку (який називається вектороскопом).
Цей фільтр приймає такі параметри:
mode, mВстановити режим вектороскопа.
Він приймає такі значення:
- '
gray' - '
tint' Значення сірого відображаються на графіку, вища яскравість означає, що більше пікселів мають однакове значення кольору компонента в місці на графіку. Це режим за замовчуванням.
- '
color' Значення сірого відображаються на графіку. Значення оточуючих пікселів, яких немає у відеокадрі, малюються градієнтом 2 компонентів кольору, які встановлюються опцією
xтаy. 3-й колірний компонент є статичним.- '
color2' Фактичні значення колірних компонентів, присутні у відеокадрі, відображаються на графіку.
- '
color3' Подібно до color2, але більш висока частота тих самих значень
xіyна графіку збільшує значення іншого компонента кольору, яким є яскравість за умовчаннямxіy.- '
color4' Фактичні кольори, присутні у кадрі відео, відображаються на графіку. Якщо два різні кольори відображаються в одній позиції на графіку, тоді вибирається колір із вищим значенням компонента, якого немає на графіку.
- '
color5' Значення сірого відображаються на графіку. Подібно до,
colorале з 3-м колірним компонентом, вибраним із радіального градієнта.
- '
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 Examples
- Використовуйте значення за замовчуванням:
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 . Важливо також використовувати фільтр unsharp , див. нижче.
Щоб увімкнути компіляцію цього фільтра, вам потрібно налаштувати FFmpeg за допомогою
--enable-libvidstab.
11.266.1 Options
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 Examples
- Використовуйте
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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
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 Expressions
Thealpha,x0іy0вирази можуть містити такі параметри.
whширина та висота введення
nномер вхідного кадру, починаючи з 0
ptsчас PTS (Presentation TimeStamp) відфільтрованого відеокадру, виражений в
TBодиницях, NAN, якщо не визначеноrчастота кадрів вхідного відео, NAN, якщо частота кадрів вхідного сигналу невідома
tPTS (TimeStamp презентації) відфільтрованого відеокадру, виражений у секундах, NAN, якщо не визначено
tbчасова база вхідного відео
11.271.2 Examples
- Застосуйте простий сильний ефект віньєтування:
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 Field Deinterlacing Filter").
На основі процесу, описаного Мартіном Вестоном для BBC R&D, і реалізованого на основі алгоритму депереплетіння, написаного Джимом Істербруком для BBC R&D, фільтр депереплетення поля Weston 3 використовує коефіцієнти фільтра, розраховані BBC R&D.
Цей фільтр використовує інформацію про домінування полів у кадрі, щоб вирішити, яке з кожної пари полів розмістити першим у виводі. Якщо це неправильно, використовуйте фільтр setfield перед w3fdifфільтром.
Існує два набори коефіцієнтів фільтра, так звані «простий» і «складний». Який набір коефіцієнтів фільтра використовується, можна встановити, передавши додатковий параметр:
filterВстановіть коефіцієнти чергування фільтрів. Приймає одне з таких значень:
- '
simple' Простий набір коефіцієнтів фільтра.
- '
complex' Більш складний набір коефіцієнтів фільтра.
Значення за замовчуванням: '
complex'.- '
modeРежим переплетення, який потрібно прийняти. Він приймає одне з таких значень:
frameВиведіть один кадр для кожного кадру.
fieldВиведіть один кадр для кожного поля.
Значення за замовчуванням —
field.parityПарність поля зображення передбачається для вхідного черезрядкового відео. Він приймає одне з таких значень:
tffПрипустимо, що верхнє поле є першим.
bffПрипустимо, що нижнє поле є першим.
autoУвімкнути автоматичне визначення парності поля.
Значення за замовчуванням —
auto. Якщо чергування невідоме або декодер не експортує цю інформацію, першим буде вважатися верхнє поле.deintУкажіть, які кадри потрібно деінтерлейсувати. Приймає одне з таких значень:
- '
all' Деінтерлейс усіх кадрів,
- '
interlaced' Усунути черезрядкову розгортку лише кадри, позначені як черезрядкові.
Значення за замовчуванням: '
all'.- '
11.274.1 Commands
Цей фільтр підтримує ті самі команди , що й параметри.
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 Examples
- Переплетіть відео за допомогою фільтра
select and separatefields :
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 Examples
- Перехресне затухання від одного вхідного відео до іншого вхідного відео з переходом із затуханням і тривалістю переходу 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 Commands
Цей фільтр підтримує всі вищезазначені параметри як команди , за винятком параметра 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Якщо встановлено дійсний колір, усі невикористані пікселі будуть заповнені цим кольором. За замовчуванням для заповнення встановлено значення «немає», тому його вимкнено.
11.281.1 Examples
- Відображення 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, щоб він міг працювати як частина прискореного GPU конвеєра з 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» означає «ще один фільтр розмиття, що зберігає краї»). Алгоритм описано в "Дж. С. Лі, Покращення цифрового зображення та фільтрація шуму за допомогою локальної статистики, IEEE Trans. Pattern Anal. Mach. Intell. PAMI-2, 1980."
Він приймає такі параметри:
radius, rВстановити радіус вікна. Значення за замовчуванням – 3.
planes, pВстановіть, які площини фільтрувати. За замовчуванням лише перша площина.
sigma, sВстановити силу розмиття. Значення за замовчуванням 128.
11.284.1 Commands
Цей фільтр підтримує ті самі команди , що й параметри.
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 Examples
- Збільшення до 1,5 разів і водночас панорамування до певної точки поблизу центру зображення:
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,5 разів і панорамування завжди в центрі зображення:
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)' - Збільште вдвічі центр зображення лише для першої секунди вхідного відео:
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 Options
Фільтр приймає такі параметри.
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» для бікубічних і кількість кранів фільтра для lanczos.
param_bПараметр B для фільтрів масштабування. Параметр «с» для бікубічного.
Цінностіwіhпараметри - це вирази, що містять такі константи:
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 іvsub1.ohsubovsubгоризонтальні та вертикальні вихідні значення кольоровості. Наприклад, для піксельного формату "yuv422p"
hsubдорівнює 2 іvsub1.
11.286.2 Commands
Цей фільтр підтримує такі команди:
width, wheight, hУстановіть вираз розмірності вихідного відео. Команда приймає той самий синтаксис відповідного параметра.
Якщо вказаний вираз недійсний, його поточне значення зберігається.
12 OpenCL Video Filters
Нижче наведено опис доступних наразі відеофільтрів 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 Example
- Застосуйте фільтр середнього розмиття з горизонтальним і вертикальним розміром 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 іvsubдорівнює 1.
luma_power, lpchroma_power, cpalpha_power, apУкажіть, скільки разів фільтр boxblur застосовується до відповідної площини.
Значення за умовчанням для
luma_powerдорівнює 2. Якщо не вказано,chroma_powerіalpha_powerза замовчуванням встановлено відповідне значенняluma_power.Значення 0 вимкне ефект.
12.2.1 Examples
Застосуйте фільтр box-blur, установивши для кожного пікселя результату середнє значення радіусів box-radiuse luma_radius, chroma_radius, alpha_radiusдля кожної площини відповідно. Фільтр буде застосовано luma_power, chroma_power, alpha_powerразів до відповідної площини. Для пікселів на краях зображення радіус не виходить за межі зображення, тому координати поза діапазоном не використовуються в обчисленнях.
- Застосуйте фільтр box-blur із радіусом яскравості, кольоровості й альфа-каналу, встановленим на 2, і потужністю яскравості, кольоровості й альфа-каналу, встановленим на 3. Фільтр запуститься 3 рази з радіусом box-radius, установленим на 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 Examples
- Зробіть кожен напівзелений піксель у вхідних даних прозорим за допомогою легкого змішування:
-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 Examples
- Застосувати різкість:
-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 Example
- Застосуйте ерозійний фільтр із значенням threshold0 30, threshold1 40, threshold2 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 Examples
- Стабілізація відео з фіксованим середнім рівнем згладжування:
-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 Example
- Застосуйте фільтр розширення з threshold0, встановленим на 30, threshold1, встановленим на 40, threshold2, встановленим на 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
Нелокальний означає фільтр усунення шумів через OpenCL, цей фільтр приймає ті самі параметри, що й nlmeans .
12.9 overlay_opencl
Накладіть одне відео на інше.
Він має два входи і один вихід. Перший вхід – це «основне» відео, на яке накладено другий вхід. Цей фільтр потребує однакового розташування пам’яті для всіх входів. Тому може знадобитися перетворення формату.
Фільтр приймає такі параметри:
xУстановіть координату x накладеного відео на основне відео. Значення за замовчуванням:
0.yУстановіть координату y накладеного відео на основне відео. Значення за замовчуванням:
0.
12.9.1 Examples
- Накладіть ЛОГОТИП зображення у верхній лівий кут ВХІДНОГО відео. Обидва входи мають формат 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 .
aspectПерейдіть до аспекту замість роздільної здатності.
Значення параметрів width, height, xі y
є виразами, що містять такі константи:
in_win_hШирина та висота вхідного відео.
iwihЦе те саме, що
in_wіin_h.out_wout_hШирина та висота виводу (розмір доповненої області), визначені виразами
widthand .heightowohЦе те саме, що
out_wіout_h.xyЗміщення x і y, як визначено виразами
xandy, або 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 Example
- Застосуйте оператор Превітта зі значенням масштабу 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 призначення, unsigned int індекс, __read_only image2d_t джерело) { const sampler_t sampler = 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, unsigned int індекс, __read_only image2d_t src) { const sampler_t sampler = (CLK_NORMALIZED_COORDS_FALSE | CLK_FILTER_LINEAR); float angle = (float)index / 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, unsigned int індекс, __read_only image2d_t src1, __read_only image2d_t src2) { const sampler_t sampler = (CLK_NORMALIZED_COORDS_FALSE | CLK_FILTER_LINEAR); float blend = (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
Перепризначайте пікселі за допомогою вхідного відеопотоку 2nd: Xmap і 3rd: 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 Example
- Застосуйте оператор хреста Робертса з масштабом 2 і дельтою 10
-i INPUT -vf "hwupload, roberts_opencl=scale=2:delta=10, hwdownload" OUTPUT
12.15 sobel_opencl
Застосуйте оператор Sobel ( https://en.wikipedia.org/wiki/Sobel_operator ) для введення відеопотоку.
Фільтр приймає такі параметри:
planesВстановіть, які площини фільтрувати. Значення за замовчуванням —
0xf, за яким обробляються всі площини.scaleВстановіть значення, яке буде помножено на відфільтрований результат. Діапазон становить ,
[0.0, 65535]а значення за умовчанням —1.0.deltaВстановіть значення, яке буде додано до відфільтрованого результату. Діапазон становить ,
[-65535, 65535]а значення за умовчанням —0.0.
12.15.1 Example
- Застосуйте оператор Sobel зі шкалою 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 Example
- Перетворюйте відео 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 Examples
- Застосувати потужний ефект підвищення яскравості:
-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 sampler = (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); rp = rp / dim; float2 точки = (float2)(20.0, 20.0); float2 центр = (float2)(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)) < (progress / distance(rp, center)); write_imagef(dst, p, наступний ? val1 : val2); }
13 VAAPI Video Filters
Відеофільтри 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 Examples
- Накладіть ЛОГОТИП зображення у верхній лівий кут ВХІДНОГО відео. Обидва входи для цього фільтра мають формат 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 Example
- Перетворення HDR(HDR10) відео у формат bt2020-transfer-characteristic p010
tonemap_vaapi=format=p010:t=bt2020-10
14 Video Sources
Нижче наведено опис доступних на даний момент джерел відео.
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 Examples
- Прочитайте початковий стан з
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
Джерело відео, створене на GPU за допомогою Apple CoreImage API на OSX.
Це джерело відео є спеціалізованою версією відеофільтра coreimage . Використовуйте основний генератор зображень на початку застосованого ланцюжка фільтрів, щоб створити вміст.
Джерело відео 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 Examples
- Використовуйте CIQRCodeGenerator, щоб створити QR-код для домашньої сторінки FFmpeg, наданий як повний і екранований командний рядок для стандартної оболонки bash від Apple:
ffmpeg -f lavfi -i coreimagesrc=s=100x100:filter=CIQRCodeGenerator@inputMessage=https\\\\\://FFmpeg.org/@inputCorrectionLevel=H -frames:v 1 QRCode.pngЦей приклад еквівалентний прикладу QRCode coreimage без потреби у джерелі відео 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
Створіть модель життя.
Це джерело засноване на узагальненні життєвої гри Джона Конвея.
Отриманий вхід представляє сітку життя, кожен піксель представляє клітинку, яка може перебувати в одному з двох можливих станів: жива або мертва. Кожна клітина взаємодіє зі своїми вісьмома сусідами, які є клітинами, розташованими по горизонталі, вертикалі або діагоналі.
При кожній взаємодії сітка розвивається відповідно до прийнятого правила, яке визначає кількість сусідніх живих клітин, завдяки яким клітина залишиться живою або народиться. TheruleПараметр дозволяє вказати правило для прийняття.
Це джерело приймає такі варіанти:
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Встановіть колір цвілі для точно мертвих і запліснявілих клітин.
Щоб дізнатися про синтаксис цих 3 параметрів кольору, перегляньте розділ (ffmpeg-utils)"Колір" у посібнику ffmpeg-utils .
14.8.1 Examples
- Прочитати сітку з
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схоже на testsrc, але підтримує більше піксельних форматів замість просто rgb24. Це дозволяє використовувати його як вхідні дані для інших тестів, не вимагаючи перетворення формату.
Джерело yuvtestsrcгенерує тестовий шаблон YUV. Ви повинні побачити смуги a, 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Встановити попередні налаштування кольорів для перевірки кольорів, доступні лише у
colorchartвихідному коді.Доступні значення:
- '
reference' - '
skintones'
Значення за замовчуванням:
reference.- '
14.9.1 Examples
- Згенеруйте відео тривалістю 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 Commands
Джерело colorпідтримує такі команди:
c, colorВстановити колір створеного зображення. Приймає той самий синтаксис відповідного
colorваріант.
14.10 openclsrc
Створення відео за допомогою програми OpenCL.
sourceВихідний файл програми OpenCL.
kernelНазва ядра в програмі.
size, sРозмір кадрів для створення. Це має бути встановлено.
formatФормат пікселів для створення кадрів. Це має бути встановлено.
rate, rКількість кадрів, що генеруються щосекунди. Значення за замовчуванням — «25».
Докладні відомості про те, як працює завантаження програми, див. у файлі program_opencl фільтр
Приклади програм:
- Створіть зміну кольору, встановивши значення пікселів, виходячи з позиції пікселя на вихідному зображенні. (Зверніть увагу, що це працюватиме з усіма форматами пікселів, але згенерований результат не буде однаковим.)
__kernel void ramp(__write_only image2d_t dst, unsigned int index) { int2 loc = (int2)(get_global_id(0), get_global_id(1)); float4 val; 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, unsigned int index) { int2 loc = (int2)(get_global_id(0), get_global_id(1)); значення float4 = 0.0f; int x = loc.x + індекс; int y = loc.y + індекс; while (x > 0 || y > 0) { if (x % 3 == 1 && y % 3 == 1) { значення = 1.0f; перерву; } х /= 3; y /= 3; } write_imagef(dst, loc, значення); }
14.11 sierpinski
Створіть фрактал килима/трикутника Серпінського та довільно переміщуйтеся.
Це джерело приймає такі варіанти:
size, sВстановити розмір рамки. Щоб дізнатися про синтаксис цього параметра, перевірте розділ (ffmpeg-utils) «Розмір відео» в посібнику ffmpeg-utils . Значення за замовчуванням - "640x480".
rate, rВстановіть частоту кадрів, виражену як кількість кадрів за секунду. Значення за замовчуванням - "25".
seedВстановіть початкове значення, яке використовується для випадкового панорамування.
jumpВстановіть максимальний стрибок для одного призначення панорамування. Дозволений діапазон від 1 до 10000.
typeВстановіть тип фракталу, може бути типовим
carpetабоtriangle.
15 Video Sinks
Нижче наведено опис доступних на даний момент відеоприймачів.
15.1 buffersink
Буферизуйте відеокадри та зробіть їх доступними в кінці графіка фільтра.
Цей приймач в основному призначений для програмного використання, зокрема через інтерфейс, визначений уlibavfilter/buffersink.h
або система опцій.
Він приймає вказівник на структуру AVBufferSinkContext, яка визначає формати вхідних буферів, який передається як непрозорий параметр avfilter_init_filterдля ініціалізації.
15.2 nullsink
Нульовий прийом відео: абсолютно нічого не робити з вхідним відео. Це в основному корисно як шаблон і для використання в інструментах аналізу/налагодження.
16 Multimedia Filters
Нижче наведено опис доступних на даний момент мультимедійних фільтрів.
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 detection
Фільтр також виявляє дисфазні та моно послідовності в стереопотоках. Він реєструє початок, кінець і тривалість послідовності, коли вона триває довше або до мінімального набору.
Фільтр приймає такі параметри для цього виявлення:
phasingУвімкнути монофонічне та збіжне виявлення. За замовчуванням вимкнено.
tolerance, tВстановіть фазовий допуск для виявлення монофонічного сигналу у співвідношенні амплітуд. Типовим є
0. Дозволений діапазон становить[0, 1].angle, aВстановіть порогове значення кута для виявлення зміщення фази, у градусах. Типовим є
170. Дозволений діапазон становить[90, 180].duration, dВстановіть тривалість монофонічного або дисфазного сигналу до повідомлення, виражену в секундах. Типовим є
2.
16.5.2 Examples
- Повний приклад із
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,80і255. Дозволений діапазон становить[0, 255].rfgfbfafУкажіть червоний, зелений, синій і альфа-фейд. Значення за замовчуванням
15:10,5і5. Дозволений діапазон становить[0, 255].zoomВстановіть коефіцієнт масштабування. Значення за замовчуванням:
1. Дозволений діапазон становить[0, 10]. Значення, нижчі за1, автоматично регулюють коефіцієнт масштабування до максимально можливого значення.drawВстановити режим малювання вектороскопа.
Доступні значення:
- '
dot' Намалюйте крапку для кожного зразка.
- '
line' Проведіть лінію між попереднім і поточним зразком.
Значення за замовчуванням: '
dot'.- '
scaleВкажіть шкалу амплітуд звукових зразків.
Доступні значення:
- '
lin' Лінійний.
- '
sqrt' Квадратний корінь.
- '
cbrt' Кубічний корінь.
- '
log' Логарифмічний.
- '
swapПоміняти місцями вісь лівого каналу на вісь правого каналу.
mirrorДзеркальна вісь.
- '
none' Без дзеркала.
- '
x' Дзеркало лише по осі х.
- '
y' Дзеркало лише по осі y.
- '
xy' Дзеркало обох осей.
- '
16.6.1 Examples
- Повний приклад з використанням
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 Commands
Цей фільтр підтримує всі наведені вище параметри як команди, крім параметрів sizeі rate.
16.7 bench, abench
Еталонна частина фільтра.
Фільтр приймає такі параметри:
actionЗапуск або зупинка таймера.
Доступні значення:
- '
start' Отримайте поточний час, встановіть його як метадані кадру (за допомогою клавіші
lavfi.bench.start_time) і перешліть кадр до наступного фільтра.- '
stop' Отримати поточний час і отримати
lavfi.bench.start_timeметадані з метаданих вхідного кадру, щоб отримати різницю в часі. Потім друкуються різниця в часі, середній, максимальний і мінімальний час (відповідноt,avgі ). Часові мітки виражені в секундах.maxmin
- '
16.7.1 Examples
- Тест селективного кольорового фільтра:
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 Examples
- Об’єднайте відкриття, епізод і кінцівку, все у двомовній версії (відео в потоці 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 - Об’єднайте дві частини, обробляючи аудіо та відео окремо, використовуючи (a)джерела фільму та регулюючи роздільну здатність:
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 Commands
Цей фільтр підтримує такі команди:
nextЗакрийте поточний сегмент і перейдіть до наступного
16.9 ebur128
Фільтр сканера EBU R128. Цей фільтр бере аудіопотік і аналізує рівень його гучності. За замовчуванням він реєструє повідомлення на частоті 10 Гц із миттєвою гучністю (позначеною M), короткочасною гучністю ( S), інтегрованою гучністю ( I) і діапазоном гучності ( LRA).
Фільтр може аналізувати лише потоки, які мають формат вибірки з плаваючою точкою подвійної точності. За потреби вхідний потік буде перетворено на цю специфікацію. Користувачам може знадобитися вставити фільтри aformat і/або aresample після цього фільтра, щоб отримати вихідні параметри.
Фільтр також має відеовихід (див. 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 Examples
- Графік у режимі реального часу
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 Examples
- Перемежуйте кадри, що належать до різних потоків, використовуючи
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встановлено лише, вибирайте кожен кадр, який має такий ключ у метаданих.- '
add' Додайте нові метадані
keyтаvalue. Якщо ключ уже доступний, нічого не робіть.- '
modify' Змінити значення вже наявного ключа.
- '
delete' Якщо
valueвстановлено, видаляти лише ті ключі, які мають таке значення. В іншому випадку видаліть ключ. Якщоkeyне встановлено, видалити всі значення метаданих у кадрі.- '
print' Ключ друку та його значення, якщо метадані знайдено. Якщо
keyне встановлено, надрукувати всі значення метаданих, доступні у кадрі.
- '
keyУстановити ключ, який використовується в усіх режимах. Необхідно встановити для всіх режимів, крім
printіdelete.valueВстановіть значення метаданих, які будуть використовуватися. Цей параметр є обов'язковим для режиму
modifyі .addfunctionЯку функцію використовувати під час порівняння значення метаданих і
value.Може бути одним із наступних:
- '
same_str' Значення інтерпретуються як рядки, повертає true, якщо значення метаданих таке ж, як
value.- '
starts_with' Значення інтерпретуються як рядки, повертає істину, якщо значення метаданих починається з
valueрядка параметра.- '
less' Значення інтерпретуються як числа з плаваючою точкою, повертає істину, якщо значення метаданих менше ніж
value.- '
equal' Значення інтерпретуються як числа з плаваючою точкою, повертає істину, якщо
valueдорівнює значенню метаданих.- '
greater' Значення інтерпретуються як числа з плаваючою точкою, повертає істину, якщо значення метаданих більше ніж
value.- '
expr' Значення інтерпретуються як числа з плаваючою речовиною, повертає істину, якщо вираз із параметра
exprобчислюється як істина.- '
ends_with' Значення інтерпретуються як рядки, повертає істину, якщо значення метаданих закінчується
valueрядком параметра.
- '
exprВстановити вираз, який використовується, коли
functionвстановлено значенняexpr. Вираз обчислюється за допомогою API eval і може містити такі константи:VALUE1, FRAMEVALПлаваюче представлення
valueз ключа метаданих.VALUE2, USERVALПлаваюче представлення,
valueяк надає користувач уvalueпараметрі.
fileЯкщо вказано в
printрежимі, вихідні дані записуються у вказаний файл. Замість простого імені файлу можна вказати будь-яку URL-адресу, доступну для запису. Назва файлу «-» є скороченням стандартного виводу. Якщоfileпараметр не встановлено, вихідні дані записуються до журналу з рівнем журналу AV_LOG_INFO.directЗменшує буферизацію в режимі друку, коли вихідні дані записуються до URL-адреси, встановленої за допомогою
file.
16.12.1 Examples
- Надрукувати всі значення метаданих для кадрів із ключем
lavfi.signalstats.YDIFзі значеннями від 0 до 1.signalstats,metadata=print:key=lavfi.signalstats.YDIF:value=0:function=expr:expr='between(VALUE1,0,1)' - Друк вихідних даних silencedetect у файл
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 Commands
Обидва фільтри підтримують усі наведені вище параметри як команди .
16.15 segment, asegment
Розділіть один вхідний потік на кілька потоків.
Цей фільтр діє протилежно до фільтрів concat.
segmentпрацює на відеокадрах, asegmentна аудіосемплах.
Цей фільтр приймає такі параметри:
timestampsПозначки часу вихідних сегментів, розділених символом "|". Перший сегмент запускатиметься з початку вхідного потоку. Останній сегмент триватиме до кінця вхідного потоку
frames, samplesТочна кількість кадрів/вибірок для поділу на сегменти.
У всіх випадках додавання до кожного сегмента префікса «+» зробить його відносним до попереднього сегмента.
16.15.1 Examples
- Розділіть вхідний аудіопотік на три вихідних аудіопотоку, починаючи з початку вхідного аудіопотоку та зберігаючи його в 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 (TimeStamp презентації) відфільтрованого кадру, виражений в
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 Examples
- Виберіть усі кадри у вхідних даних:
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.
Ці фільтри зчитують команди для надсилання іншим фільтрам у фільтрі.
sendcmdмає бути вставлено між двома відеофільтрами,
asendcmdмає бути вставлено між двома аудіофільтрами, але крім цього вони діють однаково.
Специфікація команд може бути надана в аргументах фільтра з commandsпараметром або у файлі, визначеному
filename опцією.
Ці фільтри приймають такі параметри:
commands, cВстановіть команди для читання та надсилання до інших фільтрів.
filename, fВстановіть ім'я файлу команд, які будуть читатися та надсилатися до інших фільтрів.
16.17.1 Commands syntax
Опис команд складається з послідовності специфікацій інтервалів, що містить список команд, які мають бути виконані, коли відбувається певна подія, пов’язана з цим інтервалом. Подією, що відбувається, зазвичай є поточний час кадру, що входить або виходить із заданого інтервалу часу.
Інтервал визначається таким синтаксисом:
START[-END] COMMANDS;
Інтервал часу задається за допомогою STARTі ENDчасів.
ENDє необов’язковим і за замовчуванням встановлено максимальний час.
Поточний час кадру вважається в межах зазначеного інтервалу, якщо він входить до інтервалу [ START, END), тобто коли час більше або дорівнює STARTі менше
END.
COMMANDSскладається з послідовності однієї або кількох специфікацій команд, розділених символом ",", що стосуються цього інтервалу. Синтаксис специфікації команди визначається так:
[FLAGS] TARGET COMMAND ARG
FLAGSє необов’язковим і визначає тип подій, пов’язаних з часовим інтервалом, які дозволяють надіслати вказану команду, і має бути ненульовою послідовністю прапорів ідентифікатора, розділених «+» або «|» і укладений між "[" і "]".
Розпізнаються наступні прапори:
enterКоманда надсилається, коли мітка часу поточного кадру входить у вказаний інтервал. Іншими словами, команда надсилається, коли мітка часу попереднього кадру не була в заданому інтервалі, а поточна є.
leaveКоманда надсилається, коли мітка часу поточного кадру виходить за вказаний інтервал. Іншими словами, команда надсилається, коли мітка часу попереднього кадру була в заданому інтервалі, а поточна – ні.
exprКоманда
ARGінтерпретується як вираз, а результат виразу передається якARG.Вираз обчислюється за допомогою API eval і може містити такі константи:
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 Examples
- Укажіть зміну темпу звуку на секунді 4:
asendcmd=c='4.0 atempo tempo 1.5',atempo - Націлювання на конкретний екземпляр фільтра:
asendcmd=c='4.0 atempo@my tempo 1.5',atempo@my - Укажіть список команд малювання тексту та відтінку у файлі.
# 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Вираз, який обчислюється для кожного кадру для побудови його позначки часу.
Вираз обчислюється за допомогою API eval і може містити такі константи:
FRAME_RATE, FRчастота кадрів, визначена лише для відео з постійною частотою кадрів
PTSПозначка часу презентації у вхідних даних
NКількість вхідних кадрів для відео або кількість спожитих семплів, не включаючи поточний кадр для аудіо, починаючи з 0.
NB_CONSUMED_SAMPLESКількість використаних семплів, не включаючи поточний кадр (тільки аудіо)
NB_SAMPLES, SКількість семплів у поточному кадрі (тільки аудіо)
SAMPLE_RATE, SRЧастота дискретизації звуку.
STARTPTSPTS першого кадру.
STARTTчас у секундах першого кадру
INTERLACEDВкажіть, чи є поточний кадр черезрядковим.
Tчас у секундах поточного кадру
POSпочаткова позиція у файлі кадру або невизначена, якщо не визначена для поточного кадру
PREV_INPTSПопередній вхід ПТС.
PREV_INTчас попереднього введення в секундах
PREV_OUTPTSПопередній висновок ВТС.
PREV_OUTTчас попереднього виведення в секундах
RTCTIMEЧас настінного годинника (RTC) у мікросекундах. Це застаріле, замість нього використовуйте time(0).
RTCSTARTЧас настінного годинника (RTC) на початку фільму в мікросекундах.
TBБаза часу вхідних позначок часу.
16.18.1 Examples
- Почніть відлік ВТС з нуля
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» (частота дискретизації, лише аудіо). Значення за замовчуванням - "intb".
16.20.1 Examples
- Встановіть часову базу на 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
Перетворюйте вхідний аудіосигнал у вихідний відеосигнал, що представляє частотний спектр логарифмічно за допомогою алгоритму постійного Q-перетворення Брауна-Пакетта з прямим обчисленням коефіцієнта частотної області (але саме перетворення насправді не є постійним Q, натомість фактор Q фактично є змінним/фіксованим), з музичним тоном шкала, від E0 до D#10.
Фільтр приймає такі параметри:
size, sУкажіть розмір відео для виведення. Він повинен бути рівним. Щоб дізнатися про синтаксис цього параметра, перевірте розділ (ffmpeg-utils) «Розмір відео» в посібнику ffmpeg-utils . Значення за замовчуванням:
1920x1080.fps, rate, rВстановіть вихідну частоту кадрів. Значення за замовчуванням:
25.bar_hВстановіть висоту гістограми. Він повинен бути рівним. Значення за замовчуванням
-1автоматично обчислює висоту гістограми.axis_hВстановити висоту осі. Він повинен бути рівним. Значення за замовчуванням
-1автоматично обчислює висоту осі.sono_hВстановіть висоту сонограми. Він повинен бути рівним. Значення за замовчуванням
-1автоматично обчислює висоту сонограми.fullhdВстановіть роздільну здатність fullhd. Цей параметр застарів, використовуйте
sizeзамістьsнього. Значення за замовчуванням:1.sono_v, volumeУкажіть об’ємний вираз сонограми. Він може містити змінні:
bar_vоцінюваний
bar_vвиразfrequency, freq, fчастота, де вона оцінюється
timeclamp, tcзначення
timeclampопціону
і функції:
a_weighting(f)A-зваження рівної гучності
b_weighting(f)B-зважування рівної гучності
c_weighting(f)C-зважування рівної гучності.
Значення за замовчуванням:
16.bar_v, volume2Укажіть вираз об’єму гістограми. Він може містити змінні:
sono_vоцінюваний
sono_vвиразfrequency, freq, fчастота, де вона оцінюється
timeclamp, tcзначення
timeclampопціону
і функції:
a_weighting(f)A-зваження рівної гучності
b_weighting(f)B-зважування рівної гучності
c_weighting(f)C-зважування рівної гучності.
Значення за замовчуванням:
sono_v.sono_g, gammaУкажіть гамму сонограми. Нижча гамма робить спектр більш контрастним, вища гамма робить спектр більшим діапазоном. Значення за замовчуванням:
3. Прийнятний діапазон становить[1, 7].bar_g, gamma2Укажіть гамму гістограми. Значення за замовчуванням:
1. Прийнятний діапазон становить[1, 7].bar_tВкажіть рівень прозорості гістограми. Нижче значення робить гістограму чіткішою. Значення за замовчуванням:
1. Прийнятний діапазон становить[0, 1].timeclamp, tcУкажіть часовий фіксатор перетворення. На низькій частоті існує компроміс між точністю в часовій області та частотній області. Якщо часовий фіксатор нижчий, подія в часовій області представлена ​​точніше (наприклад, швидкий бас-барабан), інакше подія в частотній області представлена ​​точніше (наприклад, бас-гітара). Прийнятний діапазон становить
[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.fontcoloraxis, textУвімкнути/вимкнути малювання тексту до осі. Якщо встановлено значення
0, малювання до осі вимкнено, ігноруючи опціюfontfileта .axisfileЗначення за замовчуванням:1.cspВстановити колірний простір. Допустимі значення:
- '
unspecified' Не визначено (за замовчуванням)
- '
bt709' BT.709
- '
fcc' 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 Examples
- Відтворення аудіо з показом спектру:
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 - A1 та його гармоніки: A1, A2, (ближній) E3, A3:
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 - Спеціальне рівняння довжини:
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-note пофарбовано в зелений колір, інші – у синій:
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' кожен канал відображається за допомогою колірної схеми 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 dBFS. Дозволений діапазон від 10 до 200.
limitВстановіть верхню межу гучності вхідних аудіо зразків у dBFS. За замовчуванням 0 dBFS. Дозволений діапазон від -100 до 100.
opacityВстановіть ступінь непрозорості під час використання піксельного виведення з альфа-компонентом.
Використання дуже схоже на фільтр showwaves; дивіться приклади в цьому розділі.
16.24.1 Examples
- Велике вікно з логарифмічною шкалою кольорів:
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' кожен канал відображається за допомогою колірної схеми 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 dBFS. Дозволений діапазон від 10 до 200.
limitВстановіть верхню межу гучності вхідних аудіо зразків у dBFS. За замовчуванням 0 dBFS. Дозволений діапазон від -100 до 100.
opacityВстановіть ступінь непрозорості під час використання піксельного виведення з альфа-компонентом.
16.25.1 Examples
- Витягніть аудіоспектрограму цілої звукової доріжки на зображенні 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Встановіть режим вимірювання, може бути peak:
pабо rms:,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 Examples
- Одночасно виведіть аудіо та відповідне відео у вхідному файлі:
amovie=a.mp3,asplit[out0],showwaves[out1] - Створіть синтетичний сигнал і покажіть його за допомогою шоу-хвиль, форсуючи частоту кадрів 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 Examples
- Витягніть розділене по каналу представлення форми хвилі цілої звукової доріжки в зображенні 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
Синтезуйте аудіо з 2 вхідних відеоспектрів, перший вхідний потік представляє величину в часі, а другий представляє фазу в часі. Фільтр перетвориться з частотної області, яка відображається у відео, на часову область, представлену в аудіовиході.
Цей фільтр в основному створений для реверсування оброблених виходів фільтра showspectrum
, але також може синтезувати звук з інших спектрограм. Але в такому випадку результати будуть поганими, якщо дані фази недоступні, тому що в таких випадках дані фази потрібно відтворювати заново, зазвичай вони просто відтворюються з випадкового шуму. Для отримання найкращих результатів використовуйте вихід лише сірого ( channelкольоровий режим у
фільтрі showspectrum ) і logшкалу для амплітуди відео та
linшкалу для фази відео. Для створення фази для 2-го відео скористайтеся
dataопцією. Вхідні відео зазвичай мають використовувати fullframe
режим слайдів, оскільки це економить ресурси, необхідні для декодування відео.
Фільтр приймає такі параметри:
sample_rateУкажіть частоту дискретизації вихідного аудіо, частота дискретизації аудіо, з якого було згенеровано спектр, може відрізнятися.
channelsВстановіть кількість каналів, представлених у вхідному відеоспектрі.
scaleВстановіть масштаб, який використовувався при генерації вхідного спектру величини. Може бути
linабоlog. Типовим єlog.slideВстановити слайд, який використовувався під час генерації вхідних спектрів. Може бути
replace,scrollабо . Типовим є .fullframerscrollfullframewin_funcВстановити функцію вікна, яка використовується для повторного синтезу.
overlapВстановити перекриття вікон. В діапазоні
[0, 1]. За замовчуванням встановлено1, що означає, що буде вибрано оптимальне перекриття для вибраної функції вікна.orientationВстановити орієнтацію вхідного відео. Може бути
verticalабоhorizontal. Типовим єvertical.
16.30.1 Examples
- Спочатку створіть відео амплітуди та фази з аудіо, припускаючи, що аудіо є стерео з частотою дискретизації 44100, а потім знову синтезуйте відео в аудіо за допомогою spectrumsynth:
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 Examples
- Створіть два окремих виходи з одного входу:
[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. Можливо, ви захочете змінити це значення відповідно до своїх потреб, але не забудьте екранувати будь-які знаки «:» (див . Екранування фільтра ).
Отримане повідомлення має бути у формі:
TARGET COMMAND [ARG]
TARGETвизначає ціль команди, як правило, ім'я класу фільтра або ім'я конкретного екземпляра фільтра. Назва екземпляра фільтра за замовчуванням використовує шаблон 'Parsed_<filter_name>_<index>', але ви можете змінити це за допомогою 'filter_name@id' синтаксис (див . Синтаксис Filtergraph ).
COMMANDвизначає назву команди для цільового фільтра.
ARGє необов'язковим і визначає необов'язковий список аргументів для даного COMMAND.
Після отримання повідомлення обробляється і відповідна команда вводиться в фільтр-граф. Залежно від результату фільтр надішле клієнту відповідь у такому форматі:
ERROR_CODE ERROR_REASON
MESSAGE
MESSAGEє необов'язковим.
16.32.1 Examples
Подивись на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 Multimedia Sources
Нижче наведено опис доступних на даний момент джерел мультимедіа.
17.1 amovie
Це те саме, що джерело фільму , за винятком того, що за замовчуванням вибирається аудіопотік.
17.2 avsynctest
Згенеруйте тест синхронізації аудіо/відео.
Згенерований потік періодично показує флеш-кадр відео та видає звуковий сигнал у аудіо. Корисно для перевірки проблем синхронізації A/V.
Він приймає такі варіанти:
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". Застаріле. Якщо фільтр називається «amovie», він вибиратиме аудіо замість відео.
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 Examples
- Пропустіть 3,2 секунди від початку файлу AVI in.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 і накладіть його поверх введення, позначеного «в»:
movie=/dev/video0:f=video4linux2, scale=180:-1, setpts=PTS-STARTPTS [over]; [in] setpts=PTS-STARTPTS [main]; [main][over] overlay=16:16 [out] - Прочитати перший відеопотік та аудіопотік з ідентифікатором 0x81 з dvd.vob; відео підключено до панелі під назвою «відео», а аудіо підключено до панелі під назвою «аудіо»:
movie=dvd.vob:s=v:0+#0x81 [video] [audio]
17.3.2 Commands
І movie, і amovie підтримують такі команди:
seekВиконайте пошук за допомогою "av_seek_frame". Синтаксис такий: seek
stream_index|timestamp|flags-
stream_index: Якщо stream_index дорівнює -1, вибрано потік за замовчуванням,timestampякий автоматично перетворюється з одиниць AV_TIME_BASE на конкретну базу часу_потоку. -
timestamp: Мітка часу в одиницях AVStream.time_base або, якщо потік не вказано, в одиницях AV_TIME_BASE. -
flags: прапорці, які вибирають напрямок і режим пошуку.
-
get_durationОтримайте тривалість фільму в одиницях AV_TIME_BASE.
18 See Also
ffmpeg , ffplay , ffprobe , libavfilter
19 Authors
Розробники FFmpeg.
Щоб дізнатися більше про авторство, перегляньте історію Git проекту (git://source.ffmpeg.org/ffmpeg), наприклад, ввівши команду
git logв каталозі вихідного коду FFmpeg або переглянувши онлайн-репозиторій за адресою http://source. ffmpeg.org .
Супроводжувачі для конкретних компонентів перераховані у файлі
MAINTAINERSу дереві вихідного коду.
Цей документ було створено 11 липня 2022 року за допомогою makeinfo .
Хостинг надає telepoint.bg