Зміст
- 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_channels
nb_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. За замовчуванням
4096
win_func
Встановити функцію вікна.
Він приймає такі значення:
- '
rect
' - '
bartlett
' - '
hann, hanning
' - '
hamming
' - '
blackman
' - '
welch
' - '
flattop
' - '
bharris
' - '
bnuttall
' - '
bhann
' - '
sine
' - '
nuttall
' - '
lanczos
' - '
gauss
' - '
tukey
' - '
dolph
' - '
cauchy
' - '
parzen
' - '
poisson
' - '
bohman
'
Типовим є
hann
.- '
overlap
Встановити перекриття вікон. Якщо встановлено значення 1, буде вибрано рекомендоване перекриття для вибраної функції вікна. Типовим є
0.75
.
8.22.1 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
Гц
q
Q-фактор
o
октава
s
схил
k
кГц
width, w
Укажіть ширину смуги фільтра в одиницях width_type.
mix, m
Скільки використовувати відфільтрований сигнал на виході. За замовчуванням — 1. Діапазон — від 0 до 1.
channels, c
Вкажіть, які канали фільтрувати, за замовчуванням фільтруються всі доступні.
normalize, n
Нормалізувати біквадратичні коефіцієнти, за замовчуванням вимкнено. Увімкнення нормалізує амплітудну характеристику при постійному струмі до 0 дБ.
order, o
Встановіть порядок фільтрів, може бути 1 або 2. За замовчуванням 2.
transform, a
Встановити тип перетворення IIR-фільтра.
di
dii
tdi
tdii
latt
svf
zdf
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
Цей фільтр підтримує такі команди:
weights
normalize
Синтаксис такий самий, як і параметр із такою ж назвою.
8.34 amultiply
Помножте перший аудіопотік на другий аудіопотік і збережіть результат у вихідному аудіопотоці. Множення виконується шляхом множення кожного зразка з першого потоку на зразок у тому самому місці з другого потоку.
За допомогою цього поелементного множення можна створювати завмирання амплітуди та модуляцію амплітуди.
8.35 anequalizer
Параметричний багатосмуговий еквалайзер високого порядку для кожного каналу.
Він приймає такі параметри:
params
-
Цей рядок параметрів має такий формат: "c
chn
f=cf
w=w
g=g
t=f
| ..." Кожна смуга еквалайзера відокремлена символом "|".chn
Встановіть номер каналу, до якого буде застосовано еквалайзер. Якщо введення не має цього каналу, запис ігнорується.
f
Встановіть центральну частоту для діапазону. Якщо введення не має такої частоти, запис ігнорується.
w
Встановіть ширину смуги в Герцах.
g
Встановіть посилення діапазону в дБ.
t
Встановити тип фільтра для смуги, необов’язково, може бути:
- '
0
' Баттерворт, це стандартно.
- '
1
' Чебишевський тип 1.
- '
2
' Чебишевський тип 2.
- '
curves
За допомогою цієї опції активована частотна характеристика еквалайзера відображається у відеопотоці.
size
Встановити розмір відеопотоку. Корисно, лише якщо активована опція кривих.
mgain
Встановіть максимальне посилення, яке буде відображатися. Корисно, лише якщо активована опція кривих. Встановлення цього значення на прийнятне значення дає змогу відображати підсилення, отримане від сусідніх смуг, які розташовані надто близько одна до одної, і, отже, дають більший підсилення, коли обидва активовані.
fscale
Встановити частотну шкалу, яка використовується для малювання частотної характеристики у відеовиході. Може бути лінійним або логарифмічним. За замовчуванням логарифмічний.
colors
Встановіть колір для кожної кривої каналу, яка буде відображатися у відеопотоці. Це список назв кольорів, розділених пробілом або «|». Нерозпізнані або відсутні кольори будуть замінені білим кольором.
8.35.1 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.
Він приймає такі значення:
hard
tanh
atan
cubic
exp
alg
quintic
sin
erf
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
.
Нижче наведено список кожного ключа метаданих:
mean
variance
centroid
spread
skewness
kurtosis
entropy
flatness
crest
flux
slope
decrease
rolloff
8.53 asr
Автоматичне розпізнавання мовлення
Цей фільтр використовує PocketSphinx для розпізнавання мовлення. Щоб увімкнути компіляцію цього фільтра, вам потрібно налаштувати FFmpeg за допомогою
--enable-pocketsphinx
.
Він приймає такі варіанти:
rate
Встановити частоту дискретизації вхідного аудіо. За замовчуванням:
16000
. Це необхідно для відповідності моделям мовлення, інакше ви отримаєте погані результати.hmm
Встановити словник, що містить файли акустичних моделей.
dict
Встановити словник вимови.
lm
Файл моделі встановлення мови.
lmctl
Набір моделей мови.
lmname
Визначте, яку мовну модель використовувати.
logfn
Встановити вихід для повідомлень журналу.
Фільтр експортує розпізнане мовлення як метадані кадру lavfi.asr.text
.
8.54 astats
Відображати статистичну інформацію про аудіоканали в часовій області. Статистика обчислюється та відображається для кожного аудіоканалу, а також, де це можливо, надається загальна цифра.
Він приймає наступний варіант:
length
Коротка довжина вікна в секундах, що використовується для вимірювання пікового та найнижчого 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 dB
RMS level dB
Стандартний піковий і середньоквадратичний рівень вимірюється в dBFS.
RMS peak dB
RMS 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
Гц
q
Q-фактор
o
октава
s
схил
k
кГц
width, w
Укажіть ширину смуги фільтра в одиницях width_type.
mix, m
Скільки використовувати відфільтрований сигнал на виході. За замовчуванням — 1. Діапазон — від 0 до 1.
channels, c
Вкажіть, які канали фільтрувати, за замовчуванням фільтруються всі доступні.
normalize, n
Нормалізувати біквадратичні коефіцієнти, за замовчуванням вимкнено. Увімкнення нормалізує амплітудну характеристику при постійному струмі до 0 дБ.
transform, a
Встановити тип перетворення IIR-фільтра.
di
dii
tdi
tdii
latt
svf
zdf
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
Гц
q
Q-фактор
o
октава
s
схил
k
кГц
width, w
Укажіть ширину смуги фільтра в одиницях width_type.
mix, m
Скільки використовувати відфільтрований сигнал на виході. За замовчуванням — 1. Діапазон — від 0 до 1.
channels, c
Вкажіть, які канали фільтрувати, за замовчуванням фільтруються всі доступні.
normalize, n
Нормалізувати біквадратичні коефіцієнти, за замовчуванням вимкнено. Увімкнення нормалізує амплітудну характеристику при постійному струмі до 0 дБ.
transform, a
Встановити тип перетворення IIR-фільтра.
di
dii
tdi
tdii
latt
svf
zdf
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
Гц
q
Q-фактор
o
октава
s
схил
k
кГц
width, w
Визначте, наскільки крутий перехід полиці фільтра.
poles, p
Встановити кількість полюсів. За замовчуванням 2.
mix, m
Скільки використовувати відфільтрований сигнал на виході. За замовчуванням — 1. Діапазон — від 0 до 1.
channels, c
Вкажіть, які канали фільтрувати, за замовчуванням фільтруються всі доступні.
normalize, n
Нормалізувати біквадратичні коефіцієнти, за замовчуванням вимкнено. Увімкнення нормалізує амплітудну характеристику при постійному струмі до 0 дБ.
transform, a
Встановити тип перетворення IIR-фільтра.
di
dii
tdi
tdii
latt
svf
zdf
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
Цей фільтр підтримує такі команди:
a0
a1
a2
b0
b1
b2
Змінити біквадратичний параметр. Синтаксис команди: "
value
"mix, m
Скільки використовувати відфільтрований сигнал на виході. За замовчуванням — 1. Діапазон — від 0 до 1.
channels, c
Вкажіть, які канали фільтрувати, за замовчуванням фільтруються всі доступні.
normalize, n
Нормалізувати біквадратичні коефіцієнти, за замовчуванням вимкнено. Увімкнення нормалізує амплітудну характеристику при постійному струмі до 0 дБ.
transform, a
Встановити тип перетворення IIR-фільтра.
di
dii
tdi
tdii
latt
svf
zdf
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_channel
in_channel
in_channel
out_channel
out_channel
channel_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
Стискайте або розширюйте динамічний діапазон звуку.
Він приймає такі параметри:
attacks
decays
Список часу в секундах для кожного каналу, за яким усереднюється миттєвий рівень вхідного сигналу для визначення його гучності.
attacks
стосується збільшення гучності таdecays
стосується зменшення гучності. У більшості ситуацій час атаки (реакція на звук, що стає голоснішим) має бути коротшим, ніж час загасання, оскільки людське вухо більш чутливе до раптового гучного звуку, ніж до раптового тихого звуку. Типове значення атаки становить 0,3 секунди, а типове значення розпаду – 0,8 секунди. Якщо вказана кількість атак і розпадів менша за кількість каналів, остання встановлена ​​атака/розпад буде використано для всіх каналів, що залишилися.points
Список точок для передавальної функції, заданий у дБ відносно максимально можливої ​​амплітуди сигналу. Кожен список ключових точок має бути визначений за допомогою такого синтаксису:
x0/y0|x1/y1|x2/y2|....
абоx0/y0 x1/y1 x2/y2 ....
Вхідні значення повинні бути строго в порядку зростання, але функція передачі не повинна бути монотонно зростаючою. Точка
0/0
передбачається, але може бути замінена (на0/out-dBn
). Типовими значеннями функції передачі є-70/-70|-60/-20|1/0
.soft-knee
Встановіть радіус кривої в дБ для всіх з’єднань. За замовчуванням 0,01.
gain
Встановіть додаткове посилення в дБ, яке буде застосовано до всіх точок функції передачі. Це дозволяє легко регулювати загальне посилення. За замовчуванням 0.
volume
Встановіть початкову гучність у дБ для кожного каналу під час початку фільтрації. Це дозволяє користувачеві спочатку задати номінальний рівень, щоб, наприклад, дуже велике посилення не застосовувалося до початкових рівнів сигналу до того, як компандування почне працювати. Типове значення для звуку, який спочатку тихий, становить -90 дБ. За замовчуванням 0.
delay
Встановіть затримку в секундах. Вхідне аудіо аналізується негайно, але аудіо затримується перед подачею на регулятор гучності. Встановлення затримки, яка приблизно дорівнює часу атаки/загасання, дозволяє фільтру ефективно працювати в режимі прогнозування, а не в режимі реагування. За замовчуванням 0.
8.72.1 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
Гц
q
Q-фактор
o
октава
s
схил
k
кГц
width, w
Укажіть ширину смуги фільтра в одиницях width_type.
gain, g
Встановіть необхідне посилення або ослаблення в дБ. Остерігайтеся обрізання під час використання позитивного посилення.
mix, m
Скільки використовувати відфільтрований сигнал на виході. За замовчуванням — 1. Діапазон — від 0 до 1.
channels, c
Вкажіть, які канали фільтрувати, за замовчуванням фільтруються всі доступні.
normalize, n
Нормалізувати біквадратичні коефіцієнти, за замовчуванням вимкнено. Увімкнення нормалізує амплітудну характеристику при постійному струмі до 0 дБ.
transform, a
Встановити тип перетворення IIR-фільтра.
di
dii
tdi
tdii
latt
svf
zdf
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
кількість каналів
chlayout
channel_layout див. libavutil/channel_layout.h
і функції:
gain_interpolate(f)
інтерполювати посилення на частоті f на основі gain_entry
cubic_interpolate(f)
те саме, що gain_interpolate, але плавніше
Ця опція також доступна як команда. Типовим є
gain_interpolate(f)
.gain_entry
Встановіть запис посилення для функції gain_interpolate. Вираз може містити функції:
entry(f, g)
запам'ятати запис підсилення на частоті f зі значенням g
Ця опція також доступна як команда.
delay
Встановіть затримку фільтра в секундах. Чим вище значення, тим точніше. Типовим є
0.01
.accuracy
Встановіть точність фільтра в Гц. Менше значення означає точніше. Типовим є
5
.wfunc
Встановити функцію вікна. Допустимі значення:
rectangular
прямокутне вікно, корисне, коли крива посилення вже гладка
hann
вікно hann (за замовчуванням)
hamming
забивання вікна
blackman
вікно Блекмана
nuttall3
3-членне неперервне 1-е похідне мінімальне вікно
mnuttall3
мінімальне тричленне розривне мінімальне вікно
nuttall
4-термове неперервне 1-е похідне мінімальне вікно
bnuttall
мінімальне 4-членне розривне вікно nuttall (Blackman-nuttall).
bharris
вікно Блекмена-Харріса
tukey
tukey вікно
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, але тепер у форматі.
multich
hrir
ffmpeg -i input.wav -filter_complex "amovie=minp.wav[hrirs];[0:a][hrirs]headphone=map=FL|FR|FC|LFE|BL|BR|SL|SR:hrir=multich" output.wav
8.89 highpass
Застосуйте фільтр верхніх частот із точковою частотою 3 дБ. Фільтр може бути як однополюсним, так і двополюсним (за замовчуванням). Фільтр знижується на 6 дБ на полюс на октаву (20 дБ на полюс на декаду).
Фільтр приймає такі параметри:
frequency, f
Встановіть частоту в Гц. За замовчуванням 3000.
poles, p
Встановити кількість полюсів. За замовчуванням 2.
width_type, t
Встановити метод для визначення пропускної здатності фільтра.
h
Гц
q
Q-фактор
o
октава
s
схил
k
кГц
width, w
Укажіть ширину смуги фільтра в одиницях width_type. Застосовується лише до двополюсного фільтра. За замовчуванням 0,707q і дає відповідь Баттерворта.
mix, m
Скільки використовувати відфільтрований сигнал на виході. За замовчуванням — 1. Діапазон — від 0 до 1.
channels, c
Вкажіть, які канали фільтрувати, за замовчуванням фільтруються всі доступні.
normalize, n
Нормалізувати біквадратичні коефіцієнти, за замовчуванням вимкнено. Увімкнення нормалізує амплітудну характеристику при постійному струмі до 0 дБ.
transform, a
Встановити тип перетворення IIR-фільтра.
di
dii
tdi
tdii
latt
svf
zdf
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_channel
input_idx
in_channel
out_channel
Фільтр намагатиметься вгадати зіставлення, якщо вони не вказані явно. Він робить це, спочатку намагаючись знайти невикористаний відповідний вхідний канал, і якщо це не вдається, він вибирає перший невикористаний вхідний канал.
Об'єднайте 3 входи (з правильно встановленими розкладками каналів):
ffmpeg -i INPUT1 -i INPUT2 -i INPUT3 -filter_complex join=inputs=3 OUTPUT
Побудуйте вихід 5.1 із 6 одноканальних потоків:
ffmpeg -i fl -i fr -i fc -i sl -i sr -i lfe -filter_complex
'join=inputs=6:channel_layout=5.1:map=0.0-FL|1.0-FR|2.0-FC|3.0-SL|4.0-SR|5.0-LFE'
out
8.91 ladspa
Завантажте плагін LADSPA (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
Гц
q
Q-фактор
o
октава
s
схил
k
кГц
width, w
Укажіть ширину смуги фільтра в одиницях width_type. Застосовується лише до двополюсного фільтра. За замовчуванням 0,707q і дає відповідь Баттерворта.
mix, m
Скільки використовувати відфільтрований сигнал на виході. За замовчуванням — 1. Діапазон — від 0 до 1.
channels, c
Вкажіть, які канали фільтрувати, за замовчуванням фільтруються всі доступні.
normalize, n
Нормалізувати біквадратичні коефіцієнти, за замовчуванням вимкнено. Увімкнення нормалізує амплітудну характеристику при постійному струмі до 0 дБ.
transform, a
Встановити тип перетворення IIR-фільтра.
di
dii
tdi
tdii
latt
svf
zdf
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
Встановити детектор перехідних процесів. Можливі значення:
crisp
mixed
smooth
detector
Встановити детектор. Можливі значення:
compound
percussive
soft
phase
Встановити фазу. Можливі значення:
laminar
independent
window
Встановити розмір вікна обробки. Можливі значення:
standard
short
long
smoothing
Встановити згладжування. Можливі значення:
off
on
formant
Увімкнути збереження форманти під час зміни тону. Можливі значення:
shifted
preserved
pitchq
Встановити якість висоти. Можливі значення:
quality
speed
consistency
channels
Встановити канали. Можливі значення:
apart
together
8.99.1 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
Гц
q
Q-фактор
o
октава
s
схил
k
кГц
width, w
Визначте, наскільки крутий перехід полиці фільтра.
poles, p
Встановити кількість полюсів. За замовчуванням 2.
mix, m
Скільки використовувати відфільтрований сигнал на виході. За замовчуванням — 1. Діапазон — від 0 до 1.
channels, c
Вкажіть, які канали фільтрувати, за замовчуванням фільтруються всі доступні.
normalize, n
Нормалізувати біквадратичні коефіцієнти, за замовчуванням вимкнено. Увімкнення нормалізує амплітудну характеристику при постійному струмі до 0 дБ.
transform, a
Встановити тип перетворення IIR-фільтра.
di
dii
tdi
tdii
latt
svf
zdf
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
Гц
q
Q-фактор
o
октава
s
схил
k
кГц
width, w
Визначте, наскільки крутий перехід полиці фільтра.
poles, p
Встановити кількість полюсів. За замовчуванням 2.
mix, m
Скільки використовувати відфільтрований сигнал на виході. За замовчуванням — 1. Діапазон — від 0 до 1.
channels, c
Вкажіть, які канали фільтрувати, за замовчуванням фільтруються всі доступні.
normalize, n
Нормалізувати біквадратичні коефіцієнти, за замовчуванням вимкнено. Увімкнення нормалізує амплітудну характеристику при постійному струмі до 0 дБ.
transform, a
Встановити тип перетворення IIR-фільтра.
di
dii
tdi
tdii
latt
svf
zdf
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
Цей параметр представляє математичну точність.
Він визначає, які формати вхідних зразків будуть дозволені, що впливає на точність масштабування гучності.
fixed
8-розрядний з фіксованою комою; це обмежує формат вхідного зразка U8, S16 і S32.
float
32-розрядний з плаваючою комою; це обмежує формат вхідного зразка FLT. (за умовчанням)
double
64-розрядний з плаваючою комою; це обмежує формат вхідного зразка DBL.
replaygain
Виберіть поведінку під час зустрічі зі сторонніми даними ReplayGain у вхідних кадрах.
drop
Видалити бічні дані ReplayGain, ігноруючи їх вміст (за замовчуванням).
ignore
Ігноруйте бічні дані ReplayGain, але залиште їх у кадрі.
track
Віддати перевагу посиленню доріжки, якщо воно є.
album
Віддайте перевагу посиленню альбому, якщо воно є.
replaygain_preamp
Підсилення попереднього підсилення в дБ для застосування до вибраного підсилення відтворення.
Значення за замовчуванням
replaygain_preamp
становить 0,0.replaygain_noclip
Запобігайте обрізанню, обмеживши застосоване посилення.
Значення за замовчуванням
replaygain_noclip
— 1.eval
Встановлює, коли обчислюється вираз обсягу.
Він приймає такі значення:
- '
once
' обчислювати вираз лише один раз під час ініціалізації фільтра або коли '
volume
' надіслано команду- '
frame
' оцінити вираз для кожного вхідного кадру
Значення за замовчуванням: '
once
'.- '
Вираз обсягу може містити такі параметри.
n
номер кадру (починаючи з нуля)
nb_channels
кількість каналів
nb_consumed_samples
кількість проб, спожитих фільтром
nb_samples
кількість вибірок у поточному кадрі
pos
оригінальне положення кадру у файлі
pts
каркас ПТС
sample_rate
частота дискретизації
startpts
PTS на початку потоку
startt
час на початку потоку
t
час кадру
tb
timestamp 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.h
channel_layout
Схема каналу буферів вхідного аудіо. Або назва макета каналу з channel_layout_map в
libavutil/channel_layout.c
або його відповідне ціле представлення з макросу AV_CH_LAYOUT_* вlibavutil/channel_layout.h
channels
Кількість каналів вхідних звукових буферів. Якщо вказано обидва
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.
pts
PTS (TimeStamp презентації) вихідного аудіокадру, виражений в
TB
одиницях.t
PTS вихідного аудіокадру, виражений у секундах.
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
Цей фільтр підтримує такі команди , які відповідають опції з такою ж назвою:
factor
threshold
tolerance
low
high
planes
11.5 ass
Те саме, що й фільтр субтитрів , за винятком того, що для його роботи не потрібні libavcodec і libavformat. З іншого боку, він обмежений файлами субтитрів ASS (Advanced Substation Alpha).
Цей фільтр приймає такі параметри на додаток до загальних параметрів із фільтра субтитрів :
shaping
Встановіть механізм формування
Доступні значення:
- '
auto
' Типовий механізм формування libass, який є найкращим із доступних.
- '
simple
' Швидкий формувальник шрифтів, який може виконувати лише заміни
- '
complex
' Повільніший формувач із використанням OpenType для замін і позиціонування
Типовим є
auto
.- '
11.6 atadenoise
Застосуйте адаптивне тимчасове усереднення шуму до відеовходу.
Фільтр приймає такі параметри:
0a
Встановіть поріг A для 1-ї площини. За замовчуванням 0,02. Допустимий діапазон – від 0 до 0,3.
0b
Встановіть поріг B для 1-ї площини. За замовчуванням 0,04. Дійсний діапазон від 0 до 5.
1a
Встановіть поріг A для 2-ї площини. За замовчуванням 0,02. Допустимий діапазон – від 0 до 0,3.
1b
Встановіть поріг B для 2-ї площини. За замовчуванням 0,04. Дійсний діапазон від 0 до 5.
2a
Встановіть поріг A для 3-ї площини. За замовчуванням 0,02. Допустимий діапазон – від 0 до 0,3.
2b
Встановіть поріг B для 3-ї площини. За замовчуванням 0,04. Дійсний діапазон від 0 до 5.
Поріг A призначений для реакції на різкі зміни вхідного сигналу, а поріг B призначений для реагування на безперервні зміни вхідного сигналу.
s
Встановіть кількість кадрів, які фільтр використовуватиме для усереднення. За замовчуванням 9. Має бути непарне число в діапазоні [5, 129].
p
Встановіть, які площини рамкового фільтра використовуватимуться для усереднення. За замовчуванням це все.
a
Встановіть, який варіант алгоритму фільтр буде використовувати для усереднення. За замовчуванням
p
паралельно. Крім того, можна встановитиs
серійний номер.Паралельний може бути швидшим, ніж послідовний, тоді як навпаки ніколи не вірно. Паралельний переривається раніше, якщо перша зміна буде більшою за порогове значення, тоді як послідовний продовжить обробку іншої сторони кадрів, якщо вони рівні або нижчі за порогові значення.
0s
1s
2s
Встановіть сигму для 1-ї площини, 2-ї площини або 3-ї площини. За замовчуванням — 32767. Діапазон — від 0 до 32767. Цей параметр керує вагою для кожного пікселя в радіусі, визначеному розміром. Значення за замовчуванням означає, що кожен піксель має однакову вагу. Встановлення цього параметра на 0 фактично вимикає фільтрацію.
11.6.1 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_size
luminance_range_size
іluminance_minimum_value
залежно від формату вхідного відео, діапазон [0-255] для повнодіапазонних форматів YUV і [16-235] для неповнодіапазонних форматів YUV.Значення за замовчуванням 0,10.
У наведеному нижче прикладі встановлюється максимальний поріг пікселів на мінімальне значення та виявляються лише чорні інтервали довжиною 2 або більше секунд:
blackdetect=d=2:pix_th=0.00
11.12 blackframe
Виявляти кадри, які (майже) повністю чорні. Може бути корисним для виявлення переходів між розділами або рекламними роликами. Рядки виводу містять номер кадру виявленого кадру, відсоток чорноти, позицію у файлі, якщо вона відома, або -1 і позначку часу в секундах.
Для відображення вихідних рядків вам потрібно встановити рівень журналу принаймні до значення AV_LOG_INFO.
Цей фільтр експортує метадані кадру lavfi.blackframe.pblack
. Значення представляє відсоток пікселів у зображенні, які нижчі за порогове значення.
Він приймає такі параметри:
amount
Відсоток пікселів, які мають бути нижчими за порогове значення; за замовчуванням
98
.threshold, thresh
Поріг, нижче якого значення пікселя вважається чорним; за замовчуванням
32
.
11.13 blend
Змішайте два відеокадри один з одним.
Фільтр blend
приймає два вхідних потоки та виводить один потік, перший вхід є «верхнім» шаром, а другий вхід — «нижнім». За замовчуванням вихід завершується, коли завершується найдовший вхід.
Фільтр tblend
(змішування за часом) бере два послідовних кадри з одного потоку та виводить результат, отриманий шляхом змішування нового кадру поверх старого кадру.
Нижче наведено опис прийнятих варіантів.
c0_mode
c1_mode
c2_mode
c3_mode
all_mode
Установіть режим змішування для певного піксельного компонента або всіх піксельних компонентів у випадку
all_mode
. Значення за замовчуванням:normal
.Доступні значення для режимів компонентів:
- '
addition
' - '
and
' - '
average
' - '
bleach
' - '
burn
' - '
darken
' - '
difference
' - '
divide
' - '
dodge
' - '
exclusion
' - '
extremity
' - '
freeze
' - '
geometric
' - '
glow
' - '
grainextract
' - '
grainmerge
' - '
hardlight
' - '
hardmix
' - '
hardoverlay
' - '
harmonic
' - '
heat
' - '
interpolate
' - '
lighten
' - '
linearlight
' - '
multiply
' - '
multiply128
' - '
negation
' - '
normal
' - '
or
' - '
overlay
' - '
phoenix
' - '
pinlight
' - '
reflect
' - '
screen
' - '
softdifference
' - '
softlight
' - '
stain
' - '
subtract
' - '
vividlight
' - '
xor
'
- '
c0_opacity
c1_opacity
c2_opacity
c3_opacity
all_opacity
Установіть непрозорість змішування для певного піксельного компонента або всіх піксельних компонентів у випадку
all_opacity
. Використовується лише в поєднанні з режимами змішування піксельних компонентів.c0_expr
c1_expr
c2_expr
c3_expr
all_expr
Установіть вираз змішування для певного піксельного компонента або всіх піксельних компонентів у випадку
all_expr
. Зауважте, що пов’язані параметри режиму ігноруватимуться, якщо вони встановлені.Вирази можуть використовувати такі змінні:
N
Порядковий номер відфільтрованого кадру, починаючи з
0
.X
Y
координати поточної вибірки
W
H
ширина та висота поточної відфільтрованої площини
SW
SH
Шкала ширини та висоти площини, що фільтрується. Це відношення між розмірами поточної площини до площини яскравості, наприклад, для
yuv420p
кадру значення наведені1,1
для площини яскравості та0.5,0.5
для площин кольоровості.T
Час поточного кадру, виражений у секундах.
TOP, A
Значення компонента пікселя в поточному місці для першого кадру відео (верхній шар).
BOTTOM, B
Значення компонента пікселя в поточному місці для другого кадру відео (нижній шар).
Фільтр blend
також підтримує параметри синхронізації кадрів .
11.13.1 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_min
period_max
Встановіть мінімальне та максимальне значення для визначення піксельних сіток (періодів). Значення за замовчуванням [3,24].
planes
Встановити площини для фільтрації. За замовчуванням лише перший.
11.14.1 Examples
- Визначити блочність для першої площини та знайти періоди в межах [8,32]:
blockdetect=period_min=8:period_max=32:planes=1
11.15 blurdetect
Визначає розмитість кадрів без зміни вхідних кадрів.
На основі Marziliano, Pina та ін. «Метрика перцептивного розмиття без посилання». Дозволяє блочне скорочення.
Фільтр приймає такі параметри:
low
high
Встановіть низькі та високі порогові значення, які використовуються алгоритмом порогового значення 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, lr
luma_power, lp
chroma_radius, cr
chroma_power, cp
alpha_radius, ar
alpha_power, ap
Нижче наведено опис прийнятих варіантів.
luma_radius, lr
chroma_radius, cr
alpha_radius, ar
Встановіть вираз для радіуса рамки в пікселях, який використовується для розмивання відповідної вхідної площини.
Значення радіуса має бути невід’ємним числом і не повинно перевищувати значення виразу
min(w,h)/2
для площин яскравості та альфа, а такожmin(cw,ch)/2
для площин кольоровості.Значення за умовчанням для
luma_radius
це "2". Якщо не зазначено,chroma_radius
іalpha_radius
за замовчуванням встановлено відповідне значенняluma_radius
.Вирази можуть містити такі константи:
w
h
Ширина та висота введення в пікселях.
cw
ch
Ширина та висота вхідного кольорового зображення в пікселях.
hsub
vsub
Значення підвибірки кольоровості по горизонталі та вертикалі. Наприклад, для піксельного формату "yuv422p"
hsub
дорівнює 2 іvsub
дорівнює 1.
luma_power, lp
chroma_power, cp
alpha_power, ap
Укажіть, скільки разів фільтр boxblur застосовується до відповідної площини.
Значення за умовчанням для
luma_power
дорівнює 2. Якщо не вказано,chroma_power
іalpha_power
за замовчуванням встановлено відповідне значенняluma_power
.Значення 0 вимкне ефект.
11.17.1 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
Змінити інтенсивність основних кольорів (червоного, зеленого та синього) вхідних кадрів.
Фільтр дозволяє регулювати вхідний кадр у тінях, середніх тонах або світлих областях для балансу червоно-блакитного, зелено-пурпурового або синьо-жовтого.
Позитивне значення коригування зміщує баланс до основного кольору, а від’ємне значення – до додаткового кольору.
Фільтр приймає такі параметри:
rs
gs
bs
Налаштуйте червоні, зелені та сині тіні (найтемніші пікселі).
rm
gm
bm
Налаштуйте червоні, зелені та сині півтони (середні пікселі).
rh
gh
bh
Відрегулюйте червоні, зелені та сині відтінки (найяскравіші пікселі).
Дозволені діапазони для параметрів:
[-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.
rcw
gmw
byw
Встановіть вагу кожного значення параметра
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
Фільтр приймає такі параметри:
rr
rg
rb
ra
Налаштуйте внесок вхідних червоного, зеленого, синього та альфа-каналів для вихідного червоного каналу. За замовчуванням
1
дляrr
, і0
дляrg
,rb
іra
.gr
gg
gb
ga
Відрегулюйте внесок вхідних червоного, зеленого, синього та альфа-каналів для вихідного зеленого каналу. За замовчуванням
1
дляgg
, і0
дляgr
,gb
іga
.br
bg
bb
ba
Відрегулюйте внесок вхідних червоного, зеленого, синього та альфа-каналів для вихідного синього каналу. За замовчуванням
1
дляbb
, і0
дляbr
,bg
іba
.ar
ag
ab
aa
Налаштуйте внесок вхідного червоного, зеленого, синього та альфа-каналів для вихідного альфа-каналу. За замовчуванням
1
дляaa
, і0
дляar
,ag
іab
.Дозволені діапазони для параметрів:
[-2.0, 2.0]
.pc
Встановити режим збереження кольору. Допустимі значення:
- '
none
' Вимкнути збереження кольору, це стандартно.
- '
lum
' Зберігайте яскравість.
- '
max
' Зберігати максимальне значення триплету RGB.
- '
avg
' Зберегти середнє значення триплету RGB.
- '
sum
' Зберігати сумарне значення триплету RGB.
- '
nrm
' Збереження нормалізованого значення триплету RGB.
- '
pwr
' Зберігає значення потужності триплету RGB.
- '
pa
Установіть кількість збереження кольору під час зміни кольорів. Дозволений діапазон від
[0.0, 1.0]
. За замовчуванням це0.0
, тому вимкнено.
11.30.1 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
Налаштуйте кадри вхідного відео за допомогою рівнів.
Фільтр приймає такі параметри:
rimin
gimin
bimin
aimin
Налаштуйте червону, зелену, синю та альфа-вхідну точку чорного. Дозволені діапазони для параметрів:
[-1.0, 1.0]
. За замовчуванням:0
.rimax
gimax
bimax
aimax
Налаштуйте червону, зелену, синю та альфа-вхідну білу точку. Дозволені діапазони для параметрів:
[-1.0, 1.0]
. За замовчуванням:1
.Вхідні рівні використовуються для освітлення відблисків (яскраві тони), затемнення тіней (темні тони), зміни балансу яскравих і темних тонів.
romin
gomin
bomin
aomin
Налаштуйте червону, зелену, синю та альфа-вихідну точку чорного. Дозволені діапазони для параметрів:
[0, 1.0]
. За замовчуванням:0
.romax
gomax
bomax
aomax
Відрегулюйте червону, зелену, синю та альфа-вихідну точку білого. Дозволені діапазони для параметрів:
[0, 1.0]
. За замовчуванням:1
.Вихідні рівні дозволяють вручну вибрати обмежений діапазон вихідних рівнів.
preserve
Встановити режим збереження кольору. Допустимі значення:
- '
none
' Вимкнути збереження кольору, це стандартно.
- '
lum
' Зберігайте яскравість.
- '
max
' Зберігати максимальне значення триплету RGB.
- '
avg
' Зберегти середнє значення триплету RGB.
- '
sum
' Зберігати сумарне значення триплету RGB.
- '
nrm
' Збереження нормалізованого значення триплету RGB.
- '
pwr
' Зберігає значення потужності триплету RGB.
- '
11.34.1 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
Перетворення кольорової матриці.
Фільтр приймає такі параметри:
src
dst
Укажіть матрицю кольорів джерела та призначення. Необхідно вказати обидва значення.
Допустимі значення:
- '
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 елементів.
Фільтр приймає такі параметри:
0m
1m
2m
3m
Задайте матрицю для кожної площини. Матриця — це послідовність із 9, 25 або 49 цілих чисел зі знаком у
square
режимі та від 1 до 49 непарних чисел зі знаком уrow
режимі.0rdiv
1rdiv
2rdiv
3rdiv
Встановіть множник для розрахункового значення для кожної площини. Якщо не встановлено або 0, це буде сума всіх елементів матриці.
0bias
1bias
2bias
3bias
Встановіть ухил для кожної площини. Це значення додається до результату множення. Корисно, щоб зробити загальне зображення яскравішим або темнішим. За замовчуванням 0,0.
0mode
1mode
2mode
3mode
Встановіть режим матриці для кожної площини. Може бути
square
,row
абоcolumn
. Типовим єsquare
.
11.39.1 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=true
filter
Укажіть усі фільтри за їхніми відповідними назвами та параметрами. Використовуйте
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
— це вирази, що містять такі константи:
x
y
Обчислені значення для
x
таy
. Вони оцінюються для кожного нового кадру.in_w
in_h
Ширина та висота введення.
iw
ih
Це те саме, що
in_w
іin_h
.out_w
out_h
Вихідні (обрізані) ширина та висота.
ow
oh
Це те саме, що
out_w
іout_h
.a
те саме, що
iw
/ih
sar
формат вхідного зразка
dar
формат вхідного дисплея, такий самий, як (
iw
/ih
) *sar
hsub
vsub
горизонтальні та вертикальні значення кольоровості. Наприклад, для піксельного формату "yuv422p"
hsub
дорівнює 2 іvsub
1.n
Номер вхідного кадру, починаючи з 0.
pos
позиція у файлі вхідного кадру, NAN, якщо невідома
t
Мітка часу, виражена в секундах. Це NAN, якщо позначка часу введення невідома.
Вираз для out_w
може залежати від значення out_h
, а вираз для out_h
може залежати від out_w
, але вони не можуть залежати від x
і y
, оскільки x
і y
обчислюються після out_w
і out_h
.
Параметри x
and 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_w
h, out_h
x
y
Встановіть ширину/висоту вихідного відео та положення по горизонталі/вертикалі у вхідному відео. Команда приймає той самий синтаксис відповідного параметра.
Якщо вказаний вираз недійсний, його поточне значення зберігається.
11.45 cropdetect
Автоматичне визначення розміру кадрування.
Він обчислює необхідні параметри кадрування та друкує рекомендовані параметри через систему реєстрації. Виявлені розміри відповідають нечорній області вхідного відео.
Він приймає такі параметри:
limit
Встановіть вищий поріг значення чорного, який можна додатково вказати від нічого (0) до всього (255 для 8-бітних форматів). Значення інтенсивності, що перевищує встановлене значення, вважається нечорним. За замовчуванням воно дорівнює 24. Ви також можете вказати значення від 0,0 до 1,0, яке буде масштабовано залежно від бітової глибини піксельного формату.
round
Значення, на яке має ділитися ширина/висота. За замовчуванням він дорівнює 16. Зсув автоматично регулюється для центрування відео. Використовуйте 2, щоб отримати лише рівні розміри (потрібно для відео 4:2:2). 16 найкращий під час кодування за допомогою більшості відеокодеків.
skip
Встановіть кількість початкових кадрів, для яких оцінка пропускається. За замовчуванням 2. Діапазон від 0 до INT_MAX.
reset_count, reset
Встановіть лічильник, який визначає, через скільки кадрів 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<<
n
blocksize
Значення за замовчуванням
3
(8x8) і може бути збільшено до4
16x16blocksize
. Зауважте, що зміна цього параметра має значні наслідки для швидкості обробки. Крім того, більший розмір блоку не обов’язково означає кращу шумозаглушення.
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
Видаліть артефакти смуг із вхідного відео. Він працює шляхом заміни смугових пікселів середнім значенням посилальних пікселів.
Фільтр приймає такі параметри:
1thr
2thr
3thr
4thr
Встановіть поріг виявлення смуг для кожної площини. За замовчуванням 0,02. Допустимий діапазон: від 0,00003 до 0,5. Якщо різниця між поточним пікселем і еталонним пікселем менша за порогове значення, вона вважатиметься смугою.
range, r
Діапазон виявлення смуг у пікселях. За замовчуванням 16. Якщо додатне значення, буде використано випадкове число в діапазоні 0 для встановлення значення. Якщо від’ємне значення, використовуватиметься точне абсолютне значення. Діапазон визначає квадрат із чотирьох пікселів навколо поточного пікселя.
direction, d
Встановіть напрямок у радіанах, з якого будуть порівнюватися чотири пікселі. Якщо позитивний, буде вибрано випадковий напрямок від 0 до встановленого напрямку. Якщо від’ємне, буде вибрано точне абсолютне значення. Наприклад, напрямок 0, -PI або -2*PI радіан вибере лише пікселі в тому самому рядку, а -PI/2 вибере лише пікселі в тому самому стовпці.
blur, b
Якщо ввімкнено, поточний піксель порівнюється із середнім значенням усіх чотирьох навколишніх пікселів. За замовчуванням увімкнено. Якщо вимкнено, поточний піксель порівнюється з усіма чотирма оточуючими пікселями. Піксель вважається смуговим, якщо лише всі чотири відмінності з оточуючими пікселями менші за порогове значення.
coupling, c
Якщо ввімкнено, поточний піксель змінюється тоді й лише тоді, коли всі компоненти пікселів мають смуги, наприклад, поріг виявлення смуг запускається для всіх компонентів кольору. За замовчуванням вимкнено.
11.51.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
11.52 deblock
Видаліть артефакти блокування вхідного відео.
Фільтр приймає такі параметри:
filter
Встановіть тип фільтра, може бути
weak
абоstrong
. Типовим єstrong
. Це визначає, який тип деблокування застосовується.block
Встановіть розмір блоку, допустимий діапазон від 4 до 512. За замовчуванням
8
.alpha
beta
gamma
delta
Встановіть пороги виявлення блокування. Дозволений діапазон від 0 до 1. За замовчуванням:
0.098
дляalpha
та0.05
для решти. Використання вищого порогу дає більшу силу деблокування. Налаштуванняalpha
керує виявленням порогу на точному краю блоку. Решта параметрів контролює виявлення порогу біля краю. Кожне знизу/вгорі або ліворуч/праворуч. Встановлення будь-якого з них на0
вимикає деблокування.planes
Встановити площини для фільтрації. За замовчуванням фільтруються всі доступні літаки.
11.52.1 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.1
scthresh
Встановити поріг зміни сцени. Типовим є
15
.blockx
blocky
Установіть розмір блоків осей 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) середнім, враховуючи лише значення, нижчі за піксель.
Він приймає такі варіанти:
threshold0
threshold1
threshold2
threshold3
Обмежте максимальну зміну для кожної площини, за замовчуванням 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
Придушіть логотип телевізійної станції простою інтерполяцією навколишніх пікселів. Просто встановіть прямокутник, що закриває логотип, і спостерігайте, як він зникає (іноді з’являється щось ще потворніше – ваш пробіг може відрізнятися).
Він приймає такі параметри:
x
y
Вкажіть координати верхнього лівого кута логотипу. Їх необхідно вказати.
w
h
Укажіть ширину та висоту логотипу, який потрібно очистити. Їх необхідно вказати.
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
Спробуйте виправити невеликі зміни горизонтального та/або вертикального зсуву. Цей фільтр допомагає усунути тремтіння камери внаслідок тримання камери в руках, зіткнення зі штативом, пересування транспортним засобом тощо.
Фільтр приймає такі параметри:
x
y
w
h
Укажіть прямокутну область, де обмежити пошук векторів руху. За бажанням пошук векторів руху можна обмежити прямокутною областю кадру, визначеною його верхнім лівим кутом, шириною та висотою. Ці параметри мають те саме значення, що й фільтр Drawbox, який можна використовувати для візуалізації положення обмежувальної рамки.
Це корисно, коли пошук вектора руху може сплутати одночасний рух об’єктів у кадрі з рухом камери.
Якщо для будь-якого або всіх параметрів
x
,y
,w
іh
встановлено значення -1, використовується повний кадр. Це дозволяє встановлювати пізніші параметри без визначення обмежувальної рамки для пошуку вектора руху.За замовчуванням - пошук по всьому кадру.
rx
ry
Укажіть максимальний ступінь руху в напрямках x і y в діапазоні 0-64 пікселів. За замовчуванням 16.
edge
Укажіть, як генерувати пікселі для заповнення прогалин на краю кадру. Доступні значення:
- '
blank, 0
' Заповніть нулі на порожніх місцях
- '
original, 1
' Оригінальне зображення на пустих місцях
- '
clamp, 2
' Значення екструдованого краю в порожніх місцях
- '
mirror, 3
' Дзеркальний край у порожніх місцях
Значення за замовчуванням: '
mirror
'.- '
blocksize
Укажіть розмір блоку для пошуку руху. Діапазон 4-128 пікселів, за замовчуванням 8.
contrast
Вкажіть поріг контрастності для блоків. Розглядатимуться лише блоки з більшою ніж указана контрастність (різниця між найтемнішими та найсвітлішими пікселями). Діапазон 1-255, за замовчуванням 125.
search
Вкажіть стратегію пошуку. Доступні значення:
- '
exhaustive, 0
' Встановити вичерпний пошук
- '
less, 1
' Встановіть менш вичерпний пошук.
Значення за замовчуванням: '
exhaustive
'.- '
filename
Якщо встановлено, детальний журнал пошуку руху записується у вказаний файл.
11.62 despill
Видаліть небажане забруднення кольорів переднього плану, викликане відбитим кольором зеленого або синього екрана.
Цей фільтр приймає такі параметри:
type
Встановіть тип дренажу для використання.
mix
Встановіть, як буде створено карту розливу.
expand
Встановіть, скільки потрібно позбутися залишків розливу.
red
Контролює кількість червоного в області розливу.
green
Контролює кількість зелені в зоні розливу. Має бути -1 для зеленого екрана.
blue
Контролює кількість синього в області розливу. Має бути -1 для синього екрана.
brightness
Контролює яскравість області розливу, зберігаючи кольори.
alpha
Змінити альфа-версію зі згенерованої карти розливу.
11.62.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
11.63 detelecine
Застосуйте точну операцію, зворотну телекіно. Для цього потрібен попередньо визначений шаблон, визначений за допомогою параметра шаблону, який має бути таким самим, як той, що передається до фільтра телекіно.
Цей фільтр приймає такі параметри:
first_field
- '
top, t
' спочатку верхнє поле
- '
bottom, b
' нижнє поле спочатку Значення за замовчуванням —
top
.
- '
pattern
Рядок чисел, що представляє розкривний шаблон, який ви бажаєте застосувати. Значення за замовчуванням —
23
.start_frame
Число, що представляє положення першого кадру відносно телекіно-шаблону. Це потрібно використовувати, якщо потік перерізано. Значення за замовчуванням —
0
.
11.64 dilation
Застосуйте ефект розширення до відео.
Цей фільтр замінює піксель локальним (3x3) максимумом.
Він приймає такі варіанти:
threshold0
threshold1
threshold2
threshold3
Обмежте максимальну зміну для кожної площини, за замовчуванням 65535. Якщо 0, площина залишиться незмінною.
coordinates
Прапорець, який визначає піксель, на який потрібно посилатися. За замовчуванням 255, тобто використовуються всі вісім пікселів.
Прапори для локальних карт координат 3x3, як це:
1 2 3 4 5 6 7 8
11.64.1 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
Намалюйте кольорову рамку на вхідному зображенні.
Він приймає такі параметри:
x
y
Вирази, які визначають координати верхнього лівого кута прямокутника. За замовчуванням 0.
width, w
height, h
Вирази, які визначають ширину та висоту коробки; якщо 0, вони інтерпретуються як вхідні ширина та висота. За замовчуванням 0.
color, c
Вкажіть колір поля для запису. Щоб отримати загальний синтаксис цього параметра, перевірте розділ (ffmpeg-utils)"Колір" у посібнику ffmpeg-utils . Якщо використовується спеціальне значення
invert
, колір краю рамки такий самий, як і відео з перевернутою яскравістю.thickness, t
Вираз, який задає товщину краю поля. Значення
fill
створить заповнений квадрат. Значення за замовчуванням:3
.Нижче наведено список прийнятних констант.
replace
Застосовується, якщо вхід має альфа-версію. Зі значенням
1
пікселі намальованого поля перезапишуть колір відео та альфа-пікселі. За замовчуванням встановлено0
, що поєднує рамку з вхідними даними, залишаючи альфа-версію відео без змін.
Параметри для x
, y
, w
і h
є t
виразами, що містять такі константи:
dar
Співвідношення сторін вхідного дисплея таке ж, як (
w
/h
) *sar
.hsub
vsub
горизонтальні та вертикальні значення кольоровості. Наприклад, для піксельного формату "yuv422p"
hsub
дорівнює 2 іvsub
1.in_h, ih
in_w, iw
Ширина та висота введення.
sar
Співвідношення сторін вхідного зразка.
x
y
Координати зміщення x і y, де намальовано рамку.
w
h
Ширина і висота намальованої коробки.
box_source
Джерело блоку можна встановити як side_data_detection_bboxes, якщо ви хочете використовувати дані ящика в блоках виявлення бічних даних.
Якщо
box_source
встановлено, елементиx
,y
,width
таheight
ігноруватимуться, а дані поля все ще використовуватимуться в полях виявлення бічних даних. Тому, будь ласка, не використовуйте цей параметр, якщо ви не впевнені щодо джерела коробки.t
Товщина витягнутої коробки.
Ці константи дозволяють виразам , , і
x
посилатисяy
одинw
на одного, тому ви можете, наприклад, вказати або .h
t
y=x/dar
h=w/dar
11.69.1 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
Намалюйте сітку на вхідному зображенні.
Він приймає такі параметри:
x
y
Вирази, які вказують координати деякої точки перетину сітки (призначені для налаштування зсуву). Обидва за замовчуванням 0.
width, w
height, h
Вирази, які вказують ширину та висоту клітинки сітки, якщо 0, вони інтерпретуються як ширина та висота вхідних даних, відповідно, мінус
thickness
, тому зображення отримує рамку. За замовчуванням 0.color, c
Вкажіть колір сітки. Щоб отримати загальний синтаксис цього параметра, перевірте розділ (ffmpeg-utils)"Колір" у посібнику ffmpeg-utils . Якщо використовується спеціальне значення
invert
, колір сітки такий самий, як і відео з перевернутою яскравістю.thickness, t
Вираз, який задає товщину лінії сітки. Значення за замовчуванням:
1
.Нижче наведено список прийнятних констант.
replace
Застосовується, якщо вхід має альфа-версію. За
1
допомогою пікселів намальованої сітки буде перезаписано колір відео та альфа-пікселі. За замовчуванням встановлено0
, що поєднує сітку у вхідні дані, залишаючи альфа-версію відео без змін.
Параметри для x
, y
, w
і h
є t
виразами, що містять такі константи:
dar
Співвідношення сторін вхідного дисплея таке ж, як (
w
/h
) *sar
.hsub
vsub
горизонтальні та вертикальні значення кольоровості. Наприклад, для піксельного формату "yuv422p"
hsub
дорівнює 2 іvsub
1.in_h, ih
in_w, iw
Ширина і висота комірки вхідної сітки.
sar
Співвідношення сторін вхідного зразка.
x
y
Координати x і y деякої точки перетину сітки (для налаштування зсуву).
w
h
Ширина і висота намальованої комірки.
t
Товщина намальованої комірки.
Ці константи дозволяють виразам , , і
x
посилатисяy
одинw
на одного, тому ви можете, наприклад, вказати або .h
t
y=x/dar
h=w/dar
11.71.1 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, і є комбінацією таких значень:
default
no_scale
no_hinting
render
no_bitmap
vertical_layout
force_autohint
crop_bitmap
pedantic
ignore_global_advance_width
no_recurse
ignore_transform
monochrome
linear_design
no_autohint
Значення за замовчуванням - "default".
Для отримання додаткової інформації зверніться до документації для прапорів FT_LOAD_* libfreetype.
shadowcolor
Колір, який використовуватиметься для малювання тіні за намальованим текстом. Щоб дізнатися про синтаксис цього параметра, перевірте розділ (ffmpeg-utils)"Колір" у посібнику ffmpeg-utils .
Значенням за замовчуванням
shadowcolor
є "чорний".shadowx
shadowy
Зміщення 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.x
y
Вирази, які вказують зсуви, де текст буде намальовано у відеокадрі. Вони відносяться до верхньої/лівої межі вихідного зображення.
Значення за замовчуванням
x
іy
дорівнює "0".Нижче наведено список прийнятних констант і функцій.
Параметри для x
та y
є виразами, що містять такі константи та функції:
dar
формат вхідного дисплея, такий самий, як (
w
/h
) *sar
hsub
vsub
горизонтальні та вертикальні значення кольоровості. Наприклад, для піксельного формату "yuv422p"
hsub
дорівнює 2 іvsub
1.line_h, lh
висота кожного рядка тексту
main_h, h, H
висота входу
main_w, w, W
ширина входу
max_glyph_a, ascent
максимальна відстань від базової лінії до найвищої/верхньої координати сітки, яка використовується для розміщення точки контуру гліфа, для всіх відтворених гліфів. Це додатне значення через орієнтацію сітки віссю Y вгору.
max_glyph_d, descent
максимальна відстань від базової лінії до найнижчої координати сітки, яка використовується для розміщення точки контуру гліфа, для всіх відтворених гліфів. Це від’ємне значення через орієнтацію сітки з віссю Y вгору.
max_glyph_h
максимальна висота гліфа, тобто максимальна висота всіх гліфів, що містяться у відтвореному тексті, еквівалентна
ascent
-descent
.max_glyph_w
максимальна ширина гліфа, тобто максимальна ширина для всіх гліфів, які містяться у відтвореному тексті
n
номер вхідного кадру, починаючи з 0
rand(min, max)
повертає випадкове число між
min
іmax
sar
Співвідношення сторін вхідного зразка.
t
позначка часу, виражена в секундах, NAN, якщо позначка часу введення невідома
text_h, th
висота відтвореного тексту
text_w, tw
ширина відтвореного тексту
x
y
координати зміщення x і y, де намальовано текст.
Ці параметри дозволяють виразам
x
іy
посилатися один на одного, тому ви можете, наприклад, вказатиy=x/dar
.pict_type
Односимвольний опис типу зображення поточного кадру.
pkt_pos
Поточна позиція пакета у вхідному файлі або потоці (у байтах, від початку введення). Значення -1 означає, що ця інформація недоступна.
pkt_duration
Тривалість поточного пакета в секундах.
pkt_size
Розмір поточного пакета (у байтах).
11.72.2 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.
Фільтр приймає такі параметри:
low
high
Встановіть низькі та високі порогові значення, які використовуються алгоритмом порогового значення 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) мінімумом.
Він приймає такі варіанти:
threshold0
threshold1
threshold2
threshold3
Обмежте максимальну зміну для кожної площини, за замовчуванням 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-й вихід.
Типове використання – фільтрувати лише частину кадру.
Фільтр приймає такі параметри:
x
y
Установіть верхню ліву позицію кадрування.
w
h
Встановіть розмір кадрування.
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
'.Фільтр приймає такі змінні:
- '
X
Y
Координати поточної вибірки.
W
H
Ширина і висота зображення.
N
Номер вхідного кадру, починаючи з 0.
WS
HS
Розмір масиву ШПФ для горизонтальної та вертикальної обробки.
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
.y0
y1
Вони визначають смугу виключення, яка виключає лінії між ними
y0
іy1
від включення до рішення про відповідність полів. Смугу виключення можна використовувати для ігнорування субтитрів, логотипу чи інших речей, які можуть заважати збігу.y0
встановлює початковий рядок сканування таy1
встановлює кінцеву лінію; усі лінії між нимиy0
іy1
(в тому числіy0
іy1
) буде проігноровано. Налаштуванняy0
іy1
до того самого значення вимкне функцію.y0
іy1
за замовчуванням0
.scthresh
Встановіть поріг виявлення зміни сцени як відсоток від максимальної зміни на площині яскравості. Хороші значення знаходяться в
[8.0, 14.0]
діапазоні. Виявлення зміни сцени актуально лише у випадкуcombmatch
=sc
. Діапазон дляscthresh
це[0.0, 100.0]
.Значення за замовчуванням:
12.0
.combmatch
Коли
combatch
не є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
.blockx
blocky
Відповідно встановіть розмір вікна, яке використовується під час виявлення комбінованого кадру, по осі 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
.X
Y
Координати поточної вибірки.
W
H
Ширина і висота зображення.
SW
SH
Масштаб ширини та висоти залежно від поточної відфільтрованої площини. Це співвідношення між відповідною кількістю пікселів площини яскравості та кількістю пікселів поточної площини. Наприклад, для YUV4:2:0 значення є
1,1
для площини яскравості та0.5,0.5
для площин кольоровості.T
Час поточного кадру, виражений у секундах.
p(x, y)
Повертає значення пікселя в місці (
x
,y
) поточної площини.lum(x, y)
Повертає значення пікселя в місці (
x
,y
) площини яскравості.cb(x, y)
Повертає значення пікселя в місці (
x
,y
) площини кольоровості різниці синього. Повертає 0, якщо такої площини немає.cr(x, y)
Повертає значення пікселя в місці (
x
,y
) червоно-різницевої площини кольоровості. Повертає 0, якщо такої площини немає.r(x, y)
g(x, y)
b(x, y)
Повертає значення пікселя в місці (
x
,y
) червоного/зеленого/синього компонента. Повертає 0, якщо такого компонента немає.alpha(x, y)
Повертає значення пікселя в місці (
x
,y
) альфа-площини. Повертає 0, якщо такої площини немає.psum(x,y), lumsum(x, y), cbsum(x,y), crsum(x,y), rsum(x,y), gsum(x,y), bsum(x,y), alphasum(x,y)
Сума значень вибірки в прямокутнику від (0,0) до (x,y), це дозволяє отримати суми вибірок всередині прямокутника. Перегляньте функції без постфікса суми.
interpolation
Встановіть один із методів інтерполяції:
nearest, n
bilinear, b
За замовчуванням білінійний.
Для функцій, якщо x
і y
знаходяться за межами області, значення буде автоматично обрізано до ближчого краю.
Будь ласка, зверніть увагу, що цей фільтр може використовувати кілька потоків, у цьому випадку кожен фрагмент матиме власний стан виразу. Якщо ви хочете використовувати лише один стан виразу, оскільки ваші вирази залежать від попереднього стану, вам слід обмежити кількість потоків фільтра до 1.
11.104.1 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_device
type
Замість використання пристрою, наданого під час ініціалізації, створіть новий пристрій типу
type
з пристрою, на якому існують вхідні кадри.reverse
У апаратно-апаратному відображенні відображайте навпаки – створюйте кадри в приймачі та відображайте їх назад до джерела. Це може знадобитися в деяких випадках, коли потрібне відображення в одному напрямку, але використовувані пристрої підтримують лише протилежний напрямок.
Цей параметр є небезпечним - він може порушити попередній фільтр невизначеними способами, якщо є додаткові обмеження на вихід цього фільтра. Не використовуйте його, не розуміючи повністю наслідків його використання.
11.117 hwupload
Завантажте кадри системної пам'яті на апаратні поверхні.
Під час ініціалізації фільтра необхідно вказати пристрій для завантаження. Якщо використовується ffmpeg, виберіть відповідний пристрій за допомогою-filter_hw_device
варіант або зderive_device
варіант. Пристрої введення та виведення мають бути різних типів і сумісними – точне значення цього залежить від системи, але зазвичай це означає, що вони мають посилатися на той самий основний апаратний контекст (наприклад, посилатися на ту саму графічну карту).
Приймаються наступні додаткові параметри:
derive_device
type
Замість використання пристрою, наданого під час ініціалізації, створіть новий пристрій типу
type
з пристрою, на якому існують вхідні кадри.
11.118 hwupload_cuda
Завантажте кадри системної пам’яті на пристрій CUDA.
Він приймає наступні додаткові параметри:
device
Номер пристрою CUDA для використання
11.119 hqx
Застосуйте високоякісний фільтр збільшення, розроблений для піксельного мистецтва. Цей фільтр спочатку створив Максим Стьопін.
Він приймає наступний варіант:
n
Встановіть розмір масштабування:
2
дляhq2x
,3
дляhq3x
і4
дляhq4x
. Типовим є3
.
11.120 hstack
Розмістіть вхідні відео горизонтально.
Усі потоки мають мати однаковий піксельний формат і однакову висоту.
Зауважте, що цей фільтр є швидшим, ніж використання накладання та фільтра накладки для створення того самого результату.
Фільтр приймає такі параметри:
inputs
Встановити кількість вхідних потоків. За замовчуванням 2.
shortest
Якщо встановлено значення 1, примусове завершення виведення, коли завершується найкоротший вхід. Значення за замовчуванням 0.
11.121 hsvhold
Перетворює певний діапазон HSV на сірі значення.
Цей фільтр вимірює різницю кольорів між встановленим кольором HSV у параметрах і кольором, виміряним у відеопотоці. Залежно від параметрів вихідні кольори можуть бути сірими чи ні.
Фільтр приймає такі параметри:
hue
Встановіть значення відтінку, яке використовуватиметься для обчислення різниці кольорів. Дозволений діапазон — від -360 до 360. Значення за замовчуванням — 0.
sat
Встановіть значення насиченості, яке використовуватиметься для розрахунку різниці кольорів. Дозволений діапазон від -1 до 1. Значення за замовчуванням 0.
val
Встановіть значення, яке використовуватиметься для розрахунку різниці кольорів. Дозволений діапазон від -1 до 1. Значення за замовчуванням 0.
similarity
Встановіть відсоток схожості з ключовим кольором. Дозволений діапазон — від 0 до 1. Значення за замовчуванням — 0,01.
0,00001 відповідає лише точному кольору ключа, тоді як 1,0 відповідає всьому.
blend
Відсоток суміші. Дозволений діапазон — від 0 до 1. Значення за замовчуванням — 0.
0.0 робить пікселі або повністю сірими, або зовсім не сірими.
Вищі значення призводять до більшої кількості сірих пікселів, а з вищим сірим пікселем колір пікселів більш подібний до основного кольору.
11.122 hsvkey
Перетворює певний діапазон HSV на прозорий.
Цей фільтр вимірює різницю кольорів між встановленим кольором HSV у параметрах і кольором, виміряним у відеопотоці. Залежно від параметрів, вихідні кольори можна змінити на прозорі, додавши альфа-канал.
Фільтр приймає такі параметри:
hue
Встановіть значення відтінку, яке використовуватиметься для обчислення різниці кольорів. Дозволений діапазон — від -360 до 360. Значення за замовчуванням — 0.
sat
Встановіть значення насиченості, яке використовуватиметься для розрахунку різниці кольорів. Дозволений діапазон від -1 до 1. Значення за замовчуванням 0.
val
Встановіть значення, яке використовуватиметься для розрахунку різниці кольорів. Дозволений діапазон від -1 до 1. Значення за замовчуванням 0.
similarity
Встановіть відсоток схожості з ключовим кольором. Дозволений діапазон — від 0 до 1. Значення за замовчуванням — 0,01.
0,00001 відповідає лише точному кольору ключа, тоді як 1,0 відповідає всьому.
blend
Відсоток суміші. Дозволений діапазон — від 0 до 1. Значення за замовчуванням — 0.
0.0 робить пікселі або повністю прозорими, або взагалі непрозорими.
Вищі значення призводять до напівпрозорих пікселів, а з вищою прозорістю колір пікселів схожіший на основний колір.
11.123 hue
Змініть відтінок і/або насиченість вхідних даних.
Він приймає такі параметри:
h
Укажіть кут відтінку в градусах. Він приймає вираз і за умовчанням має значення "0".
s
Вкажіть насиченість у діапазоні [-10,10]. Він приймає вираз і за умовчанням має значення "1".
H
Укажіть кут відтінку в радіанах. Він приймає вираз і за умовчанням має значення "0".
b
Вкажіть яскравість у діапазоні [-10,10]. Він приймає вираз і за умовчанням має значення "0".
h
іH
є взаємовиключними та не можуть бути визначені одночасно.
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
Цей фільтр підтримує такі команди:
b
s
h
H
Змініть відтінок і/або насиченість та/або яскравість вхідного відео. Команда приймає той самий синтаксис відповідного параметра.
Якщо вказаний вираз недійсний, його поточне значення зберігається.
11.124 huesaturation
Застосуйте коригування відтінку, насиченості та інтенсивності до вхідного відеопотоку.
Цей фільтр працює в колірному просторі RGB.
Цей фільтр приймає такі параметри:
hue
Встановіть зміну відтінку в градусах, щоб застосувати її. За замовчуванням 0. Дозволений діапазон від -180 до 180.
saturation
Встановіть зсув насиченості. За замовчуванням 0. Дозволений діапазон від -1 до 1.
intensity
Встановіть зміщення інтенсивності. За замовчуванням 0. Дозволений діапазон від -1 до 1.
colors
Встановіть, які основні та додаткові кольори буде скориговано. Ці параметри встановлюються шляхом надання одного або кількох значень. Це може вибрати кілька кольорів одночасно. За замовчуванням вибрано всі кольори.
- '
r
' Відрегулюйте червоні.
- '
y
' Налаштуйте жовті.
- '
g
' Відрегулюйте зелень.
- '
c
' Налаштувати блакитні.
- '
b
' Налаштувати блюз.
- '
m
' Відрегулюйте пурпурні кольори.
- '
a
' Налаштуйте всі кольори.
- '
strength
Встановити силу фільтрації. Дозволений діапазон — від 0 до 100. Значення за замовчуванням — 1.
rw, gw, bw
Встановіть вагу для кожного компонента RGB. Дозволений діапазон від 0 до 1. За замовчуванням встановлено значення 0,333, 0,334, 0,333. Ці параметри використовуються в обробці насиченості та полегшення.
lightness
Встановіть збереження яскравості, за замовчуванням вимкнено. Налаштування відтінків може змінити яскравість від оригінального триплету RGB, коли цей параметр увімкнено, яскравість зберігається на тому самому рівні.
11.125 hysteresis
Переростіть перший потік у другий, з’єднавши компоненти. Це дає змогу створювати більш надійні крайові маски.
Цей фільтр приймає такі параметри:
planes
Встановіть, які площини будуть оброблені як растрові, необроблені площини будуть скопійовані з першого потоку. За замовчуванням значення 0xf буде оброблено всі площини.
threshold
Встановіть поріг, який використовується для фільтрації. Якщо значення компонента пікселя вище цього значення, активується алгоритм фільтрації для з’єднання компонентів. За замовчуванням значення 0.
Фільтр hysteresis
також підтримує параметри синхронізації кадрів .
11.126 iccdetect
Визначте простір кольорів із вбудованого профілю ICC (якщо він є) і відповідно оновіть теги кадру.
Цей фільтр приймає такі параметри:
force
Якщо значення true, існуючі теги колірного простору фрейму завжди замінюватимуться значеннями, виявленими з профілю ICC. Інакше вони будуть призначені, лише якщо містять
unknown
. Увімкнено за замовчуванням.
11.127 iccgen
Створіть профілі ICC і прикріпіть їх до рам.
Цей фільтр приймає такі параметри:
color_primaries
color_trc
Налаштуйте простір кольорів, для якого буде створено профіль ICC. Значення за замовчуванням
auto
виводить значення з метаданих вхідного кадру, за замовчуванням BT.709/sRGB відповідно.Перегляньте список можливих значень у фільтрі setparams
unknown
, але зауважте, що значення для цього фільтра недійсні.force
Якщо встановлено значення true, профіль ICC буде створено, навіть якщо він перезапише вже існуючий профіль ICC. Вимкнено за замовчуванням.
11.128 identity
Отримайте оцінку ідентичності між двома вхідними відео.
Цей фільтр приймає два вхідних відео.
Щоб цей фільтр працював правильно, обидва вхідні відео повинні мати однакову роздільну здатність і формат пікселів. Також передбачається, що обидва входи мають однакову кількість кадрів, які порівнюються один за іншим.
Отриманий за компонентом, середній, мінімальний і максимальний бал ідентичності друкується через систему реєстрації.
Фільтр зберігає розраховані оцінки ідентичності кожного кадру в метаданих кадру.
У наведеному нижче прикладі вхідний файлmain.mpg
обробляється порівнюється з еталонним файломref.mpg
.
ffmpeg -i main.mpg -i ref.mpg -lavfi identity -f null -
11.129 idet
Визначити тип переплетення відео.
Цей фільтр намагається визначити, чи є вхідні кадри черезрядковими, прогресивними, верхнім чи нижнім полем. Він також намагатиметься виявити поля, які повторюються між сусідніми кадрами (ознака телекіно).
Виявлення одного кадру враховує лише найближчі кадри під час класифікації кожного кадру. Виявлення кількох кадрів включає історію класифікації попередніх кадрів.
Фільтр реєструватиме ці значення метаданих:
single.current_frame
Виявлений тип поточного кадру за допомогою виявлення одного кадру. Один із: «tff» (спочатку верхнє поле), «bff» (спочатку нижнє поле), «прогресивний» або «невизначений»
single.tff
Сукупна кількість кадрів, виявлених у верхньому полі спочатку за допомогою виявлення одного кадру.
multiple.tff
Сукупна кількість кадрів, визначених у верхньому полі першим за допомогою виявлення кількох кадрів.
single.bff
Сукупна кількість кадрів, виявлених у нижньому полі спочатку за допомогою виявлення одного кадру.
multiple.current_frame
Виявлений тип поточного кадру за допомогою виявлення кількох кадрів. Один із: «tff» (спочатку верхнє поле), «bff» (спочатку нижнє поле), «прогресивний» або «невизначений»
multiple.bff
Сукупна кількість кадрів, виявлених у нижньому полі спочатку за допомогою виявлення кількох кадрів.
single.progressive
Сукупна кількість кадрів, визначених як прогресивні за допомогою виявлення одного кадру.
multiple.progressive
Сукупна кількість кадрів, визначених як прогресивні за допомогою виявлення кількох кадрів.
single.undetermined
Сукупна кількість кадрів, які не вдалося класифікувати за допомогою виявлення одного кадру.
multiple.undetermined
Сукупна кількість кадрів, які не вдалося класифікувати за допомогою виявлення кількох кадрів.
repeated.current_frame
Яке поле в поточному кадрі повторюється з останнього. Одне з «ні», «зверху» або «знизу».
repeated.neither
Сукупна кількість кадрів без повторюваного поля.
repeated.top
Сукупна кількість кадрів із верхнім полем, повтореним із верхнього поля попереднього кадру.
repeated.bottom
Сукупна кількість кадрів із нижнім полем, що повторюється з нижнього поля попереднього кадру.
Фільтр приймає такі параметри:
intl_thres
Встановіть поріг переплетення.
prog_thres
Встановіть прогресивний поріг.
rep_thres
Поріг для повторного виявлення поля.
half_life
Кількість кадрів, після яких внесок даного кадру в статистику зменшується вдвічі (тобто він робить лише 0,5 внеску в свою класифікацію). Значення за замовчуванням 0 означає, що всім кадрам назавжди надається повна вага 1,0.
analyze_interlaced_flag
Якщо це значення не дорівнює 0, idet використовуватиме вказану кількість кадрів, щоб визначити, чи правильний прапор черезрядкової розгортки, він не рахуватиме невизначені кадри. Якщо прапор виявиться точним, він використовуватиметься без будь-яких подальших обчислень, якщо він буде визнаний неточним, його буде очищено без будь-яких додаткових обчислень. Це дозволяє вставити фільтр idet як низький обчислювальний метод для очищення черезрядкової позначки
11.130 il
Поля деперемежування або чергування.
Цей фільтр дозволяє обробляти поля зображень із черезрядковою розгорткою без їх депереплетення. Деперемежування розбиває вхідний кадр на 2 поля (так звані половинні зображення). Непарні рядки переміщуються у верхню половину вихідного зображення, а парні — у нижню. Ви можете обробляти (фільтрувати) їх незалежно, а потім повторно чергувати.
Фільтр приймає такі параметри:
luma_mode, l
chroma_mode, c
alpha_mode, a
Доступні значення для
luma_mode
та :chroma_mode
alpha_mode
- '
none
' Нічого не робити.
- '
deinterleave, d
' Деперемежувати поля, розташовуючи одне над одним.
- '
interleave, i
' Поля чергування. Зворотний ефект деперемежування.
Значення за замовчуванням:
none
.- '
luma_swap, ls
chroma_swap, cs
alpha_swap, as
Поміняти місцями поля яскравості/кольору/альфа. Обмін парними та непарними рядками. Значення за замовчуванням:
0
.
11.130.1 Commands
Цей фільтр підтримує всі наведені вище параметри як команди .
11.131 inflate
Застосуйте ефект збільшення до відео.
Цей фільтр замінює піксель локальним (3x3) середнім, враховуючи лише значення, вищі за піксель.
Він приймає такі варіанти:
threshold0
threshold1
threshold2
threshold3
Обмежте максимальну зміну для кожної площини, за замовчуванням 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, присутні у вихідних кадрах.
w
h
Установіть вираз розмірності вихідного відео. Значенням за замовчуванням є вхідний розмір.
Допускає ті самі вирази, що й масштабний фільтр.
format
Встановіть заміну вихідного формату. Якщо не встановлено (за замовчуванням), кадри виводитимуться у тому самому форматі, що й відповідні вхідні кадри. В іншому випадку буде виконано перетворення формату.
force_original_aspect_ratio
force_divisible_by
Працюють так само, як ідентичні параметри масштабного фільтра.
normalize_sar
Якщо ввімкнено (за замовчуванням), вихідні кадри завжди матимуть піксельне співвідношення сторін 1:1. Якщо вимкнено, будь-які невідповідності пропорцій, включно з, наприклад, джерелами анаморфотного відео, пересилаються до пропорцій вихідного пікселя.
pad_crop_ratio
Визначає співвідношення (між
0.0
і1.0
) між відступом і обрізанням, якщо вхідне співвідношення сторін не збігається з вихідним співвідношенням сторін іnormalize_sar
діє. За умовчанням вміст0.0
завжди обрізається чорними рамками, тоді як значення1.0
завжди обрізає частини вмісту. Можливі проміжні значення, що призводить до поєднання двох підходів.colorspace
color_primaries
color_trc
range
Налаштуйте колірний простір, у якому відображатимуться вихідні кадри. Значення за замовчуванням
auto
виводить кадри в тому самому форматі, що й вхідні кадри, без змін. Для будь-якого іншого значення буде виконано перетворення.Перегляньте список можливих значень у фільтрі setparams .
apply_filmgrain
Застосуйте зернистість плівки (наприклад, AV1 або H.274), якщо вона є у вихідних кадрах, і видаліть її з виводу. Увімкнено за замовчуванням.
apply_dolbyvision
Застосуйте метадані Dolby Vision RPU, якщо вони присутні у вихідних кадрах, і видаліть їх із виводу. Увімкнено за замовчуванням. Зауважте, що Dolby Vision завжди виводитиме BT.2020+PQ, замінюючи звичайні метадані вхідного кадру. Вони також будуть вибрані як значення
auto
для відповідних параметрів виводу кадру.
11.138.1.2 Масштабування
Параметри в цьому розділі керують тим, як libplacebo виконує збільшення та (за потреби) зменшення масштабу. Зауважте, що libplacebo завжди внутрішньо працюватиме з вмістом 4:4:4, тому будь-які формати кольоровості з субдискретизацією, такі як yuv420p
, обов’язково підвищуватимуться та зменшуватимуться як частина процесу візуалізації. Це означає, що масштабування може діяти, навіть якщо роздільна здатність джерела та призначення однакова.
upscaler
downscaler
Налаштуйте ядро ​​фільтра, яке використовується для збільшення та зменшення масштабу. Відповідними значеннями за замовчуванням є
spline36
таmitchell
. Щоб отримати повний список можливих значень, перейдітьhelp
до цих параметрів. Найважливіші цінності:- '
none
' Примусово використовує вбудовану вибірку текстур 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_low
scene_threshold_high
Нижній і верхній пороги для виявлення зміни сцени. Виражається в логарифмічній шкалі між
0.0
та100.0
. За умовчанням5.5
і10.0
, відповідно. Встановлення будь-якого значення від’ємного значення вимикає цю функцію.overshoot
Границя перевищення пікового згладжування, між
0.0
та1.0
. Забезпечує запас безпеки для запобігання зрізанням у результаті згладжування піків. За замовчуванням0.05
, що відповідає маржі 5%.
11.138.1.6 Тонове відображення
Параметри в цьому розділі керують тим, як libplacebo виконує відображення тонів і відображення гами, коли має справу з невідповідностями між широкою гамою та вмістом HDR. Загалом libplacebo покладається на точне тегування джерела та опанування інформації про колірну гамму дисплея, щоб отримати найкращі результати.
intent
Спосіб відтворення для використання під час адаптації між різними основними колірними гамами (після відображення тонів).
- '
perceptual
' Перцептивне відображення гами. В даний час еквівалентний відносному колориметричному.
- '
relative
' Відносний колориметричний. Це значення за умовчанням.
- '
absolute
' Абсолютний колориметричний.
- '
saturation
' Картування насиченості. Примусово розтягує вихідну гаму до цільової.
- '
gamut_mode
Як працювати з кольорами, що виходять за межі палітри, які можуть виникнути в результаті колориметричного відображення палітри.
- '
clip
' Нічого не робіть, просто виріжте кольори, що виходять за межі діапазону, до гучності RGB. Це значення за умовчанням.
- '
warn
' Виділіть пікселі, що виходять за межі палітри (розфарбувавши їх рожевим кольором).
- '
darken
' Лінійно зменшує яскравість вмісту, зберігаючи насичені деталі, з подальшим відсіканням решти кольорів, що виходять за межі палітри. Як випливає з назви, це робить все темнішим, але забезпечує хороший баланс між збереженням деталей і кольорів.
- '
desaturate
' Жорстко зменшує насиченість кольорів, що виходять за межі гами, до білого, зберігаючи яскравість. Має схильність до зміни кольорів.
- '
tonemapping
Алгоритм тонального відображення для використання. Доступні значення:
- '
auto
' Автоматичний вибір на основі внутрішньої евристики. Це значення за умовчанням.
- '
clip
' Не виконує відображення тонів, лише відсікає кольори, що виходять за межі діапазону. Зберігає ідеальну точність кольору для кольорів у діапазоні, але повністю знищує інформацію поза діапазоном. Не виконує жодної адаптації чорної точки. Не налаштовується.
- '
bt.2390
' EETF зі звіту ITU-R BT.2390, згортання ермітового сплайну з лінійним сегментом. Зміщення точки коліна можна налаштувати. Зауважте, що цей параметр за умовчанням має значення
1.0
, а не значення0.5
зі специфікації ITU-R.- '
bt.2446a
' EETF зі звіту ITU-R BT.2446, метод A. Розроблено для добре освоєних джерел HDR. Можна використовувати як для прямого, так і для зворотного тонального відображення. Не налаштовується.
- '
spline
' Простий сплайн, що складається з двох поліномів, об’єднаних однією точкою опори. Параметр дає точку опори (у просторі PQ), за замовчуванням
0.30
. Можна використовувати як для прямого, так і для зворотного тонального відображення.- '
reinhard
' Простий нелінійний глобальний алгоритм тонального відображення. Параметр визначає локальний коефіцієнт контрастності на піку дисплея. По суті, параметр
0.5
означає, що еталонний білий буде приблизно вдвічі яскравішим, ніж під час відсікання. За замовчуванням0.5
, що призводить до найпростішого формулювання цієї функції.- '
mobius
' Узагальнення алгоритму тонального відображення Рейнхарда для підтримки додаткового лінійного нахилу поблизу чорного. Параметр тонального відображення вказує на компроміс між лінійною ділянкою та нелінійною ділянкою. По суті, для заданого параметра
x
кожне значення кольору нижчеx
буде відображено лінійно, тоді як вищі значення отримають нелінійне відображення тонів. Значення поблизу1.0
змушують цю криву поводитися якclip
, тоді як значення поблизу0.0
змушують цю криву поводитися якreinhard
. Значення за замовчуванням — це0.3
, яке забезпечує хороший баланс між колориметричною точністю та збереженням деталей поза палітрою.- '
hable
' Алгоритм тонального відображення фрагментів, розроблений Джоном Хейблом для використання в Uncharted 2, натхненний аналогічним алгоритмом тонального відображення, який використовує Kodak. Популяризувався завдяки використанню у відеоіграх із рендерингом HDR. Дуже добре зберігає як темні, так і яскраві деталі, але має недолік, пов’язаний із досить значною зміною середньої яскравості. Це начебто схоже на
reinhard
з параметром0.24
.- '
gamma
' Підбирає гамма-функцію (потужність) для передачі між вихідним і цільовим просторами кольорів, фактично створюючи перцептивне жорстке коліно, що з’єднує дві приблизно лінійні ділянки. Це зберігає деталі в усіх масштабах досить точно, але може призвести до приглушеного або тьмяного вигляду зображення. Параметр використовується як точка зрізу, за замовчуванням
0.5
.- '
linear
' Лінійно розтягує вхідний діапазон до вихідного діапазону в просторі PQ. Це точно збереже всі деталі, але призведе до суттєво іншої середньої яскравості. Може використовуватися для інверсного тонального відображення на додаток до звичайного тонального відображення. Параметр можна використовувати як додатковий лінійний коефіцієнт посилення (за замовчуванням
1.0
).
- '
tonemapping_param
Для регульованих функцій тонального відображення цей параметр можна використовувати для точного налаштування поведінки кривої. Зверніться до документації
tonemapping
. Значення за замовчуванням0.0
замінюється бажаним параметром за замовчуванням кривої.tonemapping_mode
Цей параметр визначає, як функція тонального відображення, визначена за допомогою
tonemapping
, застосовується до кольорів у сцені. Можливі значення:- '
auto
' Автоматичний вибір на основі внутрішньої евристики. Це значення за умовчанням.
- '
rgb
' Застосуйте функцію для кожного каналу в просторі кольорів RGB. Поканальне відображення тонів у RGB. Гарантує відсутність обрізання та значне зменшення насиченості результату, але досить суттєво спотворює кольори. Дуже схожий на «голлівудський» вигляд і відчуття.
- '
max
' Тонове відображення виконується на найяскравішому компоненті сигналу. Добре зберігає деталі у світлих ділянках, але має тенденцію подрібнювати чорні.
- '
hybrid
' Тонова карта на канал для світлих ділянок і лінійно (на основі яскравості) для півтонів/тіней на основі фіксованої
2.4
кривої коефіцієнта гами.- '
luma
' Налаштуйте лінійну карту тонів на компонент яскравості (CIE Y) і налаштуйте (зменште насиченість) кольоровість для компенсації за допомогою простого постійного коефіцієнта. По суті, це режим, який використовується в методі A ITU-R BT.2446.
- '
inverse_tonemapping
Якщо ввімкнено, цей фільтр також намагатиметься розтягнути сигнали SDR, щоб заповнити об’єми вихідних кольорів HDR. Вимкнено за замовчуванням.
tonemapping_crosstalk
Додатковий коефіцієнт перехресних перешкод тонального відображення між
0.0
та0.3
. Це може допомогти зменшити проблеми тонального відображення певних яскравих спектральних кольорів. За замовчуванням0.04
.tonemapping_lut_size
Розмір LUT тонального відображення між
2
та1024
. За замовчуванням256
. Зауважте, що ця цифра зведена в квадрат у поєднанні зpeak_detect
.
11.138.1.7 Дизерінг
За замовчуванням libplacebo за потреби змішуватиметься, що включає відтворення в будь-якому цілочисельному форматі з точністю нижче 16 біт. Рекомендовано завжди залишати цю функцію увімкненою, оскільки в іншому випадку на виході можуть з’явитися видимі смуги, навіть якщо debanding
фільтр увімкнено. Якщо потрібна максимальна продуктивність, скористайтеся ordered_fixed
замість вимкнення дизерінгу.
dithering
Використовувати метод дизерінгу. Приймає такі значення:
- '
none
' Повністю вимикає дизерінг. Може призвести до видимих ​​смуг.
- '
blue
' Змішування з псевдосинім шумом. Це значення за умовчанням.
- '
ordered
' Настроювана впорядкована схема дизерінгу.
- '
ordered_fixed
' Швидше впорядковане тремтіння з фіксованим розміром
6
. Без текстур.- '
white
' Змішування з білим шумом. Без текстур.
- '
dither_lut_size
Розмір 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 на вході,
lutrgb
RGB піксельних форматів на вході та lutyuv
YUV.
Вирази можуть містити такі константи та функції:
w
h
Ширина та висота введення.
val
Вхідне значення для компонента пікселя.
clipval
Вхідне значення, обрізане до діапазону
minval
- .maxval
maxval
Максимальне значення для компонента пікселя.
minval
Мінімальне значення для компонента пікселя.
negval
Об’єднане значення для значення компонента пікселя, обрізане до діапазону
minval
- ;maxval
це відповідає виразу "maxval-clipval+minval".clip(val)
Обчислене значення в
val
, обрізане до діапазонуminval
- .maxval
gammaval(gamma)
Обчислене значення гамма-корекції значення компонента пікселя, обрізане до діапазону
minval
- .maxval
Це відповідає виразу "pow((clipval-minval)/(maxval-minval)\,gamma
)*(maxval-minval)+minval"
Усі вирази за умовчанням мають значення "clipval".
11.146.1 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*
параметрів, залежить від формату вхідних даних.
Вирази можуть містити такі константи:
w
h
Ширина та висота введення.
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
.map0s
map1s
map2s
map3s
Встановіть відображення вхідного потоку на вихідний для вихідної N-ї площини. Типовим є
0
.map0p
map1p
map2p
map3p
Встановіть відображення вхідної та вихідної площини для вихідної 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
Цей фільтр підтримує такі команди:
weights
scale
planes
Синтаксис такий самий, як і параметр із такою ж назвою.
11.161 monochrome
Перетворюйте відео на сіре за допомогою спеціального кольорового фільтра.
Нижче наведено опис прийнятих варіантів.
cb
Встановіть кольорову синю пляму. Дозволений діапазон від -1 до 1. Значення за замовчуванням 0.
cr
Встановіть кольорову червону пляму. Дозволений діапазон від -1 до 1. Значення за замовчуванням 0.
size
Встановіть розмір кольорового фільтра. Дозволений діапазон — від 0,1 до 10. Значення за замовчуванням — 1.
high
Встановіть силу відблисків. Дозволений діапазон — від 0 до 1. Значення за замовчуванням — 0.
11.161.1 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.
hi
lo
frac
Встановіть порогові значення падіння.
Значення для
hi
іlo
призначені для блоків 8x8 пікселів і представляють фактичні відмінності значень пікселів, тому поріг у 64 відповідає 1 одиниці різниці для кожного пікселя або того самого розподілу по-різному по блоку.Кадр є кандидатом на викидання, якщо жоден блок 8x8 не відрізняється більш ніж на порогове значення
hi
, а якщо не більшеfrac
блоки (1 означає все зображення) відрізняються більш ніж на порогове значенняlo
.Значення за умовчанням для
hi
64*12, значення за замовчуванням дляlo
становить 64*5, а значення за замовчуванням дляfrac
становить 0,33.
11.164 msad
Отримайте MSAD (середню суму абсолютних різниць) між двома вхідними відео.
Цей фільтр приймає два вхідних відео.
Щоб цей фільтр працював правильно, обидва вхідні відео повинні мати однакову роздільну здатність і формат пікселів. Також передбачається, що обидва входи мають однакову кількість кадрів, які порівнюються один за іншим.
Отримане за компонентом, середнє, мінімальне та максимальне MSAD друкується через систему реєстрації.
Фільтр зберігає розрахований MSAD кожного кадру в метаданих кадру.
У наведеному нижче прикладі вхідний файлmain.mpg
обробляється порівнюється з еталонним файломref.mpg
.
ffmpeg -i main.mpg -i ref.mpg -lavfi msad -f null -
11.165 multiply
Помножте значення пікселів першого відеопотоку на значення пікселів другого відеопотоку.
Фільтр приймає такі параметри:
scale
Встановіть масштаб, застосований до другого відеопотоку. За замовчуванням це
1
. Дозволений діапазон від0
до9
.offset
Встановіть зміщення, застосоване до другого відеопотоку. За замовчуванням це
0.5
. Дозволений діапазон від-1
до1
.planes
Вкажіть площини вхідного відеопотоку, які будуть оброблені. За замовчуванням обробляються всі площини.
11.165.1 Commands
Цей фільтр підтримує ті самі команди , що й параметри.
11.166 negate
Інвертувати (інвертувати) вхідне відео.
Він приймає наступний варіант:
components
Установіть компоненти на заперечення.
Доступні значення для компонентів:
- '
y
' - '
u
' - '
v
' - '
a
' - '
r
' - '
g
' - '
b
'
- '
negate_alpha
Зі значенням 1 він заперечує альфа-компонент, якщо він присутній. Значення за замовчуванням 0.
11.166.1 Commands
Цей фільтр підтримує ті самі команди , що й параметри.
11.167 nlmeans
Усунення шумів у кадрах за допомогою алгоритму нелокальних середніх.
Кожен піксель коригується шляхом пошуку інших пікселів із подібним контекстом. Ця контекстна подібність визначається шляхом порівняння навколишніх частин розміру
p
xp
. Латки шукають у районіr
xr
навколо пікселя.
Зауважте, що область дослідження визначає центри для патчів, а це означає, що деякі патчі складатимуться з пікселів за межами цієї дослідницької області.
Фільтр приймає такі параметри.
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_seed
c0_seed
c1_seed
c2_seed
c3_seed
Установіть початкове значення шуму для певного піксельного компонента або всіх піксельних компонентів у випадку
all_seed
. Значення за замовчуванням:123457
.all_strength, alls
c0_strength, c0s
c1_strength, c1s
c2_strength, c2s
c3_strength, c3s
Встановити рівень шуму для певного піксельного компонента або всіх піксельних компонентів у випадку
all_strength
. Значення за замовчуванням:0
. Дозволений діапазон [0, 100].all_flags, allf
c0_flags, c0f
c1_flags, c1f
c2_flags, c2f
c3_flags, c3f
Встановіть прапорці піксельних компонентів або встановіть прапорці для всіх компонентів, якщо
all_flags
. Доступні значення для прапорів компонентів:- '
a
' усереднений тимчасовий шум (більш плавний)
- '
p
' змішувати випадковий шум із (напів)регулярним шаблоном
- '
t
' тимчасовий шум (шумова картина змінюється між кадрами)
- '
u
' рівномірний шум (в іншому випадку гаусів)
- '
11.170.1 Examples
Додайте тимчасовий і рівномірний шум до вхідного відео:
noise=alls=20:allf=t+u
11.171 normalize
Нормалізація RGB-відео (така ж розтягування гістограми, розтягування контрасту). Див.: https://en.wikipedia.org/wiki/Normalization_(image_processing)
Для кожного каналу кожного кадру фільтр обчислює вхідний діапазон і лінійно відображає його на вказаний користувачем вихідний діапазон. Вихідний діапазон за замовчуванням становить повний динамічний діапазон від чисто чорного до чисто білого.
Тимчасове згладжування можна використовувати для вхідного діапазону, щоб зменшити мерехтіння (швидкі зміни яскравості), спричинені тим, що невеликі темні або яскраві об’єкти входять або залишають сцену. Це схоже на автоматичну експозицію (автоматичне керування підсиленням) на відеокамері, і, як і відеокамера, це може спричинити період пере- або недоекспонування відео.
Канали R, G, B можна нормалізувати незалежно, що може спричинити деяке зміщення кольорів, або об’єднати разом як один канал, що запобігає зсуву кольорів. Зв'язана нормалізація зберігає відтінок. Незалежної нормалізації немає, тому її можна використовувати для видалення деяких кольорових відтінків. Незалежну і зв'язану нормалізацію можна комбінувати в будь-якому співвідношенні.
Фільтр нормалізації приймає такі параметри:
blackpt
whitept
Кольори, що визначають вихідний діапазон. Мінімальне вхідне значення відображається на
blackpt
. Максимальне вхідне значення відображається наwhitept
. За замовчуванням чорно-білі відповідно. Визначення білого дляblackpt
та чорного дляwhitept
дасть інвертований колір, нормалізоване відео. Відтінки сірого можна використовувати для зменшення динамічного діапазону (контрастності). Зазначення тут насичених кольорів може створити деякі цікаві ефекти.smoothing
Кількість попередніх кадрів для тимчасового згладжування. Вхідний діапазон кожного каналу згладжується за допомогою ковзного середнього поточного кадру та
smoothing
попередніх кадрів. За замовчуванням 0 (без часового згладжування).independence
Контролює співвідношення незалежної (зі зміною кольору) нормалізації каналу до пов’язаної (збереження кольору) нормалізації. 0.0 повністю пов’язаний, 1.0 повністю незалежний. За замовчуванням 1.0 (повністю незалежний).
strength
Загальна міцність фільтра. 1.0 – повна сила. 0.0 є досить дорогим безопераційним способом. За замовчуванням 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
представляє структурний елемент і має синтаксис:
cols
x rows
+ anchor_x
x 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
Накладіть одне відео на інше.
Він має два входи і один вихід. Перший вхід – це «основне» відео, на яке накладено другий вхід.
Він приймає такі параметри:
Нижче наведено опис прийнятих варіантів.
x
y
Установіть вираз для координат 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, W
main_h, H
Основний вхід ширина і висота.
overlay_w, w
overlay_h, h
Ширина та висота введення накладки.
x
y
Обчислені значення для
x
таy
. Вони оцінюються для кожного нового кадру.hsub
vsub
горизонтальні та вертикальні значення кольоровості вихідного формату. Наприклад, для піксельного формату "yuv422p"
hsub
дорівнює 2 іvsub
1.n
номер вхідного кадру, починаючи з 0
pos
позиція у файлі вхідного кадру, NAN, якщо невідома
t
Позначка часу, виражена в секундах. Це NAN, якщо позначка часу введення невідома.
Цей фільтр також підтримує параметри синхронізації кадрів .
Зауважте, що змінні n
, pos
, t
доступні лише тоді, коли оцінка виконується для кадру , і оцінюватимуться для NAN, колиeval
встановлено на 'init
'.
Майте на увазі, що кадри беруться з кожного вхідного відео в порядку часових позначок, отже, якщо їхні початкові часові позначки відрізняються, доцільно пропустити два входи через setpts=PTS-STARTPTS
фільтр, щоб вони починалися з тієї самої нульової часової позначки, як у прикладі для movie
фільтр робить.
Ви можете об’єднати більше оверлеїв, але ви повинні перевірити ефективність такого підходу.
11.176.1 Commands
Цей фільтр підтримує такі команди:
x
y
Змініть 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. Базові формати вхідних пікселів мають збігатися.
Він має два входи і один вихід. Перший вхід – це «основне» відео, на яке накладено другий вхід.
Він приймає такі параметри:
x
y
Установіть вирази для координат x і y накладеного відео на основне відео.
Вони можуть містити такі параметри:
main_w, W
main_h, H
Основний вхід ширина і висота.
overlay_w, w
overlay_h, h
Ширина та висота введення накладки.
x
y
Обчислені значення для
x
таy
. Вони оцінюються для кожного нового кадру.n
Порядковий індекс основного вхідного кадру, починаючи з 0.
pos
Позиція зміщення байтів у файлі основного кадру введення, NAN, якщо невідомо.
t
Позначка часу основного вхідного кадру, виражена в секундах, NAN, якщо невідома.
Значення за замовчуванням — «0» для обох виразів.
eval
Встановіть, коли вирази для
x
іy
оцінюються.Він приймає такі значення:
init
Оцініть вирази один раз під час ініціалізації фільтра або під час обробки команди.
frame
Оцініть вирази для кожного вхідного кадру
Значення за замовчуванням:
frame
.eof_action
Дивіться 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, w
height, h
Укажіть вираз для розміру вихідного зображення з доданими відступами. Якщо значення
width
абоheight
дорівнює 0, для виведення використовується відповідний вхідний розмір.Вираз
width
може посилатися на значення, встановленеheight
виразом, і навпаки.Значення за замовчуванням
width
іheight
дорівнює 0.x
y
Укажіть зміщення для розміщення вхідного зображення в межах доповненої області відносно верхньої/лівої межі вихідного зображення.
Вираз
x
може посилатися на значення, встановленеy
виразом, і навпаки.Значення за замовчуванням
x
іy
дорівнює 0.Якщо
x
абоy
оцінюється як від’ємне число, вони будуть змінені таким чином, щоб вхідне зображення було центровано на доповненій області.color
Укажіть колір виділеної області. Щоб дізнатися про синтаксис цього параметра, перевірте розділ (ffmpeg-utils)"Колір" у посібнику ffmpeg-utils .
Значенням за замовчуванням
color
є "чорний".eval
Укажіть, коли обчислювати ,
width
іheight
вираз .x
y
Він приймає такі значення:
- '
init
' Обчислюйте вирази лише один раз під час ініціалізації фільтра або під час обробки команди.
- '
frame
' Оцініть вирази для кожного вхідного кадру.
Значення за замовчуванням: '
init
'.- '
aspect
Додайте формат замість роздільної здатності.
Значення параметрів width
, height
, x
і y
є виразами, що містять такі константи:
in_w
in_h
Ширина та висота вхідного відео.
iw
ih
Це те саме, що
in_w
іin_h
.out_w
out_h
Ширина та висота виводу (розмір доповненої області), визначені виразами
width
and .height
ow
oh
Це те саме, що
out_w
іout_h
.x
y
Зміщення x і y, як визначено виразами
x
andy
, або NAN, якщо ще не вказано.a
те саме, що
iw
/ih
sar
формат вхідного зразка
dar
формат вхідного дисплея, такий самий, як (
iw
/ih
) *sar
hsub
vsub
Значення підвибірки кольоровості по горизонталі та вертикалі. Наприклад, для піксельного формату "yuv422p"
hsub
дорівнює 2 іvsub
1.
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
Правильна перспектива відео не записується перпендикулярно екрану.
Нижче наведено опис прийнятих параметрів.
x0
y0
x1
y1
x2
y2
x3
y3
Встановіть вираз координат для верхнього лівого, верхнього правого, нижнього лівого та нижнього правого кутів. Значення за замовчуванням —
0:0:W:0:0:H:W:H
це перспектива, з якою залишиться незмінною. Якщо дляsense
параметра встановлено значенняsource
, то вказані точки будуть надіслані в кути пункту призначення. Якщо дляsense
параметра встановлено значенняdestination
, то кути джерела будуть відправлені за вказаними координатами.Вирази можуть використовувати такі змінні:
W
H
ширину та висоту кадру відео.
in
Вхідна кількість кадрів.
on
Вихідна кількість кадрів.
interpolation
Встановіть інтерполяцію для виправлення перспективи.
Він приймає такі значення:
- '
linear
' - '
cubic
'
Значення за замовчуванням: '
linear
'.- '
sense
Встановити інтерпретацію параметрів координат.
Він приймає такі значення:
- '
0, source
' -
Надіслати точку в джерелі, заданому заданими координатами, до кутів пункту призначення.
- '
1, destination
' -
Надішліть кути джерела в точку призначення, визначену заданими координатами.
Значення за замовчуванням: '
source
'.
- '
eval
Установіть, коли вирази для координат
x0,y0,...x3,y3
оцінюються.Він приймає такі значення:
- '
init
' обчислювати вирази лише один раз під час ініціалізації фільтра або під час обробки команди
- '
frame
' оцінити вирази для кожного вхідного кадру
Значення за замовчуванням: '
init
'.- '
11.183 phase
Затримка черезрядкового відео на один час поля, щоб змінити порядок полів.
Передбачене використання — виправлення фільмів PAL, які були зняті з порядком полів, протилежним до передачі фільму на відео.
Нижче наведено опис прийнятих параметрів.
mode
Встановити фазовий режим.
Він приймає такі значення:
- '
t
' Порядок захоплення полів зверху зверху, передача внизу. Фільтр затримає нижнє поле.
- '
b
' Порядок захоплення полів знизу, передача зверху. Фільтр затримає верхнє поле.
- '
p
' Захоплення та передача з однаковим порядком полів. Цей режим існує лише для документації інших параметрів, на які потрібно звернутись, але якщо ви дійсно виберете його, фільтр точно нічого не виконуватиме.
- '
a
' Порядок полів захоплення визначається автоматично за прапорцями полів, передача навпроти. Фільтр вибирає серед "
t
'і'b
' режими на кадровій основі з використанням прапорців полів. Якщо інформація про поле недоступна, це працює так само, як 'u
'.- '
u
' Захопити невідоме або варіюється, передати навпаки. Фільтр вибирає серед "
t
'і'b
' на кадровій основі, аналізуючи зображення та вибираючи альтернативу, яка забезпечує найкращу відповідність між полями.- '
T
' Знімайте спочатку зверху, передавайте невідомі або різні. Фільтр вибирає серед "
t
'і'p
' за допомогою аналізу зображень.- '
B
' Захоплення знизу, передача невідома або змінюється. Фільтр вибирає серед "
b
'і'p
' за допомогою аналізу зображень.- '
A
' Захоплення визначається прапорцями поля, передача невідома або змінюється. Фільтр вибирає серед "
t
', 'b
'і'p
' за допомогою прапорців полів і аналізу зображень. Якщо інформація про поле недоступна, це працює так само, як 'U
'. Це режим за замовчуванням.- '
U
' І захоплення, і передача невідомі або змінюються. Фільтр вибирає серед "
t
', 'b
'і'p
' лише за допомогою аналізу зображень.
- '
11.183.1 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, w
height, 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 reducer
threshold1
більше -> сильніша фільтрація
threshold2
більше -> сильніша фільтрація
threshold3
більше -> сильніша фільтрація
al/autolevels[:f/fullyrange], automatic brightness / contrast correction
f/fullyrange
Розтягнути яскравість до
0-255
.
lb/linblenddeint
Фільтр усунення чергування лінійного змішування, який усуває переплетення заданого блоку шляхом фільтрації всіх рядків за допомогою
(1 2 1)
фільтра.li/linipoldeint
Лінійний інтерполяційний фільтр депереплетення, який усуває чергування заданого блоку шляхом лінійної інтерполяції кожного другого рядка.
ci/cubicipoldeint
Кубічний інтерполяційний деінтерполяційний фільтр усуває черезрядковість заданого блоку шляхом кубічної інтерполяції кожного другого рядка.
md/mediandeint
Медіанний фільтр усунення чергування, який усуває переплетення заданого блоку шляхом застосування медіанного фільтра до кожного другого рядка.
fd/ffmpegdeint
Фільтр деінтерлейсу FFmpeg, який усуває чередування заданого блоку шляхом фільтрації кожного другого рядка за допомогою
(-1 4 2 4 -1)
фільтра.l5/lowpass5
Вертикально застосований 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.
Кожен із параметрів виразу визначає вираз, який слід використовувати для обчислення таблиці пошуку для відповідних значень піксельних компонентів.
Вирази можуть містити такі константи та функції:
w
h
Ширина та висота введення.
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 кадрів/с.
Фільтр приймає такі параметри:
jl
jr
jt
jb
Ці параметри встановлюють кількість «сміття», яке потрібно ігнорувати ліворуч, праворуч, угорі та внизу зображення відповідно. Ліворуч і праворуч — по 8 пікселів, а зверху й знизу — по 2 рядки. За замовчуванням 8 пікселів з кожного боку.
sb
Встановіть суворі перерви. Встановлення цього параметра на 1 зменшить ймовірність того, що фільтр час від часу генеруватиме невідповідний кадр, але це також може призвести до випадання надмірної кількості кадрів під час послідовностей із високим рухом. І навпаки, встановлення значення -1 полегшить пошук полів фільтра. Це може допомогти в обробці відео, де є невелике розмиття між полями, але також може призвести до появи кадрів через розрядку на виході. Значення за замовчуванням:
0
.mp
Встановіть метричну площину для використання. Він приймає такі значення:
- '
l
' Використовуйте площину освітлення.
- '
u
' Використовуйте кольорову синю площину.
- '
v
' Використовуйте кольорову червону площину.
Цей параметр може бути налаштований на використання площини кольоровості замість площини яскравості за замовчуванням для виконання обчислень фільтра. Це може підвищити точність на дуже чистому вихідному матеріалі, але, швидше за все, знизить точність, особливо якщо є кольоровий шум (ефект веселки) або будь-яке відео у відтінках сірого. Основна мета установки
mp
до кольорової площини — зменшити навантаження на процесор і зробити підтягування придатним для використання в реальному часі на повільних машинах.- '
Для отримання найкращих результатів (без повторюваних кадрів у вихідному файлі) необхідно змінити вихідну частоту кадрів. Наприклад, для інверсії вхідного сигналу телекіно NTSC:
ffmpeg -i input -vf pullup -r 24000/1001 ...
11.195 qp
Зміна параметрів квантування відео (QP).
Фільтр приймає такі параметри:
qp
Встановити вираз для параметра квантування.
Вираз обчислюється через eval API і може містити, серед іншого, такі константи:
known
1, якщо індекс не дорівнює 129, 0 в іншому випадку.
qp
Послідовний індекс від -129 до 128.
11.195.1 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.
hsub
vsub
горизонтальні та вертикальні значення кольоровості. Наприклад, для піксельного формату "yuv422p"
hsub
дорівнює 2 іvsub
1.in_w, iw
in_h, ih
ширина та висота вхідного відео
out_w, ow
out_h, oh
вихідні ширина та висота, тобто розмір доповненої області, як зазначено виразами
width
andheight
rotw(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, w
height, h
Установіть вираз розмірності вихідного відео. Значенням за замовчуванням є вхідний розмір.
Якщо значення
width
абоw
дорівнює 0, ширина введення використовується для виведення. Якщо значенняheight
абоh
дорівнює 0, для виведення використовується вхідна висота.Якщо одне й лише одне зі значень дорівнює -n з n >= 1, фільтр масштабу використовуватиме значення, яке підтримує співвідношення сторін вхідного зображення, обчислене на основі іншого вказаного розміру. Однак після цього він переконається, що обчислений розмір ділиться на n, і за потреби відкоригує значення.
Якщо обидва значення мають значення -n з n >= 1, поведінка буде ідентичною для обох значень, встановлених на 0, як описано раніше.
Нижче наведено список прийнятних констант для використання у виразі розмірності.
eval
Укажіть, коли обчислювати
width
таheight
виражати. Він приймає такі значення:- '
init
' Обчислюйте вирази лише один раз під час ініціалізації фільтра або під час обробки команди.
- '
frame
' Оцініть вирази для кожного вхідного кадру.
Значення за замовчуванням: '
init
'.- '
interl
Встановіть режим чергування. Він приймає такі значення:
- '
1
' Примусове черезрядкове масштабування.
- '
0
' Не застосовуйте черезстрокове масштабування.
- '
-1
' Виберіть черезрядкове масштабування залежно від того, чи вихідні кадри позначені як черезрядкові чи ні.
Значення за замовчуванням: '
0
'.- '
flags
Встановити прапорці масштабування libswscale. Див. (ffmpeg-scaler) посібник ffmpeg-scaler для повного списку значень. Якщо не вказано явно, фільтр застосовує позначки за замовчуванням.
param0, param1
Встановіть вхідні параметри libswscale для алгоритмів масштабування, яким вони потрібні. Повну документацію див . у посібнику (ffmpeg-scaler) ffmpeg-scaler . Якщо не вказано явно, фільтр застосовує порожні параметри.
size, s
Встановіть розмір відео. Щоб дізнатися про синтаксис цього параметра, перевірте розділ (ffmpeg-utils) «Розмір відео» в посібнику ffmpeg-utils .
in_color_matrix
out_color_matrix
Встановіть тип колірного простору входу/виводу YCbCr.
Це дозволяє перевизначати автоматично визначене значення, а також дозволяє примусово використовувати конкретне значення для виведення та кодера.
Якщо не вказано, тип колірного простору залежить від формату пікселя.
Можливі значення:
- '
auto
' Виберіть автоматично.
- '
bt709
' Формат відповідає Рекомендації Міжнародного союзу електрозв’язку (ITU) BT.709.
- '
fcc
' Встановіть колірний простір відповідно до Кодексу федеральних правил (CFR) Федеральної комісії зв’язку США (FCC), розділ 47 (2003) 73.682 (a).
- '
bt601
' - '
bt470
' - '
smpte170m
' Встановити колірний простір відповідно до:
- Рекомендація 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_range
out_range
Встановити вхідний/вихідний діапазон вибірки YCbCr.
Це дозволяє перевизначати автоматично визначене значення, а також дозволяє примусово використовувати конкретне значення для виведення та кодера. Якщо не вказано, діапазон залежить від формату пікселів. Можливі значення:
- '
auto/unknown
' Виберіть автоматично.
- '
jpeg/full/pc
' Встановити повний діапазон (0-255 у випадку 8-бітного яскравості).
- '
mpeg/limited/tv
' Встановіть діапазон «MPEG» (16-235 у разі 8-бітної яскравості).
- '
force_original_aspect_ratio
Увімкніть зменшення або збільшення ширини або висоти вихідного відео, якщо необхідно, щоб зберегти початкове співвідношення сторін. Можливі значення:
- '
disable
' Змініть масштаб відео, як зазначено, і вимкніть цю функцію.
- '
decrease
' Розміри вихідного відео буде автоматично зменшено, якщо потрібно.
- '
increase
' Розміри вихідного відео будуть автоматично збільшені за потреби.
Одним з корисних прикладів цього параметра є те, що коли ви знаєте максимальну дозволену роздільну здатність певного пристрою, ви можете використовувати його, щоб обмежити вихідне відео цим, зберігаючи при цьому співвідношення сторін. Наприклад, пристрій 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_w
in_h
Ширина та висота введення
iw
ih
Це те саме, що
in_w
іin_h
.out_w
out_h
Вихідні (масштабовані) ширина та висота
ow
oh
Це те саме, що
out_w
іout_h
a
Те саме, що
iw
/ih
sar
формат вхідного зразка
dar
Співвідношення сторін вхідного дисплея. Розраховано з
(iw / ih) * sar
.hsub
vsub
горизонтальні та вертикальні вхідні значення кольоровості. Наприклад, для піксельного формату "yuv422p"
hsub
дорівнює 2 іvsub
1.ohsub
ovsub
горизонтальні та вертикальні вихідні значення кольоровості. Наприклад, для піксельного формату "yuv422p"
hsub
дорівнює 2 іvsub
1.n
(Послідовний) номер вхідного кадру, починаючи з 0. Доступно лише з
eval=frame
.t
Позначка часу представлення вхідного кадру, виражена як кількість секунд. Доступно лише з
eval=frame
.pos
Позиція (зміщення байтів) кадру у вхідному потоці або NaN, якщо ця інформація недоступна та/або безглузда (наприклад, у випадку синтетичного відео). Доступно лише з
eval=frame
.
11.208.2 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, w
height, h
Установіть вираз розмірності вихідного відео. Команда приймає той самий синтаксис відповідного параметра.
Якщо вказаний вираз недійсний, його поточне значення зберігається.
11.209 scale_cuda
Масштабуйте (змінюйте розмір) і конвертуйте (піксельний формат) вхідне відео за допомогою прискорених ядер CUDA. Налаштування вихідної ширини та висоти працює так само, як і для масштабного фільтра.
Фільтр приймає такі параметри:
w
h
Установіть вираз розмірності вихідного відео. Значенням за замовчуванням є вхідний розмір.
Допускає ті самі вирази, що й масштабний фільтр.
interp_algo
Встановлює алгоритм масштабування:
nearest
Найближчий сусід
Використовується за умовчанням, якщо вхідні параметри відповідають бажаному виходу.
bilinear
Білінійний
bicubic
Бікубічний
Це значення за умовчанням.
lanczos
Ланцош
format
Керує вихідним форматом пікселів. За замовчуванням або, якщо не вказано, використовується формат вхідних пікселів.
Фільтр не підтримує конвертацію між форматами пікселів YUV і RGB.
passthrough
Якщо встановлено значення 0, обробляється кожен кадр, навіть якщо перетворення не потрібне. Цей режим може бути корисним для використання фільтра як буфера для споживача кадрів нижнього потоку, який вичерпує обмежений пул кадрів декодера.
Якщо встановлено значення 1, кадри передаються як є, якщо вони відповідають бажаним вихідним параметрам. Це стандартна поведінка.
param
Специфічний параметр алгоритму.
Впливає на криві бікубічного алгоритму.
force_original_aspect_ratio
force_divisible_by
Працюють так само, як ідентичні параметри масштабного фільтра.
11.209.1 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
Найближчий сусід.
linear
cubic
cubic2p_bspline
2-параметрична кубічна (B=1, C=0)
cubic2p_catmullrom
2-параметрична кубічна (B=0, C=1/2)
cubic2p_b05c03
2-параметрична кубічна (B=1/2, C=3/10)
super
Суперсемплінг
lanczos
force_original_aspect_ratio
Увімкніть зменшення або збільшення ширини або висоти вихідного відео, якщо необхідно, щоб зберегти початкове співвідношення сторін. Можливі значення:
- '
disable
' Змініть масштаб відео, як зазначено, і вимкніть цю функцію.
- '
decrease
' Розміри вихідного відео буде автоматично зменшено, якщо потрібно.
- '
increase
' Розміри вихідного відео будуть автоматично збільшені за потреби.
Одним з корисних прикладів цього параметра є те, що коли ви знаєте максимальну дозволену роздільну здатність певного пристрою, ви можете використовувати його, щоб обмежити вихідне відео цим, зберігаючи при цьому співвідношення сторін. Наприклад, пристрій 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_w
in_h
Ширина та висота введення
iw
ih
Це те саме, що
in_w
іin_h
.out_w
out_h
Вихідні (масштабовані) ширина та висота
ow
oh
Це те саме, що
out_w
іout_h
a
Те саме, що
iw
/ih
sar
формат вхідного зразка
dar
Співвідношення сторін вхідного дисплея. Розраховано з
(iw / ih) * sar
.n
(Послідовний) номер вхідного кадру, починаючи з 0. Доступно лише з
eval=frame
.t
Позначка часу представлення вхідного кадру, виражена як кількість секунд. Доступно лише з
eval=frame
.pos
Позиція (зміщення байтів) кадру у вхідному потоці або NaN, якщо ця інформація недоступна та/або безглузда (наприклад, у випадку синтетичного відео). Доступно лише з
eval=frame
.
11.211 scale2ref
Масштабування (зміна розміру) вхідного відео на основі контрольного відео.
Перегляньте фільтр масштабування, щоб дізнатися про доступні параметри, scale2ref підтримує те саме, але використовує еталонне відео замість основного вхідного сигналу як основу. scale2ref також підтримує такі додаткові константи дляw
і
h
параметри:
main_w
main_h
Ширина та висота основного вхідного відео
main_a
Те саме, що
main_w
/main_h
main_sar
Зразок співвідношення сторін основного вхідного відео
main_dar, mdar
Формат відображення основного вхідного відео. Розраховано з
(main_w / main_h) * main_sar
.main_hsub
main_vsub
Значення підвибірки кольоровості основного вхідного відео по горизонталі та вертикалі. Наприклад, для піксельного формату "yuv422p"
hsub
дорівнює 2 іvsub
1.main_n
(Послідовний) номер основного кадру введення, починаючи з 0. Доступно лише з
eval=frame
.main_t
Позначка часу представлення основного вхідного кадру, виражена як кількість секунд. Доступно лише з
eval=frame
.main_pos
Позиція (зміщення байтів) кадру в основному вхідному потоці або NaN, якщо ця інформація недоступна та/або безглузда (наприклад, у випадку синтетичного відео). Доступно лише з
eval=frame
.
11.211.1 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, w
height, h
Установіть вираз розмірності вихідного відео. Команда приймає той самий синтаксис відповідного параметра.
Якщо вказаний вираз недійсний, його поточне значення зберігається.
11.212 scale2ref_npp
Використовуйте NVIDIA Performance Primitives (libnpp), щоб масштабувати (змінювати розмір) вхідне відео на основі еталонного відео.
Перегляньте фільтр scale_npp , щоб дізнатися про доступні параметри, scale2ref_npp підтримує те саме, але використовує еталонне відео замість основного вхідного сигналу як основу. scale2ref_npp також підтримує такі додаткові константи дляw
і
h
параметри:
main_w
main_h
Ширина та висота основного вхідного відео
main_a
Те саме, що
main_w
/main_h
main_sar
Зразок співвідношення сторін основного вхідного відео
main_dar, mdar
Формат відображення основного вхідного відео. Розраховано з
(main_w / main_h) * main_sar
.main_n
(Послідовний) номер основного кадру введення, починаючи з 0. Доступно лише з
eval=frame
.main_t
Позначка часу представлення основного вхідного кадру, виражена як кількість секунд. Доступно лише з
eval=frame
.main_pos
Позиція (зміщення байтів) кадру в основному вхідному потоці або NaN, якщо ця інформація недоступна та/або безглузда (наприклад, у випадку синтетичного відео). Доступно лише з
eval=frame
.
11.212.1 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 (
setdar
only), sar (setsar
only)Установіть співвідношення сторін, що використовується фільтром.
Параметр може бути числовим рядком із плаваючою комою, виразом або рядком у формі
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 іvsub
1.
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 (надрукована в шістнадцятковому форматі) кожної площини вхідного кадру, виражена у формі "[ ]".
c0
c1
c2
c3
mean
Середнє значення пікселів у кожній площині вхідного кадру, виражене у формі "[ ]".
mean0
mean1
mean2
mean3
stdev
Стандартне відхилення значень пікселів у кожній площині вхідного кадру, виражене у формі "[ ]".
stdev0
stdev1
stdev2
stdev3
11.224 showpalette
Відображає палітру з 256 кольорів кожного кадру. Цей фільтр актуальний лише для
pal8
кадрів піксельного формату.
Він приймає наступний варіант:
s
Встановіть розмір прямокутника, що використовується для представлення одного елемента кольору палітри. За замовчуванням
30
(для30x30
піксельної коробки).
11.225 shuffleframes
Змініть порядок та/або дублюйте та/або видаліть відеокадри.
Він приймає такі параметри:
mapping
Встановіть індекси призначення вхідних кадрів. Це пробіл або "|" відокремлений список індексів, який відображає вхідні кадри на вихідні кадри. Кількість індексів також встановлює максимальне значення, яке може мати кожен індекс. Індекс '-1' має особливе значення, а саме для пропускання кадру.
Перший кадр має індекс 0. За умовчанням вхідні дані залишаються незмінними.
11.225.1 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, w
height, 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].
Фільтр приймає такі параметри:
stat
out
-
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, B
SSIM порівнюваних кадрів для компонента, визначеного суфіксом.
All
SSIM порівнюваних кадрів для всього кадру.
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
Фільтр streamselect
and 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 — це вирази, що містять такі константи:
w
h
Ширина та висота введення.
a
те саме, що
w
/h
sar
формат вхідного зразка
dar
формат вхідного дисплея, такий самий, як (
w
/h
) *sar
n
Номер вхідного кадру, починаючи з 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
Встановіть максимальну кількість кадрів для візуалізації в даній області. Він має бути меншим або дорівнювати
w
xh
. Значення за замовчуванням —0
, тобто використовуватиметься вся область.margin
Встановіть межу зовнішньої межі в пікселях. Діапазон від 0 до 1024. За замовчуванням
0
.padding
Встановіть товщину внутрішньої межі (тобто кількість пікселів між кадрами). Щоб отримати додаткові параметри відступу (наприклад, мати різні значення для країв), зверніться до відеофільтру відступу. Діапазон від 0 до 1024. За замовчуванням
0
.color
Вкажіть колір невикористаної області. Щоб дізнатися про синтаксис цього параметра, перевірте розділ (ffmpeg-utils)"Колір" у посібнику ffmpeg-utils . Значенням за замовчуванням
color
є "чорний".overlap
Встановіть кількість кадрів, які перекриватимуться під час об’єднання кількох послідовних кадрів. Значення має бути між
0
таnb_frames - 1
. Типовим є0
.init_padding
Перед відображенням першого вихідного кадру встановіть кількість кадрів, яка спочатку буде порожньою. Це визначає, як скоро буде отримано перший вихідний кадр. Значення має бути між
0
таnb_frames - 1
. Типовим є0
.
11.247.1 Examples
- Створення 8x8 PNG плиток усіх ключових кадрів (
-skip_frame nokey
) у фільмі:ffmpeg -skip_frame nokey -i file.avi -vf 'scale=128:72,tile=8x8' -an -vsync 0 keyframes%03d.png
The
-vsync 0
необхідний, щоб запобігтиffmpeg
дублюванню кожного вихідного кадру для пристосування початково визначеної частоти кадрів. - Відображати
5
зображення в області3x2
кадрів з7
пікселями між ними та2
пікселями початкового поля, використовуючи змішані рівні та іменовані параметри:tile=3x2:nb_frames=5:padding=7:margin=2
11.248 tinterlace
Виконуйте різні види переплетення скроневих полів.
Кадри підраховуються, починаючи з 1, тому перший вхідний кадр вважається непарним.
Фільтр приймає такі параметри:
mode
Вкажіть режим переплетення. Цей параметр також можна вказати окремо як значення. Нижче наведено список значень для цього параметра.
Доступні значення:
- '
merge, 0
' Перемістіть непарні кадри у верхнє поле, парні – у нижнє, створивши кадр подвійної висоти з половинною частотою кадрів.
------> time Input: Frame 1 Frame 2 Frame 3 Frame 4 11111 22222 33333 44444 11111 22222 33333 44444 11111 22222 33333 44444 11111 22222 33333 44444 Output: 11111 33333 22222 44444 11111 33333 22222 44444 11111 33333 22222 44444 11111 33333 22222 44444
- '
drop_even, 1
' Виводьте лише непарні кадри, парні кадри видаляються, створюючи кадр незмінної висоти з половинною частотою кадрів.
------> time Input: Frame 1 Frame 2 Frame 3 Frame 4 11111 22222 33333 44444 11111 22222 33333 44444 11111 22222 33333 44444 11111 22222 33333 44444 Output: 11111 33333 11111 33333 11111 33333 11111 33333
- '
drop_odd, 2
' Виводять лише парні кадри, непарні кадри відкидаються, створюючи кадр незмінної висоти з половинною частотою кадрів.
------> time Input: Frame 1 Frame 2 Frame 3 Frame 4 11111 22222 33333 44444 11111 22222 33333 44444 11111 22222 33333 44444 11111 22222 33333 44444 Output: 22222 44444 22222 44444 22222 44444 22222 44444
- '
pad, 3
' Розгорніть кожен кадр на повну висоту, але чергуйте лінії чорним, створюючи кадр подвоєної висоти з тією самою вхідною частотою кадрів.
------> time Input: Frame 1 Frame 2 Frame 3 Frame 4 11111 22222 33333 44444 11111 22222 33333 44444 11111 22222 33333 44444 11111 22222 33333 44444 Output: 11111 ..... 33333 ..... ..... 22222 ..... 44444 11111 ..... 33333 ..... ..... 22222 ..... 44444 11111 ..... 33333 ..... ..... 22222 ..... 44444 11111 ..... 33333 ..... ..... 22222 ..... 44444
- '
interleave_top, 4
' Перемежуйте верхнє поле з непарних кадрів з нижнім полем з парних кадрів, створюючи кадр незмінної висоти з половинною частотою кадрів.
------> time Input: Frame 1 Frame 2 Frame 3 Frame 4 11111<- 22222 33333<- 44444 11111 22222<- 33333 44444<- 11111<- 22222 33333<- 44444 11111 22222<- 33333 44444<- Output: 11111 33333 22222 44444 11111 33333 22222 44444
- '
interleave_bottom, 5
' Перемежуйте нижнє поле з непарних кадрів з верхнім полем з парних кадрів, створюючи кадр незмінної висоти з половинною частотою кадрів.
------> time Input: Frame 1 Frame 2 Frame 3 Frame 4 11111 22222<- 33333 44444<- 11111<- 22222 33333<- 44444 11111 22222<- 33333 44444<- 11111<- 22222 33333<- 44444 Output: 22222 44444 11111 33333 22222 44444 11111 33333
- '
interlacex2, 6
' Подвоєна частота кадрів із незмінною висотою. Вставляються кадри, кожен з яких містить друге часове поле з попереднього вхідного кадру та перше часове поле з наступного вхідного кадру. Цей режим покладається на прапор top_field_first. Корисно для дисплеїв черезрядкового відео без синхронізації полів.
------> time Input: Frame 1 Frame 2 Frame 3 Frame 4 11111 22222 33333 44444 11111 22222 33333 44444 11111 22222 33333 44444 11111 22222 33333 44444 Output: 11111 22222 22222 33333 33333 44444 44444 11111 11111 22222 22222 33333 33333 44444 11111 22222 22222 33333 33333 44444 44444 11111 11111 22222 22222 33333 33333 44444
- '
mergex2, 7
' Перемістіть непарні кадри у верхнє поле, парні – у нижнє, створюючи кадр подвійної висоти з однаковою частотою кадрів.
------> time Input: Frame 1 Frame 2 Frame 3 Frame 4 11111 22222 33333 44444 11111 22222 33333 44444 11111 22222 33333 44444 11111 22222 33333 44444 Output: 11111 33333 33333 55555 22222 22222 44444 44444 11111 33333 33333 55555 22222 22222 44444 44444 11111 33333 33333 55555 22222 22222 44444 44444 11111 33333 33333 55555 22222 22222 44444 44444
Числові значення застаріли, але приймаються з причин зворотної сумісності.
Типовий режим:
merge
.- '
flags
Вкажіть позначки, що впливають на процес фільтрації.
Доступне значення для
flags
:low_pass_filter, vlpf
Увімкніть у фільтрі лінійну вертикальну фільтрацію низьких частот. Вертикальна фільтрація низьких частот необхідна під час створення черезрядкової адреси з прогресивного джерела, яке містить високочастотні вертикальні деталі. Фільтрування зменшить черезрядкову «щеріньку» та муаровий візерунок.
complex_filter, cvlpf
Увімкнути складну вертикальну фільтрацію низьких частот. Це дещо менше зменшить чергування «щерінькання» та візерунок муару, але краще збереже деталі та суб’єктивне враження чіткості.
bypass_il
Обійти вже черезстрокові кадри, налаштувати лише частоту кадрів.
Вертикальну фільтрацію низьких частот і обхід уже черезрядкових кадрів можна ввімкнути лише для
mode
interleave_top
іinterleave_bottom
.
11.249 tmedian
Виберіть середні пікселі з кількох послідовних вхідних відеокадрів.
Фільтр приймає такі параметри:
radius
Встановити радіус медіанного фільтра. За замовчуванням 1. Дозволений діапазон від 1 до 127.
planes
Встановіть, які площини фільтрувати. Значення за замовчуванням —
15
, за яким обробляються всі площини.percentile
Установіть медіанний процентиль. Значення за замовчуванням:
0.5
. Значення за замовчуванням0.5
завжди вибиратиме середні значення, тоді як0
вибиратиме мінімальні та1
максимальні значення.
11.249.1 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
Цей фільтр підтримує такі команди:
weights
scale
planes
Синтаксис такий самий, як і параметр із такою ж назвою.
11.252 tonemap
Кольори тонової карти з різних динамічних діапазонів.
Цей фільтр очікує даних у формі з плаваючою точністю одинарної точності, оскільки він має оперувати (і може виводити) значення, що виходять за межі діапазону. Інший фільтр, наприклад zscale , необхідний для перетворення отриманого кадру у придатний для використання формат.
Реалізовані алгоритми відображення тонів працюють лише з лінійним світлом, тому вхідні дані слід попередньо лінеаризувати (і, можливо, правильно позначити).
ffmpeg -i INPUT -vf zscale=transfer=linear,tonemap=clip,zscale=transfer=bt709,format=yuv420p OUTPUT
11.252.1 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-градусне відео в різні формати.
Фільтр приймає такі параметри:
input
output
Встановити формат вхідного/вихідного відео.
Доступні формати:
- '
e
' - '
equirect
' Рівнопрямокутна проекція.
- '
c3x2
' - '
c6x1
' - '
c1x6
' Кубічна карта з макетом 3x2/6x1/1x6.
Спеціальні параметри формату:
in_pad
out_pad
Встановіть пропорцію заповнення для вхідної/вихідної кубічної карти. Значення в десяткових дробах.
Приклад значень:
- '
0
' Без підкладки.
- '
0.01
' 1% лицьової поверхні займає підкладка. Наприклад, із роздільною здатністю 1920x1280 розмір грані буде 640x640, а відступ становитиме 3 пікселі з кожного боку. (640 * 0,01 = 6 пікселів)
Значення за замовчуванням: '
0
' . Максимальне значення '0.1
' .- '
fin_pad
fout_pad
Встановіть фіксоване заповнення для вхідної/вихідної кубічної карти. Значення в пікселях.
Значення за замовчуванням: '
0
' . Якщо значення більше нуля, воно перекриває інші параметри доповнення.in_forder
out_forder
Установіть порядок граней для вхідної/вихідної кубічної карти. Виберіть один напрямок для кожної позиції.
Позначення напрямків:
- '
r
' правильно
- '
l
' зліва
- '
u
' вгору
- '
d
' вниз
- '
f
' вперед
- '
b
' назад
Значення за замовчуванням: '
rludfb
' .- '
in_frot
out_frot
Встановити обертання граней для вхідної/вихідної кубічної карти. Виберіть один ракурс для кожної позиції.
Позначення кутів:
- '
0
' 0 градусів за годинниковою стрілкою
- '
1
' 90 градусів за годинниковою стрілкою
- '
2
' 180 градусів за годинниковою стрілкою
- '
3
' 270 градусів за годинниковою стрілкою
Значення за замовчуванням: '
000000
' .- '
- '
eac
' Рівнокутна кубічна карта.
- '
flat
' - '
gnomonic
' - '
rectilinear
' Звичайне відео.
Спеціальні параметри формату:
h_fov
v_fov
d_fov
Встановіть горизонтальне/вертикальне/діагональне поле зору вихідного сигналу. Значення в градусах.
Якщо встановлено діагональне поле зору, воно перекриває горизонтальне та вертикальне поле зору.
ih_fov
iv_fov
id_fov
Встановіть горизонтальне/вертикальне/діагональне поле зору. Значення в градусах.
Якщо встановлено діагональне поле зору, воно перекриває горизонтальне та вертикальне поле зору.
- '
dfisheye
' Подвійне риб'яче око.
Спеціальні параметри формату:
h_fov
v_fov
d_fov
Встановіть горизонтальне/вертикальне/діагональне поле зору вихідного сигналу. Значення в градусах.
Якщо встановлено діагональне поле зору, воно перекриває горизонтальне та вертикальне поле зору.
ih_fov
iv_fov
id_fov
Встановіть горизонтальне/вертикальне/діагональне поле зору. Значення в градусах.
Якщо встановлено діагональне поле зору, воно перекриває горизонтальне та вертикальне поле зору.
- '
barrel
' - '
fb
' - '
barrelsplit
' Формати Facebook 360.
- '
sg
' Стереографічний формат.
Спеціальні параметри формату:
h_fov
v_fov
d_fov
Встановіть горизонтальне/вертикальне/діагональне поле зору вихідного сигналу. Значення в градусах.
Якщо встановлено діагональне поле зору, воно перекриває горизонтальне та вертикальне поле зору.
ih_fov
iv_fov
id_fov
Встановіть горизонтальне/вертикальне/діагональне поле зору. Значення в градусах.
Якщо встановлено діагональне поле зору, воно перекриває горизонтальне та вертикальне поле зору.
- '
mercator
' Формат Меркатор.
- '
ball
' М'яч формату, дає значний викривлення в бік спини.
- '
hammer
' Формат картографічної проекції Хаммера-Айтоффа.
- '
sinusoidal
' Формат синусоїдальної картографічної проекції.
- '
fisheye
' Проекція риб'ячого ока.
Спеціальні параметри формату:
h_fov
v_fov
d_fov
Встановіть горизонтальне/вертикальне/діагональне поле зору вихідного сигналу. Значення в градусах.
Якщо встановлено діагональне поле зору, воно перекриває горизонтальне та вертикальне поле зору.
ih_fov
iv_fov
id_fov
Встановіть горизонтальне/вертикальне/діагональне поле зору. Значення в градусах.
Якщо встановлено діагональне поле зору, воно перекриває горизонтальне та вертикальне поле зору.
- '
pannini
' Проекція Панніні.
Спеціальні параметри формату:
h_fov
Встановити вихідний параметр Pannini.
ih_fov
Встановіть вхідний параметр Pannini.
- '
cylindrical
' Циліндрична проекція.
Спеціальні параметри формату:
h_fov
v_fov
d_fov
Встановіть горизонтальне/вертикальне/діагональне поле зору вихідного сигналу. Значення в градусах.
Якщо встановлено діагональне поле зору, воно перекриває горизонтальне та вертикальне поле зору.
ih_fov
iv_fov
id_fov
Встановіть горизонтальне/вертикальне/діагональне поле зору. Значення в градусах.
Якщо встановлено діагональне поле зору, воно перекриває горизонтальне та вертикальне поле зору.
- '
perspective
' Перспективна проекція. (тільки вихід)
Спеціальні параметри формату:
v_fov
Встановити параметр перспективи.
- '
tetrahedron
' Проекція тетраедра.
- '
tsp
' Проекція усіченої квадратної піраміди.
- '
he
' - '
hequirect
' Піврівнокутна проекція.
- '
equisolid
' Equisolid формат.
Спеціальні параметри формату:
h_fov
v_fov
d_fov
Встановіть горизонтальне/вертикальне/діагональне поле зору вихідного сигналу. Значення в градусах.
Якщо встановлено діагональне поле зору, воно перекриває горизонтальне та вертикальне поле зору.
ih_fov
iv_fov
id_fov
Встановіть горизонтальне/вертикальне/діагональне поле зору. Значення в градусах.
Якщо встановлено діагональне поле зору, воно перекриває горизонтальне та вертикальне поле зору.
- '
og
' Орфографічний формат.
Спеціальні параметри формату:
h_fov
v_fov
d_fov
Встановіть горизонтальне/вертикальне/діагональне поле зору вихідного сигналу. Значення в градусах.
Якщо встановлено діагональне поле зору, воно перекриває горизонтальне та вертикальне поле зору.
ih_fov
iv_fov
id_fov
Встановіть горизонтальне/вертикальне/діагональне поле зору. Значення в градусах.
Якщо встановлено діагональне поле зору, воно перекриває горизонтальне та вертикальне поле зору.
- '
octahedron
' Проекція октаедра.
- '
cylindricalea
' Циліндрична рівноплоща проекція.
- '
interp
Встановити метод інтерполяції.
Примітка: для виконання більш складних методів інтерполяції потрібно набагато більше пам’яті.Доступні методи:
- '
near
' - '
nearest
' Найближчий сусід.
- '
line
' - '
linear
' Білінійна інтерполяція.
- '
lagrange9
' Інтерполяція Лагранжа9.
- '
cube
' - '
cubic
' Бікубічна інтерполяція.
- '
lanc
' - '
lanczos
' Інтерполяція Ланцоша.
- '
sp16
' - '
spline16
' Сплайн16 інтерполяція.
- '
gauss
' - '
gaussian
' Інтерполяція Гауса.
- '
mitchell
' Інтерполяція Мітчелла.
Значення за замовчуванням: '
line
' .- '
w
h
Встановіть вихідну роздільну здатність відео.
Роздільна здатність за умовчанням залежить від форматів.
in_stereo
out_stereo
Встановіть стереоформат входу/виходу.
- '
2d
' 2D моно
- '
sbs
' Пліч-о-пліч
- '
tb
' Верхній низ
Значення за замовчуванням: '
2d
' для формату введення та виведення.- '
yaw
pitch
roll
Установіть обертання вихідного відео. Значення в градусах.
rorder
Установіть порядок обертання вихідного відео. Виберіть один предмет для кожної позиції.
- '
y, Y
' поворот
- '
p, P
' крок
- '
r, R
' рол
Значення за замовчуванням: '
ypr
' .- '
h_flip
v_flip
d_flip
Перевернути вихідне відео горизонтально (змінюється вліво-вправо)/вертикально (змінюється вгору-вниз)/в глибину (змінюється назад-вперед). Логічні значення.
ih_flip
iv_flip
Встановіть, якщо вхідне відео перевертається горизонтально/вертикально. Логічні значення.
in_trans
Встановіть, якщо вхідне відео транспоновано. Логічне значення, за умовчанням вимкнено.
out_trans
Встановіть, чи потрібно транспонувати вихідне відео. Логічне значення, за умовчанням вимкнено.
h_offset
v_offset
Встановіть вихідний горизонтальний/вертикальний зсув поза осею. За замовчуванням встановлено значення 0. Дозволений діапазон від -1 до 1.
alpha_mask
Побудуйте маску в альфа-площині для всіх невідображених пікселів, позначивши їх повністю прозорими. Логічне значення, за умовчанням вимкнено.
reset_rot
Скинути обертання вихідного відео. Логічне значення, за умовчанням вимкнено.
11.261.1 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, t0
tint1, t1
Встановіть відтінок кольору для режиму вектороскопа сірого/відтінку. За замовчуванням обидва параметри дорівнюють нулю. Це означає відсутність відтінку, а відбиток залишатиметься сірим.
11.265 vidstabdetect
Проаналізуйте стабілізацію/усунення тремтіння відео. Виконайте прохід 1 з 2, див. vidstabtransform для проходу 2.
Цей фільтр генерує файл із інформацією про відносний перехід і перетворення повороту про наступні кадри, який потім використовується фільтром vidstabtransform .
Щоб увімкнути компіляцію цього фільтра, вам потрібно налаштувати FFmpeg за допомогою
--enable-libvidstab
.
Цей фільтр приймає такі параметри:
result
Встановіть шлях до файлу, який використовується для запису інформації про перетворення. Значення за замовчуванням:
transforms.trf
.shakiness
Установіть, наскільки тремтить відео та швидкість камери. Він приймає ціле число в діапазоні 1-10, значення 1 означає незначне тремтіння, значення 10 означає сильне тремтіння. Значення за замовчуванням – 5.
accuracy
Встановіть точність процесу виявлення. Це має бути значення в діапазоні 1-15. Значення 1 означає низьку точність, значення 15 означає високу точність. Значення за замовчуванням 15.
stepsize
Встановити розмір кроку процесу пошуку. Область навколо мінімуму сканується з роздільною здатністю 1 піксель. Значення за замовчуванням – 6.
mincontrast
Встановіть мінімальний контраст. Нижче цього значення локальне поле вимірювання відкидається. Має бути значення з плаваючою комою в діапазоні 0-1. Значення за замовчуванням 0,3.
tripod
Встановіть контрольний номер кадру для режиму штатива.
Якщо ввімкнено, рух кадрів порівнюється з еталонним кадром у відфільтрованому потоці, позначеному вказаним номером. Ідея полягає в тому, щоб компенсувати всі рухи в більш-менш статичній сцені та зберегти камеру абсолютно нерухомим.
Якщо встановлено значення 0, він вимкнений. Кадри рахуються починаючи з 1.
show
Показувати поля та трансформації в отриманих кадрах. Він приймає ціле число в діапазоні 0-2. Значення за замовчуванням — 0, що вимикає будь-яку візуалізацію.
11.265.1 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"
x0
y0
Установіть вирази координат центру. Відповідно
"w/2"
і"h/2"
за замовчуванням.mode
Встановити режим вперед/назад.
Доступні режими:
- '
forward
' Чим більше відстань від центральної точки, тим темніше стає зображення.
- '
backward
' Чим більше відстань від центральної точки, тим яскравішим стає зображення. Це можна використати, щоб скасувати ефект віньєтки, хоча немає автоматичного виявлення для вилучення лінзи
angle
та інші налаштування (поки). Також його можна використовувати для створення ефекту печіння.
Значення за замовчуванням: '
forward
'.- '
eval
Встановити режим оцінки для виразів (
angle
,x0
,y0
).Він приймає такі значення:
- '
init
' Обчислюйте вирази лише один раз під час ініціалізації фільтра.
- '
frame
' Оцініть вирази для кожного вхідного кадру. Це набагато повільніше, ніж "
init
', оскільки він вимагає повторного обчислення всіх скалерів, але він дозволяє розширені динамічні вирази.
Значення за замовчуванням: '
init
'.- '
dither
Встановіть розмитість, щоб зменшити ефект кругових смуг. За замовчуванням
1
(увімкнено).aspect
Встановити формат віньєтки. Цей параметр дозволяє регулювати форму віньєтки. Встановлення цього значення для SAR вхідного сигналу створить прямокутне віньєтування відповідно до розмірів відео.
Типовим є
1/1
.
11.271.1 Expressions
Thealpha
,x0
іy0
вирази можуть містити такі параметри.
w
h
ширина та висота введення
n
номер вхідного кадру, починаючи з 0
pts
час PTS (Presentation TimeStamp) відфільтрованого відеокадру, виражений в
TB
одиницях, NAN, якщо не визначеноr
частота кадрів вхідного відео, NAN, якщо частота кадрів вхідного сигналу невідома
t
PTS (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, t0
tint1, t1
Встановити відтінок для виведення. Використовується лише з фільтром низьких частот і коли дисплей не накладається, а формати вхідних пікселів не RGB.
fitmode, fm
Встановіть зразкове співвідношення сторін вихідних кадрів відео. Можна використовувати для налаштування форми сигналу, щоб він не надто сильно розтягувався в одному з напрямків.
- '
none
' Встановіть зразкове співвідношення сторін 1/1.
- '
size
' Установіть зразкове співвідношення сторін відповідно до вхідного розміру відео
Типовим є '
none
'.- '
11.276 weave, doubleweave
Він weave
приймає відеовхід на основі поля та об’єднує кожні два послідовних поля в один кадр, створюючи новий кліп подвійної висоти з половиною частоти кадрів і половиною кількості кадрів.
Працює doubleweave
так само, weave
але без зменшення частоти кадрів і кількості кадрів вдвічі.
Він приймає наступний варіант:
first_field
Встановити перше поле. Доступні значення:
- '
top, t
' Установіть рамку як верхнє поле спочатку.
- '
bottom, b
' Установіть рамку як нижнє поле спочатку.
- '
11.276.1 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
Встановіть вираз для спеціального ефекту переходу.
Вирази можуть використовувати такі змінні та функції:
X
Y
Координати поточної вибірки.
W
H
Ширина і висота зображення.
P
Прогрес ефекту переходу.
PLANE
В даний час обробляється літак.
A
Повернене значення першого введення в поточному місці та площині.
B
Повернене значення другого введення в поточному місці та площині.
a0(x, y)
a1(x, y)
a2(x, y)
a3(x, y)
Повертає значення пікселя в місці (
x
,y
) першого/другого/третього/четвертого компонента першого введення.b0(x, y)
b1(x, y)
b2(x, y)
b3(x, y)
Повертає значення пікселя в місці (
x
,y
) першого/другого/третього/четвертого компонента другого введення.
11.279.1 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.
x
y
Установіть вираз x і y. За замовчуванням 0.
d
Встановіть вираз тривалості в кількості кадрів. Це встановлює, скільки кадрів триватиме для одного вхідного зображення. За замовчуванням 90.
s
Встановіть розмір вихідного зображення, за замовчуванням «hd720».
fps
Встановіть вихідну частоту кадрів, за замовчуванням 25.
Кожен вираз може містити такі константи:
in_w, iw
Ширина входу.
in_h, ih
Вхідна висота.
out_w, ow
Вихідна ширина.
out_h, oh
Вихідна висота.
in
Вхідна кількість кадрів.
on
Вихідна кількість кадрів.
in_time, it
Мітка часу введення, виражена в секундах. Це NAN, якщо позначка часу введення невідома.
out_time, time, ot
Позначка часу виведення, виражена в секундах.
x
y
Остання розрахована позиція «x» і «y» з виразів «x» і «y» для поточного вхідного кадру.
px
py
'x' і 'y' останнього вихідного кадру попереднього вхідного кадру або 0, якщо такого кадру ще не було (перший вхідний кадр).
zoom
Останнє розраховане масштабування з виразу 'z' для поточного вхідного кадру.
pzoom
Останнє розраховане масштабування останнього вихідного кадру попереднього вхідного кадру.
duration
Кількість вихідних кадрів для поточного вхідного кадру. Обчислюється з виразу «d» для кожного вхідного кадру.
pduration
кількість вихідних кадрів, створених для попереднього вхідного кадру
a
Раціональне число: ширина введення / висота введення
sar
співвідношення сторін зразка
dar
співвідношення сторін дисплея
11.285.1 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, w
height, h
Установіть вираз розмірності вихідного відео. Значенням за замовчуванням є вхідний розмір.
Якщо значення
width
абоw
дорівнює 0, ширина введення використовується для виведення. Якщо значенняheight
абоh
дорівнює 0, для виведення використовується вхідна висота.Якщо одним і лише одним із значень є -n із n >= 1, фільтр zscale використовуватиме значення, яке підтримує співвідношення сторін вхідного зображення, розраховане на основі іншого вказаного розміру. Однак після цього він переконається, що обчислений розмір ділиться на n, і за потреби відкоригує значення.
Якщо обидва значення мають значення -n з n >= 1, поведінка буде ідентичною для обох значень, встановлених на 0, як описано раніше.
Нижче наведено список прийнятних констант для використання у виразі розмірності.
size, s
Встановіть розмір відео. Щоб дізнатися про синтаксис цього параметра, перевірте розділ (ffmpeg-utils) «Розмір відео» в посібнику ffmpeg-utils .
dither, d
Встановіть тип тремтіння.
Можливі значення:
none
ordered
random
error_diffusion
За замовчуванням немає.
filter, f
Встановіть тип фільтра зміни розміру.
Можливі значення:
point
bilinear
bicubic
spline16
spline36
lanczos
За замовчуванням білінійний.
range, r
Встановити діапазон кольорів.
Можливі значення:
input
limited
full
За замовчуванням таке ж, як і введення.
primaries, p
Встановіть основні кольори.
Можливі значення:
input
709
unspecified
170m
240m
2020
За замовчуванням таке ж, як і введення.
transfer, t
Встановити характеристики передачі.
Можливі значення:
input
709
unspecified
601
linear
2020_10
2020_12
smpte2084
iec61966-2-1
arib-std-b67
За замовчуванням таке ж, як і введення.
matrix, m
Встановіть матрицю простору кольорів.
Можливі значення:
input
709
unspecified
470bg
170m
2020_ncl
2020_cl
За замовчуванням таке ж, як і введення.
rangein, rin
Встановіть діапазон кольорів для введення.
Можливі значення:
input
limited
full
За замовчуванням таке ж, як і введення.
primariesin, pin
Встановіть первинні кольори введення.
Можливі значення:
input
709
unspecified
170m
240m
2020
За замовчуванням таке ж, як і введення.
transferin, tin
Встановити вхідні характеристики передачі.
Можливі значення:
input
709
unspecified
601
linear
2020_10
2020_12
За замовчуванням таке ж, як і введення.
matrixin, min
Встановіть вхідну матрицю простору кольорів.
Можливі значення:
input
709
unspecified
470bg
170m
2020_ncl
2020_cl
chromal, c
Встановіть вихідну кольоровість.
Можливі значення:
input
left
center
topleft
top
bottomleft
bottom
chromalin, cin
Встановіть місце кольоровості вхідного сигналу.
Можливі значення:
input
left
center
topleft
top
bottomleft
bottom
npl
Встановіть номінальну пікову яскравість.
param_a
Параметр A для фільтрів масштабування. Параметр «b» для бікубічних і кількість кранів фільтра для lanczos.
param_b
Параметр B для фільтрів масштабування. Параметр «с» для бікубічного.
Цінностіw
іh
параметри - це вирази, що містять такі константи:
in_w
in_h
Ширина та висота введення
iw
ih
Це те саме, що
in_w
іin_h
.out_w
out_h
Вихідні (масштабовані) ширина та висота
ow
oh
Це те саме, що
out_w
іout_h
a
Те саме, що
iw
/ih
sar
формат вхідного зразка
dar
Співвідношення сторін вхідного дисплея. Розраховано з
(iw / ih) * sar
.hsub
vsub
горизонтальні та вертикальні вхідні значення кольоровості. Наприклад, для піксельного формату "yuv422p"
hsub
дорівнює 2 іvsub
1.ohsub
ovsub
горизонтальні та вертикальні вихідні значення кольоровості. Наприклад, для піксельного формату "yuv422p"
hsub
дорівнює 2 іvsub
1.
11.286.2 Commands
Цей фільтр підтримує такі команди:
width, w
height, h
Установіть вираз розмірності вихідного відео. Команда приймає той самий синтаксис відповідного параметра.
Якщо вказаний вираз недійсний, його поточне значення зберігається.
12 OpenCL Video Filters
Нижче наведено опис доступних наразі відеофільтрів OpenCL.
Щоб увімкнути компіляцію цих фільтрів, вам потрібно налаштувати FFmpeg за допомогою
--enable-opencl
.
Запуск фільтрів OpenCL вимагає ініціалізації апаратного пристрою та передачі цього пристрою всім фільтрам у будь-якій графі фільтрів.
-init_hw_device opencl[=
name
][:device
[,key=value
...]]Ініціалізуйте новий апаратний пристрій типу
opencl
,name
використовуючи задані параметри пристрою.-filter_hw_device
name
Передайте викликаний апаратний пристрій
name
усім фільтрам у будь-якому графі фільтрів.
Для отримання більш детальної інформації див. https://www.ffmpeg.org/ffmpeg.html#Advanced-Video-options
- Приклад вибору першого пристрою на другій платформі та запуску на ньому фільтра avgblur_opencl із параметрами за замовчуванням.
-init_hw_device opencl=gpu:1.0 -filter_hw_device gpu -i INPUT -vf "hwupload, avgblur_opencl, hwdownload" OUTPUT
Оскільки фільтри OpenCL не можуть отримати доступ до даних кадру в звичайній пам’яті, перед використанням усі дані кадру потрібно завантажити ( hwupload ) на апаратні поверхні, під’єднані до відповідного пристрою, а потім завантажити ( hwdownload ) назад у звичайну пам’ять. Зауважте, що hwupload завантажуватиметься на поверхню з тим же макетом, що й фрейм програмного забезпечення, тому може знадобитися додати фільтр формату безпосередньо перед тим, щоб отримати вхідні дані у правильному форматі, а hwdownload не підтримує всі формати на виході – це може необхідно вставити додатковий фільтр формату відразу після графіка, щоб отримати вивід у підтримуваному форматі.
12.1 avgblur_opencl
Застосуйте фільтр середнього розмиття.
Фільтр приймає такі параметри:
sizeX
Встановити розмір горизонтального радіуса. Діапазон становить ,
[1, 1024]
а значення за умовчанням —1
.planes
Встановіть, які площини фільтрувати. Значення за замовчуванням —
0xf
, за яким обробляються всі площини.sizeY
Встановити розмір вертикального радіуса. Діапазон становить ,
[1, 1024]
а значення за умовчанням —0
. Якщо нуль,sizeX
буде використано значення.
12.1.1 Example
- Застосуйте фільтр середнього розмиття з горизонтальним і вертикальним розміром 3, встановлюючи для кожного пікселя результату середнє значення області 7x7 з центром на вхідних даних. Для пікселів на краях зображення область не виходить за межі зображення, тому координати поза межами діапазону не використовуються в обчисленнях.
-i INPUT -vf "hwupload, avgblur_opencl=3, hwdownload" OUTPUT
12.2 boxblur_opencl
Застосуйте алгоритм boxblur до вхідного відео.
Він приймає такі параметри:
luma_radius, lr
luma_power, lp
chroma_radius, cr
chroma_power, cp
alpha_radius, ar
alpha_power, ap
Нижче наведено опис прийнятих варіантів.
luma_radius, lr
chroma_radius, cr
alpha_radius, ar
Встановіть вираз для радіуса рамки в пікселях, який використовується для розмивання відповідної вхідної площини.
Значення радіуса має бути невід’ємним числом і не повинно перевищувати значення виразу
min(w,h)/2
для площин яскравості та альфа, а такожmin(cw,ch)/2
для площин кольоровості.Значення за умовчанням для
luma_radius
це "2". Якщо не зазначено,chroma_radius
іalpha_radius
за замовчуванням встановлено відповідне значенняluma_radius
.Вирази можуть містити такі константи:
w
h
Ширина та висота введення в пікселях.
cw
ch
Ширина та висота вхідного кольорового зображення в пікселях.
hsub
vsub
Значення підвибірки кольоровості по горизонталі та вертикалі. Наприклад, для піксельного формату "yuv422p"
hsub
дорівнює 2 іvsub
дорівнює 1.
luma_power, lp
chroma_power, cp
alpha_power, ap
Укажіть, скільки разів фільтр boxblur застосовується до відповідної площини.
Значення за умовчанням для
luma_power
дорівнює 2. Якщо не вказано,chroma_power
іalpha_power
за замовчуванням встановлено відповідне значенняluma_power
.Значення 0 вимкне ефект.
12.2.1 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.
Фільтр приймає такі параметри:
0m
1m
2m
3m
Задайте матрицю для кожної площини. Матриця - це послідовність із 9, 25 або 49 чисел зі знаком. Значення за замовчуванням для кожної площини
0 0 0 0 1 0 0 0 0
.0rdiv
1rdiv
2rdiv
3rdiv
Встановіть множник для розрахункового значення для кожної площини. Якщо не встановлено або 0, це буде сума всіх елементів матриці. Значення параметра має бути числом з плаваючою речовиною, більшим або рівним
0.0
. Значення за замовчуванням:1.0
.0bias
1bias
2bias
3bias
Встановіть ухил для кожної площини. Це значення додається до результату множення. Корисно, щоб зробити загальне зображення яскравішим або темнішим. Значення параметра має бути числом з плаваючою речовиною, більшим або рівним
0.0
. Значення за замовчуванням:0.0
.
12.4.1 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) мінімумом.
Він приймає такі варіанти:
threshold0
threshold1
threshold2
threshold3
Обмежте максимальну зміну для кожної площини. Діапазон становить ,
[0, 65535]
а значення за умовчанням —65535
. Якщо0
, площина залишиться без змін.coordinates
Прапорець, який визначає піксель, на який потрібно посилатися. Діапазон становить ,
[0, 255]
а значення за замовчуванням —255
, тобто використовуються всі вісім пікселів.Прапори до локальної області координат 3x3 з центром
x
:1 2 3
4 х 5
6 7 8
12.5.1 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) максимумом.
Він приймає такі варіанти:
threshold0
threshold1
threshold2
threshold3
Обмежте максимальну зміну для кожної площини. Діапазон становить ,
[0, 65535]
а значення за умовчанням —65535
. Якщо0
, площина залишиться без змін.coordinates
Прапорець, який визначає піксель, на який потрібно посилатися. Діапазон становить ,
[0, 255]
а значення за замовчуванням —255
, тобто використовуються всі вісім пікселів.Прапори до локальної області координат 3x3 з центром
x
:1 2 3
4 х 5
6 7 8
12.7.1 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, w
height, h
Укажіть вираз для розміру вихідного зображення з доданими відступами. Якщо значення
width
абоheight
дорівнює 0, для виведення використовується відповідний вхідний розмір.Вираз
width
може посилатися на значення, встановленеheight
виразом, і навпаки.Значення за замовчуванням
width
іheight
дорівнює 0.x
y
Укажіть зміщення для розміщення вхідного зображення в межах доповненої області відносно верхньої/лівої межі вихідного зображення.
Вираз
x
може посилатися на значення, встановленеy
виразом, і навпаки.Значення за замовчуванням
x
іy
дорівнює 0.Якщо
x
абоy
оцінюється як від’ємне число, вони будуть змінені таким чином, щоб вхідне зображення було центровано на доповненій області.color
Укажіть колір виділеної області. Щоб дізнатися про синтаксис цього параметра, перевірте розділ (ffmpeg-utils)"Колір" у посібнику ffmpeg-utils .
aspect
Перейдіть до аспекту замість роздільної здатності.
Значення параметрів width
, height
, x
і y
є виразами, що містять такі константи:
in_w
in_h
Ширина та висота вхідного відео.
iw
ih
Це те саме, що
in_w
іin_h
.out_w
out_h
Ширина та висота виводу (розмір доповненої області), визначені виразами
width
and .height
ow
oh
Це те саме, що
out_w
іout_h
.x
y
Зміщення x і y, як визначено виразами
x
andy
, або NAN, якщо ще не вказано.a
те саме, що
iw
/ih
sar
формат вхідного зразка
dar
формат вхідного дисплея, такий самий, як (
iw
/ih
) *sar
12.11 prewitt_opencl
Застосуйте оператор Prewitt ( https://en.wikipedia.org/wiki/Prewitt_operator ) для введення відеопотоку.
Фільтр приймає такі параметри:
planes
Встановіть, які площини фільтрувати. Значення за замовчуванням —
0xf
, за яким обробляються всі площини.scale
Встановіть значення, яке буде помножено на відфільтрований результат. Діапазон становить ,
[0.0, 65535]
а значення за умовчанням —1.0
.delta
Встановіть значення, яке буде додано до відфільтрованого результату. Діапазон становить ,
[-65535, 65535]
а значення за умовчанням —0.0
.
12.11.1 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
Вкажіть вихідний формат пікселів.
Наразі підтримуються такі формати:
p010
nv12
range, r
Установіть вихідний колірний діапазон.
Можливі значення:
tv/mpeg
pc/jpeg
За замовчуванням таке ж, як і введення.
primaries, p
Встановіть основні кольори виводу.
Можливі значення:
bt709
bt2020
За замовчуванням таке ж, як і введення.
transfer, t
Встановіть вихідні характеристики передачі.
Можливі значення:
bt709
bt2020
Типовим є bt709.
matrix, m
Встановіть вихідну матрицю простору кольорів.
Можливі значення:
bt709
bt2020
За замовчуванням таке ж, як і введення.
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
Виберіть спеціальний ефект переходу, фактичний опис переходу буде вибрано з параметрів джерела та ядра.
fade
wipeleft
wiperight
wipeup
wipedown
slideleft
slideright
slideup
slidedown
-
Перехід за замовчуванням — згасання.
source
Вихідний файл програми OpenCL для спеціального переходу.
kernel
Встановіть ім'я ядра, яке буде використовуватися для власного переходу з вихідного файлу програми.
duration
Встановити тривалість переходу відео.
offset
Встановіть час початку переходу відносно першого відео.
Вихідний файл програми повинен містити функцію ядра з заданим іменем, яка запускатиметься один раз для кожної площини виводу. Кожен запуск на площині ставиться в чергу як окремий 2D глобальний NDRange з одним робочим елементом для кожного пікселя, який буде згенерований. Таким чином, глобальне зміщення ідентифікатора для кожного робочого елемента є координатами пікселя в цільовому зображенні.
Функція ядра повинна приймати такі аргументи:
- Зображення призначення,
__write_only image2d_t
.Це зображення стане вихідним; ядро має записати все це.
- Перше вихідне зображення,
__read_only image2d_t
. Друге вихідне зображення,__read_only image2d_t
.Це найновіші зображення для кожного входу. Ядро може читати з них для генерування виводу, але в них не можна записувати.
- Прогрес переходу,
float
. Це значення завжди між 0 і 1 включно.
Приклади програм:
- Застосувати ефект переходу шторки з точками:
__kernel void blend_images(__write_only image2d_t dst, __read_only image2d_t src1, __read_only image2d_t src2, поплавковий прогрес) { const sampler_t 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
Вкажіть вихідний формат пікселів.
Наразі підтримуються такі формати:
p010
nv12
Типовим є 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=true
size, s
Укажіть розмір отриманого відео. Щоб дізнатися про синтаксис цього параметра, перевірте розділ (ffmpeg-utils) «Розмір відео» в посібнику ffmpeg-utils . Значення за замовчуванням —
320x240
.rate, r
Укажіть частоту кадрів отриманого відео як кількість кадрів, згенерованих за секунду. Це має бути рядок у форматі
frame_rate_num
/frame_rate_den
, ціле число, число з плаваючою комою або дійсна абревіатура частоти кадрів відео. Значення за замовчуванням — «25».sar
Установіть зразкове співвідношення сторін отриманого відео.
duration, d
Встановіть тривалість вихідного відео. Перегляньте (ffmpeg-utils) розділ «Тривалість часу» в посібнику ffmpeg-utils(1) , щоб дізнатися про прийнятний синтаксис.
Якщо не вказано або вказана тривалість є від’ємною, відео має генеруватися назавжди.
Крім того, приймаються всі параметри відеофільтру coreimage . Повний ланцюжок фільтрів можна використовувати для подальшої обробки згенерованих вхідних даних без передачі CPU-HOST. Додаткову інформацію дивіться в документації та прикладах coreimage .
14.3.1 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_luma
dc_chroma
freq_luma
freq_chroma
amp_luma
amp_chroma
cbp
mv
ring1
ring2
all
max_frames, m
Встановіть максимальну кількість кадрів, згенерованих для кожного тесту, значення за замовчуванням становить 30.
Значення за замовчуванням — «усі», яке буде циклічно переглядати список усіх тестів.
Деякі приклади:
mptestsrc=t=dc_luma
створить тестовий шаблон "dc_luma".
14.7 frei0r_src
Надайте вільне джерело.
Щоб увімкнути компіляцію цього фільтра, вам потрібно встановити заголовок frei0r і налаштувати FFmpeg за допомогою --enable-frei0r
.
Це джерело приймає такі параметри:
size
Розмір відео для створення. Щоб дізнатися про синтаксис цього параметра, перевірте розділ (ffmpeg-utils) «Розмір відео» в посібнику ffmpeg-utils .
framerate
Частота кадрів створеного відео. Це може бути рядок у формі
num
/den
або абревіатура частоти кадрів.filter_name
Ім’я джерела frei0r для завантаження. Для отримання додаткової інформації про frei0r і про те, як налаштувати параметри, прочитайте розділ frei0r у документації відеофільтрів.
filter_params
Розділений '|' список параметрів для передачі до джерела frei0r.
Наприклад, щоб створити джерело frei0r partik0l розміром 200x200 і частотою кадрів 10, яке накладається на головний вхід фільтра накладання:
frei0r_src=size=200x200:framerate=10:filter_name=partik0l:filter_params=1234 [overlay]; [in][overlay] overlay
14.8 life
Створіть модель життя.
Це джерело засноване на узагальненні життєвої гри Джона Конвея.
Отриманий вхід представляє сітку життя, кожен піксель представляє клітинку, яка може перебувати в одному з двох можливих станів: жива або мертва. Кожна клітина взаємодіє зі своїми вісьмома сусідами, які є клітинами, розташованими по горизонталі, вертикалі або діагоналі.
При кожній взаємодії сітка розвивається відповідно до прийнятого правила, яке визначає кількість сусідніх живих клітин, завдяки яким клітина залишиться живою або народиться. 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
і .haldclutsrc
rate, r
Укажіть частоту кадрів отриманого відео як кількість кадрів, згенерованих за секунду. Це має бути рядок у форматі
frame_rate_num
/frame_rate_den
, ціле число, число з плаваючою комою або дійсна абревіатура частоти кадрів відео. Значення за замовчуванням — «25».duration, d
Встановіть тривалість вихідного відео. Перегляньте (ffmpeg-utils) розділ «Тривалість часу» в посібнику ffmpeg-utils(1) , щоб дізнатися про прийнятний синтаксис.
Якщо не вказано або вказана тривалість є від’ємною, відео має генеруватися назавжди.
Оскільки частота кадрів використовується як часова основа, усі кадри, включаючи останній, матимуть повну тривалість. Якщо вказана тривалість не кратна тривалості кадру, її буде округлено в більшу сторону.
sar
Установіть зразкове співвідношення сторін отриманого відео.
alpha
Укажіть альфа (непрозорість) фону, доступну лише в
testsrc2
джерелі. Значення має бути від 0 (повністю прозорий) до 255 (повністю непрозорий, за умовчанням).decimals, n
Встановіть кількість десяткових знаків, які відображатимуться в мітці часу, доступно лише в
testsrc
джерелі.Відображене значення мітки часу відповідатиме початковому значенню мітки часу, помноженому на ступінь 10 вказаного значення. Значення за замовчуванням 0.
type
Встановіть тип колірного спектру, доступний тільки в
colorspectrum
джерелі. Може бути одним із таких:- '
black
' - '
white
' - '
all
'
- '
patch_size
Встановити розмір плями одного кольору, доступний лише у
colorchart
вихідному коді. Типовим є64x64
.preset
Встановити попередні налаштування кольорів для перевірки кольорів, доступні лише у
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
.rc
gc
bc
Вкажіть червоний, зелений, синій контраст. Значення за замовчуванням
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
.rc
gc
bc
ac
Вкажіть червоний, зелений, синій і альфа-контраст. Значення за замовчуванням
40
:160
,80
і255
. Дозволений діапазон становить[0, 255]
.rf
gf
bf
af
Укажіть червоний, зелений, синій і альфа-фейд. Значення за замовчуванням
15
:10
,5
і5
. Дозволений діапазон становить[0, 255]
.zoom
Встановіть коефіцієнт масштабування. Значення за замовчуванням:
1
. Дозволений діапазон становить[0, 10]
. Значення, нижчі за1
, автоматично регулюють коефіцієнт масштабування до максимально можливого значення.draw
Встановити режим малювання вектороскопа.
Доступні значення:
- '
dot
' Намалюйте крапку для кожного зразка.
- '
line
' Проведіть лінію між попереднім і поточним зразком.
Значення за замовчуванням: '
dot
'.- '
scale
Вкажіть шкалу амплітуд звукових зразків.
Доступні значення:
- '
lin
' Лінійний.
- '
sqrt
' Квадратний корінь.
- '
cbrt
' Кубічний корінь.
- '
log
' Логарифмічний.
- '
swap
Поміняти місцями вісь лівого каналу на вісь правого каналу.
mirror
Дзеркальна вісь.
- '
none
' Без дзеркала.
- '
x
' Дзеркало лише по осі х.
- '
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
і ). Часові мітки виражені в секундах.max
min
- '
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
аудіовиходи.
Є n
x( 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
і .add
function
Яку функцію використовувати під час порівняння значення метаданих і
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
База часу вхідних позначок часу.
pts
PTS (TimeStamp презентації) відфільтрованого кадру, виражений в
TB
одиницях. Це NAN, якщо не визначено.t
PTS відфільтрованого кадру, виражений у секундах. Це NAN, якщо не визначено.
prev_pts
PTS попередньо відфільтрованого кадру. Це NAN, якщо не визначено.
prev_selected_pts
PTS останнього попередньо відфільтрованого кадру. Це NAN, якщо не визначено.
prev_selected_t
PTS останнього раніше вибраного кадру, виражений у секундах. Це NAN, якщо не визначено.
start_pts
Перший PTS у потоці, який не є NAN. Якщо не знайдено, він залишається NAN.
start_t
Перший PTS, у секундах, у потоці, який не є NAN. Якщо не знайдено, він залишається NAN.
pict_type (video only)
Тип відфільтрованого кадру. Він може приймати одне з таких значень:
I
P
B
S
SI
SP
BI
interlace_type (video only)
Тип кадрового переплетення. Він може приймати одне з таких значень:
PROGRESSIVE
Кадр прогресивний (не чересстрочний).
TOPFIRST
Рамка верхнє поле спочатку.
BOTTOMFIRST
Рамка розташована нижнім полем.
consumed_sample_n (audio only)
кількість вибраних вибірок перед поточним кадром
samples_n (audio only)
кількість вибірок у поточному кадрі
sample_rate (audio only)
вхідна частота дискретизації
key
Це 1, якщо відфільтрований кадр є ключовим кадром, 0 в іншому випадку.
pos
позиція відфільтрованого кадру у файлі, -1, якщо інформація недоступна (наприклад, для синтетичного відео)
scene (video only)
значення від 0 до 1 для позначення нової сцени; низьке значення відображає низьку ймовірність того, що поточний кадр представить нову сцену, тоді як вище значення означає, що поточний кадр, швидше за все, буде таким (див. приклад нижче)
concatdec_select
Демультифікатор concat може вибрати лише частину вхідного файлу concat, встановивши вхідну та вихідну точки, але вихідні пакети можуть не повністю міститися у вибраному інтервалі. Використовуючи цю змінну, можна пропускати кадри, згенеровані демультиплексором concat, які точно не містяться у вибраному інтервалі.
Це працює шляхом порівняння точок кадру зі
lavf.concat.start_time
значеннямиlavf.concat.duration
метаданих пакетів, які також присутні в декодованих кадрах.Змінна
concatdec_select
дорівнює -1, якщо кількість точок кадру дорівнює принаймні start_time, а метадані тривалості відсутні, або точка кадру менша за start_time + тривалість, інакше 0, і NaN, якщо метадані start_time відсутні.По суті, це означає, що вхідний кадр вибрано, якщо його точки знаходяться в межах інтервалу, встановленого демультиплексором concat.
Значення за замовчуванням виразу вибору — «1».
16.16.1 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
Частота дискретизації звуку.
STARTPTS
PTS першого кадру.
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
використовуйте параметр.axisfile
font
Вкажіть шаблон fontconfig. Це має нижчий пріоритет, ніж
fontfile
. У:
шаблоні можна замінити на ,|
щоб уникнути непотрібного екранування.fontcolor
Вкажіть вираз кольору шрифту. Це арифметичний вираз, який має повертати ціле значення 0xRRGGBB. Він може містити змінні:
frequency, freq, f
частота, де вона оцінюється
timeclamp, tc
значення
timeclamp
опціону
і функції:
midi(f)
міді номер частоти f, деякі міді номери: E0(16), C1(24), C2(36), A4(69)
r(x), g(x), b(x)
червоне, зелене та синє значення інтенсивності x.
Значення за замовчуванням:
st(0, (midi(f)-59.5)/12); st(1, if(between(ld(0),0,1), 0.5-0.5*cos(2*PI*ld(0)), 0)); r(1-ld(1)) + b(ld(1))
.axisfile
Вкажіть файл зображення для малювання осі. Ця опція замінює опцію
fontfile
.fontcolor
axis, text
Увімкнути/вимкнути малювання тексту до осі. Якщо встановлено значення
0
, малювання до осі вимкнено, ігноруючи опціюfontfile
та .axisfile
Значення за замовчуванням:1
.csp
Встановити колірний простір. Допустимі значення:
- '
unspecified
' Не визначено (за замовчуванням)
- '
bt709
' 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.
За замовчуванням
2048
win_func
Встановити функцію вікон.
Він приймає такі значення:
- '
rect
' - '
bartlett
' - '
hanning
' - '
hamming
' - '
blackman
' - '
welch
' - '
flattop
' - '
bharris
' - '
bnuttall
' - '
bhann
' - '
sine
' - '
nuttall
' - '
lanczos
' - '
gauss
' - '
tukey
' - '
dolph
' - '
cauchy
' - '
parzen
' - '
poisson
' - '
bohman
'
Типовим є
hanning
.- '
overlap
Встановити перекриття вікон. В діапазоні
[0, 1]
. За замовчуванням встановлено1
, що означає, що буде вибрано оптимальне перекриття для вибраної функції вікна.averaging
Встановити усереднення часу. Якщо встановити значення 0, відображатимуться поточні максимальні піки. За замовчуванням встановлено
1
, що означає, що усереднення часу вимкнено.colors
Укажіть список кольорів, розділених пробілом або символом '|' який використовуватиметься для малювання частот каналу. Нерозпізнані або відсутні кольори будуть замінені білим кольором.
cmode
Встановити режим відображення каналу.
Він приймає такі значення:
- '
combined
' - '
separate
'
Типовим є
combined
.- '
minamp
Встановіть мінімальну амплітуду, яка використовується в
log
масштабувальнику амплітуди.data
Встановити режим відображення даних.
Він приймає такі значення:
- '
magnitude
' - '
phase
' - '
delay
'
Типовим є
magnitude
.- '
channels
Встановіть канали для обробки звуку. За замовчуванням усі обробляються.
16.23 showspatial
Перетворюйте вхідний стереофонічний аудіосигнал на вихідний відеосигнал, що відображає просторове співвідношення між двома каналами.
Фільтр приймає такі параметри:
size, s
Укажіть розмір відео для виведення. Щоб дізнатися про синтаксис цього параметра, перевірте розділ (ffmpeg-utils) «Розмір відео» в посібнику ffmpeg-utils . Значення за замовчуванням:
512x512
.win_size
Встановити розмір вікна. Дозволений діапазон від
1024
до65536
. Типовий розмір:4096
.win_func
Встановити функцію вікна.
Він приймає такі значення:
- '
rect
' - '
bartlett
' - '
hann
' - '
hanning
' - '
hamming
' - '
blackman
' - '
welch
' - '
flattop
' - '
bharris
' - '
bnuttall
' - '
bhann
' - '
sine
' - '
nuttall
' - '
lanczos
' - '
gauss
' - '
tukey
' - '
dolph
' - '
cauchy
' - '
parzen
' - '
poisson
' - '
bohman
'
Значення за замовчуванням:
hann
.- '
overlap
Встановити коефіцієнт перекриття вікна. Значення за замовчуванням:
0.5
. Коли значення1
перекривається, встановлено рекомендований розмір для конкретної функції вікна, яка зараз використовується.
16.24 showspectrum
Перетворення вхідного аудіо на вихідне відео, що представляє частотний спектр звуку.
Фільтр приймає такі параметри:
size, s
Укажіть розмір відео для виведення. Щоб дізнатися про синтаксис цього параметра, перевірте розділ (ffmpeg-utils) «Розмір відео» в посібнику ffmpeg-utils . Значення за замовчуванням:
640x512
.slide
Вкажіть, як спектр має ковзати по вікну.
Він приймає такі значення:
- '
replace
' зразки починаються знову зліва, коли досягають правого
- '
scroll
' зразки прокручуються справа наліво
- '
fullframe
' кадри створюються лише тоді, коли зразки досягають потрібного
- '
rscroll
' зразки прокручуються зліва направо
- '
lreplace
' зразки починаються знову справа, коли досягають лівого
Значення за замовчуванням:
replace
.- '
mode
Вкажіть режим відображення.
Він приймає такі значення:
- '
combined
' усі канали відображаються в одному рядку
- '
separate
' всі канали відображаються в окремих рядках
Значення за замовчуванням: '
combined
'.- '
color
Вкажіть колірний режим дисплея.
Він приймає такі значення:
- '
channel
' кожен канал відображається окремим кольором
- '
intensity
' кожен канал відображається з використанням однієї колірної схеми
- '
rainbow
' кожен канал відображається за схемою кольорів веселки
- '
moreland
' кожен канал відображається за допомогою колірної схеми 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
або . Типовим є .fullframe
rscroll
fullframe
win_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