EnglezăFrancezăSpaniolă

Ad


Favicon OnWorks

ffserver-all - Online în cloud

Rulați ffserver-all în furnizorul de găzduire gratuit OnWorks prin Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

Aceasta este comanda ffserver-all care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

PROGRAM:

NUME


ffserver - server video ffserver

REZUMAT


ffserver [Opțiuni]

DESCRIERE


ffserver este un server de streaming atât pentru audio cât și pentru video. Acceptă mai multe fluxuri live,
streaming din fișiere și schimbarea timpului pe fluxurile live. Puteți căuta poziții în
trecut pe fiecare flux live, cu condiția să specificați un spațiu de stocare suficient de mare pentru feed.

ffserver este configurat printr-un fișier de configurare, care este citit la pornire. Dacă nu
specificat în mod explicit, se va citi din /etc/ffserver.conf.

ffserver primește fișiere preînregistrate sau fluxuri FFM de la unii FFMPEG exemplu ca intrare,
apoi le transmite prin RTP/RTSP/HTTP.

An ffserver instanța va asculta pe un port așa cum este specificat în fișierul de configurare. Tu
poate lansa una sau mai multe instanțe ale FFMPEG și trimite unul sau mai multe fluxuri FFM către port
unde ffserver se așteaptă să le primească. Alternativ, puteți face ffserver lansa
astfel de FFMPEG instanțe la pornire.

Fluxurile de intrare sunt numite fluxuri și fiecare este specificat de un „ " secțiunea din
Fișier de configurare.

Pentru fiecare flux puteți avea fluxuri de ieșire diferite în diferite formate, fiecare specificat
de un " " secțiunea din fișierul de configurare.

DETALIAT DESCRIERE


ffserver funcționează prin redirecționarea fluxurilor codificate de FFMPEG, sau fluxuri preînregistrate care sunt
citit de pe disc.

Exact, ffserver acționează ca un server HTTP, acceptând cereri POST de la FFMPEG a dobândi
fluxul de publicat și care deservesc clienții RTSP sau clienții HTTP cererile GET cu
transmite conținut media.

Un feed este un FFM flux creat de FFMPEG, și trimis într-un port unde ffserver ascultă.

Fiecare feed este identificat printr-un nume unic, corespunzător numelui resursei
publicat pe ffserver, și este configurat de o secțiune dedicată „Feed” din
Fișier de configurare.

Adresa URL de publicare a feedului este dată de:

http://<ffserver_ip_address>:<http_port>/<feed_name>

Unde ffserver_ip_address este adresa IP a mașinii unde ffserver este instalat,
http_port este numărul portului serverului HTTP (configurat prin HTTPPort opțiune),
și feed_name este numele fluxului corespunzător definit în fișierul de configurare.

Fiecare flux este asociat unui fișier care este stocat pe disc. Acest fișier stocat este folosit pentru
trimiteți date preînregistrate unui jucător cât mai repede posibil atunci când se adaugă conținut nou în mod real.
timp până la pârâu.

Un „stream live” sau „stream” este o resursă publicată de ffserverși făcute accesibile
prin protocolul HTTP către clienți.

Un flux poate fi conectat la un flux sau la un fișier. În primul caz, fluxul publicat
este redirecționat din feedul corespunzător generat de o instanță care rulează FFMPEG, În
al doilea caz, fluxul este citit dintr-un fișier pre-înregistrat.

Fiecare flux este identificat printr-un nume unic, corespunzător denumirii resursei
servit de ffserver, și este configurat de o secțiune dedicată „Stream” în configurare
fișier.

URL-ul HTTP de acces la flux este dat de:

http://<ffserver_ip_address>:<http_port>/<stream_name>[<options>]

URL-ul RTSP de acces la flux este dat de:

http://<ffserver_ip_address>:<rtsp_port>/<stream_name>[<options>]

stream_name este numele fluxului corespunzător definit în fișierul de configurare.
Opțiuni este o listă de opțiuni specificate după adresa URL care afectează modul în care este fluxul
servit de ffserver. http_port și rtsp_port sunt porturile HTTP și RTSP configurate cu
opțiunile HTTPPort și RTSPPort respectiv.

În cazul în care fluxul este asociat unui flux, parametrii de codificare trebuie configurați în
configurația fluxului. Sunt trimiși la FFMPEG la configurarea codificării. Acest
permite ffserver pentru a defini parametrii de codificare utilizați de FFMPEG codificatoare.

FFMPEG override_ffserver opțiunea de linie de comandă permite cuiva să suprascrie codificarea
parametrii stabiliți de server.

Mai multe fluxuri pot fi conectate la același flux.

De exemplu, puteți avea o situație descrisă de următorul grafic:

_________ __________
| | | |
ffmpeg 1 -----| furaj 1 |-----| fluxul 1 |
\ |_________|\ |__________|
\ \
\ \ __________
\ \ | |
\ \| fluxul 2 |
\ |__________|
\
\ _________ __________
\ | | | |
\| furaj 2 |-----| fluxul 3 |
|_________| |__________|

_________ __________
| | | |
ffmpeg 2 -----| furaj 3 |-----| fluxul 4 |
|_________| |__________|

_________ __________
| | | |
| dosar 1 |-----| fluxul 5 |
|_________| |__________|

FFM, FFM2 Formate
FFM și FFM2 sunt formate utilizate de ffserver. Acestea permit stocarea unei game largi de videoclipuri și
fluxuri audio și opțiuni de codificare și poate stoca un segment de timp în mișcare de un infinit
film sau un film întreg.

FFM este specific versiunii și există o compatibilitate limitată a fișierelor FFM generate de unul
versiunea ffmpeg/ffserver și o altă versiune a ffmpeg/ffserver. Poate funcționa, dar este
nu este garantat să funcționeze.

FFM2 este extensibil, păstrând compatibilitatea și ar trebui să funcționeze între diferite
versiuni de instrumente. FFM2 este implicit.

Stare curent
ffserver acceptă o interfață HTTP care expune starea curentă a serverului.

Pur și simplu direcționați browserul către adresa fluxului de stare specială specificată în
Fișier de configurare.

De exemplu, dacă aveți:


Starea formatului

# Permiteți doar localnicilor să obțină statutul
ACL permite localhost
ACL permite 192.168.0.0 192.168.255.255


atunci serverul va posta o pagină cu informațiile de stare atunci când fluxul special
status.html este solicitat.

Cum do I face it funcționează?
Ca un test simplu, rulați următoarele două linii de comandă în care INPUTFILE este un fișier
pe care îl puteți decoda cu ffmpeg:

ffserver -f doc/ffserver.conf &
ffmpeg -i INPUTFILE http://localhost:8090/feed1.ffm

În acest moment, ar trebui să puteți accesa computerul Windows și să porniți Windows Media
Player (WMP). Accesați Deschideți URL și introduceți

http://<linuxbox>:8090/test.asf

Ar trebui (după o scurtă întârziere) să vedeți video și să auzi audio.

AVERTISMENT: încercarea de a transmite în flux test1.mpg nu funcționează cu WMP, deoarece încearcă să transfere
întregul fișier înainte de a începe redarea. Același lucru este valabil și pentru fișierele AVI.

Ar trebui să editați ffserver.conf fișier pentru a se potrivi nevoilor dvs. (în ceea ce privește ratele de cadre etc.).
Apoi instalați ffserver și FFMPEG, scrieți un script pentru a le porni și porniți.

Ce altfel poate să it do?
Puteți reda videoclipuri din fișierele .ffm care au fost înregistrate anterior. Cu toate acestea, există o
număr de avertismente, inclusiv faptul că parametrii ffserver trebuie să se potrivească cu originalul
parametrii utilizați pentru înregistrarea fișierului. Dacă nu o fac, atunci ffserver șterge fișierul înainte
înregistrarea în ea. (Acum că scriu asta, pare rupt).

Vă puteți juca cu multe dintre opțiunile de codec și parametrii de codificare și există a
mai mulți parametri pe care nu îi puteți controla. Postați un mesaj pe lista de corespondență, dacă există
sunt niște parametri „must have”. Căutați în ffserver.conf o listă a celor curente
comenzile disponibile.

Va genera automat fișierele ASX sau RAM care sunt adesea folosite în browsere. Aceste
fișierele sunt de fapt redirecționări către fișierul ASF sau RM de bază. Motivul pentru aceasta este
că browserul preia adesea întregul fișier înainte de a porni vizualizatorul extern. The
fișierele de redirecționare sunt foarte mici și pot fi transferate rapid. [ Fluxul în sine este
adesea „infinit” și astfel browserul încearcă să îl descarce și nu termină niciodată.]

sfaturi
* Când vă conectați la un flux live, majoritatea jucătorilor (WMP, RA etc.) doresc să păstreze un anumit tampon
numărul de secunde de material astfel încât să poată afișa semnalul continuu. In orice caz,
ffserver (în mod implicit) începe să trimită date în timp real. Aceasta înseamnă că există o pauză de
câteva secunde în timp ce tamponarea este efectuată de jucător. Vestea bună este că asta
poate fi vindecat prin adăugarea unui „?buffer=5” la sfârșitul adresei URL. Aceasta înseamnă că fluxul
ar trebui să înceapă cu 5 secunde în trecut -- și astfel primele 5 secunde ale fluxului sunt trimise ca
rapid pe cât permite rețeaua. Apoi va încetini până la timp real. Acest lucru evident
îmbunătățește experiența de pornire.

De asemenea, puteți adăuga o instrucțiune „Preroll 15” în ffserver.conf care va adăuga 15
al doilea prebuffering pentru toate cererile care nu specifică altfel o oră. În plus,
ffserver va sări peste cadre până când este găsit un key_frame. Acest lucru reduce și mai mult pornirea
întârziere prin netransferarea datelor care vor fi aruncate.

De ce face il ?tampon / Preroll opri de lucru după a timp?
Se pare că (cel puțin pe mașina mea) numărul de cadre capturate cu succes este
marginal mai mic decât numărul care ar trebui luat. Aceasta înseamnă că marcajul de timp în
fluxul de date codificat ajunge în urmă în timp real. Aceasta înseamnă că, dacă spui „Preroll 10”,
apoi, când fluxul se întâlnește cu 10 sau mai multe secunde, nu mai rămâne niciun Preroll.

Remedierea acestui lucru necesită o modificare a elementelor interne a modului în care sunt gestionate marcajele de timp.

Face il "?data=" chestii muncă.
Da (sub rezerva limitării prezentate mai sus). De asemenea, rețineți că ori de câte ori începeți
ffserver, șterge fișierul ffm (dacă s-au schimbat parametri), ștergând astfel ceea ce
ai înregistrat înainte.

Formatul „?date=x” este destul de flexibil. Ar trebui să utilizați unul dintre următoarele
formate („T” este literal):

* AAAA-LL-ZZA:LL:SS (ora locală)
* YYYY-LL-ZZTHH:MM:SSZ (UTC)

Puteți omite AAAA-LL-ZZ și apoi se referă la ziua curentă. Cu toate acestea, rețineți că
?date=16:00:00 se referă la ora 16:00 în ziua curentă -- poate fi în viitor și așa este
puțin probabil să fie util.

Utilizați acest lucru adăugând ?data= la sfârșitul adresei URL pentru flux. De exemplu:
http://localhost:8080/test.asf?date=2002-07-26T23:05:00.

OPŢIUNI


Toate opțiunile numerice, dacă nu sunt specificate altfel, acceptă un șir reprezentând a
număr ca intrare, care poate fi urmat de unul dintre prefixele unității SI, de exemplu: „K”,
„M” sau „G”.

Dacă „i” este adăugat la prefixul unității SI, prefixul complet va fi interpretat ca a
prefix de unitate pentru multipli binari, care se bazează pe puterile lui 1024 în loc de puterile lui
1000. Adăugarea „B” la prefixul unității SI înmulțește valoarea cu 8. Acest lucru permite utilizarea,
de exemplu: „KB”, „MiB”, „G” și „B” ca sufixe numerice.

Opțiunile care nu iau argumente sunt opțiuni booleene și setează valoarea corespunzătoare
la adevărat. Ele pot fi setate la false prefixând numele opțiunii cu „nu”. De exemplu
folosirea „-nofoo” va seta opțiunea booleană cu numele „foo” la false.

Pârâu proiectanti
Unele opțiuni sunt aplicate pe flux, de exemplu bitrate sau codec. Specificatorii de flux sunt obișnuiți
specificați cu precizie cărei fluxuri îi aparține o anumită opțiune.

Un specificator de flux este un șir în general atașat la numele opțiunii și separat de acesta
de un colon. De exemplu, „-codec:a:1 ac3” conține specificatorul de flux „a:1”, care se potrivește cu
al doilea flux audio. Prin urmare, ar selecta codecul ac3 pentru al doilea flux audio.

Un specificator de flux poate potrivi mai multe fluxuri, astfel încât opțiunea să fie aplicată tuturor
lor. De exemplu, specificatorul de flux din „-b:a 128k” se potrivește cu toate fluxurile audio.

Un specificator de flux gol se potrivește cu toate fluxurile. De exemplu, „-codec copy” sau „-codec:
copy" ar copia toate fluxurile fără recodificare.

Formele posibile de specificatori de flux sunt:

index_flux
Potrivește fluxul cu acest index. De exemplu, „-threads:1 4” ar seta numărul de fire pentru
al doilea flux la 4.

stream_type[:index_flux]
stream_type este unul dintre următoarele: „v” sau „V” pentru video, „a” pentru audio, „s” pentru
subtitrare, „d” pentru date și „t” pentru atașamente. „v” se potrivește cu toate fluxurile video, „V”
se potrivește numai cu fluxurile video care nu sunt imagini atașate, miniaturi video sau coperta
artele. Dacă index_flux este dat, apoi se potrivește cu numărul fluxului index_flux din prezenta
tip. În caz contrar, se potrivește cu toate fluxurile de acest tip.

p:program_id[:index_flux]
If index_flux este dat, apoi se potrivește fluxul cu numărul index_flux în
program cu id program_id. În caz contrar, se potrivește cu toate fluxurile din program.

#stream_id or i:stream_id
Potriviți fluxul după id-ul fluxului (de exemplu, PID în containerul MPEG-TS).

m:cheie[:valoare]
Potrivește fluxurile cu eticheta de metadate cheie având valoarea specificată. Dacă valoare nu este
dat, potrivește fluxurile care conțin eticheta dată cu orice valoare.

u Potrivește fluxurile cu configurația utilizabilă, codecul trebuie definit și esențial
trebuie să fie prezente informații precum dimensiunea video sau rata de eșantionare audio.

Rețineți că în FFMPEG, potrivirea prin metadate va funcționa corect numai pentru fișierele de intrare.

General Opțiuni
Aceste opțiuni sunt partajate între instrumentele ff*.

-L Arată licența.

-h, -?, -Ajutor, --Ajutor [arg]
Arată ajutor. Un parametru opțional poate fi specificat pentru a imprima ajutor despre un anumit articol.
Dacă nu este specificat niciun argument, sunt afișate doar opțiunile de bază (neavansate) ale instrumentului.

Valori posibile ale arg sunt:

lung
Imprimați opțiunile avansate ale instrumentului pe lângă opțiunile de bază ale instrumentului.

Complet
Imprimați lista completă de opțiuni, inclusiv opțiuni partajate și private pentru codificatori,
decodoare, demuxere, muxere, filtre etc.

decodor=nume_decodor
Tipăriți informații detaliate despre decodorul numit nume_decodor. Folosește -decodoare
opțiunea de a obține o listă cu toate decodoarele.

codificator=nume_encoder
Tipăriți informații detaliate despre codificatorul numit nume_encoder. Folosește -encodere
opțiunea de a obține o listă cu toate codificatoarele.

demuxer=nume_demuxer
Tipăriți informații detaliate despre demuxer-ul numit nume_demuxer. Folosește -formate
opțiunea de a obține o listă a tuturor demuxerelor și muxerelor.

muxer=muxer_name
Tipăriți informații detaliate despre muxer-ul numit muxer_name. Folosește -formate
opțiunea de a obține o listă cu toate muxerele și demuxerele.

filtru=nume_filtru
Tipăriți informații detaliate despre numele filtrului nume_filtru. Folosește -filtre
opțiunea de a obține o listă cu toate filtrele.

-versiune
Afișează versiunea.

-formate
Afișați formatele disponibile (inclusiv dispozitivele).

-dispozitive
Afișați dispozitivele disponibile.

-codecuri
Afișați toate codecurile cunoscute de libavcodec.

Rețineți că termenul „codec” este folosit în această documentație ca scurtătură pentru
ceea ce se numește mai corect format media bitstream.

-decodoare
Afișați decodoarele disponibile.

-encodere
Afișați toate codificatoarele disponibile.

-bsfs
Afișați filtrele de flux de biți disponibile.

-protocoale
Afișați protocoalele disponibile.

-filtre
Afișați filtrele libavfilter disponibile.

-pix_fmts
Afișați formatele de pixeli disponibile.

-sample_fmts
Afișați formatele de eșantion disponibile.

-amenajari
Afișați numele canalelor și aspectele standard ale canalelor.

-culori
Afișați numele de culori recunoscute.

-surse dispozitiv[,opt1=val1[,opt2=val2]...]
Afișați sursele detectate automat ale dispozitivului de intrare. Unele dispozitive pot oferi sistem-
nume de sursă dependente care nu pot fi detectate automat. Lista returnată nu poate fi
presupus a fi întotdeauna complet.

ffmpeg -sources pulse,server=192.168.0.4

-chiuvete dispozitiv[,opt1=val1[,opt2=val2]...]
Afișați chiuvetele detectate automat ale dispozitivului de ieșire. Unele dispozitive pot oferi sistem-
nume de receptor dependente care nu pot fi detectate automat. Lista returnată nu poate fi presupusă
să fie întotdeauna completă.

ffmpeg -sinks pulse,server=192.168.0.4

-nivel de log [repetă+]nivel de jurnal | -v [repetă+]nivel de jurnal
Setați nivelul de înregistrare utilizat de bibliotecă. Adăugarea „repeat+” indică faptul că se repetă
Ieșirea jurnalului nu ar trebui să fie comprimată pe prima linie și „Ultimul mesaj repetat n
times" va fi omisă. "repeat" poate fi folosit și singur. Dacă se folosește "repeat"
singur și fără un nivel de jurnal anterior setat, se va folosi nivelul de jurnal implicit. Dacă sunt multiple
Parametrii loglevel sunt dați, folosind „repeat” nu se va schimba loglevel. nivel de jurnal
este un șir sau un număr care conține una dintre următoarele valori:

Liniște, -8
Nu arăta nimic; fi tăcut.

panică, 0
Afișați numai erori fatale care ar putea duce la blocarea procesului, cum ar fi și afirmați
eșec. Acest lucru nu este folosit în prezent pentru nimic.

fatal, 8
Afișați numai erori fatale. Acestea sunt erori după care procesul absolut nu poate
continua dupa.

eroare, 16
Afișați toate erorile, inclusiv cele din care pot fi recuperate.

avertizare, 24
Afișați toate avertismentele și erorile. Orice mesaj legat de eventual incorect sau
vor fi afișate evenimente neașteptate.

informații, 32
Afișați mesaje informative în timpul procesării. Aceasta pe lângă avertismente și
erori. Aceasta este valoarea implicită.

verbos, 40
La fel ca „informații”, cu excepția mai multor cuvinte.

depanare, 48
Afișați totul, inclusiv informațiile de depanare.

urmă, 56

În mod implicit, programul se înregistrează în stderr, dacă colorarea este acceptată de terminal,
culorile sunt folosite pentru a marca erorile și avertismentele. Colorarea jurnalului poate fi dezactivată setarea
variabilă de mediu AV_LOG_FORCE_NOCOLOR or NU_CULOARE, sau poate fi forțat setarea
variabilă de mediu AV_LOG_FORCE_COLOR. Utilizarea variabilei de mediu NU_CULOARE
este depreciat și va fi renunțat la următoarea versiune FFmpeg.

-raport
Turnați linia de comandă completă și ieșirea consolei într-un fișier numit
"program-AAAAMMDD-HHMMSS.log" în directorul curent. Acest fișier poate fi util pentru
rapoarte de erori. De asemenea, implică „-loglevel verbose”.

Setarea variabilei de mediu FFREPORT la orice valoare are același efect. Dacă
valoare este o secvență „:”-separată cheie=valoare, aceste opțiuni vor afecta raportul;
valorile opțiunilor trebuie să fie excluse dacă conțin caractere speciale sau opțiuni
delimitator „:” (vezi secțiunea „Citate și evadare” din manualul ffmpeg-utils).

Sunt recunoscute următoarele opțiuni:

fişier
setați numele fișierului de utilizat pentru raport; %p este extins la numele
program, %t este extins la un marcaj temporal, „%%” este extins la un „%” simplu

nivel
setați nivelul de verbozitate a jurnalului folosind o valoare numerică (vezi „-loglevel”).

De exemplu, pentru a scoate un raport într-un fișier numit ffreport.log folosind un nivel de log de 32
(alias pentru nivelul de jurnal „informații”):

FFREPORT=file=ffreport.log:level=32 ffmpeg -i ieșire de intrare

Erorile la analizarea variabilei de mediu nu sunt fatale și nu vor apărea în fișierul
raport.

-hide_banner
Suprimați tipărirea bannerului.

Toate instrumentele FFmpeg vor afișa în mod normal o notificare privind drepturile de autor, opțiuni de compilare și bibliotecă
versiuni. Această opțiune poate fi utilizată pentru a suprima tipărirea acestor informații.

-cpuflags steaguri (global)
Permite setarea și ștergerea steagurilor CPU. Această opțiune este destinată testării. Nu folosi
asta dacă nu știi ce faci.

ffmpeg -cpuflags -sse+mmx ...
ffmpeg -cpuflags mmx ...
ffmpeg -cpuflags 0 ...

Indicatoarele posibile pentru această opțiune sunt:

x86
MMX
mmxext
sse
sse2
sse2lent
sse3
sse3lent
ssse3
atom
sse4.1
sse4.2
avx
avx2
XOP
fma3
fma4
3d acum
3dnowext
bmi1
bmi2
cmov
ARM
armv5te
armv6
armv6t2
vfp
vfpv3
neon
extinde
AAArch64
armv8
vfp
neon
PowerPC
altivec
Specific Procesoare
pentium2
pentium3
pentium4
k6
k62
Athlon
athlonxp
k8
-opencl_bench
Această opțiune este utilizată pentru a compara toate dispozitivele OpenCL disponibile și pentru a imprima rezultatele.
Această opțiune este disponibilă numai când FFmpeg a fost compilat cu „--enable-opencl”.

Când FFmpeg este configurat cu „--enable-opencl”, opțiunile pentru OpenCL global
contextul sunt setate prin -opencl_options. Consultați secțiunea „Opțiuni OpenCL” din ffmpeg-
manualul utils pentru lista completă a opțiunilor acceptate. Printre altele, aceste opțiuni
includ capacitatea de a selecta o anumită platformă și dispozitiv pentru a rula codul OpenCL
pe. Implicit, FFmpeg va rula pe primul dispozitiv al primei platforme. In timp ce
opțiunile pentru contextul global OpenCL oferă utilizatorului flexibilitate în selectarea
Dispozitivul OpenCL la alegerea lor, majoritatea utilizatorilor ar dori probabil să selecteze cel mai rapid
Dispozitiv OpenCL pentru sistemul lor.

Această opțiune ajută la selectarea celei mai eficiente configurații prin identificare
dispozitivul potrivit pentru sistemul utilizatorului. Benchmarkul încorporat este rulat pe toate
Dispozitivele OpenCL și performanța este măsurată pentru fiecare dispozitiv. Dispozitivele din
lista de rezultate sunt sortate în funcție de performanța lor, cu cel mai rapid dispozitiv listat
primul. Utilizatorul poate invoca ulterior FFMPEG folosind dispozitivul considerat cel mai mult
adecvat via -opencl_options pentru a obține cele mai bune performanțe pentru OpenCL
cod accelerat.

Utilizarea obișnuită pentru utilizarea celui mai rapid dispozitiv OpenCL implică următorii pași.

Rulați comanda:

ffmpeg -opencl_bench

Notați ID-ul platformei (pidx) și ID-ul dispozitivului (didx) din primul dispozitiv, adică cel mai rapid
În listă. Selectați platforma și dispozitivul folosind comanda:

ffmpeg -opencl_options platform_idx= :device_idx= ...

-opencl_options Opțiuni (global)
Setați opțiunile de mediu OpenCL. Această opțiune este disponibilă numai când FFmpeg a fost
compilat cu „--enable-opencl”.

Opțiuni trebuie să fie o listă a cheie=valoare perechi de opțiuni separate prin „:”. Vedeți ``OpenCL
Secțiunea Opțiuni din manualul ffmpeg-utils pentru lista de opțiuni acceptate.

AVOopțiuni
Aceste opțiuni sunt furnizate direct de libavformat, libavdevice și libavcodec
biblioteci. Pentru a vedea lista de opțiuni AVO disponibile, utilizați -Ajutor opțiune. Sunt
împărțite în două categorii:

generic
Aceste opțiuni pot fi setate pentru orice container, codec sau dispozitiv. Opțiunile generice sunt
enumerate în opțiunile AVFormatContext pentru containere/dispozitive și în AVCodecContext
opțiuni pentru codecuri.

privat
Aceste opțiuni sunt specifice containerului, dispozitivului sau codecului dat. Opțiuni private
sunt listate sub containerele/dispozitivele/codecurile corespunzătoare.

De exemplu, pentru a scrie un antet ID3v2.3 în loc de un ID3v2.4 implicit într-un fișier MP3, utilizați
il id3v2_version opțiune privată a muxerului MP3:

ffmpeg -i input.flac -id3v2_version 3 out.mp3

Toate AVOptions de codec sunt per-stream și, prin urmare, ar trebui să fie atașat un specificator de flux
Le.

Notă: -fara optiune Sintaxa nu poate fi folosită pentru AVOptions booleene, folosiți -opțiune 0/-opțiune 1.

Notă: vechea modalitate nedocumentată de a specifica AVOptions pe flux prin predarea v/a/s la
numele opțiunilor este acum învechit și va fi eliminat în curând.

Principal Opțiuni
-f configfile
Citiți fișierul de configurare configfile. Dacă nu este specificat, se va citi implicit din
/etc/ffserver.conf.

-n Activați modul fără lansare. Această opțiune dezactivează toate directivele „Lansare” din
variat " " secţiuni. Din moment ce ffserver nu va lansa niciuna FFMPEG cazuri, tu
va trebui să le lanseze manual.

-d Activați modul de depanare. Această opțiune mărește gradul de nivel al jurnalului și direcționează mesajele de jurnal către
stdout. Când este specificat, Jurnal personalizat opțiunea este ignorată.

CONFIGURARE FILE SINTAXĂ


ffserver citește un fișier de configurare care conține opțiuni și setări globale pentru fiecare flux
și hrăniți.

Fișierul de configurare constă din opțiuni globale și secțiuni dedicate, care trebuie să fie
introdus de "SECTION_NAME ARGS>" pe o linie separată și trebuie să se încheie cu o linie în
forma "</SECTION_NAME>>". ARGS este opțional.

În prezent sunt recunoscute următoarele secțiuni: A hrani, Pârâu, Redirecţiona.

O linie care începe cu „#” este ignorată și tratată ca un comentariu.

Numele opțiunilor și secțiunilor nu fac distincție între majuscule și minuscule.

ACL sintaxă
Un ACL (Access Control List) specifică adresa cărora li se permite accesul la un anumit
stream sau pentru a scrie un feed dat.

Acceptă următoarele forme

· Permite/interzice accesul la adresa.

ACL PERMIS
ACL NEGA

· Permite/interzice accesul la intervale de adrese de la prima_adresă la ultima_adresă.

ACL PERMIS
ACL NEGA

Puteți repeta ACL permite/refuza ori de câte ori doriți. Este pe bază de flux. The
primul meci definește acțiunea. Dacă nu există potriviri, atunci implicit este invers
a ultimei instrucțiuni ACL.

Astfel, „ACL permit localhost” permite accesul numai de la localhost. „ACL deny 1.0.0.0
1.255.255.255' ar nega întreaga rețea 1 și ar permite tuturor celorlalți.

Caritate Opțiuni
HTTPPort numarul portului
Port numarul portului
RTSPPort numarul portului
HTTPPort setează numărul portului TCP de ascultare a serverului HTTP, RTSPPort setează serverul RTSP
numărul portului TCP de ascultare.

Port este echivalentul HTTPPort și este depreciat.

Trebuie să selectați un alt port de la serverul dvs. web standard HTTP dacă rulează
pe același computer.

Dacă nu este specificat, nu va fi creat niciun server corespunzător.

HTTPBindAddress adresa IP
BindAddress adresa IP
RTSPBindAddress adresa IP
Setați adresa la care este legat serverul HTTP/RTSP. Util doar dacă ai mai multe
interfețe de rețea.

BindAddress este echivalentul HTTPBindAddress și este depreciat.

MaxHTTPConnexions n
Setați numărul de conexiuni HTTP simultane care pot fi gestionate. Trebuie definit
înainte il MaxClients parametru, deoarece definește MaxClients limita maxima.

Valoarea implicită este 2000.

MaxClients n
Setați numărul de solicitări simultane care pot fi gestionate. De cand ffserver este foarte rapid,
este mai probabil că veți dori să lăsați acest sus și să utilizați MaxBandwidth.

Valoarea implicită este 5.

MaxBandwidth kbps
Setați cantitatea maximă de kbit/sec pe care sunteți pregătit să o consumați atunci când transmiteți în flux
clienții.

Valoarea implicită este 1000.

Jurnal personalizat nume de fișier
Setați fișierul jurnal de acces (folosește formatul standard al fișierului jurnal Apache). „-” este standardul
ieșire.

Dacă nu este specificat ffserver nu va produce niciun jurnal.

În cazul în care opțiunea de linie de comandă -d este specificat, această opțiune este ignorată, iar jurnalul este
scris la ieșire standard.

NoDaemon
Setați modul fără demon. Această opțiune este în prezent ignorată de acum ffserver intotdeauna va
funcționează în modul fără demon și este depreciat.

Utilizați setările implicite
NoDefaults
Controlați dacă opțiunile implicite de codec sunt utilizate pentru toate fluxurile sau nu. Fiecare
fluxul poate suprascrie această setare pentru sine. Implicit este Utilizați setările implicite. Ultimul
apariția suprascrie definițiile anterioare dacă mai multe.

A hrani secțiune
O secțiune Feed definește un feed furnizat către ffserver.

Fiecare flux live conține o secvență video și/sau audio care provine dintr-un FFMPEG codificator sau
un alt ffserver. Această secvență poate fi codificată simultan cu mai multe codecuri la
mai multe rezoluții.

O specificație a instanței de feed este introdusă printr-o linie sub forma:



Unde FEED_FILENAME specifică numele unic al fluxului FFM.

Următoarele opțiuni sunt recunoscute într-o secțiune Feed.

Fișier nume de fișier
ReadOnlyFile nume de fișier
Setați calea în care fișierul de alimentare este stocat pe disc.

Dacă nu este specificat, /tmp/FEED.ffm se presupune, unde FEED este numele feedului.

If ReadOnlyFile este utilizat, fișierul este marcat ca doar pentru citire și nu va fi șters sau
la curent.

Trunchia
Trunchiați fișierul de feed, în loc să îl adăugați. În mod implicit ffserver va anexa
date în fișier, până când este atinsă valoarea maximă a dimensiunii fișierului (vezi FileMaxSize
opțiune).

FileMaxSize mărimea
Setați dimensiunea maximă a fișierului de feed în octeți. 0 înseamnă nelimitat. Postfixele „K”
(2^10), „M” (2^20) și „G” (2^30) sunt recunoscute.

Valoarea implicită este 5M.

Lansa args
Lansați un FFMPEG comanda la creare ffserver.

args trebuie să fie o succesiune de argumente care trebuie furnizate unui FFMPEG instanță. Primul
argumentul furnizat este ignorat și este înlocuit cu o cale cu același dirname de
il ffserver instanță, urmată de argumentul rămas și terminată cu o cale
corespunzătoare furajului.

Când procesul lansat se încheie, ffserver va lansa o altă instanță de program.

În cazul în care aveți nevoie de un mai complex FFMPEG configurație, de exemplu, dacă trebuie să generați
mai multe fluxuri FFM cu un singur FFMPEG de exemplu, ar trebui să lansați FFMPEG de mana.

Această opțiune este ignorată în cazul în care opțiunea din linia de comandă -n este specificat.

ACL spec.
Specificați lista adreselor IP cărora le este permisă sau refuzată scrierea fluxului. Multiplu
Opțiunile ACL pot fi specificate.

Pârâu secțiune
O secțiune Stream definește un stream furnizat de ffserverși identificate printr-un singur nume.

Fluxul este trimis atunci când se răspunde la o solicitare care conține numele fluxului.

O secțiune de flux trebuie introdusă de linia:



Unde STREAM_NAME specifică numele unic al fluxului.

Următoarele opțiuni sunt recunoscute într-o secțiune Stream.

Opțiunile de codificare sunt marcate cu codare etichetă și sunt folosite pentru a seta codificarea
parametrii și sunt mapate la opțiunile de codificare libavcodec. Nu toate opțiunile de codare sunt
acceptat, în special nu este posibilă setarea opțiunilor private ale codificatorului. Pentru a
suprascrie opțiunile de codificare specificate de ffserver, puteți utiliza funcția FFMPEG
override_ffserver opțiunea de linie de comandă.

Doar unul dintre A hrani și Fișier ar trebui setate opțiuni.

A hrani feed_name
Setați fluxul de intrare. feed_name trebuie să corespundă unui feed existent definit într-un „Feed”
secţiune.

Când această opțiune este setată, opțiunile de codificare sunt utilizate pentru a configura codificarea operată de
telecomanda FFMPEG proces.

Fișier nume de fișier
Setați numele fișierului de intrare preînregistrat pentru a transmite în flux.

Când această opțiune este setată, opțiunile de codificare sunt ignorate și conținutul fișierului de intrare este
retransmis așa cum este.

Format format_name
Setați formatul fluxului de ieșire.

Trebuie să fie numele unui format recunoscut de FFmpeg. Dacă este setat la Starea, este tratat ca
un flux de stare.

Formatul de intrare format_name
Setați formatul de intrare. Dacă nu este specificat, este ghicit automat.

Preroll n
Setați acest lucru la numărul de secunde înapoi în timp pentru a începe. Rețineți că majoritatea jucătorilor
va salva 5-10 secunde de videoclip și, de asemenea, trebuie să permiteți să apară un cadru cheie
în fluxul de date.

Valoarea implicită este 0.

StartSendOnKey
Nu trimiteți fluxul până când nu primește primul cadru cheie. În mod implicit ffserver va trimite
date imediat.

Timp maxim n
Setați numărul de secunde pentru a rula. Această valoare setează durata maximă a fluxului a
clientul va putea primi.

O valoare de 0 înseamnă că nu este stabilită nicio limită pentru durata fluxului.

ACL spec.
Setați ACL pentru flux.

DynamicACL spec.
Opțiunea RTSPO opțiune
MulticastAddress adresa
MulticastPort port
MulticastTTL întreg
NoLoop
FaviconURL url
Setați favicon (pictogramă preferată) pentru pagina de stare a serverului. Este ignorat pentru obișnuit
fluxuri.

Autor valoare
Comentariu valoare
Drepturi de autor valoare
Titlu valoare
Setați metadatele corespunzătoare opțiunii. Toate aceste opțiuni sunt depreciate în favoarea
Metadata.

Metadata cheie valoare
Setați valoarea metadatelor pe fluxul de ieșire.

Utilizați setările implicite
NoDefaults
Controlați dacă opțiunile implicite de codec sunt utilizate pentru flux sau nu. Implicit este
Utilizați setările implicite cu excepția cazului în care este dezactivat la nivel global.

Fără audio
Fără Video
Suprimați audio/video.

AudioCodec nume_codec (codificare, audio)
Setați codecul audio.

Rata de biți audio rată (codificare, audio)
Setați rata de biți pentru fluxul audio în kbiți pe secundă.

Canale audio n (codificare, audio)
Setați numărul de canale audio.

AudioSampleRate n (codificare, audio)
Setați frecvența de eșantionare pentru sunet. Când utilizați rate de biți scăzute, ar trebui să reduceți acest lucru
frecvența la 22050 sau 11025. Frecvențele acceptate depind de sunetul selectat
codec.

AVOptionAudio [codec:]opțiune valoare (codificare, audio)
Setați opțiunea generică sau privată pentru fluxul audio. Opțiunea privată trebuie să fie prefixată cu
numele sau codec-ul trebuie definit înainte.

AVPresetAudio presetat (codificare, audio)
Setați presetarea pentru fluxul audio.

VideoCodec nume_codec (codificare, video)
Setați codecul video.

Rata de transfer video n (codificare, video)
Setați rata de biți pentru fluxul video în kbiți pe secundă.

VideoBitRateRange gamă (codificare, video)
Setați intervalul de bitrate video.

Un interval trebuie specificat în formular minrate-maxrate, și specifică minrate și
maxrate opțiunile de codificare exprimate în kbiți pe secundă.

VideoBitRateRangeTolerance n (codificare, video)
Setați toleranța debitului video în kbiți pe secundă.

PixelFormat format_pixel (codificare, video)
Setați formatul de pixeli video.

Debug întreg (codificare, video)
Setați videoclipul depana opțiunea de codificare.

Strict întreg (codificare, video)
Setați videoclipul strict opțiunea de codificare.

VideoBufferSize n (codificare, video)
Setați dimensiunea tamponului de control al ratei, exprimată în KB.

VideoFrameRate n (codificare, video)
Setați numărul de cadre video pe secundă.

VideoSize (codificare, video)
Setați dimensiunea cadrului video, trebuie să fie o abreviere sau sub formă WxH. Vedea il
Video mărimea secțiune in il ffmpeg-utils(1) manual.

Valoarea implicită este „160x128”.

VideoIntraOnly (codificare, video)
Transmite numai intra-cadre (util pentru rate de biți scăzute, dar distruge rata de cadre).

VideoGopSize n (codificare, video)
Dacă nu este doar intra, un cadru intra este transmis pentru fiecare cadru VideoGopSize. Video
sincronizarea poate începe doar la un cadru intra.

VideoTag etichetă (codificare, video)
Setați eticheta video.

VideoHighQuality (codificare, video)
Video4MotionVector (codificare, video)
BitExact (codificare, video)
Setați marcajul de codare bitexact.

IdctSimple (codificare, video)
Setați algoritmul IDCT simplu.

Qscale n (codificare, video)
Activați codificarea de calitate constantă și setați valoarea video qscale (scala de cuantizare),
exprimat în n unități QP.

VideoQMin n (codificare, video)
VideoQMax n (codificare, video)
Setați video qmin/qmax.

VideoQDiff întreg (codificare, video)
Setați videoclipul qdiff opțiunea de codificare.

LumiMask pluti (codificare, video)
DarkMask pluti (codificare, video)
set lumi_mask/masca_întunecată opțiuni de codare.

AVOpțiuneVideo [codec:]opțiune valoare (codificare, video)
Setați opțiunea generică sau privată pentru fluxul video. Opțiunea privată trebuie să fie prefixată cu
numele sau codec-ul trebuie definit înainte.

AVPresetVideo presetat (codificare, video)
Setați presetarea pentru fluxul video.

presetat trebuie să fie calea unui fișier prestabilit.

server de Starea curent

Un flux de stare a serverului este un flux special care este utilizat pentru a afișa statistici despre
ffserver operațiuni.

Trebuie specificat setarea opțiunii Format la Starea.

Redirecţiona secțiune
O secțiune de redirecționare specifică unde să redirecționeze adresa URL solicitată către o altă pagină.

O secțiune de redirecționare trebuie introdusă de linia:



Unde NUME este numele paginii care ar trebui redirecționată.

Acceptă doar opțiunea URL-ul, care specifică adresa URL de redirecționare.

CURENT EXEMPLE


· JPEG în mai multe părți


Feed feed1.ffm
Formatați mpjpeg
VideoFrameRate 2
VideoIntraOnly
Fără audio
Strict -1


· JPEG unic


Feed feed1.ffm
Formatați jpeg
VideoFrameRate 2
VideoIntraOnly
Dimensiune video 352x240
Fără audio
Strict -1


· Flash


Feed feed1.ffm
Format swf
VideoFrameRate 2
VideoIntraOnly
Fără audio


· Compatibil ASF


Feed feed1.ffm
Format asf
VideoFrameRate 15
Dimensiune video 352x240
VideoBitRate 256
VideoBufferSize 40
VideoGopSize 30
AudioBitRate 64
StartSendOnKey


· Audio MP3


Feed feed1.ffm
Format mp2
AudioCodec mp3
AudioBitRate 64
Canale audio 1
AudioSampleRate 44100
Fără Video


· Audio Ogg Vorbis


Feed feed1.ffm
Titlul metadatelor „Titlul fluxului”
AudioBitRate 64
Canale audio 2
AudioSampleRate 44100
Fără Video


· Real cu audio doar la 32 kbits


Feed feed1.ffm
Format rm
AudioBitRate 32
Fără Video


· Real cu audio și video la 64 kbiți


Feed feed1.ffm
Format rm
AudioBitRate 32
VideoBitRate 128
VideoFrameRate 25
VideoGopSize 25


· Pentru fluxul care provine dintr-un fișier: trebuie doar să setați numele fișierului de intrare și opțional
un nou format.


Fișierul „/usr/local/httpd/htdocs/tlive.rm”
Fără audio



Fișierul „/usr/local/httpd/htdocs/test.asf”
Fără audio
Autorul metadatelor „Eu”
Drepturi de autor pentru metadate „Super MegaCorp”
Titlul metadatelor „Testează fluxul de pe disc”
Comentariu metadate „Comentariu de testare”


SINTAXĂ


Această secțiune documentează sintaxa și formatele folosite de bibliotecile și instrumentele FFmpeg.

Citându-l și evadarea
FFmpeg adoptă următorul mecanism de citare și evadare, cu excepția cazului în care este specificat în mod explicit.
Se aplică următoarele reguli:

· ' și \ sunt caractere speciale (utilizate respectiv pentru citare și evadare). În
pe lângă acestea, ar putea exista și alte personaje speciale, în funcție de specific
sintaxă în care sunt folosite evadarea și ghilimele.

· Un caracter special este eliminat prin prefixarea lui cu a \.

· Toate caracterele incluse între '' sunt incluse literalmente în șirul analizat. The
caracter citat ' în sine nu poate fi citat, așa că poate fi necesar să închideți cotația și
scăpa de ea.

· Spațiile albe de început și de final, cu excepția cazului în care sunt evadate sau ghilimele, sunt eliminate din
șir analizat.

Rețineți că poate fi necesar să adăugați un al doilea nivel de evadare atunci când utilizați linia de comandă sau a
script, care depinde de sintaxa limbajului shell adoptat.

Funcția „av_get_token” definită în libavutil/avstring.h poate fi folosit pentru a analiza un token
citat sau evadat conform regulilor definite mai sus.

Unealta instrumente/ffescape în arborele sursă FFmpeg poate fi folosit pentru a cita automat sau
escape un șir într-un script.

Exemple

· Escape din șirul „Crime d’Amour” care conține caracterul special „’”:

Crime d\'Amour

· Șirul de mai sus conține un ghilimeleu, așa că „'” trebuie să fie exclus atunci când îl citați:

„Crime d'\''Amour'

· Includeți spații albe de început sau de final folosind ghilimele:

„acest șir începe și se termină cu spații albe”

· Escape și citarea pot fi amestecate împreună:

' Șirul '\'șir\'' este un șir '

· Să includă un literal \ puteți folosi fie evadarea, fie citarea:

„c:\foo” poate fi scris ca c:\\foo

Data
Sintaxa acceptată este:

[(AAAA-LL-ZZ|AAAAMMZZ)[T|t| ]]((HH:MM:SS[.m...]]])|(HHMMSS[.m...]]]))[Z]
acum

Dacă valoarea este „acum”, este nevoie de timpul curent.

Ora este ora locală, cu excepția cazului în care Z este adăugat, caz în care este interpretat ca UTC. Dacă
porțiunea an-lună-zi nu este specificată, aceasta ia anul-lună-ziua curentă.

Timp durată
Există două sintaxe acceptate pentru exprimarea duratei de timp.

[-][ :] : [. ...]

HH exprimă numărul de ore, MM numărul de minute pentru maximum 2 cifre și
SS numărul de secunde pentru maximum 2 cifre. The m la final exprimă zecimală
valoare pentru SS.

or

[-] +[. ...]

S exprimă numărul de secunde, cu partea zecimală opțională m.

În ambele expresii, opționalul - indică durata negativă.

Exemple

Următoarele exemple sunt toate durate de timp valabile:

55 55 secunde

12:03:45
12 de ore, 03 minute și 45 secunde

23.189
23.189 secunde

Video mărimea
Specificați dimensiunea videoclipului sursă, poate fi un șir din formular lățimexînălțime, Sau
numele unei abrevieri de dimensiune.

Sunt recunoscute următoarele abrevieri:

ntsc
720x480

prieten 720x576

qntsc
352x240

qpal
352x288

sntsc
640x480

Spal
768x576

film
352x240

ntsc-film
352x240

sqcif
128x96

qcif
176x144

CIF 352x288

4cif
704x576

16cif
1408x1152

qqvga
160x120

qvga
320x240

vga 640x480

svga
800x600

xga 1024x768

uxga
1600x1200

qxga
2048x1536

sxga
1280x1024

qsxga
2560x2048

hsxga
5120x4096

wvga
852x480

wxga
1366x768

wsxga
1600x1024

wuxga
1920x1200

woxga
2560x1600

wqsxga
3200x2048

wquxga
3840x2400

whsxga
6400x4096

whuxga
7680x4800

cga 320x200

EGA 640x350

hd480
852x480

hd720
1280x720

hd1080
1920x1080

2k 2048x1080

2k plat
1998x1080

2kscope
2048x858

4k 4096x2160

4k plat
3996x2160

4kscope
4096x1716

nhd 640x360

hqvga
240x160

wqvga
400x240

fwqvga
432x240

hvga
480x320

qHD 960x540

2kdci
2048x1080

4kdci
4096x2160

uhd2160
3840x2160

uhd4320
7680x4320

Video rată
Specificați rata de cadre a unui videoclip, exprimată ca număr de cadre generate pe secundă.
Trebuie să fie un șir în format frame_rate_num/frame_rate_den, un număr întreg, a
număr float sau o abreviere validă a ratei de cadre video.

Sunt recunoscute următoarele abrevieri:

ntsc
30000/1001

prieten 25/1

qntsc
30000/1001

qpal
25/1

sntsc
30000/1001

Spal
25/1

film
24/1

ntsc-film
24000/1001

Raport
Un raport poate fi exprimat ca expresie sau sub formă numărător:numitor.

Rețineți că un raport cu valoare infinită (1/0) sau negativă este considerat valid, așa că ar trebui
verificați valoarea returnată dacă doriți să excludeți acele valori.

Valoarea nedefinită poate fi exprimată folosind șirul „0:0”.

Culori
Poate fi numele unei culori așa cum este definită mai jos (potrivire fără diferențiere între majuscule și minuscule) sau a
Secvența „[0x|#]RRGGBB[AA]”, eventual urmată de @ și un șir reprezentând alfa
componentă.

Componenta alfa poate fi un șir compus din „0x” urmat de un număr hexazecimal sau
un număr zecimal între 0.0 și 1.0, care reprezintă valoarea opacității (0x00 or 0.0
înseamnă complet transparent, 0xff or 1.0 complet opac). Dacă componenta alfa este
nespecificat atunci 0xff este asumat.

Șirul aleator va avea ca rezultat o culoare aleatorie.

Sunt recunoscute următoarele nume de culori:

AliceBlue
0xF0F8FF

Alb antic
0xFAEBD7

Apă
0x00FFFF

Acvamarin
0x7FFFD4

Azuriu
0xF0FFFF

Bej
0xF5F5DC

bisque
0xFFE4C4

Negru
0x000000

Migdale Albite
0xFFEBCD

Albastru
0x0000FF

Albastru violet
0x8A2BE2

Maro
0xA52A2A

BurlyWood
0xDEB887

CadetBlue
0x5F9EA0

Chartreuse
0x7FFF00

Ciocolată
0xD2691E

Coral
0xFF7F50

Floarea de porumb Albastru
0x6495ED

Matase de porumb
0xFFF8DC

purpuriu
0xDC143C

Cyan
0x00FFFF

Albastru inchis
0x00008B

DarkCyan
0x008B8B

DarkGoldenRod
0xB8860B

Gri închis
0xA9A9A9

Verde inchis
0x006400

DarkKhaki
0xBDB76B

DarkMagenta
0x8B008B

DarkOliveGreen
0x556B2F

Darkorange
0xFF8C00

DarkOrhid
0x9932CC

Roșu-închis
0x8B0000

DarkSomon
0xE9967A

DarkSeaGreen
0x8FBC8F

DarkSlateBlue
0x483D8B

Dark SlateGray
0x2F4F4F

Turcoaz închis
0x00CED1

DarkViolet
0x9400D3

Roz închis
0xFF1493

DeepSkyBlue
0x00BFFF

DimGray
0x696969

DodgerBlue
0x1E90FF

FireBrick
0xB22222

FloralAlb
0xFFFAF0

Padure verde
0x228B22

Fucsie
0xFF00FF

gainsboro
0xDCDCDC

GhostWhite
0xF8F8FF

Aur
0xFFD700

GoldenRod
0xDAA520

Gri
0x808080

Verde
0x008000

Verde galben
0xADFF2F

Mană
0xF0FFF0

HotPink
0xFF69B4

IndianRed
0xCD5C5C

Indigo
0x4B0082

Fildeş
0xFFFFF0

kaki
0xF0E68C

Lavandă
0xE6E6FA

LavenderBlush
0xFFF0F5

LawnGreen
0x7CFC00

LemonChiffon
0xFFFACD

Albastru deschis
0xADD8E6

LightCoral
0xF08080

LightCyan
0xE0FFFF

LightGoldenRodYellow
0xFAFAD2

Verde deschis
0x90EE90

Gri deschis
0xD3D3D3

Roz deschis
0xFFB6C1

LightSomon
0xFFA07A

LightSeaGreen
0x20B2AA

LightSkyBlue
0x87CEFA

LightSlateGray
0x778899

LightSteelBlue
0xB0C4DE

Lumină galbenă
0xFFFFE0

tei
0x00FF00

Verde lime
0x32CD32

Lenjerie
0xFAF0E6

Purpuriu
0xFF00FF

Maro
0x800000

MediumAquaMarine
0x66CDAA

Albastru mediu
0x0000CD

Orhidee medie
0xBA55D3

MediumPurple
0x9370D8

MediumSeaGreen
0x3CB371

Medium SlateBlue
0x7B68EE

MediumPrimăvaraVerde
0x00FA9A

Mediu turcoaz
0x48D1CC

MediumVioletRed
0xC71585

Midnight Blue
0x191970

MintCream
0xF5FFFA

MistyRose
0xFFE4E1

Mocasin
0xFFE4B5

NavajoWhite
0xFFDEAD

Marina
0x000080

Old Lace
0xFDF5E6

Măslin
0x808000

OliveDrab
0x6B8E23

Portocaliu
0xFFA500

Portocaliu rosu
0xFF4500

Orhidee
0xDA70D6

PaleGoldenRod
0xEEE8AA

Verde palid
0x98FB98

PaleTurcoaz
0xAFEEEE

PaleViolet Red
0xD87093

Papaya Whip
0xFFEFD5

PeachPuff
0xFFDAB9

Peru
0xCD853F

Roz
0xFFC0CB

Prună
0xDDA0DD

Pudra albastra
0xB0E0E6

Violet
0x800080

Roșu 0xFF0000

Maro Roșiatic ‧color
0xBC8F8F

Albastru regal
0x4169E1

SaddleBrown
0x8B4513

Somon
0xFA8072

SandyBrown
0xF4A460

Mare verde
0x2E8B57

Seashell
0xFFF5EE

Sienna
0xA0522D

Silver
0xC0C0C0

Cer albastru
0x87CEEB

Ardezie albastră
0x6A5ACD

SlateGray
0x708090

Snow
0xFFFAFA

SpringGreen
0x00FF7F

SteelBlue
0x4682B4

Bronza 0xD2B48C

Teal
0x008080

ciulin
0xD8BFD8

Tomată
0xFF6347

Turcoaz
0x40E0D0

Violet
0xEE82EE

Grâu
0xF5DEB3

Alb
0xFFFFFF

Fum alb
0xF5F5F5

Galben
0xFFFF00

Galben verde
0x9ACD32

Canal Aspect
Un aspect de canal specifică dispoziția spațială a canalelor într-un canal multi-canal
flux audio. Pentru a specifica un aspect al canalului, FFmpeg folosește o sintaxă specială.

Canalele individuale sunt identificate printr-un id, așa cum este prezentat în tabelul de mai jos:

FL fata stanga

FR fata dreapta

FC centru fata

L.F.E. frecvență joasă

BL spate stânga

BR înapoi dreapta

FLC fata stanga-centru

FRC fata dreapta-centru

BC spate centru

SL partea stângă

SR partea dreapta

TC centru sus

TFL sus fata stanga

TFC centru din față sus

TFR sus fata dreapta

TBL sus spate stânga

TBC sus, spate, centru

TBR sus inapoi dreapta

DL downmix stânga

DR downmix dreapta

WL larg stânga

WR larg dreapta

SDL surround direct stânga

DST surround direct dreapta

LFE2
frecventa joasa 2

Compozițiile standard ale aspectului canalului pot fi specificate utilizând următorii identificatori:

mono
FC

stereo
FL+FR

2.1 FL+FR+LFE

3.0 FL+FR+FC

3.0 (spate)
FL+FR+BC

4.0 FL+FR+FC+BC

quad
FL+FR+BL+BR

quad (lateral)
FL+FR+SL+SR

3.1 FL+FR+FC+LFE

5.0 FL+FR+FC+BL+BR

5.0 (lateral)
FL+FR+FC+SL+SR

4.1 FL+FR+FC+LFE+BC

5.1 FL+FR+FC+LFE+BL+BR

5.1 (lateral)
FL+FR+FC+LFE+SL+SR

6.0 FL+FR+FC+BC+SL+SR

6.0 (față)
FL+FR+FLC+FRC+SL+SR

hexagonal
FL+FR+FC+BL+BR+BC

6.1 FL+FR+FC+LFE+BC+SL+SR

6.1 FL+FR+FC+LFE+BL+BR+BC

6.1 (față)
FL+FR+LFE+FLC+FRC+SL+SR

7.0 FL+FR+FC+BL+BR+SL+SR

7.0 (față)
FL+FR+FC+FLC+FRC+SL+SR

7.1 FL+FR+FC+LFE+BL+BR+SL+SR

7.1 (lată)
FL+FR+FC+LFE+BL+BR+FLC+FRC

7.1 (partea largă)
FL+FR+FC+LFE+FLC+FRC+SL+SR

octogonal
FL+FR+FC+BL+BR+BC+SL+SR

downmix
DL+DR

Un aspect de canal personalizat poate fi specificat ca o secvență de termeni, separați prin „+” sau „|”.
Fiecare termen poate fi:

· numele unui aspect standard al canalului (de ex mono, stereo, 4.0, quad, 5.0, Etc)

· numele unui singur canal (de ex FL, FR, FC, L.F.E., Etc)

· un număr de canale, în zecimală, urmate opțional de „c”, rezultând valoarea implicită
aspectul canalului pentru acel număr de canale (vezi funcția
„av_get_default_channel_layout”)

· o mască de aspect al canalului, în hexazecimal, începând cu „0x” (vezi macrocomenzile „AV_CH_*” din
libavutil/channel_layout.h.

Începând cu libavutil versiunea 53, caracterul final „c” pentru a specifica un număr de
canalele vor fi necesare, în timp ce o mască de aspect al canalului poate fi specificată și ca a
număr zecimal (dacă și numai dacă nu este urmat de „c”).

Vezi și funcția „av_get_channel_layout” definită în libavutil/channel_layout.h.

EXPRESIE EVALUARE


Când evaluează o expresie aritmetică, FFmpeg folosește un evaluator intern de formule,
implementat prin intermediul libavutil/eval.h interfață.

O expresie poate conține operatori unari, binari, constante și funcții.

Două expresii expr1 și expr2 poate fi combinat pentru a forma o altă expresie "expr1;expr2".
expr1 și expr2 sunt evaluate la rândul lor, iar noua expresie evaluează la valoarea lui
expr2.

Sunt disponibili următorii operatori binari: „+”, „-”, „*”, „/”, „^”.

Sunt disponibili următorii operatori unari: „+”, „-”.

Sunt disponibile următoarele funcții:

abs (x)
Calculați valoarea absolută a x.

acos (x)
Calculați arccosinus al x.

asin (x)
Calculați arcsinus al x.

atan (x)
Calculați arctangente a x.

intre(x, min, max)
Întoarceți 1 dacă x este mai mare sau egal cu minute și mai mică sau egală cu max, 0
in caz contrar.

bitand(x, y)
bitor(x, y)
Calculează pe biți și/sau operațiune x și y.

Rezultatele evaluării de x și y sunt convertite în numere întregi înainte de a fi executate
operația pe biți.

Rețineți că atât conversia în număr întreg, cât și conversia înapoi în virgulă mobilă pot
pierde din precizie. Atenție la rezultate neașteptate pentru numere mari (de obicei 2^53 și
mai mare).

plafon(expr)
Rotunjiți valoarea expresiei expres în sus până la cel mai apropiat număr întreg. De exemplu,
„ceil(1.5)” este „2.0”.

clip (x, min, max)
Returnează valoarea lui x tăiat între minute și max.

cos (x)
Calculați cosinusul de x.

cosh(x)
Calculați cosinusul hiperbolic al x.

eq(x, y)
Întoarceți 1 dacă x și y sunt echivalente, 0 în caz contrar.

exp (x)
Calculați exponențialul de x (cu baza „e”, numărul lui Euler).

podea(exr)
Rotunjiți valoarea expresiei expres în jos până la cel mai apropiat număr întreg. De exemplu,
„etaj (-1.5)” este „-2.0”.

gauss(x)
Calculați funcția Gauss a x, corespunzătoare „exp(-x*x/2) / sqrt(2*PI)”.

gcd(x, y)
Returnează cel mai mare divizor comun al x și y. Dacă ambele x și y sunt 0 sau oricare sau ambele
sunt mai mici decât zero, atunci comportamentul este nedefinit.

gt(x, y)
Întoarceți 1 dacă x este mai mare decât y, 0 altfel.

gte(x, y)
Întoarceți 1 dacă x este mai mare sau egal cu y, 0 altfel.

hipot(x, y)
Această funcție este similară cu funcția C cu același nume; returnează „sqrt(x*x +
y*y)", lungimea ipotenuzei unui triunghi dreptunghic cu laturile de lungime x și y,
sau distanța punctului (x, y) de la origine.

daca(x, y)
Evalua x, iar dacă rezultatul este diferit de zero returnează rezultatul evaluării lui y,
returnează 0 altfel.

daca(x, y, z)
Evalua x, iar dacă rezultatul este diferit de zero returnează rezultatul evaluării y, Altfel
rezultatul evaluării de z.

daca nu(x, y)
Evalua x, iar dacă rezultatul este zero returnează rezultatul evaluării lui y, întoarcere
0 altfel.

daca nu(x, y, z)
Evalua x, iar dacă rezultatul este zero returnează rezultatul evaluării y, altfel
rezultat al evaluării z.

isinf(x)
Întoarceți 1.0 dacă x este +/-INFINITY, în caz contrar 0.0.

isnan(x)
Întoarceți 1.0 dacă x este NAN, 0.0 altfel.

ld(var)
Încărcați valoarea variabilei interne cu număr a fost, care a fost stocat anterior
cu st(a fost, expres). Funcția returnează valoarea încărcată.

jurnal (x)
Calculați logaritmul natural al x.

lt(x, y)
Întoarceți 1 dacă x este mai mică decât y, 0 altfel.

lte(x, y)
Întoarceți 1 dacă x este mai mic sau egal cu y, 0 altfel.

max(x, y)
Reveniți maximul dintre x și y.

cochetă, y)
Reveniți maximul dintre x și y.

mod(x, y)
Calculați restul diviziunii lui x by y.

nu(expr)
Întoarceți 1.0 dacă expres este zero, în caz contrar 0.0.

pow(x, y)
Calculați puterea de x elevat y, este echivalent cu „(x)^(y) ".

print(t)
print(t, l)
Tipăriți valoarea expresiei t cu loglevel l. Dacă l nu este specificat, atunci implicit
este utilizat nivelul de jurnal. Returnează valoarea expresiei tipărite.

Imprimă t cu loglevel l

aleatoriu(x)
Returnează o valoare pseudoaleatoare între 0.0 și 1.0. x este indicele intern
variabilă care va fi folosită pentru a salva sămânța/starea.

root(expr, max)
Găsiți o valoare de intrare pentru care funcția reprezentată de expres cu argument ld(0) is
0 in intervalul 0..max.

Expresia în expres trebuie să desemneze o funcție continuă sau rezultatul este nedefinit.

ld(0) este folosit pentru a reprezenta valoarea de intrare a funcției, ceea ce înseamnă că data
expresia va fi evaluată de mai multe ori cu diferite valori de intrare pe care
expresia poate accesa prin ld(0). Când expresia este evaluată la 0, atunci
va fi returnată valoarea de intrare corespunzătoare.

păcat (x)
Calculați sinusul x.

naștere (x)
Calculați sinusul hiperbolic al x.

sqrt(expr)
Calculați rădăcina pătrată a expres. Aceasta este echivalentă cu „(expres)^.5".

squish(x)
Calculați expresia „1/(1 + exp(4*x))”.

st(var, expr)
Stocați valoarea expresiei expres într-o variabilă internă. a fost specifică
numărul variabilei unde se stochează valoarea și este o valoare cuprinsă între 0 și
9. Funcția returnează valoarea stocată în variabila internă. Notă, variabile
momentan nu sunt partajate între expresii.

bronz (x)
Calculați tangenta de x.

pește (x)
Calculați tangenta hiperbolică a x.

Taylor (expr, x)
Taylor (expr, x, id)
Evaluați o serie Taylor la x, având în vedere o expresie reprezentând „ld(id)”-th
derivata unei functii la 0.

Când seria nu converge, rezultatul este nedefinit.

ld(id) este folosit pentru a reprezenta ordinea derivatelor în expres, ceea ce înseamnă că dat
expresia va fi evaluată de mai multe ori cu diferite valori de intrare pe care
expresia poate accesa prin „ld(id)”. Dacă id nu este specificat, atunci se presupune 0.

Rețineți, când aveți derivatele la y în loc de 0, "taylor(expr, xy)" poate fi
folosit.

timp(0)
Returnați ora curentă (ceas de perete) în secunde.

trunchi (expr)
Rotunjiți valoarea expresiei expres spre zero până la cel mai apropiat număr întreg. De exemplu,
„trunc(-1.5)” este „-1.0”.

în timp ce(cond, expr)
Evaluați expresia expres în timp ce expresia Cond este diferit de zero și returnează valoarea
din ultima expres evaluare, sau NAN dacă Cond a fost mereu fals.

Sunt disponibile următoarele constante:

PI suprafața discului unității, aproximativ 3.14

E exp(1) (numărul lui Euler), aproximativ 2.718

PHI proporția de aur (1+sqrt(5))/2, aproximativ 1.618

Presupunând că o expresie este considerată „adevărată” dacă are o valoare diferită de zero, rețineți că:

„*” funcționează ca și

„+” funcționează ca SAU

De exemplu, constructul:

dacă (A și B) atunci C

este echivalent cu:

dacă (A*B, C)

În codul dvs. C, puteți extinde lista de funcții unare și binare și puteți defini
constante recunoscute, astfel încât acestea să fie disponibile pentru expresiile dvs.

Evaluatorul recunoaște, de asemenea, prefixele unităților Sistemului Internațional. Dacă se adaugă „i”.
după prefix, sunt folosite prefixe binare, care se bazează pe puterile lui 1024 în loc de
puteri de 1000. Postfixul „B” înmulțește valoarea cu 8 și poate fi adăugat după un
prefix de unitate sau folosit singur. Acest lucru permite utilizarea, de exemplu, „KB”, „MiB”, „G” și „B” ca
număr postfix.

Urmează lista de prefixe disponibile pentru Sistemul Internațional, cu indicarea
puterile corespunzătoare de 10 și de 2.

y 10^-24 / 2^-80

z 10^-21 / 2^-70

a 10^-18 / 2^-60

f 10^-15 / 2^-50

p 10^-12 / 2^-40

n 10^-9 / 2^-30

u 10^-6 / 2^-20

m 10^-3 / 2^-10

c 10 ^ -2

d 10 ^ -1

h 10 ^ 2

k 10^3 / 2^10

K 10^3 / 2^10

M 10^6 / 2^20

G 10^9 / 2^30

T 10^12 / 2^40

P 10^15 / 2^40

E 10^18 / 2^50

Z 10^21 / 2^60

Y 10^24 / 2^70

OPENCL OPŢIUNI


Când FFmpeg este configurat cu „--enable-opencl”, este posibil să setați opțiunile pentru
contextul global OpenCL.

Lista opțiunilor acceptate este următoarea:

build_options
Setați opțiunile de compilare utilizate pentru a compila nucleele înregistrate.

Consultați referința „Versiunea specificației OpenCL: 1.2 capitolul 5.6.4”.

platform_idx
Selectați indexul platformei pentru a rula codul OpenCL.

Indexul specificat trebuie să fie unul dintre indecșii din lista de dispozitive care poate fi
obţinut cu „ffmpeg -opencl_bench” sau „av_opencl_get_device_list()”.

device_idx
Selectați indexul dispozitivului folosit pentru a rula codul OpenCL.

Indexul specificat trebuie să fie unul dintre indecșii din lista de dispozitive care poate fi
obţinut cu „ffmpeg -opencl_bench” sau „av_opencl_get_device_list()”.

CODEC OPŢIUNI


libavcodec oferă câteva opțiuni globale generice, care pot fi setate pe toate codificatoarele și
decodoare. În plus, fiecare codec poate suporta așa-numitele opțiuni private, care sunt specifice
pentru un anumit codec.

Uneori, o opțiune globală poate afecta doar un anumit tip de codec și poate fi
fără sens sau ignorat de altul, așa că trebuie să fii conștient de semnificația specificatului
Opțiuni. De asemenea, unele opțiuni sunt destinate doar decodării sau codificării.

Opțiunile pot fi setate prin specificarea -opțiune valoare în instrumentele FFmpeg sau prin setarea
valoare explicit în opțiunile „AVCodecContext” sau folosind libavutil/opt.h API pentru
utilizare programatică.

Urmează lista de opțiuni acceptate:

b întreg (codificare, audio, video)
Setați rata de biți în biți/s. Valoarea implicită este 200K.

ab întreg (codificare, audio)
Setați rata de biți audio (în biți/s). Valoarea implicită este 128K.

bt întreg (codificare, video)
Setați toleranța pentru rata de biți video (în biți/s). În modul 1-pass, toleranța de bitrate specifică
cât de departe ratecontrol este dispus să se abate de la valoarea țintă a ratei de biți medii. Acest
nu are legătură cu rata de biți min/max. Scăderea prea multă a toleranței are un efect negativ
pe calitate.

steaguri steaguri (decodare/codificare, audio, video, subtitrări)
Setați steaguri generice.

Valori posibile:

mv4 Utilizați patru vectori de mișcare prin macrobloc (mpeg4).

qpel
Utilizați compensarea mișcării 1/4 pel.

buclă
Utilizați filtru de buclă.

qscale
Utilizați qscale fix.

gmc Utilizați gmc.

mv0 Încercați întotdeauna un mb cu mv=<0,0>.

input_preserved
pass1
Utilizați controlul intern al ratei cu 2 treceri în modul prima trecere.

pass2
Utilizați controlul intern al ratei cu 2 treceri în modul a doua trecere.

gri
Numai decodare/codificare în tonuri de gri.

emu_edge
Nu desenați margini.

psnr
Setați variabilele de eroare[?] în timpul codificării.

trunchiat
NAQ Normalizați cuantizarea adaptivă.

ildct
Utilizați DCT întrețesut.

întârziere_scăzută
Forțare întârziere scăzută.

antet_global
Plasați anteturi globale în extradate în loc de fiecare cadru cheie.

biexact
Scrieți numai date independente de platformă, build și timp. (cu excepția (I)DCT). Acest
se asigură că sumele de verificare ale fișierelor și ale datelor sunt reproductibile și se potrivesc între platforme.
Utilizarea sa principală este pentru testarea regresiei.

aic Aplicați H263 avansate de codare intra / predicție mpeg4 ac.

cbp Învechit, utilizați opțiunile private mpegvideo.

qprd
Învechit, utilizați opțiunile private mpegvideo.

ILME
Aplicați estimarea mișcării întrețesute.

cgop
Folosiți gop închis.

eu_metoda întreg (codificare, video)
Setați metoda de estimare a mișcării.

Valori posibile:

zero
estimarea mișcării zero (cea mai rapidă)

Complet
estimarea mișcării complete (cea mai lentă)

epzs
Estimarea mișcării EPZS (implicit)

esa estimarea mișcării esa (alias pentru complet)

tesa
estimarea mișcării tesa

zi estimarea mișcării dia (alias pentru epzs)

log estimarea mișcării log

phods
estimarea mișcării phods

x1 Estimarea mișcării X1

hex estimarea mișcării hexagonale

uhm umh estimarea mișcării

proces
estimarea mișcării iter

extradata_size întreg
Setați dimensiunea extradatelor.

baza de timp rațional număr
Setați baza de timp pentru codec.

Este unitatea fundamentală de timp (în secunde) în ceea ce privește marcajele de timp ale cadrelor
reprezentat. Pentru conținutul cu fps fix, baza de timp ar trebui să fie „1 / frame_rate” și marca temporală
incrementele ar trebui să fie identice 1.

g întreg (codificare, video)
Setați grupul de dimensiune a imaginii. Valoarea implicită este 12.

ar întreg (decodare/codificare, audio)
Setați rata de eșantionare audio (în Hz).

ac întreg (decodare/codificare, audio)
Setați numărul de canale audio.

cutoff întreg (codificare, audio)
Setați lățimea de bandă de tăiere.

Marimea ramei întreg (codificare, audio)
Setați dimensiunea cadrului audio.

Fiecare cadru trimis, cu excepția ultimului, trebuie să conțină exact eșantioane frame_size per
canal. Poate fi 0 atunci când codecul are setat CODEC_CAP_VARIABLE_FRAME_SIZE, în acest caz
dimensiunea cadrului nu este restricționată. Este setat de unele decodoare pentru a indica constanta
Marimea ramei.

număr_cadru întreg
Setați numărul cadrului.

întârziere întreg
qcomp pluti (codificare, video)
Setați compresia la scară a cuantificatorului video (VBR). Este folosit ca constantă în
ecuația de control al ratei. Interval recomandat pentru rc_eq implicit: 0.0-1.0.

qblur pluti (codificare, video)
Setați neclaritatea la scară a cuantificatorului video (VBR).

qmin întreg (codificare, video)
Setați scala minimă a cuantificatorului video (VBR). Trebuie inclus între -1 și 69, valoare implicită
este 2.

qmax întreg (codificare, video)
Setați scala maximă a cuantificatorului video (VBR). Trebuie inclus între -1 și 1024, implicit
valoarea este 31.

qdiff întreg (codificare, video)
Setați diferența maximă între scala cuantificatorului (VBR).

bf întreg (codificare, video)
Setați numărul maxim de cadre B între cadre non-B.

Trebuie să fie un număr întreg între -1 și 16. 0 înseamnă că cadrele B sunt dezactivate. Dacă o valoare
de -1, acesta va alege o valoare automată în funcție de codificator.

Valoarea implicită este 0.

b_qfactor pluti (codificare, video)
Setați factorul qp între cadrele P și B.

rc_strategy întreg (codificare, video)
Setați metoda de control al ratei.

b_strategie întreg (codificare, video)
Setați strategia pentru a alege între cadre I/P/B.

ps întreg (codificare, video)
Setați dimensiunea sarcinii utile RTP în octeți.

mv_bits întreg
biți_header întreg
i_tex_bits întreg
p_tex_bits întreg
Eu contez întreg
p_count întreg
skip_count întreg
misc_bits întreg
biți_cadru întreg
etichetă_codec întreg
bug steaguri (decodare, video)
Soluție care nu a fost detectată automat erori de codificator.

Valori posibile:

auto detectare
old_msmpeg4
unele fișiere vechi msmpeg4v3 generate lavc (fără detectare automată)

xvid_ilace
Eroare de intercalare Xvid (detectată automat dacă fourcc==XVIX)

ump4
(detectat automat dacă fourcc==UMP4)

no_padding
eroare de umplutură (detectată automat)

AVI
ac_vlc
bug vlc ilegal (detectat automat la patru cc)

qpel_chroma
std_qpel
qpel standard vechi (detectat automat pe patru cc/versiune)

qpel_chroma2
direct_blocksize
eroare direct-qpel-blocksize (detectată automat pe fourcc/versiune)

margine
eroare de umplutură a marginilor (detectată automat pe patru cc/versiune)

hpel_chroma
dc_clip
ms Soluționarea diferitelor erori în decodoarele Microsoft defecte.

trunchi
cadre translate

lelim întreg (codificare, video)
Setați pragul de eliminare a coeficientului unic pentru luminanță (de asemenea, valori negative
luați în considerare coeficientul DC).

celim întreg (codificare, video)
Setați un prag de eliminare a coeficientului unic pentru crominanță (de asemenea, valori negative
luați în considerare coeficientul dc)

strict întreg (decodare/codificare, audio, video)
Specificați cât de strict să respectați standardele.

Valori posibile:

foarte
să respecte cu strictețe o versiune mai veche, mai strictă, a specificațiilor sau a software-ului de referință

strict
se conformează strict tuturor lucrurilor din specificații, indiferent de consecințe

normală.
neoficial
permite extensii neoficiale

experimental
permit lucruri experimentale nestandardizate, experimentale (neterminate/lucrate în
progres/nu este bine testat) decodoare și codificatoare. Notă: decodoarele experimentale pot
prezintă un risc de securitate, nu utilizați acest lucru pentru decodarea intrărilor nesigure.

b_qoffset pluti (codificare, video)
Setați decalajul QP între cadrele P și B.

err_detect steaguri (decodare, audio, video)
Setați steaguri de detectare a erorilor.

Valori posibile:

crccheck
verificați CRC-urile încorporate

flux de biți
detectează abaterile de la specificația fluxului de biți

tampon
detectează lungimea necorespunzătoare a fluxului de biți

exploda
întrerupeți decodarea la detectarea erorilor minore

ignore_err
ignora erorile de decodare și continuă decodarea. Acest lucru este util dacă doriți
analizați conținutul unui videoclip și, astfel, doriți ca totul să fie decodat, indiferent
ce. Această opțiune nu va avea ca rezultat un videoclip plăcut de vizionat în caz de
erori.

atent
considerați lucrurile care încalcă specificațiile și nu au fost văzute în sălbăticie drept erori

conforme
considerați toate neconformitățile specificațiilor drept erori

agresiv
luați în considerare lucrurile pe care un codificator sănătos nu ar trebui să le facă ca pe o eroare

are_b_cadre întreg
block_align întreg
mpeg_quant întreg (codificare, video)
Utilizați cuantificatoare MPEG în loc de H.263.

qsquish pluti (codificare, video)
Cum să păstrați cuantificatorul între qmin și qmax (0 = clip, 1 = diferențiabil de utilizare
funcţie).

rc_qmod_amp pluti (codificare, video)
Setați modulația cuantificatorului experimental.

rc_qmod_freq întreg (codificare, video)
Setați modulația cuantificatorului experimental.

rc_override_count întreg
rc_eq şir (codificare, video)
Setați ecuația de control al ratei. La calculul expresiei, pe lângă standard
funcții definite în secțiunea „Evaluarea expresiei”, următoarele funcții sunt
disponibile: bits2qp(biți), qp2bits(qp). De asemenea, sunt disponibile următoarele constante:
iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex
avgPPTex avgBPTex avgTex.

maxrate întreg (codificare, audio, video)
Setați toleranța maximă a ratei de biți (în biți/s). Necesită setarea bussize.

minrate întreg (codificare, audio, video)
Setați toleranța minimă a ratei de biți (în biți/s). Cel mai util în configurarea unei codări CBR. Este
de puţin folos în rest.

bufsize întreg (codificare, audio, video)
Setați dimensiunea tamponului de control al ratei (în biți).

rc_buf_agresivitate pluti (codificare, video)
Momentan inutil.

i_qfactor pluti (codificare, video)
Setați factorul QP între cadrele P și I.

i_qoffset pluti (codificare, video)
Setați decalajul QP între cadrele P și I.

rc_init_cplx pluti (codificare, video)
Setați complexitatea inițială pentru codificarea cu 1 trecere.

dct întreg (codificare, video)
Setați algoritmul DCT.

Valori posibile:

Auto
selectați automat unul bun (implicit)

fastint
întreg rapid

int număr întreg precis

MMX
altivec
faan
virgulă mobilă AAN DCT

lumi_mask pluti (codificare, video)
Comprimați zonele luminoase mai puternic decât cele medii.

tcplx_mask pluti (codificare, video)
Setați mascarea complexității temporale.

scplx_mask pluti (codificare, video)
Setați mascarea complexității spațiale.

p_mask pluti (codificare, video)
Setați intermascarea.

masca_întunecată pluti (codificare, video)
Comprimați zonele întunecate mai puternic decât cele medii.

idct întreg (decodare/codare, video)
Selectați implementarea IDCT.

Valori posibile:

Auto
int
simplu
simplemmx
simpleauto
Alegeți automat un IDCT compatibil cu cel simplu

braţ
altivec
sh4
simplearm
simplearmv5te
simplearmv6
simpleneon
simplealpha
ipp
xvidmmx
faani
virgulă mobilă AAN IDCT

slice_count întreg
ec steaguri (decodare, video)
Setați strategia de ascundere a erorilor.

Valori posibile:

ghici_mvs
căutarea vectorului de mișcare iterativă (MV) (lentă)

deblocați
utilizați un filtru puternic de deblocare pentru MB-uri deteriorate

favor_inter
favorizează predicția din cadrul precedent în locul celui actual

biți_pe_probă_codificată întreg
inainte de întreg (codificare, video)
Setați metoda de predicție.

Valori posibile:

stânga
plan
mediană
aspect rațional număr (codificare, video)
Setați raportul de aspect al eșantionului.

depana steaguri (decodare/codificare, audio, video, subtitrări)
Imprimați informații specifice de depanare.

Valori posibile:

pict
informații despre imagine

rc controlul ratei

flux de biți
mb_type
tip macrobloc (MB).

qp parametru de cuantizare pe bloc (QP)

mv vector de mișcare

dct_coeff
metadate_verzi
afișați metadate de complexitate pentru cadrul viitor, GoP sau pentru o anumită durată.

sări
cod de pornire
pct
er recunoașterea erorilor

mmco
operațiuni de control al managementului memoriei (H.264)

gandaci
vis_qp
vizualiza parametrul de cuantizare (QP), QP inferior este nuanțat mai verde

vis_mb_type
vizualizați tipurile de blocuri

tampoane
alocarea tamponului de imagine

thread_ops
operatii de filetare

nomc
compensare de mișcare sărită

vismv întreg (decodare, video)
Vizualizați vectori de mișcare (MV).

Această opțiune este depreciată, consultați în schimb filtrul codecview.

Valori posibile:

pf MV anticipate ale cadrelor P

bf MV-uri anticipate ale cadrelor B

bb MV-uri anticipate înapoi ale cadrelor B

cmp întreg (codificare, video)
Setați funcția de comparare completă.

Valori posibile:

trist suma diferențelor absolute, rapidă (implicit)

sse suma erorilor pătrate

satd
suma diferențelor absolute transformate Hadamard

dct suma diferențelor absolute transformate DCT

psnr
suma erorilor de cuantizare pătrată (de evitat, calitate scăzută)

pic numărul de biți necesari pentru bloc

rd distorsiunea ratei optime, lente

zero
0

vsad
suma diferenţelor verticale absolute

vsse
suma diferențelor verticale pătrate

nse
Suma diferențelor pătrate pentru păstrarea zgomotului

w53 5/3 wavelet, folosit doar în zăpadă

w97 9/7 wavelet, folosit doar în zăpadă

dctmax
cromă
subcmp întreg (codificare, video)
Setați funcția de comparare sub pel me.

Valori posibile:

trist suma diferențelor absolute, rapidă (implicit)

sse suma erorilor pătrate

satd
suma diferențelor absolute transformate Hadamard

dct suma diferențelor absolute transformate DCT

psnr
suma erorilor de cuantizare pătrată (de evitat, calitate scăzută)

pic numărul de biți necesari pentru bloc

rd distorsiunea ratei optime, lente

zero
0

vsad
suma diferenţelor verticale absolute

vsse
suma diferențelor verticale pătrate

nse
Suma diferențelor pătrate pentru păstrarea zgomotului

w53 5/3 wavelet, folosit doar în zăpadă

w97 9/7 wavelet, folosit doar în zăpadă

dctmax
cromă
mbcmp întreg (codificare, video)
Setați funcția de comparare a macroblocurilor.

Valori posibile:

trist suma diferențelor absolute, rapidă (implicit)

sse suma erorilor pătrate

satd
suma diferențelor absolute transformate Hadamard

dct suma diferențelor absolute transformate DCT

psnr
suma erorilor de cuantizare pătrată (de evitat, calitate scăzută)

pic numărul de biți necesari pentru bloc

rd distorsiunea ratei optime, lente

zero
0

vsad
suma diferenţelor verticale absolute

vsse
suma diferențelor verticale pătrate

nse
Suma diferențelor pătrate pentru păstrarea zgomotului

w53 5/3 wavelet, folosit doar în zăpadă

w97 9/7 wavelet, folosit doar în zăpadă

dctmax
cromă
ildctcmp întreg (codificare, video)
Setați funcția de comparare dct intercalată.

Valori posibile:

trist suma diferențelor absolute, rapidă (implicit)

sse suma erorilor pătrate

satd
suma diferențelor absolute transformate Hadamard

dct suma diferențelor absolute transformate DCT

psnr
suma erorilor de cuantizare pătrată (de evitat, calitate scăzută)

pic numărul de biți necesari pentru bloc

rd distorsiunea ratei optime, lente

zero
0

vsad
suma diferenţelor verticale absolute

vsse
suma diferențelor verticale pătrate

nse
Suma diferențelor pătrate pentru păstrarea zgomotului

w53 5/3 wavelet, folosit doar în zăpadă

w97 9/7 wavelet, folosit doar în zăpadă

dctmax
cromă
dia_size întreg (codificare, video)
Setați tipul și dimensiunea diamantului pentru estimarea mișcării.

last_pred întreg (codificare, video)
Setați cantitatea de predictori de mișcare din cadrul precedent.

preme întreg (codificare, video)
Setați estimarea înainte de mișcare.

precmp întreg (codificare, video)
Setați funcția de comparare a estimării înainte de mișcare.

Valori posibile:

trist suma diferențelor absolute, rapidă (implicit)

sse suma erorilor pătrate

satd
suma diferențelor absolute transformate Hadamard

dct suma diferențelor absolute transformate DCT

psnr
suma erorilor de cuantizare pătrată (de evitat, calitate scăzută)

pic numărul de biți necesari pentru bloc

rd distorsiunea ratei optime, lente

zero
0

vsad
suma diferenţelor verticale absolute

vsse
suma diferențelor verticale pătrate

nse
Suma diferențelor pătrate pentru păstrarea zgomotului

w53 5/3 wavelet, folosit doar în zăpadă

w97 9/7 wavelet, folosit doar în zăpadă

dctmax
cromă
pre_dia_size întreg (codificare, video)
Setați tipul și dimensiunea diamantului pentru estimarea mișcării înainte de trecere.

subq întreg (codificare, video)
Setați calitatea estimării mișcării sub pel.

dtg_active_format întreg
mine_range întreg (codificare, video)
Setați intervalul limită de vectori de mișcare (1023 pentru playerul DivX).

ibias întreg (codificare, video)
Setați prejudecăți intra quant.

pbias întreg (codificare, video)
Setați prejudecățile inter quant.

color_table_id întreg
calitate_globală întreg (codificare, audio, video)
codator întreg (codificare, video)
Valori posibile:

VLC codificator de lungime variabilă / codificator huffman

ac codificator aritmetic

crud brut (fără codare)

RLE codificator de lungime de rulare

dezumfla
codificator bazat pe dezumflare

context întreg (codificare, video)
Setați modelul contextului.

steaguri_slice întreg
xvmc_acceleration întreg
mbd întreg (codificare, video)
Setați algoritmul de decizie macrobloc (modul de înaltă calitate).

Valori posibile:

simplu
utilizați mbcmp (implicit)

biţi
folosiți cei mai puțini biți

rd utilizați cea mai bună distorsiune a ratei

stream_codec_tag întreg
sc_threshold întreg (codificare, video)
Setați pragul de schimbare a scenei.

lmin întreg (codificare, video)
Setați factorul de lagrange minim (VBR).

Lmax întreg (codificare, video)
Setați factorul de lagrange maxim (VBR).

nr întreg (codificare, video)
Setați reducerea zgomotului.

rc_init_occupancy întreg (codificare, video)
Setați numărul de biți care ar trebui încărcați în bufferul rc înainte de a începe decodarea.

steaguri2 steaguri (decodare/codificare, audio, video)
Valori posibile:

rapid
Permiteți trucuri de accelerare care nu respectă specificațiile.

sgop
Învechit, utilizați opțiunile private mpegvideo.

noout
Omite codificarea fluxului de biți.

ignorecrop
Ignorați informațiile de decupare din sps.

antet_local
Plasați anteturi globale la fiecare cadru cheie în loc de extradate.

bucăți
Datele cadru pot fi împărțite în mai multe bucăți.

arata tot
Afișați toate cadrele înainte de primul cadru cheie.

skiprd
Învechit, utilizați opțiunile private mpegvideo.

export_mvs
Exportați vectorii de mișcare în date laterale de cadru (consultați „AV_FRAME_DATA_MOTION_VECTORS”)
pentru codecuri care îl acceptă. Vezi si doc/examples/export_mvs.c.

eroare întreg (codificare, video)
qns întreg (codificare, video)
Învechit, utilizați opțiunile private mpegvideo.

fire întreg (decodare/codare, video)
Valori posibile:

Auto
detectează un număr bun de fire

me_threshold întreg (codificare, video)
Setați pragul de estimare a mișcării.

mb_threshold întreg (codificare, video)
Setați pragul de macrobloc.

dc întreg (codificare, video)
Setați intra_dc_precision.

nsew întreg (codificare, video)
Setați greutatea nsse.

skip_top întreg (decodare, video)
Setați numărul de rânduri de macroblocuri în partea de sus care sunt omise.

skip_bottom întreg (decodare, video)
Setați numărul de rânduri de macroblocuri în partea de jos care sunt omise.

profil întreg (codificare, audio, video)
Valori posibile:

necunoscut
aac_main
aac_low
aac_ssr
aac_ltp
aac_he
aac_he_v2
aac_ld
aac_eld
mpeg2_aac_low
mpeg2_aac_he
mpeg4_sp
mpeg4_core
mpeg4_main
mpeg4_asp
dts
dts_es
dts_96_24
dts_hd_hra
dts_hd_ma
nivel întreg (codificare, audio, video)
Valori posibile:

necunoscut
rezolutie joasa întreg (decodare, audio, video)
Decodați la 1= 1/2, 2=1/4, 3=1/8 rezoluții.

skip_threshold întreg (codificare, video)
Setați pragul de omitere a cadrelor.

skip_factor întreg (codificare, video)
Setați factorul de ignorare a cadrelor.

skip_exp întreg (codificare, video)
Setați exponentul pentru omiterea cadrului. Valorile negative se comportă identic cu cele corespunzătoare
pozitive, cu excepția faptului că scorul este normalizat. Valorile pozitive există în primul rând
din motive de compatibilitate și nu sunt atât de utile.

skipcmp întreg (codificare, video)
Setați funcția de comparare pentru săriți cadre.

Valori posibile:

trist suma diferențelor absolute, rapidă (implicit)

sse suma erorilor pătrate

satd
suma diferențelor absolute transformate Hadamard

dct suma diferențelor absolute transformate DCT

psnr
suma erorilor de cuantizare pătrată (de evitat, calitate scăzută)

pic numărul de biți necesari pentru bloc

rd distorsiunea ratei optime, lente

zero
0

vsad
suma diferenţelor verticale absolute

vsse
suma diferențelor verticale pătrate

nse
Suma diferențelor pătrate pentru păstrarea zgomotului

w53 5/3 wavelet, folosit doar în zăpadă

w97 9/7 wavelet, folosit doar în zăpadă

dctmax
cromă
masca_border pluti (codificare, video)
Măriți cuantificatorul pentru macroblocuri aproape de granițe.

mblmin întreg (codificare, video)
Setați factorul de lagrange minim al macroblocului (VBR).

mblmax întreg (codificare, video)
Setați factorul de lagrange maxim al macroblocului (VBR).

mepc întreg (codificare, video)
Setați compensarea penalizării ratei de biți pentru estimarea mișcării (1.0 = 256).

skip_loop_filter întreg (decodare, video)
skip_idct întreg (decodare, video)
skip_frame întreg (decodare, video)
Efectuați procesarea decodorului în funcție de tipul de cadru selectat de opțiune
valoare.

skip_loop_filter omite filtrarea buclei de cadre, skip_idct sare peste cadrul
IDCT/decuantizare, skip_frame omite decodarea.

Valori posibile:

nici unul
Nu aruncați niciun cadru.

lipsă
Aruncați cadrele inutile, cum ar fi cadrele de dimensiunea 0.

noref
Aruncă toate cadrele care nu sunt de referință.

bidir
Eliminați toate cadrele bidirecționale.

fară cheie
Eliminați toate cadrele, cu excepția cadrelor cheie.

toate Aruncă toate cadrele.

Valoarea implicită este lipsă.

bidir_refine întreg (codificare, video)
Rafinați cei doi vectori de mișcare utilizați în macroblocuri bidirecționale.

brd_scale întreg (codificare, video)
Cadre reduse pentru o decizie dinamică a cadrelor B.

keyint_min întreg (codificare, video)
Setați intervalul minim între cadre IDR.

ref întreg (codificare, video)
Setați cadre de referință de luat în considerare pentru compensarea mișcării.

chromaoffset întreg (codificare, video)
Setați offsetul chroma qp față de luma.

spalier întreg (codificare, audio, video)
Setați cuantificarea optimă a distorsiunii ratei.

sc_factor întreg (codificare, video)
Valoarea setată înmulțită cu qscale pentru fiecare cadru și adăugată la scene_change_score.

mv0_threshold întreg (codificare, video)
b_sensibilitate întreg (codificare, video)
Ajustați sensibilitatea b_frame_strategy 1.

compresie_level întreg (codificare, audio, video)
min_prediction_order întreg (codificare, audio)
max_prediction_order întreg (codificare, audio)
timecode_frame_start întreg (codificare, video)
Setați numărul de început al cadrului de cod de timp GOP, în format fără cadru de drop.

request_channels întreg (decodare, audio)
Setați numărul dorit de canale audio.

biți_per_probă_brută întreg
channel_layout întreg (decodare/codificare, audio)
Valori posibile:

request_channel_layout întreg (decodare, audio)
Valori posibile:

rc_max_vbv_use pluti (codificare, video)
rc_min_vbv_use pluti (codificare, video)
ticks_per_frame întreg (decodare/codificare, audio, video)
culoare_primare întreg (decodare/codare, video)
color_trc întreg (decodare/codare, video)
colorspace întreg (decodare/codare, video)
gamă de culori întreg (decodare/codare, video)
Dacă este folosit ca parametru de intrare, servește ca un indiciu pentru decodor, care color_range este
intrarea are.

chroma_sample_location întreg (decodare/codare, video)
log_level_offset întreg
Setați compensarea nivelului de jurnal.

felii întreg (codificare, video)
Numărul de felii, utilizat în codificarea paralelizată.

tip_file steaguri (decodare/codare, video)
Selectați ce metode de multithreading să utilizați.

Utilizarea de cadru va crește întârzierea decodării cu un cadru pe fir, deci clienții care
nu poate oferi cadre viitoare nu ar trebui să-l folosească.

Valori posibile:

felie
Decodați mai mult de o parte dintr-un singur cadru simultan.

Multithreading folosind slice funcționează numai atunci când videoclipul a fost codificat cu slice.

cadru
Decodați mai mult de un cadru deodată.

Valoarea implicită este felie+cadru.

tip_serviciu_audio întreg (codificare, audio)
Setați tipul serviciului audio.

Valori posibile:

ma Serviciul audio principal

ef Efecte

vi Deficienți de vedere

hi Deficiențe de auz

di Dialog

co Comentariu

em Caz de urgenţă

vo Voice over

ka Karaoke

request_sample_fmt sample_fmt (decodare, audio)
Setați formatul de probă decodoarele audio ar trebui să prefere. Valoarea implicită este „niciunul”.

pkt_timebase rațional număr
sub_charenc codare (decodare, subtitrare)
Setați codificarea caracterelor pentru subtitrări.

field_order field_order (video)
Setați/înlocuiți ordinea câmpurilor pentru videoclip. Valori posibile:

progresiv
Video progresiv

tt Video intercalat, câmpul superior codificat și afișat primul

bb Video intercalat, câmpul de jos codificat și afișat primul

tb Video intercalat, mai întâi codificat de sus, primul afișat jos

bt Video intercalat, mai întâi codificat de jos, afișat primul

skip_alpha întreg (decodare, video)
Setați la 1 pentru a dezactiva procesarea alfa (transparență). Aceasta funcționează ca gri steag în
il steaguri opțiune care omite informațiile cromatice în loc de alfa. Implicit este 0.

codec_listă albă listă (intrare)
"," Listă separată de decodoare permise. În mod implicit, toate sunt permise.

dump_separator şir (intrare)
Separator folosit pentru a separa câmpurile imprimate pe linia de comandă despre flux
parametrii. De exemplu, pentru a separa câmpurile cu linii noi și indenție:

ffprobe -dump_separator "
"-i ~/videos/matrixbench_mpeg2.mpg

DECODIFICATORI


Decodoarele sunt elemente configurate în FFmpeg care permit decodarea fluxurilor multimedia.

Când vă configurați versiunea FFmpeg, toate decodoarele native acceptate sunt activate de
Mod implicit. Decodoarele care necesită o bibliotecă externă trebuie activate manual prin intermediul
opțiunea corespunzătoare „--enable-lib”. Puteți enumera toate decodoarele disponibile folosind
configurați opțiunea „--list-decoders”.

Puteți dezactiva toate decodoarele cu opțiunea de configurare „--disable-decoders” și
activați/dezactivați selectiv decodoarele individuale cu opțiunile „--enable-decoder=DECODOR" /
"--disable-decoder=DECODOR".

Opțiunea „-decoder” a instrumentelor ff* va afișa lista decodoarelor activate.

VIDEO DECODIFICATORI


Urmează o descriere a unora dintre decodoarele video disponibile în prezent.

hevc
Decodor HEVC / H.265.

Notă: skip_loop_filter opțiunea are efect numai la nivelul „toate”.

rawvideo
Decodor video brut.

Acest decodor decodifică fluxurile video brute.

Opţiuni

top top_field_first
Specificați tipul de câmp presupus al videoclipului de intrare.

-1 se presupune că videoclipul este progresiv (implicit)

0 bottom-field-first se presupune

1 top-field-first se presupune

AUDIO DECODIFICATORI


Urmează o descriere a unora dintre decodoarele audio disponibile în prezent.

ac3
Decodor audio AC-3.

Acest decodor implementează o parte din ATSC A/52:2010 și ETSI TS 102 366, precum și
RealAudio 3 nedocumentat (aka dnet).

AC-3 decodor Opţiuni

-drc_scale valoare
Factor de scară a intervalului dinamic. Factorul care trebuie aplicat valorilor din intervalul dinamic de la AC-3
curent. Acest factor este aplicat exponențial. Există 3 factori de scară notabile
intervale:

drc_scale == 0
DRC dezactivat. Produce sunet de gamă completă.

0 < drc_scale <= 1
DRC activată. Aplică o fracțiune din valoarea fluxului DRC. Reproducerea audio este
între gama completă și compresie completă.

drc_scale > 1
DRC activată. Se aplică drc_scale asimetric. Sunetele puternice sunt complet comprimate.
Sunetele slabe sunt îmbunătățite.

flac
Decodor audio FLAC.

Acest decodor își propune să implementeze specificația completă FLAC de la Xiph.

FLAC decodor Opțiuni

-use_buggy_lpc
Codificatorul lavc FLAC folosit pentru a produce fluxuri cu erori cu valori lpc ridicate (cum ar fi
valoare implicită). Această opțiune face posibilă decodarea corectă a unor astfel de fluxuri prin
folosind vechea logică buggy lpc a lavc pentru decodare.

ffwavesynth
Sintetizator de unde intern.

Acest decodor generează modele de undă în conformitate cu secvențe predefinite. Utilizarea sa este pură
intern și formatul datelor pe care le acceptă nu este documentat public.

libcelt
wrapper decodor libcelt.

libcelt permite libavcodec-ului să decodeze codecul audio Xiph CELT cu întârziere ultra joasă. Necesită
prezența antetelor și bibliotecii libcelt în timpul configurării. Trebuie să
configurați în mod explicit construcția cu „--enable-libcelt”.

libgsm
wrapper decodor libgsm.

libgsm permite libavcodec-ului să decodeze codecul audio GSM cu rată completă. Necesită prezența
anteturile și biblioteca libgsm în timpul configurării. Trebuie să configurați în mod explicit
construiți cu „--enable-libgsm”.

Acest decodor acceptă atât varianta GSM obișnuită, cât și varianta Microsoft.

libbc
wrapper decodor libbc.

libbc permite libavcodec să decodeze codecul audio Internet Low Bitrate Codec (iLBC).
Necesită prezența antetelor și bibliotecii libbc în timpul configurării. Trebuie să
configurați în mod explicit construcția cu „--enable-libilbc”.

Opţiuni

Următoarea opțiune este acceptată de wrapper-ul libbc.

spori
Activați îmbunătățirea sunetului decodat când este setată la 1. Valoarea implicită este 0
(dezactivat).

libopencore-amrnb
libopencore-amrnb decodor wrapper.

libopencore-amrnb permite libavcodec-ului să decodeze sunetul adaptiv cu mai multe rate în bandă îngustă
codec. Folosirea acestuia necesită prezența antetelor și bibliotecii libopencore-amrnb în timpul
configurație. Trebuie să configurați în mod explicit build-ul cu
„--enable-libopencore-amrnb”.

Există un decodor nativ FFmpeg pentru AMR-NB, astfel încât utilizatorii pot decoda AMR-NB fără acest lucru
bibliotecă.

libopencore-amrwb
libopencore-amrwb decodor wrapper.

libopencore-amrwb permite libavcodec-ului să decodifice sunetul adaptiv cu mai multe rate în bandă largă
codec. Folosirea acestuia necesită prezența antetelor și a bibliotecii libopencore-amrwb în timpul
configurație. Trebuie să configurați în mod explicit build-ul cu
„--enable-libopencore-amrwb”.

Există un decodor nativ FFmpeg pentru AMR-WB, astfel încât utilizatorii pot decoda AMR-WB fără acest lucru
bibliotecă.

libopus
ambalaj decodor libopus.

libopus permite libavcodec-ului să decodeze Opus Interactive Audio Codec. Necesită
prezența antetelor și a bibliotecii libopus în timpul configurării. Trebuie să o faci în mod explicit
configurați versiunea cu „--enable-libopus”.

Există un decodor nativ FFmpeg pentru Opus, astfel încât utilizatorii pot decoda Opus fără această bibliotecă.

SUBTITLURI DECODIFICATORI


dvbsub
Opţiuni

compute_clut
-1 Calculați clut dacă nu există niciun CLUT care se potrivește în flux.

0 Nu calculați niciodată CLUT

1 Calculați întotdeauna CLUT și înlocuiți-l pe cel furnizat în flux.

dvb_substream
Selectează substreamul dvb sau toate substreamurile dacă -1, care este implicit.

dvdsub
Acest codec decodifică subtitrările bitmap utilizate în DVD-uri; pot fi găsite și aceleași subtitrări
în perechi de fișiere VobSub și în unele fișiere Matroska.

Opţiuni

paleta
Specificați paleta globală utilizată de bitmaps. Când este stocată în VobSub, paleta este
specificat în mod normal în fișierul index; în Matroska, paleta este stocată în codec
extra-date în același format ca în VobSub. În DVD-uri, paleta este stocată în IFO
fișier și, prin urmare, nu este disponibil când citiți din fișierele VOB descărcate.

Formatul pentru această opțiune este un șir care conține 16 numere hexazecimale pe 24 de biți
(fără prefix 0x) separate prin coma, de exemplu „0d00ee, ee450d, 101010, eaeaea,
0ce60b, ec14ed, ebff0b, 0d617a, 7b7b7b, d1d1d1, 7b2a0e, 0d950c, 0f007b, cf0dec,
cfa80c, 7c127b".

ifo_palette
Specificați fișierul IFO din care se obține paleta globală. (experimental)

doar_subs_forțați
Decodați numai intrările de subtitrare marcate ca forțate. Unele titluri au forțat și neforțat
subtitrări în aceeași piesă. Setarea acestui steag la 1 va păstra doar forțat
subtitrări. Valoarea implicită este 0.

libzvbi-teletext
Libzvbi permite libavcodec-ului să decodeze paginile teletext DVB și subtitrările teletextului DVB.
Necesită prezența antetelor și bibliotecii libzvbi în timpul configurării. Trebuie să
configurați în mod explicit construcția cu „--enable-libzvbi”.

Opţiuni

txt_page
Lista numerelor de pagini de teletext de decodat. Puteți folosi șirul special * pentru a se potrivi cu toate
pagini. Paginile care nu se potrivesc cu lista specificată sunt eliminate. Valoarea implicită este *.

txt_chop_top
Îndepărtează linia de teletext de sus. Valoarea implicită este 1.

txt_format
Specifică formatul subtitrarilor decodificate. Decodorul de teletext este capabil
decodarea paginilor de teletext în bitmap sau text simplu, ar trebui să utilizați „bitmap” pentru
paginile teletext, deoarece anumite elemente grafice și culori nu pot fi exprimate simplu
text. Puteți folosi „text” pentru subtitrări bazate pe teletext, dacă aplicația dvs. poate gestiona
subtitrări simple bazate pe text. Valoarea implicită este bitmap.

txt_left
Offset X al bitmap-urilor generate, implicit este 0.

txt_top
Decalajul Y al hărților de biți generate, implicit este 0.

txt_chop_spaces
Taie spațiile de început și de final și elimină liniile goale din textul generat.
Această opțiune este utilă pentru subtitrări bazate pe teletext, unde pot fi prezente spații goale
la începutul sau la sfârșitul liniilor sau linii goale pot fi prezente între
linii de subtitrare din cauza caracterelor teletext cu dimensiuni duble. Valoarea implicită este 1.

txt_duration
Setează durata de afișare a paginilor teletext sau a subtitrărilor decodificate în milisecunde.
Valoarea implicită este 30000, adică 30 de secunde.

txt_transparent
Forțați fundalul transparent al hărților de biți teletext generate. Valoarea implicită este 0
ceea ce înseamnă un fundal opac (negru).

Codificatori


Codificatoarele sunt elemente configurate în FFmpeg care permit codificarea fluxurilor multimedia.

Când configurați versiunea FFmpeg, toate codificatoarele native acceptate sunt activate de
Mod implicit. Codificatoarele care necesită o bibliotecă externă trebuie activate manual prin intermediul
opțiunea corespunzătoare „--enable-lib”. Puteți enumera toți codificatoarele disponibile folosind
configurați opțiunea „--list-encoders”.

Puteți dezactiva toate codificatoarele cu opțiunea de configurare „--disable-encoders” și
activați/dezactivați selectiv codificatoarele unice cu opțiunile „--enable-encoder=ENCODER" /
"--disable-encoder=ENCODER".

Opțiunea „-encoders” a instrumentelor ff* va afișa lista de codificatoare activate.

AUDIO Codificatori


Urmează o descriere a unora dintre codificatoarele audio disponibile în prezent.

aac
Codificator Advanced Audio Coding (AAC).

Acest encoder este un encoder AAC nativ FFmpeg experimental. Momentan doar cel scăzut
Profilul de complexitate (AAC-LC) este acceptat. Pentru a utiliza acest codificator, trebuie să setați strict opțiune
la experimental sau mai jos.

Deoarece acest codificator este experimental, poate exista un comportament neașteptat din când în când. Pentru o
mai stabil codificator AAC, vezi libvo-aacenc. Totuși, fiți avertizat că are o calitate mai proastă
raportate de unii utilizatori.

Vezi si libfdk_aac.

Opţiuni

b Setați rata de biți în biți/s. Setarea acestui lucru activează automat rata de biți constantă (CBR)
Mod.

q Setați calitatea pentru modul cu rată de biți variabilă (VBR). Această opțiune este valabilă numai folosind
FFMPEG instrument de linie de comandă. Pentru utilizatorii de interfață bibliotecă, utilizați calitate_globală.

stereo_mode
Setați modul de codare stereo. Valori posibile:

Auto
Selectat automat de către codificator.

ms_off
Dezactivați codarea mijloc/laterală. Aceasta este valoarea implicită.

ms_force
Forțați codarea mijloc/laterală.

aac_coder
Setați metoda de codare a codificatorului AAC. Valori posibile:

faac
Metodă inspirată de FAAC.

Această metodă este o reimplementare simplificată a metodei utilizate în FAAC, care
stabilește praguri proporționale cu energiile benzii și apoi scade toate
praguri cu trepte de cuantizare pentru a găsi cuantizarea adecvată
distorsiune sub prag bandă cu bandă.

Calitatea acestei metode este comparabilă cu metoda de căutare în două bucle
descris mai jos, dar ceva mai bine și mai lent.

anmr
Soluție bazată pe spalier mediu zgomot/mască (ANMR).

Aceasta are cea mai bună calitate teoretică dintre toate metodele de codare, dar la costuri
cu cea mai mică viteză.

două bucle
Metoda de căutare în două bucle (TLS).

Această metodă setează mai întâi cuantificatoarele în funcție de pragurile benzii și apoi încearcă
găsiți o combinație optimă prin adăugarea sau scăderea unei anumite valori din toate
cuantificatoare și ajustând puțin unele cuantificatoare individuale.

Această metodă produce o calitate similară cu metoda FAAC și este implicită.

rapid
Metoda cuantificatorului constant.

Această metodă stabilește un cuantificator constant pentru toate benzile. Acesta este cel mai rapid dintre toate
metodele, dar produce cea mai proastă calitate.

ac3 și ac3_fixed
Codificatoare audio AC-3.

Aceste codificatoare implementează o parte din ATSC A/52:2010 și ETSI TS 102 366, precum și
RealAudio 3 nedocumentat (aka dnet).

ac3 codificatorul folosește matematica în virgulă mobilă, în timp ce ac3_fixed codificatorul folosește numai fix-
punct întreg matematică. Acest lucru nu înseamnă că unul este întotdeauna mai rapid, doar că unul sau cel
altele pot fi mai potrivite unui anumit sistem. Codificatorul în virgulă mobilă va
în general, produc sunet de calitate mai bună pentru un anumit bitrate. The ac3_fixed codificatorul nu este
codecul implicit pentru oricare dintre formatele de ieșire, deci trebuie specificat în mod explicit folosind
opțiunea „-acodec ac3_fixed” pentru a o utiliza.

AC-3 Metadata

Opțiunile de metadate AC-3 sunt folosite pentru a seta parametrii care descriu audio, dar în majoritatea
cazurile nu afectează codificarea audio în sine. Unele dintre opțiuni afectează direct sau
influențează decodificarea și redarea fluxului de biți rezultat, în timp ce altele sunt doar pentru
scopuri informative. Câteva dintre opțiuni vor adăuga biți la fluxul de ieșire care ar putea
altfel va fi folosit pentru date audio și va afecta astfel calitatea ieșirii. Acestea
va fi indicat în consecință printr-o notă în lista de opțiuni de mai jos.

Acești parametri sunt descriși în detaliu în mai multe documente disponibile public.

*<http://www.atsc.org/cms/standards/a_52-2010.pdf>>
*<http://www.atsc.org/cms/standards/a_54a_with_corr_1.pdf>>
*<http://www.dolby.com/uploadedFiles/zz-_Shared_Assets/English_PDFs/Professional/18_Metadata.Guide.pdf>>
*<http://www.dolby.com/uploadedFiles/zz-_Shared_Assets/English_PDFs/Professional/46_DDEncodingGuidelines.pdf>>

Opțiuni de control al metadatelor

-per_metadate_cadru boolean
Permite metadatele pe cadru. Specifică dacă codificatorul trebuie să verifice dacă metadatele sunt modificate
pentru fiecare cadru.

0 Valorile metadatelor setate la inițializare vor fi utilizate pentru fiecare cadru din
curent. (Mod implicit)

1 Valorile metadatelor pot fi modificate înainte de codificarea fiecărui cadru.

Niveluri de amestecare în jos

-center_mixlev nivel
Nivel de amestec central. Cantitatea de câștig pe care decodorul ar trebui să se aplice canalului central
la downmix la stereo. Acest câmp va fi scris în fluxul de biți numai dacă a
canalul central este prezent. Valoarea este specificată ca factor de scară. Sunt 3 valabile
valori:

0.707
Aplicați câștig de -3dB

0.595
Aplicați câștig de -4.5 dB (implicit)

0.500
Aplicați câștig de -6dB

-surround_mixlev nivel
Nivel de mixare surround. Cantitatea de câștig pe care decodorul ar trebui să se aplice surroundului
canal(e) la downmix la stereo. Acest câmp va fi scris numai în fluxul de biți
dacă sunt prezente unul sau mai multe canale surround. Valoarea este specificată ca o scară
factor. Există 3 valori valide:

0.707
Aplicați câștig de -3dB

0.500
Aplicați câștig de -6 dB (implicit)

0.000
Tăcere canal(e) surround

Informații despre producția audio

Informațiile de producție audio sunt informații opționale care descriu mediul de mixare.
Nici unul sau ambele câmpuri sunt scrise în fluxul de biți.

-nivel_mixing număr
Nivel de amestecare. Specifică nivelul de vârf al presiunii sonore (SPL) în mediul de producție
când amestecul a fost stăpânit. Valorile valide sunt de la 80 la 111 sau -1 pentru necunoscut sau nu
indicat. Valoarea implicită este -1, dar această valoare nu poate fi utilizată dacă Audio
Informațiile de producție sunt scrise în fluxul de biți. Prin urmare, dacă „room_type”
opțiunea nu este valoarea implicită, opțiunea „mixing_level” nu trebuie să fie -1.

-tipul camerei tip
Tipul camerei. Descrie egalizarea utilizată în timpul sesiunii finale de mixare la
studio sau pe scena de dublare. O cameră mare este o etapă de dublare cu industria
egalizare standard X-curbe; o cameră mică are egalizare plată. Acest câmp va
nu poate fi scris în fluxul de biți dacă atât opțiunea „mixing_level” cât și „room_type”
opțiunea are valorile implicite.

0
neindicat
Neindicat (implicit)

1
mare
Cameră mare

2
mic
Camera mica

Alte opțiuni de metadate

-drepturi de autor boolean
Indicator de drepturi de autor. Specifică dacă există drepturi de autor pentru acest sunet.

0
de pe Nu există drepturi de autor (implicit)

1
on Drepturile de autor există

-dialnorm valoare
Normalizarea dialogului. Indică cât de departe este nivelul mediu de dialog al programului
sub digital 100% scară completă (0 dBFS). Acest parametru determină o schimbare de nivel în timpul
reproducere audio care setează volumul mediu al dialogului la un nivel prestabilit. The
Scopul este de a potrivi nivelul de volum între sursele programului. Va rezulta o valoare de -31dB
nicio modificare a nivelului volumului, în raport cu volumul sursei, în timpul reproducerii audio.
Valorile valide sunt numere întregi în intervalul -31 până la -1, cu -31 fiind implicit.

-dsur_mode mod
Mod Dolby Surround. Specifică dacă semnalul stereo utilizează Dolby Surround (Pro
Logică). Acest câmp va fi scris în fluxul de biți numai dacă fluxul audio este
stereo. Folosind această opțiune NU înseamnă că codificatorul va aplica de fapt Dolby Surround
prelucrare.

0
neindicat
Neindicat (implicit)

1
de pe Nu este codificat Dolby Surround

2
on Dolby Surround codificat

-original boolean
Indicator de flux de biți original. Specifică dacă acest sunet provine din original
sursa si nu o copie.

0
de pe Nu sursa originală

1
on Sursa originală (implicit)

Extins bitstream Informații

Opțiunile de flux de biți extinse fac parte din Sintaxa de flux de biți alternativ, așa cum este specificat în
Anexa D la standardul A/52:2010. Este grupat în 2 părți. Dacă vreun parametru din a
grup este specificat, toate valorile din acel grup vor fi scrise în fluxul de biți. Mod implicit
valorile sunt folosite pentru cele care sunt scrise dar nu au fost specificate. Dacă amestecarea
nivelurile sunt scrise, decodorul va folosi aceste valori în locul celor specificate în
Opțiunile „center_mixlev” și „surround_mixlev” dacă acceptă fluxul de biți alternativ
Sintaxă.

Informații extinse de flux de biți - Partea 1

-dmix_mode mod
Mod de mixare stereo preferat. Permite utilizatorului să selecteze fie Lt/Rt (Dolby Surround)
sau Lo/Ro (stereo normal) ca mod de downmix stereo preferat.

0
neindicat
Neindicat (implicit)

1
ltrt
Lt/Rt Downmix de preferat

2
Loro
Lo/Ro Downmix De preferat

-ltrt_cmixlev nivel
Lt/Rt Center Mix Level. Cantitatea de câștig pe care decodorul ar trebui să se aplice centrului
canal la downmix la stereo în modul Lt/Rt.

1.414
Aplicați câștig de +3dB

1.189
Aplicați câștig de +1.5dB

1.000
Aplicați un câștig de 0 dB

0.841
Aplicați câștig de -1.5dB

0.707
Aplicați câștig de -3.0dB

0.595
Aplicați câștig de -4.5 dB (implicit)

0.500
Aplicați câștig de -6.0dB

0.000
Canalul central al tăcerii

-ltrt_surmixlev nivel
Lt/Rt Surround Mix Level. Cantitatea de câștig pe care decodorul ar trebui să se aplice surroundului
canal(e) atunci când downmix în stereo în modul Lt/Rt.

0.841
Aplicați câștig de -1.5dB

0.707
Aplicați câștig de -3.0dB

0.595
Aplicați câștig de -4.5dB

0.500
Aplicați câștig de -6.0 dB (implicit)

0.000
Tăcere canal(e) surround

-loro_cmixlev nivel
Lo/Ro Center Mix Level. Cantitatea de câștig pe care decodorul ar trebui să se aplice centrului
canal la downmix la stereo în modul Lo/Ro.

1.414
Aplicați câștig de +3dB

1.189
Aplicați câștig de +1.5dB

1.000
Aplicați un câștig de 0 dB

0.841
Aplicați câștig de -1.5dB

0.707
Aplicați câștig de -3.0dB

0.595
Aplicați câștig de -4.5 dB (implicit)

0.500
Aplicați câștig de -6.0dB

0.000
Canalul central al tăcerii

-loro_surmixlev nivel
Nivel de mixare surround Lo/Ro. Cantitatea de câștig pe care decodorul ar trebui să se aplice surroundului
canal(e) atunci când downmix în stereo în modul Lo/Ro.

0.841
Aplicați câștig de -1.5dB

0.707
Aplicați câștig de -3.0dB

0.595
Aplicați câștig de -4.5dB

0.500
Aplicați câștig de -6.0 dB (implicit)

0.000
Tăcere canal(e) surround

Informații extinse de flux de biți - Partea 2

-dsurex_mode mod
Mod Dolby Surround EX. Indică dacă fluxul utilizează Dolby Surround EX (7.1
matrice la 5.1). Folosind această opțiune NU înseamnă că codificatorul se va aplica de fapt
Procesare Dolby Surround EX.

0
neindicat
Neindicat (implicit)

1
on Dolby Surround EX dezactivat

2
de pe Dolby Surround EX activat

-dheadphone_mode mod
Modul căști Dolby. Indică dacă fluxul utilizează codificare Dolby Headphone
(multi-canal matriceat la 2.0 pentru utilizare cu căști). Folosind această opțiune NU
înseamnă că codificatorul va aplica de fapt procesarea Dolby Headphone.

0
neindicat
Neindicat (implicit)

1
on Căști Dolby oprite

2
de pe Căști Dolby activate

-ad_conv_type tip
Tip de convertor A/D. Indică dacă sunetul a trecut prin HDCD A/D
conversie.

0
standard
Convertor A/D standard (implicit)

1
hdcd
Convertor HDCD A/D

Altele AC-3 codificare Opţiuni

-stereo_rematrixare boolean
Rematrixare stereo. Activează/dezactivează utilizarea rematrixării pentru intrare stereo. Aceasta este o
caracteristică opțională AC-3 care crește calitatea prin codificarea selectivă stânga/dreapta
canale ca mijloc/lateral. Această opțiune este activată în mod implicit și este foarte recomandată
să fie lăsat ca activat, cu excepția scopurilor de testare.

Numai în virgulă mobilă AC-3 codificare Opţiuni

Aceste opțiuni sunt valabile numai pentru codificatorul în virgulă mobilă și nu există pentru
codificator fix din cauza caracteristicilor corespunzătoare care nu sunt implementate în fixed-coder
punct.

-canal_coupling boolean
Activează/dezactivează utilizarea cuplarii canalelor, care este o caracteristică opțională AC-3 care
crește calitatea prin combinarea informațiilor de înaltă frecvență de la mai multe canale în
un singur canal. Informațiile de înaltă frecvență pe canal sunt trimise cu mai puțin
acuratețe atât în ​​domeniul frecvenței cât și al timpului. Acest lucru permite folosirea mai multor biți
frecvențe mai scăzute, păstrând în același timp suficiente informații pentru a reconstrui înaltul
frecvente. Această opțiune este activată implicit pentru codificatorul în virgulă mobilă și
în general, ar trebui lăsat ca activat, cu excepția testării sau pentru a crește
viteza de codare.

-1
Auto
Selectat de codificator (implicit)

0
de pe Dezactivați cuplarea canalului

1
on Activați cuplarea canalului

-cpl_start_band număr
Banda de pornire de cuplare. Setează banda de pornire a cuplării canalelor, de la 1 la 15. Dacă este o valoare
mai mare decât este utilizată lățimea de bandă, aceasta va fi redusă cu 1 mai puțin decât capătul de cuplare
grup. Dacă Auto este utilizat, banda de pornire va fi determinată de codificator pe baza
rata de biți, rata de eșantionare și aspectul canalului. Această opțiune nu are efect dacă este canal
cuplarea este dezactivată.

-1
Auto
Selectat de codificator (implicit)

flac
Codificator FLAC (codec audio gratuit fără pierderi).

Opţiuni

Următoarele opțiuni sunt acceptate de codificatorul flac al FFmpeg.

compresie_level
Setează nivelul de compresie, care alege valorile implicite pentru multe alte opțiuni, dacă acestea sunt
nu este stabilit în mod explicit.

Marimea ramei
Setează dimensiunea cadrelor în mostre pe canal.

lpc_coeff_precision
Setează precizia coeficientului LPC, valorile valide sunt de la 1 la 15, 15 este valoarea implicită.

tip_lpc
Setează algoritmul LPC din prima etapă

nici unul
LPC nu este utilizat

fixată
coeficienți LPC fix

levinson
cholesky
lpc_passes
Numărul de treceri de utilizat pentru factorizarea Cholesky în timpul analizei LPC

min_partition_order
Ordinea minimă de partiție

max_partition_order
Ordinea maximă de partiție

metoda_ordinea_predicției
evaluare
2nivel
4nivel
8nivel
căutare
Căutare cu forță brută

log
ch_mode
Mod canal

Auto
Modul este ales automat pentru fiecare cadru

indep
Canalele sunt codificate independent

partea stanga
partea dreapta
mijloc_partea
parametrii_orez_exacți
Alege dacă parametrii orezului sunt calculați exact sau aproximativ. dacă se setează la 1 atunci
sunt aleși exact, ceea ce încetinește ușor codul și îmbunătățește compresia
puțin.

multi_dim_quant
Cuantizare multidimensională. Dacă se setează la 1, se aplică un algoritm LPC de a doua etapă
după prima etapă de reglare fină a coeficienţilor. Acest lucru este destul de lent și ușor
îmbunătățește compresia.

libfaac
Encoder Wrapper AAC (Advanced Audio Coding) libfaac.

Necesită prezența antetelor și bibliotecii libfaac în timpul configurării. Trebuie să
configurați în mod explicit construcția cu „--enable-libfaac --enable-nonfree”.

Acest codificator este considerat a fi de o calitate superioară în ceea ce privește il nativ
experimental fFmpeg AAC encoder.

Pentru mai multe informații, consultați proiectul libfaac lahttp://www.audiocoding.com/faac.html/>.

Opţiuni

Următoarele opțiuni de codec FFmpeg partajate sunt recunoscute.

Următoarele opțiuni sunt acceptate de wrapper-ul libfaac. The faac-echivalentul
opțiunile sunt enumerate în paranteze.

b (-b)
Setați rata de biți în biți/s pentru modul ABR (Rata medie de biți). Dacă rata de biți nu este
specificat în mod explicit, este setat automat la o valoare adecvată în funcție de
profilul selectat. faac rata de biți este exprimată în kilobiți/s.

Rețineți că libfaac nu acceptă CBR (Constant Bit Rate), ci doar ABR (Average Bit
Rată).

Dacă modul VBR este activat, această opțiune este ignorată.

ar (-R)
Setați rata de eșantionare audio (în Hz).

ac (-c)
Setați numărul de canale audio.

cutoff (-C)
Setați frecvența de tăiere. Dacă nu este specificat (sau setat în mod explicit la 0), va folosi o valoare
calculată automat de bibliotecă. Valoarea implicită este 0.

profil
Setați profilul audio.

Sunt recunoscute următoarele profiluri:

aac_main
AAC principal (principal)

aac_low
AAC de complexitate scăzută (LC)

aac_ssr
Rată de eșantionare scalabilă (SSR)

aac_ltp
Predicție pe termen lung (LTP)

Dacă nu este specificat, este setat la aac_low.

steaguri +qscale
Setați modul VBR (Variable Bit Rate) de calitate constantă.

calitate_globală
Setați calitatea în modul VBR ca număr întreg de unități lambda.

Relevant doar când modul VBR este activat cu „steaguri +qscale”. Valoarea este convertită
la unitățile QP, împărțind-o la „FF_QP2LAMBDA”, și utilizată pentru a seta valoarea calității utilizată
de libfaac. Un interval rezonabil pentru valoarea opțiunii în unități QP este [10-500], the
valoarea este mai mare cu atât calitatea este mai mare.

q (-q)
Activați modul VBR când este setat la o valoare nenegativă și setați o valoare constantă a calității ca a
valoare dublă în virgulă mobilă în unități QP.

Valoarea stabilește valoarea calității utilizată de libfaac. O gamă rezonabilă pentru opțiune
valoarea este [10-500], cu cât valoarea este mai mare, cu atât calitatea este mai mare.

Această opțiune este valabilă numai folosind FFMPEG instrument de linie de comandă. Pentru interfața de bibliotecă
utilizatori, utilizați calitate_globală.

Exemple

· Utilizare FFMPEG pentru a converti un fișier audio în ABR 128 kbps AAC într-un container M4A (MP4):

ffmpeg -i input.wav -codec:a libfaac -b:a 128k -output.m4a

· Utilizare FFMPEG pentru a converti un fișier audio în VBR AAC, folosind profilul LTP AAC:

ffmpeg -i input.wav -c:a libfaac -profile:a aac_ltp -q:a 100 output.m4a

libfdk_aac
Encoder libfdk-aac AAC (Advanced Audio Coding).

Biblioteca libfdk-aac se bazează pe codul Fraunhofer FDK AAC din proiectul Android.

Necesită prezența antetelor și bibliotecii libfdk-aac în timpul configurării. Ai nevoie
pentru a configura în mod explicit construcția cu „--enable-libfdk-aac”. Biblioteca este de asemenea
incompatibil cu GPL, deci dacă permiteți utilizarea GPL, ar trebui să configurați cu
„--enable-gpl --enable-nonfree --enable-libfdk-aac”.

Acest codificator este considerat a fi de o calitate superioară în ceea ce privește ambele il nativ
experimental fFmpeg AAC encoder și libfaac.

Codificare VBR, activată prin VBR or steaguri +qscale opțiuni, este experimentală și numai
funcționează cu unele combinații de parametri.

Suportul pentru codificarea audio 7.1 este disponibil numai cu libfdk-aac 0.1.3 sau o versiune ulterioară.

Pentru mai multe informații, consultați proiectul fdk-aac la
<http://sourceforge.net/p/opencore-amr/fdk-aac/>.

Opţiuni

Următoarele opțiuni sunt mapate pe opțiunile de codec FFmpeg partajate.

b Setați rata de biți în biți/s. Dacă rata de biți nu este specificată în mod explicit, este
setată automat la o valoare adecvată în funcție de profilul selectat.

În cazul în care modul VBR este activat, opțiunea este ignorată.

ar Setați rata de eșantionare audio (în Hz).

canale
Setați numărul de canale audio.

steaguri +qscale
Activați calitate fixă, modul VBR (Variable Bit Rate). Rețineți că VBR este implicit
activat atunci când VBR valoarea este pozitivă.

cutoff
Setați frecvența de tăiere. Dacă nu este specificat (sau setat în mod explicit la 0), va folosi o valoare
calculată automat de bibliotecă. Valoarea implicită este 0.

profil
Setați profilul audio.

Sunt recunoscute următoarele profiluri:

aac_low
AAC de complexitate scăzută (LC)

aac_he
AAC de înaltă eficiență (HE-AAC)

aac_he_v2
AAC de înaltă eficiență versiunea 2 (HE-AACv2)

aac_ld
Întârziere scăzută AAC (LD)

aac_eld
AAC cu întârziere scăzută îmbunătățită (ELD)

Dacă nu este specificat, este setat la aac_low.

Următoarele sunt opțiuni private ale codificatorului libfdk_aac.

post-ardere
Activați funcția de post-ardere dacă este setată la 1, dezactivată dacă este setată la 0. Acest lucru îmbunătățește
calitate dar și puterea de procesare necesară.

Valoarea implicită este 1.

eld_sbr
Activați SBR (Spectral Band Replication) pentru ELD dacă este setat la 1, dezactivat dacă este setat la 0.

Valoarea implicită este 0.

semnalizare
Setați stilul de semnalizare SBR/PS.

Poate lua una dintre următoarele valori:

lipsă
alegeți semnalizarea implicit (în mod implicit ierarhic explicit, implicit dacă este global
antetul este dezactivat)

implicit
semnalizare implicită retrocompatibilă

explicit_sbr
SBR explicit, semnalizare PS implicită

explicit_ierarhic
semnalizare ierarhică explicită

Valoarea implicită este lipsă.

latm
Ieșiți date încapsulate LATM/LOAS dacă sunt setate la 1, dezactivate dacă sunt setate la 0.

Valoarea implicită este 0.

header_period
Setați StreamMuxConfig și perioada de repetiție PCE (în cadre) pentru trimiterea în bandă
tampon de configurare în stratul de transport LATM/LOAS.

Trebuie să fie un întreg nenegativ de 16 biți.

Valoarea implicită este 0.

VBR Setați modul VBR, de la 1 la 5. 1 este de cea mai scăzută calitate (deși încă destul de bun) și 5 este
cea mai bună calitate. O valoare de 0 va dezactiva VBR, iar CBR (Constant Bit Rate) este
activat.

Momentan doar aac_low Profilul acceptă codificarea VBR.

Modurile VBR 1-5 corespund aproximativ următoarelor rate medii de biți:

1 32 kbps/canal

2 40 kbps/canal

3 48-56 kbps/canal

4 64 kbps/canal

5 aproximativ 80-96 kbps/canal

Valoarea implicită este 0.

Exemple

· Utilizare FFMPEG pentru a converti un fișier audio în VBR AAC într-un container M4A (MP4):

ffmpeg -i input.wav -codec:a libfdk_aac -vbr 3 output.m4a

· Utilizare FFMPEG pentru a converti un fișier audio în CBR 64k kbps AAC, folosind AAC de înaltă eficiență
profil:

ffmpeg -i input.wav -c:a libfdk_aac -profile:a aac_he -b:a 64k output.m4a

libmp3lame
LAME (Lame Ain't an MP3 Encoder) Encoder MP3.

Necesită prezența antetelor și bibliotecii libmp3lame în timpul configurării. Ai nevoie
pentru a configura în mod explicit construcția cu „--enable-libmp3lame”.

Vedea libshine pentru un codificator MP3 fix, deși cu o calitate mai scăzută.

Opţiuni

Următoarele opțiuni sunt acceptate de wrapper-ul libmp3lame. The șchiop-echivalentul
opțiunile sunt enumerate în paranteze.

b (-b)
Setați rata de biți exprimată în biți/s pentru CBR sau ABR. „bitrate” LAME este exprimat în
kilobiți/s.

q (-V)
Setați setarea de calitate constantă pentru VBR. Această opțiune este valabilă numai folosind FFMPEG
instrument de linie de comandă. Pentru utilizatorii de interfață bibliotecă, utilizați calitate_globală.

compresie_level (-q)
Setați calitatea algoritmului. Argumentele valide sunt numere întregi în intervalul 0-9, cu semnificația 0
cea mai înaltă calitate, dar cel mai lent și 9 înseamnă cel mai rapid, producând cea mai proastă calitate.

rezervor
Activați utilizarea rezervorului de biți când este setat la 1. Valoarea implicită este 1. LAME are această opțiune activată
implicit, dar poate fi suprascris prin utilizare --nores opțiune.

joint_stereo (-m j)
Permiteți codificatorului să folosească (cadru cu cadru) fie stereo L/R, fie mijloc/lateral
stereo. Valoarea implicită este 1.

abr (--abr)
Activați codificatorul să folosească ABR atunci când este setat la 1 șchiop --abr setează rata de biți țintă,
în timp ce această opțiune îi spune doar FFmpeg să folosească ABR pe care încă se bazează b pentru a seta rata de biți.

libopencore-amrnb
Encoder adaptiv de bandă îngustă cu mai multe rate OpenCORE.

Necesită prezența antetelor și bibliotecii libopencore-amrnb în timpul configurării.
Trebuie să configurați în mod explicit compilarea cu „--enable-libopencore-amrnb
--enable-version3".

Acesta este un codificator mono. Oficial, acceptă doar o frecvență de eșantionare de 8000 Hz, dar poți
anulați-l prin setare strict la neoficial sau mai jos.

Opţiuni

b Setați rata de biți în biți pe secundă. Sunt acceptate doar următoarele rate de biți, în caz contrar
libavcodec se va rotunji la cea mai apropiată rată de biți validă.

4750
5150
5900
6700
7400
7950
10200
12200
dtx Permite transmisie discontinuă (generează zgomot de confort) atunci când este setată la 1. Implicit
valoarea este 0 (dezactivat).

libshine
Encoder MP3 Shine Fixed-Point.

Shine este un codificator MP3 cu punct fix. Are o performanță mult mai bună pe platformele fără
un FPU, de exemplu, CPU-uri armel și unele telefoane și tablete. Cu toate acestea, deoarece este mai vizat
performanță decât calitate, nu este la egalitate cu LAME și alte codificatoare de calitate
din punct de vedere calitativ. De asemenea, conform paginii de start a proiectului, este posibil ca acest codificator să nu fie lipsit de
erori, deoarece codul a fost scris cu mult timp în urmă și proiectul a fost mort de cel puțin 5
ani.

Acest encoder acceptă doar intrare stereo și mono. Acesta este, de asemenea, doar CBR.

Proiectul original (actualizat ultima dată la începutul anului 2007) este la
<http://sourceforge.net/projects/libshine-fxp/>. Acceptăm doar bifurcația actualizată de către
Proiect Savonet/Liquidsoap lahttps://github.com/savonet/shine>.

Necesită prezența antetelor și bibliotecii libshine în timpul configurării. Ai nevoie
pentru a configura în mod explicit construcția cu „--enable-libshine”.

Vezi si libmp3lame.

Opţiuni

Următoarele opțiuni sunt acceptate de wrapper-ul libshine. The shineenc-echivalentul a
opțiunile sunt enumerate în paranteze.

b (-b)
Setați rata de biți exprimată în biți/s pentru CBR. shineenc -b opțiunea este exprimată în
kilobiți/s.

libtwolame
Ambalaj pentru codificator TwoLAME MP2.

Necesită prezența antetelor și bibliotecii libtwolame în timpul configurării. Ai nevoie
pentru a configura în mod explicit construcția cu „--enable-libtwolame”.

Opţiuni

Următoarele opțiuni sunt acceptate de wrapper-ul libtwolame. The doi şchiopi-echivalent
opțiunile urmează pe cele FFmpeg și sunt între paranteze.

b (-b)
Setați rata de biți exprimată în biți/s pentru CBR. doi şchiopi b opțiunea este exprimată în kilobiți/s.
Valoarea implicită este 128k.

q (-V)
Setați calitatea pentru suportul VBR experimental. Intervalul maxim de valori este de la -50 la 50,
intervalul util este de la -10 la 10. Cu cât valoarea este mai mare, cu atât calitatea este mai bună. Acest
opțiunea este valabilă numai folosind FFMPEG instrument de linie de comandă. Pentru utilizatorii interfeței bibliotecii,
utilizare calitate_globală.

mod (--mod)
Setați modul audio rezultat. Valori posibile:

Auto
Alegeți modul automat în funcție de intrare. Aceasta este valoarea implicită.

stereo
Stereo

joint_stereo
Stereo comun

canal dual
Canal dual

mono
Mono

psimodel (--modul-psic)
Setați modelul psihoacustic pentru a fi folosit în codificare. Argumentul trebuie să fie un număr întreg între
-1 și 4, inclusiv. Cu cât valoarea este mai mare, cu atât calitatea este mai bună. Valoarea implicită
este 3.

niveluri_energetice (--energie)
Activați extensiile nivelurilor de energie când este setată la 1. Valoarea implicită este 0 (dezactivată).

eroare_protecție (--proteja)
Activați protecția împotriva erorilor CRC când este setată la 1. Valoarea implicită este 0 (dezactivată).

drepturi de autor (--drepturi de autor)
Setați marcatorul de copyright audio MPEG când este setat la 1. Valoarea implicită este 0 (dezactivată).

original (--original)
Setați marcatorul original audio MPEG când este setat la 1. Valoarea implicită este 0 (dezactivată).

libvo-aacenc
Codificator VisualOn AAC.

Necesită prezența antetelor și bibliotecii libvo-aacenc în timpul configurării. Tu
trebuie să configurați în mod explicit construcția cu „--enable-libvo-aacenc --enable-version3”.

Acest codificator este considerat a fi mai rău decât nativ experimental fFmpeg AAC encoder,
conform mai multor surse.

Opţiuni

Codificatorul VisualOn AAC acceptă numai codificarea AAC-LC și până la 2 canale. Este, de asemenea
Numai CBR.

b Setați rata de biți în biți/s.

libvo-amrwbenc
Codificator adaptiv Multi-Rate de bandă largă VisualOn.

Necesită prezența antetelor și bibliotecii libvo-amrwbenc în timpul configurării. Tu
trebuie să configurați în mod explicit construcția cu „--enable-libvo-amrwbenc --enable-version3”.

Acesta este un codificator mono. Oficial, acceptă doar o frecvență de eșantionare de 16000 Hz, dar poți
anulați-l prin setare strict la neoficial sau mai jos.

Opţiuni

b Setați rata de biți în biți/s. Sunt acceptate doar următoarele rate de biți, altfel libavcodec
se va rotunji la cea mai apropiată rată de biți validă.

6600
8850
12650
14250
15850
18250
19850
23050
23850
dtx Permite transmisie discontinuă (generează zgomot de confort) atunci când este setată la 1. Implicit
valoarea este 0 (dezactivat).

libopus
libopus Opus Interactive Audio Codec encoder wrapper.

Necesită prezența antetelor și bibliotecii libopus în timpul configurării. Trebuie să
configurați în mod explicit construcția cu „--enable-libopus”.

Opțiune Maparea

Cele mai multe opțiuni de libopus sunt modelate după opusenc utilitate din opus-tools. Următoarele
este o diagramă de mapare a opțiunilor care descrie opțiunile acceptate de libopus wrapper-ul și acestea
opusenc-echivalent între paranteze.

b (bitrate)
Setați rata de biți în biți/s. FFmpeg b opțiunea este exprimată în biți/s, în timp ce opusenc's
bitrate în kilobiți/s.

VBR (VBR, hard-cbr, și cvbr)
Setați modul VBR. FFmpeg VBR opțiunea are următoarele argumente valide, cu lor
opusenc opțiuni echivalente între paranteze:

de pe (hard-cbr)
Utilizați codificarea cu rată de biți constantă.

on (VBR)
Utilizați codificarea cu rată de biți variabilă (implicit).

constrâns (cvbr)
Utilizați codificarea cu rată de biți variabilă constrânsă.

compresie_level (comp)
Setați complexitatea algoritmului de codificare. Opțiunile valide sunt numere întregi în intervalul 0-10. 0
oferă cele mai rapide codificări, dar o calitate mai scăzută, în timp ce 10 oferă cea mai înaltă calitate, dar
cea mai lentă codificare. Valoarea implicită este 10.

durata_cadru (Marimea ramei)
Setați dimensiunea maximă a cadrului sau durata unui cadru în milisecunde. Argumentul trebuie să fie
exact următoarele: 2.5, 5, 10, 20, 40, 60. Dimensiunile mai mici ale cadrului ating
latență, dar mai puțină calitate la un anumit bitrate. Dimensiunile mai mari de 20 ms sunt doar
interesant la rate de biți destul de mici. Valoarea implicită este 20 ms.

pierdere de pachete (aşteptare-pierdere)
Setați procentul de pierdere de pachete așteptat. Valoarea implicită este 0.

cerere (N / A)
Setați tipul de aplicație dorit. Opțiunile valide sunt enumerate mai jos:

voip
Favorizați inteligibilitatea îmbunătățită a vorbirii.

audio
Favorizați fidelitatea intrării (implicit).

întârziere redusă
Limitați-vă doar la cele mai mici moduri de întârziere.

cutoff (N / A)
Setați lățimea de bandă de tăiere în Hz. Argumentul trebuie să fie exact unul dintre următoarele: 4000,
6000, 8000, 12000 sau 20000, corespunzând cu bandă îngustă, bandă medie, bandă largă, super
bandă largă și, respectiv, bandă completă. Valoarea implicită este 0 (cutoff este dezactivat).

libvorbis
wrapper codificator libvorbis.

Necesită prezența antetelor și bibliotecii libvorbisenc în timpul configurării. Tu
trebuie să configurați în mod explicit construcția cu „--enable-libvorbis”.

Opţiuni

Următoarele opțiuni sunt acceptate de wrapper-ul libvorbis. The oggenc-echivalentul
opțiunile sunt enumerate în paranteze.

Pentru a obține o documentație mai precisă și mai extinsă a opțiunilor libvorbis, consultați
lui libvorbisenc şi oggencdocumentațiile lui. Vedeahttp://xiph.org/vorbis/>,
<http://wiki.xiph.org/Vorbis-tools>, și oggenc(1).

b (-b)
Setați rata de biți exprimată în biți/s pentru ABR. oggenc -b este exprimată în kilobiți/s.

q (-q)
Setați setarea de calitate constantă pentru VBR. Valoarea ar trebui să fie un număr flotant în interval
de la -1.0 la 10.0. Cu cât valoarea este mai mare, cu atât calitatea este mai bună. Valoarea implicită este
3.0.

Această opțiune este valabilă numai folosind FFMPEG instrument de linie de comandă. Pentru interfața de bibliotecă
utilizatori, utilizați calitate_globală.

cutoff (--advanced-encode-option lowpass_frequency=N)
Setați lățimea de bandă de tăiere în Hz, o valoare de 0 dezactivează tăierea. oggencopțiunea asociată este
exprimată în kHz. Valoarea implicită este 0 (cutoff dezactivat).

minrate (-m)
Setați rata de biți minimă exprimată în biți/s. oggenc -m este exprimată în kilobiți/s.

maxrate (-M)
Setați rata maximă de biți exprimată în biți/s. oggenc -M este exprimată în kilobiți/s. Acest
are efect numai asupra modului ABR.

iblock (--advanced-encode-option impulse_noisetune=N)
Setați prejudecata de nivel de zgomot pentru blocurile de impuls. Valoarea este un număr flotant de la -15.0 la
0.0. O părtinire negativă indică codificatorului să acorde o atenție deosebită clarității
de tranzitorii în audio codificat. Compensația pentru un răspuns tranzitoriu mai bun este a
rata de biți mai mare.

libwavpack
Un wrapper care oferă codificare WavPack prin libwavpack.

În prezent, este acceptat doar modul fără pierderi care utilizează mostre întregi pe 32 de biți.

Necesită prezența antetelor și bibliotecii libwavpack în timpul configurării. Ai nevoie
pentru a configura în mod explicit compilarea cu „--enable-libwavpack”.

Rețineți că există un codificator nativ libavcodec pentru codecul WavPack, astfel încât utilizatorii să poată codifica
audio cu acest codec fără a utiliza acest codificator. Vedea wavpackenc.

Opţiuni

wavpack Opțiunile corespunzătoare ale utilitarului din linia de comandă sunt listate în paranteze, dacă există.

Marimea ramei (--dimensiunea blocurilor)
Valoarea implicită este 32768.

compresie_level
Setare viteză vs compresie compromis. Argumentele acceptabile sunt enumerate mai jos:

0 (-f)
Mod rapid.

1 Setări normale (implicite).

2 (-h)
Calitate superioară.

3 (-hh)
Calitate foarte bună.

4-8 (-hh -xEXTRAPROC)
La fel ca 3, dar cu procesarea suplimentară activată.

4 este la fel ca -x2 și 8 este la fel ca -x6.

wavpack
Codificator audio WavPack fără pierderi.

Acesta este un codificator WavPack nativ libavcodec. Există, de asemenea, un codificator bazat pe libwavpack,
dar practic nu există niciun motiv pentru a utiliza acel codificator.

Vezi si libwavpack.

Opţiuni

Opțiunile echivalente pentru wavpack utilitarele liniei de comandă sunt listate în paranteze.

Opțiuni partajate

Următoarele opțiuni partajate sunt eficiente pentru acest codificator. Doar note speciale despre asta
un anumit codificator va fi documentat aici. Pentru sensul general al opțiunilor, vezi
il Codec Opţiuni capitol.

Marimea ramei (--dimensiunea blocurilor)
Pentru acest encoder, intervalul pentru această opțiune este între 128 și 131072. Implicit este
decis automat pe baza ratei de eșantionare și a numărului de canale.

Pentru formula completă de calcul implicit, vezi libavcodec/wavpackenc.c.

compresie_level (-f, -h, -hh, și -x)
Sintaxa acestei opțiuni este în concordanță cu libwavpack's.

Opțiuni private

joint_stereo (-j)
Setați dacă să activați stereo comun. Valorile valide sunt:

on (1)
Forțați codificarea audio la mijloc/lateral.

de pe (0)
Forțați codarea audio stânga/dreapta.

Auto
Lăsați codificatorul să decidă automat.

optimize_mono
Setați dacă activați optimizarea pentru mono. Această opțiune este eficientă numai pentru non-
fluxuri mono. Valori disponibile:

on activat

de pe invalid

VIDEO Codificatori


Urmează o descriere a unora dintre codificatoarele video disponibile în prezent.

jpeg2000
Codificatorul nativ jpeg 2000 are pierderi în mod implicit, opțiunea „-q:v” poate fi utilizată pentru a seta
calitatea codificarii. Codarea fără pierderi poate fi selectată cu „-pred 1”.

Opţiuni

format
Poate fi setat fie la „j2k”, fie la „jp2” (implicit), ceea ce face posibilă stocarea non-
rgb pix_fmts.

zăpadă
Opţiuni

iterative_dia_size
dimensiunea dia pentru estimarea mișcării iterative

libtheora
libtheora Theora encoder wrapper.

Necesită prezența antetelor și bibliotecii libtheora în timpul configurării. Ai nevoie
pentru a configura în mod explicit construcția cu „--enable-libtheora”.

Pentru mai multe informații despre proiectul libtheora vezihttp://www.theora.org/>.

Opţiuni

Următoarele opțiuni globale sunt mapate cu opțiuni interne libtheora care afectează
calitatea și rata de biți a fluxului codificat.

b Setați rata de biți video în biți/s pentru modul CBR (Rată de biți constantă). În cazul VBR
Modul (Rată de biți variabilă) este activat, această opțiune este ignorată.

steaguri
Folosit pentru a activa modul de calitate constantă (VBR) prin codificarea qscale steag, și să
activați modurile „pass1” și „pass2”.

g Setați dimensiunea GOP.

calitate_globală
Setați calitatea globală ca număr întreg în unități lambda.

Relevant doar când modul VBR este activat cu „steaguri +qscale”. Valoarea este convertită în
unități QP împărțind-o la „FF_QP2LAMBDA”, tăiate în intervalul [0 - 10] și apoi
înmulțit cu 6.3 pentru a obține o valoare în intervalul nativ libtheora [0-63]. O valoare mai mare
corespunde unei calități superioare.

q Activați modul VBR când este setat la o valoare nenegativă și setați o valoare constantă a calității ca a
valoare dublă în virgulă mobilă în unități QP.

Valoarea este tăiată în intervalul [0-10] și apoi înmulțită cu 6.3 pentru a obține o valoare în
intervalul libtheora nativ [0-63].

Această opțiune este valabilă numai folosind FFMPEG instrument de linie de comandă. Pentru interfața de bibliotecă
utilizatori, utilizați calitate_globală.

Exemple

· Setați codificarea de calitate maximă constantă (VBR) cu FFMPEG:

ffmpeg -i INPUT -codec:v libtheora -q:v 10 OUTPUT.ogg

· Utilizare FFMPEG pentru a converti un flux video CBR 1000 kbps Theora:

ffmpeg -i INPUT -codec:v libtheora -b:v 1000k OUTPUT.ogg

libvpx
Formatul VP8/VP9 acceptat prin libvpx.

Necesită prezența antetelor și bibliotecii libvpx în timpul configurării. Trebuie să
configurați în mod explicit construcția cu „--enable-libvpx”.

Opţiuni

Următoarele opțiuni sunt acceptate de wrapper-ul libvpx. The vpxenc-opțiuni echivalente
sau valorile sunt enumerate în paranteze pentru o migrare ușoară.

Pentru a reduce duplicarea documentației, doar opțiunile private și unele altele
care necesită o atenție specială sunt documentate aici. Pentru documentarea nedocumentarilor
opțiuni generice, vezi il Codec Opţiuni capitol.

Pentru a obține mai multă documentație despre opțiunile libvpx, invocați comanda FFMPEG -h
codificator=libvpx, FFMPEG -h codificator=libvpx-vp9 or vpxenc --Ajutor. Informații suplimentare sunt
disponibil în documentația libvpx API.

b (țintă-bitrate)
Setați rata de biți în biți/s. Rețineți că FFmpeg b opțiunea este exprimată în biți/s, în timp ce
vpxenc's țintă-bitrate este în kilobiți/s.

g (kf-max-dist)
keyint_min (kf-min-dist)
qmin (min-q)
qmax (max-q)
bufsize (buf-sz, buf-optimal-sz)
Setați dimensiunea tamponului de control al ratei (în biți). Notă vpxencopțiunile lui sunt specificate în
milisecunde, wrapper-ul libvpx convertește această valoare după cum urmează: "buf-sz = bufsize *
1000 / bitrate", "buf-optimal-sz = bufsize * 1000 / bitrate * 5 / 6".

rc_init_occupancy (buf-inițial-sz)
Setați numărul de biți care ar trebui încărcați în bufferul rc înainte de a începe decodarea.
notițe vpxencOpțiunea lui este specificată în milisecunde, wrapper-ul libvpx îl convertește
valoare după cum urmează: „rc_init_occupancy * 1000 / bitrate”.

undershoot-pct
Setați procentul sub depășirea ratei de date (min) din rata de biți țintă.

depășire-pct
Setați procentul de depășire a ratei de date (maxim) din rata de biți țintă.

skip_threshold (drop-frame)
qcomp (bias-pct)
maxrate (maxsection-pct)
Setați rata de biți maximă GOP în biți/s. Notă vpxencopțiunea lui este specificată ca procent din
rata de biți țintă, wrapper-ul libvpx convertește această valoare după cum urmează: „(maxrate * 100
/ bitrate)".

minrate (minsection-pct)
Setați rata de biți min GOP în biți/s. Notă vpxencopțiunea lui este specificată ca procent din
rata de biți țintă, wrapper-ul libvpx convertește această valoare după cum urmează: „(minrate * 100
/ bitrate)".

minrate, maxrate, b end-usage=cbr
„(minrate == maxrate == bitrate)”.

CRF (end-usage=cq, cq-nivel)
calitate, Termenul limită (Termenul limită)
Cel mai bun
Utilizați termenul limită de cea mai bună calitate. Prost numită și destul de lentă, această opțiune ar trebui să fie
evitat deoarece poate oferi rezultate de calitate mai proastă decât bună.

bine
Utilizați un termen limită de bună calitate. Acesta este un bun compromis între viteză și calitate când
folosit cu cpu folosit opțiune.

în timp real
Utilizați termenul limită de calitate în timp real.

viteză, cpu folosit (cpu folosit)
Setați modificatorul raportului calitate/viteză. Valorile mai mari accelerează codificarea cu prețul
calitate.

nr (sensibilitate la zgomot)
static-thresh
Setați un prag de modificare pe blocuri sub care acestea vor fi sărite de codificator.

felii (piese-jeton)
Rețineți că FFmpeg felii opțiunea oferă numărul total de partiții, în timp ce vpxenc's
piese-jeton este dat ca „log2(partiții)”.

max-intra-rata
Setați rata de biți I-frame maximă ca procent din rata de biți țintă. O valoare de 0 înseamnă
nelimitat.

force_key_frames
„VPX_EFLAG_FORCE_KF”

Alterna referință cadru legate de
auto-alt-ref
Activați utilizarea cadrelor de referință alternative (numai pentru 2 treceri).

arnr-max-cadre
Setați numărul maxim de cadre pentru reducerea zgomotului.

de tip arnr
Setați alt tip de filtru de reducere a zgomotului: înapoi, înainte, centrat.

arnr-putere
Setați puterea filtrului de reducere a zgomotului.

rc-lookahead, decalaj în cadre (decalaj în cadre)
Setați numărul de cadre pentru a privi înainte pentru tipul de cadre și controlul ratei.

rezistent la erori
Activați funcțiile de rezistență la erori.

Specific VP9 Opțiuni
lossless
Activați modul fără pierderi.

țiglă-coloane
Setați numărul de coloane de plăci de utilizat. Rețineți că acesta este dat ca „log2(tile_columns)”. Pentru
de exemplu, 8 coloane de plăci ar fi solicitate prin setarea țiglă-coloane opțiunea pentru
3.

țiglă-rânduri
Setați numărul de rânduri de plăci de utilizat. Rețineți că acesta este dat ca „log2(tile_rows)”. Pentru
de exemplu, 4 rânduri de plăci ar fi solicitate prin setarea țiglă-rânduri opțiunea la 2.

cadru-paralel
Activați funcțiile de decodificare paralelă a cadrelor.

modul aq
Setați modul de cuantizare adaptivă (0: dezactivat (implicit), 1: varianță 2: complexitate, 3:
reîmprospătare ciclică).

colorspace spațiu de culoare
Setați spațiul de culoare de intrare. Fluxul de biți VP9 acceptă semnalizarea următoarelor
spatii de culoare:

RGB sRGB
bt709 bt709
nespecificat necunoscut
bt470bg bt601
smpte170m smpte170
smpte240m smpte240
bt2020_ncl bt2020

Pentru mai multe informații despre libvpx, consultați:http://www.webmproject.org/>

libwebp
libwebp WebP Image encoder wrapper

libwebp este codificatorul oficial Google pentru imagini WebP. Poate codifica fie cu pierderi, fie
modul fără pierderi. Imaginile cu pierderi sunt în esență un înveliș în jurul unui cadru VP8. Imagini fără pierderi
sunt un codec separat dezvoltat de Google.

Pixel Format

În prezent, libwebp acceptă numai YUV420 pentru pierderi și RGB pentru fără pierderi din cauza limitărilor
de format și libwebp. Alpha este acceptat pentru oricare dintre moduri. Din cauza API
limitări, dacă RGB este transmis când codificarea cu pierdere sau YUV este transmis pentru codare
fără pierderi, formatul de pixeli va fi convertit automat utilizând funcțiile din libwebp.
Acest lucru nu este ideal și se face doar pentru comoditate.

Opţiuni

-fara pierderi boolean
Activează/dezactivează utilizarea modului fără pierderi. Implicit este 0.

-nivel_compresie întreg
Pentru pierderi, acesta este un compromis calitate/viteză. Valorile mai mari oferă o calitate mai bună pentru a
dimensiune dată cu prețul unui timp de codificare crescut. Pentru fără pierderi, aceasta este o dimensiune/viteză
compromis. Valorile mai mari dau o dimensiune mai mică cu prețul unui timp de codificare crescut. Mai mult
în special, controlează numărul de algoritmi suplimentari și instrumente de compresie utilizate,
și variază combinația acestor instrumente. Aceasta se mapează la metodă opțiune în libwebp.
Intervalul valid este de la 0 la 6. Implicit este 4.

-qscale pluti
Pentru codificarea cu pierderi, aceasta controlează calitatea imaginii, de la 0 la 100. Pentru codarea fără pierderi, aceasta
controlează efortul și timpul petrecut pentru a comprima mai mult. Valoarea implicită este 75. Notă
că pentru utilizare prin libavcodec, această opțiune este apelată calitate_globală și trebuie să fie
înmulțit cu FF_QP2LAMBDA.

-prestat tip
Configurație prestabilită. Aceasta face unele setări automate bazate pe tipul general de
imaginea.

nici unul
Nu utilizați o presetare.

lipsă
Utilizați codul implicit.

imagine
Imagine digitală, ca portret, fotografie interioară


Fotografie în aer liber, cu lumină naturală

desen
Desen manual sau linie, cu detalii cu contrast ridicat

icoană
Imagini colorate de dimensiuni mici

a) Sport and Nutrition Awareness Day in Manasia Around XNUMX people from the rural commune Manasia have participated in a sports and healthy nutrition oriented activity in one of the community’s sports ready yards. This activity was meant to gather, mainly, middle-aged people from a Romanian rural community and teach them about the benefits that sports have on both their mental and physical health and on how sporting activities can be used to bring people from a community closer together. Three trainers were made available for this event, so that the participants would get the best possible experience physically and so that they could have the best access possible to correct information and good sports/nutrition practices. b) Sports Awareness Day in Poiana Țapului A group of young participants have taken part in sporting activities meant to teach them about sporting conduct, fairplay, and safe physical activities. The day culminated with a football match.
Ca text

libx264, libx264rgb
Wrapper codificator x264 H.264/MPEG-4 AVC.

Acest codificator necesită prezența antetelor și bibliotecii libx264 în timpul
configurație. Trebuie să configurați în mod explicit construcția cu „--enable-libx264”.

libx264 acceptă un număr impresionant de funcții, inclusiv spațial adaptiv 8x8 și 4x4
transformare, plasare adaptivă a cadrului B, codificare entropică CAVLC/CABAC, intercalare (MBAFF),
modul fără pierderi, optimizări psy pentru păstrarea detaliilor (cuantizare adaptivă, psy-RD, psy-
spalier).

Multe opțiuni de codificare libx264 sunt mapate la opțiunile globale de codec FFmpeg, deși sunt unice
opțiunile de codificare sunt furnizate prin opțiuni private. În plus, cel x264opt și
x264-params Opțiunile private vă permit să treceți o listă de tupluri cheie=valoare, așa cum este acceptată de
funcția libx264 „x264_param_parse”.

Site-ul web al proiectului x264 este lahttp://www.videolan.org/developers/x264.html>.

Codificatorul libx264rgb este același cu libx264, cu excepția faptului că acceptă formate de pixeli RGB ambalate
ca intrare în loc de YUV.

Suportat Pixel Formate

x264 acceptă spații de culoare de la 8 la 10 biți. Adâncimea exactă de biți este controlată la x264
configurați timpul. FFmpeg acceptă doar o adâncime de biți într-o anumită versiune. In alta
cuvinte, nu este posibil să construiți un singur FFmpeg cu versiuni multiple de x264 cu
diferite adâncimi de biți.

Opţiuni

Următoarele opțiuni sunt acceptate de wrapper-ul libx264. The x264-opțiuni echivalente sau
valorile sunt enumerate în paranteze pentru o migrare ușoară.

Pentru a reduce duplicarea documentației, doar opțiunile private și unele altele
care necesită o atenție specială sunt documentate aici. Pentru documentarea nedocumentarilor
opțiuni generice, vezi il Codec Opţiuni capitol.

Pentru a obține o documentație mai precisă și mai extinsă a opțiunilor libx264, invocați
comandă x264 --ajutor complet sau consultați documentația libx264.

b (bitrate)
Setați rata de biți în biți/s. Rețineți că FFmpeg b opțiunea este exprimată în biți/s, în timp ce
x264's bitrate este în kilobiți/s.

bf (bcadre)
g (keyint)
qmin (qpmin)
Scala minimă a cuantificatorului.

qmax (qpmax)
Scala maximă a cuantificatorului.

qdiff (qpstep)
Diferența maximă între scalele cuantificatorului.

qblur (qblur)
Estomparea curbei cuantizatorului

qcomp (qcomp)
Factorul de compresie al curbei cuantizatorului

ref (ref)
Numărul de cadre de referință pe care le poate folosi fiecare cadru P. Gama este de la 0-16.

sc_threshold (scenecut)
Setează pragul pentru detectarea schimbării scenei.

spalier (spalier)
Efectuează cuantizarea Trellis pentru a crește eficiența. Activat implicit.

nr (nr)
mine_range (merange)
Raza maximă de căutare a mișcării în pixeli.

eu_metoda (me)
Setați metoda de estimare a mișcării. Valori posibile în ordinea descrescătoare a vitezei:

zi (zi)
epzs (zi)
Căutare diamant cu raza 1 (cel mai rapid). epzs este un alias pentru zi.

hex (hex)
Căutare hexagonală cu raza 2.

uhm (uhm)
Căutare neuniformă cu mai multe hexagonale.

esa (esa)
Căutare exhaustivă.

tesa (tesa)
Căutare exhaustivă Hadamard (cea mai lentă).

subq (Trimite)
Metoda de estimare a mișcării sub-pixel.

b_strategie (b-adapt)
Algoritm de decizie de plasare a cadrului B adaptiv. Utilizați numai la prima trecere.

keyint_min (min-keyint)
Dimensiunea GOP minimă.

codator
Setați codificatorul de entropie. Valori posibile:

ac Activați CABAC.

VLC Activați CAVLC și dezactivați CABAC. Acesta generează același efect ca x264's --no-cabac
opțiune.

cmp Setați algoritmul de comparație pentru estimarea mișcării pixelilor. Valori posibile:

cromă
Activați estimarea cromului în mișcare.

trist Ignorați estimarea cromului în mișcare. Acesta generează același efect ca x264's
--no-chroma-me opțiune.

fire (fire)
Numărul de fire de codare.

tip_file
Setați tehnica multithreading. Valori posibile:

felie
Multithreading bazat pe felii. Acesta generează același efect ca x264's
--fii tăiate opțiune.

cadru
Multithreading bazat pe cadru.

steaguri
Setați steaguri de codare. Poate fi folosit pentru a dezactiva GOP închis și activa GOP deschis de
setându-l la „-cgop”. Rezultatul este similar cu comportamentul lui x264's --deschis-gop
opțiune.

rc_init_occupancy (vbv-init)
presetat (presetat)
Setați presetarea de codare.

ton (ton)
Setați reglarea parametrilor de codare.

profil (profil)
Setați restricții de profil.

prima trecere rapidă
Activați setările rapide atunci când codați prima trecere, când este setată la 1. Când este setată la 0, are
acelasi efect al x264's --lent-prima trecere opțiune.

CRF (CRF)
Setați calitatea pentru modul de calitate constantă.

crf_max (crf-max)
În modul CRF, împiedică VBV să scadă calitatea dincolo de acest punct.

qp (qp)
Setați parametrul metodei de control al ratei de cuantificare constantă.

modul aq (modul aq)
Setați metoda AQ. Valori posibile:

nici unul (0)
Pentru persoane cu handicap.

dezacord (1)
Variance AQ (mască de complexitate).

autovarianta (2)
Auto-varianță AQ (experimental).

putere apoasă (putere apoasă)
Setați puterea AQ, reduceți blocarea și estomparea în zonele plate și texturate.

psi Folosiți optimizări psihovizuale când este setată la 1. Când este setată la 0, are același efect ca
x264's --nu-psi opțiune.

psi-rd (psi-rd)
Set puterea optimizării psihovizuale, în psi-rd:psy-spalier format.

rc-lookahead (rc-lookahead)
Setați numărul de cadre pentru a privi înainte pentru tipul de cadre și controlul ratei.

greutateb
Activați predicția ponderată pentru cadrele B când este setată la 1. Când este setată la 0, are același lucru
efect ca x264's --fără-greutateb opțiune.

greutatep (greutatep)
Setați metoda de predicție ponderată pentru cadrele P. Valori posibile:

nici unul (0)
Invalid

simplu (1)
Activați numai referințe ponderate

inteligent (2)
Activați atât referințele ponderate, cât și duplicatele

ssim (ssim)
Activați calculul și imprimarea statisticilor SSIM după codificare.

intra-refresh (intra-refresh)
Activați utilizarea periodică Intra Refresh în locul cadrelor IDR atunci când este setată la 1.

avcintra-clasa (clasă)
Configurați codificatorul pentru a genera AVC-Intra. Valorile valide sunt 50,100 și 200

bluray-compat (bluray-compat)
Configurați codificatorul pentru a fi compatibil cu standardul bluray. Este o stenografie
pentru setarea „bluray-compat=1 force-cfr=1”.

b-bias (b-bias)
Setați influența asupra frecvenței de utilizare a cadrelor B.

b-piramida (b-piramida)
Setați metoda pentru păstrarea unor cadre B ca referințe. Valori posibile:

nici unul (nici unul)
Pentru persoane cu handicap.

strict (strict)
Piramida strict ierarhică.

normală. (normală.)
Non-strict (nu este compatibil cu Blu-ray).

mixte-ref
Activați utilizarea unei referințe per partiție, spre deosebire de o referință per
macrobloc când este setat la 1. Când este setat la 0, are același efect ca x264's
--fără-ref.-mixte opțiune.

8x8dct
Activați transformarea spațială adaptivă (transformare 8x8 de profil înalt) când este setată la 1. Când este setată
la 0, are același efect ca x264's --nu-8x8dct opțiune.

fast-pskip
Activați detectarea timpurie SKIP pe cadrele P când este setată la 1. Când este setată la 0, are același
efect ca x264's --no-fast-pskip opțiune.

aud (aud)
Activați utilizarea delimitatorilor de unități de acces când este setată la 1.

mbtree
Activați utilizarea controlului ratei arborelui macrobloc atunci când este setat la 1. Când este setat la 0, are același lucru
efect ca x264's --no-mbtree opțiune.

deblocați (deblocați)
Setați parametrii filtrului de buclă, în alfa:beta formular.

cplxblur (cplxblur)
Setați reducerea fluctuațiilor în QP (înainte de compresia curbei).

scoruri (scoruri)
Setați partițiile pentru a le considera ca o listă separată prin virgulă. Valori posibile din listă:

p8x8
8x8 P-cadru despărțitor.

p4x4
4x4 P-cadru despărțitor.

b8x8
Despărțitor cu cadru B 4x4.

i8x8
Despărțitor cu cadru I de 8x8.

i4x4
Despărțitor 4x4 I-cadru. (Activare p4x4 Necesită p8x8 pentru a fi activat. Activare i8x8
necesită transformare spațială adaptivă (8x8dct opțiunea) să fie activată.)

nici unul (nici unul)
Nu luați în considerare nicio partiție.

toate (toate)
Luați în considerare fiecare partiție.

direct-pred (direcționa)
Setați modul direct de predicție MV. Valori posibile:

nici unul (nici unul)
Dezactivați predicția MV.

spațial (spațial)
Activați predicția spațială.

temporal (temporal)
Activați predicția temporală.

Auto (Auto)
Hotărât automat.

felie-max-dimensiune (felie-max-dimensiune)
Setați limita dimensiunii fiecărei felii în octeți. Dacă nu este specificat, dar sarcina utilă RTP
Dimensiune (ps) este specificat, adică se utilizează.

Statistici (Statistici)
Setați numele fișierului pentru statistici multi-pass.

nal-hrd (nal-hrd)
Setați informațiile HRD de semnal (necesită vbv-bufsize a fi setat). Valori posibile:

nici unul (nici unul)
Dezactivați semnalizarea informațiilor HRD.

VBR (VBR)
Rată de biți variabilă.

CBR (CBR)
Rată de biți constantă (nu este permisă în containerul MP4).

x264opt (N / A)
Setați orice opțiune x264, vezi x264 --fullhelp pentru o listă.

Argumentul este o listă de cheie=valoare cupluri separate prin „:”. În filtru și psi-rd Opțiuni
care folosesc ei înșiși „:” ca separator, folosesc "," în schimb. De atunci o acceptă și ei
cu mult timp în urmă, dar acest lucru este păstrat nedocumentat din anumite motive.

De exemplu, pentru a specifica opțiunile de codificare libx264 cu FFMPEG:

ffmpeg -i foo.mpg -vcodec libx264 -x264opts keyint=123:min-keyint=20 -an out.mkv

x264-params (N / A)
Ignorați configurația x264 utilizând o listă separată de parametri cheie=valoare.

Această opțiune este, din punct de vedere funcțional, aceeași cu cea x264opt, dar este duplicat pentru
compatibilitate cu furca Libav.

De exemplu, pentru a specifica opțiunile de codificare libx264 cu FFMPEG:

ffmpeg -i INPUT -c:v libx264 -x264-params level=30:bframes=0:weightp=0:\
cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:\
no-fast-pskip=1:subq=6:8x8dct=0:trellis=0 OUTPUT

Se furnizează codificarea ffpreseturilor pentru utilizări obișnuite, astfel încât să poată fi utilizate cu generalul
sistem de presetări (de exemplu, trecerea pre opțiune).

libx265
x265 H.265/HEVC encoder wrapper.

Acest codificator necesită prezența antetelor și bibliotecii libx265 în timpul
configurație. Trebuie să configurați în mod explicit build-ul cu --enable-libx265.

Opţiuni

presetat
Setați presetarea x265.

ton
Setați parametrul x265 tune.

x265-params
Setați opțiunile x265 folosind o listă de cheie=valoare cupluri separate prin „:”. Vedea x265 --Ajutor
pentru o listă de opțiuni.

De exemplu, pentru a specifica opțiunile de codificare libx265 cu -x265-params:

ffmpeg -i intrare -c:v libx265 -x265-params crf=26:psy-rd=1 output.mp4

libxvid
Wrapper Xvid MPEG-4 Part 2 codificator.

Acest codificator necesită prezența antetelor și bibliotecii libxvidcore în timpul
configurație. Trebuie să configurați în mod explicit construcția cu „--enable-libxvid
--enable-gpl".

Codificatorul nativ „mpeg4” acceptă formatul MPEG-4 Partea 2, astfel încât utilizatorii să poată codifica în acest
format fără această bibliotecă.

Opţiuni

Următoarele opțiuni sunt acceptate de libxvid wrapper-ul. Unele dintre următoarele opțiuni
sunt listate, dar nu sunt documentate și corespund opțiunilor de codec partajate. Vedea il Codec
Opţiuni capitol pentru documentarea acestora. Celelalte opțiuni partajate care nu sunt listate
nu au niciun efect pentru codificatorul libxvid.

b
g
qmin
qmax
mpeg_quant
fire
bf
b_qfactor
b_qoffset
steaguri
Setați steaguri de codare specifice. Valori posibile:

mv4 Utilizați patru vectori de mișcare prin macrobloc.

aic Activați predicția AC de înaltă calitate.

gri
Codifică numai tonuri de gri.

gmc Activați utilizarea compensației globale a mișcării (GMC).

qpel
Activați compensarea mișcării de un sfert de pixel.

cgop
Activați GOP închis.

antet_global
Plasați anteturi globale în extradate în loc de fiecare cadru cheie.

spalier
eu_metoda
Setați metoda de estimare a mișcării. Valori posibile în ordinea descrescătoare a vitezei și
ordine crescătoare a calității:

zero
Utilizați estimarea fără mișcare (implicit).

phods
x1
log Activați căutarea avansată în zona diamantelor pentru blocuri de 16x16 și rafinamentul de jumătate de pixel
pentru blocuri de 16x16. x1 și log sunt pseudonime pentru phods.

epzs
Activați toate lucrurile descrise mai sus, plus căutarea avansată a zonei cu diamante
Blocuri 8x8, rafinare de jumătate de pixel pentru blocuri 8x8 și estimarea mișcării pe croma
avioane.

Complet
Activați toate lucrurile descrise mai sus, plus blocurile extinse 16x16 și 8x8
căutare.

mbd Setați algoritmul de decizie macrobloc. Valori posibile în ordinea crescătoare a calității:

simplu
Utilizați algoritmul funcției de comparare a macroblocurilor (implicit).

biţi
Activați rafinarea pe jumătate de pixel și un sfert de pixel pe bază de distorsiune pentru 16x16
blocuri.

rd Activați toate lucrurile descrise mai sus, plus jumătate de pixel bazat pe rata de distorsiune
și rafinarea unui sfert de pixel pentru blocuri de 8x8 și căutarea bazată pe distorsiune
folosind modelul pătrat.

lumi_aq
Activați cuantizarea adaptivă a mascării lumi atunci când este setată la 1. Implicit este 0 (dezactivat).

varianza_aq
Activați cuantizarea adaptivă a variației atunci când este setată la 1. Implicit este 0 (dezactivat).

Când este combinat cu lumi_aq, calitatea rezultată nu va fi mai bună decât oricare dintre cele
două specificate individual. Cu alte cuvinte, calitatea rezultată va fi mai proastă
unul dintre cele două efecte.

ssim
Setați metoda de afișare a similarității structurale (SSIM). Valori posibile:

de pe Dezactivați afișarea informațiilor SSIM.

avg Ieșire SSIM medie la sfârșitul codificării în stdout. Formatul de afișare a
SSIM mediu este:

SSIM mediu: %f

Pentru utilizatorii care nu sunt familiarizați cu C, %f înseamnă un număr flotant sau o zecimală (de ex
0.939232).

cadru
Ieșiți atât date SSIM per cadru în timpul codificării, cât și SSIM mediu la sfârșitul
codificare la stdout. Formatul informațiilor pe cadru este:

SSIM: medie: %1.3f min: %1.3f max: %1.3f

Pentru utilizatorii care nu sunt familiarizați cu C, %1.3f înseamnă un număr flotant rotunjit la 3
cifre după punct (de ex. 0.932).

ssim_acc
Setați precizia SSIM. Opțiunile valide sunt numere întregi în intervalul 0-4, în timp ce 0 dă
rezultatul cel mai precis și 4 calculează cel mai rapid.

mpeg2
Codificator video MPEG-2.

Opţiuni

seq_disp_ext întreg
Specifică dacă codificatorul ar trebui să scrie o extensie sequence_display_extension la ieșire.

-1
Auto
Decideți automat să îl scrieți sau nu (aceasta este implicit) verificând dacă
datele de scris sunt diferite de valorile implicite sau nespecificate.

0
nu
Nu scrie niciodată.

1
mereu
Scrie-l mereu.

png
Codificator de imagine PNG.

Privat Opțiuni

dpi întreg
Setați densitatea fizică a pixelilor, în puncte pe inch, dezactivată în mod implicit

DPM întreg
Setați densitatea fizică a pixelilor, în puncte pe metru, dezactivată în mod implicit

ProRes
Encoder Apple ProRes.

FFmpeg conține 2 encodere ProRes, prores-aw și prores-ks. Codificatorul folosit
poate fi ales cu opțiunea „-vcodec”.

Privat Opţiuni pentru prores-ks

profil întreg
Selectați profilul ProRes de codat

împuternicit
lt
standard
hq
4444
quant_mat întreg
Selectați matricea de cuantizare.

Auto
lipsă
împuternicit
lt
standard
hq

Dacă este setat la Auto, va fi aleasă matricea care se potrivește cu profilul. Dacă nu este setat,
matrice care oferă cea mai înaltă calitate, lipsă, vor fi alese.

biți_per_mb întreg
Câți biți să alocați pentru codificarea unui macrobloc. Diferite profiluri folosesc între 200
și 2400 de biți pe macrobloc, maximul este de 8000.

mbs_per_slice întreg
Numărul de macroblocuri în fiecare felie (1-8); valoarea implicită (8) ar trebui să fie bună în
aproape toate situatiile.

vânzător şir
Ignorați ID-ul furnizorului de 4 octeți. Un ID de furnizor personalizat, cum ar fi apl0 ar revendica pârâul
a fost produs de codificatorul Apple.

alpha_bits întreg
Specificați numărul de biți pentru componenta alfa. Valorile posibile sunt 0, 8 și 16. Utilizare 0
pentru a dezactiva codarea planului alfa.

Viteză Considerații

În modul implicit de operare, codificatorul trebuie să respecte constrângerile de cadru (adică nu
produce cadre cu dimensiuni mai mari decât cele cerute) în timp ce imaginea de ieșire este la fel de bună
pe cat posibil. Un cadru care conține o mulțime de detalii mici este mai greu de comprimat și
codificatorul ar petrece mai mult timp căutând cuantificatoare adecvate pentru fiecare felie.

Setarea unui mai mare biți_per_mb limita va îmbunătăți viteza.

Pentru cea mai rapidă viteză de codare setați qscale parametrul (4 este valoarea recomandată) și
nu setați o constrângere de dimensiune.

libkvazaar
Encoder Kvazaar H.265/HEVC.

Necesită prezența antetelor și bibliotecii libkvazaar în timpul configurării. Ai nevoie
pentru a configura în mod explicit build-ul cu --enable-libkvazaar.

Opţiuni

b Setați rata de biți video țintă în biți/s și activați controlul ratei.

fire
Setați numărul de fire de codare.

kvazaar-params
Setați parametrii kvazaar ca o listă de nume=valoare perechi separate prin virgule (,). Vedea
kvazaar documentație pentru o listă de opțiuni.

SUBTITLURI Codificatori


dvdsub
Acest codec codifică formatul de subtitrare bitmap care este utilizat în DVD-uri. De obicei sunt
stocate în perechi de fișiere VOBSUB (*.idx + *.sub) și pot fi folosite și în fișierele Matroska.

Opţiuni

even_rows_fix
Când este setată la 1, activați o soluție care face ca numărul de rânduri de pixeli să fie egal în total
subtitrări. Acest lucru rezolvă o problemă cu unii jucători care tăiau rândul de jos dacă
numărul este impar. Soluția adaugă doar un rând complet transparent dacă este necesar. The
supraîncărcarea este redusă, de obicei un octet per subtitrare în medie.

În mod implicit, această soluție este dezactivată.

BITSTREAM FILTRE


Când configurați versiunea FFmpeg, toate filtrele de flux de biți acceptate sunt activate de
Mod implicit. Puteți lista toate cele disponibile folosind opțiunea de configurare „--list-bsfs”.

Puteți dezactiva toate filtrele de flux de biți folosind opțiunea de configurare „--disable-bsfs” și
activați selectiv orice filtru de flux de biți folosind opțiunea „--enable-bsf=BSF”, sau puteți
dezactivați un anumit filtru de flux de biți folosind opțiunea „--disable-bsf=BSF”.

Opțiunea „-bsfs” a instrumentelor ff* va afișa lista tuturor fluxurilor de biți acceptate
filtrele incluse în versiunea dvs.

Instrumentele ff* au o opțiune -bsf aplicată pe flux, luând o listă separată prin virgulă de
filtre, ai căror parametri urmează numele filtrului după un „=”.

ffmpeg -i INTRARE -c:v copie -bsf:v filtru1[=opt1=str1/opt2=str2][,filtru2] IEȘIRE

Mai jos este o descriere a filtrelor de flux de biți disponibile în prezent, cu acestea
parametrii, dacă există.

aac_adtstoasc
Convertiți MPEG-2/4 AAC ADTS în filtrul de flux de biți de configurare specifică audio MPEG-4.

Acest filtru creează un MPEG-4 AudioSpecificConfig dintr-un antet MPEG-2/4 ADTS și elimină
antetul ADTS.

Acest lucru este necesar, de exemplu, atunci când copiați un flux AAC dintr-un container ADTS AAC brut într-un
FLV sau un fișier MOV/MP4.

chomp
Eliminați umplutura zero la sfârșitul unui pachet.

dump_extra
Adăugați extradate la începutul pachetelor filtrate.

Argumentul suplimentar specifică pachetele care trebuie filtrate. Acceptă
valori:

a adăugați extradate la toate pachetele cheie, dar numai dacă antet_local este setat în steaguri2 codec
câmp de context

k adăugați extradate la toate pachetele cheie

e adăugați extradate la toate pachetele

Dacă nu este specificat, se presupune k.

De exemplu următoarele FFMPEG comanda forțează un antet global (dezactivând astfel individul
antete de pachete) în pachetele H.264 generate de codificatorul „libx264”, dar le corectează
prin adăugarea antetului stocat în extradate la pachetele cheie:

ffmpeg -i INPUT -map 0 -flags:v +global_header -c:v libx264 -bsf:v dump_extra out.ts

h264_mp4toanexb
Convertiți un flux de biți H.264 din modul prefix de lungime în modul prefix de cod de pornire (cum ar fi
definite în Anexa B a specificației ITU-T H.264).

Acest lucru este cerut de unele formate de streaming, de obicei formatul de flux de transport MPEG-2
("mpegts").

De exemplu, pentru a redistribui un fișier MP4 care conține un flux H.264 în format mpegts cu FFMPEG,
poti folosi comanda:

ffmpeg -i INPUT.mp4 -codec copy -bsf:v h264_mp4toannexb OUTPUT.ts

imxdump
Modifică fluxul de biți pentru a se potrivi în MOV și pentru a fi utilizabil de decodorul Final Cut Pro. Acest
filtrul se aplică numai codecului mpeg2video și probabil că nu este necesar pentru Final Cut Pro 7
si mai nou cu corespunzator -etichetă:v.

De exemplu, pentru a redistribui 30 MB/sec NTSC IMX în MOV:

ffmpeg -i input.mxf -c copy -bsf:v imxdump -tag:v mx3n output.mov

mjpeg2jpeg
Convertiți pachetele MJPEG/AVI1 în pachete JPEG/JFIF complete.

MJPEG este un codec video în care fiecare cadru video este în esență o imagine JPEG. The
cadrele individuale pot fi extrase fără pierderi, de ex. prin

ffmpeg -i ../some_mjpeg.avi -c:v copy frames_%d.jpg

Din păcate, aceste bucăți sunt imagini JPEG incomplete, deoarece le lipsește segmentul DHT
necesare pentru decodare. Citând din
<http://www.digitalpreservation.gov/formats/fdd/fdd000063.shtml>:

Avery Lee, scriind în grupul de știri rec.video.desktop în 2001, a comentat că „MJPEG sau
cel puțin MJPEG în AVI-uri care au MJPG fourcc, este JPEG restricționat cu un fix -- și
*omis* -- Masa Huffman. JPEG trebuie să fie spațiu de culoare YCbCr, trebuie să fie 4:2:2 și acesta
trebuie să folosească codificarea Huffman de bază, nu aritmetică sau progresivă. . . . Chiar poți
extrageți cadrele MJPEG și decodați-le cu un decodor JPEG obișnuit, dar trebuie
înaintează-le segmentul DHT, altfel decodorul nu va avea idee cum să decomprima
datele. Tabelul exact necesar este dat în specificațiile OpenDML.”

Acest filtru de flux de biți corectează antetul cadrelor extrase dintr-un flux MJPEG
(care poartă ID-ul antetului AVI1 și lipsește un segment DHT) pentru a produce JPEG complet calificat
imagini.

ffmpeg -i mjpeg-movie.avi -c:v copie -bsf:v mjpeg2jpeg frame_%d.jpg
exiftran -i -9 frame*.jpg
ffmpeg -i frame_%d.jpg -c:v copiere rotită.avi

mjpega_dump_header
movsub
mp3_header_decompress
mpeg4_unpack_bframes
Despachetați cadrele B împachetate în stil DivX.

Cadrele B împachetate în stil DivX nu sunt MPEG-4 valide și au fost doar o soluție pentru cei rupti
Video pentru subsistemul Windows. Ei folosesc mai mult spațiu, pot cauza probleme minore de sincronizare AV, necesită
mai multă putere CPU pentru a decoda (cu excepția cazului în care jucătorul are o coadă de imagini decodificată pentru a compensa
stilul de cadru 2,0,2,0 per pachet) și provoacă probleme dacă este copiat într-un container standard
cum ar fi mp4 sau mpeg-ps/ts, deoarece decodoarele MPEG-4 ar putea să nu le poată decoda, deoarece
nu sunt MPEG-4 valide.

De exemplu, pentru a repara un fișier AVI care conține un flux MPEG-4 cu cadre B împachetate în stil DivX
folosind FFMPEG, puteți folosi comanda:

ffmpeg -i INPUT.avi -codec copy -bsf:v mpeg4_unpack_bframes OUTPUT.avi

zgomot
Deteriorează conținutul pachetelor fără a deteriora containerul. Poate fi folosit pentru fuzz sau
testarea rezistenței/ascunderii erorilor.

Parametri: un șir numeric, a cărui valoare este legată de cât de des vor fi octeții de ieșire
modificat. Prin urmare, valorile sub sau egale cu 0 sunt interzise, ​​iar cu cât sunt mai mici cu atât mai mult
octeții frecventi vor fi modificați, cu 1 însemnând că fiecare octet este modificat.

ffmpeg -i INPUT -c copy -bsf noise[=1] output.mkv

aplică modificarea fiecărui octet.

remove_extra

FORMAT OPŢIUNI


Biblioteca libavformat oferă câteva opțiuni globale generice, care pot fi setate pe toate
muxere și demuxere. În plus, fiecare muxer sau demuxer poate suporta așa-numitele private
opțiuni, care sunt specifice pentru acea componentă.

Opțiunile pot fi setate prin specificarea -opțiune valoare în instrumentele FFmpeg sau prin setarea
valoare explicit în opțiunile „AVFormatContext” sau folosind libavutil/opt.h API pentru
utilizare programatică.

Lista opțiunilor acceptate este următoarea:

steaguri aviatice steaguri (intrare ieșire)
Valori posibile:

direcționa
Reduceți tamponarea.

dimensiunea sondei întreg (intrare)
Setați dimensiunea de sondare în octeți, adică dimensiunea datelor de analizat pentru a obține fluxul
informație. O valoare mai mare va permite detectarea mai multor informații în cazul în care este
dispersat în flux, dar va crește latența. Trebuie să fie un număr întreg nu mai mic
decât 32. Este implicit 5000000.

dimensiunea pachetelor întreg (producție)
Setați dimensiunea pachetului.

steaguri steaguri (intrare ieșire)
Setați steaguri de format.

Valori posibile:

ignidx
Ignorați indexul.

căutare rapidă
Activați căutări rapide, dar inexacte pentru unele formate.

genpts
Generați PTS.

nofillin
Nu completați valorile lipsă care pot fi calculate exact.

noparse
Dezactivați AVParsers, și acesta are nevoie de „+nofillin”.

igndts
Ignorați DTS.

arunca corupt
Aruncă cadrele corupte.

sortdts
Încercați să intercalați pachetele de ieșire prin DTS.

tine o parte
Nu îmbinați datele laterale.

latm
Activați sarcina utilă RTP MP4A-LATM.

fără tampon
Reduceți latența introdusă de tamponarea opțională

biexact
Scrieți numai date independente de platformă, build și timp. Acest lucru asigură acel fișier
iar sumele de verificare a datelor sunt reproductibile și se potrivesc între platforme. Utilizarea sa primară
este pentru testarea regresiei.

seek2any întreg (intrare)
Permite căutarea non-cheie la nivel de demuxer atunci când este acceptată dacă este setată la 1. Implicit
este 0.

analiza durată întreg (intrare)
Specificați câte microsecunde sunt analizate pentru a sonda intrarea. O valoare mai mare va
permite detectarea unor informații mai precise, dar va crește latența. Este implicit
5,000,000 de microsecunde = 5 secunde.

criptokey hexazecimal şir (intrare)
Setați cheia de decriptare.

indexmem întreg (intrare)
Setați memoria maximă utilizată pentru indexul de marcaj temporal (pe flux).

rtbufsize întreg (intrare)
Setați memoria maximă utilizată pentru salvarea cadrelor în timp real.

fdebug steaguri (intrare ieșire)
Imprimați informații specifice de depanare.

Valori posibile:

ts
max_delay întreg (intrare ieșire)
Setați întârzierea maximă de muxing sau demuxing în microsecunde.

fpsprobesize întreg (intrare)
Setați numărul de cadre utilizate pentru a sonda fps.

audio_preload întreg (producție)
Setați microsecunde prin care pachetele audio ar trebui să fie intercalate mai devreme.

chunk_duration întreg (producție)
Setați microsecunde pentru fiecare bucată.

chunk_size întreg (producție)
Setați dimensiunea în octeți pentru fiecare bucată.

err_detect, f_err_detect steaguri (intrare)
Setați steaguri de detectare a erorilor. „f_err_detect” este depreciat și ar trebui să fie folosit numai prin
il FFMPEG instrument.

Valori posibile:

crccheck
Verificați CRC-urile încorporate.

flux de biți
Detectați abaterile specificațiilor fluxului de biți.

tampon
Detectați lungimea necorespunzătoare a fluxului de biți.

exploda
Anulați decodarea la detectarea erorilor minore.

atent
Luați în considerare lucrurile care încalcă specificațiile și nu au fost văzute în sălbăticie ca
erori.

conforme
Considerați toate neconformitățile specificațiilor drept erori.

agresiv
Luați în considerare lucrurile pe care un codificator sănătos nu ar trebui să le facă ca pe o eroare.

max_interleave_delta întreg (producție)
Setați durata maximă a tamponării pentru intercalare. Durata este exprimată în
microsecunde, iar valoarea implicită este 1000000 (1 secundă).

Pentru a vă asigura că toate fluxurile sunt intercalate corect, libavformat va aștepta
are cel puțin un pachet pentru fiecare flux înainte de a scrie efectiv orice pachet în
fisier de iesire. Când unele fluxuri sunt „rare” (adică există decalaje mari între
pachete succesive), acest lucru poate duce la buffering excesiv.

Acest câmp specifică diferența maximă dintre marcajele de timp ale primei și
ultimul pachet din coada de muxing, deasupra căruia libavformat va scoate un pachet
indiferent dacă a pus în coadă un pachet pentru toate fluxurile.

Dacă este setat la 0, libavformat va continua să pună în tampon pachetele până când are un pachet pentru
fiecare flux, indiferent de diferența maximă de marcaj de timp dintre tampon
pachete.

use_wallclock_as_timestamps întreg (intrare)
Utilizați ceasul de perete ca marcaje de timp.

avoid_negative_ts întreg (producție)
Valori posibile:

make_non_negative
Schimbați marcajele de timp pentru a le face să nu fie negative. De asemenea, rețineți că acest lucru afectează numai
marcajele temporale negative principale și nu marcajele temporale negative nemonotone.

face_zero
Schimbați marcajele de timp astfel încât primul marcaj de timp să fie 0.

Auto (Implicit)
Permite schimbarea atunci când este cerut de formatul țintă.

invalid
Dezactivează schimbarea marcajului de timp.

Când schimbarea este activată, toate marcajele de timp de ieșire sunt modificate cu aceeași valoare. Audio,
video, și desincronizarea subtitrarilor și diferențele relative de marcaj de timp sunt păstrate
în comparație cu cum ar fi fost fără a se schimba.

skip_initial_bytes întreg (intrare)
Setați numărul de octeți de ignorat înainte de a citi antetul și cadrele dacă este setat la 1. Implicit este
0.

corect_ts_overflow întreg (intrare)
Corectați depășirile de marcaj temporal unic dacă este setată la 1. Implicit este 1.

pachete_puse întreg (producție)
Spălați fluxul I/O de bază după fiecare pachet. Implicit 1 îl activează și are
efect de reducere a latenței; 0 îl dezactivează și poate crește ușor performanța în
unele cazuri.

output_ts_offset compensa (producție)
Setați compensarea timpului de ieșire.

compensa trebuie să fie o specificație de durată, vezi il Timp durată secțiune in il
ffmpeg-utils(1) manual.

Offset-ul este adăugat de muxer la marcajele de timp de ieșire.

Specificarea unui offset pozitiv înseamnă că fluxurile corespunzătoare sunt întârziate de la
durata de timp specificată în compensa. Valoarea implicită este 0 (înseamnă că nu există decalaj
aplicat).

format_listă albă listă (intrare)
"," Listă separată a demuxerelor permise. În mod implicit, toate sunt permise.

dump_separator şir (intrare)
Separator folosit pentru a separa câmpurile imprimate pe linia de comandă despre flux
parametrii. De exemplu, pentru a separa câmpurile cu linii noi și indenție:

ffprobe -dump_separator "
"-i ~/videos/matrixbench_mpeg2.mpg

Format curent proiectanti
Specificatorii de flux de format permit selectarea unuia sau mai multor fluxuri care se potrivesc cu anumite
proprietăți.

Formele posibile de specificatori de flux sunt:

index_flux
Potrivește fluxul cu acest index.

stream_type[:index_flux]
stream_type este unul dintre următoarele: „v” pentru video, „a” pentru audio, „s” pentru subtitrare, „d”
pentru date și „t” pentru atașamente. Dacă index_flux este dat, apoi se potrivește cu
numărul fluxului index_flux de acest tip. În caz contrar, se potrivește cu toate fluxurile
tip.

p:program_id[:index_flux]
If index_flux este dat, apoi se potrivește fluxul cu numărul index_flux în
program cu id program_id. În caz contrar, se potrivește cu toate fluxurile din program.

#stream_id
Potrivește fluxul printr-un ID specific formatului.

Semantica exactă a specificatorilor de flux este definită de
Funcția „avformat_match_stream_specifier()” declarată în libavformat/avformat.h
antet.

DEMUXERE


Demuxerele sunt elemente configurate în FFmpeg care pot citi fluxurile multimedia din a
anumit tip de fișier.

Când vă configurați versiunea FFmpeg, toate demuxerele acceptate sunt activate implicit.
Puteți lista toate cele disponibile folosind opțiunea de configurare „--list-demuxers”.

Puteți dezactiva toate demuxerele folosind opțiunea de configurare „--disable-demuxers” și
activați selectiv un singur demuxer cu opțiunea „--enable-demuxer=DEMUXER", sau dezactivați
cu opțiunea „--disable-demuxer=DEMUXER".

Opțiunea „-formate” a instrumentelor ff* va afișa lista de demuxer-uri activate.

Urmează descrierea unora dintre demuxerele disponibile în prezent.

aa
Format Audible 2, 3 și 4 demuxer.

Acest demuxer este folosit pentru a elimina fișierele Audible Format 2, 3 și 4 (.aa).

mărhttp
Demuxer Apple HTTP Live Streaming.

Acest demuxer prezintă toate AVStream-urile din toate fluxurile variante. Câmpul ID este setat la
numărul de index al variantei ratei de biți. Prin setarea steagurilor de eliminare pe AVStreams (apăsând „a”
sau „v” în ffplay), apelantul poate decide ce variante de fluxuri să primească efectiv. The
rata totală de biți a variantei căreia îi aparține fluxul este disponibilă într-o cheie de metadate
numită „variant_bitrate”.

apng
Demuxer animat pentru grafică de rețea portabilă.

Acest demuxer este folosit pentru a elimina fișierele APNG. Toate anteturile, cu excepția semnăturii PNG, până la (dar
neincluzând) prima bucată fcTL sunt transmise ca extradate. Ramele sunt apoi împărțite
ca fiind toate bucățile dintre două fcTL sau dintre ultimele fcTL și IEND.

-ignore_loop bool
Ignorați variabila buclă din fișier dacă este setată.

-max_fps int
Rata maximă de cadre în cadre pe secundă (0 pentru fără limită).

-default_fps int
Rata implicită de cadre în cadre pe secundă când nu este specificat niciuna în fișier (0 însemnând
cat de rapid posibil).

asf
Demuxer Advanced Systems Format.

Acest demuxer este folosit pentru a demuxa fișierele ASF și fluxurile de rețea MMS.

-no_resync_search bool
Nu încercați să resincronizați căutând un anumit cod de pornire opțional.

concat
Demuxer de script de concatenare virtuală.

Acest demuxer citește o listă de fișiere și alte directive dintr-un fișier text și le demuxează
unul după altul, de parcă toate pachetele lor le-ar fi fost amestecate.

Marcajele de timp din fișiere sunt ajustate astfel încât primul fișier să înceapă la 0 și fiecare următor
fișierul începe acolo unde se termină cel anterior. Rețineți că se face la nivel global și poate cauza
goluri dacă toate fluxurile nu au exact aceeași lungime.

Toate fișierele trebuie să aibă aceleași fluxuri (aceleași codecuri, aceeași bază de timp etc.).

Durata fiecărui fișier este utilizată pentru a ajusta marcajele de timp ale următorului fișier: dacă
durata este incorectă (pentru că a fost calculată folosind rata de biți sau pentru că fișierul este
trunchiat, de exemplu), poate provoca artefacte. Directiva „durată” poate fi folosită pentru
înlocuiți durata stocată în fiecare fișier.

Sintaxă

Scriptul este un fișier text în ASCII extins, cu o directivă pe linie. linii goale,
spațiile de început și liniile care încep cu „#” sunt ignorate. Următoarea directivă este
recunoscut:

"fişier cale"
Calea către un fișier de citit; caracterele speciale și spațiile trebuie să fie eliminate cu backslash
sau ghilimele simple.

Toate directivele ulterioare legate de fișier se aplică acelui fișier.

„ffconcat versiune 1.0 "
Identificați tipul și versiunea scriptului. De asemenea, stabilește sigur opțiunea la 1 dacă ar fi
implicit -1.

Pentru ca FFmpeg să recunoască automat formatul, această directivă trebuie să apară exact
așa cum este (fără spațiu suplimentar sau marcaj de ordine de octeți) pe prima linie a scriptului.

"durată stop"
Durata dosarului. Aceste informații pot fi specificate din fișier; precizând-o
aici poate fi mai eficient sau de ajutor dacă informațiile din fișier nu sunt disponibile
sau exacte.

Dacă durata este setată pentru toate fișierele, atunci este posibil să căutați în întreg
video concatenat.

"inpoint timestamp-ul"
În punctul dosarului. Când demuxerul deschide fișierul, acesta caută instantaneu
marca temporală specificată. Căutarea se face astfel încât toate fluxurile să poată fi prezentate cu succes
la In punct.

Această directivă funcționează cel mai bine cu codecuri intra-cadru, deoarece pentru cele non-intra-cadre
veți primi de obicei pachete suplimentare înaintea punctului de intrare real și a conținutului decodat
va conține cel mai probabil cadre înainte de In point.

Pentru fiecare fișier, pachetele dinaintea fișierului In point vor avea marcaje de timp mai mici decât
amprenta temporală de pornire calculată a fișierului (negativ în cazul primului fișier) și
durata fișierelor (dacă nu este specificată de directiva „durată”) va fi redusă
pe baza lor specificate In punctul.

Din cauza pachetelor potențiale înainte de punctul In specificat, marcajele de timp ale pachetului pot
suprapunerea între două fișiere concatenate.

„punct de ieşire timestamp-ul"
Punctul de ieşire al dosarului. Când demuxer-ul atinge marcajul de timp specificat pentru decodare în
oricare dintre fluxuri, îl gestionează ca o condiție de sfârșit de fișier și omite curentul
și toate pachetele rămase din toate fluxurile.

Punctul de ieșire este exclusiv, ceea ce înseamnă că demuxer-ul nu va scoate pachete cu a
marca temporală de decodare mai mare sau egală cu punctul de ieșire.

Această directivă funcționează cel mai bine cu codec-urile și formatele intra-cadru în care sunt toate fluxurile
strâns întrepătrunse. Pentru codecuri non-intra frame, veți primi de obicei suplimentar
pachetele cu marca temporală de prezentare după punctul Out, prin urmare, conținutul decodat va
cel mai probabil conțin și cadre după Punctul de ieșire. Dacă fluxurile dvs. nu sunt strânse
intercalat este posibil să nu obțineți toate pachetele din toate fluxurile înainte de Out point și dvs
poate doar va putea decoda cel mai vechi flux până la punctul de ieșire.

Durata fișierelor (dacă nu este specificată de directiva „durată”) va fi
reduse pe baza punctului lor de ieșire specificat.

„metadate_pachet_fișier cheie=valoare"
Metadatele pachetelor din fișier. Metadatele specificate vor fi setate pentru fiecare fișier
pachet. Puteți specifica această directivă de mai multe ori pentru a adăuga mai multe metadate
intrări.

"curent"
Introduceți un flux în fișierul virtual. Toate directivele ulterioare legate de flux
se aplică ultimului flux introdus. Unele proprietăți ale fluxurilor trebuie setate pentru a
permit identificarea fluxurilor care se potrivesc în subfișiere. Dacă nu sunt definite fluxuri în
scriptul, fluxurile din primul fișier sunt copiate.

„exact_stream_id id"
Setați id-ul fluxului. Dacă această directivă este dată, șirul cu
va fi folosit id-ul corespunzător din subfișiere. Acest lucru este util în special pentru MPEG-PS
(VOB), în care ordinea fluxurilor nu este de încredere.

Opţiuni

Acest demuxer acceptă următoarea opțiune:

sigur
Dacă setați la 1, respingeți căile de fișiere nesigure. O cale de fișier este considerată sigură dacă nu
conțin o specificație de protocol și este relativă și toate componentele conțin doar
caractere din setul de caractere portabil (litere, cifre, punct, subliniere și
cratima) și nu au punct la începutul unei componente.

Dacă este setat la 0, orice nume de fișier este acceptat.

Valoarea implicită este -1, este echivalent cu 1 dacă formatul a fost testat automat și 0
in caz contrar.

conversie_auto
Dacă setați la 1, încercați să efectuați conversii automate pe pachete de date pentru a realiza fluxurile
concatenabil. Valoarea implicită este 1.

În prezent, singura conversie este adăugarea filtrului de flux de biți h264_mp4toannexb la
Fluxuri H.264 în format MP4. Acest lucru este necesar în special dacă există soluții
schimbări.

flv
Demuxer Adobe Flash Video Format.

Acest demuxer este utilizat pentru demultiplicarea fișierelor FLV și a fluxurilor de rețea RTMP.

-flv_metadata bool
Alocați fluxurile în funcție de conținutul matricei onMetaData.

libgme
Biblioteca Game Music Emu este o colecție de emulatori de fișiere muzicale pentru jocuri video.

Vedeahttp://code.google.com/p/game-music-emu/> pentru mai multe informații.

Unele fișiere au mai multe piste. Demuxer-ul va alege prima piesă în mod implicit. The
track_index opțiunea poate fi folosită pentru a selecta o altă piesă. Indicii de urmărire încep de la 0
demuxer exportă numărul de piese ca piese introducerea metadatelor.

Pentru fișiere foarte mari, aplicația dimensiune_max opțiunea poate fi necesară ajustată.

libquvi
Redați conținut media din serviciile de internet folosind proiectul quvi.

Demuxer-ul acceptă a format opțiunea de a solicita o anumită calitate. Este setat implicit la
Cel mai bun.

Vedeahttp://quvi.sourceforge.net/> pentru mai multe informații.

FFmpeg trebuie să fie construit cu „--enable-libquvi” pentru ca acest demuxer să fie activat.

gif
Demuxer GIF animat.

Acceptă următoarele opțiuni:

min_delay
Setați întârzierea minimă valabilă între cadre în sutimi de secunde. Intervalul este de la 0 la
6000. Valoarea implicită este 2.

max_gif_delay
Setați întârzierea maximă valabilă între cadre în sutime de secunde. Intervalul este de la 0 la
65535. Valoarea implicită este 65535 (aproape unsprezece minute), valoarea maximă permisă de
caietul de sarcini.

default_delay
Setați întârzierea implicită între cadre în sutimi de secunde. Intervalul este de la 0 la 6000.
Valoarea implicită este 10.

ignore_loop
Fișierele GIF pot conține informații care pot fi redate de un anumit număr de ori (sau la infinit).
If ignore_loop este setat la 1, atunci setarea buclei de la intrare va fi ignorată și
bucla nu va avea loc. Dacă se setează la 0, atunci va avea loc bucla și va ciclă numărul
de ori conform GIF-ului. Valoarea implicită este 1.

De exemplu, cu filtrul de suprapunere, plasați un GIF cu buclă infinită peste alt videoclip:

ffmpeg -i input.mp4 -ignore_loop 0 -i input.gif -filter_complex overlay=shortest=1 out.mkv

Rețineți că, în exemplul de mai sus, cea mai scurtă opțiune pentru filtrul de suprapunere este folosită pentru a termina
ieșiți video la lungimea celui mai scurt fișier de intrare, care în acest caz este intrare.mp4 as
GIF-ul din acest exemplu trece la infinit.

image2
Demuxer fișier imagine.

Acest demuxer citește dintr-o listă de fișiere imagine specificate de un model. Sintaxa și
sensul modelului este specificat de opțiune model_tip.

Modelul poate conține un sufix care este utilizat pentru a determina automat formatul
imaginile conținute în fișiere.

Dimensiunea, formatul pixelilor și formatul fiecărei imagini trebuie să fie aceleași pentru toate
fișierele din secvența.

Acest demuxer acceptă următoarele opțiuni:

rata de cadre
Setați rata de cadre pentru fluxul video. Este implicit la 25.

buclă
Dacă este setat la 1, bucla peste intrare. Valoarea implicită este 0.

model_tip
Selectați tipul de model folosit pentru a interpreta numele fișierului furnizat.

model_tip acceptă una dintre următoarele valori.

nici unul
Dezactivează potrivirea modelului, prin urmare videoclipul va conține numai cele specificate
imagine. Ar trebui să utilizați această opțiune dacă nu doriți să creați secvențe din
mai multe imagini și numele fișierelor dvs. pot conține caractere speciale de tipar.

secvenţă
Selectați un tip de model de secvență, utilizat pentru a specifica o secvență de fișiere indexate de
numere secvențiale.

Un model de secvență poate conține șirul „%d” sau „%0Nd”, care specifică
poziţia caracterelor reprezentând un număr secvenţial în fiecare nume de fişier
potrivite de tipar. Dacă forma „%d0Nd", este folosit, șirul reprezentând
numărul din fiecare nume de fișier este completat cu 0 și N este numărul total de cifre completate cu 0
reprezentând numărul. Caracterul literal „%” poate fi specificat în model
cu șirul „%%”.

Dacă modelul de secvență conține „%d” sau „%0Nd", primul nume de fișier al fișierului
lista specificată de model trebuie să conţină un număr inclus inclusiv între
număr_început și număr_început+interval_număr_început-1 și toate numerele următoare
trebuie să fie secvenţial.

De exemplu, modelul „img-%03d.bmp” se va potrivi cu o secvență de nume de fișiere ale
formă img-001.bmp, img-002.bmp, ..., img-010.bmp, etc.; modelul
„i%%m%%g-%d.jpg” loading="lazy" se va potrivi cu o secvență de nume de fișiere de forma i%m%g-1.jpg,
i%m%g-2.jpg, ..., i%m%g-10.jpg, Etc

Rețineți că modelul nu trebuie să conțină neapărat „%d” sau „%0Nd", de exemplu la
convertiți un singur fișier imagine img.jpeg poți folosi comanda:

ffmpeg -i img.jpeg img.png

glob
Selectați un tip de model cu wildcard glob.

Modelul este interpretat ca un model „glob()”. Acesta este selectabil numai dacă
libavformat a fost compilat cu suport globbing.

glob_sequence (depreciat, voi be îndepărtat)
Selectați un model mixt de wildcard/secvență.

Dacă versiunea dvs. de libavformat a fost compilată cu suport globbing, și
modelul furnizat conține cel puțin un metacaracter glob printre „%*?[]{}”, adică
precedat de un „%” fără escape, modelul este interpretat ca un model „glob()”,
în caz contrar, este interpretat ca un model de secvență.

Toate caracterele speciale glob „%*?[]{}” trebuie să aibă prefixul „%”. A scăpa de a
literal „%” veți folosi „%%”.

De exemplu, modelul „foo-%*.jpeg” se va potrivi cu toate numele de fișiere prefixate de
„foo-” și se termină cu „.jpeg”, și „foo-%?%?%?.jpeg” se vor potrivi cu toate
nume de fișiere prefixate cu „foo-”, urmate de o secvență de trei caractere și
se termină cu „.jpeg”.

Acest tip de model este depreciat în favoarea glob și secvenţă.

Valoarea implicită este glob_sequence.

format_pixel
Setați formatul de pixeli al imaginilor de citit. Dacă nu este specificat, formatul pixelului este
ghicit din primul fișier imagine din secvență.

număr_început
Setați indexul fișierului potrivit modelului fișierului imagine din care începe să citiți.
Valoarea implicită este 0.

interval_număr_început
Setați intervalul de index pentru a verifica atunci când căutați primul fișier imagine în
secvență, începând de la număr_început. Valoarea implicită este 5.

ts_from_file
Dacă este setată la 1, va seta marcajul de timp al cadrului la ora de modificare a fișierului imagine. Rețineți că
monotonitatea marcajelor de timp nu este furnizată: imaginile merg în aceeași ordine ca și fără aceasta
opțiune. Valoarea implicită este 0. Dacă este setată la 2, va seta marcajul de timp al cadrului pentru modificare
timpul fișierului imagine cu precizie de nanosecundă.

video_size
Setați dimensiunea video a imaginilor de citit. Dacă nu este specificat dimensiunea videoclipului este ghicită
din primul fișier imagine din secvență.

Exemple

· Utilizare FFMPEG pentru crearea unui videoclip din imaginile din secvența de fișiere img-001.jpeg,
img-002.jpeg, ..., presupunând o rată de intrare a cadrelor de 10 cadre pe secundă:

ffmpeg -framerate 10 -i 'img-%03d.jpeg' out.mkv

· Ca mai sus, dar începeți prin a citi dintr-un fișier cu indexul 100 în secvența:

ffmpeg -framerate 10 -start_number 100 -i 'img-%03d.jpeg' out.mkv

· Citiți imagini care se potrivesc cu modelul „*.png” loading="lazy" glob, adică toate fișierele care se termină cu
sufixul ".png" loading="lenes":

ffmpeg -framerate 10 -pattern_type glob -i "*.png" loading="lazy" out.mkv

mov/mp4/3gp/Quicktme
Demuxer Quicktime / MP4.

Acest demuxer acceptă următoarele opțiuni:

enable_drefs
Activați încărcarea pieselor externe, dezactivată implicit. Activarea acestui poate
teoretic scurgeri de informații în unele cazuri de utilizare.

folosește calea_absolută
Permite încărcarea pistelor externe prin căi absolute, dezactivate implicit. Activare
aceasta prezintă un risc de securitate. Ar trebui să fie activat numai dacă se știe că sursa nu este
rău intenționat.

mpegts
Demuxer de flux de transport MPEG-2.

Acest demuxer acceptă următoarele opțiuni:

resync_size
Setați limita de dimensiune pentru a căuta o nouă sincronizare. Valoarea implicită este 65536.

fix_teletext_pts
Ignorați valorile PTS și DTS ale pachetelor de teletext cu marcajele de timp calculate din
PCR a primului program din care face parte fluxul de teletext și nu este eliminat.
Valoarea implicită este 1, setați această opțiune la 0 dacă doriți pachetul de teletext PTS și DTS
valori neatinse.

ts_packetsiize
Opțiune de ieșire care poartă dimensiunea pachetului brut în octeți. Afișați pachetul brut detectat
dimensiune, nu poate fi setată de utilizator.

scan_all_pmts
Scanați și combinați toate PMT-urile. Valoarea este un număr întreg cu valoarea de la -1 la 1 (-1 înseamnă
setare automată, 1 înseamnă activat, 0 înseamnă dezactivat). Valoarea implicită este -1.

rawvideo
Demuxer video brut.

Acest demuxer permite citirea datelor video brute. Deoarece nu există niciun antet care să specifice
parametri video asumați, utilizatorul trebuie să îi specifice pentru a putea decoda
datele corect.

Acest demuxer acceptă următoarele opțiuni:

rata de cadre
Setați rata de cadre video de intrare. Valoarea implicită este 25.

format_pixel
Setați formatul pixelilor video de intrare. Valoarea implicită este „yuv420p”.

video_size
Setați dimensiunea video de intrare. Această valoare trebuie specificată în mod explicit.

De exemplu, pentru a citi un fișier video brut intrare.brută cu ffplay, presupunând un format de pixel de
„rgb24”, o dimensiune video de „320x240” și o rată de cadre de 10 imagini pe secundă, utilizați
comanda:

ffplay -f rawvideo -pixel_format rgb24 -video_size 320x240 -framerate 10 input.raw

sbg
Demuxer de script SBaGen.

Acest demuxer citește limbajul de script folosit de SBaGenhttp://uazu.net/sbagen/> la
generați sesiuni de bătăi binaurale. Un script SBG arată astfel:

-DE SINE
a: 300-2.5/3 440+4.5/0
b: 300-2.5/0 440+4.5/3
oprit: -
ACUM == a
+0:07:00 == b
+0:14:00 == a
+0:21:00 == b
+0:30:00 reducere

Un script SBG poate amesteca marcaje temporale absolute și relative. Dacă scriptul folosește numai oricare
marcaje temporale absolute (inclusiv ora de începere a scriptului) sau doar relative, apoi este
aspectul este fix, iar conversia este simplă. Pe de altă parte, dacă scenariul
amestecă ambele tipuri de marcaje temporale, apoi ACUM referință pentru marcajele de timp relative vor fi
luate de la ora curentă a zilei la momentul citirii scriptului și aspectul scriptului
va fi înghețat conform acelei referințe. Asta înseamnă că dacă scenariul este direct
redate, orele reale se vor potrivi cu marcajele temporale absolute până la cele ale controlerului de sunet
acuratețea ceasului, dar dacă utilizatorul întrerupe cumva redarea sau caută, toate orele vor fi
mutat în consecință.

tedcaptions
Subtitrările JSON folosite pentruhttp://www.ted.com/>.

TED nu oferă link-uri către legendele, dar acestea pot fi ghicite din pagină. The
fişier instrumente/bookmarklets.html din arborele sursă FFmpeg conține un bookmarklet de expus
Le.

Acest demuxer acceptă următoarea opțiune:

timpul de începere
Setați ora de începere a convorbirii TED, în milisecunde. Valoarea implicită este 15000 (15s). Este
folosit pentru a sincroniza subtitrările cu videoclipurile descărcabile, deoarece includ un 15s
introducere.

Exemplu: convertiți legendele într-un format pe care majoritatea jucătorilor îl înțeleg:

ffmpeg -i http://www.ted.com/talks/subtitles/id/1/lang/en talk1-en.srt

MUXERS


Muxerele sunt elemente configurate în FFmpeg care permit scrierea fluxurilor multimedia pe a
anumit tip de fișier.

Când vă configurați versiunea FFmpeg, toate muxerele acceptate sunt activate implicit. Tu
poate lista toate muxerele disponibile folosind opțiunea de configurare „--list-muxers”.

Puteți dezactiva toate muxerele cu opțiunea de configurare „--disable-muxers” și
activați/dezactivați selectiv muxerele unice cu opțiunile „--enable-muxer=MUXER" /
"--disable-muxer=MUXER".

Opțiunea „-formate” a instrumentelor ff* va afișa lista muxerelor activate.

Urmează o descriere a unora dintre muxerele disponibile în prezent.

AIFF
Muxer de format de fișier de schimb audio.

Opţiuni

Acceptă următoarele opțiuni:

write_id3v2
Activați scrierea etichetelor ID3v2 când este setată la 1. Implicit este 0 (dezactivat).

id3v2_version
Selectați versiunea ID3v2 pentru a scrie. În prezent, doar versiunea 3 și 4 (alias ID3v2.3 și
ID3v2.4) sunt acceptate. Valoarea implicită este versiunea 4.

crc
Format de testare CRC (Cyclic Redundancy Check).

Acest muxer calculează și imprimă Adler-32 CRC pentru toate cadrele audio și video de intrare.
În mod implicit, cadrele audio sunt convertite în audio brut de 16 biți și cadre video în brut
video înainte de a calcula CRC.

Ieșirea muxerului constă dintr-o singură linie de forma: CRC=0xCRC, În cazul în care CRC este
număr hexazecimal 0-complet la 8 cifre care conțin CRC pentru toată intrarea decodificată
rame.

Consultați și framecrc muxer.

Exemple

De exemplu, pentru a calcula CRC-ul intrării și a-l stoca în fișier afară.crc:

ffmpeg -i INPUT -f crc out.crc

Puteți imprima CRC la stdout cu comanda:

ffmpeg -i INPUT -f crc -

Puteți selecta formatul de ieșire al fiecărui cadru cu FFMPEG prin specificarea audio şi
codec video și format. De exemplu, pentru a calcula CRC-ul audio de intrare convertit în PCM
8 biți nesemnat și video de intrare convertit în video MPEG-2, utilizați comanda:

ffmpeg -i INPUT -c:a pcm_u8 -c:v mpeg2video -f crc -

framecrc
Format de testare CRC (Cyclic Redundancy Check) per pachet.

Acest muxer calculează și imprimă Adler-32 CRC pentru fiecare pachet audio și video. De
cadrele audio implicite sunt convertite în audio brut de 16 biți și cadre video în brut
video înainte de a calcula CRC.

Ieșirea muxerului constă dintr-o linie pentru fiecare pachet audio și video de forma:

, , , , , 0x

CRC este un număr hexazecimal completat cu 0 la 8 cifre care conține CRC-ul pachetului.

Exemple

De exemplu, pentru a calcula CRC-ul cadrelor audio și video în INTRARE, convertit în brut
pachete audio și video și stocați-le în fișier afară.crc:

ffmpeg -i INPUT -f framecrc out.crc

Pentru a imprima informațiile în stdout, utilizați comanda:

ffmpeg -i INPUT -f framecrc -

cu FFMPEG, puteți selecta formatul de ieșire în care sunt cadrele audio și video
codificat înainte de a calcula CRC pentru fiecare pachet prin specificarea codec-ului audio și video.
De exemplu, pentru a calcula CRC-ul fiecărui cadru audio de intrare decodat convertit în PCM
pe 8 biți nesemnat și din fiecare cadru video de intrare decodat convertit în video MPEG-2, utilizați
comanda:

ffmpeg -i INPUT -c:a pcm_u8 -c:v mpeg2video -f framecrc -

Consultați și crc muxer.

framemd5
Format de testare MD5 per pachet.

Acest muxer calculează și imprimă hash-ul MD5 pentru fiecare pachet audio și video. În mod implicit
cadrele audio sunt convertite în audio brut pe 16 biți și cadre video în video brut înainte
calcularea hashului.

Ieșirea muxerului constă dintr-o linie pentru fiecare pachet audio și video de forma:

, , , , ,

MD5 este un număr hexazecimal care reprezintă hash-ul MD5 calculat pentru pachet.

Exemple

De exemplu, pentru a calcula MD5 al cadrelor audio și video în INTRARE, convertit în brut
pachete audio și video și stocați-le în fișier out.md5:

ffmpeg -i INPUT -f framemd5 out.md5

Pentru a imprima informațiile în stdout, utilizați comanda:

ffmpeg -i INPUT -f framemd5 -

Consultați și md5 muxer.

gif
Muxer GIF animat.

Acceptă următoarele opțiuni:

buclă
Setați numărul de ori pentru a bucla ieșirea. Folosiți „-1” pentru nicio buclă, 0 pentru buclă
pe termen nelimitat (implicit).

întârziere_finală
Forțați întârzierea (exprimată în centisecunde) după ultimul cadru. Fiecare cadru se termină cu
o întârziere până la următorul cadru. Valoarea implicită este „-1”, care este o valoare specială de spus
muxerul pentru a reutiliza întârzierea anterioară. În cazul unei bucle, este posibil să doriți să personalizați
această valoare pentru a marca, de exemplu, o pauză.

De exemplu, pentru a codifica o buclă gif de 10 ori, cu o întârziere de 5 secunde între bucle:

ffmpeg -i INPUT -loop 10 -final_delay 500 out.gif

Nota 1: dacă doriți să extrageți cadrele în fișiere GIF separate, trebuie să forțați
image2 muxer:

ffmpeg -i INTRARE -c:v gif -f imagine2 "out%d.gif"

Nota 2: formatul GIF are o bază de timp foarte mică: întârzierea dintre două cadre nu poate fi
mai mic de un centi secundă.

hls
Muxer Apple HTTP Live Streaming care segmentează MPEG-TS conform HTTP Live Streaming
(HLS).

Acesta creează un fișier de listă de redare și unul sau mai multe fișiere segment. Numele fișierului de ieșire specifică
numele fișierului listei de redare.

În mod implicit, muxer-ul creează un fișier pentru fiecare segment produs. Aceste fișiere au același lucru
nume ca listă de redare, urmat de un număr secvenţial și de o extensie .ts.

De exemplu, pentru a converti un fișier de intrare cu FFMPEG:

ffmpeg -i in.nut out.m3u8

Acest exemplu va produce lista de redare, afară.m3u8, și fișierele segmentate: out0.ts, out1.ts,
out2.ts, Etc

Consultați și segment muxer, care oferă o implementare mai generică și mai flexibilă a a
segmenter și poate fi utilizat pentru a efectua segmentarea HLS.

Opţiuni

Acest muxer acceptă următoarele opțiuni:

hls_time secunde
Setați lungimea segmentului în secunde. Valoarea implicită este 2.

hls_list_size mărimea
Setați numărul maxim de intrări în lista de redare. Dacă este setat la 0, fișierul listă va conține toate
segmentele. Valoarea implicită este 5.

hls_ts_options lista_opțiuni
Setați opțiunile de format de ieșire folosind o listă separată de parametri cheie=valoare. Valori
care conțin caractere speciale „:” trebuie să fie eliminate.

hls_wrap încadra
Setați numărul după care numărul numelui de fișier al segmentului (numărul specificat în fiecare
fişier segment) wraps. Dacă este setat la 0, numărul nu va fi niciodată împachetat. Valoarea implicită este 0.

Această opțiune este utilă pentru a evita umplerea discului cu multe fișiere segment și limite
numărul maxim de fișiere de segmente scrise pe disc pe care încadra.

număr_început număr
Începeți numărul secvenței listei de redare de la număr. Valoarea implicită este 0.

hls_allow_cache allowcache
Setați în mod explicit dacă clientul MAI \fIs0(1) sau NU TREBUIE \fIs0(0) cache media
segmente.

hls_base_url baseurl
Adăuga baseurl la fiecare intrare din lista de redare. Util pentru a genera liste de redare cu
căi absolute.

Rețineți că numărul secvenței listei de redare trebuie să fie unic pentru fiecare segment și nu este
a fi confundat cu numărul de secvență al numelui de fișier al segmentului care poate fi ciclic, pt
exemplu dacă încadra este specificată opțiunea.

hls_segment_filename nume de fișier
Setați numele fișierului segmentului. Cu excepția cazului în care hls_flags single_file este setat nume de fișier este folosit ca
format șir cu numărul segmentului:

ffmpeg in.nut -hls_segment_filename 'fișier%03d.ts' out.m3u8

Acest exemplu va produce lista de redare, afară.m3u8, și fișierele segmentate: fisier000.ts,
fisier001.ts, fisier002.ts, Etc

hls_key_info_file fișierul_info_cheie
Utilizați informațiile din fișierul_info_cheie pentru criptarea segmentelor. Prima linie a
fișierul_info_cheie specifică cheia URI scrisă în lista de redare. URL-ul cheie este folosit pentru
accesați cheia de criptare în timpul redării. A doua linie specifică calea către
fișierul cheie utilizat pentru a obține cheia în timpul procesului de criptare. Fișierul cheie este citit ca
o singură matrice împachetată de 16 octeți în format binar. A treia linie opțională specifică
vectorul de inițializare (IV) ca șir hexazecimal pentru a fi folosit în loc de
numărul de secvență al segmentului (implicit) pentru criptare. Schimbări la fișierul_info_cheie va rezulta
în criptarea segmentului cu noua cheie/IV și o intrare în lista de redare pentru noua cheie
URI/IV.

Format de fișier cu informații cheie:



(optional)

Exemple de URI de cheie:

http://server/file.key
/cale/la/fișier.key
fisier.cheie

Exemple de căi ale fișierelor cheie:

fisier.cheie
/cale/la/fișier.key

Exemplul IV:

0123456789ABCDEF0123456789ABCDEF

Exemplu de fișier cu informații cheie:

http://server/file.key
/cale/la/fișier.key
0123456789ABCDEF0123456789ABCDEF

Exemplu de script shell:

#!/ Bin / sh
BASE_URL=${1:-'.'}
openssl rand 16 > file.key
echo $BASE_URL/file.key > file.keyinfo
echo file.key >> file.keyinfo
echo $(openssl rand -hex 16) >> fișier.keyinfo
ffmpeg -f lavfi -re -i testsrc -c:v h264 -hls_flags delete_segments \
-hls_key_info_file file.keyinfo out.m3u8

hls_flags fişier_unic
Dacă acest flag este setat, muxer-ul va stoca toate segmentele într-un singur fișier MPEG-TS și
va folosi intervale de octeți în lista de redare. Listele de redare HLS generate cu acest mod vor avea
numărul de versiune 4. De exemplu:

ffmpeg -i in.nut -hls_flags single_file out.m3u8

Va produce lista de redare, afară.m3u8, și un fișier cu un singur segment, out.ts.

hls_flags delete_segments
Fișierele cu segmente eliminate din lista de redare sunt șterse după o perioadă de timp egală cu
durata segmentului plus durata playlistului.

ico
Muxer de fișiere ICO.

Formatul de fișier pictogramă Microsoft (ICO) are câteva limitări stricte care trebuie reținute:

· Dimensiunea nu poate depăși 256 de pixeli în orice dimensiune

· Numai imaginile BMP și PNG pot fi stocate

· Dacă se utilizează o imagine BMP, aceasta trebuie să fie unul dintre următoarele formate de pixeli:

BMP Bit Depth FFmpeg Pixel Format
1bit pal8
4bit pal8
8bit pal8
rgb16le pe 555 biți
24 de biți bgr24
bgra pe 32 de biți

· Dacă se utilizează o imagine BMP, aceasta trebuie să utilizeze antetul DIB BITMAPINFOHEADER

· Dacă este utilizată o imagine PNG, aceasta trebuie să utilizeze formatul de pixeli rgba

image2
Muxer fișier imagine.

Muxerul de fișiere imagine scrie cadre video în fișierele imagine.

Numele fișierelor de ieșire sunt specificate printr-un model, care poate fi folosit pentru a produce secvențial
serie numerotata de dosare. Modelul poate conține șirul „%d” sau „%0Nd", acest șir
specifică poziția caracterelor reprezentând o numerotare în numele fișierelor. Dacă
formularul „%0Nd", șirul care reprezintă numărul din fiecare nume de fișier este completat cu 0 N
cifre. Caracterul literal „%” poate fi specificat în model cu șirul „%%”.

Dacă modelul conține „%d” sau „%0Nd", primul nume de fișier din lista de fișiere specificată va
conţin numărul 1, toate numerele următoare vor fi secvenţiale.

Modelul poate conține un sufix care este utilizat pentru a determina automat formatul
fișierele imagine de scris.

De exemplu, modelul „img-%03d.bmp” va specifica o secvență de nume de fișiere de forma
img-001.bmp, img-002.bmp, ..., img-010.bmp, etc. Modelul „img%%-%d.jpg” loading="lazy" va specifica
o secvență de nume de fișiere din formular img%-1.jpg, img%-2.jpg, ..., img%-10.jpg, Etc

Exemple

Următorul exemplu arată cum se utilizează FFMPEG pentru crearea unei secvențe de fișiere
img-001.jpeg, img-002.jpeg, ..., luând o imagine în fiecare secundă din videoclipul de intrare:

ffmpeg -i in.avi -vsync 1 -r 1 -f imagine2 'img-%03d.jpeg'

Rețineți că cu FFMPEG, dacă formatul nu este specificat cu opțiunea „-f” și rezultatul
filename specifică un format de fișier imagine, muxerul image2 este selectat automat, deci
comanda anterioară poate fi scrisă ca:

ffmpeg -i in.avi -vsync 1 -r 1 'img-%03d.jpeg'

De asemenea, rețineți că modelul nu trebuie să conțină neapărat „%d” sau „%0Nd", de exemplu la
creați un singur fișier imagine img.jpeg din videoclipul de intrare puteți folosi comanda:

ffmpeg -i in.avi -f imagine2 -frames:v 1 img.jpeg

strftime opțiunea vă permite să extindeți numele fișierului cu informații despre dată și oră.
Verificați documentația funcției „strftime()” pentru sintaxă.

De exemplu, pentru a genera fișiere imagine din modelul „strftime()” „%Y-%m-%d_%H-%M-%S”,
următor FFMPEG comanda poate fi folosita:

ffmpeg -f v4l2 -r 1 -i /dev/video0 -f imagine2 -strftime 1 „%Y-%m-%d_%H-%M-%S.jpg”

Opţiuni

număr_început
Începeți secvența de la numărul specificat. Valoarea implicită este 0.

actualizare
Dacă este setat la 1, numele fișierului va fi întotdeauna interpretat ca doar un nume de fișier, nu ca un
model, iar fișierul corespunzător va fi suprascris continuu cu imagini noi.
Valoarea implicită este 0.

strftime
Dacă este setat la 1, extindeți numele fișierului cu informații despre dată și oră din „strftime()”.
Valoarea implicită este 0.

Muxerul de imagini acceptă formatul de fișier imagine .YUV. Acest format este special prin aceea că
fiecare cadru de imagine este format din trei fișiere, pentru fiecare dintre componentele YUV420P. A citi sau
scrieți acest format de fișier imagine, specificați numele fișierului „.Y”. Muxer-ul va
deschide automat fișierele „.U” și „.V” după cum este necesar.

matroska
Muxer container Matroska.

Acest muxer implementează specificațiile containerului matroska și webm.

Metadata

Setările de metadate recunoscute în acest muxer sunt:

titlu
Setați numele titlului oferit unei singure piese.

limbă
Specificați limba piesei în formularul de limbi Matroska.

Limba poate fi fie forma bibliografică de 3 litere ISO-639-2 (ISO 639-2/B)
(cum ar fi „fre” pentru franceză) sau un cod de limbă amestecat cu un cod de țară pentru specialități
în limbi (cum ar fi „fre-ca” pentru franceza canadiană).

stereo_mode
Setați aspectul video 3D stereo pentru două vizualizări într-o singură pistă video.

Sunt recunoscute următoarele valori:

mono
video nu este stereo

stanga dreapta
Ambele vederi sunt aranjate una lângă alta, Vederea cu ochiul stâng este pe partea stângă

jos sus
Ambele vederi sunt aranjate în orientare sus-jos, vederea cu ochiul stâng este în jos

sus jos
Ambele vederi sunt aranjate în orientare sus-jos, vederea cu ochiul stâng este în partea de sus

checkerboard_rl
Fiecare vedere este aranjată într-un model intercalat în șah, vedere cu ochiul stâng
primul

checkerboard_lr
Fiecare vedere este aranjată într-un model intercalat în șah, vedere cu ochiul drept
primul

row_interleaved_rl
Fiecare vedere este constituită dintr-o intercalare bazată pe rânduri, vederea cu ochiul drept este primul rând

row_interleaved_lr
Fiecare vedere este alcătuită dintr-o intercalare pe rând, Vederea cu ochiul stâng este primul rând

col_interleaved_rl
Ambele vederi sunt aranjate într-o manieră de intercalare pe coloană, iar vederea cu ochiul drept este
prima coloană

col_interleaved_lr
Ambele vederi sunt aranjate într-o manieră de intercalare pe coloană, iar vederea cu ochiul stâng este
prima coloană

anaglif_cyan_red
Toate cadrele sunt în format anaglif vizibile prin filtre roșu-cian

dreapta stanga
Ambele vederi sunt aranjate una lângă alta, vederea cu ochiul drept este pe stânga

anaglifă_verde_magenta
Toate cadrele sunt în format anaglif vizibile prin filtre verde-magenta

block_lr
Ambii ochi strânși într-un singur bloc, prima vedere cu ochiul stâng

block_rl
Ambii ochi strânși într-un singur bloc, prima vedere este ochiul drept

De exemplu, un clip WebM 3D poate fi creat folosind următoarea linie de comandă:

ffmpeg -i sample_left_right_clip.mpg -an -c:v libvpx -metadata stereo_mode=left_right -y stereo_clip.webm

Opţiuni

Acest muxer acceptă următoarele opțiuni:

rezervă_spațiu_index
În mod implicit, acest muxer scrie indexul pentru căutare (numite indicii în termenii Matroska) la
sfârşitul dosarului, deoarece nu poate şti dinainte cât spaţiu să lase pentru
index la începutul fișierului. Cu toate acestea, pentru unele cazuri de utilizare -- de exemplu, streaming
unde căutarea este posibilă, dar lentă -- este util să puneți indexul la început
a dosarului.

Dacă această opțiune este setată la o valoare diferită de zero, muxer-ul va rezerva o anumită cantitate de
spațiu în antetul fișierului și apoi încercați să scrieți indicii acolo atunci când muxați
finisaje. Dacă spațiul disponibil nu este suficient, muxing-ul va eșua. O dimensiune sigură pentru
majoritatea cazurilor de utilizare ar trebui să fie de aproximativ 50 kB pe oră de videoclip.

Rețineți că indicațiile sunt scrise numai dacă rezultatul poate fi căutat și această opțiune va avea nu
efect dacă nu este.

md5
Format de testare MD5.

Acest muxer calculează și imprimă hash-ul MD5 al tuturor cadrelor audio și video de intrare. De
cadrele audio implicite sunt convertite în audio brut de 16 biți și cadre video în brut
video înainte de a calcula hash-ul.

Ieșirea muxerului constă dintr-o singură linie de forma: MD5=MD5, În cazul în care MD5 este
număr hexazecimal reprezentând hashul MD5 calculat.

De exemplu, pentru a calcula hash-ul MD5 al intrării convertite în audio și video brut și
stocați-l în fișier out.md5:

ffmpeg -i INPUT -f md5 out.md5

Puteți imprima MD5 la stdout cu comanda:

ffmpeg -i INPUT -f md5 -

Consultați și framemd5 muxer.

mutare, mp4, isv
Muxer MOV/MP4/ISMV (Smooth Streaming).

Muxerul mov/mp4/ismv acceptă fragmentarea. În mod normal, un fișier MOV/MP4 are toate
metadate despre toate pachetele stocate într-o singură locație (scrise la sfârșitul fișierului, se poate
fi mutat la început pentru o redare mai bună prin adăugare pornire rapidă la movflags, sau folosind
il qt-faststart instrument). Un fișier fragmentat constă dintr-un număr de fragmente, unde pachete
iar metadatele despre aceste pachete sunt stocate împreună. Scrierea unui fișier fragmentat are
avantajul că fișierul este decodabil chiar dacă scrierea este întreruptă (în timp ce este normal
MOV/MP4 este necodabil dacă nu este finalizat corespunzător) și necesită mai puțină memorie atunci când
scrierea fișierelor foarte lungi (deoarece scrierea fișierelor MOV/MP4 normale stochează informații despre fiecare
pachet în memorie până când fișierul este închis). Dezavantajul este că este mai puțin compatibil
cu alte aplicații.

Opţiuni

Fragmentarea este activată prin setarea uneia dintre opțiunile AVO care definesc modul de tăiere a fișierului
în fragmente:

-moov_size bytes
Rezervă spațiu pentru atomul moov la începutul fișierului în loc să plaseze
moov atom la sfârșit. Dacă spațiul rezervat este insuficient, muxing-ul va eșua.

-movflags frag_keyframe
Începeți un nou fragment la fiecare cadru cheie video.

-frag_duration durată
Creați fragmente care sunt durată lungime de microsecunde.

-frag_size mărimea
Creați fragmente care conțin până la mărimea octeți de date de încărcare utilă.

-movflags frag_custom
Permiteți apelantului să aleagă manual când să taie fragmente, prin apelare
„av_write_frame(ctx, NULL)” pentru a scrie un fragment cu pachetele scrise până acum. (Acest
este util doar cu alte aplicații care integrează libavformat, nu din FFMPEG.)

-min_frag_duration durată
Nu creați fragmente mai scurte decât durată lungime de microsecunde.

Dacă sunt specificate mai multe condiții, fragmentele sunt tăiate atunci când una dintre cele specificate
condițiile sunt îndeplinite. Excepția de la aceasta este „-min_frag_duration”, care trebuie să fie
îndeplinite pentru ca oricare dintre celelalte condiții să se aplice.

În plus, modul în care este scris fișierul de ieșire poate fi ajustat prin alte câteva
opţiuni:

-movflags empty_moov
Scrieți un atom moov inițial direct la începutul fișierului, fără a descrie niciunul
mostre din el. În general, o pereche mdat/moov este scrisă la începutul fișierului, ca a
fișier MOV/MP4 normal, care conține doar o mică parte a fișierului. Cu această opțiune
set, nu există un atom mdat inițial, iar atomul moov descrie doar pistele dar
are o durată zero.

Această opțiune este setată implicit la scrierea fișierelor ismv (Smooth Streaming).

-movflags separate_moof
Scrieți un atom separat (fragment de film) pentru fiecare piesă. În mod normal, pachete pentru toți
Urmele sunt scrise într-un atom moof (care este puțin mai eficient), dar cu asta
set de opțiuni, muxer-ul scrie o pereche moof/mdat pentru fiecare piesă, făcându-l mai ușor
piste separate.

Această opțiune este setată implicit la scrierea fișierelor ismv (Smooth Streaming).

-movflags pornire rapidă
Rulați o a doua trecere mutând indexul (moov atom) la începutul fișierului. Acest
funcționarea poate dura ceva timp și nu va funcționa în diverse situații, cum ar fi fragmentat
ieșire, deci nu este activată implicit.

-movflags rtphint
Adăugați piese de indiciu RTP la fișierul de ieșire.

-movflags disable_chpl
Dezactivează marcatorii de capitol Nero (chpl atom). În mod normal, atât capitolele Nero cât și a
Piesele de capitol QuickTime sunt scrise în fișier. Cu această opțiune setată, numai
Track-ul capitolului QuickTime va fi scris. Capitolele Nero pot cauza eșecuri atunci când
fișierul este reprocesat cu anumite programe de etichetare, cum ar fi mp3Tag 2.61a și iTunes 11.3,
cel mai probabil și alte versiuni sunt afectate.

-movflags omit_tfhd_offset
Nu scrieți niciun set de date de bază absolut în atomi tfhd. Acest lucru evită legarea fragmentelor
la pozițiile absolute ale octeților în fișier/fluxuri.

-movflags default_base_moof
Similar cu omit_tfhd_offset, acest flag evită scrierea absolutului
câmpul base_data_offset în atomi tfhd, dar face acest lucru utilizând noul default-base-is-
steagul moof în schimb. Acest steag este nou din 14496-12:2012. Acest lucru poate face fragmentele
mai ușor de analizat în anumite circumstanțe (evitând localizarea fragmentului de urmărire de bază
calcule pe capătul implicit al fragmentului de pistă anterior).

Exemplu

Cu aceasta, conținutul Smooth Streaming poate fi împins în timp real către un punct de publicare pe IIS
muxer. Exemplu:

ffmpeg -re < > -movflags isml+frag_keyframe -f ismv http://server/publishingpoint.isml/Streams(Encoder1)

Perceptibil AAX

Fișierele AAX audibile sunt fișiere M4B criptate și pot fi decriptate prin specificarea unui 4
secret de activare a octetilor.

ffmpeg -activation_bytes 1CEB00DA -i test.aax -vn -c:a copy output.mp4

mp3
Muxer-ul MP3 scrie un flux MP3 brut cu următoarele caracteristici opționale:

· Un antet de metadate ID3v2 la început (activat implicit). Versiunile 2.3 și 2.4
sunt acceptate, opțiunea privată „id3v2_version” controlează care dintre ele este utilizată (3 sau 4).
Setarea „id3v2_version” la 0 dezactivează complet antetul ID3v2.

Muxerul acceptă scrierea de imagini atașate (cadre APIC) în antetul ID3v2. The
imaginile sunt furnizate muxerului sub forma unui flux video cu un singur pachet.
Pot exista orice număr de aceste fluxuri, fiecare va corespunde unui singur cadru APIC.
Etichetele de metadate ale fluxului titlu și comentariu hartă către APIC descriere și imagine tip
respectiv. Vedeahttp://id3.org/id3v2.4.0-frames> pentru tipurile de imagini permise.

Rețineți că cadrele APIC trebuie scrise la început, astfel încât muxer-ul va face tampon
cadrele audio până când obține toate imaginile. Prin urmare, se recomandă să furnizați
pozele cât mai curând posibil pentru a evita tamponarea excesivă.

· Un cadru Xing/LAME imediat după antetul ID3v2 (dacă este prezent). Este activat implicit,
dar va fi scris numai dacă rezultatul poate fi căutat. Opțiunea privată „write_xing”.
poate fi folosit pentru a-l dezactiva. Cadrul conține diverse informații care pot fi utile
la decodor, cum ar fi durata audio sau întârzierea codificatorului.

· O etichetă ID3v1 moștenită la sfârșitul fișierului (dezactivată implicit). Poate fi activat
cu opțiunea privată „write_id3v1”, dar deoarece capacitățile sale sunt foarte limitate, acesta
utilizarea nu este recomandată.

Exemple:

Scrieți un mp3 cu antet ID3v2.3 și subsol ID3v1:

ffmpeg -i INPUT -id3v2_version 3 -write_id3v1 1 out.mp3

Pentru a atașa o imagine la un fișier mp3, selectați atât fluxul audio, cât și fluxul de imagini
"Hartă":

ffmpeg -i input.mp3 -i cover.png -c copy -map 0 -map 1
-metadata:s:v title="Copertă album" -metadata:s:v comment="Copertă (față)" out.mp3

Scrieți un MP3 „curat” fără caracteristici suplimentare:

ffmpeg -i input.wav -write_xing 0 -id3v2_version 0 out.mp3

mpegts
Muxer de flux de transport MPEG.

Acest muxer implementează ISO 13818-1 și parte a ETSI EN 300 468.

Setările de metadate recunoscute în mpegts muxer sunt „service_provider” și
"numele serviciului". Dacă nu sunt setate, valoarea implicită pentru „service_provider” este „FFmpeg” și
implicit pentru „nume_serviciu” este „Service01”.

Opţiuni

Opțiunile muxerului sunt:

-mpegts_original_network_id număr
Setați original_network_id (implicit 0x0001). Acesta este identificatorul unic al unei rețele
în DVB. Utilizarea sa principală este în identificarea unică a unui serviciu prin cale
Original_Network_ID, Transport_Stream_ID.

-mpegts_transport_stream_id număr
Setați transport_stream_id (implicit 0x0001). Acesta identifică un transponder în DVB.

-mpegts_service_id număr
Setați service_id (implicit 0x0001) cunoscut și ca program în DVB.

-mpegts_service_type număr
Setați programul service_type (implicit Televiziune digitală), vezi mai jos o listă de predefinite
valori.

-mpegts_pmt_start_pid număr
Setați primul PID pentru PMT (implicit 0x1000, max 0x1f00).

-mpegts_start_pid număr
Setați primul PID pentru pachetele de date (implicit 0x0100, max 0x0f00).

-mpegts_m2ts_mode număr
Activați modul m2ts dacă este setat la 1. Valoarea implicită este -1, ceea ce dezactivează modul m2ts.

-muxrate număr
Setați un muxrate constant (VBR implicit).

-pcr_period numer
Ignorați timpul de retransmisie PCR implicit (implicit 20 ms), ignorat dacă este variabil
este selectat muxrate.

pat_period număr
Timp maxim în secunde între tabelele PAT/PMT.

sdt_period număr
Timp maxim în secunde între tabelele SDT.

-pes_payload_size număr
Setați sarcina utilă minimă a pachetului PES în octeți.

-mpegts_flags steaguri
Setați steaguri (vezi mai jos).

-mpegts_copyts număr
Păstrați marcajele temporale originale, dacă valoarea este setată la 1. Valoarea implicită este -1, care rezultă
în deplasarea marcajelor de timp astfel încât acestea să înceapă de la 0.

-tables_version număr
Setați versiunea PAT, PMT și SDT (implicit 0, valorile valide sunt de la 0 la 31, inclusiv).
Această opțiune permite actualizarea structurii fluxului, astfel încât consumatorul standard să poată detecta
Schimbare. Pentru a face acest lucru, redeschideți ieșirea AVFormatContext (în cazul utilizării API-ului) sau reporniți
Instanță ffmpeg, schimbând ciclic valoarea tables_version:

ffmpeg -i source1.ts -codec copy -f mpegts -tables_version 0 udp://1.1.1.1:1111
ffmpeg -i source2.ts -codec copy -f mpegts -tables_version 1 udp://1.1.1.1:1111
...
ffmpeg -i source3.ts -codec copy -f mpegts -tables_version 31 udp://1.1.1.1:1111
ffmpeg -i source1.ts -codec copy -f mpegts -tables_version 0 udp://1.1.1.1:1111
ffmpeg -i source2.ts -codec copy -f mpegts -tables_version 1 udp://1.1.1.1:1111
...

Opțiunea mpegts_service_type acceptă următoarele valori:

hex_value
Orice valoare hexzecimală între 0x01 și 0xff, așa cum este definită în ETSI 300 468.

Televiziune digitală
Serviciu TV digital.

radio_digital
Serviciu radio digital.

teletext
Serviciu de teletext.

advanced_codec_digital_radio
Serviciu avansat de radio digital Codec.

mpeg2_digital_hdtv
Serviciu HDTV digital MPEG2.

advanced_codec_digital_sdtv
Serviciu Advanced Codec Digital SDTV.

advanced_codec_digital_hdtv
Serviciu avansat Codec Digital HDTV.

Opțiunea mpegts_flags poate lua un set de astfel de steaguri:

resend_headers
Reemiteți PAT/PMT înainte de a scrie următorul pachet.

latm
Utilizați pachetul LATM pentru AAC.

pat_pmt_at_frames
Reemiteți PAT și PMT la fiecare cadru video.

Exemplu

ffmpeg -i fișier.mpg -c copie \
-mpegts_original_network_id 0x1122 \
-mpegts_transport_stream_id 0x3344 \
-mpegts_service_id 0x5566 \
-mpegts_pmt_start_pid 0x1500 \
-mpegts_start_pid 0x150 \
-metadata service_provider="Un furnizor" \
-metadata service_name="Unele canale" \
-y out.ts

mxf, mxf_d10
Muxer MXF.

Opţiuni

Opțiunile muxerului sunt:

store_user_comments bool
Setați dacă comentariile utilizatorilor ar trebui să fie stocate dacă sunt disponibile sau niciodată. IRT D-10 nu permite
comentariile utilizatorilor. Prin urmare, implicit este să le scrieți pentru mxf, dar nu pentru mxf_d10

zero
Muxer nul.

Acest muxer nu generează niciun fișier de ieșire, este util în principal pentru testare sau
scopuri de benchmarking.

De exemplu, pentru a evalua decodarea cu FFMPEG poti folosi comanda:

ffmpeg -benchmark -i INPUT -f null out.null

Rețineți că comanda de mai sus nu citește sau scrie afară.null fișier, dar specificând
fișierul de ieșire este cerut de FFMPEG sintaxă.

Alternativ, puteți scrie comanda ca:

ffmpeg -benchmark -i INPUT -f null -

piuliţă
-puncte de sincronizare steaguri
Modificați utilizarea punctului de sincronizare în nut:

lipsă utilizare il normală. low-overhead caută ajutoare.
nici unul do nu utilizare il puncte de sincronizare at toate, reducerea il deasupra dar efectuarea il curent
necăutăbil;
Utilizarea acestei opțiuni nu este recomandată, deoarece fișierele rezultate sunt foarte deteriorate
sensibil și căutarea nu este posibilă. De asemenea, în general, supraîncărcarea de la
punctele de sincronizare este neglijabilă. Notă, -C 0 poate fi folosit pentru a dezactiva
toate tabelele de date în creștere, permițând combinarea fluxurilor nesfârșite cu memorie limitată
si fara aceste dezavantaje.

marcat cu timp extinde il punct de sincronizare cu a ceas de perete camp.

nici unul și marcat cu timp steagurile sunt experimentale.

-index_scriere bool
Scrieți index la sfârșit, implicit este să scrieți un index.

ffmpeg -i INPUT -f_strict experimental -syncpoints nici unul - | procesor

ogg
Muxer container Ogg.

-pagina_durata durată
Durata preferată a paginii, în microsecunde. Muxer-ul va încerca să creeze pagini care
sunt aproximativ durată lungime de microsecunde. Acest lucru permite utilizatorului să facă compromisuri
între seek granularity și container overhead. Valoarea implicită este 1 secundă. O valoare de 0
va umple toate segmentele, făcând paginile cât mai mari posibil. O valoare de 1 testament
utilizați eficient 1 pachet pe pagină în majoritatea situațiilor, oferind o mică granularitate de căutare
cu costul unui container suplimentar.

-offset_serial valoare
Valoarea de serie de la care să setați numărul de serie al fluxurilor. Setarea la diferit și
valori suficient de mari asigură că fișierele ogg produse pot fi înlănțuite în siguranță.

segment, stream_segment, segment
Segmentator de flux de bază.

Acest muxer emite fluxuri către un număr de fișiere separate cu o durată aproape fixă. Ieșire
modelul numelui de fișier poate fi setat într-un mod similar cu image2, sau folosind un „strftime”
șablon dacă strftime opțiunea este activată.

„stream_segment” este o variantă a muxer-ului folosită pentru a scrie în formate de ieșire în flux, de ex
care nu necesită antete globale și este recomandat pentru ieșire, de exemplu, în MPEG
segmente de flux de transport. „ssegment” este un alias mai scurt pentru „stream_segment”.

Fiecare segment începe cu un cadru cheie al fluxului de referință selectat, care este setat
prin flux_referință opțiune.

Rețineți că, dacă doriți o împărțire precisă pentru un fișier video, trebuie să faceți tasta de introducere
cadrele corespund timpilor exacti de împărțire așteptați de segmentator sau de segment
muxer va porni noul segment cu cadrul cheie găsit în continuare după pornirea specificată
timp.

Muxerul de segmente funcționează cel mai bine cu un videoclip cu un singur frame rate constant.

Opțional poate genera o listă a segmentelor create, prin setarea opțiunii
list_segmente. Tipul listei este specificat de tip_listă_segmente opțiune. Intrarea
numele de fișiere din lista de segmente sunt setate în mod implicit la numele de bază al corespunzătoare
fișiere de segmente.

Consultați și hls muxer, care oferă o implementare mai specifică pentru HLS
segmentare.

Opţiuni

Muxerul de segmente acceptă următoarele opțiuni:

flux_referință specificator
Setați fluxul de referință, așa cum este specificat de șir specificator. Dacă specificator este setat
la „auto”, referința este aleasă automat. Altfel, trebuie să fie un flux
specificator (vezi capitolul ``Specificatori de flux'' din manualul ffmpeg) care specifică
fluxul de referință. Valoarea implicită este „auto”.

format_segment format
Suprascrieți formatul interior al containerului, implicit este ghicit după numele fișierului
extensie.

opțiuni_format_segment lista_opțiuni
Setați opțiunile de format de ieșire folosind o listă separată de parametri cheie=valoare. Valori
care conține caracterul special „:” trebuie să fie eliminat.

list_segmente nume
Generați, de asemenea, un fișier listă numit nume. Dacă nu este specificat, nu este generat niciun fișier listă.

segment_list_flags steaguri
Setați steaguri care afectează generarea listei de segmente.

În prezent, acceptă următoarele steaguri:

cache
Permite stocarea în cache (afectează numai fișierele din listă M3U8).

trăi
Permiteți generarea de fișiere live.

segment_list_size mărimea
Actualizați fișierul listă astfel încât să conțină cel mult mărimea segmente. Dacă 0 fișierul listă
va contine toate segmentele. Valoarea implicită este 0.

segment_list_entry_prefix prefix
Adăugați prefix la fiecare intrare. Util pentru a genera căi absolute. În mod implicit, fără prefix
este aplicat.

tip_listă_segmente tip
Selectați formatul de listare.

Sunt recunoscute următoarele valori:

plat
Generați o listă plată pentru segmentele create, câte un segment pe linie.

csv, ext
Generați o listă pentru segmentele create, câte un segment pe linie, fiecare linie potrivită
formatul (valori separate prin virgulă):

, ,

segment_filename este numele fișierului de ieșire generat de muxer conform
la modelul furnizat. Evadarea CSV (conform RFC4180) se aplică dacă
necesar.

segment_start_time și segment_end_time specificați ora de început și de sfârșit a segmentului
exprimată în secunde.

Un fișier listă cu sufixul „.csv” sau „.ext” va selecta automat acest format.

ext este depreciat în favoarea sau csv.

ffconcat
Generați un fișier ffconcat pentru segmentele create. Fișierul rezultat poate fi citit
folosind FFmpeg concat demuxer.

Un fișier listă cu sufixul „.ffcat” sau „.ffconcat” va selecta automat acest format.

m3u8
Generați un fișier M3U8 extins, versiunea 3, compatibil cu
<http://tools.ietf.org/id/draft-pantos-http-live-streaming>.

Un fișier listă cu sufixul „.m3u8” va selecta automat acest format.

Dacă nu este specificat, tipul este ghicit din sufixul numelui fișierului din listă.

segment_time timp
Setați durata segmentului la timp, valoarea trebuie să fie o specificație de durată. Mod implicit
valoarea este „2”. Vezi și segment_times opțiune.

Rețineți că împărțirea poate să nu fie precisă, cu excepția cazului în care forțați cheia fluxului de referință-
cadre la momentul dat. Consultați anunțul introductiv și exemplele de mai jos.

segment_atclocktime 1 | 0
Dacă setați la „1”, împărțiți la intervale de timp regulate, începând de la ora 00:00. The
timp valoarea specificată în segment_time este utilizat pentru setarea lungimii despărțirii
interval.

De exemplu cu segment_time setat la „900”, acest lucru face posibilă crearea fișierelor la
12:00, 12:15, 12:30 etc.

Valoarea implicită este „0”.

segment_time_delta deltă
Specificați ora de precizie atunci când selectați ora de începere pentru un segment, exprimată ca a
specificarea duratei. Valoarea implicită este „0”.

Când este specificată delta, un cadru-cheie va începe un nou segment dacă PTS-ul său satisface
relație:

PTS >= start_time - time_delta

Această opțiune este utilă la împărțirea conținutului video, care este întotdeauna împărțit la GOP
limite, în cazul în care un cadru cheie este găsit chiar înainte de intervalul de timp specificat.

În special poate fi utilizat în combinație cu FFMPEG opțiune force_key_frames.
timpii cadru-cheie specificati de force_key_frames este posibil să nu fie setat cu precizie din cauza
probleme de rotunjire, cu consecința că un timp de cadru cheie poate rezulta stabilit chiar înainte
timpul specificat. Pentru videoclipuri cu frecvență de cadre constantă o valoare de 1/(2*frame_rate) ar trebui să
remediați cea mai defavorabilă nepotrivire dintre ora specificată și ora stabilită de
force_key_frames.

segment_times ori
Specificați o listă de puncte de împărțire. ori conține o listă de durate separate prin virgulă
caietul de sarcini, în ordine crescătoare. Vezi și segment_time opțiune.

segment_frames rame
Specificați o listă de numere de cadre video divizate. rame conține o listă de virgule separate
numere întregi, în ordine crescătoare.

Această opțiune specifică începerea unui nou segment ori de câte ori este un cadru cheie al fluxului de referință
găsit și numărul secvenţial (începând de la 0) al cadrului este mai mare sau egal cu
următoarea valoare din listă.

segment_wrap limita
Înfășurați indexul segmentului odată ce acesta ajunge limita.

segment_start_number număr
Setați numărul de ordine al primului segment. Implicit la 0.

strftime 1 | 0
Utilizați funcția „strftime” pentru a defini numele noilor segmente de scris. Dacă aceasta
este selectat, numele segmentului de ieșire trebuie să conțină un șablon de funcție „strftime”.
Valoarea implicită este 0.

break_non_keyframes 1 | 0
Dacă este activat, permiteți segmentelor să înceapă pe cadre altele decât cadrele cheie. Acest lucru se îmbunătățește
comportament pe unii jucători când timpul dintre cadrele cheie este inconsecventă, dar poate face
lucrurile sunt mai rele pentru alții și pot provoca unele ciudatenii în timpul căutării. Implicit la 0.

reset_timestamps 1 | 0
Resetați marcajele de timp la începutul fiecărui segment, astfel încât fiecare segment să înceapă cu
marcaje temporale aproape de zero. Este menit să ușureze redarea segmentelor generate. Mai
nu funcționează cu unele combinații de muxer/codec-uri. Este setat implicit la 0.

initial_offset compensa
Specificați offset marcajului de timp pentru a se aplica marcajelor de timp ale pachetului de ieșire. Argumentul trebuie
fi o specificație de durată și este implicit la 0.

Exemple

· Remuxați conținutul fișierului în.mkv la o listă de segmente out-000.nuca, out-001.nuca, Etc,
și scrieți lista segmentelor generate la out.list:

ffmpeg -i in.mkv -codec copy -map 0 -f segment -segment_list out.list out%03d.nut

· Segmentați intrarea și setați opțiunile de format de ieșire pentru segmentele de ieșire:

ffmpeg -i in.mkv -f segment -segment_time 10 -segment_format_options movflags=+faststart out%03d.mp4

· Segmentați fișierul de intrare în funcție de punctele de împărțire specificate de segment_times
opţiune:

ffmpeg -i in.mkv -codec copy -map 0 -f segment -segment_list out.csv -segment_times 1,2,3,5,8,13,21 out%03d.nut

· Folosește FFMPEG force_key_frames opțiunea de a forța cadrele cheie în intrare la
locația specificată, împreună cu opțiunea de segment segment_time_delta a ține cont de
posibile rotunjiri operate la setarea timpilor cadrelor cheie.

ffmpeg -i in.mkv -force_key_frames 1,2,3,5,8,13,21 -codec:v mpeg4 -codec:a pcm_s16le -map 0 \
-f segment -segment_list out.csv -segment_times 1,2,3,5,8,13,21 -segment_time_delta 0.05 out%03d.nut

Pentru a forța cadrele cheie pe fișierul de intrare, este necesară transcodarea.

· Segmentați fișierul de intrare prin împărțirea fișierului de intrare în funcție de numerele de cadre
secvența specificată cu segment_frames opţiune:

ffmpeg -i in.mkv -codec copy -map 0 -f segment -segment_list out.csv -segment_frames 100,200,300,500,800 out%03d.nut

· Convertiți în.mkv la segmentele TS folosind codificatoarele „libx264” și „libfaac”:

ffmpeg -i in.mkv -map 0 -codec:v libx264 -codec:a libfaac -f ssegment -segment_list out.list out%03d.ts

· Segmentează fișierul de intrare și creează o listă de redare live M3U8 (poate fi folosită ca HLS live
sursă):

ffmpeg -re -i in.mkv -codec copy -map 0 -f segment -segment_list playlist.m3u8 \
-segment_list_flags +live -segment_time 10 out%03d.mkv

smoothstreaming
Muxerul Smooth Streaming generează un set de fișiere (Manifest, bucăți) potrivite pentru difuzare
cu server web convențional.

window_size
Specificați numărul de fragmente păstrate în manifest. Implicit 0 (păstrați tot).

extra_window_size
Specificați numărul de fragmente păstrate în afara manifestului înainte de a le elimina din
disc. Implicit 5.

lookahead_count
Specificați numărul de fragmente anticipate. Implicit 2.

min_frag_duration
Specificați durata minimă a fragmentului (în microsecunde). Implicit 5000000.

remove_at_exit
Specificați dacă eliminați toate fragmentele când ați terminat. Implicit 0 (nu eliminați).

reper
Tee Muxer poate fi folosit pentru a scrie aceleași date în mai multe fișiere sau în orice alt fel
muxer. Poate fi folosit, de exemplu, atât pentru a transmite în flux un videoclip în rețea, cât și pentru a-l salva
disc în același timp.

Este diferit de specificarea mai multor ieșiri la FFMPEG instrument de linie de comandă deoarece
datele audio și video vor fi codificate o singură dată cu tee muxer; codificarea poate fi a
proces foarte costisitor. Nu este util când se folosește direct API-ul libavformat deoarece
este apoi posibil să se alimenteze direct aceleași pachete către mai multe muxere.

Ieșirile slave sunt specificate în numele fișierului dat muxerului, separate prin „|”. Dacă
oricare dintre numele sclavului conține „|” separator, spații de început sau de sfârșit sau oricare
caracter special, trebuie scăpat (vezi il „Citat și scăpare" secțiune in il
ffmpeg-utils(1) manual).

Opțiunile Muxer pot fi specificate pentru fiecare slave, adăugându-le ca o listă de cheie=valoare
perechi separate prin „:”, între paranteze drepte. Dacă valorile opțiunilor conțin un special
caracterul sau separatorul ':', acestea trebuie să fie evadate; rețineți că acesta este un al doilea nivel
evadând.

Sunt recunoscute și următoarele opțiuni speciale:

f Specificați numele formatului. Util dacă nu poate fi ghicit din sufixul numelui de ieșire.

bsfs[/spec.]
Specificați o listă de filtre de flux de biți de aplicat la ieșirea specificată.

Este posibil să specificați la ce fluxuri se aplică un anumit filtru de flux de biți, prin
adăugarea unui specificator de flux la opțiunea separată prin „/”. spec. trebuie să fie un flux
specificatorul (vezi Format curent proiectanti). Dacă specificatorul de flux nu este specificat,
filtrele de flux de biți vor fi aplicate tuturor fluxurilor din ieșire.

Pot fi specificate mai multe filtre de flux de biți, separate prin ",".

selecta
Selectați fluxurile care ar trebui mapate la ieșirea slave, specificate de un flux
specificatorul. Dacă nu este specificat, aceasta este implicită pentru toate fluxurile de intrare.

Exemple

· Codificați ceva și arhivați-l într-un fișier WebM și transmiteți-l ca MPEG-TS prin UDP
(fluxurile trebuie să fie mapate explicit):

ffmpeg -i ... -c:v libx264 -c:a mp2 -f tee -map 0:v -map 0:a
„archive-20121107.mkv|[f=mpegts]udp://10.0.1.255:1234/”

· Utilizare FFMPEG pentru a codifica intrarea și a trimite ieșirea la trei destinații diferite.
Filtrul de flux de biți „dump_extra” este folosit pentru a adăuga informații extradate la toate
scoateți pachete de cadre cheie video, așa cum este cerut de formatul MPEG-TS. Opțiunea de selectare
se aplica la afară.aac pentru ca acesta să conțină numai pachete audio.

ffmpeg -i ... -map 0 -flags +global_header -c:v libx264 -c:a aac -strict experimental
-f tee „[bsfs/v=dump_extra]out.ts|[movflags=+faststart]out.mp4|[select=a]out.aac”

· Ca mai jos, dar selectați doar fluxul „a:1” pentru ieșirea audio. Rețineți că un al doilea nivel
evadarea trebuie efectuată, deoarece „:” este un caracter special folosit pentru a separa opțiunile.

ffmpeg -i ... -map 0 -flags +global_header -c:v libx264 -c:a aac -strict experimental
-f tee „[bsfs/v=dump_extra]out.ts|[movflags=+faststart]out.mp4|[select=\'a:1\']out.aac”

Notă: unele codecuri pot avea nevoie de opțiuni diferite în funcție de formatul de ieșire; auto-
detectarea acestui lucru nu poate funcționa cu tee muxer. Exemplul principal este antet_global
steag.

webm_dash_manifest
Muxer WebM DASH Manifest.

Acest muxer implementează specificația WebM DASH Manifest pentru a genera manifestul DASH
XML. De asemenea, acceptă generarea de manifeste pentru fluxurile live DASH.

Pentru mai multe informații, consultați:

· Specificații WebM DASH:
<https://sites.google.com/a/webmproject.org/wiki/adaptive-streaming/webm-dash-specification>

· Specificații ISO DASH:
<http://standards.iso.org/ittf/PubliclyAvailableStandards/c065274_ISO_IEC_23009-1_2014.zip>

Opţiuni

Acest muxer acceptă următoarele opțiuni:

seturi_adaptare
Această opțiune are următoarea sintaxă: „id=x,streams=a,b,c id=y,streams=d,e” unde x
și y sunt identificatorii unici ai mulțimilor de adaptare și a,b,c,d și e sunt
indici ai fluxurilor audio și video corespunzătoare. Orice număr de seturi de adaptare
poate fi adăugat folosind această opțiune.

trăi
Setează-l la 1 pentru a crea un Manifest DASH în flux live. Implicit: 0.

chunk_start_index
Indexul de început al primei bucăți. Aceasta va merge în startNumber atribut al
SegmentTemplate element din manifest. Implicit: 0.

chunk_duration_ms
Durata fiecărei bucăți în milisecunde. Aceasta va merge în durată atribut al
SegmentTemplate element din manifest. Implicit: 1000.

utc_timing_url
Adresa URL a paginii care va returna marcajul de timp UTC în format ISO. Aceasta va merge în
valoare atribut al UTCTiming element din manifest. Implicit: niciunul.

time_shift_buffer_depth
Cel mai mic timp (în secunde) tampon de schimbare pentru care este garantată orice reprezentare
a fi disponibil. Aceasta va merge în timeShiftBufferDepth atribut al MPD
element. Implicit: 60.

perioada_minimă_actualizării
Perioada minimă de actualizare (în secunde) a manifestului. Aceasta va merge în
minimumUpdatePeriod atribut al MPD element. Implicit: 0.

Exemplu

ffmpeg -f webm_dash_manifest -i video1.webm \
-f webm_dash_manifest -i video2.webm \
-f webm_dash_manifest -i audio1.webm \
-f webm_dash_manifest -i audio2.webm \
-harta 0 -harta 1 -harta 2 -harta 3 \
-c copiere \
-f webm_dash_manifest \
-adaptare_sets „id=0,streams=0,1 id=1,streams=2,3” \
manifest.xml

webm_chunk
WebM Live Chunk Muxer.

Acest muxer scrie anteturi și bucăți WebM ca fișiere separate care pot fi consumate de
clienți care acceptă fluxuri WebM Live prin DASH.

Opţiuni

Acest muxer acceptă următoarele opțiuni:

chunk_start_index
Indexul primei bucăți (implicit la 0).

antet
Numele de fișier al antetului în care vor fi scrise datele de inițializare.

audio_chunk_duration
Durata fiecărei bucăți audio în milisecunde (implicit la 5000).

Exemplu

ffmpeg -f v4l2 -i /dev/video0 \
-f alsa -i hw:0 \
-harta 0:0 \
-c:v libvpx-vp9 \
-s 640x360 -keyint_min 30 -g 30 \
-f webm_chunk \
-header webm_live_video_360.hdr \
-chunk_start_index 1 \
webm_live_video_360_%d.chk \
-harta 1:0 \
-c:a libvorbis \
-b:a 128k \
-f webm_chunk \
-header webm_live_audio_128.hdr \
-chunk_start_index 1 \
-audio_chunk_duration 1000 \
webm_live_audio_128_%d.chk

METADATE


FFmpeg este capabil să transforme metadate din fișierele media într-un text simplu, asemănător INI, codificat în UTF-8
fișier și apoi încărcați-l înapoi folosind muxer/demuxer de metadate.

Formatul fișierului este următorul:

1. Un fișier constă dintr-un antet și un număr de etichete de metadate împărțite în secțiuni, fiecare
pe linie proprie.

2. Antetul este a ;FFMETADATE șir, urmat de un număr de versiune (acum 1).

3. Etichetele de metadate sunt de formă cheie=valoare

4. Imediat după antet urmează metadatele globale

5. După metadatele globale pot exista secțiuni cu metadate pe flux/per-capitol.

6. O secțiune începe cu numele secțiunii în majuscule (adică STREAM sau CAPITOLUL) în
paranteze ([, ]) și se termină cu următoarea secțiune sau sfârșitul fișierului.

7. La începutul unei secțiuni de capitol poate exista o bază de timp opțională pentru care să fie folosită
valorile de început/sfârșit. Trebuie să fie în formă TIMEBASE=o/zi, În cazul în care o și zi sunt numere întregi.
Dacă baza de timp lipsește, se presupune că orele de început/sfârșit sunt în milisecunde.

În continuare, o secțiune de capitol trebuie să conțină în formă orele de început și de sfârșit ale capitolului START=o,
SFÂRȘIT=o, În cazul în care o este un număr întreg pozitiv.

8. Linii goale și linii care încep cu ; or # sunt ignorate.

9. Chei de metadate sau valori care conțin caractere speciale (=, ;, #, \ și o nouă linie) trebuie
fi scăpat cu o bară oblică inversă \.

10. Rețineți că spațiul alb în metadate (de ex foo = bar) este considerată a face parte din
tag (în exemplul de mai sus, cheia este foo , valoarea este
bar).

Un fișier ffmetadata ar putea arăta astfel:

;FFMETADATA1
title=bicicletă\\ magazie
; acesta este un comentariu
artist=Echipa de troli FFmpeg

[CAPITOL]
TIMEBASE=1/1000
START=0
#capitolul se termină la 0:01:00
END=60000
titlu=capitolul \#1
[CURENT]
titlu=multi\
linie

Folosind muxer-ul și demuxer-ul ffmetadata, este posibil să extrageți metadate dintr-o intrare
fișier într-un fișier ffmetadata și apoi transcodați fișierul într-un fișier de ieșire cu
fișierul ffmetadate editat.

Extragerea unui fișier ffmetadata cu FFMPEG merge după cum urmează:

ffmpeg -i INPUT -f ffmetadata FFMETADATAFILE

Reinserarea informațiilor de metadate editate din fișierul FFMETADATAFILE se poate face astfel:

ffmpeg -i INPUT -i FFMETADATAFILE -map_metadata 1 -codec copy OUTPUT

PROTOCOALE


Protocoalele sunt elemente configurate în FFmpeg care permit accesul la resursele care necesită
protocoale specifice.

Când vă configurați versiunea FFmpeg, toate protocoalele acceptate sunt activate implicit.
Puteți lista toate cele disponibile folosind opțiunea de configurare „--list-protocols”.

Puteți dezactiva toate protocoalele folosind opțiunea de configurare „--disable-protocols” și
activați selectiv un protocol folosind opțiunea „--enable-protocol=PROTOCOL", sau puteți
dezactivați un anumit protocol folosind opțiunea „--disable-protocol=PROTOCOL".

Opțiunea „-protocoale” a instrumentelor ff* va afișa lista de protocoale acceptate.

Urmează o descriere a protocoalelor disponibile în prezent.

async
Wrapper asincron de umplere a datelor pentru fluxul de intrare.

Completați datele într-un thread de fundal, pentru a decupla operația I/O de firul de demultiplicare.

asincron:
asincron:http://host/resource
async:cache:http://host/resource

Bluray
Citiți lista de redare BluRay.

Opțiunile acceptate sunt:

unghi
Unghiul BluRay

capitol
Începe capitolul (1...N)

lista de redare
Lista de redare de citit (BDMV/PLAYLIST/?????.mpls)

Exemple:

Citiți cel mai lung playlist de pe BluRay montat pe /mnt/bluray:

bluray:/mnt/bluray

Citiți unghiul 2 din playlistul 4 de pe BluRay montat pe /mnt/bluray, începeți de la capitolul 2:

-playlist 4 -angle 2 -capitolul 2 bluray:/mnt/bluray

cache
Memorare în cache pentru fluxul de intrare.

Memorați în cache fluxul de intrare într-un fișier temporar. Aduce capacitatea de căutare a fluxurilor live.

cache:

concat
Protocolul de concatenare fizică.

Citiți și căutați din multe resurse în succesiune, ca și cum ar fi o resursă unică.

O adresă URL acceptată de acest protocol are sintaxa:

concat: | |...|

Unde URL1, URL2, ..., URLN sunt adresele URL ale resursei de concatenat, fiecare
eventual specificând un protocol distinct.

De exemplu, pentru a citi o secvență de fișiere split1.mpeg, split2.mpeg, split3.mpeg cu ffplay
utilizați comanda:

ffplay concat:split1.mpeg\|split2.mpeg\|split3.mpeg

Rețineți că poate fi necesar să evadați caracterul „|” care este special pentru multe scoici.

cripto
Protocol de citire a fluxului criptat AES.

Opțiunile acceptate sunt:

cheie Setați blocul binar al cheii de decriptare AES din reprezentarea hexazecimală dată.

iv Setați blocul binar al vectorului de inițializare a decriptării AES din hexazecimalul dat
reprezentare.

Formate URL acceptate:

cripto:
cripto+

de date
Date în linie în URI. Vedeahttp://en.wikipedia.org/wiki/Data_URI_scheme>.

De exemplu, pentru a converti un fișier GIF dat în linie cu FFMPEG:

ffmpeg -i "data:image/gif;base64,R0lGODdhCAAIAMIEAAAAAAAA//8AAP//AP///////////////ywAAAAACAAIAAADF0gEDLojDgdGiJdJqUX02iB4E8Q9jUMkADs=" smiley.png

fişier
Protocol de acces la fișiere.

Citiți sau scrieți într-un fișier.

O adresă URL de fișier poate avea forma:

fişier:

Unde nume de fișier este calea fișierului de citit.

O adresă URL care nu are un prefix de protocol va fi considerată a fi o adresă URL de fișier. Depinde de
versiunea, o adresă URL care arată ca o cale Windows cu litera unității la început
se va presupune, de asemenea, a fi o adresă URL a fișierului (de obicei, nu este cazul în versiunile pentru Unix-like
sisteme).

De exemplu, pentru a citi dintr-un fișier intrare.mpeg cu FFMPEG utilizați comanda:

ffmpeg -i fișier:input.mpeg output.mpeg

Acest protocol acceptă următoarele opțiuni:

trunchia
Trunchiați fișierele existente la scriere, dacă este setată la 1. O valoare de 0 împiedică trunchierea.
Valoarea implicită este 1.

bloc
Setați dimensiunea maximă a blocului pentru operarea I/O, în octeți. Valoarea implicită este „INT_MAX”, care
duce la nelimitarea dimensiunii blocului solicitat. Setarea acestei valori relativ scăzută
îmbunătățește timpul de reacție la cererea de reziliere a utilizatorului, ceea ce este valoros pentru fișierele cu lent
mediu.

ftp
FTP (File Transfer Protocol).

Citiți sau scrieți în resurse de la distanță folosind protocolul FTP.

Următoarea sintaxă este necesară.

ftp://[utilizator[:parolă]@]server[:port]/path/to/remote/resource.mpeg

Acest protocol acceptă următoarele opțiuni.

timeout
Setați timeout în microsecunde pentru operațiunile I/O socket utilizate de nivelul scăzut subiacent
Operațiune. În mod implicit, este setat la -1, ceea ce înseamnă că timpul de expirare nu este specificat.

ftp-parolă-anonimă
Parola folosită la autentificare ca utilizator anonim. De obicei, o adresă de e-mail ar trebui să fie
folosit.

ftp-write-seekable
Controlați posibilitatea de căutare a conexiunii în timpul codificării. Dacă este setată la 1, resursa este
se presupune că poate fi căutat, dacă este setat la 0, se presupune că nu poate fi căutat. Valoare implicită
este 0.

NOTĂ: Protocolul poate fi folosit ca ieșire, dar se recomandă să nu îl faceți, cu excepția cazului în care este special
se acordă atenție (teste, configurare personalizată a serverului etc.). Se comportă diferite servere FTP
în mod diferit în timpul operațiunii de căutare. Instrumentele ff* pot produce conținut incomplet din cauza
limitări ale serverului.

gopher
Protocolul Gopher.

hls
Citiți fluxul segmentat conform Apple HTTP Live Streaming ca unul uniform. M3U8
listele de redare care descriu segmentele pot fi resurse HTTP la distanță sau fișiere locale, accesate
folosind protocolul de fișier standard. Protocolul imbricat este declarat prin specificarea „+proto"
după numele schemei URI hls, unde proto este fie „fișier”, fie „http”.

hls+http://host/path/to/remote/resource.m3u8
hls+file://path/to/local/resource.m3u8

Utilizarea acestui protocol este descurajată - demuxer-ul hls ar trebui să funcționeze la fel de bine (dacă nu,
vă rugăm să raportați problemele) și este mai completă. Pentru a utiliza în schimb demuxer-ul hls, pur și simplu
utilizați adresele URL directe către fișierele m3u8.

http
HTTP (Hyper Text Transfer Protocol).

Acest protocol acceptă următoarele opțiuni:

căutabil
Controlați posibilitatea de căutare a conexiunii. Dacă este setată la 1, resursa ar trebui să fie
căutabil, dacă este setat la 0, se presupune că nu poate fi căutat, dacă este setat la -1 va încerca să
autodetectează dacă poate fi căutat. Valoarea implicită este -1.

chunked_post
Dacă setați la 1, utilizați codificarea de transfer în bucăți pentru postări, implicit este 1.

tipul de conținut
Setați un tip de conținut specific pentru mesajele POST.

anteturile
Setați anteturi HTTP personalizate, puteți suprascrie anteturile implicite încorporate. Valoarea trebuie să fie a
șir care codifică anteturile.

multiple_requests
Utilizați conexiuni persistente dacă setați la 1, implicit este 0.

post_date
Setați datele de postare HTTP personalizate.

user-agent
agent utilizator
Suprascrieți antetul User-Agent. Dacă nu este specificat, protocolul va folosi un șir
descriind build-ul libavformat. ("Lavf/ ")

timeout
Setați timeout în microsecunde pentru operațiunile I/O socket utilizate de nivelul scăzut subiacent
Operațiune. În mod implicit, este setat la -1, ceea ce înseamnă că timpul de expirare nu este specificat.

tip_mim
Exportați tipul MIME.

îngheţat Dacă setați la 1, solicitați metadate ICY (SHOUTcast) de la server. Dacă serverul acceptă
aceasta, metadatele trebuie să fie preluate de aplicație prin citirea
icy_metadata_headers și icy_metadata_packet Opțiuni. Valoarea implicită este 1.

icy_metadata_headers
Dacă serverul acceptă metadatele ICY, acestea conțin răspunsul HTTP specific ICY
anteturi, separate prin caractere newline.

icy_metadata_packet
Dacă serverul acceptă metadatele ICY și îngheţat a fost setat la 1, acesta conține ultimul non-
pachet de metadate gol trimis de server. Ar trebui interogat la intervale regulate de către
aplicații interesate de actualizările metadatelor mid-stream.

fursecuri
Setați cookie-urile pentru a fi trimise în cererile viitoare. Formatul fiecărui cookie este același
ca valoare a unui câmp de răspuns HTTP Set-Cookie. Cookie-uri multiple pot fi delimitate de
un caracter newline.

compensa
Setați offset inițial de octeți.

end_offset
Încercați să limitați cererea la octeții care preced acest offset.

metodă
Când este utilizat ca opțiune de client, setează metoda HTTP pentru cerere.

Când este utilizat ca opțiune de server, setează metoda HTTP de la care se va aștepta
clientul(i). Dacă metoda HTTP așteptată și cea primită nu se potrivesc cu clientul
va primi un răspuns la cererea greșită. Când este dezactivată, metoda HTTP nu este verificată
acum. Acesta va fi înlocuit cu autodetecția în viitor.

asculta
Dacă este setat la 1, se activează serverul HTTP experimental. Acesta poate fi folosit pentru a trimite date atunci când este utilizat
ca opțiune de ieșire sau citiți date de la un client cu HTTP POST atunci când sunt utilizate ca intrare
opțiune. Dacă este setată la 2, se activează serverul HTTP pentru mai mulți clienți experimental. Acest lucru nu este încă
implementat în ffmpeg.c sau ffserver.c și, prin urmare, nu trebuie utilizat ca linie de comandă
opțiune.

# Partea server (trimitere):
ffmpeg -i somefile.ogg -c copie -ascultă 1 -f ogg http:// :

# Partea client (primire):
ffmpeg -i http:// : -c copiază somefile.ogg

# Clientul se poate face și cu wget:
wget http:// : -O somefile.ogg

# Partea server (recepție):
ffmpeg -ascultă 1 -i http:// : -c copiază somefile.ogg

# Partea client (trimitere):
ffmpeg -i somefile.ogg -chunked_post 0 -c copie -f ogg http:// :

# Clientul se poate face și cu wget:
wget --post-file=somefile.ogg http:// :

HTTP Cookies

Unele solicitări HTTP vor fi refuzate, cu excepția cazului în care valorile cookie-urilor sunt transmise împreună cu cererea. The
fursecuri opțiunea permite specificarea acestor cookie-uri. Cel puțin, fiecare prăjitură trebuie
specificați o valoare împreună cu o cale și un domeniu. Solicitări HTTP care se potrivesc atât cu domeniul
și calea va include automat valoarea cookie-ului în câmpul antet cookie HTTP.
Mai multe cookie-uri pot fi delimitate printr-o linie nouă.

Sintaxa necesară pentru a reda un flux care specifică un cookie este:

ffplay -cookies "nlqptid=nltid=tsn; cale=/; domain=somedomain.com;" http://somedomain.com/somestream.m3u8

Icecast
Protocolul Icecast (flux către serverele Icecast)

Acest protocol acceptă următoarele opțiuni:

genul_gheata
Setați genul fluxului.

ice_name
Setați numele fluxului.

ice_description
Setați descrierea fluxului.

ice_url
Setați adresa URL a site-ului fluxului.

ice_public
Setați dacă fluxul ar trebui să fie public. Valoarea implicită este 0 (nu este public).

agent utilizator
Suprascrieți antetul User-Agent. Dacă nu este specificat un șir de formă „Lavf/ "
va fi folosit.

parola
Setați parola pentru punctul de montare Icecast.

tipul de conținut
Setați tipul de conținut al fluxului. Acesta trebuie setat dacă este diferit de audio/mpeg.

legacy_icecast
Acest lucru permite suportul pentru versiunile Icecast < 2.4.0, care nu acceptă HTTP PUT
metoda ci metoda SOURCE.

icecast://[ [: ]@] : /

mmst
Protocolul MMS (Microsoft Media Server) prin TCP.

etc
Protocolul MMS (Microsoft Media Server) prin HTTP.

Sintaxa necesară este:

mmsh:// [: ][/ ][/ ]

md5
Protocol de ieșire MD5.

Calculează hash-ul MD5 al datelor care urmează să fie scrise, iar la închidere scrie acest lucru în
ieșire desemnată sau stdout dacă nu este specificat niciuna. Poate fi folosit pentru a testa muxerele fără
scrierea unui fișier real.

Urmează câteva exemple.

# Scrieți hash-ul MD5 al fișierului AVI codificat în fișierul output.avi.md5.
ffmpeg -i input.flv -f avi -y md5:output.avi.md5

# Scrieți hash-ul MD5 al fișierului AVI codificat în stdout.
ffmpeg -i input.flv -f avi -y md5:

Rețineți că unele formate (de obicei MOV) necesită ca protocolul de ieșire să poată fi căutat, așa că acestea
va eșua cu protocolul de ieșire MD5.

ţeavă
Protocolul de acces la conducte UNIX.

Citiți și scrieți din conductele UNIX.

Sintaxa acceptată este:

teava:[ ]

număr este numărul corespunzător descriptorului de fișier al conductei (de exemplu, 0 pentru stdin, 1
pentru stdout, 2 pentru stderr). Dacă număr nu este specificat, în mod implicit fișierul stdout
descriptor va fi folosit pentru scriere, stdin pentru citire.

De exemplu, pentru a citi din stdin cu FFMPEG:

test pisica.wav | ffmpeg -i pipe:0
# ...acesta este la fel ca...
test pisica.wav | ffmpeg -i conductă:

Pentru a scrie la stdout cu FFMPEG:

ffmpeg -i test.wav -f avi pipe:1 | cat > test.avi
# ...acesta este la fel ca...
ffmpeg -i test.wav -f avi pipe: | cat > test.avi

Acest protocol acceptă următoarele opțiuni:

bloc
Setați dimensiunea maximă a blocului pentru operarea I/O, în octeți. Valoarea implicită este „INT_MAX”, care
duce la nelimitarea dimensiunii blocului solicitat. Setarea acestei valori relativ scăzută
îmbunătățește timpul de reacție la cererea de reziliere a utilizatorului, care este valoros în cazul datelor
transmiterea este lentă.

Rețineți că unele formate (de obicei MOV), necesită ca protocolul de ieșire să fie căutat, deci
vor eșua cu protocolul de ieșire a conductei.

rtmp
Protocol de mesagerie în timp real.

Protocolul de mesagerie în timp real (RTMP) este utilizat pentru transmiterea în flux a conținutului multimedia prin a
Rețea TCP/IP.

Sintaxa necesară este:

rtmp://[ : @] [: ][/ ][/ ][/ ]

Parametrii acceptați sunt:

nume de utilizator
Un nume de utilizator opțional (mai ales pentru publicare).

parola
O parolă opțională (mai ales pentru publicare).

serverul
Adresa serverului RTMP.

port
Numărul portului TCP de utilizat (în mod implicit este 1935).

aplicaţia Este numele aplicației de accesat. De obicei corespunde drumului unde
aplicația este instalată pe serverul RTMP (ex /la cerere/, /flash/live/, Etc).
Puteți suprascrie și valoarea analizată din URI prin opțiunea „rtmp_app”.

calea de joacă
Este calea sau numele resursei de jucat cu referire la aplicație
specificat în aplicaţia, poate fi prefixat de „mp4:”. Puteți suprascrie valoarea de la analizat
URI-ul prin opțiunea „rtmp_playpath”, de asemenea.

asculta
Acționează ca un server, ascultând o conexiune de intrare.

timeout
Timp maxim de așteptare pentru conexiunea de intrare. Implică ascultare.

În plus, următorii parametri pot fi setați prin opțiunile din linia de comandă (sau în cod prin
„AVOpțiuni”:

rtmp_app
Numele aplicației de conectat pe serverul RTMP. Această opțiune suprascrie parametrul
specificat în URI.

rtmp_buffer
Setați timpul buffer-ului clientului în milisecunde. Valoarea implicită este 3000.

rtmp_conn
Parametri de conexiune AMF suplimentari arbitrari, analizați dintr-un șir, de exemplu, cum ar fi „B:1
S:authMe O:1 NN:code:1.23 NS:flag:ok O:0". Fiecare valoare este prefixată de un singur
caracter care denotă tipul, B pentru boolean, N pentru număr, S pentru șir, O pentru obiect,
sau Z pentru null, urmat de două puncte. Pentru booleeni datele trebuie să fie fie 0, fie 1 pentru
FALS sau, respectiv, ADEVĂRAT. La fel pentru obiecte, datele trebuie să fie 0 sau 1 pentru a se termina sau
începe un obiect, respectiv. Elementele de date din subobiecte pot fi denumite, prefixând
tastați cu „N” și specificând numele înaintea valorii (adică „NB:myFlag:1”). Acest
opțiunea poate fi folosită de mai multe ori pentru a construi secvențe AMF arbitrare.

rtmp_flashver
Versiunea pluginului Flash folosită pentru a rula playerul SWF. Valoarea implicită este LNX 9,0,124,2.
(La publicare, implicit este FMLE/3.0 (compatibil; ).)

rtmp_flush_interval
Numărul de pachete eliminate în aceeași cerere (numai RTMPT). Valoarea implicită este 10.

rtmp_live
Specificați că media este un flux live. Nu există reluare sau căutare în fluxurile live
posibil. Valoarea implicită este „orice”, ceea ce înseamnă că abonatul încearcă mai întâi să joace
fluxul live specificat în calea de joacă. Dacă nu este găsit un flux live cu acest nume,
redă fluxul înregistrat. Celelalte valori posibile sunt „în direct” și „înregistrat”.

rtmp_pageurl
Adresa URL a paginii web în care a fost încorporat media. În mod implicit, nu va fi trimisă nicio valoare.

rtmp_playpath
Identificator de flux pentru redare sau publicare. Această opțiune suprascrie parametrul specificat
în URI.

rtmp_subscribe
Numele fluxului live la care să te abonezi. În mod implicit, nu va fi trimisă nicio valoare. Este doar
trimis dacă opțiunea este specificată sau dacă rtmp_live este setat la live.

rtmp_swfhash
SHA256 hash al fișierului SWF decomprimat (32 de octeți).

rtmp_swfsize
Dimensiunea fișierului SWF decomprimat, necesară pentru SWFVerification.

rtmp_swfurl
Adresa URL a playerului SWF pentru media. În mod implicit, nu va fi trimisă nicio valoare.

rtmp_swfverify
URL la fișierul swf al playerului, calculează automat hash/dimensiune.

rtmp_tcurl
URL-ul fluxului țintă. Setarea implicită este proto://host[:port]/app.

De exemplu pentru a citi cu ffplay o resursă multimedia numită „probă” din aplicație
„vod” de la un server RTMP „serverul meu”:

ffplay rtmp://myserver/vod/sample

Pentru a publica pe un server protejat cu parolă, transmițând separat calea de redare și numele aplicațiilor:

ffmpeg -re -i -f flv -rtmp_playpath some/long/path -rtmp_app long/app/name rtmp://nume utilizator:parola@serverul meu/

rtmpe
Protocol de mesagerie criptat în timp real.

Protocolul de mesagerie în timp real criptat (RTMPE) este utilizat pentru streaming multimedia
conținut din primitivele criptografice standard, constând din cheia Diffie-Hellman
exchange și HMACSHA256, generând o pereche de chei RC4.

rtmps
Protocol de mesagerie în timp real printr-o conexiune SSL securizată.

Protocolul de mesagerie în timp real (RTMPS) este utilizat pentru transmiterea în flux a conținutului multimedia
o conexiune criptată.

rtmpt
Protocol de mesagerie în timp real tunelizat prin HTTP.

Protocolul de mesagerie în timp real tunelizat prin HTTP (RTMPT) este utilizat pentru streaming
conținut multimedia din solicitările HTTP pentru a traversa firewall-uri.

rtmpte
Protocol de mesagerie criptat în timp real, tunelizat prin HTTP.

Protocolul de mesagerie criptată în timp real tunelizat prin HTTP (RTMPTE) este utilizat pentru
transmiterea de conținut multimedia în cadrul solicitărilor HTTP pentru a traversa firewall-uri.

rtmpts
Protocol de mesagerie în timp real tunelizat prin HTTPS.

Protocolul de mesagerie în timp real tunelizat prin HTTPS (RTMPTS) este utilizat pentru streaming
conținut multimedia din solicitările HTTPS de a traversa firewall-uri.

libsmbclient
libsmbclient permite manipularea resurselor de rețea CIFS/SMB.

Următoarea sintaxă este necesară.

smb://[[domain:]user[:parola@]]server[/share[/path[/file]]]

Acest protocol acceptă următoarele opțiuni.

timeout
Setați timeout în milisecunde pentru operațiunile I/O socket utilizate de nivelul scăzut subiacent
Operațiune. În mod implicit, este setat la -1, ceea ce înseamnă că timpul de expirare nu este specificat.

trunchia
Trunchiați fișierele existente la scriere, dacă este setată la 1. O valoare de 0 împiedică trunchierea.
Valoarea implicită este 1.

grup de lucru
Setați grupul de lucru utilizat pentru realizarea conexiunilor. În mod implicit, grupul de lucru nu este specificat.

Pentru mai multe informații vezi:http://www.samba.org/>.

libsh
Protocol securizat de transfer de fișiere prin libssh

Citiți sau scrieți în resurse de la distanță folosind protocolul SFTP.

Următoarea sintaxă este necesară.

sftp://[utilizator[:parolă]@]server[:port]/path/to/remote/resource.mpeg

Acest protocol acceptă următoarele opțiuni.

timeout
Setați timeout pentru operațiunile I/O socket utilizate de operația de nivel scăzut subiacent. De
implicit este setat la -1, ceea ce înseamnă că timeout nu este specificat.

trunchia
Trunchiați fișierele existente la scriere, dacă este setată la 1. O valoare de 0 împiedică trunchierea.
Valoarea implicită este 1.

cheie_privată
Specificați calea fișierului care conține cheia privată de utilizat în timpul autorizării. De
implicit libssh caută chei în fișierul ~ / .ssh / director.

Exemplu: Redați un fișier stocat pe serverul de la distanță.

ffplay sftp://utilizator:parolă@adresa_server:22/home/user/resource.mpeg

librtmp rtmp, rtmpe, rtmps, rtmpt, rtmpte
Protocolul de mesagerie în timp real și variantele acestuia sunt acceptate prin librtmp.

Necesită prezența antetelor și bibliotecii librtmp în timpul configurării. Trebuie să
configurați în mod explicit construcția cu „--enable-librtmp”. Dacă este activat, acesta va înlocui
protocol RTMP nativ.

Acest protocol oferă majoritatea funcțiilor client și câteva funcții de server necesare pentru a fi susținute
RTMP, RTMP tunelizat în HTTP (RTMPT), RTMP criptat (RTMPE), RTMP peste SSL/TLS (RTMPS) și
variante tunelizate ale acestor tipuri criptate (RTMPTE, RTMPTS).

Sintaxa necesară este:

:// [: ][/ ][/ ]

Unde rtmp_proto este unul dintre șirurile „rtmp”, „rtmpt”, „rtmpe”, „rtmps”, „rtmpte”,
„rtmpts” corespunzătoare fiecărei variante RTMP și serverul, port, aplicaţia și calea de joacă au
aceeași semnificație ca cea specificată pentru protocolul nativ RTMP. Opțiuni conține o listă de spațiu-
opțiuni separate ale formularului cheie=val.

Consultați pagina de manual librtmp (man 3 librtmp) pentru mai multe informații.

De exemplu, pentru a transmite un fișier în timp real către un server RTMP folosind FFMPEG:

ffmpeg -re -i fișierul meu -f flv rtmp://serverul meu/live/streamul meu

Pentru a reda același flux folosind ffplay:

ffplay „rtmp://myserver/live/mystream live=1”

rtp
Protocol de transport în timp real.

Sintaxa necesară pentru o adresă URL RTP este: rtp://nume de gazdă[:port][?opțiune=val...]

port specifică portul RTP de utilizat.

Sunt acceptate următoarele opțiuni URL:

ttl=n
Setați valoarea TTL (Time-To-Live) (doar pentru multicast).

rtcpport=n
Setați portul RTCP la distanță la n.

localrtpport=n
Setați portul RTP local la n.

localrtcpport=n'
Setați portul RTCP local la n.

pkt_size=n
Setați dimensiunea maximă a pachetului (în octeți) la n.

conecta=0|1
Efectuați un „connect()” pe soclul UDP (dacă este setat la 1) sau nu (dacă este setat la 0).

surse=ip[,ip]
Listați adresele IP sursă permise.

bloc=ip[,ip]
Listați adresele IP sursă nepermise (blocate).

write_to_source=0|1
Trimiteți pachete la adresa sursă a celui mai recent pachet primit (dacă este setată la 1) sau la a
adresa implicită de la distanță (dacă este setată la 0).

localport=n
Setați portul RTP local la n.

Aceasta este o opțiune depreciată. In schimb, localrtpport ar trebui folosit.

Notite importante:

1. Dacă rtcpport nu este setat, portul RTCP va fi setat la valoarea portului RTP plus 1.

2. Dacă localrtpport (portul RTP local) nu este setat pentru care va fi folosit niciun port disponibil
porturile locale RTP și RTCP.

3. Dacă localrtcpport (portul RTCP local) nu este setat, va fi setat la portul RTP local
valoare plus 1.

rtsp
Protocol de streaming în timp real.

RTSP nu este, din punct de vedere tehnic, un handler de protocol în libavformat, este un demuxer și muxer. The
demuxer-ul acceptă atât RTSP normal (cu date transferate prin RTP; acesta este folosit de ex
Apple și Microsoft) și Real-RTSP (cu date transferate prin RDT).

Muxer-ul poate fi folosit pentru a trimite un flux folosind RTSP ANNOUNCE către un server care îl acceptă
(în prezent, Darwin Streaming Server și Mischa Spiegelmock
<https://github.com/revmischa/rtsp-server>).

Sintaxa necesară pentru o adresă URL RTSP este:

rtsp:// [: ]/

Opțiunile pot fi setate pe FFMPEG/ffplay linie de comandă sau setați în cod prin „AVOption” sau în
„avformat_open_input”.

Sunt acceptate următoarele opțiuni.

pauză_inițială
Nu începeți imediat redarea fluxului dacă este setată la 1. Valoarea implicită este 0.

rtsp_transport
Setați protocoale de transport RTSP.

Acceptă următoarele valori:

udp Utilizați UDP ca protocol de transport inferior.

tcp Utilizați TCP (intercalarea în canalul de control RTSP) ca transport inferior
protocol.

udp_multicast
Utilizați UDP multicast ca protocol de transport inferior.

http
Utilizați tunelul HTTP ca protocol de transport inferior, care este util pentru trecere
proxy.

Pot fi specificate mai multe protocoale de transport inferioare, în acest caz se încearcă unul singur
la un moment dat (dacă configurarea unuia eșuează, se încearcă următorul). Pentru muxer, doar
tcp și udp opțiunile sunt acceptate.

rtsp_flags
Setați steaguri RTSP.

Sunt acceptate următoarele valori:

filter_src
Acceptați pachete numai de la adresa și portul peer negociate.

asculta
Acționează ca un server, ascultând o conexiune de intrare.

prefer_tcp
Încercați mai întâi TCP pentru transport RTP, dacă TCP este disponibil ca transport RTSP RTP.

Valoarea implicită este nici unul.

tipurile_media_permise
Setați tipurile media de acceptat de la server.

Sunt acceptate următoarele steaguri:

video
audio
de date

În mod implicit, acceptă toate tipurile de media.

min_port
Setați portul UDP local minim. Valoarea implicită este 5000.

max_port
Setați portul UDP local maxim. Valoarea implicită este 65000.

timeout
Setați timeout maxim (în secunde) pentru a aștepta conexiunile de intrare.

O valoare de -1 înseamnă infinit (implicit). Această opțiune implică rtsp_flags setat la
asculta.

reorder_queue_size
Setați numărul de pachete în tampon pentru gestionarea pachetelor reordonate.

expirare
Setați socket-ul TCP I/O timeout în microsecunde.

user-agent
Ignorați antetul User-Agent. Dacă nu este specificat, este implicit libavformat
șir de identificare.

Când primește date prin UDP, demuxer-ul încearcă să reordoneze pachetele primite (din moment ce acestea
pot ajunge necomenzi sau pachetele se pot pierde complet). Acest lucru poate fi dezactivat prin setare
întârzierea maximă de demuxare la zero (prin câmpul „max_delay” din AVFormatContext).

Când vizionați fluxuri Real-RTSP cu debit multiplu cu ffplay, fluxurile de afișat pot fi
ales cu „-vst” n și „-ast” n pentru video și respectiv audio și poate fi pornit
musca apăsând „v” și „a”.

Exemple

Următoarele exemple folosesc toate ffplay și FFMPEG unelte.

· Vizionați un flux prin UDP, cu o întârziere maximă de reordonare de 0.5 secunde:

ffplay -max_delay 500000 -rtsp_transport udp rtsp://server/video.mp4

· Urmărește un flux tunelat prin HTTP:

ffplay -rtsp_transport http rtsp://server/video.mp4

· Trimiteți un flux în timp real către un server RTSP, pentru ca alții să îl vizioneze:

ffmpeg -re -i -f rtsp -muxdelay 0.1 rtsp://server/live.sdp

· Primiți un flux în timp real:

ffmpeg -rtsp_flags ascultați -i rtsp://ownaddress/live.sdp

sevă
Protocolul de anunțare a sesiunii (RFC 2974). Acesta nu este, din punct de vedere tehnic, un handler de protocol în
libavformat, este un muxer și demuxer. Este folosit pentru semnalizarea fluxurilor RTP, prin
anunțând SDP-ul pentru fluxuri în mod regulat pe un port separat.

femeie

Sintaxa pentru o adresă URL SAP dată muxerului este:

sap:// [: ][? ]

Pachetele RTP sunt trimise către destinație pe port port, sau la portul 5004 dacă nu există niciun port
specificat. Opțiuni este o listă separată de „&”. Sunt acceptate următoarele opțiuni:

anunt_addr=adresa
Specificați adresa IP de destinație la care trimiteți anunțurile. Dacă este omis,
anunţurile sunt trimise la adresa de multicast a anunţurilor SAP utilizată în mod obişnuit
224.2.127.254 (sap.mcast.net), sau ff0e::2:7ffe dacă destinație este o adresă IPv6.

anunță_port=port
Specificați portul pe care să trimiteți anunțurile, implicit 9875 dacă nu este specificat.

ttl=ttl
Specificați valoarea timpului de viață pentru anunțuri și pachete RTP, implicit 255.

same_port=0 | 1
Dacă setați la 1, trimiteți toate fluxurile RTP pe aceeași pereche de porturi. Dacă zero (prestabilit), toate
fluxurile sunt trimise pe porturi unice, fiecare flux pe un port cu 2 numere mai mare decât
anterior. VLC/Live555 necesită ca acesta să fie setat la 1, pentru a putea primi fluxul.
Stiva RTP în libavformat pentru recepție necesită ca toate fluxurile să fie trimise în mod unic
porturi.

Urmează exemple de linii de comandă.

Pentru a difuza un flux pe subrețeaua locală, pentru vizionare în VLC:

ffmpeg -re -i -f sap sap://224.0.0.255?same_port=1

În mod similar, pentru vizionare în ffplay:

ffmpeg -re -i -f sap sap://224.0.0.255

Și pentru vizionarea înăuntru ffplay, peste IPv6:

ffmpeg -re -i -f sap sap://[ff0e::1:2:3:4]

Demuxer

Sintaxa pentru o adresă URL SAP dată demuxerului este:

sap://[ ][: ]

adresa este adresa de multicast pentru a asculta anunțuri, dacă este omisă, cea implicită
Se folosește 224.2.127.254 (sap.mcast.net). port este portul pe care este ascultat, 9875 dacă
omis.

Demuxer-ul ascultă anunțurile pe adresa și portul dat. Odată un
anunțul este primit, încearcă să primească acel flux anume.

Urmează exemple de linii de comandă.

Pentru a reda primul flux anunțat pe adresa obișnuită SAP multicast:

ffplay sap://

Pentru a reda primul flux anunțat pe o adresă de multicast IPv6 SAP implicită:

ffplay sap://[ff0e::2:7ffe]

sctp
Protocolul de transmisie de control al fluxului.

Sintaxa URL acceptată este:

sctp:// : [? ]

Protocolul acceptă următoarele opțiuni:

asculta
Dacă este setată la orice valoare, ascultați o conexiune de intrare. Conexiunea de ieșire se face de
Mod implicit.

max_streams
Setați numărul maxim de fluxuri. În mod implicit, nu este setată nicio limită.

srtp
Protocol de transport securizat în timp real.

Opțiunile acceptate sunt:

srtp_in_suite
srtp_out_suite
Selectați suitele de codare de intrare și ieșire.

Valori suportate:

AES_CM_128_HMAC_SHA1_80
SRTP_AES128_CM_HMAC_SHA1_80
AES_CM_128_HMAC_SHA1_32
SRTP_AES128_CM_HMAC_SHA1_32
srtp_in_params
srtp_out_params
Setați parametrii de codare de intrare și de ieșire, care sunt exprimați printr-o codificare base64
reprezentarea unui bloc binar. Primii 16 octeți ai acestui bloc binar sunt utilizați ca
cheie principală, următorii 14 octeți sunt utilizați ca sare principală.

subfisier
Extrageți virtual un segment dintr-un fișier sau alt flux. Fluxul de bază trebuie să fie
căutabilă.

Opțiuni acceptate:

Începe
Start offset al segmentului extras, în octeți.

capăt Decalajul final al segmentului extras, în octeți.

Exemple:

Extrageți un capitol dintr-un fișier DVD VOB (sectoarele de început și de sfârșit obținute extern și
înmulțit cu 2048):

subfile,,start,153391104,end,268142592,,:/media/dvd/VIDEO_TS/VTS_08_1.VOB

Redați un fișier AVI direct dintr-o arhivă TAR:

subfile,,start,183241728,end,366490624,,:archive.tar

tcp
Protocol de control al transmisiei.

Sintaxa necesară pentru o adresă URL TCP este:

tcp:// : [? ]

Opțiuni conține o listă de opțiuni &-separate ale formularului cheie=val.

Urmează lista opțiunilor acceptate.

asculta=1 | 0
Ascultă o conexiune de intrare. Valoarea implicită este 0.

timeout=microsecunde
Setați expirarea erorii de creștere, exprimată în microsecunde.

Această opțiune este relevantă numai în modul citire: dacă nu au ajuns date în mai mult de acest timp
interval, ridicare eroare.

listen_timeout=milisecunde
Setați timpul de expirare pentru ascultare, exprimat în milisecunde.

Următorul exemplu arată cum să configurați o conexiune TCP de ascultare cu FFMPEG, Care este
apoi accesat cu ffplay:

ffmpeg -i -f tcp:// : ?asculta
ffplay tcp:// :

tls
Transport Layer Security (TLS) / Secure Sockets Layer (SSL)

Sintaxa necesară pentru o adresă URL TLS/SSL este:

tls:// : [? ]

Următorii parametri pot fi setați prin opțiunile din linia de comandă (sau în cod prin „AVOption”-uri):

ca_file, cafile=nume de fișier
Un fișier care conține certificate rădăcină ale autorității de certificare (CA) de tratat ca fiind de încredere. Dacă
biblioteca TLS conectată conține o valoare implicită pentru care s-ar putea să nu fie nevoie să fie specificată
verificarea să funcționeze, dar nu toate bibliotecile și setările au setări implicite încorporate
fișierul trebuie să fie în format OpenSSL PEM.

tls_verify=1 | 0
Dacă este activat, încercați să verificați peer-ul cu care comunicăm. Rețineți, dacă utilizați
OpenSSL, acest lucru se asigură în prezent doar că certificatul peer este semnat de unul dintre
certificatele rădăcină din baza de date CA, dar nu validează faptul că
certificatul se potrivește de fapt cu numele gazdei la care încercăm să ne conectăm. (Cu GnuTLS,
numele gazdei este de asemenea validat.)

Aceasta este dezactivată în mod implicit, deoarece necesită ca o bază de date CA să fie furnizată de către
apelant în multe cazuri.

fișier_cert, cert=nume de fișier
Un fișier care conține un certificat de utilizat în strângerea de mână cu egalul. (Când
funcționând ca server, în modul de ascultare, acest lucru este mai des solicitat de peer, în timp ce
Numai certificatele de client sunt obligatorii în anumite configurații.)

fisier_cheie, cheie =nume de fișier
Un fișier care conține cheia privată pentru certificat.

asculta=1 | 0
Dacă este activat, ascultați conexiunile pe portul furnizat și asumați rolul de server în
strângerea de mână în locul rolului de client.

Exemple de linii de comandă:

Pentru a crea un server TLS/SSL care servește un flux de intrare.

ffmpeg -i -f tls:// : ?ascultă&cert= &cheie=

Pentru a reda un flux de pe serverul TLS/SSL folosind ffplay:

ffplay tls:// :

udp
Protocolul de datagramă utilizator.

Sintaxa necesară pentru o adresă URL UDP este:

udp:// : [? ]

Opțiuni conține o listă de opțiuni &-separate ale formularului cheie=val.

În cazul în care threading-ul este activat pe sistem, un buffer circular este utilizat pentru a stoca
datele primite, ceea ce permite reducerea pierderilor de date din cauza depășirilor de buffer-ul soclului UDP.
fifo_size și overrun_nonfatal opțiunile sunt legate de acest buffer.

Urmează lista opțiunilor acceptate.

buffer_size=mărimea
Setați dimensiunea maximă a tamponului de socket UDP în octeți. Acesta este folosit pentru a seta fie
primiți sau trimiteți dimensiunea bufferului, în funcție de pentru ce este folosit socket-ul. Implicit este
64KB. Vezi si fifo_size.

localport=port
Ignorați portul UDP local cu care să vă legați.

localaddr=adresă
Alegeți adresa IP locală. Acest lucru este util, de exemplu, dacă trimiteți multicast și gazda are
interfețe multiple, unde utilizatorul poate alege prin ce interfață să trimită
specificând adresa IP a interfeței respective.

pkt_size=mărimea
Setați dimensiunea în octeți a pachetelor UDP.

reutilizare=1 | 0
Permiteți sau interziceți în mod explicit reutilizarea socket-urilor UDP.

ttl=ttl
Setați valoarea timpului la live (doar pentru multicast).

conecta=1 | 0
Inițializați soclu-ul UDP cu „connect()”. În acest caz, adresa de destinație
nu poate fi schimbat cu ff_udp_set_remote_url mai târziu. Dacă adresa de destinație nu este
cunoscută la început, această opțiune poate fi specificată și în ff_udp_set_remote_url. Acest
permite aflarea adresei sursă pentru pachetele cu getsockname și face
scrie return cu AVERROR(ECONNREFUSED) dacă se primește „destinație inaccesabilă”.
Pentru primire, acest lucru oferă avantajul de a primi doar pachete de la cele specificate
adresa/portul de la egal la egal.

surse=adresa[,adresa]
Primiți numai pachetele trimise către grupul multicast de la unul dintre IP-ul expeditorului specificat
adrese.

bloc=adresa[,adresa]
Ignorați pachetele trimise grupului multicast de la adresele IP ale expeditorului specificate.

fifo_size=de unităţi
Setați dimensiunea bufferului circular de primire UDP, exprimată ca număr de pachete cu dimensiune
de 188 de octeți. Dacă nu este specificat, implicit este 7*4096.

overrun_nonfatal=1 | 0
Supraviețuiți în cazul în care UDP primește depășirea tamponului circular. Valoarea implicită este 0.

timeout=microsecunde
Setați expirarea erorii de creștere, exprimată în microsecunde.

Această opțiune este relevantă numai în modul citire: dacă nu au ajuns date în mai mult de acest timp
interval, ridicare eroare.

difuzare=1 | 0
Permiteți sau interziceți în mod explicit difuzarea UDP.

Rețineți că este posibil ca difuzarea să nu funcționeze corect pe rețelele care au o furtună de difuzare
protecţie.

Exemple

· Utilizare FFMPEG pentru a transmite în flux prin UDP la un punct final la distanță:

ffmpeg -i -f udp:// :

· Utilizare FFMPEG pentru a transmite în flux în format mpegts peste UDP utilizând pachete UDP de dimensiunea 188, folosind un
tampon de intrare mare:

ffmpeg -i -f mpegts udp:// : ?pkt_size=188&buffer_size=65535

· Utilizare FFMPEG pentru a primi prin UDP de la un punct final la distanță:

ffmpeg -i udp://[ ]: ...

unix
Socket local Unix

Sintaxa necesară pentru un URL socket Unix este:

unix://

Următorii parametri pot fi setați prin opțiunile din linia de comandă (sau în cod prin „AVOption”-uri):

timeout
Timeout în ms.

asculta
Creați soclul Unix în modul de ascultare.

DISPOZITIV OPŢIUNI


Biblioteca libavdevice oferă aceeași interfață ca și libavformat. Și anume, o intrare
dispozitivul este considerat ca un demuxer, iar un dispozitiv de ieșire ca un muxer și interfața
și opțiunile generice ale dispozitivului sunt aceleași oferite de libavformat (consultați ffmpeg-formats
manual).

În plus, fiecare dispozitiv de intrare sau de ieșire poate suporta așa-numitele opțiuni private, care sunt
specifice pentru acea componentă.

Opțiunile pot fi setate prin specificarea -opțiune valoare în instrumentele FFmpeg sau prin setarea
valoare explicit în opțiunile „AVFormatContext” a dispozitivului sau folosind libavutil/opt.h API
pentru uz programatic.

INTRARE DISPOZITIVE


Dispozitivele de intrare sunt elemente configurate în FFmpeg care permit accesarea datelor care vin
de pe un dispozitiv multimedia atașat sistemului dumneavoastră.

Când configurați versiunea FFmpeg, toate dispozitivele de intrare acceptate sunt activate de
Mod implicit. Puteți lista toate cele disponibile folosind opțiunea de configurare „--list-indevs”.

Puteți dezactiva toate dispozitivele de intrare folosind opțiunea de configurare „--disable-indevs” și
activați selectiv un dispozitiv de intrare folosind opțiunea „--enable-indev=INDEV", sau puteți
dezactivați un anumit dispozitiv de intrare folosind opțiunea „--disable-indev=INDEV".

Opțiunea „-dispozitive” a instrumentelor ff* va afișa lista dispozitivelor de intrare acceptate.

Urmează o descriere a dispozitivelor de intrare disponibile în prezent.

creştere
Dispozitiv de intrare ALSA (Advanced Linux Sound Architecture).

Pentru a activa acest dispozitiv de intrare în timpul configurării, aveți nevoie de libasound instalat pe dvs
sistemului.

Acest dispozitiv permite capturarea de pe un dispozitiv ALSA. Numele dispozitivului de capturat trebuie să
să fie un identificator de card ALSA.

Un identificator ALSA are sintaxa:

hw: [, [, ]]

unde DEV și SUBDEV componentele sunt optionale.

Cele trei argumente (în ordinea: CARD,DEV,SUBDEV) specificați numărul cardului sau identificatorul, dispozitivul
numărul și numărul subdispozitivului (-1 înseamnă orice).

Pentru a vedea lista de carduri recunoscute în prezent de sistemul dvs., verificați fișierele
/ proc / asound / cards și /proc/asound/devices.

De exemplu pentru a captura cu FFMPEG de pe un dispozitiv ALSA cu ID card 0, puteți rula
comanda:

ffmpeg -f alsa -i hw:0 alsaout.wav

Pentru mai multe informații vezi:http://www.alsa-project.org/alsa-doc/alsa-lib/pcm.html>

Opţiuni

rata simpla
Setați rata de eșantionare în Hz. Implicit este 48000.

canale
Setați numărul de canale. Implicit este 2.

avfundatie
Dispozitiv de intrare AVFoundation.

AVFoundation este cadrul recomandat în prezent de Apple pentru streamgrabbing pe OSX >=
10.7, precum și pe iOS. Cadrul QTKit mai vechi a fost marcat ca depreciat de la OSX
versiunea 10.7.

Numele fișierului de intrare trebuie să fie dat în următoarea sintaxă:

-i „[[VIDEO]:[AUDIO]]”

Prima intrare selectează intrarea video, în timp ce cea din urmă selectează intrarea audio. The
fluxul trebuie specificat de numele dispozitivului sau de indexul dispozitivului, așa cum este afișat de dispozitiv
listă. Alternativ, dispozitivul de intrare video și/sau audio poate fi ales prin index folosind

B<-index_dispozitiv_video E INDEX >

şi / sau

B<-indice_dispozitiv_audio E INDEX >

, suprascriind orice nume de dispozitiv sau index dat în numele fișierului de intrare.

Toate dispozitivele disponibile pot fi enumerate prin utilizarea -list_dispozitive adevărat, listând toate dispozitivele
nume și indici corespunzători.

Există două aliasuri de nume de dispozitiv:

"Mod implicit"
Selectați dispozitivul prestabilit AVFoundation de tipul corespunzător.

"nici unul"
Nu înregistrați tipul media corespunzător. Acest lucru este echivalent cu specificarea unui gol
numele sau indexul dispozitivului.

Opţiuni

AVFoundation acceptă următoarele opțiuni:

-list_dispozitive
Dacă este setată la adevărat, se oferă o listă cu toate dispozitivele de intrare disponibile, care arată toate dispozitivele
nume și indici.

-index_dispozitiv_video
Specificați dispozitivul video după indexul său. Supliniază orice dat în numele fișierului de intrare.

-index_dispozitiv_audio
Specificați dispozitivul audio după indexul său. Supliniază orice dat în numele fișierului de intrare.

-format_pixel
Solicitați dispozitivului video să folosească un anumit format de pixeli. Dacă formatul specificat este
nu este acceptat, este oferită o listă de formate disponibile, iar primul din această listă este
folosit in schimb. Formatele de pixeli disponibile sunt: ​​„monob, rgb555be, rgb555le, rgb565be,
rgb565le, rgb24, bgr24, 0rgb, bgr0, 0bgr, rgb0,
bgr48be, uyvy422, yuva444p, yuva444p16le, yuv444p, yuv422p16, yuv422p10, yuv444p10,
yuv420p, nv12, yuyv422, gri"

-cadrare
Setați rata de cadru de captare. Implicit este „ntsc”, corespunzând unei rate de cadre de
„30000/1001”.

-dimensiunea_video
Setați dimensiunea cadrului video.

-capture_cursor
Capturați indicatorul mouse-ului. Implicit este 0.

-capture_mouse_clicks
Capturați clicurile mouse-ului de pe ecran. Implicit este 0.

Exemple

· Imprimați lista de dispozitive acceptate de AVFoundation și ieșiți:

$ ffmpeg -f avfoundation -list_devices true -i ""

· Înregistrați video de pe dispozitivul video 0 și audio de pe dispozitivul audio 0 în out.avi:

$ ffmpeg -f avfoundation -i "0:0" out.avi

· Înregistrați video de pe dispozitivul video 2 și audio de pe dispozitivul audio 1 în out.avi:

$ ffmpeg -f avfoundation -video_device_index 2 -i ":1" out.avi

· Înregistrați video de pe dispozitivul video implicit al sistemului utilizând formatul de pixel bgr0 și faceți
nu înregistrați niciun sunet în out.avi:

$ ffmpeg -f avfoundation -pixel_format bgr0 -i "default:none" out.avi

bktr
Dispozitiv de intrare video BSD.

Opţiuni

rata de cadre
Setați rata de cadre.

video_size
Setați dimensiunea cadrului video. Implicit este „vga”.

standard
Valorile disponibile sunt:

prieten
ntsc
a usca
paln
palmier
ntscj

DeckLink
Dispozitivul de intrare decklink oferă capabilități de captură pentru dispozitivele Blackmagic DeckLink.

Pentru a activa acest dispozitiv de intrare, aveți nevoie de SDK-ul Blackmagic DeckLink și trebuie
configurați cu „--extra-cflags” și „--extra-ldflags” corespunzătoare. Pe Windows, tu
trebuie să rulați fișierele IDL wildl.

DeckLink este foarte pretențios cu privire la formatele pe care le acceptă. Formatul pixelului este uyvy422 sau v210,
framerate și dimensiunea video trebuie să fie determinate pentru dispozitivul dvs. cu -list_formats 1. Audio
rata de eșantionare este întotdeauna de 48 kHz și numărul de canale poate fi 2, 8 sau 16.

Opţiuni

list_devices
Dacă este setat la adevărat, imprimați o listă de dispozitive și ieșiți. Implicit la fals.

lista_formate
Dacă este setat la adevărat, imprimați o listă de formate acceptate și ieșiți. Implicit la fals.

bm_v210
Dacă este setat la 1, videoclipul este capturat în v10 pe 210 biți în loc de uyvy422. Nu tot Blackmagic
dispozitivele acceptă această opțiune.

Exemple

· Lista dispozitive de intrare:

ffmpeg -f decklink -list_devices 1 -i dummy

· Listează formatele acceptate:

ffmpeg -f decklink -list_formats 1 -i „Intensity Pro”

· Captură clip video la 1080i50 (formatul 11):

ffmpeg -f decklink -i „Intensity Pro@11” -acodec copy -vcodec copy output.avi

· Captură clip video la 1080i50 10 biți:

ffmpeg -bm_v210 1 -f decklink -i „UltraStudio Mini Recorder@11” -acodec copy -vcodec copy output.avi

dshow
Dispozitiv de intrare Windows DirectShow.

Suportul DirectShow este activat atunci când FFmpeg este construit cu proiectul mingw-w64. În prezent
sunt acceptate numai dispozitivele audio și video.

Dispozitivele multiple pot fi deschise ca intrări separate, dar pot fi deschise și pe aceeași
intrare, care ar trebui să îmbunătățească sincronismul dintre ele.

Numele de intrare ar trebui să fie în formatul:

= [: = ]

Unde TIP pote fi oricare audio or video, și NUME este numele dispozitivului sau alternativa
Nume..

Opţiuni

Dacă nu sunt specificate opțiuni, sunt utilizate valorile implicite ale dispozitivului. Dacă dispozitivul nu
acceptă opțiunile solicitate, nu se va deschide.

video_size
Setați dimensiunea videoclipului în videoclipul capturat.

rata de cadre
Setați rata de cadre în videoclipul capturat.

rata simpla
Setați rata de eșantionare (în Hz) a sunetului capturat.

marime de mostra
Setați dimensiunea eșantionului (în biți) a sunetului capturat.

canale
Setați numărul de canale din audio capturat.

list_devices
Dacă este setat la adevărat, imprimați o listă de dispozitive și ieșiți.

list_options
Dacă este setat la adevărat, imprimați o listă cu opțiunile dispozitivului selectat și ieșiți.

număr_dispozitiv_video
Setați numărul dispozitivului video pentru dispozitivele cu același nume (începe de la 0, implicit la 0).

număr_dispozitiv_audio
Setați numărul dispozitivului audio pentru dispozitivele cu același nume (începe de la 0, implicit la 0).

format_pixel
Selectați formatul de pixel pentru a fi utilizat de DirectShow. Acest lucru poate fi setat numai când videoclipul
codecul nu este setat sau setat la rawvideo.

audio_buffer_size
Setați dimensiunea memoriei tampon a dispozitivului audio în milisecunde (care poate afecta direct latența,
in functie de aparat). Se utilizează implicit dimensiunea tampon implicită a dispozitivului audio
(de obicei un multiplu de 500 ms). Setarea acestei valori prea scăzută se poate degrada
performanţă. Vezi si
<http://msdn.microsoft.com/en-us/library/windows/desktop/dd377582(v=vs.85).aspx>

video_pin_name
Selectați codul de captură video pe care să îl utilizați după nume sau nume alternativ.

audio_pin_name
Selectați codul de captare audio pe care să îl utilizați după nume sau nume alternativ.

crossbar_video_input_pin_number
Selectați numărul pinului de intrare video pentru dispozitivul cu bară transversală. Acesta va fi direcționat către bara transversală
pinul de ieșire al decodorului video al dispozitivului. Rețineți că modificarea acestei valori poate afecta viitorul
invocări (setează o nouă valoare implicită) până la repornirea sistemului.

crossbar_audio_input_pin_number
Selectați numărul pinului de intrare audio pentru dispozitivul cu bară transversală. Acesta va fi direcționat către bara transversală
pinul de ieșire al decodorului audio al dispozitivului. Rețineți că modificarea acestei valori poate afecta viitorul
invocări (setează o nouă valoare implicită) până la repornirea sistemului.

show_video_device_dialog
Dacă este setat la adevărat, înainte de a începe capturarea, deschideți un dialog de afișare utilizatorului final,
permițându-le să schimbe manual proprietățile și configurațiile filtrului video. Notă
că, pentru dispozitivele cu bară transversală, poate fi necesară uneori ajustarea valorilor din acest dialog
comutați între PAL (25 fps) și NTSC (29.97) rate de cadre de intrare, dimensiuni, întrețesere,
etc. Modificarea acestor valori poate permite diferite rate de scanare/viteze de cadre și evitarea
bare verzi în partea de jos, linii de scanare pâlpâitoare etc. Rețineți că, cu unele dispozitive,
modificarea acestor proprietăți poate afecta și invocările viitoare (setează noi valori implicite) până la
are loc repornirea sistemului.

show_audio_device_dialog
Dacă este setat la adevărat, înainte de a începe capturarea, deschideți un dialog de afișare utilizatorului final,
permițându-le să schimbe manual proprietățile și configurațiile filtrului audio.

show_video_crossbar_connection_dialog
Dacă este setat la adevărat, înainte de a începe capturarea, deschideți un dialog de afișare utilizatorului final,
permițându-le să modifice manual rutarea pinului barei transversale, atunci când deschide un dispozitiv video.

show_audio_crossbar_connection_dialog
Dacă este setat la adevărat, înainte de a începe capturarea, deschideți un dialog de afișare utilizatorului final,
permițându-le să modifice manual rutarea pinului barei transversale, atunci când deschide un dispozitiv audio.

show_analog_tv_tuner_dialog
Dacă este setat la adevărat, înainte de a începe capturarea, deschideți un dialog de afișare utilizatorului final,
permițându-le să modifice manual canalele și frecvențele TV.

show_analog_tv_tuner_audio_dialog
Dacă este setat la adevărat, înainte de a începe capturarea, deschideți un dialog de afișare utilizatorului final,
permițându-le să modifice manual audio TV (cum ar fi mono vs. stereo, Limba A, B sau C).

încărcare_dispozitiv_audio
Încărcați un dispozitiv de filtru de captură audio din fișier în loc să îl căutați după nume. Aceasta poate
încărcați și parametri suplimentari, dacă filtrul acceptă serializarea acestuia
proprietăți la. Pentru a utiliza aceasta, trebuie specificată o sursă de captură audio, dar poate fi
orice chiar și unul fals.

salvare_dispozitiv_audio
Salvați dispozitivul de filtru de captură audio utilizat în prezent și parametrii acestuia (dacă filtrul
îl acceptă) într-un fișier. Dacă există un fișier cu același nume, acesta va fi suprascris.

încărcare_dispozitiv_video
Încărcați un dispozitiv de filtru de captură video din fișier în loc să îl căutați după nume. Aceasta poate
încărcați și parametri suplimentari, dacă filtrul acceptă serializarea acestuia
proprietăți la. Pentru a utiliza aceasta, trebuie specificată o sursă de captură video, dar poate fi
orice chiar și unul fals.

salvare_dispozitiv_video
Salvați dispozitivul de filtru de captură video utilizat în prezent și parametrii acestuia (dacă filtrul
îl acceptă) într-un fișier. Dacă există un fișier cu același nume, acesta va fi suprascris.

Exemple

· Imprimați lista de dispozitive acceptate DirectShow și ieșiți:

$ ffmpeg -list_devices true -f dshow -i dummy

· Deschideți dispozitivul video Camera:

$ ffmpeg -f dshow -i video="Camera"

· Deschideți al doilea dispozitiv video cu nume Camera:

$ ffmpeg -f dshow -video_device_number 1 -i video="Camera"

· Deschideți dispozitivul video Camera și dispozitiv audio Microfon:

$ ffmpeg -f dshow -i video="Camera":audio="Microfon"

· Imprimați lista de opțiuni acceptate în dispozitivul selectat și ieșiți:

$ ffmpeg -list_options true -f dshow -i video="Camera"

· Specificați nume de pin de capturat după nume sau nume alternativ, specificați dispozitivul alternativ
Nume:

$ ffmpeg -f dshow -audio_pin_name "Audio Out" -video_pin_name 2 -i video=video="@device_pnp_\\?\pci#ven_1a0a&dev_6200&subsys_62021461&rev_01#4&e2c7dd6&0&00e1#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{ca465100-deb0-4d59-818f-8c477184adf6}":audio="Microphone"

· Configurați un dispozitiv cu bară transversală, specificând pinii barei transversale, permite utilizatorului să ajusteze video
captura proprietăți la pornire:

$ ffmpeg -f dshow -show_video_device_dialog true -crossbar_video_input_pin_number 0
-crossbar_audio_input_pin_number 3 -i video="AVerMedia BDA Analog Capture":audio="AVerMedia BDA Analog Capture"

dv1394
Dispozitiv de intrare Linux DV 1394.

Opţiuni

rata de cadre
Setați rata de cadre. Implicit este 25.

standard
Valorile disponibile sunt:

prieten
ntsc

Valoarea implicită este „ntsc”.

fbdev
Dispozitiv de intrare pentru framebuffer Linux.

Framebuffer-ul Linux este un strat de abstractizare grafic independent de hardware pentru a afișa grafica
pe un monitor de computer, de obicei pe consolă. Este accesat printr-un dispozitiv de fișiere
nod, de obicei /dev/fb0.

Pentru informații mai detaliate citiți fișierul Documentation/fb/framebuffer.txt inclus în
arborele sursă Linux.

Vezi sihttp://linux-fbdev.sourceforge.net/>, și fbset(1).

Pentru a înregistra de pe dispozitivul framebuffer /dev/fb0 cu FFMPEG:

ffmpeg -f fbdev -framerate 10 -i /dev/fb0 out.avi

Puteți face o singură captură de ecran cu comanda:

ffmpeg -f fbdev -framerate 1 -i /dev/fb0 -frames:v 1 screenshot.jpeg

Opţiuni

rata de cadre
Setați rata de cadre. Implicit este 25.

gdigrab
Dispozitiv de captură de ecran bazat pe Win32 GDI.

Acest dispozitiv vă permite să capturați o regiune a afișajului pe Windows.

Există două opțiuni pentru numele fișierului de intrare:

desktop

or

titlu=

Prima opțiune va captura întregul desktop sau o regiune fixă ​​a desktopului. The
a doua opțiune va captura în schimb conținutul unei singure ferestre, indiferent de aceasta
poziție pe ecran.

De exemplu, pentru a prelua întregul desktop folosind FFMPEG:

ffmpeg -f gdigrab -framerate 6 -i desktop out.mpg

Luați o regiune de 640 x 480 la poziția „10,20”:

ffmpeg -f gdigrab -framerate 6 -offset_x 10 -offset_y 20 -video_size vga -i desktop out.mpg

Luați conținutul ferestrei numită „Calculator”

ffmpeg -f gdigrab -framerate 6 -i title=Calculator out.mpg

Opţiuni

draw_mouse
Specificați dacă să desenați indicatorul mouse-ului. Utilizați valoarea 0 pentru a nu trage indicatorul.
Valoarea implicită este 1.

rata de cadre
Setați rata de cadru de captare. Valoarea implicită este „ntsc”, corespunzătoare unei rate de cadre de
„30000/1001”.

arată_regiunea
Afișați regiunea capturată pe ecran.

If arată_regiunea este specificat cu 1, atunci regiunea de captare va fi indicată pe
ecran. Cu această opțiune, este ușor să știi ce este luat, dacă este doar o porție
de ecran este apucat.

Rețineți că arată_regiunea este incompatibil cu preluarea conținutului unei singure ferestre.

De exemplu:

ffmpeg -f gdigrab -show_region 1 -framerate 6 -video_size cif -offset_x 10 -offset_y 20 -i desktop out.mpg

video_size
Setați dimensiunea cadrului video. Implicit este capturarea întregului ecran dacă desktop is
selectat sau dimensiunea completă a ferestrei dacă titlu=titlu_fereastră este selectat.

offset_x
Când capturați o regiune cu video_size, setați distanța de la marginea din stânga a
ecran sau desktop.

Rețineți că calculul offset-ului este activat din colțul din stânga sus al monitorului principal
Windows. Dacă aveți un monitor poziționat în stânga monitorului principal, dvs
va trebui să folosească un negativ offset_x valoare pentru a muta regiunea pe acel monitor.

offset_y
Când capturați o regiune cu video_size, setați distanța de la marginea superioară a
ecran sau desktop.

Rețineți că calculul offset-ului este activat din colțul din stânga sus al monitorului principal
Windows. Dacă aveți un monitor poziționat deasupra monitorului principal, va trebui
folosește un negativ offset_y valoare pentru a muta regiunea pe acel monitor.

iec61883
Dispozitiv de intrare FireWire DV/HDV folosind libiec61883.

Pentru a activa acest dispozitiv de intrare, aveți nevoie de libiec61883, libraw1394 și libavc1394 instalate pe
sistemul dvs. Utilizați opțiunea de configurare „--enable-libiec61883” pentru a compila cu dispozitivul
activat.

Dispozitivul de captura iec61883 acceptă capturarea de pe un dispozitiv video conectat prin IEEE1394
(FireWire), folosind libiec61883 și noua stivă Linux FireWire (juju). Aceasta este valoarea implicită
Metoda de introducere DV/HDV în Linux Kernel 2.6.37 și mai târziu, deoarece vechea stivă FireWire a fost
îndepărtat.

Specificați portul FireWire pentru a fi utilizat ca fișier de intrare sau „auto” pentru a alege primul port
conectat.

Opţiuni

dvtype
Ignorați detectarea automată a DV/HDV. Acest lucru ar trebui folosit numai dacă detectarea automată nu este
funcționează sau dacă utilizarea unui alt tip de dispozitiv ar trebui interzisă. Tratarea unui DV
dispozitiv ca HDV (sau invers) nu va funcționa și va avea ca rezultat un comportament nedefinit. The
Valorile Auto, dv și VHD sunt acceptate.

dvbuffer
Setați dimensiunea maximă a memoriei tampon pentru datele primite, în cadre. Pentru DV, acesta este exact
valoare. Pentru HDV, nu este cadru exact, deoarece HDV nu are o dimensiune fixă ​​a cadrului.

dvguid
Selectați dispozitivul de captură specificând GUID-ul acestuia. Capturarea va fi efectuată numai
de la dispozitivul specificat și nu reușește dacă nu este găsit niciun dispozitiv cu GUID-ul dat. Aceasta este
util pentru a selecta intrarea dacă sunt conectate mai multe dispozitive în același timp. Uite
la /sys/bus/firewire/devices pentru a afla GUID-urile.

Exemple

· Luați și afișați intrarea unui dispozitiv FireWire DV/HDV.

ffplay -f iec61883 -i auto

· Luați și înregistrați intrarea unui dispozitiv FireWire DV/HDV, folosind un buffer de pachete de 100000
pachete dacă sursa este HDV.

ffmpeg -f iec61883 -i auto -hdvbuffer 100000 out.mpg

jack
Dispozitiv de intrare JACK.

Pentru a activa acest dispozitiv de intrare în timpul configurării, aveți nevoie de libjack instalat pe dvs
sistemului.

Un dispozitiv de intrare JACK creează unul sau mai mulți clienți JACK care pot fi scrise, unul pentru fiecare canal audio,
cu nume numele clientului:intrare_N, În cazul în care numele clientului este numele furnizat de aplicație,
și N este un număr care identifică canalul. Fiecare client care poate fi scris va trimite
date achiziționate către dispozitivul de intrare FFmpeg.

Odată ce ați creat unul sau mai mulți clienți JACK lizibili, trebuie să îi conectați la unul
sau mai mulți clienți JACK care pot fi scrise.

Pentru a conecta sau deconecta clienții JACK puteți utiliza jack_connect și jack_disconnect
programe, sau faceți-o printr-o interfață grafică, de exemplu cu qjackctl.

Pentru a lista clienții JACK și proprietățile acestora, puteți invoca comanda jack_lsp.

Urmează un exemplu care arată cum să capturați un client care poate fi citit cu JACK FFMPEG.

# Creați un client de scriere JACK cu numele „ffmpeg”.
$ ffmpeg -f jack -i ffmpeg -y out.wav

# Porniți exemplul de client lizibil jack_metro.
$ jack_metro -b 120 -d 0.2 -f 4000

# Listați clienții JACK actuali.
$ jack_lsp -c
system:capture_1
system:capture_2
sistem: redare_1
sistem: redare_2
ffmpeg:input_1
metrou: 120_bpm

# Conectați metroul la clientul de scriere ffmpeg.
$ jack_connect metro:120_bpm ffmpeg:input_1

Pentru mai multe informații citiți:http://jackaudio.org/>

Opţiuni

canale
Setați numărul de canale. Implicit este 2.

lavfi
Dispozitiv virtual de intrare Libavfilter.

Acest dispozitiv de intrare citește datele de pe panourile de ieșire deschise ale unui filtrugraf libavfilter.

Pentru fiecare ieșire deschisă de filtergraph, dispozitivul de intrare va crea un flux corespunzător
care este mapat la ieșirea generată. Momentan sunt acceptate numai datele video. The
filtergraph este specificat prin opțiune grafic.

Opţiuni

grafic
Specificați graficul de filtru de utilizat ca intrare. Fiecare ieșire video deschisă trebuie să fie etichetată cu a
șir unic de forma „outN", Unde N este un număr care începe de la 0 corespunzător
fluxul de intrare mapat generat de dispozitiv. Prima ieșire fără etichetă este
atribuit automat etichetei „out0”, dar toate celelalte trebuie specificate
explicit.

Sufixul „+subcc” poate fi atașat la eticheta de ieșire pentru a crea un flux suplimentar
pachetele de subtitrări atașate la acea ieșire (experimental; numai pentru EIA-608 /
CEA-708 pentru moment). Fluxurile subcc sunt create după toate fluxurile normale, în
ordinea fluxului corespunzător. De exemplu, dacă există „out19+subcc”,
„out7+subcc” și până la „out42”, fluxul #43 este subcc pentru fluxul #7 și fluxul #44
este subcc pentru fluxul #19.

Dacă nu este specificat, este implicit numele de fișier specificat pentru dispozitivul de intrare.

fisier_grafic
Setați numele fișierului graficului de filtru pentru a fi citit și trimis la celelalte filtre. Sintaxă
al graficului de filtru este același cu cel specificat de opțiune grafic.

dumpgraph
Transferați graficul în stderr.

Exemple

· Creați un flux video color și redați-l cu ffplay:

ffplay -f lavfi -graph „culoare=c=roz [out0]” manechin

· Ca exemplul anterior, dar utilizați numele fișierului pentru a specifica descrierea graficului și
omite eticheta „out0”:

ffplay -f lavfi color=c=roz

· Creați trei surse diferite de testare video și redați-le:

ffplay -f lavfi -graph "testsrc [out0]; testsrc,hflip [out1]; testsrc,negate [out2]" test3

· Citiți un flux audio dintr-un fișier utilizând sursa amovie și redați-l cu ffplay:

ffplay -f lavfi "amovie=test.wav"

· Citiți un flux audio și un flux video și redați-l cu ffplay:

ffplay -f lavfi „movie=test.avi[out0];movie=test.wav[out1]”

· Transferați cadre decodificate în imagini și subtitrări într-un fișier (experimental):

ffmpeg -f lavfi -i "movie=test.ts[out0+subcc]" -map v frame%08d.png -map s -c copy -f rawvideo subcc.bin

libcdio
Dispozitiv de intrare audio-CD bazat pe libcdio.

Pentru a activa acest dispozitiv de intrare în timpul configurării, aveți nevoie de libcdio instalat pe dvs
sistem. Este nevoie de opțiunea de configurare „--enable-libcdio”.

Acest dispozitiv permite redarea și preluarea de pe un CD audio.

De exemplu pentru a copia cu FFMPEG întregul CD audio în / dev / sr0, puteți rula comanda:

ffmpeg -f libcdio -i /dev/sr0 cd.wav

Opţiuni

viteză
Setați viteza de citire a unității. Valoarea implicită este 0.

Viteza este specificată în unități de viteză CD-ROM. Viteza este setată prin libcdio
Funcția „cdio_cddap_speed_set”. Pe multe unități CD-ROM, se specifică o valoare prea mare
va avea ca rezultat utilizarea celei mai rapide viteze.

paranoia_mode
Setați steaguri pentru modul de recuperare pentru paranoia. Acceptă una dintre următoarele valori:

dezactivați
verifica
suprapune
sari niciodata
Complet

Valoarea implicită este dezactivați.

Pentru mai multe informații despre modurile de recuperare disponibile, consultați proiectul paranoia
documentație.

libdc1394
Dispozitiv de intrare IIDC1394, bazat pe libdc1394 și libraw1394.

Necesită opțiunea de configurare „--enable-libdc1394”.

deschidere
Dispozitivul de intrare OpenAL oferă captură audio pe toate sistemele cu un OpenAL 1.1 funcțional
punerea în aplicare.

Pentru a activa acest dispozitiv de intrare în timpul configurării, aveți nevoie de anteturi și biblioteci OpenAL
instalat pe sistemul dvs. și trebuie să configurați FFmpeg cu „--enable-openal”.

Antetele și bibliotecile OpenAL ar trebui să fie furnizate ca parte a implementării dvs. OpenAL sau
ca o descărcare suplimentară (un SDK). În funcție de instalarea dvs., poate fi necesar să specificați
steaguri suplimentare prin „--extra-cflags” și „--extra-ldflags” pentru a permite construirea
sistem pentru a localiza antetele și bibliotecile OpenAL.

Urmează o listă incompletă de implementări OpenAL:

Creator
Implementarea oficială Windows, oferind accelerare hardware cu suportat
dispozitive și software de rezervă. Vedeahttp://openal.org/>.

OpenAL Moale
Implementare software portabil, open source (LGPL). Include backend-uri pentru cel mai mult
API-uri de sunet obișnuite pe sistemele de operare Windows, Linux, Solaris și BSD. Vedea
<http://kcat.strangesoft.net/openal.html>.

Apple
OpenAL face parte din Core Audio, interfața oficială Mac OS X Audio. Vedea
<http://developer.apple.com/technologies/mac/audio-and-video.html>

Acest dispozitiv permite capturarea de pe un dispozitiv de intrare audio gestionat prin OpenAL.

Trebuie să specificați numele dispozitivului de capturat în numele fișierului furnizat. Dacă
este furnizat șir gol, dispozitivul va selecta automat dispozitivul implicit. Puteți
obțineți lista dispozitivelor acceptate utilizând opțiunea list_devices.

Opţiuni

canale
Setați numărul de canale din audio capturat. Doar valorile 1 (monoaural) și 2
(stereo) sunt acceptate în prezent. Implicit la 2.

marime de mostra
Setați dimensiunea eșantionului (în biți) a sunetului capturat. Doar valorile 8 și 16 sunt
suportate în prezent. Implicit la 16.

rata simpla
Setați rata de eșantionare (în Hz) a sunetului capturat. Implicit la 44.1k.

list_devices
Dacă este setat la adevărat, imprimați o listă de dispozitive și ieșiți. Implicit la fals.

Exemple

Imprimați lista de dispozitive acceptate OpenAL și ieșiți:

$ ffmpeg -list_devices true -f openal -i dummy out.ogg

Captură de pe dispozitivul OpenAL DR-BT101 de PulseAudio:

$ ffmpeg -f openal -i 'DR-BT101 prin PulseAudio' out.ogg

Captură de pe dispozitivul implicit (notați șirul gol „” ca nume de fișier):

$ ffmpeg -f openal -i '' out.ogg

Captură de pe două dispozitive simultan, scriind în două fișiere diferite, în același
FFMPEG comanda:

$ ffmpeg -f openal -i 'DR-BT101 prin PulseAudio' out1.ogg -f openal -i 'ALSA Implicit' out2.ogg

Notă: nu toate implementările OpenAL acceptă mai multe capturi simultane - încercați
cel mai recent OpenAL Soft dacă cele de mai sus nu funcționează.

Centru
Deschideți dispozitivul de intrare Sound System.

Numele fișierului care trebuie furnizat dispozitivului de intrare este nodul dispozitivului care reprezintă intrarea OSS
dispozitiv și este de obicei setat la /dev/dsp.

De exemplu pentru a apuca de la /dev/dsp folosind FFMPEG utilizați comanda:

ffmpeg -f oss -i /dev/dsp /tmp/oss.wav

Pentru mai multe informații despre OSS vezi:http://manuals.opensound.com/usersguide/dsp.html>

Opţiuni

rata simpla
Setați rata de eșantionare în Hz. Implicit este 48000.

canale
Setați numărul de canale. Implicit este 2.

puls
Dispozitiv de intrare PulseAudio.

Pentru a activa acest dispozitiv de ieșire, trebuie să configurați FFmpeg cu „--enable-libpulse”.

Numele fișierului de furnizat dispozitivului de intrare este un dispozitiv sursă sau șirul „implicit”

Pentru a enumera dispozitivele sursă PulseAudio și proprietățile acestora, puteți invoca comanda
pactl listă surse.

Mai multe informații despre PulseAudio pot fi găsite pehttp://www.pulseaudio.org>.

Opţiuni

serverul
Conectați-vă la un anumit server PulseAudio, specificat de o adresă IP. Server implicit
este utilizat atunci când nu este furnizat.

nume
Specificați numele aplicației pe care PulseAudio o va folosi atunci când afișați clienții activi, prin
implicit este șirul „LIBAVFORMAT_IDENT”.

stream_name
Specificați numele fluxului pe care PulseAudio îl va folosi atunci când afișați fluxurile active, în mod implicit
este „record”.

rata simpla
Specificați rata de eșantionare în Hz, în mod implicit se utilizează 48 kHz.

canale
Specificați canalele în uz, implicit 2 (stereo) este setat.

Marimea ramei
Specificați numărul de octeți per cadru, implicit este setat la 1024.

dimensiune_fragment
Specificați fragmentul minim de tamponare în PulseAudio, acesta va afecta sunetul
latenta. În mod implicit, este nesetat.

ceas de perete
Setați PTS inițial folosind ora curentă. Implicit este 1.

Exemple

Înregistrați un flux de pe dispozitivul implicit:

ffmpeg -f pulse -i implicit /tmp/pulse.wav

qtkit
Dispozitiv de intrare QTKit.

Numele fișierului transmis ca intrare este analizat pentru a conține fie un nume de dispozitiv, fie un index. The
indexul dispozitivului poate fi dat și folosind -video_device_index. Un index de dispozitiv dat va
înlocuiți orice nume de dispozitiv dat. Dacă dispozitivul dorit este format numai din numere, utilizați
-video_device_index pentru a-l identifica. Dispozitivul implicit va fi ales dacă este un șir gol
sau este dat numele dispozitivului „implicit”. Dispozitivele disponibile pot fi enumerate prin utilizarea
-list_devices.

ffmpeg -f qtkit -i "0" out.mpg

ffmpeg -f qtkit -video_device_index 0 -i "" out.mpg

ffmpeg -f qtkit -i "implicit" out.mpg

ffmpeg -f qtkit -list_devices true -i ""

Opţiuni

frame_rate
Setați rata de cadre. Implicit este 30.

list_devices
Dacă este setat la „adevărat”, tipăriți o listă de dispozitive și ieșiți. Implicit este „false”.

index_dispozitiv_video
Selectați dispozitivul video după index pentru dispozitivele cu același nume (începe de la 0).

sndio
dispozitiv de intrare sndio.

Pentru a activa acest dispozitiv de intrare în timpul configurării, aveți nevoie de libsndio instalat pe dvs
sistemului.

Numele de fișier care trebuie furnizat dispozitivului de intrare este nodul dispozitivului care reprezintă sndio
dispozitiv de intrare și, de obicei, este setat la /dev/audio0.

De exemplu pentru a apuca de la /dev/audio0 folosind FFMPEG utilizați comanda:

ffmpeg -f sndio -i /dev/audio0 /tmp/oss.wav

Opţiuni

rata simpla
Setați rata de eșantionare în Hz. Implicit este 48000.

canale
Setați numărul de canale. Implicit este 2.

video4linux2, v4l2
Dispozitiv video de intrare Video4Linux2.

„v4l2” poate fi folosit ca alias pentru „video4linux2”.

Dacă FFmpeg este construit cu suport v4l-utils (prin folosirea configurației „--enable-libv4l2”
opțiunea), este posibil să o utilizați cu opțiunea dispozitivului de intrare „-use_libv4l2”.

Numele dispozitivului de luat este un nod dispozitiv de fișiere, de obicei sistemele Linux tind să o facă
creați automat astfel de noduri atunci când dispozitivul (de exemplu, o cameră web USB) este conectat la
sistem și are un nume de acest fel /dev/videoN, În cazul în care N este un număr asociat cu
dispozitiv.

Dispozitivele Video4Linux2 acceptă de obicei un set limitat de lățimexînălțime dimensiuni și rate de cadre.
Puteți verifica care sunt acceptate folosind -list_formats toate pentru dispozitivele Video4Linux2. niste
dispozitivele, cum ar fi cardurile TV, acceptă unul sau mai multe standarde. Este posibil să enumerați toate
standarde suportate folosind -liste_standarde toate.

Baza de timp pentru marcajele de timp este de 1 microsecundă. În funcție de versiunea kernelului și
configurație, marcajele de timp pot fi derivate din ceasul în timp real (originea la Unix
Epoca) sau ceasul monoton (origine de obicei la momentul pornirii, neafectat de NTP sau manual
modificări ale ceasului). The - marcajele de timp abs or -ts abs opțiunea poate fi folosită pentru a forța
conversie în ceas în timp real.

Câteva exemple de utilizare a dispozitivului video4linux2 cu FFMPEG și ffplay:

· Listează formatele acceptate pentru un dispozitiv video4linux2:

ffplay -f video4linux2 -list_formats all /dev/video0

· Luați și afișați intrarea unui dispozitiv video4linux2:

ffplay -f video4linux2 -framerate 30 -video_size hd720 /dev/video0

· Luați și înregistrați intrarea unui dispozitiv video4linux2, lăsați rata de cadre și dimensiunea ca
setat anterior:

ffmpeg -f video4linux2 -input_format mjpeg -i /dev/video0 out.mpeg

Pentru mai multe informații despre Video4Linux, verificațihttp://linuxtv.org/>.

Opţiuni

standard
Stabiliți standardul. Trebuie să fie numele unui standard acceptat. Pentru a obține o listă a
standarde acceptate, utilizați listă_standarde opțiune.

canal
Setați numărul canalului de intrare. Implicit la -1, ceea ce înseamnă că folosiți cea selectată anterior
canal.

video_size
Setați dimensiunea cadrului video. Argumentul trebuie să fie un șir în formă LĂŢIMExHEIGHT sau un
abreviere de dimensiune valabilă.

format_pixel
Selectați formatul pixelului (valid numai pentru intrare video brută).

formatul de intrare
Setați formatul de pixeli preferat (pentru videoclipuri brute) sau un nume de codec. Această opțiune permite
unul pentru a selecta formatul de intrare, atunci când sunt disponibile mai multe.

rata de cadre
Setați rata de cadre video preferată.

lista_formate
Enumerați formatele disponibile (formate de pixeli acceptate, codecuri și dimensiuni de cadre) și ieșiți.

Valorile disponibile sunt:

toate Afișați toate formatele disponibile (comprimate și necomprimate).

crud Afișați numai formate video brute (necomprimate).

comprimat
Afișați numai formatele comprimate.

listă_standarde
Listați standardele acceptate și ieșiți.

Valorile disponibile sunt:

toate Afișați toate standardele acceptate.

marcaje temporale, ts
Setați tipul de marcaje temporale pentru cadrele capturate.

Valorile disponibile sunt:

lipsă
Utilizați marcajele de timp din nucleu.

abs Utilizați marcaje temporale absolute (ceas de perete).

mono2abs
Forțați conversia de la marcaje temporale monotone la absolute.

Valoarea implicită este „implicit”.

use_libv4l2
Utilizați funcțiile de conversie libv4l2 (v4l-utils). Implicit este 0.

vfwcap
Dispozitiv de intrare de captură VfW (Video pentru Windows).

Numele fișierului transmis ca intrare este numărul driverului de captură, variind de la 0 la 9. Puteți
utilizați „list” ca nume de fișier pentru a imprima o listă de drivere. Orice alt nume de fișier va fi interpretat
ca număr de dispozitiv 0.

Opţiuni

video_size
Setați dimensiunea cadrului video.

rata de cadre
Setați rata de cadru de captare. Valoarea implicită este „ntsc”, corespunzătoare unei rate de cadre de
„30000/1001”.

x11grab
Dispozitiv de intrare video X11.

Pentru a activa acest dispozitiv de intrare în timpul configurării, aveți nevoie de libxcb instalat pe sistemul dumneavoastră.
Acesta va fi detectat automat în timpul configurării.

Alternativ, opțiunea de configurare --enable-x11grab există pentru utilizatorii vechi Xlib.

Acest dispozitiv permite capturarea unei regiuni a unui afișaj X11.

Numele fișierului transmis ca intrare are sintaxa:

[ ]: . [+ , ]

nume de gazdă:display_number.screen_number specifică numele afișat X11 al ecranului de luat
din. nume de gazdă poate fi omis și implicit este „localhost”. Variabila de mediu
DISPLAY conține numele afișat implicit.

x_offset și y_offset specificați decalajele zonei capturate în raport cu partea din stânga sus
marginea ecranului X11. Acestea sunt implicite la 0.

Verificați documentația X11 (de ex om X) pentru informații mai detaliate.

Folosește xdpyinfo program pentru obținerea de informații de bază despre proprietățile X11
afișare (de ex. grep pentru „nume” sau „dimensiuni”).

De exemplu pentru a apuca de la : 0.0 folosind FFMPEG:

ffmpeg -f x11grab -framerate 25 -video_size cif -i :0.0 out.mpg

Prinde la poziția „10,20”:

ffmpeg -f x11grab -framerate 25 -video_size cif -i :0.0+10,20 out.mpg

Opţiuni

draw_mouse
Specificați dacă să desenați indicatorul mouse-ului. O valoare de 0 specifică să nu se deseneze
indicator. Valoarea implicită este 1.

follow_mouse
Faceți ca zona capturată să urmeze mouse-ul. Argumentul poate fi „centrat” sau un număr de
pixeli PIXELS.

Când este specificat cu „centrat”, regiunea de captare urmează indicatorul mouse-ului
și menține indicatorul în centrul regiunii; în caz contrar, regiunea urmează doar când
indicatorul mouse-ului ajunge înăuntru PIXELS (mai mare decât zero) până la marginea regiunii.

De exemplu:

ffmpeg -f x11grab -follow_mouse centered -framerate 25 -video_size cif -i :0.0 out.mpg

Pentru a urmări doar când indicatorul mouse-ului ajunge la 100 de pixeli până la margine:

ffmpeg -f x11grab -follow_mouse 100 -framerate 25 -video_size cif -i :0.0 out.mpg

rata de cadre
Setați rata de cadru de captare. Valoarea implicită este „ntsc”, corespunzătoare unei rate de cadre de
„30000/1001”.

arată_regiunea
Afișați regiunea capturată pe ecran.

If arată_regiunea este specificat cu 1, atunci regiunea de captare va fi indicată pe
ecran. Cu această opțiune, este ușor să știi ce este luat, dacă este doar o porție
de ecran este apucat.

frontieră_regiune
Setați grosimea marginii regiunii dacă -show_region 1 este folosit. Intervalul este de la 1 la 128 și
implicit este 3 (numai x11grab bazat pe XCB).

De exemplu:

ffmpeg -f x11grab -show_region 1 -framerate 25 -video_size cif -i :0.0+10,20 out.mpg

cu follow_mouse:

ffmpeg -f x11grab -follow_mouse centered -show_region 1 -framerate 25 -video_size cif -i :0.0 out.mpg

video_size
Setați dimensiunea cadrului video. Valoarea implicită este „vga”.

use_shm
Utilizați extensia MIT-SHM pentru memoria partajată. Valoarea implicită este 1. Poate fi necesar
pentru a-l dezactiva pentru afișajele de la distanță (numai vechiul x11grab).

apuca_x apucă-te AVOpțiune

Sintaxa este:

-grab_x -apucă

Setați coordonatele regiunii de captare. Ele sunt exprimate ca decalaj din colțul din stânga sus
a ferestrei X11. Valoarea implicită este 0.

REZULTATE DISPOZITIVE


Dispozitivele de ieșire sunt elemente configurate în FFmpeg care pot scrie date multimedia pe un
dispozitiv de ieșire atașat sistemului dvs.

Când vă configurați versiunea FFmpeg, toate dispozitivele de ieșire acceptate sunt activate de
Mod implicit. Puteți lista toate cele disponibile folosind opțiunea de configurare „--list-outdevs”.

Puteți dezactiva toate dispozitivele de ieșire folosind opțiunea de configurare „--disable-outdevs” și
activați selectiv un dispozitiv de ieșire folosind opțiunea „--enable-outdev=OUTDEV", sau puteți
dezactivați un anumit dispozitiv de intrare folosind opțiunea „--disable-outdev=OUTDEV".

Opțiunea „-devices” a instrumentelor ff* va afișa lista dispozitivelor de ieșire activate.

Urmează o descriere a dispozitivelor de ieșire disponibile în prezent.

creştere
Dispozitiv de ieșire ALSA (Advanced Linux Sound Architecture).

Exemple

· Redați un fișier pe dispozitivul ALSA implicit:

ffmpeg -i INPUT -f alsa implicit

· Redați un fișier pe placa de sunet 1, dispozitiv audio 7:

ffmpeg -i INPUT -f alsa hw:1,7

bah
Dispozitiv de ieșire CACA.

Acest dispozitiv de ieșire permite afișarea unui flux video în fereastra CACA. O singură fereastră CACA
este permis pentru fiecare aplicație, deci puteți avea o singură instanță a acestui dispozitiv de ieșire într-un
aplicație.

Pentru a activa acest dispozitiv de ieșire, trebuie să configurați FFmpeg cu „--enable-libcaca”.
libcaca este o bibliotecă grafică care scoate text în loc de pixeli.

Pentru mai multe informații despre libcaca, verificați:http://caca.zoy.org/wiki/libcaca>

Opţiuni

window_title
Setați titlul ferestrei CACA, dacă nu este specificat implicit, la numele fișierului specificat pentru
dispozitiv de ieșire.

window_size
Setați dimensiunea ferestrei CACA, poate fi un șir al formularului lățimexînălțime sau o dimensiune video
abreviere. Dacă nu este specificat, este implicit la dimensiunea videoclipului de intrare.

şofer
Setați driverul de afișare.

Algoritmul
Setați algoritmul de dithering. Dithering-ul este necesar deoarece imaginea care este redată are
de obicei mult mai multe culori decât paleta disponibilă. Sunt enumerate valorile acceptate
cu „-list_dither algoritmi”.

antialias
Setați metoda antialias. Antialiasing netezește imaginea redată și evită
efectul de scară frecvent întâlnit. Valorile acceptate sunt listate cu „-list_dither
antialiasuri”.

set de caractere
Setați ce caractere vor fi folosite la randarea textului. Valorile acceptate
sunt listate cu „-list_dither charsets”.

culoare
Setați culoarea care va fi utilizată la randarea textului. Valorile acceptate sunt listate cu
„-list_dither culori”.

list_drivers
Dacă este setat la adevărat, imprimați o listă de drivere disponibile și ieșiți.

list_dither
Enumerați opțiunile dither disponibile legate de argument. Argumentul trebuie să fie unul dintre
„algoritmi”, „antialiasuri”, „seturi de caractere”, „culori”.

Exemple

· Următoarea comandă arată FFMPEG ieșirea este o fereastră CACA, forțând dimensiunea acesteia
80x25:

ffmpeg -i INPUT -vcodec rawvideo -pix_fmt rgb24 -window_size 80x25 -f caca -

· Afișați lista de drivere disponibile și ieșiți:

ffmpeg -i INPUT -pix_fmt rgb24 -f caca -list_drivers true -

· Afișați lista de culori disponibile și ieșiți:

ffmpeg -i INPUT -pix_fmt rgb24 -f caca -list_dither colors -

DeckLink
Dispozitivul de ieșire decklink oferă capabilități de redare pentru dispozitivele Blackmagic DeckLink.

Pentru a activa acest dispozitiv de ieșire, aveți nevoie de Blackmagic DeckLink SDK și trebuie
configurați cu „--extra-cflags” și „--extra-ldflags” corespunzătoare. Pe Windows, tu
trebuie să rulați fișierele IDL wildl.

DeckLink este foarte pretențios cu privire la formatele pe care le acceptă. Formatul pixelului este întotdeauna uyvy422,
framerate și dimensiunea video trebuie să fie determinate pentru dispozitivul dvs. cu -list_formats 1. Audio
rata de eșantionare este întotdeauna de 48 kHz.

Opţiuni

list_devices
Dacă este setat la adevărat, imprimați o listă de dispozitive și ieșiți. Implicit la fals.

lista_formate
Dacă este setat la adevărat, imprimați o listă de formate acceptate și ieșiți. Implicit la fals.

preroll
Cantitatea de timp pentru prerularea videoclipului în secunde. Implicit la 0.5.

Exemple

· Lista dispozitive de ieșire:

ffmpeg -i test.avi -f decklink -list_devices 1 manechin

· Listează formatele acceptate:

ffmpeg -i test.avi -f decklink -list_formats 1 „DeckLink Mini Monitor”

· Redați videoclipul:

ffmpeg -i test.avi -f decklink -pix_fmt uyvy422 „DeckLink Mini Monitor”

· Redați un videoclip cu un framerate sau o dimensiune video non-standard:

ffmpeg -i test.avi -f decklink -pix_fmt uyvy422 -s 720x486 -r 24000/1001 „DeckLink Mini Monitor”

fbdev
Dispozitiv de ieșire framebuffer Linux.

Framebuffer-ul Linux este un strat de abstractizare grafic independent de hardware pentru a afișa grafica
pe un monitor de computer, de obicei pe consolă. Este accesat printr-un dispozitiv de fișiere
nod, de obicei /dev/fb0.

Pentru informații mai detaliate citiți fișierul Documentație/fb/framebuffer.txt inclus în
arborele sursă Linux.

Opţiuni

xoffset
yoffset
Setați coordonatele x/y din colțul din stânga sus. Implicit este 0.

Exemple

Redați un fișier pe dispozitivul framebuffer /dev/fb0. Formatul de pixeli necesar depinde de curent
setări framebuffer.

ffmpeg -re -i INPUT -vcodec rawvideo -pix_fmt bgra -f fbdev /dev/fb0

Vezi sihttp://linux-fbdev.sourceforge.net/>, și fbset(1).

deschide gl
Dispozitiv de ieșire OpenGL.

Pentru a activa acest dispozitiv de ieșire, trebuie să configurați FFmpeg cu „--enable-opengl”.

Acest dispozitiv de ieșire permite randarea în context OpenGL. Contextul poate fi furnizat de
este creată aplicația sau fereastra SDL implicită.

Când dispozitivul se redă în context extern, aplicația trebuie să implementeze handlere pentru urmărire
mesaje: „AV_DEV_TO_APP_CREATE_WINDOW_BUFFER” - creați context OpenGL pe firul curent.
„AV_DEV_TO_APP_PREPARE_WINDOW_BUFFER” - faceți actual contextul OpenGL.
„AV_DEV_TO_APP_DISPLAY_WINDOW_BUFFER” - schimbați tampon.
„AV_DEV_TO_APP_DESTROY_WINDOW_BUFFER” - distruge contextul OpenGL. Aplicația este, de asemenea
necesar pentru a informa un dispozitiv despre rezoluția curentă prin trimitere
Mesajul „AV_APP_TO_DEV_WINDOW_SIZE”.

Opţiuni

fundal
Setați culoarea de fundal. Negrul este implicit.

fără_fereastră
Dezactivează fereastra SDL implicită când este setată la o valoare diferită de zero. Aplicația trebuie să furnizeze
Contextul OpenGL și ambele apeluri „window_size_cb” și „window_swap_buffers_cb” atunci când
set.

window_title
Setați titlul ferestrei SDL, dacă nu este specificat implicit, la numele fișierului specificat pentru
dispozitiv de ieșire. Ignorat când fără_fereastră este setat.

window_size
Setați dimensiunea preferată a ferestrei, poate fi un șir de formă widthxheight sau o dimensiune video
abreviere. Dacă nu este specificat, este implicit la dimensiunea videoclipului de intrare, redusă
conform raportului de aspect. Utilizabil în cea mai mare parte când fără_fereastră nu este setat.

Exemple

Redați un fișier pe fereastra SDL folosind redarea OpenGL:

ffmpeg -i INPUT -f opengl „titlul ferestrei”

Centru
Dispozitiv de ieșire OSS (Open Sound System).

puls
Dispozitiv de ieșire PulseAudio.

Pentru a activa acest dispozitiv de ieșire, trebuie să configurați FFmpeg cu „--enable-libpulse”.

Mai multe informații despre PulseAudio pot fi găsite pehttp://www.pulseaudio.org>

Opţiuni

serverul
Conectați-vă la un anumit server PulseAudio, specificat de o adresă IP. Server implicit
este utilizat atunci când nu este furnizat.

nume
Specificați numele aplicației pe care PulseAudio o va folosi atunci când afișați clienții activi, prin
implicit este șirul „LIBAVFORMAT_IDENT”.

stream_name
Specificați numele fluxului pe care PulseAudio îl va folosi atunci când afișați fluxurile active, în mod implicit
este setat la numele de ieșire specificat.

dispozitiv
Specificați dispozitivul de utilizat. Dispozitivul implicit este utilizat atunci când nu este furnizat. Lista de ieșiri
dispozitivele pot fi obținute cu comandă pactl listă chiuvete.

dimensiunea memoriei tampon
durata_tampon
Controlați dimensiunea și durata buffer-ului PulseAudio. Un mic tampon oferă mai mult
control, dar necesită actualizări mai frecvente.

dimensiunea memoriei tampon specifică dimensiunea în octeți în timp ce durata_tampon specifică durata în
milisecunde.

Când sunt furnizate ambele opțiuni, atunci se folosește cea mai mare valoare (durata este
recalculat în octeți folosind parametrii fluxului). Dacă sunt setate la 0 (adică
implicit), dispozitivul va folosi valoarea implicită pentru durata PulseAudio. În mod implicit
PulseAudio setează durata tamponului la aproximativ 2 secunde.

prebuf
Specificați dimensiunea pre-buffering în octeți. Serverul nu începe cu redarea înainte de la
cel mai puțin prebuf octeții sunt disponibili în buffer. În mod implicit, această opțiune este inițializată
la aceeași valoare ca dimensiunea memoriei tampon or durata_tampon (oricare este mai mare).

minreq
Specificați dimensiunea minimă a cererii în octeți. Serverul nu solicită mai puțin de minreq
octeți de la client, așteaptă în schimb până când tamponul este suficient de liber pentru a solicita mai mult
octeți deodată. Este recomandat să nu setați această opțiune, care va inițializa aceasta la
o valoare care este considerată sensibilă de către server.

Exemple

Redați un fișier pe dispozitivul implicit pe serverul implicit:

ffmpeg -i INPUT -f puls „nume flux”

sdl
Dispozitiv de ieșire SDL (Simple DirectMedia Layer).

Acest dispozitiv de ieșire permite afișarea unui flux video într-o fereastră SDL. O singură fereastră SDL
este permis pentru fiecare aplicație, deci puteți avea o singură instanță a acestui dispozitiv de ieșire într-un
aplicație.

Pentru a activa acest dispozitiv de ieșire, aveți nevoie de libsdl instalat pe sistemul dvs. atunci când configurați
construcția ta.

Pentru mai multe informații despre SDL, verificați:http://www.libsdl.org/>

Opţiuni

window_title
Setați titlul ferestrei SDL, dacă nu este specificat implicit, la numele fișierului specificat pentru
dispozitiv de ieșire.

icon_title
Setați numele ferestrei SDL simbolizate, dacă nu este specificat, este setată la aceeași valoare
of window_title.

window_size
Setați dimensiunea ferestrei SDL, poate fi un șir al formularului lățimexînălțime sau o dimensiune video
abreviere. Dacă nu este specificat, este implicit la dimensiunea videoclipului de intrare, redusă
conform raportului de aspect.

window_fullscreen
Setați modul ecran complet atunci când este furnizată o valoare diferită de zero. Valoarea implicită este zero.

Interactiv comenzi

Fereastra creată de dispozitiv poate fi controlată prin următorul interactiv
comenzi.

q, ESC
Închideți imediat dispozitivul.

Exemple

Următoarea comandă arată FFMPEG ieșirea este o fereastră SDL, forțând dimensiunea acesteia la
format qcif:

ffmpeg -i INPUT -vcodec rawvideo -pix_fmt yuv420p -window_size qcif -f sdl "Ieșire SDL"

sndio
dispozitiv de ieșire audio sndio.

xv
Dispozitiv de ieșire XV (XVideo).

Acest dispozitiv de ieșire permite afișarea unui flux video într-o fereastră X Window System.

Opţiuni

numele afisat
Specificați numele de afișare hardware, care determină afișarea și comunicațiile
domeniul de utilizat.

Numele afișat sau variabila de mediu DISPLAY poate fi un șir în format
nume de gazdă[:număr[.screen_number]].

nume de gazdă specifică numele mașinii gazdă pe care este afișat fizic
atașat. număr specifică numărul serverului de afișare de pe acea mașină gazdă.
screen_number specifică ecranul care va fi utilizat pe acel server.

Dacă nu este specificat, valoarea implicită a variabilei de mediu DISPLAY.

De exemplu, „dual-headed:0.1” ar specifica ecranul 1 al afișajului 0 pe aparat
numit ``dual-headed''.

Verificați specificația X11 pentru informații mai detaliate despre numele afișat
format.

window_id
Când este setat la o valoare diferită de zero, dispozitivul nu creează o fereastră nouă, ci folosește cele existente
unul cu prevazut window_id. În mod implicit, această opțiune este setată la zero și dispozitivul creează
propria fereastră.

window_size
Setați dimensiunea ferestrei create, poate fi un șir al formularului lățimexînălțime sau o dimensiune video
abreviere. Dacă nu este specificat, este implicit la dimensiunea videoclipului de intrare. Ignorat
cand window_id este setat.

fereastra_x
fereastra_y
Setați offset-urile ferestrei X și Y pentru fereastra creată. Ambele sunt setate la 0 de
Mod implicit. Valorile pot fi ignorate de managerul de ferestre. Ignorat când window_id is
set.

window_title
Setați titlul ferestrei, dacă nu este specificat implicit, la numele fișierului specificat pentru
dispozitiv de ieșire. Ignorat când window_id este setat.

Pentru mai multe informații despre XVideo vezihttp://www.x.org/>.

Exemple

· Decodați, afișați și codificați intrarea video cu FFMPEG în același timp:

ffmpeg -i INPUT OUTPUT -f display xv

· Decodați și afișați videoclipul de intrare în mai multe ferestre X11:

ffmpeg -i INPUT -f xv normal -vf negate -f xv negat

RESAMPLER OPŢIUNI


Reeșantionarea audio acceptă următoarele opțiuni denumite.

Opțiunile pot fi setate prin specificarea -opțiune valoare în instrumentele FFmpeg, opțiune=valoare pentru
un filtru de exemplu, prin setarea explicit a valorii în opțiunile „SwrContext” sau folosind
libavutil/opt.h API pentru uz programatic.

ich, in_channel_count
Setați numărul de canale de intrare. Valoarea implicită este 0. Setarea acestei valori nu este
obligatoriu dacă aspectul canalului corespunzător în_channel_layout este setat.

oh, out_channel_count
Setați numărul de canale de ieșire. Valoarea implicită este 0. Setarea acestei valori nu este
obligatoriu dacă aspectul canalului corespunzător out_channel_layout este setat.

uh, numărul_canalelor utilizate
Setați numărul de canale de intrare utilizate. Valoarea implicită este 0. Această opțiune este utilizată numai
pentru remaparea specială.

isr, in_sample_rate
Setați rata de eșantionare de intrare. Valoarea implicită este 0.

osr, out_sample_rate
Setați rata de eșantionare de ieșire. Valoarea implicită este 0.

isf, in_sample_fmt
Specificați formatul eșantionului de intrare. Este setat implicit la „niciunul”.

osf, out_sample_fmt
Specificați formatul eșantionului de ieșire. Este setat implicit la „niciunul”.

tsf, internal_sample_fmt
Setați formatul eșantionului intern. Valoarea implicită este „niciunul”. Acest lucru va fi automat
ales atunci când nu este setat în mod explicit.

icl, în_channel_layout
ocl, out_channel_layout
Setați aspectul canalului de intrare/ieșire.

Vedea il Canal Aspect secțiune in il ffmpeg-utils(1) manual pentru sintaxa cerută.

clev, center_mix_level
Setați nivelul de amestec central. Este o valoare exprimată în deciBel și trebuie să fie în
interval [-32,32].

slev, surround_mix_level
Setați nivelul de mixare surround. Este o valoare exprimată în deciBel și trebuie să fie în
interval [-32,32].

lfe_mix_level
Setați mixul LFE la nivel non LFE. Este folosit când există o intrare LFE, dar nu LFE
ieșire. Este o valoare exprimată în deciBel și trebuie să fie în intervalul [-32,32].

rmvol, volum_rematrice
Setați volumul rematricei. Valoarea implicită este 1.0.

rematrix_maxval
Setați valoarea maximă de ieșire pentru rematrizare. Acest lucru poate fi folosit pentru a preveni tăierea vs.
prevenirea reducerii volumului O valoare de 1.0 previne tăierea.

steaguri, swr_flags
Setați steaguri utilizate de convertor. Valoarea implicită este 0.

Acceptă următoarele steaguri individuale:

res forța reeșantionarea, acest indicator forțează reeșantionarea să fie utilizată chiar și atunci când intrarea și
ratele de eșantionare de ieșire se potrivesc.

dither_scale
Setați scala dither. Valoarea implicită este 1.

metoda_dither
Setați metoda dither. Valoarea implicită este 0.

Valori suportate:

dreptunghiular
selectați dither dreptunghiular

triunghiular
selectați dither triunghiular

triunghiular_hp
selectați dither triunghiular cu trecere înaltă

lipshitz
selectați Lipshitz Noise Shaping Dither

shibata
selectați shibata noise shaping dither

low_shibata
selectați dither de modelare a zgomotului shibata scăzut

high_shibata
selectați dither de modelare a zgomotului shibata ridicat

f_ponderat
selectați dither de modelare a zgomotului ponderat f

modificat_e_ponderat
selectați dither de modelare a zgomotului ponderat e modificat

improved_e_weighted
selectați dither de modelare a zgomotului ponderat e îmbunătățit

reeșantionare
Setați motorul de reeșantionare. Valoarea implicită este swr.

Valori suportate:

swr selectați resamplerul SW nativ; opțiunile de filtrare precizia și cheby nu sunt
aplicabil în acest caz.

soxr
selectați SoX Resampler (acolo unde este disponibil); compensare și opțiuni de filtrare
filter_size, phase_shift, filter_type și kaiser_beta nu sunt aplicabile în acest caz
caz.

dimensiunea_filtrului
Numai pentru swr, setați dimensiunea filtrului de reeșantionare, valoarea implicită este 32.

defazare
Numai pentru swr, setați defazajul de reeșantionare, valoarea implicită este 10 și trebuie să fie în
interval [0,30].

linear_interp
Utilizați interpolarea liniară dacă este setată la 1, valoarea implicită este 0.

cutoff
Setați raportul frecvenței de tăiere (swr: punct 6dB; soxr: punct 0dB); trebuie să fie o valoare flotantă
între 0 și 1. Valoarea implicită este 0.97 cu swr și 0.91 cu soxr (care, cu un
rata de eșantionare de 44100, păstrează întreaga bandă audio la 20 kHz).

precizie
Numai pentru soxr, precizia în biți la care se va calcula semnalul reeșantionat.
Valoarea implicită de 20 (care, cu dithering adecvată, este adecvată pentru a
adâncimea de biți a destinației de 16) oferă „calitate înaltă” SoX; o valoare de 28 dă SoX-uri
„Calitate foarte înaltă”.

cheby
Numai pentru soxr, selectează passband rolloff none (Chebyshev) și precizie mai mare
aproximare pentru rapoarte „iraționale”. Valoarea implicită este 0.

async
Numai pentru swr, sincronizare audio simplă cu 1 parametru la marcajele de timp folosind întindere, strângere,
umplerea și tunderea. Setarea la 1 va permite umplerea și tăierea, mai mari
valorile reprezintă cantitatea maximă în mostre pe care datele pot fi extinse sau
stors pentru fiecare secundă. Valoarea implicită este 0, prin urmare nu se aplică nicio compensație pentru a face
mostrele se potrivesc cu marcajele de timp audio.

primul_pt
Numai pentru swr, presupunem că primele puncte ar trebui să fie această valoare. Unitatea de timp este 1/probă
rată. Acest lucru permite umplutura/tunderea la începutul fluxului. Implicit, nu
se face presupunerea cu privire la punctele așteptate ale primului cadru, deci nu există umplutură sau tăiere
Terminat. De exemplu, acesta ar putea fi setat la 0 pentru a completa începutul cu tăcere dacă an
Fluxul audio începe după fluxul video sau pentru a tăia orice eșantioane cu puncte negative
din cauza întârzierii codificatorului.

min_comp
Numai pentru swr, setați diferența minimă între marcajele de timp și datele audio (în
secunde) pentru a declanșa întinderea/strângerea/umplerea sau tăierea datelor pentru a le face
potriviți marcajele de timp. Implicit este că întinderea/strângerea/umplerea și tunderea este
dezactivat (min_comp = „FLT_MAX”).

min_hard_comp
Numai pentru swr, setați diferența minimă între marcajele de timp și datele audio (în
secunde) pentru a declanșa adăugarea/eliminarea mostrelor pentru a se potrivi cu marcajele de timp. Acest
Opțiunea este efectiv un prag pentru a alege între tare (tăiere/umplere) și moale
(strângere/întindere) compensare. Rețineți că toate compensațiile sunt dezactivate implicit
prin min_comp. Valoarea implicită este 0.1.

comp_duration
Numai pentru swr, setați durata (în secunde) pentru care datele sunt întinse/comprimate pentru a fi realizate
se potrivește cu marcajele de timp. Trebuie să fie o valoare flotantă dublă nenegativă, valoarea implicită este
1.0.

max_soft_comp
Numai pentru swr, setați factorul maxim prin care datele sunt întinse/comprimate pentru a se potrivi
marcajele de timp. Trebuie să fie o valoare flotantă dublă nenegativă, valoarea implicită este 0.

codificare_matrice
Selectați codificarea stereo matricială.

Acceptă următoarele valori:

nici unul
selectați niciunul

Dolby®
selectați Dolby

dplii
selectați Dolby Pro Logic II

Valoarea implicită este „niciunul”.

tip_filtru
Numai pentru swr, selectați tipul de filtru de reeșantionare. Acest lucru afectează numai operațiunile de reeșantionare.

Acceptă următoarele valori:

cub
selectați cubic

blackman_nuttall
selectați Blackman Nuttall Windowed Sinc

kaiser
selectați Kaiser Windowed Sinc

kaiser_beta
Numai pentru swr, setați valoarea Kaiser Window Beta. Trebuie să fie un număr întreg în intervalul [2,16],
valoarea implicită este 9.

biți_eșantion_ieșire
Numai pentru swr, setați numărul de biți de eșantion de ieșire utilizați pentru dithering. Trebuie să fie un număr întreg
în intervalul [0,64], valoarea implicită este 0, ceea ce înseamnă că nu este utilizat.

SCALER OPŢIUNI


Scalerul video acceptă următoarele opțiuni denumite.

Opțiunile pot fi setate prin specificarea -opțiune valoare în instrumentele FFmpeg. Pentru uz programatic,
ele pot fi setate explicit în opțiunile „SwsContext” sau prin intermediul libavutil/opt.h API-ul.

sws_flags
Setați steagurile scalerului. Acesta este, de asemenea, folosit pentru a seta algoritmul de scalare. Doar unul singur
ar trebui selectat algoritmul.

Acceptă următoarele valori:

rapid_bilinear
Selectați algoritmul de scalare biliniar rapid.

biliniar
Selectați algoritmul de scalare biliniar.

bicubic
Selectați algoritmul de scalare bicubic.

experimental
Selectați algoritmul de scalare experimental.

vecin
Selectați algoritmul de redimensionare a vecinului cel mai apropiat.

zonă
Selectați algoritmul de redimensionare a zonei de mediere.

bicublin
Selectați algoritmul de scalare bicubic pentru componenta lumina, biliniar pentru croma
componente.

gauss
Selectați algoritmul de redimensionare Gaussian.

intrucat
Selectați algoritmul de redimensionare sinc.

lanczos
Selectați algoritmul de redimensionare lanczos.

spline
Selectați algoritmul natural de redimensionare bicubic spline.

print_info
Activați jurnalul de imprimare/depanare.

accurate_rnd
Activați rotunjirea precisă.

full_chroma_int
Activați interpolarea cromatică completă.

full_chroma_inp
Selectați intrarea croma completă.

biexact
Activați ieșirea bitexact.

srcw
Setați lățimea sursei.

srch
Setați înălțimea sursei.

dstw
Setați lățimea destinației.

dsth
Setați înălțimea destinației.

src_format
Setați formatul pixelului sursă (trebuie exprimat ca un număr întreg).

dst_format
Setați formatul pixelului de destinație (trebuie exprimat ca un număr întreg).

src_range
Selectați domeniul de sursă.

dst_range
Selectați intervalul de destinație.

param0, param1
Setați parametrii algoritmului de scalare. Valorile specificate sunt specifice unei anumite scalari
algoritmi și ignorate de alții. Valorile specificate sunt numere în virgulă mobilă
valori.

sws_dither
Setați algoritmul de dithering. Acceptă una dintre următoarele valori. Valoarea implicită este
Auto.

Auto
alegere automată

nici unul
fără dithering

bayer
bayer dither

ed eroare difuzie dither

a_dither
dithering aritmetic, bazat pe adunarea

x_dither
ditherare aritmetică, bazată pe utilizarea xor (modelări mai aleatorii/mai puțin aparente decât
a_dither).

alphablend
Setați amestecarea alfa pentru a fi utilizată atunci când intrarea are alfa, dar ieșirea nu.
Valoarea implicită este nici unul.

uniform_color
Se amestecă pe o culoare uniformă de fundal

tablă de șah
Amestecați pe o tablă de șah

nici unul
Fără amestecare

FILTRU INTRODUCERE


Filtrarea în FFmpeg este activată prin biblioteca libavfilter.

În libavfilter, un filtru poate avea mai multe intrări și mai multe ieșiri. Pentru a ilustra
un fel de lucruri care sunt posibile, luăm în considerare următorul filtergraph.

[principal]
intrare --> împărțire ---------------------> suprapunere --> ieșire
| ^
|[tmp] [flip]|
+-----> crop --> vflip -------+

Acest filtergraph împarte fluxul de intrare în două fluxuri, apoi trimite un flux prin intermediul
decupați filtrul și filtrul vflip, înainte de a le îmbina înapoi cu celălalt flux
suprapunându-l deasupra. Puteți utiliza următoarea comandă pentru a realiza acest lucru:

ffmpeg -i INPUT -vf „împărțit [principal][tmp]; [tmp] crop=iw:ih/2:0:0, vflip [întoarcere]; [principal][flip] suprapunere=0:H/2” IEȘIRE

Rezultatul va fi că jumătatea superioară a videoclipului este reflectată în jumătatea inferioară a videoclipului
ieșire video.

Filtrele din același lanț liniar sunt separate prin virgule și lanțuri liniare distincte de
filtrele sunt separate prin punct și virgulă. În exemplul nostru, trunchi, vflip sunt într-un lanț liniar,
împărţi și acoperire sunt separat în altul. Punctele în care se unesc lanțurile liniare sunt
etichetate cu nume cuprinse între paranteze pătrate. În exemplu, filtrul divizat generează
două ieșiri care sunt asociate etichetelor [principal] și [tmp].

Fluxul trimis la a doua ieșire a împărţi, etichetat ca [tmp], este procesat prin intermediul
cultură filtru, care decupează jumătatea inferioară a videoclipului, apoi pe verticală
răsturnat. The acoperire filtrul primește în intrare prima ieșire neschimbată a filtrului divizat
(care a fost etichetat ca [principal]), și suprapune pe jumătatea inferioară a ieșirii generate de
trunchi, vflip filterchain.

Unele filtre preiau in intrare o lista de parametri: sunt specificati dupa numele filtrului
și un semn egal și sunt separate unul de celălalt prin două puncte.

Există așa-numitele sursă Filtre care nu au o intrare audio/video și chiuvetă
Filtre care nu va avea ieșire audio/video.

GRAFIC


graph2dot program inclus în FFmpeg Unelte directorul poate fi folosit pentru a analiza a
filtergraph descriere și emite o reprezentare textuală corespunzătoare în punct
limba.

Invocați comanda:

graph2dot -h

pentru a vedea cum se folosește graph2dot.

Apoi puteți transmite descrierea punctului către punct program (din suita graphviz a
programe) și obțineți o reprezentare grafică a filtergraphului.

De exemplu, secvența de comenzi:

ecou | \
tools/graph2dot -o graph.tmp && \
punct -Tpng graph.tmp -o graph.png && \
afișare grafic.png

poate fi folosit pentru a crea și afișa o imagine reprezentând graficul descris de
GRAPH_DESCRIPTION şir. Rețineți că acest șir trebuie să fie un grafic complet autonom,
cu intrările și ieșirile sale definite în mod explicit. De exemplu, dacă linia de comandă este de
forma:

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

ta GRAPH_DESCRIPTION șirul va trebui să aibă forma:

nullsrc,scale=640:360,nullsink

este posibil să fie necesar să setați nullsrc parametri și adăugați a format filtra pentru a
simulează un anumit fișier de intrare.

GRAFUL FILTRULUI DESCRIERE


Un filtergraph este un grafic direcționat al filtrelor conectate. Poate conține cicluri, și acolo
pot fi legături multiple între o pereche de filtre. Fiecare link are un pad de intrare pe o parte
conectându-l la un filtru de la care își ia intrarea și la un pad de ieșire pe celălalt
partea care îl conectează la un filtru acceptând ieșirea acestuia.

Fiecare filtru dintr-un filtergraph este o instanță a unei clase de filtru înregistrată în
aplicație, care definește caracteristicile și numărul de tampoane de intrare și ieșire ale
filtru.

Un filtru fără pad-uri de intrare este numit „sursă”, iar un filtru fără pad-uri de ieșire este
numită „chiuvetă”.

Filtergraph sintaxă
Un filtergraph are o reprezentare textuală, care este recunoscută de -filtru/-vf/-af și
-complex_filtru opțiuni în FFMPEG și -vf/-af in ffplay, și de către
Funcția „avfilter_graph_parse_ptr()” definită în libavfilter/avfilter.h.

Un filterchain constă dintr-o secvență de filtre conectate, fiecare conectat la
precedentul din succesiune. Un filterchain este reprezentat de o listă de ","-separate
descrierile filtrelor.

Un filtergraph constă dintr-o secvență de filterchains. O succesiune de filterchains este
reprezentată de o listă de descrieri de lanțuri de filtre separate prin „;”.

Un filtru este reprezentat de un șir de forma:
[în_link_1]...[in_link_N]nume_filtru=argumente[out_link_1]...[out_link_M]

nume_filtru este numele clasei de filtru a cărei instanță este filtrul descris
de și trebuie să fie numele uneia dintre clasele de filtre înregistrate în program. The
numele clasei de filtrare este urmat opțional de un șir „=argumente".

argumente este un șir care conține parametrii utilizați pentru a inițializa filtrul
instanță. Poate avea una dintre cele două forme:

· O listă „:”-separată de cheie=valoare perechi.

· O listă „:”-separată de valoare. În acest caz, se presupune că cheile sunt opțiunea
nume în ordinea în care sunt declarate. De exemplu, filtrul „fade” declară trei opțiuni
aceasta comanda -- tip, start_frame și nb_frames. Apoi lista de parametri în:0:30 mijloace
că valoarea in este atribuit opțiunii tip, 0 la start_frame și 30 la
nb_frames.

· O listă separată „:” de direct mixt valoare și lung cheie=valoare perechi. Directa valoare
trebuie să precedă cheie=valoare perechi și urmează aceeași ordine de constrângeri a lui
punctul anterior. Următoarele cheie=valoare perechile pot fi setate în orice ordine preferată.

Dacă valoarea opțiunii în sine este o listă de elemente (de exemplu, filtrul „format” preia o listă de
pixeli), elementele din listă sunt de obicei separate prin |.

Lista de argumente poate fi citată folosind caracterul ' ca semn inițial și final și
caracterul \ pentru evadarea caracterelor din textul citat; altfel argumentul
șirul este considerat terminat atunci când următorul caracter special (aparținând setului
[]=;,) este întâlnită.

Numele și argumentele filtrului sunt precedate și urmate opțional de o listă de
etichete de linkuri. O etichetă de legătură permite să denumească o legătură și să o asocieze la o ieșire de filtru
sau tastatura de intrare. Etichetele precedente în_link_1 ... in_link_N, sunt asociate filtrului
tampoane de intrare, următoarele etichete out_link_1 ... out_link_M, sunt asociate ieșirii
tampoane.

Când două etichete de link cu același nume sunt găsite în filtergraph, o legătură între
este creat pad-ul de intrare și ieșire corespunzător.

Dacă un pad de ieșire nu este etichetat, acesta este legat în mod implicit la prima intrare neetichetată
tamponul următorului filtru din filterchain. De exemplu, în filterchain

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

instanța de filtru divizat are două pad-uri de ieșire, iar instanța de filtru de suprapunere două intrări
tampoane. Primul pad de ieșire al diviziunii este etichetat „L1”, primul pad de intrare al suprapunerii este
etichetat „L2”, iar al doilea pad de ieșire al split este legat de al doilea pad de intrare al
suprapunere, care sunt ambele neetichetate.

Într-o descriere a filtrului, dacă eticheta de intrare a primului filtru nu este specificată, „în” este
asumat; dacă eticheta de ieșire a ultimului filtru nu este specificată, se presupune „out”.

Într-un filterchain complet trebuie să existe toate tampoanele de intrare și de ieșire a filtrului neetichetate
conectat. Un grafic cu filtru este considerat valid dacă toate tampoanele de intrare și ieșire ale filtrului
toate filterchain-urile sunt conectate.

Libavfilter se va insera automat scară filtre în care este necesară conversia formatului.
Este posibil să specificați steaguri swscale pentru acești scalatori inserati automat de
înainte de „sws_flags=steaguri;" la descrierea graficului cu filtru.

Iată o descriere BNF a sintaxei filtergraph:

::= secvență de caractere alfanumerice și „_”
::= „[” "]"
::= [ ]
::= secvență de caractere (eventual citată)
::= [ ] ["=" ] [ ]
::= [, ]
::= [sws_flags= ;] [; ]

notițe on filtrugraf evadarea
Compoziția descrierii filtrului implică mai multe niveluri de evadare. Vedea il „Citat
și scăpare" secțiune in il ffmpeg-utils(1) manual pentru mai multe informații despre
procedură de evadare folosită.

O evadare de prim nivel afectează conținutul fiecărei valori ale opțiunii de filtru, care poate conține
caracterul special „:” folosit pentru a separa valorile sau unul dintre caracterele de evacuare „\’”.

O evadare de al doilea nivel afectează întreaga descriere a filtrului, care poate conține
caracterele de evacuare „\’” sau caracterele speciale „[],;” folosit de filtergraph
Descriere.

În cele din urmă, când specificați un filtergraph pe o linie de comandă shell, trebuie să efectuați a
al treilea nivel de evadare pentru caracterele speciale shell conținute în acesta.

De exemplu, luați în considerare următorul șir a fi încorporat în fișierul desen text filtru
descriere a) Sport and Nutrition Awareness Day in Manasia Around XNUMX people from the rural commune Manasia have participated in a sports and healthy nutrition oriented activity in one of the community’s sports ready yards. This activity was meant to gather, mainly, middle-aged people from a Romanian rural community and teach them about the benefits that sports have on both their mental and physical health and on how sporting activities can be used to bring people from a community closer together. Three trainers were made available for this event, so that the participants would get the best possible experience physically and so that they could have the best access possible to correct information and good sports/nutrition practices. b) Sports Awareness Day in Poiana Țapului A group of young participants have taken part in sporting activities meant to teach them about sporting conduct, fairplay, and safe physical activities. The day culminated with a football match. valoare:

acesta este un „șir”: poate conține unul sau mai multe caractere speciale

Acest șir conține caracterul special de evadare „’” și caracterul special „:”, deci
trebuie scăpat în acest fel:

text=acesta este un \'șir\'\: poate conține unul sau mai multe caractere speciale

Un al doilea nivel de evadare este necesar atunci când încorporați descrierea filtrului în a
descriere filtergraph, pentru a scăpa de toate caracterele speciale filtergraph. Prin urmare
exemplul de mai sus devine:

drawtext=text=acesta este un \\\'șir\\\'\\: poate conține unul\, sau mai multe\, caractere speciale

(rețineți că, pe lângă caracterele speciale care scapă „\'", trebuie să fie și ","
scăpat).

În cele din urmă, este necesar un nivel suplimentar de evadare atunci când scrieți descrierea graficului cu filtru
într-o comandă shell, care depinde de regulile de evadare ale shell-ului adoptat. De exemplu,
presupunând că „\” este special și trebuie să fie scapat cu un alt „\”, șirul anterior
va avea ca rezultat in final:

-vf „drawtext=text=acesta este un \\\\\\'șir\\\\\\'\\\\: poate conține unul\\ sau mai multe\\, caractere speciale”

CRONOLOGIE EDITAREA


Unele filtre acceptă un generic permite opțiune. Pentru filtrele care acceptă editarea cronologiei,
această opțiune poate fi setată la o expresie care este evaluată înainte de a trimite un cadru către
filtru. Dacă evaluarea este diferită de zero, filtrul va fi activat, în caz contrar cadrul
va fi trimis neschimbat la următorul filtru din filtergraph.

Expresia acceptă următoarele valori:

t marca temporală exprimată în secunde, NAN dacă marca temporală de intrare este necunoscută

n numărul secvenţial al cadrului de intrare, începând de la 0

post poziția în fișier a cadrului de intrare, NAN dacă necunoscută

w
h lățimea și înălțimea cadrului de intrare dacă este video

În plus, aceste filtre acceptă un permite comandă care poate fi folosită pentru a redefini
expresie.

Ca orice altă opțiune de filtrare, și permite opțiunea urmează aceleași reguli.

De exemplu, pentru a activa un filtru de estompare (smartblur) de la 10 secunde la 3 minute și a
curbe filtru incepand de la 3 secunde:

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

AUDIO FILTRE


Când configurați versiunea FFmpeg, puteți dezactiva oricare dintre filtrele existente folosind
„--disable-filters”. Ieșirea de configurare va afișa filtrele audio incluse în dvs
construi.

Mai jos este o descriere a filtrelor audio disponibile în prezent.

overfade
Aplicați cross fade de la un flux audio de intrare la un alt flux audio de intrare. Crucea
estomparea este aplicată pentru o durată specificată aproape de sfârșitul primului flux.

Filtrul acceptă următoarele opțiuni:

nb_samples, ns
Specificați numărul de mostre pentru care efectul de estompare încrucișată trebuie să dureze. La sfârșitul
din efectul de estompare încrucișată, prima intrare audio va fi complet silențioasă. Implicit este
44100.

durată, d
Specificați durata efectului de estompare încrucișată. Vedea il Timp durată secțiune in il
ffmpeg-utils(1) manual pentru sintaxa acceptată. În mod implicit, durata este determinată
by nb_samples. Dacă este setată, această opțiune este folosită în loc de nb_samples.

suprapune, o
Ar trebui să se suprapună primul flux de sfârșit cu începerea celui de-al doilea flux. Implicit este activat.

curba1
Setați curba pentru tranziția cu fade încrucișată pentru primul flux.

curba2
Setați curba pentru tranziția cu fade încrucișată pentru al doilea flux.

Pentru descrierea tipurilor de curbe disponibile vezi afade descrierea filtrului.

Exemple

· Fade încrucișat de la o intrare la alta:

ffmpeg -i first.flac -i second.flac -filter_complex acrossfade=d=10:c1=exp:c2=exp output.flac

· Fade încrucișat de la o intrare la alta, dar fără suprapunere:

ffmpeg -i first.flac -i second.flac -filter_complex acrossfade=d=10:o=0:c1=exp:c2=exp output.flac

o întârziere
Întârzie unul sau mai multe canale audio.

Mostrele din canalul întârziat sunt pline de tăcere.

Filtrul acceptă următoarea opțiune:

întârzieri
Setați lista de întârzieri în milisecunde pentru fiecare canal, separate prin „|”. Cel puțin unul
ar trebui furnizată o întârziere mai mare de 0. Întârzierile neutilizate vor fi ignorate în tăcere. Dacă
numărul de întârzieri date este mai mic decât numărul de canale pe care îl vor avea toate canalele rămase
să nu fie amânată.

Exemple

· Întârzieți primul canal cu 1.5 secunde, al treilea canal cu 0.5 secunde și părăsiți
al doilea canal (și orice alte canale care pot fi prezente) neschimbate.

adelay=1500|0|500

ecou
Aplicați ecou la sunetul de intrare.

Ecourile sunt sunete reflectate și pot apărea în mod natural printre munți (și uneori mari
clădiri) când vorbesc sau strigă; efectele ecou digitale emulează acest comportament și sunt
adesea folosit pentru a ajuta la completarea sunetului unui singur instrument sau vocal. Diferența de timp
între semnalul inițial și reflexie este „întârzierea” și volumul
semnalul reflectat este „degradarea”. Ecourile multiple pot avea diferite întârzieri și dezintegrari.

Urmează o descriere a parametrilor acceptați.

in_castig
Setați câștigul de intrare al semnalului reflectat. Implicit este 0.6.

out_gain
Setați câștigul de ieșire al semnalului reflectat. Implicit este 0.3.

întârzieri
Setați lista de intervale de timp în milisecunde între semnalul original și reflexii
separate prin „|”. Intervalul permis pentru fiecare „întârziere” este „(0 - 90000.0]”. Implicit este 1000.

se descompune
Setați lista de intensități ale semnalelor reflectate separate prin „|”. Interval permis pentru fiecare
„decay” este „(0 - 1.0]". Implicit este 0.5.

Exemple

· Faceți să sune ca și cum ar fi de două ori mai multe instrumente decât se cântă de fapt:

echo=0.8:0.88:60:0.4

· Dacă întârzierea este foarte scurtă, atunci sună ca un robot (metalic) care redă muzică:

echo=0.8:0.88:6:0.4

· O întârziere mai mare va suna ca un concert în aer liber la munte:

echo=0.8:0.9:1000:0.3

· La fel ca mai sus, dar cu încă un munte:

aecho=0.8:0.9:1000|1800:0.3|0.25

aeval
Modificați un semnal audio conform expresiilor specificate.

Acest filtru acceptă una sau mai multe expresii (una pentru fiecare canal), care sunt evaluate
și folosit pentru a modifica un semnal audio corespunzător.

Acceptă următorii parametri:

exprs
Setați lista de expresii separate de „|” pentru fiecare canal separat. Dacă numărul de
canale de intrare este mai mare decât numărul de expresii, ultima specificată
expresia este folosită pentru canalele de ieșire rămase.

channel_layout, c
Setați aspectul canalului de ieșire. Dacă nu este specificat, aspectul canalului este specificat de
numărul de expresii. Dacă este setat la acelaşi, va folosi implicit același canal de intrare
aspect.

Fiecare expresie în exprs poate conține următoarele constante și funcții:

ch numărul de canal al expresiei curente

n numărul eșantionului evaluat, începând de la 0

s rata simpla

t timpul eșantionului evaluat exprimat în secunde

nb_in_canale
nb_out_channels
numărul de canale de intrare și ieșire

val(CH)
valoarea canalului de intrare cu număr CH

Notă: acest filtru este lent. Pentru o procesare mai rapidă, ar trebui să utilizați un filtru dedicat.

Exemple

· Jumătate de volum:

aeval=val(ch)/2:c=la fel

· Faza inversată a celui de-al doilea canal:

aeval=val(0)|-val(1)

afade
Aplicați efect de fade-in/out la intrarea audio.

Urmează o descriere a parametrilor acceptați.

tip, t
Specificați tipul efectului, poate fi fie „in” pentru fade-in, fie „out” pentru fade-out
efect. Implicit este „în”.

start_sample, ss
Specificați numărul eșantionului de pornire pentru începerea aplicării efectului de estompare. Mod implicit
este 0.

nb_samples, ns
Specificați numărul de mostre pentru care efectul de estompare trebuie să dureze. La sfârșitul
efect de fade-in, sunetul de ieșire va avea același volum ca și sunetul de intrare, la
La sfârșitul tranziției fade-out, sunetul de ieșire va fi tăcere. Implicit este 44100.

timpul de începere, st
Specificați ora de începere a efectului de estompare. Implicit este 0. Valoarea trebuie specificată
ca durată de timp; vedea il Timp durată secțiune in il ffmpeg-utils(1) manual pentru
sintaxa acceptată. Dacă este setată, această opțiune este folosită în loc de start_sample.

durată, d
Specificați durata efectului de estompare. Vedea il Timp durată secțiune in il
ffmpeg-utils(1) manual pentru sintaxa acceptată. La sfârșitul efectului de fade-in
sunetul de ieșire va avea același volum ca și sunetul de intrare, la sfârșitul fade-out-ului
tranziția audio de ieșire va fi tăcere. În mod implicit, durata este determinată de
nb_samples. Dacă este setată, această opțiune este folosită în loc de nb_samples.

curba
Setați curba pentru tranziția de estompare.

Acceptă următoarele valori:

tri selectați panta triunghiulară, liniară (implicit)

qsin
selectați sfert de undă sinusoidală

hsin
selectați jumătate din unda sinusoidală

inspirație
selectați unda sinusoidală exponențială

log selectați logaritmic

cumnat
selectați parabola inversată

aici selectați pătratică

pui selectați cubic

mp selectați rădăcina pătrată

CBR selectați rădăcina cubică

de selectați parabola

exp selectați exponențial

iqsin
selectați sfert inversat de undă sinusoidală

ihsin
selectați jumătate inversată a undei sinusoidale

dori
selectați scaunul dublu exponențial

dif
selectați sigmoid dublu exponențial

Exemple

· Fade în primele 15 secunde de sunet:

afade=t=in:ss=0:d=15

· Eliminați ultimele 25 de secunde ale unui sunet de 900 de secunde:

afade=t=out:st=875:d=25

aformat
Setați restricții de format de ieșire pentru sunetul de intrare. Cadrul va negocia cel mai mult
format adecvat pentru a minimiza conversiile.

Acceptă următorii parametri:

sample_fmts
O listă separată de „|” a formatelor de mostre solicitate.

rate_eșantionare
O listă separată de „|” a ratelor de eșantionare solicitate.

channel_layouts
O listă separată de „|” cu aspecte ale canalelor solicitate.

Vedea il Canal Aspect secțiune in il ffmpeg-utils(1) manual pentru sintaxa cerută.

Dacă un parametru este omis, toate valorile sunt permise.

Forțați ieșirea să fie stereo pe 8 biți sau semnat pe 16 biți

Aformat = eșantion_fmts = U8 | S16: canal_layouts = stereo

toate trec
Aplicați un filtru trece-all cu doi poli cu frecvență centrală (în Hz) frecvenţă, și filtre-
lățime lățime. Un filtru all-pass modifică relația dintre frecvența audio și faza
fără a-și modifica relația de frecvență cu amplitudine.

Filtrul acceptă următoarele opțiuni:

frecvență, f
Setați frecvența în Hz.

width_type
Setați metoda pentru a specifica lățimea de bandă a filtrului.

h Hz

q Factorul Q

o octavă

s pantă

lățime, w
Specificați lățimea de bandă a unui filtru în unități width_type.

apari
Îmbină două sau mai multe fluxuri audio într-un singur flux multicanal.

Filtrul acceptă următoarele opțiuni:

intrări
Setați numărul de intrări. Implicit este 2.

Dacă structurile de canal ale intrărilor sunt disjunse și, prin urmare, compatibile, canalul
layout-ul ieșirii va fi setat în consecință și canalele vor fi reordonate ca
necesar. Dacă structurile de canale ale intrărilor nu sunt disjunse, ieșirea va avea toate
canalele primei intrări apoi toate canalele celei de-a doua intrări, în această ordine,
iar aspectul canalului de ieșire va fi valoarea implicită corespunzătoare totalului
numărul de canale.

De exemplu, dacă prima intrare este în 2.1 (FL+FR+LF) și a doua intrare este FC+BL+BR,
atunci ieșirea va fi în 5.1, cu canalele în următoarea ordine: a1, a2, b1, a3,
b2, b3 (a1 este primul canal al primei intrări, b1 este primul canal al celei de-a doua
intrare).

Pe de altă parte, dacă ambele intrări sunt stereo, canalele de ieșire vor fi implicite
ordine: a1, a2, b1, b2, iar aspectul canalului va fi setat în mod arbitrar la 4.0, care poate sau
poate să nu fie valoarea așteptată.

Toate intrările trebuie să aibă aceeași frecvență de eșantionare și același format.

Dacă intrările nu au aceeași durată, ieșirea se va opri cu cea mai scurtă.

Exemple

· Îmbina două fișiere mono într-un flux stereo:

amovie=left.wav [l] ; amovie=right.mp3 [r] ; [l] [r] amerge

· Îmbinări multiple presupunând 1 flux video și 6 fluxuri audio intrare.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 ieșire.mkv

un amestec
Mixează mai multe intrări audio într-o singură ieșire.

Rețineți că acest filtru acceptă numai eșantioane flotante ( apari și tigaie filtre audio
suportă multe formate). Dacă un amestec intrarea are mostre întregi atunci sunt eșantion va fi
inserat automat pentru a efectua conversia în mostre flotante.

De exemplu

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

va amesteca 3 fluxuri audio de intrare la o singură ieșire cu aceeași durată ca prima
intrare și un timp de tranziție de abandon de 3 secunde.

Acceptă următorii parametri:

intrări
Numărul de intrări. Dacă nu este specificat, valoarea implicită este 2.

durată
Cum să determinați sfârșitul fluxului.

cea mai lungă
Durata celei mai lungi intrări. (Mod implicit)

cel mai scurt
Durata celei mai scurte intrări.

primul
Durata primei intrări.

abandon_tranziție
Timpul de tranziție, în secunde, pentru renormalizarea volumului când se termină un flux de intrare.
Valoarea implicită este de 2 de secunde.

anula
Treceți sursa audio neschimbată la ieșire.

Tată
Adăugați sfârșitul unui flux audio cu tăcere.

Acesta poate fi folosit împreună cu FFMPEG -cel mai scurt pentru a extinde fluxurile audio la aceeași lungime
ca fluxul video.

Urmează o descriere a opțiunilor acceptate.

dimensiunea_pachet
Setați dimensiunea pachetului de liniște. Valoarea implicită este 4096.

pad_len
Setați numărul de mostre de tăcere pentru a adăuga la sfârșit. După ce valoarea este atinsă,
fluxul este terminat. Această opțiune se exclude reciproc cu întreg_len.

întreg_len
Setați numărul total minim de mostre în fluxul audio de ieșire. Dacă valoarea este
mai mare decât lungimea audio de intrare, liniștea este adăugată la sfârșit, până când valoarea este
atins. Această opțiune se exclude reciproc cu pad_len.

Dacă nici cel pad_len nici întreg_len opțiunea este setată, filtrul va adăuga liniște
sfârșitul fluxului de intrare pe termen nelimitat.

Exemple

· Adăugați 1024 de mostre de liniște la sfârșitul intrării:

apad=pad_len=1024

· Asigurați-vă că ieșirea audio va conține cel puțin 10000 de mostre, completați intrarea cu
tăcere dacă este necesar:

apad=whole_len=10000

· Utilizare FFMPEG pentru a completa intrarea audio cu tăcere, astfel încât fluxul video să fie întotdeauna
rezultatul este cel mai scurt și va fi convertit până la sfârșit în fișierul de ieșire la utilizare
il cel mai scurt opţiune:

ffmpeg -i VIDEO -i AUDIO -filter_complex „[1:0]apad” -cel mai scurt OUTPUT

aphaser
Adăugați un efect de fază la sunetul de intrare.

Un filtru de fazer creează o serie de vârfuri și jgheaburi în spectrul de frecvență. The
poziția vârfurilor și jgheaburilor sunt modulate astfel încât acestea să varieze în timp, creând a
efect de măturare.

Urmează o descriere a parametrilor acceptați.

in_castig
Setați câștigul de intrare. Implicit este 0.4.

out_gain
Setați câștigul de ieșire. Implicit este 0.74

întârziere
Setați întârzierea în milisecunde. Implicit este 3.0.

descompunere
Setați degradarea. Implicit este 0.4.

viteză
Setați viteza de modulație în Hz. Implicit este 0.5.

tip
Setați tipul de modulație. Implicit este triunghiular.

Acceptă următoarele valori:

triunghiular, t
sinusoidal, s

sunt eșantion
Reeșantionați sunetul de intrare la parametrii specificați, folosind biblioteca libswresample. Dacă
nu sunt specificate, atunci filtrul va converti automat între intrarea și
ieșire.

Acest filtru este, de asemenea, capabil să întindă/strânge datele audio pentru a le face să se potrivească cu marcajele de timp
sau pentru a injecta tăcere / decupați sunetul pentru a se potrivi cu marcajele de timp, faceți o combinație de
ambele sau nu faceți niciuna.

Filtrul acceptă sintaxa [rata simpla:]resampler_options, În cazul în care rata simpla își exprimă
o rată de eșantionare și resampler_options este o listă a cheie=valoare perechi, separate prin „:”. Vedea
manualul ffmpeg-resampler pentru lista completă a opțiunilor acceptate.

Exemple

· Reeșantionați audio de intrare la 44100 Hz:

aresample=44100

· Întindeți/strângeți mostre la marcajele de timp date, cu maximum 1000 de mostre pe
a doua compensare:

aresample=async=1000

asetnsamples
Setați numărul de mostre pentru fiecare cadru audio de ieșire.

Ultimul pachet de ieșire poate conține un număr diferit de mostre, deoarece filtrul se va spăla
toate mostrele rămase atunci când semnalul audio de intrare îi semnalează sfârșitul.

Filtrul acceptă următoarele opțiuni:

nb_out_samples, n
Setați numărul de cadre pentru fiecare cadru audio de ieșire. Numărul este destinat ca
numărul de mostre pentru fiecare canal. Valoarea implicită este 1024.

tampon, p
Dacă este setat la 1, filtrul va umple ultimul cadru audio cu zerouri, astfel încât ultimul
cadru va conține același număr de mostre ca și cele anterioare. Valoarea implicită este
1.

De exemplu, pentru a seta numărul de mostre per cadru la 1234 și pentru a dezactiva umplutura pentru
ultimul cadru, folosește:

asetnsamples=n=1234:p=0

asetrate
Setați rata de eșantionare fără a modifica datele PCM. Acest lucru va duce la o schimbare a vitezei
și pitch.

Filtrul acceptă următoarele opțiuni:

rata simpla, r
Setați rata de eșantionare de ieșire. Implicit este 44100 Hz.

ashowinfo
Afișați o linie care conține diverse informații pentru fiecare cadru audio de intrare. Audio de intrare este
nemodificat.

Linia afișată conține o secvență de perechi cheie/valoare ale formularului cheie:valoare.

Următoarele valori sunt afișate în rezultat:

n Numărul (secvențial) al cadrului de intrare, începând de la 0.

pct Marca temporală de prezentare a cadrului de intrare, în unități de bază de timp; baza de timp
depinde de panoul de intrare al filtrului și este de obicei 1/rata simpla.

pts_time
Marca temporală de prezentare a cadrului de intrare în secunde.

post poziția cadrului în fluxul de intrare, -1 dacă această informație nu este disponibilă
și/sau lipsit de sens (de exemplu, în cazul sunetului sintetic)

fmt Formatul eșantionului.

chlayout
Aspectul canalului.

rată
Frecvența de eșantionare pentru cadrul audio.

nb_samples
Numărul de mostre (pe canal) din cadru.

checksum
Suma de control Adler-32 (imprimată în hexazecimal) a datelor audio. Pentru audio planar,
datele sunt tratate ca și cum toate planurile ar fi concatenate.

plane_checksums
O listă de sume de control Adler-32 pentru fiecare plan de date.

astats
Afișează informații statistice în domeniul timpului despre canalele audio. Statisticile sunt
calculate și afișate pentru fiecare canal audio și, după caz, o cifră generală
este, de asemenea, dat.

Acceptă următoarea opțiune:

lungime
Lungime scurtă a ferestrei în secunde, utilizată pentru măsurarea RMS de vârf și minim. Implicit este
0.05 (50 milisecunde). Intervalul permis este „[0.1 - 10]”.

metadate
Setați injectarea metadatelor. Toate cheile de metadate sunt prefixate cu „lavfi.astats.X”,
unde „X” este numărul canalului care începe de la 1 sau șirul „Overall”. Implicit este dezactivat.

Cheile disponibile pentru fiecare canal sunt: ​​DC_offset Min_level Max_level Min_difference
Diferența_max. Diferența_medie Nivelul_vârf RMS_peak RMS_trough Factor_crest Factor_plat
Peak_count Bit_depth

și pentru Overall: DC_offset Min_level Max_level Min_difference Max_difference
Mean_difference Peak_level RMS_level RMS_peak RMS_trough Factor_plat Peak_count
Adâncime_biți Număr_de_probele

De exemplu, cheia completă arată așa „lavfi.astats.1.DC_offset” sau acesta
„lavfi.astats.Overall.Peak_count”.

Pentru descriere ce înseamnă fiecare cheie, citiți mai jos.

reseta
Setați numărul de cadre după care statisticile vor fi recalculate. Implicit este
dezactivat.

Urmează o descriere a fiecărui parametru afișat:

DC compensa
Deplasarea medie a amplitudinii de la zero.

Min nivel
Nivel minim de probă.

max nivel
Nivelul maxim al probei.

Min diferenţă
Diferență minimă între două mostre consecutive.

max diferenţă
Diferența maximă între două probe consecutive.

medie diferenţă
Diferența medie între două probe consecutive. Media fiecărei diferențe
între două mostre consecutive.

Vârf nivel dB
RMS nivel dB
Vârf standard și nivel RMS măsurat în dBFS.

RMS vârf dB
RMS jgheab dB
Valorile maxime și minime pentru nivelul RMS măsurate pe o fereastră scurtă.

coamă factor
Raportul standard dintre vârf și nivelul RMS (notă: nu în dB).

Plat factor
Planeitatea (adică mostre consecutive cu aceeași valoare) a semnalului la vârf
niveluri (adică fie Min nivel or max nivel).

Vârf conta
Numărul de ocazii (nu numărul de eșantioane) în care a atins semnalul Min
nivel or max nivel.

Pic adâncime
Adâncimea generală de biți a sunetului. Numărul de biți utilizați pentru fiecare probă.

astreamsync
Redirecționați două fluxuri audio și controlați ordinea în care sunt transmise bufferele.

Filtrul acceptă următoarele opțiuni:

expr, e
Setați expresia decizând ce flux trebuie redirecționat în continuare: dacă rezultatul este
negativ, primul flux este transmis; dacă rezultatul este pozitiv sau zero, al doilea
fluxul este transmis. Poate folosi următoarele variabile:

b1 b2
numărul de buffer-uri transmise până acum pe fiecare flux

s1 s2
numărul de mostre transmise până acum pe fiecare flux

t1 t2
marca temporală curentă a fiecărui flux

Valoarea implicită este „t1-t2”, ceea ce înseamnă să redirecționați întotdeauna fluxul care are a
marca temporală mai mică.

Exemple

Testul de stres „amerge” prin trimiterea aleatorie a bufferelor pe intrarea greșită, evitând în același timp
o mare desincronizare:

amovie=file.ogg [a] ; amovie=file.mp3 [b] ;
[a] [b] astreamsync=(2*aleator(1))-1+tanh(5*(t1-t2)) [a2] [b2] ;
[a2] [b2] amerge

asincrone
Sincronizați datele audio cu marcajele de timp prin strângerea/întinderea și/sau scăparea acestora
mostre/adăugând tăcere atunci când este necesar.

Acest filtru nu este construit implicit, vă rugăm să utilizați sunt eșantion a face strângere/întindere.

Acceptă următorii parametri:

compensa
Activați extinderea/strângerea datelor pentru a le face să se potrivească cu marcajele de timp. Dezactivat de
Mod implicit. Când este dezactivat, intervalele de timp sunt acoperite cu tăcere.

min_delta
Diferența minimă dintre marcajele de timp și datele audio (în secunde) de declanșat
adăugarea/eliminarea mostrelor. Valoarea implicită este 0.1. Dacă obțineți o sincronizare imperfectă cu
acest filtru, încercați să setați acest parametru la 0.

max_comp
Compensarea maximă în mostre pe secundă. Relevant doar cu compensate=1. The
valoarea implicită este 500.

primul_pt
Să presupunem că primul PTS ar trebui să fie această valoare. Baza de timp este 1 / rata de eșantionare. Acest
permite umplutura/tunderea la începutul fluxului. În mod implicit, nu există nicio presupunere
realizat în jurul valorii PTS așteptate pentru primul cadru, deci nu se face nicio umplutură sau tăiere. Pentru
de exemplu, acesta ar putea fi setat la 0 pentru a completa începutul cu tăcere în cazul unui flux audio
începe după fluxul video sau pentru a tăia orice eșantioane cu un PTS negativ din cauza
întârziere codificatorului.

atempo
Reglați tempo-ul audio.

Filtrul acceptă exact un parametru, tempo-ul audio. Dacă nu este specificat, atunci
filtrul va presupune un tempo nominal de 1.0. Tempo trebuie să fie în intervalul [0.5, 2.0].

Exemple

· Încetiniți sunetul la 80% tempo:

atempo=0.8

· Pentru a accelera sunetul la 125% tempo:

atempo=1.25

atrim
Tăiați intrarea astfel încât ieșirea să conțină o subparte continuă a intrării.

Acceptă următorii parametri:

Începe
Marca temporală (în secunde) a începutului secțiunii de păstrat. Adică proba audio cu
marca temporală Începe va fi primul eșantion din ieșire.

capăt Specificați ora primului eșantion audio care va fi aruncat, adică proba audio
imediat anterior celui cu marca temporală capăt va fi ultima mostră din
ieșire.

start_pts
La fel ca Începe, cu excepția faptului că această opțiune setează marcajul de timp de început în mostre în loc de
secunde.

end_pts
La fel ca capăt, cu excepția că această opțiune setează marcajul de timp de sfârșit în mostre în loc de secunde.

durată
Durata maximă a ieșirii în secunde.

start_sample
Numărul primului eșantion care ar trebui să fie scos.

end_sample
Numărul primului eșantion care ar trebui abandonat.

Începe, capăt, și durată sunt exprimate ca specificații de durată de timp; vedea il Timp
durată secțiune in il ffmpeg-utils(1) manual.

Rețineți că primele două seturi de opțiuni de început/sfârșit și durată opțiunea uită-te la
marca temporală a cadrului, în timp ce opțiunile _sample pur și simplu numără mostrele care trec prin
filtru. Deci start/end_pts și start/end_sample vor da rezultate diferite atunci când
marcajele temporale sunt greșite, inexacte sau nu încep de la zero. De asemenea, rețineți că acest filtru nu
modificați marcajele de timp. Dacă doriți ca marcajele de timp de ieșire să înceapă de la zero, introduceți
asetpts filtru după filtrul atrim.

Dacă sunt setate mai multe opțiuni de început sau de sfârșit, acest filtru încearcă să fie lacom și să păstreze toate
eșantioane care se potrivesc cu cel puțin una dintre constrângerile specificate. Pentru a păstra doar partea care
se potrivește simultan cu toate constrângerile, conectează mai multe filtre atrim.

Valorile implicite sunt astfel încât toate intrările să fie păstrate. Deci, este posibil să setați, de exemplu, doar
valori finale pentru a păstra totul înainte de ora specificată.

Exemple:

· Eliminați totul, cu excepția celui de-al doilea minut de intrare:

ffmpeg -i INPUT -af atrim=60:120

· Păstrați numai primele 1000 de mostre:

ffmpeg -i INPUT -af atrim=end_sample=1000

bandpass
Aplicați un filtru trece-bandă Butterworth cu doi poli cu frecvență centrală frecvenţă, și
(3dB-punct) lățimea de bandă. The CSG opțiunea selectează un câștig constant al fustei (câștig maxim =
Q) în loc de implicit: câștig de vârf constant de 0dB. Filtrul se dezactivează la 6 dB pe octava
(20dB pe deceniu).

Filtrul acceptă următoarele opțiuni:

frecvență, f
Setați frecvența centrală a filtrului. Implicit este 3000.

CSG Câștig de fustă constant dacă este setat la 1. Implicit la 0.

width_type
Setați metoda pentru a specifica lățimea de bandă a filtrului.

h Hz

q Factorul Q

o octavă

s pantă

lățime, w
Specificați lățimea de bandă a unui filtru în unități width_type.

bandreject
Aplicați un filtru de respingere a benzii Butterworth cu doi poli cu frecvență centrală frecvenţă, și
(3dB-punct) lățime de bandă lățime. Filtrul se dezactivează la 6dB pe octava (20dB pe deceniu).

Filtrul acceptă următoarele opțiuni:

frecvență, f
Setați frecvența centrală a filtrului. Implicit este 3000.

width_type
Setați metoda pentru a specifica lățimea de bandă a filtrului.

h Hz

q Factorul Q

o octavă

s pantă

lățime, w
Specificați lățimea de bandă a unui filtru în unități width_type.

bas
Măriți sau reduceți frecvențele joase (inferioare) ale sunetului folosind un filtru de rafturi cu doi poli
cu un răspuns similar cu cel al controalelor de ton ale unui hi-fi standard. Acest lucru este cunoscut și ca
egalizare pe rafturi (EQ).

Filtrul acceptă următoarele opțiuni:

câștiga, g
Dați câștigul la 0 Hz. Intervalul său util este de aproximativ -20 (pentru o tăietură mare) până la +20 (pentru a
impuls mare). Atenție la tăiere atunci când utilizați un câștig pozitiv.

frecvență, f
Setați frecvența centrală a filtrului și astfel poate fi folosit pentru a extinde sau reduce
intervalul de frecvență care urmează să fie mărit sau redus. Valoarea implicită este 100 Hz.

width_type
Setați metoda pentru a specifica lățimea de bandă a filtrului.

h Hz

q Factorul Q

o octavă

s pantă

lățime, w
Determinați cât de abruptă este tranziția raftului filtrului.

biquad
Aplicați un filtru biquad IIR cu coeficienții dați. Unde b0, b1, b2 și a0, a1, a2
sunt coeficienții numărătorului și, respectiv, numitorului.

bs2b
Transformare Bauer stereo în binaurală, care îmbunătățește ascultarea stereo la căști
înregistrări audio.

Acceptă următorii parametri:

profil
Nivel de alimentare încrucișat predefinit.

lipsă
Nivel implicit (fcut=700, feed=50).

cmoy
Circuit Chu Moy (fcut=700, feed=60).

jmeier
Circuit Jan Meier (fcut=650, feed=95).

fcut
Frecvența de tăiere (în Hz).

hrăni
Nivel de alimentare (în Hz).

harta canalelor
Remapează canalele de intrare în locații noi.

Acceptă următorii parametri:

channel_layout
Aspectul canalului fluxului de ieșire.

Hartă Hartă canalele de la intrare la ieșire. Argumentul este o listă de mapări separate de „|”,
fiecare în "canal_in_canal-canal_out" or în_canal formular. în_canal poate fi fie
numele canalului de intrare (de ex. FL pentru partea din față stânga) sau indexul acestuia în canalul de intrare
aspect. canal_out este numele canalului de ieșire sau indexul acestuia în ieșire
aspectul canalului. Dacă canal_out nu este dat atunci este implicit un index, pornind
cu zero și crescând cu unu pentru fiecare mapare.

Dacă nu este prezentă nicio mapare, filtrul va mapa implicit canalele de intrare la ieșire
canale, păstrând indici.

De exemplu, presupunând un fișier MOV de intrare 5.1+downmix,

ffmpeg -i in.mov -filter 'channelmap=map=DL-FL|DR-FR' out.wav

va crea un fișier WAV de ieșire etichetat ca stereo din canalele de downmix ale intrării.

Pentru a remedia un WAV 5.1 codificat incorect în ordinea canalului nativ AAC

ffmpeg -i in.wav -filter 'channelmap=1|2|0|5|3|4:5.1' out.wav

channelsplit
Împărțiți fiecare canal dintr-un flux audio de intrare într-un flux de ieșire separat.

Acceptă următorii parametri:

channel_layout
Aspectul canalului fluxului de intrare. Valoarea implicită este „stereo”.

De exemplu, presupunând un fișier MP3 de intrare stereo,

ffmpeg -i in.mp3 -filter_complex ChannelSplit Out.MKV

va crea un fișier Matroska de ieșire cu două fluxuri audio, unul care conține doar cel din stânga
canalul iar celălalt canalul potrivit.

Împărțiți un fișier WAV 5.1 în fișiere pe canal:

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]'
lateral_dreapta.wav

cor
Adăugați un efect de refren la sunet.

Poate scoate un singur sunet vocal ca un refren, dar poate fi aplicat și instrumentației.

Chorus seamănă cu un efect de ecou cu o întârziere scurtă, dar în timp ce cu ecou, ​​întârzierea este
constantă, cu cor, se variază folosind modulația sinusoidală sau triunghiulară. The
adâncimea modulației definește intervalul în care întârzierea modulată este redată înainte sau după
întârziere. Prin urmare, sunetul întârziat va suna mai lent sau mai repede, adică sunetul întârziat
reglat în jurul celui original, ca într-un refren în care unele voci sunt ușor deplasate.

Acceptă următorii parametri:

in_castig
Setați câștigul de intrare. Implicit este 0.4.

out_gain
Setați câștigul de ieșire. Implicit este 0.4.

întârzieri
Setați întârzieri. O întârziere tipică este de aproximativ 40 ms până la 60 ms.

se descompune
Setați degradari.

viteze
Setați viteze.

adâncimi
Setați adâncimi.

Exemple

· O singură întârziere:

chorus=0.7:0.9:55:0.4:0.25:2

· Două întârzieri:

chorus=0.6:0.9:50|60:0.4|0.32:0.25|0.4:2|1.3

· Refren cu sunet mai plin cu trei întârzieri:

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

compand
Comprimați sau extindeți intervalul dinamic al sunetului.

Acceptă următorii parametri:

Atacurile
se descompune
O listă de ori în secunde pentru fiecare canal peste care nivelul instantaneu al
Se face o medie a semnalului de intrare pentru a determina volumul acestuia. Atacurile se referă la creșterea volumului
și se descompune se referă la scăderea volumului. Pentru majoritatea situațiilor, timpul de atac
(răspunsul la sunetul care devine mai puternic) ar trebui să fie mai scurt decât timpul de dezintegrare, deoarece
urechea umană este mai sensibilă la sunetul tare brusc decât sunetul moale brusc. Un tipic
valoarea pentru atac este de 0.3 secunde și o valoare tipică pentru dezintegrare este de 0.8 secunde. Dacă
numărul specificat de atacuri și decaderi este mai mic decât numărul de canale, ultimul set
atacul/degradarea va fi folosit pentru toate canalele rămase.

puncte
O listă de puncte pentru funcția de transfer, specificate în dB raportat la maxim
amplitudinea posibilă a semnalului. Fiecare listă de puncte cheie trebuie definită folosind următoarele
sintaxă: „x0/y0|x1/y1|x2/y2|....” sau „x0/y0 x1/y1 x2/y2 ....”

Valorile de intrare trebuie să fie în ordine strict crescătoare, dar funcția de transfer o face
nu trebuie să fie monoton în creștere. Se presupune punctul „0/0”, dar poate fi suprascris
(prin „0/out-dBn”). Valorile tipice pentru funcția de transfer sunt „-70/-70|-60/-20”.

genunchi moale
Setați raza curbei în dB pentru toate îmbinările. Este implicit la 0.01.

câştig
Setați câștigul suplimentar în dB pentru a fi aplicat în toate punctele funcției de transfer.
Acest lucru permite ajustarea ușoară a câștigului general. Este implicit la 0.

volum
Setați un volum inițial, în dB, care să fie presupus pentru fiecare canal când începe filtrarea.
Acest lucru permite utilizatorului să furnizeze inițial un nivel nominal, astfel încât, de exemplu, a
amplificarea foarte mare nu este aplicată nivelurilor inițiale ale semnalului înainte ca compresia să aibă
a inceput sa functioneze. O valoare tipică pentru sunetul care este inițial silențios este -90 dB. Aceasta
implicit la 0.

întârziere
Setați o întârziere, în secunde. Sunetul de intrare este analizat imediat, dar sunetul este întârziat
înainte de a fi alimentat la reglatorul de volum. Specificând o întârziere aproximativ egală cu
timpii de atac/decădere permit filtrului să funcționeze eficient în predicție, mai degrabă decât
modul reactiv. Este implicit la 0.

Exemple

· Faceți muzică atât cu pasaje liniștite, cât și zgomotoase, potrivite pentru ascultare într-un mediu zgomotos
mediu inconjurator:

compand=.3|.3:1|1:-90/-60|-60/-40|-40/-30|-20/-20:6:0:-90:0.2

Un alt exemplu de sunet cu piese de șoaptă și explozie:

compand=0|0:1|1:-90/-900|-70/-70|-30/-9|0/-3:6:0:0:0

· O poartă de zgomot pentru când zgomotul este la un nivel mai scăzut decât semnalul:

compand=.1|.1:.2|.2:-900/-900|-50.1/-900|-50/-50:.01:0:-90:.1

· Iată o altă poartă de zgomot, de data aceasta pentru când zgomotul este la un nivel mai înalt decât cel
semnal (făcându-l, în anumite privințe, similar cu squelch-ul):

compand=.1|.1:.1|.1:-45.1/-45.1|-45/-900|0/-900:.01:45:-90:.1

dcshift
Aplicați o schimbare DC la sunet.

Acest lucru poate fi util pentru a elimina un offset DC (cauzat probabil de o problemă hardware în
lanț de înregistrare) din audio. Efectul unui offset DC este un spațiu redus și, prin urmare
volum. The astats filtrul poate fi folosit pentru a determina dacă un semnal are un offset DC.

schimbare
Setați schimbarea DC, intervalul permis este [-1, 1]. Indică cantitatea de mutat
Audio.

limitator de câștig
Opțional. Ar trebui să aibă o valoare mult mai mică decât 1 (de ex. 0.05 sau 0.02) și este folosit pentru
previne tăierea.

dynaudnorm
Normalizator audio dinamic.

Acest filtru aplică o anumită cantitate de câștig la sunetul de intrare pentru a-și aduce vârful
magnitudinea la un nivel țintă (de exemplu, 0 dBFS). Cu toate acestea, spre deosebire de mai „simplu”
algoritmi de normalizare, Dynamic Audio Normalizer *dinamic* reajustează câștigul
factor la intrarea audio. Acest lucru permite aplicarea unui câștig suplimentar la secțiunile „liniștite” ale
audio, evitând în același timp distorsiunile sau tăierea secțiunilor „tare”. Cu alte cuvinte: The
Dynamic Audio Normalizer va „uniformiza” volumul secțiunilor silențioase și zgomotoase, în
simt că volumul fiecărei secțiuni este adus la același nivel țintă. Rețineți, totuși,
că Dynamic Audio Normalizer atinge acest obiectiv *fără* să aplice „interval dinamic
comprimarea". Va reține 100% din intervalul dinamic *în cadrul* fiecărei secțiuni a audio
fișier.

f Setați lungimea cadrului în milisecunde. Într-un interval de la 10 la 8000 milisecunde. Mod implicit
este de 500 milisecunde. Normalizatorul audio dinamic procesează sunetul de intrare în format mic
bucăți, denumite rame. Acest lucru este necesar, deoarece o magnitudine de vârf are nu
însemnând doar o singură valoare eșantion. În schimb, trebuie să determinăm vârful
magnitudinea pentru o secvență adiacentă de valori ale eșantionului. În timp ce un normalizator „standard”.
ar folosi pur și simplu mărimea maximă a fișierului complet, Dynamic Audio Normalizer
determină mărimea vârfului individual pentru fiecare cadru. Lungimea unui cadru este
specificat în milisecunde. În mod implicit, Dynamic Audio Normalizer utilizează un cadru
lungime de 500 de milisecunde, care s-a dovedit a da rezultate bune cu majoritatea fișierelor.
Rețineți că lungimea exactă a cadrului, în număr de mostre, va fi determinată
automat, pe baza ratei de eșantionare a fișierului audio de intrare individual.

g Setați dimensiunea ferestrei filtrului Gaussian. În intervalul de la 3 la 301, trebuie să fie un număr impar.
Implicit este 31. Probabil cel mai important parametru al Dynamic Audio Normalizer
este „dimensiunea ferestrei” a filtrului de netezire gaussian. Dimensiunea ferestrei filtrului este
specificate în cadre, centrate în jurul cadrului curent. De dragul simplitatii,
acesta trebuie să fie un număr impar. În consecință, valoarea implicită de 31 ia în considerare
cadrul curent, precum și cele 15 cadre precedente și cele 15 cadre ulterioare.
Folosirea unei ferestre mai mari are ca rezultat un efect de netezire mai puternic și, prin urmare, un câștig mai mic
variație, adică adaptare mai lentă a câștigului. În schimb, utilizarea unei ferestre mai mici are ca rezultat
un efect de netezire mai slab și astfel într-o variație mai mare a câștigului, adică câștig mai rapid
adaptare. Cu alte cuvinte, cu cât creșteți mai mult această valoare, cu atât este mai dinamică
Normalizatorul audio se va comporta ca un filtru de normalizare „tradițional”. Pe
dimpotrivă, cu cât scădeți mai mult această valoare, cu atât va fi mai mult Dynamic Audio Normalizer
se comportă ca un compresor cu gamă dinamică.

p Setați valoarea maximă țintă. Acesta specifică cel mai înalt nivel de magnitudine permis pentru
intrarea audio normalizată. Acest filtru va încerca să se apropie de magnitudinea maximă țintă
cât mai aproape posibil, dar în același timp se asigură și că se normalizează
semnalul nu va depăși niciodată amplitudinea de vârf. Factorul maxim de câștig local al unui cadru este
impusă direct de mărimea vârfului țintă. Valoarea implicită este 0.95 și astfel
lasă un spațiu liber de 5%*. Nu este recomandat să treceți peste această valoare.

m Setați factorul de câștig maxim. În intervalul de la 1.0 la 100.0. Implicit este 10.0. Dinamica
Audio Normalizer determină factorul de câștig maxim posibil (local) pentru fiecare intrare
cadru, adică factorul de câștig maxim care nu are ca rezultat tăierea sau distorsiunea.
Factorul de câștig maxim este determinat de eșantionul de cea mai mare magnitudine a cadrului.
Cu toate acestea, Dynamic Audio Normalizer limitează suplimentar câștigul maxim al cadrului
factor de un factor de câștig maxim predeterminat (global). Acest lucru se face pentru a evita
factori de câștig excesiv în cadre „silențioase” sau aproape silentioase. Implicit, maximul
factorul de câștig este 10.0, pentru majoritatea intrărilor, valoarea implicită ar trebui să fie suficientă și aceasta
de obicei nu se recomandă creșterea acestei valori. Cu toate acestea, pentru intrare cu un extrem
nivel scăzut al volumului general, poate fi necesar să se permită factori de câștig și mai mari. Notă,
totuși, că Dynamic Audio Normalizer nu aplică pur și simplu un prag „dur”.
(adică valori tăiate peste prag). În schimb, o funcție de prag „sigmoid”.
va fi aplicat. În acest fel, factorii de câștig se vor apropia fără probleme de prag
valoare, dar nu depășește niciodată această valoare.

r Setați valoarea RMS țintă. În intervalul de la 0.0 la 1.0. Implicit este 0.0 - dezactivat. În mod implicit,
Normalizatorul audio dinamic efectuează normalizarea „de vârf”. Aceasta înseamnă că
factorul maxim de câștig local pentru fiecare cadru este definit (numai) de cel mai mare cadru
eșantion de magnitudine. În acest fel, probele pot fi amplificate cât mai mult posibil fără
depășirea nivelului maxim de semnal, adică fără clipping. Opțional, totuși,
Dynamic Audio Normalizer poate lua în considerare și rădăcina pătrată medie a cadrului,
RMS prescurtat. În inginerie electrică, RMS este utilizat în mod obișnuit pentru a determina
puterea unui semnal care variază în timp. Prin urmare, se consideră că RMS este mai bun
o aproximare a „puterniciei percepute” decât doar a privi vârful semnalului
magnitudinea. În consecință, prin ajustarea tuturor cadrelor la o valoare RMS constantă, o uniformă
se poate stabili „puterea percepută”. Dacă a fost specificată o valoare RMS țintă, a
factorul de câștig local al cadrului este definit ca factorul care ar avea ca rezultat exact asta
Valoarea RMS. Rețineți, totuși, că factorul maxim de câștig local este încă limitat de
eșantionul de cea mai mare magnitudine a cadrului, pentru a preveni tăierea.

n Activați cuplarea canalelor. În mod implicit, este activat. În mod implicit, Dynamic Audio
Normalizatorul va amplifica toate canalele cu aceeași cantitate. Aceasta înseamnă același câștig
factorul va fi aplicat tuturor canalelor, adică factorul de câștig maxim posibil este
determinat de canalul „cel mai tare”. Cu toate acestea, în unele înregistrări, se poate întâmpla ca
volumul diferitelor canale este neuniform, de exemplu, un canal poate fi „mai liniștit” decât
ceilalti). În acest caz, această opțiune poate fi folosită pentru a dezactiva canalul
cuplare. În acest fel, factorul de câștig va fi determinat independent pentru fiecare canal,
în funcție doar de eșantionul de cea mai mare magnitudine a canalului individual. Acest lucru permite
armonizarea volumului diferitelor canale.

c Activați corecția de polarizare DC. Implicit este dezactivat. Un semnal audio (în timp
domeniu) este o secvență de valori ale eșantionului. În Dynamic Audio Normalizer aceste mostre
valorile sunt reprezentate în intervalul de la -1.0 la 1.0, indiferent de intrarea inițială
format. În mod normal, semnalul audio, sau „forma de undă”, ar trebui să fie centrat în jurul zero
punct. Asta înseamnă că dacă calculăm valoarea medie a tuturor mostrelor dintr-un fișier sau dintr-un
un singur cadru, atunci rezultatul ar trebui să fie 0.0 sau cel puțin foarte aproape de acea valoare. Dacă,
cu toate acestea, există o abatere semnificativă a valorii medii de la 0.0, în oricare dintre acestea
direcție pozitivă sau negativă, aceasta este denumită polarizare DC sau offset DC. De când a
Polarizarea DC este în mod clar nedorită, Normalizatorul audio dinamic oferă polarizarea DC opțională
corecţie. Cu corecția de polarizare DC activată, Normalizatorul audio dinamic o va face
determinați valoarea medie, sau offset-ul „corecției DC”, a fiecărui cadru de intrare și scădeți
acea valoare din toate valorile eșantionului cadrului care asigură că acele mostre sunt
centrat în jurul valorii de 0.0 din nou. De asemenea, pentru a evita „golurile” la limitele cadrului, cel
Valorile de offset ale corecției DC vor fi interpolate fără probleme între cadrele învecinate.

b Activați modul de delimitare alternativ. Implicit este dezactivat. Audio dinamic
Normalizatorul ține cont de o anumită vecinătate în jurul fiecărui cadru. Aceasta include
cadrele precedente precum și cadrele ulterioare. Cu toate acestea, pentru „limită”
cadre, situate chiar la începutul și la sfârșitul fișierului audio, nu toate
sunt disponibile rame învecinate. În special, pentru primele câteva cadre din
fișier audio, cadrele precedente nu sunt cunoscute. Și, la fel, pentru ultimii
cadre din fișierul audio, cadrele ulterioare nu sunt cunoscute. Astfel, întrebarea
apare care factori de câștig ar trebui să fie presupuși pentru cadrele lipsă din „limită”
regiune. Normalizatorul audio dinamic implementează două moduri pentru a face față acestei situații.
Modul de limită implicit presupune un factor de câștig de exact 1.0 pentru cadrele lipsă,
rezultând o „fade in” și „fade out” lină la începutul și la sfârșitul
de intrare, respectiv.

s Setați factorul de comprimare. În intervalul de la 0.0 la 30.0. Implicit este 0.0. În mod implicit,
Dynamic Audio Normalizer nu aplică compresie „tradițională”. Aceasta înseamnă că
vârfurile de semnal nu vor fi tăiate și astfel se va păstra întregul interval dinamic
în cadrul fiecărui cartier local. Cu toate acestea, în unele cazuri, poate fi de dorit să se combine
algoritmul de normalizare al Dynamic Audio Normalizer cu un aspect mai „tradițional”
comprimare. În acest scop, Dynamic Audio Normalizer oferă un opțional
funcția de compresie (de prag). Dacă (și numai dacă) caracteristica de compresie este
activat, toate cadrele de intrare vor fi procesate de o funcție de prag moale a genunchiului înainte
la procesul propriu-zis de normalizare. Mai simplu spus, funcția de prag va fi
tăiați toate probele a căror magnitudine depășește o anumită valoare de prag. Însă
Dynamic Audio Normalizer nu aplică pur și simplu o valoare de prag fixă. În schimb, cel
valoarea pragului va fi ajustată pentru fiecare cadru individual. În general, mai mic
parametrii au ca rezultat o compresie mai puternică și invers. Valorile sub 3.0 nu sunt
recomandat, deoarece poate apărea o distorsiune sonoră.

cerumen
Faceți sunetul mai ușor de ascultat la căști.

Acest filtru adaugă „indicii” la sunetul stereo de 44.1 kHz (adică format audio CD), astfel încât atunci când
ascultată la căști, imaginea stereo este mutată din interiorul capului (standard pentru
căști) în exterior și în fața ascultătorului (standard pentru difuzoare).

Portat de la SoX.

egalizator
Aplicați un filtru bipolar de egalizare a vârfului (EQ). Cu acest filtru, nivelul semnalului la
și în jurul unei frecvențe selectate pot fi mărite sau micșorate, în timp ce (spre deosebire de bandpass și
filtre de respingere a benzii) care la toate celelalte frecvențe este neschimbată.

Pentru a produce curbe de egalizare complexe, acest filtru poate fi dat de mai multe ori,
fiecare cu o frecvență centrală diferită.

Filtrul acceptă următoarele opțiuni:

frecvență, f
Setați frecvența centrală a filtrului în Hz.

width_type
Setați metoda pentru a specifica lățimea de bandă a filtrului.

h Hz

q Factorul Q

o octavă

s pantă

lățime, w
Specificați lățimea de bandă a unui filtru în unități width_type.

câștiga, g
Setați câștigul sau atenuarea necesară în dB. Atenție la tăiere atunci când utilizați un pozitiv
câștiga.

Exemple

· Atenuați 10 dB la 1000 Hz, cu o lățime de bandă de 200 Hz:

egalizator=f=1000:width_type=h:width=200:g=-10

· Aplicați un câștig de 2 dB la 1000 Hz cu Q 1 și atenuați 5 dB la 100 Hz cu Q 2:

equalizer=f=1000:width_type=q:width=1:g=2,equalizer=f=100:width_type=q:width=2:g=-5

Flanger
Aplicați un efect de flanging la sunet.

Filtrul acceptă următoarele opțiuni:

întârziere
Setați întârzierea de bază în milisecunde. Interval de la 0 la 30. Valoarea implicită este 0.

adâncime
Setați întârzierea de baleiaj adăugată în milisecunde. Interval de la 0 la 10. Valoarea implicită este 2.

Regen
Setați regenerarea procentuală (feedback de semnal întârziat). Interval de la -95 la 95. Implicit
valoarea este 0.

lățime
Setați procentajul semnalului întârziat amestecat cu originalul. Interval de la 0 la 100. Implicit
valoarea este 71.

viteză
Setați sweep-uri pe secundă (Hz). Interval de la 0.1 la 10. Valoarea implicită este 0.5.

forma
Setați forma de undă măturată, poate fi triunghiular or sinusoidal. Valoarea implicită este sinusoidal.

fază
Setați deplasarea procentuală a undei măturate pentru mai multe canale. Interval de la 0 la 100. Valoare implicită
este 25.

interp
Setați interpolarea liniei de întârziere, liniar or pătratic. Implicit este liniar.

trecere inalta
Aplicați un filtru trece-înalt cu o frecvență punctuală de 3 dB. Filtrul poate fi fie unipolar,
sau bipolar (implicit). Filtrul se dezactivează la 6dB per pol pe octava (20dB per
pol pe deceniu).

Filtrul acceptă următoarele opțiuni:

frecvență, f
Setați frecvența în Hz. Implicit este 3000.

stalpi, p
Setați numărul de poli. Implicit este 2.

width_type
Setați metoda pentru a specifica lățimea de bandă a filtrului.

h Hz

q Factorul Q

o octavă

s pantă

lățime, w
Specificați lățimea de bandă a unui filtru în unități width_type. Se aplică numai la poli dublu
filtru. Valoarea implicită este 0.707q și oferă un răspuns Butterworth.

alătura
Uniți mai multe fluxuri de intrare într-un flux multicanal.

Acceptă următorii parametri:

intrări
Numărul de fluxuri de intrare. Este implicit la 2.

channel_layout
Aspectul dorit al canalului de ieșire. Este implicit la stereo.

Hartă Hartați canalele de la intrări la ieșiri. Argumentul este o listă de mapări separate de „|”,
fiecare în "input_idx.in_channel-out_channel" formular. input_idx este indicele bazat pe 0 al
fluxul de intrare. în_canal poate fi fie numele canalului de intrare (de exemplu FL pentru
față stânga) sau indexul acestuia în fluxul de intrare specificat. canal_out este numele
canal de ieșire.

Filtrul va încerca să ghicească mapările atunci când acestea nu sunt specificate în mod explicit. Aceasta
face acest lucru încercând mai întâi să găsească un canal de intrare potrivit nefolosit și dacă nu reușește
alege primul canal de intrare neutilizat.

Uniți 3 intrări (cu dispoziții de canal setate corespunzător):

ffmpeg -i INPUT1 -i INPUT2 -i INPUT3 -filter_complex join=inputs=3 OUTPUT

Creați o ieșire 5.1 din 6 fluxuri cu un singur canal:

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'
afară

ladspa
Încărcați un plugin LADSPA (Linux Audio Developer's Simple Plugin API).

Pentru a activa compilarea acestui filtru, trebuie să configurați FFmpeg cu „--enable-ladspa”.

fişier, f
Specifică numele bibliotecii de plugin-uri LADSPA de încărcat. Dacă variabila de mediu
LADSPA_PATH este definit, pluginul LADSPA este căutat în fiecare dintre directoare
specificate de lista cu două puncte separate în LADSPA_PATH, altfel în LADSPA standard
căi, care sunt în această ordine: HOME/.ladspa/lib/, /usr/local/lib/ladspa/,
/usr/lib/ladspa/.

plugin, p
Specifică pluginul din bibliotecă. Unele biblioteci conțin un singur plugin, dar
altele conțin multe dintre ele. Dacă nu este setat, filtrul va lista toate pluginurile disponibile
în cadrul bibliotecii specificate.

controale, c
Setați „|” listă separată de controale care sunt zero sau mai multe valori în virgulă mobilă
care determină comportamentul pluginului încărcat (de exemplu întârziere, prag sau
câştig). Controalele trebuie definite folosind următoarea sintaxă:
c0=valoare0|c1=valoare1|c2=valoare2|..., unde valorile este valoarea setată pe i- al-lea control.
If controale este setat la „ajutor”, toate controalele disponibile și intervalele lor valide sunt
imprimate.

rata simpla, s
Specificați rata de eșantionare, implicit la 44100. Folosit numai dacă pluginul nu are intrări.

nb_samples, n
Setați numărul de mostre pe canal pentru fiecare cadru de ieșire, implicit este 1024. Numai
folosit dacă pluginul nu are intrări.

durată, d
Setați durata minimă a sunetului sursă. Vedea il Timp durată secțiune in il
ffmpeg-utils(1) manual pentru sintaxa acceptată. Rețineți că durata rezultată poate
să fie mai mare decât durata specificată, deoarece sunetul generat este întotdeauna tăiat la
capătul unui cadru complet. Dacă nu este specificat sau durata exprimată este negativă,
audio ar trebui să fie generat pentru totdeauna. Folosit numai dacă pluginul nu are intrări.

Exemple

· Listați toate pluginurile disponibile din biblioteca amp (exemplu de plugin LADSPA):

ladspa=file=amp

· Listați toate controalele disponibile și intervalele lor valide pentru pluginul „vcf_notch” din „VCF”
bibliotecă:

ladspa=f=vcf:p=vcf_notch:c=help

· Simulați echipamente audio de calitate scăzută folosind pluginul „Computer Music Toolkit” (CMT).
bibliotecă:

ladspa=file=cmt:plugin=lofi:controls=c0=22|c1=12|c2=12

· Adăugați reverberație la sunet folosind pluginuri TAP (pluginuri Tom's Audio Processing):

ladspa=file=tap_reverb:tap_reverb

· Generați zgomot alb, cu 0.2 amplitudine:

ladspa=file=cmt:noise_source_white:c=c0=.2

· Generați clicuri de 20 bpm utilizând pluginul „C* Click - Metronome” din „C* Audio Plugin”
Biblioteca Suite" (CAPS):

ladspa=file=caps:Click:c=c1=20'

· Aplicați efectul „C* Eq10X2 - Egalizator stereo cu 10 benzi”:

ladspa=caps:Eq10X2:c=c0=-48|c9=-24|c3=12|c4=2

Comenzi

Acest filtru acceptă următoarele comenzi:

cN Modificați N-a valoare de control.

Dacă valoarea specificată nu este validă, aceasta este ignorată și se păstrează cea anterioară.

trece jos
Aplicați un filtru trece-jos cu o frecvență punctuală de 3 dB. Filtrul poate fi fie unipolar, fie
poli dublu (implicit). Filtrul se dezactivează la 6 dB pe pol pe octavă (20 dB pe pol
pe deceniu).

Filtrul acceptă următoarele opțiuni:

frecvență, f
Setați frecvența în Hz. Implicit este 500.

stalpi, p
Setați numărul de poli. Implicit este 2.

width_type
Setați metoda pentru a specifica lățimea de bandă a filtrului.

h Hz

q Factorul Q

o octavă

s pantă

lățime, w
Specificați lățimea de bandă a unui filtru în unități width_type. Se aplică numai la poli dublu
filtru. Valoarea implicită este 0.707q și oferă un răspuns Butterworth.

tigaie
Mixați canale cu niveluri de câștig specifice. Filtrul acceptă aspectul canalului de ieșire
urmată de un set de definiții de canale.

Acest filtru este, de asemenea, proiectat pentru a remapa eficient canalele unui flux audio.

Filtrul acceptă parametri de forma: "l|outdef|outdef|..."

l aspectul canalului de ieșire sau numărul de canale

outdef
specificația canalului de ieșire, sub forma:
"out_name=[câştig*]în_nume[+[câştig*]în_nume...]"

out_name
canal de ieșire de definit, fie un nume de canal (FL, FR, etc.) fie un număr de canal
(c0, c1 etc.)

câştig
coeficient multiplicativ pentru canal, 1 lăsând neschimbat volumul

în_nume
canal de intrare de utilizat, vezi out_name pentru detalii; nu se poate amesteca numit și
canale de intrare numerotate

Dacă `=' dintr-o specificație de canal este înlocuit cu `<', atunci câștigurile pentru asta
specificația va fi renormalizată astfel încât totalul să fie 1, evitându-se astfel zgomotul de tăiere.

Amestecarea exemple

De exemplu, dacă doriți să mixați în jos de la stereo la mono, dar cu un factor mai mare pentru
canalul din stânga:

pan=1c|c0=0.9*c0+0.1*c1

Un down-mix personalizat la stereo care funcționează automat pentru 3, 4, 5 și 7 canale
surround:

pan=stereo| FL < FL + 0.5*FC + 0.6*BL + 0.6*SL | FR < FR + 0.5*FC + 0.6*BR + 0.6*SR

Rețineți că FFMPEG integrează un sistem implicit de down-mix (și up-mix) care ar trebui să fie
preferat (vezi opțiunea „-ac”) cu excepția cazului în care aveți nevoi foarte specifice.

remapping exemple

Remaparea canalului va fi eficientă dacă și numai dacă:

*
*

Dacă toate aceste condiții sunt îndeplinite, filtrul va anunța utilizatorul („Canal pur
cartografierea detectată") și utilizați o metodă optimizată și fără pierderi pentru a efectua remaparea.

De exemplu, dacă aveți o sursă 5.1 și doriți un flux audio stereo, renunțând la extra
canale:

pan="stereo| c0=FL | c1=FR"

Având aceeași sursă, puteți, de asemenea, să comutați canalele față stânga și față dreapta și să păstrați
aspectul canalului de intrare:

pan="5.1| c0=c1 | c1=c0 | c2=c2 | c3=c3 | c4=c4 | c5=c5"

Dacă intrarea este un flux audio stereo, puteți dezactiva canalul din față stânga (și încă păstrați
aspectul canalului stereo) cu:

pan="stereo|c1=c1"

Încă cu o intrare de flux audio stereo, puteți copia canalul din dreapta în ambele părți din față stânga
si dreapta:

pan="stereo| c0=FR | c1=FR"

replaygain
Filtrul scanerului ReplayGain. Acest filtru preia un flux audio ca intrare și îl scoate la ieșire
neschimbat. La sfârșitul filtrării, afișează „track_gain” și „track_peak”.

reeșantionați
Convertiți formatul eșantionului audio, rata de eșantionare și aspectul canalului. Nu este menit să fie
folosit direct.

sidechaincompress
Acest filtru acționează ca un compresor normal, dar are capacitatea de a comprima semnalul detectat
folosind al doilea semnal de intrare. Are nevoie de două fluxuri de intrare și returnează un flux de ieșire.
Primul flux de intrare va fi procesat în funcție de al doilea semnal de flux. Cel filtrat
semnalul poate fi filtrat cu alte filtre în etapele ulterioare ale procesării. Vedea tigaie și
apari filtru.

Filtrul acceptă următoarele opțiuni:

prag
Dacă un semnal al celui de-al doilea flux crește peste acest nivel, va afecta reducerea câștigului
a primului flux. Implicit este 0.125. Intervalul este între 0.00097563 și 1.

raport
Setați un raport pentru care semnalul este redus. 1:2 înseamnă că dacă nivelul a crescut cu 4dB
peste prag, acesta va fi cu numai 2 dB peste prag după reducere. Implicit este 2.
Intervalul este între 1 și 20.

ataca
Cantitatea de milisecunde în care semnalul trebuie să se ridice peste pragul înainte de câștig
începe reducerea. Implicit este 20. Intervalul este între 0.01 și 2000.

eliberaţi
Cantitatea de milisecunde în care semnalul trebuie să scadă sub pragul înainte ca reducerea să fie
a scăzut din nou. Implicit este 250. Intervalul este între 0.01 și 9000.

machiaj
Setați cantitatea în funcție de cât de mult semnalul va fi amplificat după procesare. Implicit este 2.
Intervalul este de la 1 la 64.

genunchi
Curbați genunchiul ascuțit în jurul pragului pentru a intra mai ușor în reducerea câștigului.
Implicit este 2.82843. Intervalul este între 1 și 8.

legătură
Alegeți dacă nivelul „mediu” dintre toate canalele fluxului side-chain sau
canalul mai puternic ("maxim") al fluxului de lanț lateral afectează reducerea. Implicit este
"in medie".

detectare
Ar trebui să fie luat semnalul exact în caz de „vârf” sau unul RMS în cazul „rms”.
Implicit este „rms”, care este în principal mai lin.

Exemple

· Exemplu complet de ffmpeg cu 2 intrări audio, prima intrare care va fi comprimată în funcție de
semnalul celei de-a doua intrări și semnalul comprimat ulterior să fie îmbinat cu a doua intrare:

ffmpeg -i main.flac -i sidechain.flac -filter_complex „[1:a]asplit=2[sc][mix];[0:a][sc]sidechaincompress[compr];[compr][mix]amerge”

tăceredetect
Detectează tăcerea într-un flux audio.

Acest filtru înregistrează un mesaj atunci când detectează că volumul audio de intrare este mai mic sau egal cu
o valoare a toleranței la zgomot pe o durată mai mare sau egală cu zgomotul minim detectat
durată.

Timpul și durata tipărite sunt exprimate în secunde.

Filtrul acceptă următoarele opțiuni:

durată, d
Setați durata tăcerii până la notificare (implicit este de 2 secunde).

zgomot, n
Setați toleranța la zgomot. Poate fi specificat în dB (în cazul în care „dB” este adăugat la valoarea specificată
valoare) sau raportul de amplitudine. Implicit este -60dB sau 0.001.

Exemple

· Detectează 5 secunde de liniște cu toleranță la zgomot de -50 dB:

silencedetect=n=-50dB:d=5

· Exemplu complet cu FFMPEG pentru a detecta liniștea cu toleranță la zgomot de 0.0001 în
tăcere.mp3:

ffmpeg -i silence.mp3 -af silencedetect=zgomot=0.0001 -f null -

tăcereelimină
Eliminați tăcerea de la începutul, mijlocul sau sfârșitul audio.

Filtrul acceptă următoarele opțiuni:

start_periods
Această valoare este folosită pentru a indica dacă sunetul ar trebui să fie tăiat la începutul sunetului. A
valoarea zero indică că nicio tăcere nu trebuie tăiată de la început. Când
specificând o valoare diferită de zero, decupează sunetul până când găsește non-tăcere. În mod normal,
atunci când tăiați liniștea de la începutul audio start_periods va fi 1 dar se poate
să fie crescută la valori mai mari pentru a reduce tot sunetul până la un număr specific de non-tăcere
perioade. Valoarea implicită este 0.

start_duration
Specificați intervalul de timp în care trebuie detectată lipsa tăcerii înainte de a opri tăierea
audio. Prin creșterea duratei, exploziile de zgomote pot fi tratate ca liniște și
decupat. Valoarea implicită este 0.

prag_început
Aceasta indică valoarea eșantionului care trebuie tratată ca tăcere. Pentru audio digital, a
valoarea 0 poate fi în regulă, dar pentru sunetul înregistrat din analog, poate doriți să creșteți
valoarea pentru a lua în considerare zgomotul de fond. Poate fi specificat în dB (în cazul în care „dB” este
anexată la valoarea specificată) sau raportul de amplitudine. Valoarea implicită este 0.

stop_periods
Setați numărul pentru reducerea tăcerii de la sfârșitul audio. Pentru a elimina tăcerea din
mijlocul unui fișier, specificați a stop_periods asta este negativ. Această valoare este apoi tratată
ca valoare pozitivă și este folosit pentru a indica efectul ar trebui să repornească procesarea ca
specificat de start_periods, făcându-l potrivit pentru eliminarea perioadelor de liniște din
mijlocul audio. Valoarea implicită este 0.

stop_duration
Specificați o durată de tăcere care trebuie să existe înainte ca sunetul să nu mai fie copiat. De
specificând o durată mai mare, liniștea care se dorește poate fi lăsată în audio.
Valoarea implicită este 0.

stop_threshold
Aceasta este la fel ca prag_început dar pentru a tăia tăcerea de la sfârșitul audio.
Poate fi specificat în dB (în cazul în care „dB” este adăugat la valoarea specificată) sau amplitudine
raport. Valoarea implicită este 0.

lasa_tacere
Acest lucru indică faptul că stop_duration lungimea audio ar trebui lăsată intactă la
începutul fiecărei perioade de tăcere. De exemplu, dacă doriți să eliminați pauzele lungi
între cuvinte, dar nu doriți să eliminați complet pauzele. Valoarea implicită este 0.

Exemple

· Următorul exemplu arată cum acest filtru poate fi utilizat pentru a începe o înregistrare care o face
să nu conțină întârzierea la început care apare de obicei între apăsarea înregistrării
butonul și începerea spectacolului:

silenceremove=1:5:0.02

tripla
Măriți sau reduceți frecvențele înalte (superioare) ale sunetului folosind un filtru de rafturi cu doi poli cu
un răspuns similar cu cel al controalelor de ton ale unui hi-fi standard. Acest lucru este cunoscut și ca
egalizare pe rafturi (EQ).

Filtrul acceptă următoarele opțiuni:

câștiga, g
Dați câștigul la oricare dintre cele mai mici dintre ~22 kHz și frecvența Nyquist. Este
intervalul util este de aproximativ -20 (pentru o tăietură mare) până la +20 (pentru un impuls mare). Feriți-vă de
tăiere atunci când utilizați un câștig pozitiv.

frecvență, f
Setați frecvența centrală a filtrului și astfel poate fi folosit pentru a extinde sau reduce
intervalul de frecvență care urmează să fie mărit sau redus. Valoarea implicită este 3000 Hz.

width_type
Setați metoda pentru a specifica lățimea de bandă a filtrului.

h Hz

q Factorul Q

o octavă

s pantă

lățime, w
Determinați cât de abruptă este tranziția raftului filtrului.

volum
Reglați volumul audio de intrare.

Acceptă următorii parametri:

volum
Setați expresia volumului audio.

Valorile de ieșire sunt tăiate la valoarea maximă.

Volumul audio de ieșire este dat de relația:

= *

Valoarea implicită pentru volum este „1.0”.

precizie
Acest parametru reprezintă precizia matematică.

Determină ce formate de eșantion de intrare vor fi permise, ceea ce afectează precizia
a scalarii volumului.

fixată
virgulă fixă ​​pe 8 biți; aceasta limitează formatul eșantionului de intrare la U8, S16 și S32.

pluti
virgulă mobilă pe 32 de biți; aceasta limitează formatul eșantionului de intrare la FLT. (Mod implicit)

dubla
virgulă mobilă pe 64 de biți; aceasta limitează formatul eșantionului de intrare la DBL.

replaygain
Alegeți comportamentul la întâlnirea datelor secundare ReplayGain în cadrele de intrare.

picătură
Eliminați datele secundare ReplayGain, ignorând conținutul acestora (implicit).

ignora
Ignorați datele secundare ReplayGain, dar lăsați-le în cadru.

urmări
Preferați câștigul piesei, dacă este prezent.

album
Preferă câștigul albumului, dacă este prezent.

replaygain_preamp
Câștig de pre-amplificare în dB pentru a se aplica câștigului de reluare selectat.

Valoarea implicită pentru replaygain_preamp este 0.0.

eval
Setați când este evaluată expresia volumului.

Acceptă următoarele valori:

dată
evaluați expresia o singură dată în timpul inițializării filtrului sau când volum
comanda este trimisă

cadru
evaluați expresia pentru fiecare cadru de intrare

Valoarea implicită este dată.

Expresia de volum poate conține următorii parametri.

n numărul cadrului (începând cu zero)

nb_channels
numărul de canale

nb_consumed_samples
numărul de probe consumate de filtru

nb_samples
numărul de mostre din cadrul curent

post poziția inițială a cadrului în fișier

pct cadru PTS

rata simpla
rata simpla

startpts
PTS la începutul fluxului

startt
timpul la începutul fluxului

t timpul cadrului

tb baza de timp marcată de timp

volum
ultima valoare setată a volumului

Rețineți că atunci când eval este setat la dată numai rata simpla și tb variabilele sunt disponibile,
toate celelalte variabile se vor evalua la NAN.

Comenzi

Acest filtru acceptă următoarele comenzi:

volum
Modificați expresia volumului. Comanda acceptă aceeași sintaxă a lui
opțiunea corespunzătoare.

Dacă expresia specificată nu este validă, se păstrează la valoarea sa curentă.

replaygain_noclip
Preveniți tăierea prin limitarea câștigului aplicat.

Valoarea implicită pentru replaygain_noclip este 1.

Exemple

· Reduceți la jumătate volumul audio de intrare:

volum=volum=0.5
volum=volum=1/2
volum=volum=-6.0206dB

În tot exemplul de mai sus, cheia numită pentru volum poate fi omis, de exemplu ca în:

volum=0.5

· Creșteți puterea audio de intrare cu 6 decibeli folosind precizia punctului fix:

volum=volum=6dB:precizie=fix

· Fade volum după timpul 10 cu o perioadă de anihilare de 5 secunde:

volume='if(lt(t,10),1,max(1-(t-10)/5,0))':eval=frame

detectare volum
Detectați volumul videoclipului de intrare.

Filtrul nu are parametri. Intrarea nu este modificată. Statistici despre volumul va
să fie tipărit în jurnal când se ajunge la sfârșitul fluxului de intrare.

În special, va arăta volumul mediu (rădăcină medie pătrată), volumul maxim (pe o per-
baza de eșantion) și începutul unei histograme a valorilor de volum înregistrate (din
valoare maximă la un cumulat de 1/1000 din probe).

Toate volumele sunt în decibeli în raport cu valoarea maximă PCM.

Exemple

Iată un extras din rezultat:

[Parsed_volumedetect_0 0xa23120] volum_mediu: -27 dB
[Parsed_volumedetect_0 0xa23120] volum_max: -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

Înseamnă că:

· Energia pătrată medie este de aproximativ -27 dB, sau 10^-2.7.

· Cel mai mare eșantion este la -4 dB, sau mai precis între -4 dB și -5 dB.

· Există 6 mostre la -4 dB, 62 la -5 dB, 286 la -6 dB etc.

Cu alte cuvinte, creșterea volumului cu +4 dB nu provoacă nicio tăiere, creșterea acestuia cu +5
dB provoacă clipping pentru 6 mostre etc.

AUDIO SURSE


Mai jos este o descriere a surselor audio disponibile în prezent.

tampon
Salvați cadrele audio și puneți-le la dispoziție pentru lanțul de filtre.

Această sursă este destinată în principal unei utilizări programatice, în special prin intermediul interfeței
definit în libavfilter/asrc_abuffer.h.

Acceptă următorii parametri:

baza de timp
Baza de timp care va fi utilizată pentru marcajele de timp ale cadrelor trimise. Trebuie să fie fie
un număr în virgulă mobilă sau în numărător/numitor formular.

rata simpla
Rata de eșantionare a bufferelor audio de intrare.

sample_fmt
Formatul eșantion al bufferelor audio primite. Fie un nume de format de probă, fie acesta
reprezentarea întregului corespunzătoare din enumerarea AVSampleFormat în
libavutil/samplefmt.h

channel_layout
Aspectul de canal al bufferelor audio de intrare. Fie un nume de aspect al canalului de la
channel_layout_map in libavutil/channel_layout.c sau întregul său corespunzător
reprezentare din macrocomenzile AV_CH_LAYOUT_* în libavutil/channel_layout.h

canale
Numărul de canale ale bufferelor audio de intrare. Dacă ambele canale și
channel_layout sunt specificate, atunci trebuie să fie consecvente.

Exemple

abuffer=sample_rate=44100:sample_fmt=s16p:channel_layout=stereo

va instrui sursa să accepte stereo planar pe 16 biți semnat la 44100 Hz. Din momentul în care
formatul de probă cu numele „s16p” corespunde numărului 6 și aspectului canalului „stereo”.
corespunde valorii 0x3, aceasta este echivalentă cu:

abuffer=sample_rate=44100:sample_fmt=6:channel_layout=0x3

aevalsrc
Generați un semnal audio specificat de o expresie.

Această sursă acceptă în intrare una sau mai multe expresii (una pentru fiecare canal), care sunt
evaluat și utilizat pentru a genera un semnal audio corespunzător.

Această sursă acceptă următoarele opțiuni:

exprs
Setați lista de expresii separate de „|” pentru fiecare canal separat. În cazul în care
channel_layout opțiunea nu este specificată, aspectul canalului selectat depinde de
numărul de expresii furnizate. În caz contrar, se aplică ultima expresie specificată
canalele de ieșire rămase.

channel_layout, c
Setați aspectul canalului. Numărul de canale din aspectul specificat trebuie să fie egal
la numărul de expresii specificate.

durată, d
Setați durata minimă a sunetului sursă. Vedea il Timp durată secțiune in il
ffmpeg-utils(1) manual pentru sintaxa acceptată. Rețineți că durata rezultată poate
să fie mai mare decât durata specificată, deoarece sunetul generat este întotdeauna tăiat la
capătul unui cadru complet.

Dacă nu este specificată sau durata exprimată este negativă, se presupune că sunetul este
generat pentru totdeauna.

nb_samples, n
Setați numărul de mostre pe canal pentru fiecare cadru de ieșire, implicit la 1024.

rata simpla, s
Specificați rata de eșantionare, implicit la 44100.

Fiecare expresie în exprs poate conține următoarele constante:

n numărul eșantionului evaluat, începând de la 0

t timpul eșantionului evaluat exprimat în secunde, începând de la 0

s rata simpla

Exemple

· Generați tăcere:

aevalsrc=0

· Generați un semnal sin cu o frecvență de 440 Hz, setați rata de eșantionare la 8000 Hz:

aevalsrc="/sin(440*2*PI*t):s=8000"

· Generați un semnal cu două canale, specificați aspectul canalului (Front Center + Back
Centru) în mod explicit:

aevalsrc="/sin(420*2*PI*t)|cos(430*2*PI*t):c=FC|BC"

· Generați zgomot alb:

aevalsrc="/-2+aleator(0) "

· Generați un semnal modulat în amplitudine:

aevalsrc="/sin(10*2*PI*t)*sin(880*2*PI*t)"

· Generați bătăi binaurale de 2.5 Hz pe o purtătoare de 360 ​​Hz:

aevalsrc="/0.1*sin(2*PI*(360-2.5/2)*t) | 0.1*sin(2*PI*(360+2.5/2)*t)"

anullsrc
Sursa audio nulă, returnează cadre audio neprocesate. Este util în principal ca șablon
și să fie folosit în instrumente de analiză / depanare, sau ca sursă pentru filtre care
ignorați datele de intrare (de exemplu, filtrul de sinteză sox).

Această sursă acceptă următoarele opțiuni:

channel_layout, cl
Specifică aspectul canalului și poate fi fie un număr întreg, fie un șir reprezentând a
aspectul canalului. Valoarea implicită a channel_layout este „stereo”.

Verificați definiția channel_layout_map în libavutil/channel_layout.c pentru cartografiere
între șiruri de caractere și valori de aspect al canalului.

rata simpla, r
Specifică rata de eșantionare și este implicit 44100.

nb_samples, n
Setați numărul de mostre pe cadre solicitate.

Exemple

· Setați rata de eșantionare la 48000 Hz și configurația canalului la AV_CH_LAYOUT_MONO.

anullsrc=r=48000:cl=4

· Faceți aceeași operație cu o sintaxă mai evidentă:

anullsrc=r=48000:cl=mono

Toți parametrii trebuie definiți în mod explicit.

a zbura
Sintetizați un enunț vocal folosind biblioteca libflite.

Pentru a activa compilarea acestui filtru, trebuie să configurați FFmpeg cu
„--enable-libflite”.

Rețineți că biblioteca flite nu este sigură pentru fire.

Filtrul acceptă următoarele opțiuni:

list_voices
Dacă setați la 1, listați numele vocilor disponibile și ieșiți imediat. Mod implicit
valoarea este 0.

nb_samples, n
Setați numărul maxim de mostre pe cadru. Valoarea implicită este 512.

fisier text
Setați numele fișierului care conține textul de vorbit.

a) Sport and Nutrition Awareness Day in Manasia Around XNUMX people from the rural commune Manasia have participated in a sports and healthy nutrition oriented activity in one of the community’s sports ready yards. This activity was meant to gather, mainly, middle-aged people from a Romanian rural community and teach them about the benefits that sports have on both their mental and physical health and on how sporting activities can be used to bring people from a community closer together. Three trainers were made available for this event, so that the participants would get the best possible experience physically and so that they could have the best access possible to correct information and good sports/nutrition practices. b) Sports Awareness Day in Poiana Țapului A group of young participants have taken part in sporting activities meant to teach them about sporting conduct, fairplay, and safe physical activities. The day culminated with a football match.
Setați textul să vorbească.

voce, v
Setați vocea de utilizat pentru sinteza vorbirii. Valoarea implicită este „kal”. Vezi și
list_voices opțiune.

Exemple

· Citiți din fișier vorbire.txtși sintetizați textul folosind vocea flite standard:

flite=textfile=speech.txt

· Citiți textul specificat selectând vocea „slt”:

flite=text='Deci bine, bietul diavol al unui Sub-Sub, al cărui comentator sunt':voice=slt

· Introduceți text în ffmpeg:

ffmpeg -f lavfi -i flite=text='Deci bine, bietul diavol al unui Sub-Sub, al cărui comentator sunt':voice=slt

· Face ffplay rostiți textul specificat, folosind „flite” și dispozitivul „lavfi”:

ffplay -f lavfi flite=text='Nu te mai întrista pentru ceea ce ai făcut.'

Pentru mai multe informații despre libflite, verificați:http://www.speech.cs.cmu.edu/flite/>

sinus
Generați un semnal audio format dintr-o undă sinusoidală cu amplitudine 1/8.

Semnalul audio este exact pe biți.

Filtrul acceptă următoarele opțiuni:

frecvență, f
Setați frecvența purtătoarei. Implicit este 440 Hz.

factor_bip, b
Activați un bip periodic în fiecare secundă cu frecvență factor_bip ori transportatorul
frecvență. Implicit este 0, ceea ce înseamnă că beep-ul este dezactivat.

rata simpla, r
Specificați rata de eșantionare, implicit este 44100.

durată, d
Specificați durata fluxului audio generat.

samples_per_frame
Setați numărul de mostre pe cadru de ieșire, implicit este 1024.

Exemple

· Generați o undă sinusoidală simplă de 440 Hz:

sinus

· Generați o undă sinusoidală de 220 Hz cu un bip de 880 Hz în fiecare secundă, timp de 5 secunde:

sinus=220:4:d=5
sine=f=220:b=4:d=5
sine=frecvență=220:factor_bip=4:durată=5

AUDIO CHIUVE


Mai jos este o descriere a receptorilor audio disponibile în prezent.

chiuveta tampon
Salvați cadrele audio și puneți-le la dispoziție până la sfârșitul lanțului de filtre.

Această chiuvetă este destinată în principal utilizării programatice, în special prin interfață
definit în libavfilter/buffersink.h sau sistemul de opțiuni.

Acceptă un pointer către o structură AVABufferSinkContext, care definește intrarea
formatele bufferelor, care urmează să fie transmise ca parametru opac la „avfilter_init_filter” pentru
initializare.

anullsk
Chiuvetă audio nulă; nu face absolut nimic cu intrarea audio. Este util în principal ca a
șablon și pentru utilizare în instrumente de analiză/depanare.

VIDEO FILTRE


Când configurați versiunea FFmpeg, puteți dezactiva oricare dintre filtrele existente folosind
„--disable-filters”. Ieșirea de configurare va afișa filtrele video incluse în dvs
construi.

Mai jos este o descriere a filtrelor video disponibile în prezent.

alfaextract
Extrageți componenta alfa de la intrare ca un videoclip în tonuri de gri. Acest lucru este deosebit de util
cu alphamerge filtru.

alphamerge
Adăugați sau înlocuiți componenta alfa a intrării primare cu valoarea în tonuri de gri a
a doua intrare. Acesta este destinat utilizării cu alfaextract pentru a permite transmiterea sau
stocarea secvențelor de cadre care au alfa într-un format care nu acceptă un alfa
canal.

De exemplu, pentru a reconstrui cadre complete dintr-un videoclip normal codificat YUV și unul separat
video creat cu alfaextract, ai putea folosi:

film=in_alpha.mkv [alfa]; [in][alpha] alphamerge [out]

Deoarece acest filtru este proiectat pentru reconstrucție, funcționează pe secvențe de cadre fără
luând în considerare marcajele de timp și se termină atunci când oricare dintre intrări ajunge la sfârșitul fluxului. Asta va
cauza probleme dacă conducta de codificare pierde cadre. Dacă încercați să aplicați o imagine
ca o suprapunere a unui flux video, luați în considerare acoperire filtru în schimb.

cur
La fel ca subtitrari filtru, cu excepția faptului că nu necesită libavcodec și libavformat
muncă. Pe de altă parte, este limitat la fișierele de subtitrări ASS (Advanced Substation Alpha).

Acest filtru acceptă următoarea opțiune în plus față de opțiunile comune din
subtitrari filtru:

fasonarea
Setați motorul de modelare

Valorile disponibile sunt:

Auto
Motorul implicit de modelare libass, care este cel mai bun disponibil.

simplu
Modelator rapid, independent de fonturi, care poate face doar înlocuiri

complex
Model mai lent folosind OpenType pentru înlocuiri și poziționare

Valoarea implicită este „auto”.

atadenoise
Aplicați un Adaptive Temporal Averging Denoiser la intrarea video.

Filtrul acceptă următoarele opțiuni:

0a Setați pragul A pentru primul plan. Implicit este 1. Intervalul valid este de la 0.02 la 0.

0b Setați pragul B pentru primul plan. Implicit este 1. Intervalul valid este de la 0.04 la 0.

1a Setați pragul A pentru al 2-lea plan. Implicit este 0.02. Intervalul valid este de la 0 la 0.3.

1b Setați pragul B pentru al 2-lea plan. Implicit este 0.04. Intervalul valid este de la 0 la 5.

2a Setați pragul A pentru al treilea plan. Implicit este 3. Intervalul valid este de la 0.02 la 0.

2b Setați pragul B pentru al treilea plan. Implicit este 3. Intervalul valid este de la 0.04 la 0.

Pragul A este proiectat să reacționeze la modificări bruște ale semnalului de intrare și ale pragului B
este proiectat să reacționeze la schimbările continue ale semnalului de intrare.

s Setați numărul de cadre pe care filtrul va folosi pentru mediere. Implicit este 33. Trebuie să fie un număr impar
în intervalul [5, 129].

bbox
Calculați caseta de delimitare pentru pixelii non-negri din planul de luminanță al cadrului de intrare.

Acest filtru calculează căsuța de delimitare care conține toți pixelii cu o valoare de luminanță
mai mare decât valoarea minimă admisă. Parametrii care descriu caseta de delimitare sunt
tipărit pe jurnalul de filtrare.

Filtrul acceptă următoarea opțiune:

min_val
Setați valoarea minimă de luminanță. Implicit este 16.

blackdetect
Detectează intervalele video care sunt (aproape) complet negre. Poate fi util pentru a detecta capitolul
tranziții, reclame sau înregistrări nevalide. Liniile de ieșire conțin timpul pentru
începutul, sfârșitul și durata intervalului negru detectat exprimate în secunde.

Pentru a afișa liniile de ieșire, trebuie să setați nivelul de jurnal cel puțin la
Valoarea AV_LOG_INFO.

Filtrul acceptă următoarele opțiuni:

black_min_duration, d
Setați durata minimă de negru detectată, exprimată în secunde. Trebuie să fie un non-
număr negativ în virgulă mobilă.

Valoarea implicită este 2.0.

picture_black_raport_th, pic_th
Setați pragul pentru a considera o imagine „neagră”. Exprimați valoarea minimă pentru
raportul:

/

pentru care o poză este considerată neagră. Valoarea implicită este 0.98.

pixel_black_th, pix_th
Setați pragul pentru a considera un pixel „negru”.

Pragul exprimă valoarea maximă de luminanță a pixelului pentru care este un pixel
considerat „negru”. Valoarea furnizată este scalată conform următoarei ecuații:

= + *

luminance_range_size și lumina_luminance_minimum_value depinde de formatul video de intrare,
intervalul este [0-255] pentru formatele YUV cu gamă completă și [16-235] pentru formatele YUV non-gamă completă
formate.

Valoarea implicită este 0.10.

Următorul exemplu setează pragul maxim de pixeli la valoarea minimă și detectează
numai intervale negre de 2 sau mai multe secunde:

blackdetect=d=2:pix_th=0.00

cadru negru
Detectați cadrele care sunt (aproape) complet negre. Poate fi util pentru a detecta capitolul
tranziții sau reclame. Liniile de ieșire constau din numărul cadrului detectat
cadru, procentul de întuneric, poziția în fișier dacă este cunoscută sau -1 și
marca temporală în secunde.

Pentru a afișa liniile de ieșire, trebuie să setați nivelul de jurnal cel puțin la
Valoarea AV_LOG_INFO.

Acceptă următorii parametri:

sumă
Procentul de pixeli care trebuie să fie sub prag; este implicit la 98.

prag, treieră
Pragul sub care o valoare a pixelului este considerată neagră; este implicit la 32.

amestec, amestec
Combinați două cadre video unul în celălalt.

Filtrul „mix” preia două fluxuri de intrare și scoate un flux, prima intrare este
Stratul „de sus” și a doua intrare este stratul „de jos”. Ieșirea se termină când intrarea este cea mai scurtă
se termină.

Filtrul „tblend” (time blend) ia două cadre consecutive dintr-un singur flux și
redă rezultatul obținut prin amestecarea noului cadru peste vechiul cadru.

Urmează o descriere a opțiunilor acceptate.

c0_mode
c1_mode
c2_mode
c3_mode
all_mode
Setați modul de amestecare pentru o anumită componentă de pixeli sau pentru toate componentele de pixeli în caz de
all_mode. Valoarea implicită este „normală”.

Valorile disponibile pentru modurile componente sunt:

plus
și
in medie
arde
întuneca
diferenţă
diferenta128
împărţi
ocolire
excludere
strălucire
lumină tare
hardmix
uşura
lumina liniara
multiplica
negare
normală.
or
acoperire
fenix
lumina insignei
reflecta
ecran
lumina slaba
scădea
lumina vie
XOR
c0_opacitate
c1_opacitate
c2_opacitate
c3_opacitate
total_opacitate
Setați opacitatea amestecului pentru o anumită componentă de pixeli sau pentru toate componentele de pixeli în caz de
total_opacitate. Folosit numai în combinație cu modurile de amestecare a componentelor pixelilor.

c0_expr
c1_expr
c2_expr
c3_expr
toate_expr
Setați expresia de amestec pentru o anumită componentă de pixeli sau pentru toate componentele de pixeli în caz de
toate_expr. Rețineți că opțiunile legate de mod vor fi ignorate dacă acestea sunt setate.

Expresiile pot folosi următoarele variabile:

N Numărul secvenţial al cadrului filtrat, începând de la 0.

X
Y coordonatele probei curente

W
H lățimea și înălțimea planului filtrat curent

SW
SH Scala de lățime și înălțime în funcție de planul filtrat curent. Este raportul
între numărul de pixeli din planul luminos corespunzător și cei din planul curent.
De exemplu, pentru YUV4:2:0, valorile sunt „1,1” pentru planul luminos și „0.5,0.5” pentru
planuri cromatice.

T Timpul cadrului curent, exprimat în secunde.

TOP, A
Valoarea componentei pixelului în locația curentă pentru primul cadru video (stratul superior).

FUND, B
Valoarea componentei pixelului în locația curentă pentru al doilea cadru video (jos
strat).

cel mai scurt
Forțați terminarea când se termină cea mai scurtă intrare. Implicit este 0. Această opțiune este
definit doar pentru filtrul „amestecare”.

repetlast
Continuați să aplicați ultimul cadru de jos după sfârșitul fluxului. O valoare de 0
dezactivați filtrul după ce se ajunge la ultimul cadru al stratului inferior. Implicit este 1.
Această opțiune este definită numai pentru filtrul „amestecare”.

Exemple

· Aplicați tranziția de la stratul inferior la cel superior în primele 10 secunde:

blend=all_expr='A*(if(gte(T,10),1,T/10))+B*(1-(if(gte(T,10),1,T/10)))'

· Aplicați efectul de șah 1x1:

blend=all_expr='dacă(eq(mod(X,2),mod(Y,2)),A,B)'

· Aplicați efectul descoperire stânga:

blend=all_expr='dacă(gte(N*SW+X,W),A,B)'

· Aplicați efectul de dezvăluire:

blend=all_expr='if(gte(YN*SH,0),A,B)'

· Aplicați efectul de descoperire sus-stânga:

blend=all_expr='dacă(gte(T*SH*40+Y,H)*gte((T*40*SW+X)*W/H,W),A,B)'

· Afișează diferențele dintre cadrul curent și cel anterior:

tblend=all_mode=difference128

boxblur
Aplicați un algoritm boxblur la videoclipul de intrare.

Acceptă următorii parametri:

luma_radius, lr
putere_lumă, lp
chroma_radius, cr
chroma_power, cp
alpha_radius, ar
putere_alfa, ap

Urmează o descriere a opțiunilor acceptate.

luma_radius, lr
chroma_radius, cr
alpha_radius, ar
Setați o expresie pentru raza casetei în pixeli utilizate pentru estomparea corespunzătoare
planul de intrare.

Valoarea razei trebuie să fie un număr nenegativ și nu trebuie să fie mai mare decât valoarea
a expresiei „min(w,h)/2” pentru planurile luma și alfa și a „min(cw,ch)/2”
pentru planurile cromatice.

Valoarea implicită pentru luma_radius este „2”. Dacă nu este specificat, chroma_radius și alfa_radius
implicit la valoarea corespunzătoare setată pentru luma_radius.

Expresiile pot conține următoarele constante:

w
h Lățimea și înălțimea de intrare în pixeli.

cw
ch Lățimea și înălțimea imaginii de intrare cromatică în pixeli.

hsub
vsub
Valorile subeșantionului cromatic orizontal și vertical. De exemplu, pentru pixel
format „yuv422p”, hsub este 2 și vsub este 1.

putere_lumă, lp
chroma_power, cp
putere_alfa, ap
Specificați de câte ori este aplicat filtrul de neclaritate pe planul corespunzător.

Valoarea implicită pentru puterea_lumă este 2. Dacă nu este specificat, chroma_power și alfa_putere
implicit la valoarea corespunzătoare setată pentru puterea_lumă.

O valoare de 0 va dezactiva efectul.

Exemple

· Aplicați un filtru boxblur cu razele luma, croma și alfa setate la 2:

boxblur=luma_radius=2:luma_power=1
boxblur=2:1

· Setați raza lumina la 2 și raza alfa și cromatică la 0:

boxblur=2:1:cr=0:ar=0

· Setați razele luma și croma la o fracțiune din dimensiunea video:

boxblur=luma_radius=min(h\,w)/10:luma_power=1:chroma_radius=min(cw\,ch)/10:chroma_power=1

codecview
Vizualizați informațiile exportate de unele codecuri.

Unele codecuri pot exporta informații prin cadre folosind date secundare sau alte mijloace. Pentru
de exemplu, unele codecuri bazate pe MPEG exportă vectori de mișcare prin intermediul export_mvs steag în
codec steaguri2 opțiune.

Filtrul acceptă următoarea opțiune:

mv Setați vectori de mișcare pentru vizualizare.

Steaguri disponibile pentru mv sunt:

pf MV anticipate ale cadrelor P

bf MV-uri anticipate ale cadrelor B

bb MV-uri anticipate înapoi ale cadrelor B

Exemple

· Vizualizează MV-uri multidirecționale din P și B-Frames folosind ffplay:

ffplay -flags2 +export_mvs input.mpg -vf codecview=mv=pf+bf+bb

echilibrul culorilor
Modificați intensitatea culorilor primare (roșu, verde și albastru) ale cadrelor de intrare.

Filtrul permite ca un cadru de intrare să fie ajustat în umbre, tonuri medii sau lumini
regiuni pentru echilibrul roșu-cian, verde-magenta sau albastru-galben.

O valoare de ajustare pozitivă deplasează balanța către culoarea primară, o valoare negativă
spre culoarea complementară.

Filtrul acceptă următoarele opțiuni:

rs
gs
bs Ajustați umbrele roșii, verzi și albastre (cel mai întunecat pixeli).

rm
gm
bm Ajustați tonurile medii de roșu, verde și albastru (pixeli medii).

rh
gh
bh Reglați luminile roșii, verzi și albastre (cel mai luminoși pixeli).

Intervalele permise pentru opțiuni sunt „[-1.0, 1.0]”. Valorile implicite sunt 0.

Exemple

· Adăugați culoare roșie la umbre:

balance de culoare=rs=.3

cheie de culoare
Codarea culorilor în spațiul de culoare RGB.

Filtrul acceptă următoarele opțiuni:

culoare
Culoarea care va fi înlocuită cu transparență.

similitudine
Procent de asemănare cu culoarea cheie.

0.01 se potrivește doar cu culoarea cheie exactă, în timp ce 1.0 se potrivește cu totul.

amesteca
Procentul de amestec.

0.0 face pixelii fie complet transparenți, fie deloc transparenți.

Valorile mai mari au ca rezultat pixeli semitransparenti, cu o transparență mai mare cu atât mai mult
culoarea pixelilor este similară cu culoarea cheie.

Exemple

· Faceți transparent fiecare pixel verde din imaginea de intrare:

ffmpeg -i input.png -vf colorkey=green out.png

· Suprapuneți un videoclip cu ecran verde peste o imagine statică de fundal.

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]” ieșire.flv

niveluri de culoare
Reglați cadrele de intrare video folosind niveluri.

Filtrul acceptă următoarele opțiuni:

rimin
gimin
bimin
aimin
Reglați punctul negru de intrare roșu, verde, albastru și alfa. Intervalele permise pentru opțiuni sunt
„[-1.0, 1.0]”. Valorile implicite sunt 0.

rimax
gimax
bimax
aimax
Reglați punctul alb de intrare roșu, verde, albastru și alfa. Intervalele permise pentru opțiuni sunt
„[-1.0, 1.0]”. Valorile implicite sunt 1.

Nivelurile de intrare sunt folosite pentru a lumina luminile (tonuri luminoase), umbrele întunecate (întunecate
tonuri), modificați echilibrul tonurilor luminoase și întunecate.

ROMIN
gomin
bomin
aomin
Reglați punctul negru de ieșire roșu, verde, albastru și alfa. Intervalele permise pentru opțiuni sunt
„[0, 1.0]”. Valorile implicite sunt 0.

romax
gomax
bomax
aomax
Reglați punctul alb de ieșire roșu, verde, albastru și alfa. Intervalele permise pentru opțiuni sunt
„[0, 1.0]”. Valorile implicite sunt 1.

Nivelurile de ieșire permit selectarea manuală a unui interval restrâns de nivel de ieșire.

Exemple

· Faceți ieșirea video mai întunecată:

colorlevels=rimin=0.058:gimin=0.058:bimin=0.058

· Mărește contrastul:

colorlevels=rimin=0.039:gimin=0.039:bimin=0.039:rimax=0.96:gimax=0.96:bimax=0.96

· Faceți ieșirea video mai ușoară:

niveluri de culoare=rimax=0.902:gimax=0.902:bimax=0.902

· Creșteți luminozitatea:

colorlevels=romin=0.5:gomin=0.5:bomin=0.5

mixer de canale de culoare
Reglați cadrele de intrare video remixând canalele de culoare.

Acest filtru modifică un canal de culoare prin adăugarea valorilor asociate celorlalte canale
de aceiași pixeli. De exemplu, dacă valoarea de modificat este roșie, valoarea de ieșire va fi:

= * + * + * + *

Filtrul acceptă următoarele opțiuni:

rr
rg
rb
ra Ajustați contribuția canalelor roșu, verde, albastru și alfa de intrare pentru roșu de ieșire
canal. Implicit este 1 pentru rrși 0 pentru rg, rb și ra.

gr
gg
gb
ga Ajustați contribuția canalelor de intrare roșu, verde, albastru și alfa pentru verde de ieșire
canal. Implicit este 1 pentru ggși 0 pentru gr, gb și ga.

br
bg
bb
ba Ajustați contribuția canalelor roșu, verde, albastru și alfa de intrare pentru albastru de ieșire
canal. Implicit este 1 pentru bbși 0 pentru br, bg și ba.

ar
ag
ab
aa Ajustați contribuția canalelor de intrare roșu, verde, albastru și alfa pentru ieșire alfa
canal. Implicit este 1 pentru aași 0 pentru ar, ag și ab.

Intervalele permise pentru opțiuni sunt „[-2.0, 2.0]”.

Exemple

· Convertiți sursa în tonuri de gri:

colorchannelmixer=.3:.4:.3:0:.3:.4:.3:0:.3:.4:.3

· Simulați tonuri sepia:

colorchannelmixer=.393:.769:.189:0:.349:.686:.168:0:.272:.534:.131

matrice de culori
Convertiți matricea de culori.

Filtrul acceptă următoarele opțiuni:

src
dst Specificați matricea de culori sursă și destinație. Ambele valori trebuie specificate.

Valorile acceptate sunt:

bt709
BT.709

bt601
BT.601

smpte240m
SMPTE-240M

fcc FCC

De exemplu, pentru a converti de la BT.601 la SMPTE-240M, utilizați comanda:

colormatrix=bt601:smpte240m

copiaţi
Copiați sursa de intrare neschimbată la ieșire. Acest lucru este util în principal în scopuri de testare.

cultură
Decupați videoclipul de intrare la dimensiunile date.

Acceptă următorii parametri:

w, out_w
Lățimea videoclipului de ieșire. Este implicit „iw”. Această expresie este evaluată numai
o dată în timpul configurării filtrului sau când w or out_w comanda este trimisă.

h, out_h
Înălțimea videoclipului de ieșire. Este implicit „ih”. Această expresie este evaluată
o singură dată în timpul configurării filtrului sau când h or out_h comanda este trimisă.

x Poziția orizontală, în videoclipul de intrare, a marginii din stânga a videoclipului de ieșire. Aceasta
implicit la „(in_w-out_w)/2”. Această expresie este evaluată pe cadru.

y Poziția verticală, în videoclipul de intrare, a marginii superioare a videoclipului de ieșire. Aceasta
implicit la „(in_h-out_h)/2”. Această expresie este evaluată pe cadru.

păstrează_aspect
Dacă este setat la 1, raportul de aspect al afișajului de ieșire va fi același cu cel de intrare, prin
modificarea raportului de aspect al eșantionului de ieșire. Este implicit la 0.

out_w, out_h, x, y parametrii sunt expresii care conțin următoarele constante:

x
y Valorile calculate pentru x și y. Ele sunt evaluate pentru fiecare cadru nou.

în W
în_h
Lățimea și înălțimea de intrare.

iw
ih Acestea sunt la fel ca în W și în_h.

out_w
out_h
Lățimea și înălțimea de ieșire (decupate).

ow
oh Acestea sunt la fel ca out_w și out_h.

a la fel ca iw / ih

SAR raportul de aspect al eșantionului de intrare

da raportul de aspect al afișajului de intrare, este același cu (iw / ih) * SAR

hsub
vsub
valorile subeșantionului cromatic orizontal și vertical. De exemplu, pentru formatul pixelilor
"yuv422p" hsub este 2 și vsub este 1.

n Numărul cadrului de intrare, începând de la 0.

post poziția în fișier a cadrului de intrare, NAN dacă necunoscută

t Marca temporală exprimată în secunde. Este NAN dacă marcajul de timp de intrare este necunoscut.

Expresia pentru out_w poate depinde de valoarea lui out_h, iar expresia pentru out_h
poate depinde de out_w, dar nu pot depinde de x și y, După cum x și y sunt evaluate după
out_w și out_h.

x și y parametrii specifică expresiile pentru poziția colțului din stânga sus al
zona de ieșire (nedecupată). Ele sunt evaluate pentru fiecare cadru. Dacă valoarea evaluată
nu este valid, este aproximat la cea mai apropiată valoare validă.

Expresia pentru x poate depinde de y, iar expresia pentru y poate depinde de x.

Exemple

· Zona de decupare cu dimensiunea 100x100 la poziție (12,34).

crop=100:100:12:34

Folosind opțiunile numite, exemplul de mai sus devine:

crop=w=100:h=100:x=12:y=34

· Decupați zona centrală de intrare cu dimensiunea 100x100:

crop=100:100

· Decupați zona centrală de intrare cu dimensiunea de 2/3 din videoclipul de intrare:

crop=2/3*in_w:2/3*in_h

· Decupați pătratul central video de intrare:

crop=out_w=in_h
crop=in_h

· Delimitează dreptunghiul cu colțul din stânga sus plasat la poziția 100:100 și
colțul din dreapta jos corespunzător colțului din dreapta jos al imaginii de intrare.

crop=in_w-100:in_h-100:100:100

· Decupați 10 pixeli de la marginile din stânga și din dreapta și 20 de pixeli din partea de sus și de jos
frontierelor

crop=in_w-2*10:in_h-2*20

· Păstrați doar sfertul din dreapta jos al imaginii de intrare:

crop=in_w/2:in_h/2:in_w/2:in_h/2

· Înălțimea decupării pentru obținerea armoniei grecești:

crop=in_w:1/PHI*in_w

· Aplicați efect de tremur:

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)

· Aplicați efect neregulat al camerei în funcție de marcajul de timp:

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)"

· Setați x în funcție de valoarea lui y:

crop=in_w/2:in_h/2:y:10+10*sin(n/10)

Comenzi

Acest filtru acceptă următoarele comenzi:

w, out_w
h, out_h
x
y Setați lățimea/înălțimea videoclipului de ieșire și poziția orizontală/verticală în intrare
video. Comanda acceptă aceeași sintaxă a opțiunii corespunzătoare.

Dacă expresia specificată nu este validă, se păstrează la valoarea sa curentă.

cropdetect
Detectează automat dimensiunea decupării.

Acesta calculează parametrii necesari de tăiere și tipărește parametrii recomandați prin
sistemul de logare. Dimensiunile detectate corespund zonei non-negre a intrării
video.

Acceptă următorii parametri:

limita
Setați un prag mai mare al valorii de negru, care poate fi specificat opțional din nimic (0)
la orice (255 pentru formatele pe 8 biți). O valoare de intensitate mai mare decât setul
valoarea este considerată non-neagră. Valoarea implicită este 24. De asemenea, puteți specifica o valoare
între 0.0 și 1.0 care va fi scalat în funcție de adâncimea de biți a pixelului
format.

rotund
Valoarea cu care lățimea/înălțimea ar trebui să fie divizibilă. Setarea implicită este 16. Offset
este ajustat automat pentru a centra videoclipul. Folosiți 2 pentru a obține doar dimensiuni pare
(necesar pentru videoclipul 4:2:2). 16 este cel mai bun atunci când se codifică la majoritatea codecurilor video.

reset_count, reseta
Setați contorul care determină după câte cadre va reseta cropdetect
zona video cea mai mare detectată anterior și începeți de la capăt pentru a detecta optimul curent
zona de cultură. Valoarea implicită este 0.

Acest lucru poate fi util atunci când siglele canalului distorsionează zona video. 0 indică „niciodată
reset' și returnează cea mai mare zonă întâlnită în timpul redării.

curbe
Aplicați ajustări de culoare folosind curbe.

Acest filtru este similar cu instrumentele pentru curbe Adobe Photoshop și GIMP. Fiecare componentă (roșu,
verde și albastru) își are valorile definite de N puncte cheie legate între ele folosind o netedă
curba. Axa x reprezintă valorile pixelilor din cadrul de intrare, iar axa y cea nouă
valorile pixelilor care urmează să fie setate pentru cadrul de ieșire.

În mod implicit, o curbă de componentă este definită de cele două puncte (0;0) și (1;1). Acest lucru creează un
linie dreaptă unde fiecare valoare originală a pixelului este „ajustată” la propria sa valoare, ceea ce înseamnă
nicio modificare a imaginii.

Filtrul vă permite să redefiniți aceste două puncte și să adăugați mai multe. O nouă curbă (folosind a
interpolare spline cubică naturală) vor fi definite pentru a trece fără probleme prin toate aceste noi
coordonate. Noile puncte definite trebuie să crească strict pe axa x și
lor x și y valorile trebuie să fie în [0;1] interval. Dacă curbele calculate s-au întâmplat să meargă
în afara spațiilor vectoriale, valorile vor fi tăiate corespunzător.

Dacă nu există niciun punct cheie definit în „x=0”, filtrul va introduce automat a (0;0)
punct. În același mod, dacă nu există niciun punct cheie definit în „x=1”, filtrul va face
inserați automat a (1;1) punct.

Filtrul acceptă următoarele opțiuni:

presetat
Selectați una dintre presetările de culoare disponibile. Această opțiune poate fi utilizată în plus față de
r, g, b parametrii; în acest caz, opțiunile ulterioare au prioritate pe presetarea
valorile. Presetările disponibile sunt:

nici unul
culoare_negativă
proces_încrucișat
mai întunecat
mărește contrastul
mai usoara
contrast_liniar
contrast_mediu
negativ
contrast_puternic
epocă

Implicit este „niciunul”.

maestru, m
Setați punctele cheie principale. Aceste puncte vor defini o a doua mapare a trecerii. Este
numită uneori mapare „luminanță” sau „valoare”. Poate fi folosit cu r, g, b or toate
deoarece acţionează ca un LUT de post-procesare.

roșu, r
Setați punctele cheie pentru componenta roșie.

verde, g
Setați punctele cheie pentru componenta verde.

albastru, b
Setați punctele cheie pentru componenta albastră.

toate Setați punctele cheie pentru toate componentele (cu excepția masterului). Poate fi folosit in plus
la celelalte opțiuni ale componentelor puncte cheie. În acest caz, componenta (componentele) dezactivate vor
recurge la asta toate setare.

psfile
Specificați un fișier de curbe Photoshop (".asv") din care să importați setările.

Pentru a evita unele conflicte de sintaxă a filtrului, fiecare listă de puncte cheie trebuie definită folosind
următoarea sintaxă: „x0/y0 x1/y1 x2/y2 ...”.

Exemple

· Creșteți ușor nivelul mediu de albastru:

curbe=albastru='0.5/0.58'

· Efect vintage:

curves=r='0/0.11 .42/.51 1/0.95':g='0.50/0.48':b='0/0.22 .49/.44 1/0.8'

Aici obținem următoarele coordonate pentru fiecare componentă:

roșu "(0;0.11) (0.42;0.51) (1;0.95)"

verde
"(0;0) (0.50;0.48) (1;1)"

albastru
"(0;0.22) (0.49;0.44) (1;0.80)"

· Exemplul anterior poate fi realizat și cu presetarea încorporată asociată:

curbe=preset=vintage

· Sau pur și simplu:

curbe=vintage

· Utilizați o presetare Photoshop și redefiniți punctele componentei verzi:

curves=psfile='MyCurvesPresets/purple.asv':green='0.45/0.53'

dctdnoiz
Reduceți zgomotul cadrelor folosind DCT 2D (filtrare în domeniul frecvenței).

Acest filtru nu este conceput pentru timp real.

Filtrul acceptă următoarele opțiuni:

sigma, s
Setați constanta sigma a zgomotului.

Acest sigma definește un prag dur de „3 * sigma”; fiecare coeficient DCT (absolut
valoare) sub acest prag cu fi abandonat.

Dacă aveți nevoie de o filtrare mai avansată, consultați expres.

Valoarea implicită este 0.

suprapune
Setați numărul de pixeli care se suprapun pentru fiecare bloc. Deoarece filtrul poate fi lent, este posibil
doresc să reducă această valoare, cu prețul unui filtru mai puțin eficient și cu riscul de
diverse artefacte.

Dacă valoarea de suprapunere nu permite procesarea întregii lățimi sau înălțimi de intrare, a
avertismentul va fi afișat și granițele corespunzătoare nu vor fi eliminate de zgomot.

Valoarea implicită este bloc-1, care este cea mai bună setare posibilă.

expr, e
Setați expresia factorului coeficient.

Pentru fiecare coeficient al unui bloc DCT, această expresie va fi evaluată ca un multiplicator
valoare pentru coeficient.

Dacă această opțiune este setată, sigma opțiunea va fi ignorată.

Valoarea absolută a coeficientului poate fi accesată prin intermediul c variabilă.

n Seteaza bloc folosind numărul de biți. „1<n" definește bloc, care este
lăţimea şi înălţimea blocurilor prelucrate.

Valoarea implicită este 3 (8x8) și poate fi ridicat la 4 pentru o bloc de 16x16. Notă
că schimbarea acestei setări are consecințe uriașe asupra vitezei de procesare. Deasemenea o
dimensiunea blocului mai mare nu înseamnă neapărat o mai bună dezgomot.

Exemple

Aplicați un dezgomot cu a sigma din 4.5:

dctdnoiz=4.5

Aceeași operație poate fi realizată folosind sistemul de expresie:

dctdnoiz=e='gte(c, 4.5*3)'

Dezgomot violent folosind o dimensiune de bloc de „16x16”:

dctdnoiz=15:n=4

deband
Eliminați artefactele de bandă din videoclipul de intrare. Funcționează prin înlocuirea pixelilor cu bandă
valoarea medie a pixelilor referiți.

Filtrul acceptă următoarele opțiuni:

1thr
2thr
3thr
4thr
Setați pragul de detectare a benzilor pentru fiecare plan. Implicit este 0.02. Intervalul valid este
0.00003 până la 0.5. Dacă diferența dintre pixelul curent și pixelul de referință este mai mică decât
prag, va fi considerat ca fiind cu bandă.

gama, r
Interval de detectare a benzilor în pixeli. Implicit este 16. Dacă este pozitiv, număr aleatoriu în interval
Se va folosi 0 pentru a seta valoarea. Dacă este negativ, se va folosi valoarea absolută exactă. The
intervalul definește pătratul de patru pixeli în jurul pixelului curent.

direcţie, d
Setați direcția în radiani de la care vor fi comparați patru pixeli. Dacă este pozitiv, aleatoriu
va fi selectată direcția de la 0 la direcția setată. Dacă este negativ, exact de valoare absolută
vor fi alese. De exemplu, direcția 0, -PI sau -2*PI radiani vor selecta doar pixeli
același rând și -PI/2 vor alege numai pixeli pe aceeași coloană.

estompare
Dacă este activat, pixelul actual este comparat cu valoarea medie a tuturor celor patru din jur
pixeli. Valoarea implicită este activată. Dacă este dezactivat, pixelul curent este comparat cu toți patru
pixelii din jur. Pixelul este considerat cu bandă dacă numai toate cele patru diferențe
pixelii din jur sunt mai mici decât pragul.

decima
Aruncă cadrele duplicate la intervale regulate.

Filtrul acceptă următoarele opțiuni:

ciclu
Setați numărul de cadre din care va fi aruncat unul. Setarea acestui lucru la N înseamnă unul
cadru în fiecare lot de N cadrele vor fi aruncate. Implicit este 5.

dupthresh
Setați pragul pentru detectarea dublelor. Dacă metrica diferenței pentru un cadru este
mai mică sau egală cu această valoare, atunci este declarată duplicat. Implicit este 1.1

scthresh
Setați pragul de schimbare a scenei. Implicit este 15.

blocx
blocat
Setați dimensiunea blocurilor pe axele x și y utilizate în timpul calculelor metrice. Mai mare
blocurile oferă o suprimare mai bună a zgomotului, dar oferă și o detectare mai proastă a micilor
miscarile. Trebuie să fie o putere a doi. Implicit este 32.

PPSRC.
Marcați intrarea principală ca intrare preprocesată și activați fluxul de intrare cu sursă curată. Acest
permite ca intrarea să fie preprocesată cu diferite filtre pentru a ajuta valorile
calcul, păstrând în același timp selecția cadrului fără pierderi. Când este setat la 1, primul
fluxul este pentru intrarea preprocesată, iar al doilea flux este sursa curată de la
unde se aleg ramele păstrate. Implicit este 0.

cromă
Setați dacă croma este luată în considerare sau nu în calculele metrice. Implicit este 1.

dezumfla
Aplicați efectul de dezumflare la videoclip.

Acest filtru înlocuiește pixelul cu local(3x3) medie luând în considerare numai
valori mai mici decât pixelul.

Acceptă următoarele opțiuni:

prag0
prag1
prag2
prag3
Limitați modificarea maximă pentru fiecare plan, implicit este 65535. Dacă 0, planul va rămâne
neschimbat.

dejudecător
Eliminați vibrațiile produse de conținutul telecined parțial întrețesut.

Judder poate fi introdus, de exemplu, prin trage filtru. Dacă sursa originală a fost
conținut parțial telecined, atunci rezultatul „pullup,dejudder” va avea o variabilă
rata de cadre. Poate modifica rata de cadre înregistrată a containerului. În afară de această schimbare,
acest filtru nu va afecta videoclipurile cu rată constantă de cadre.

Opțiunea disponibilă în acest filtru este:

ciclu
Specificați lungimea ferestrei peste care se repetă tremuratul.

Acceptă orice număr întreg mai mare de 1. Valorile utile sunt:

4 Dacă originalul a fost telecinizat de la 24 la 30 fps (Film la NTSC).

5 Dacă originalul a fost telecinizat de la 25 la 30 fps (PAL la NTSC).

20 Dacă un amestec al celor două.

Valoarea implicită este 4.

delogo
Suprimați sigla unui post TV printr-o simplă interpolare a pixelilor din jur. Doar setați un
dreptunghi care acoperă sigla și urmăriți-l cum dispare (și uneori ceva și mai urât
apar - kilometrajul dvs. poate varia).

Acceptă următorii parametri:

x
y Specificați coordonatele colțului din stânga sus al logo-ului. Ele trebuie specificate.

w
h Specificați lățimea și înălțimea logo-ului de șters. Ele trebuie specificate.

grup, t
Specificați grosimea marginii neclare a dreptunghiului (adăugat la w și h).
valoarea implicită este 4.

Arăta
Când este setat la 1, pe ecran este desenat un dreptunghi verde pentru a simplifica găsirea dreptului
x, y, w, și h parametrii. Valoarea implicită este 0.

Dreptunghiul este desenat pe cei mai exteriori pixeli care vor fi (parțial) înlocuiți cu
valori interpolate. Valorile următorilor pixeli imediat în afara acestui dreptunghi
în fiecare direcție va fi utilizat pentru a calcula valorile pixelilor interpolați în interiorul
dreptunghi.

Exemple

· Setați un dreptunghi care să acopere zona cu coordonatele colțului din stânga sus 0,0 și dimensiune
100x77 și o bandă de dimensiunea 10:

delogo=x=0:y=0:w=100:h=77:band=10

scutura
Încercați să remediați mici modificări ale deplasării orizontale și/sau verticale. Acest filtru ajută la eliminarea
tremuratul camerei de la ținerea în mână a unei camere, lovirea unui trepied, deplasarea pe un vehicul etc.

Filtrul acceptă următoarele opțiuni:

x
y
w
h Specificați o zonă dreptunghiulară în care să limitați căutarea vectorilor de mișcare. Dacă se dorește
căutarea vectorilor de mișcare poate fi limitată la o zonă dreptunghiulară a cadrului
definit de colțul din stânga sus, lățime și înălțime. Acești parametri au aceiași
adică filtrul drawbox care poate fi utilizat pentru a vizualiza poziția
casetă de încadrare.

Acest lucru este util atunci când mișcarea simultană a subiecților în cadru poate fi
confuz pentru mișcarea camerei de căutarea vectorului de mișcare.

Dacă oricare sau toate x, y, w și h sunt setate la -1, atunci se utilizează cadrul complet. Asta permite
opțiunile ulterioare să fie setate fără a specifica caseta de delimitare pentru vectorul de mișcare
căutare.

Implicit - căutați întregul cadru.

rx
ry Specificați gradul maxim de mișcare în direcțiile x și y în intervalul 0-64 pixeli.
Implicit 16.

margine
Specificați modul de generare a pixelilor pentru a umple spațiile libere de la marginea cadrului. Disponibil
valorile sunt:

gol, 0
Completați zerouri în locurile goale

originală, 1
Imagine originală în locuri goale

clema, 2
Valoarea marginii extrudate în locații goale

oglindă, 3
Margine în oglindă în locații goale

Valoarea implicită este oglindă.

bloc
Specificați dimensiunea blocului de utilizat pentru căutarea de mișcare. Interval 4-128 pixeli, implicit 8.

contrast
Specificați pragul de contrast pentru blocuri. Doar blocuri cu mai mult decât specificat
contrastul (diferența dintre cei mai întunecați și cei mai lumini pixeli) va fi luat în considerare. Gamă
1-255, implicit 125.

căutare
Specificați strategia de căutare. Valorile disponibile sunt:

exhaustiv, 0
Setați căutarea exhaustivă

Mai puțin, 1
Setați o căutare mai puțin exhaustivă.

Valoarea implicită este cuprinzător.

nume de fișier
Dacă este setat, în fișierul specificat este scris un jurnal detaliat al căutării de mișcare.

opencl
Dacă este setat la 1, specificați utilizarea capabilităților OpenCL, disponibile numai dacă FFmpeg a fost
configurat cu „--enable-opencl”. Valoarea implicită este 0.

detelecine
Aplicați o inversă exactă a operațiunii telecine. Este nevoie de un model predefinit
specificat folosind opțiunea de model care trebuie să fie aceeași cu cea transmisă la telecine
filtru.

Acest filtru acceptă următoarele opțiuni:

primul_câmp
top, t
câmpul de sus mai întâi

jos, b
câmpul de jos primul Valoarea implicită este „sus”.

model
Un șir de numere care reprezintă modelul derulant pe care doriți să îl aplicați. Implicit
valoarea este 23.

start_frame
Un număr care reprezintă poziția primului cadru față de telecine
model. Acesta trebuie utilizat dacă fluxul este tăiat. Valoarea implicită este 0.

dilatare
Aplicați efect de dilatare videoclipului.

Acest filtru înlocuiește pixelul cu local(3x3) maxim.

Acceptă următoarele opțiuni:

prag0
prag1
prag2
prag3
Limitați modificarea maximă pentru fiecare plan, implicit este 65535. Dacă 0, planul va rămâne
neschimbat.

coordonatele
Flag care specifică pixelul la care se face referire. Implicit este 255, adică toți cei opt pixeli sunt
folosit.

Semnalează hărți cu coordonate locale 3x3, astfel:

1 2 3
4 5
6 7 8

cutie de tragere
Desenați o casetă colorată pe imaginea de intrare.

Acceptă următorii parametri:

x
y Expresiile care specifică coordonatele colțului din stânga sus al casetei. Este implicit
la 0.

lățime, w
înălţime, h
Expresiile care specifică lățimea și înălțimea casetei; dacă 0 sunt
interpretată ca lățimea și înălțimea de intrare. Este implicit la 0.

culoare, c
Specificați culoarea casetei de scris. Pentru sintaxa generală a acestei opțiuni, bifați
secțiunea „Culoare” din manualul ffmpeg-utils. Dacă se utilizează valoarea specială „invers”,
culoarea marginii casetei este aceeași cu cea a videoclipului cu lumina inversată.

grosime, t
Expresia care stabilește grosimea marginii cutiei. Valoarea implicită este 3.

Vezi mai jos lista constantelor acceptate.

Parametrii pentru x, y, w și h și t sunt expresii care conțin următoarele constante:

da Raportul de aspect al afișajului de intrare, este același cu (w / h) * SAR.

hsub
vsub
valorile subeșantionului cromatic orizontal și vertical. De exemplu, pentru formatul pixelilor
"yuv422p" hsub este 2 și vsub este 1.

in_h, ih
în W, iw
Lățimea și înălțimea de intrare.

SAR Raportul de aspect al eșantionului de intrare.

x
y Coordonatele decalajului x și y unde este desenată caseta.

w
h Lățimea și înălțimea casetei desenate.

t Grosimea cutiei desenate.

Aceste constante permit x, y, w, h și t expresii pentru a se referi unul la altul, deci tu
poate specifica, de exemplu, „y=x/dar” sau „h=w/dar”.

Exemple

· Desenați o casetă neagră în jurul marginii imaginii de intrare:

cutie de tragere

· Desenați o casetă cu culoarea roșie și o opacitate de 50%:

drawbox=10:20:200:60:[e-mail protejat]

Exemplul anterior poate fi specificat ca:

drawbox=x=10:y=20:w=200:h=60:color=[e-mail protejat]

· Umpleți cutia cu culoarea roz:

drawbox=x=10:y=10:w=100:h=100:color=[e-mail protejat]:t=max

· Desenați o mască roșie de 2 pixeli 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

desen grafic, adrawgraph
Desenați un grafic folosind metadate video sau audio de intrare.

Acceptă următorii parametri:

m1 Setați prima cheie pentru metadate cadru din care valorile metadatelor vor fi folosite pentru a desena un grafic.

fg1 Setați prima expresie a culorii primului plan.

m2 Setați cheia de metadate a celui de-al doilea cadru din care valorile metadatelor vor fi folosite pentru a desena un grafic.

fg2 Setați a doua expresie de culoare în prim-plan.

m3 Setați al treilea cadru cheie de metadate din care valorile metadatelor vor fi folosite pentru a desena un grafic.

fg3 Setați a treia expresie de culoare în prim-plan.

m4 Setați a 4-a cheie de metadate cadru din care valorile metadatelor vor fi folosite pentru a desena un grafic.

fg4 Setați a patra expresie de culoare în prim-plan.

minute Setați valoarea minimă a valorii metadatelor.

max Setați valoarea maximă a valorii metadatelor.

bg Setați culoarea de fundal a graficului. Implicit este alb.

mod
Setați modul grafic.

Valorile disponibile pentru mod sunt:

bar
punct
linie

Implicit este „line”.

aluneca
Setați modul slide.

Valorile disponibile pentru slide sunt:

cadru
Desenați un nou cadru când se ajunge la marginea dreaptă.

înlocui
Înlocuiți coloanele vechi cu altele noi.

derulaţi
Derulați de la dreapta la stânga.

rscroll
Derulați de la stânga la dreapta.

Implicit este „cadru”.

mărimea
Setați dimensiunea videoclipului grafic. Pentru sintaxa acestei opțiuni, verificați "Video mărimea" secțiune
in il ffmpeg-utils manual. Valoarea implicită este „900x256”.

Expresiile de culoare din prim-plan pot folosi următoarele variabile:

MIN Valoarea minimă a valorii metadatelor.

MAX Valoarea maximă a valorii metadatelor.

VAL Valoarea actuală a cheii metadatelor.

Culoarea este definită ca 0xAABBGGRR.

Exemplu de utilizare a metadatelor de la statistici de semnal filtru:

signalstats,drawgraph=lavfi.signalstats.YAVG:min=0:max=255

Exemplu de utilizare a metadatelor de la ebur128 filtru:

ebur128=metadata=1,adrawgraph=lavfi.r128.M:min=-120:max=5

grilă de tragere
Desenați o grilă pe imaginea de intrare.

Acceptă următorii parametri:

x
y Expresiile care specifică coordonatele unui punct de intersecție a grilei
(destinat să configureze offset). Ambele sunt implicite la 0.

lățime, w
înălţime, h
Expresiile care specifică lățimea și înălțimea celulei grilei, dacă sunt 0
interpretată ca lățimea și, respectiv, înălțimea de intrare minus „grosime”, deci imagine
se încadrează. Implicit la 0.

culoare, c
Specificați culoarea grilei. Pentru sintaxa generală a acestei opțiuni, bifați
Secțiunea „Culoare” din manualul ffmpeg-utils. Dacă se folosește valoarea specială „invers”, se folosește
culoarea grilei este aceeași cu cea a videoclipului cu lumina inversată.

grosime, t
Expresia care stabilește grosimea liniei grilei. Valoarea implicită este 1.

Vezi mai jos lista constantelor acceptate.

Parametrii pentru x, y, w și h și t sunt expresii care conțin următoarele constante:

da Raportul de aspect al afișajului de intrare, este același cu (w / h) * SAR.

hsub
vsub
valorile subeșantionului cromatic orizontal și vertical. De exemplu, pentru formatul pixelilor
"yuv422p" hsub este 2 și vsub este 1.

in_h, ih
în W, iw
Lățimea și înălțimea celulei grilei de intrare.

SAR Raportul de aspect al eșantionului de intrare.

x
y Coordonatele x și y ale unui punct de intersecție a grilei (menite să configureze
decalaj).

w
h Lățimea și înălțimea celulei desenate.

t Grosimea celulei desenate.

Aceste constante permit x, y, w, h și t expresii pentru a se referi unul la altul, deci tu
poate specifica, de exemplu, „y=x/dar” sau „h=w/dar”.

Exemple

· Desenați o grilă cu celulă 100x100 pixeli, grosimea 2 pixeli, cu culoarea roșie și un
opacitate de 50%:

drawgrid=latime=100:inaltime=100:grosime=2:culoare=[e-mail protejat]

· Desenați o grilă albă 3x3 cu o opacitate de 50%:

drawgrid=w=iw/3:h=ih/3:t=2:c=[e-mail protejat]

desen text
Desenați un șir de text sau un text dintr-un fișier specificat deasupra unui videoclip, folosind libfreetype
bibliotecă.

Pentru a activa compilarea acestui filtru, trebuie să configurați FFmpeg cu
„--enable-libfreetype”. Pentru a activa fontul de rezervă implicit și font opțiunea de care aveți nevoie
configurați FFmpeg cu „--enable-libfontconfig”. Pentru a activa modelare_text opțiune, tu
trebuie să configurați FFmpeg cu „--enable-libfribidi”.

Sintaxă

Acceptă următorii parametri:

cutie Folosit pentru a desena o casetă în jurul textului folosind culoarea de fundal. Valoarea trebuie să fie fie 1
(activare) sau 0 (dezactivare). Valoarea implicită a cutie este 0.

boxborderw
Setați lățimea chenarului pentru a fi desenat în jurul casetei folosind culoarea cutiei. Implicit
Valoarea boxborderw este 0.

culoarea cutiei
Culoarea care va fi folosită pentru desenarea casetei în jurul textului. Pentru sintaxa acestei opțiuni, verificați
secțiunea „Culoare” din manualul ffmpeg-utils.

Valoarea implicită a culoarea cutiei este alb".

frontierw
Setați lățimea chenarului care urmează să fie desenat în jurul textului folosind culoarea chenarului.
valoarea implicită a frontierw este 0.

culoarea chenarului
Setați culoarea care va fi folosită pentru desenarea chenarului în jurul textului. Pentru sintaxa acesteia
opțiunea, verificați secțiunea „Culoare” din manualul ffmpeg-utils.

Valoarea implicită a culoarea chenarului este negru".

expansiune
Selectați modul în care a) Sport and Nutrition Awareness Day in Manasia Around XNUMX people from the rural commune Manasia have participated in a sports and healthy nutrition oriented activity in one of the community’s sports ready yards. This activity was meant to gather, mainly, middle-aged people from a Romanian rural community and teach them about the benefits that sports have on both their mental and physical health and on how sporting activities can be used to bring people from a community closer together. Three trainers were made available for this event, so that the participants would get the best possible experience physically and so that they could have the best access possible to correct information and good sports/nutrition practices. b) Sports Awareness Day in Poiana Țapului A group of young participants have taken part in sporting activities meant to teach them about sporting conduct, fairplay, and safe physical activities. The day culminated with a football match. este extins. Poate fi fie „none”, „strftime” (învechit) sau
„normal” (implicit). Vezi drawtext_expansion, Text expansiune secțiunea de mai jos pentru
Detalii.

fix_bounds
Dacă este adevărat, verificați și remediați coordonatele textului pentru a evita tăierea.

fontcolor
Culoarea care trebuie utilizată pentru desenarea fonturilor. Pentru sintaxa acestei opțiuni, verificați
Secțiunea „Culoare” din manualul ffmpeg-utils.

Valoarea implicită a fontcolor este negru".

fontcolor_expr
Șir care este extins în același mod ca a) Sport and Nutrition Awareness Day in Manasia Around XNUMX people from the rural commune Manasia have participated in a sports and healthy nutrition oriented activity in one of the community’s sports ready yards. This activity was meant to gather, mainly, middle-aged people from a Romanian rural community and teach them about the benefits that sports have on both their mental and physical health and on how sporting activities can be used to bring people from a community closer together. Three trainers were made available for this event, so that the participants would get the best possible experience physically and so that they could have the best access possible to correct information and good sports/nutrition practices. b) Sports Awareness Day in Poiana Țapului A group of young participants have taken part in sporting activities meant to teach them about sporting conduct, fairplay, and safe physical activities. The day culminated with a football match. pentru a obține dinamic fontcolor valoare. De
implicit, această opțiune are valoare goală și nu este procesată. Când această opțiune este setată, aceasta
suprascrie fontcolor opțiune.

font
Familia de fonturi care va fi folosită pentru desenarea textului. Implicit Sans.

fontfile
Fișierul fontului care va fi utilizat pentru desenarea textului. Calea trebuie inclusă. Acest parametru
este obligatoriu dacă suportul fontconfig este dezactivat.

a desena
Această opțiune nu există, vă rugăm să consultați sistemul cronologic

alfa
Desenați textul aplicând amestecarea alfa. Valoarea poate fi fie un număr între 0.0
și 1.0 Expresia acceptă aceleași variabile x, y do. Valoarea implicită este 1.
Vă rugăm să vedeți fontcolor_expr

marimea fontului
Dimensiunea fontului care va fi folosit pentru desenarea textului. Valoarea implicită a marimea fontului este 16.

modelare_text
Dacă setați la 1, încercați să modelați textul (de exemplu, inversați ordinea de la dreapta la
stânga textul și alătura caracterelor arabe) înainte de a-l desena. În caz contrar, desenați doar
text exact așa cum este dat. Implicit 1 (dacă este acceptat).

ft_load_flags
Steaguri care vor fi utilizate pentru încărcarea fonturilor.

Steagurile mapează steagurile corespunzătoare suportate de libfreetype și sunt o combinație
dintre următoarele valori:

lipsă
no_scale
fără_suzie
randament
no_bitmap
vertical_layout
force_autohint
crop_bitmap
pedant
ignore_global_advance_width
fara_recurs
ignore_transform
monocrom
design_liniar
no_autohint

Valoarea implicită este „implicit”.

Pentru mai multe informații, consultați documentația pentru steagurile FT_LOAD_* libfreetype.

culoarea umbrei
Culoarea care va fi folosită pentru a desena o umbră în spatele textului desenat. Pentru sintaxa lui
această opțiune, verificați secțiunea „Culoare” din manualul ffmpeg-utils.

Valoarea implicită a culoarea umbrei este negru".

shadowx
întunecos
Decalajele x și y pentru poziția umbrei textului în raport cu poziția
text. Acestea pot fi valori pozitive sau negative. Valoarea implicită pentru ambele este
„0”.

număr_început
Numărul de cadru de început pentru variabila n/frame_num. Valoarea implicită este „0”.

dimensiunea filelor
Dimensiunea în număr de spații de utilizat pentru redarea filei. Valoarea implicită este 4.

timecode
Setați reprezentarea inițială a codului de timp în format „hh:mm:ss[:;.]ff”. Poate fi folosit
cu sau fără parametru text. timecode_rate trebuie specificată opțiunea.

timecode_rate, rată, r
Setați rata de cadre a codului de timp (numai codul de timp).

a) Sport and Nutrition Awareness Day in Manasia Around XNUMX people from the rural commune Manasia have participated in a sports and healthy nutrition oriented activity in one of the community’s sports ready yards. This activity was meant to gather, mainly, middle-aged people from a Romanian rural community and teach them about the benefits that sports have on both their mental and physical health and on how sporting activities can be used to bring people from a community closer together. Three trainers were made available for this event, so that the participants would get the best possible experience physically and so that they could have the best access possible to correct information and good sports/nutrition practices. b) Sports Awareness Day in Poiana Țapului A group of young participants have taken part in sporting activities meant to teach them about sporting conduct, fairplay, and safe physical activities. The day culminated with a football match.
Șirul de text care urmează să fie desenat. Textul trebuie să fie o secvență de caractere codificate UTF-8.
Acest parametru este obligatoriu dacă nu este specificat niciun fișier împreună cu parametrul fisier text.

fisier text
Un fișier text care conține text de desenat. Textul trebuie să fie o secvență codificată UTF-8
caractere.

Acest parametru este obligatoriu dacă nu este specificat niciun șir de text împreună cu parametrul a) Sport and Nutrition Awareness Day in Manasia Around XNUMX people from the rural commune Manasia have participated in a sports and healthy nutrition oriented activity in one of the community’s sports ready yards. This activity was meant to gather, mainly, middle-aged people from a Romanian rural community and teach them about the benefits that sports have on both their mental and physical health and on how sporting activities can be used to bring people from a community closer together. Three trainers were made available for this event, so that the participants would get the best possible experience physically and so that they could have the best access possible to correct information and good sports/nutrition practices. b) Sports Awareness Day in Poiana Țapului A group of young participants have taken part in sporting activities meant to teach them about sporting conduct, fairplay, and safe physical activities. The day culminated with a football match. .

Dacă ambele a) Sport and Nutrition Awareness Day in Manasia Around XNUMX people from the rural commune Manasia have participated in a sports and healthy nutrition oriented activity in one of the community’s sports ready yards. This activity was meant to gather, mainly, middle-aged people from a Romanian rural community and teach them about the benefits that sports have on both their mental and physical health and on how sporting activities can be used to bring people from a community closer together. Three trainers were made available for this event, so that the participants would get the best possible experience physically and so that they could have the best access possible to correct information and good sports/nutrition practices. b) Sports Awareness Day in Poiana Țapului A group of young participants have taken part in sporting activities meant to teach them about sporting conduct, fairplay, and safe physical activities. The day culminated with a football match. și fisier text sunt specificate, este aruncată o eroare.

reincarca
Dacă este setat la 1, fisier text va fi reîncărcat înainte de fiecare cadru. Asigurați-vă că îl actualizați
atomic sau poate fi citit parțial sau chiar eșua.

x
y Expresiile care specifică decalajele în care textul va fi desenat în videoclip
cadru. Ele sunt relativ la marginea de sus/stânga a imaginii de ieșire.

Valoarea implicită a x și y este „0”.

Vezi mai jos lista de constante și funcții acceptate.

Parametrii pentru x și y sunt expresii care conțin următoarele constante și
funcţii:

da raportul de aspect al afișajului de intrare, este același cu (w / h) * SAR

hsub
vsub
valorile subeșantionului cromatic orizontal și vertical. De exemplu, pentru formatul pixelilor
"yuv422p" hsub este 2 și vsub este 1.

linia_h, lh
înălțimea fiecărei linii de text

main_h, h, H
înălțimea de intrare

main_w, w, W
lățimea de intrare

max_glyph_a, ascensiune
distanța maximă de la linia de bază până la cea mai înaltă/superioară coordonată a grilei
plasați un punct de contur al glifului, pentru toate glifele redate. Este o valoare pozitivă, datorată
la orientarea grilei cu axa Y în sus.

max_glyph_d, coborâre
distanța maximă de la linia de bază până la cea mai joasă coordonată a grilei folosită pentru a plasa a
punct de contur al glifului, pentru toate glifele redate. Aceasta este o valoare negativă, din cauza
orientarea grilei, cu axa Y în sus.

max_glyph_h
înălțimea maximă a glifului, adică înălțimea maximă pentru toate glifele conținute în
text redat, este echivalent cu ascensiune - coborâre.

max_glyph_w
lățimea maximă a glifului, adică lățimea maximă pentru toate glifele conținute în
text redat

n numărul de cadre de intrare, începând de la 0

rand(min, max)
returnează un număr aleatoriu inclus între minute și max

SAR Raportul de aspect al eșantionului de intrare.

t marca temporală exprimată în secunde, NAN dacă marca temporală de intrare este necunoscută

text_h, th
înălțimea textului redat

text_w, tw
lățimea textului redat

x
y coordonatele de decalaj x și y unde este desenat textul.

Acești parametri permit x și y expresii pentru a se referi unul la altul, astfel încât să puteți pentru
exemplu specificați „y=x/dar”.

Text expansiune

If expansiune este setat la „strftime”, filtrul recunoaște strftime() secvențe în
textul furnizat și le extinde în consecință. Verificați documentația de strftime(). Acest
caracteristica este depreciată.

If expansiune este setat la „niciunul”, textul este tipărit text.

If expansiune este setat la „normal” (care este implicit), următorul mecanism de extindere
este folosit.

Caracterul backslash \, urmat de orice caracter, se extinde întotdeauna la al doilea
caracter.

Secvența de forma „%{...}” este extinsă. Textul dintre acolade este o funcție
nume, urmat eventual de argumente separate prin „:”. Dacă argumentele conţin special
caractere sau delimitatori (':' sau '}'), ar trebui să fie escape.

Rețineți că, probabil, trebuie să fie eliminate ca valoare pentru a) Sport and Nutrition Awareness Day in Manasia Around XNUMX people from the rural commune Manasia have participated in a sports and healthy nutrition oriented activity in one of the community’s sports ready yards. This activity was meant to gather, mainly, middle-aged people from a Romanian rural community and teach them about the benefits that sports have on both their mental and physical health and on how sporting activities can be used to bring people from a community closer together. Three trainers were made available for this event, so that the participants would get the best possible experience physically and so that they could have the best access possible to correct information and good sports/nutrition practices. b) Sports Awareness Day in Poiana Țapului A group of young participants have taken part in sporting activities meant to teach them about sporting conduct, fairplay, and safe physical activities. The day culminated with a football match. opțiune în
șir de argument de filtru și ca argument de filtru în descrierea graficului de filtru și
eventual și pentru carapace, care face până la patru niveluri de evadare; folosind un fișier text
evita aceste probleme.

Sunt disponibile următoarele funcții:

expr, e
Rezultatul evaluării expresiei.

Trebuie să fie nevoie de un argument care specifică expresia de evaluat, care acceptă
aceleași constante și funcții ca și x și y valorile. Rețineți că nu toate constantele ar trebui
poate fi folosit, de exemplu dimensiunea textului nu este cunoscută atunci când se evaluează expresia, deci
constant text_w și text_h va avea o valoare nedefinită.

expr_int_format, EIF
Evaluați valoarea și rezultatul expresiei ca întreg formatat.

Primul argument este expresia care trebuie evaluată, la fel ca și pentru expres Funcția.
Al doilea argument specifică formatul de ieșire. Valorile permise sunt x, X, d și u.
Ele sunt tratate exact ca în funcția „printf”. Al treilea parametru este opțional
și setează numărul de poziții luate de ieșire. Poate fi folosit pentru a adăuga umplutură
cu zerouri din stânga.

gmtime
Ora la care rulează filtrul, exprimată în UTC. Poate accepta un argument:
a strftime() șir de format.

ora locala
Ora la care rulează filtrul, exprimată în fusul orar local. Se poate
accepta un argument: a strftime() șir de format.

metadate
Metadatele cadru. Trebuie să ia un argument care specifică cheia de metadate.

n, cadru_num
Numărul cadrului, începând de la 0.

tip_pict
O descriere cu 1 caracter a tipului actual de imagine.

pct Marca temporală a cadrului curent. Poate dura până la două argumente.

Primul argument este formatul marcajului de timp; este implicit „flt” pentru secunde ca
un număr zecimal cu precizie de microsecunde; „hms” înseamnă un format
[-]HH:MM:SS.mmm marca temporală cu precizie în milisecunde.

Al doilea argument este un offset adăugat la marcajul de timp.

Exemple

· Desenați „Test Text” cu font FreeSerif, folosind valorile implicite pentru opțional
parametri.

drawtext="fontfile=/usr/share/fonts/truetype/freefont/FreeSerif.ttf: text='Test Text'"

· Desenați „Test Text” cu font FreeSerif de dimensiunea 24 la poziția x=100 și y=50 (numărând
din colțul din stânga sus al ecranului), textul este galben cu o casetă roșie în jurul lui. Ambii
textul și caseta au o opacitate de 20%.

drawtext="fontfile=/usr/share/fonts/truetype/freefont/FreeSerif.ttf: text='Test text':\
x=100: y=50: fontsize=24: fontcolor=[e-mail protejat]: box=1: boxcolor=[e-mail protejat]"

Rețineți că ghilimelele duble nu sunt necesare dacă spațiile nu sunt folosite în interiorul
lista de parametri.

· Afișați textul în centrul cadrului video:

drawtext="fontsize=30:fontfile=FreeSerif.ttf:text='hello world':x=(w-text_w)/2:y=(h-text_h)/2"

· Afișați o linie de text care alunecă de la dreapta la stânga în ultimul rând al cadrului video. The
fişier LINIE LUNGA se presupune că conține o singură linie fără linii noi.

drawtext="fontsize=15:fontfile=FreeSerif.ttf:text=LONG_LINE:y=h-line_h:x=-50*t"

· Afișați conținutul fișierului CREDITE de pe partea de jos a cadrului și derulați în sus.

drawtext="fontsize=20:fontfile=FreeSerif.ttf:textfile=CREDITS:y=h-20*t"

· Desenați o singură literă verde „g”, în centrul videoclipului de intrare. Linia de bază a glifului
este plasat la jumătatea înălțimii ecranului.

drawtext="fontsize=60:fontfile=FreeSerif.ttf:fontcolor=green:text=g:x=(w-max_glyph_w)/2:y=h/2-ascent"

· Afișați text timp de 1 secundă la fiecare 3 secunde:

drawtext="fontfile=FreeSerif.ttf:fontcolor=white:x=100:y=x/dar:enable=lt(mod(t\,3)\,1):text='blink'"

· Utilizați fontconfig pentru a seta fontul. Rețineți că două puncte trebuie să fie scăpate.

drawtext='fontfile=Linux Libertine O-40\:style=Semibold:text=FFmpeg'

· Imprimați data unei codări în timp real (vezi strftime(3)):

drawtext='fontfile=FreeSans.ttf:text=%{localtime\:%a %b %d %Y}'

· Afișați textul care se estompează în interior și în afara (apar/dispare):

#!/ Bin / sh
DS=1.0 # începe afișare
DE=10.0 # sfârșit de afișare
FID=1.5 # durata estompării
FOD=5 # durata dispariției
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)*între(t\\, $DS\\, $DS + $FID) + (-(t - $DE) /$FOD)*între(t\\, $DE - $FOD\\, $DE) )\\, 0\\, 255) \\\\: x\\\\: 2 }"

Pentru mai multe informații despre libfreetype, verificați:http://www.freetype.org/>.

Pentru mai multe informații despre fontconfig, verificați:
<http://freedesktop.org/software/fontconfig/fontconfig-user.html>.

Pentru mai multe informații despre libfribidi, verificați:http://fribidi.org/>.

edgedetec
Detectează și desenează marginile. Filtrul folosește algoritmul Canny Edge Detection.

Filtrul acceptă următoarele opțiuni:

scăzut
înalt
Setați valorile de prag scăzute și ridicate utilizate de algoritmul de prag Canny.

Pragul înalt selectează pixelii de margine „puternici”, care sunt apoi conectați
8-conectivitate cu pixelii de margine „slabi” selectați de pragul scăzut.

scăzut și înalt valorile de prag trebuie alese în intervalul [0,1] și scăzut ar trebui să fie
mai mic sau egal cu înalt.

Valoarea implicită pentru scăzut este „20/255”, iar valoarea implicită pentru înalt este „50/255”.

mod
Definiți modul de desen.

fire
Desenați fire albe/gri pe fundal negru.

mix de culori
Amestecați culorile pentru a crea un efect de vopsea/desen animat.

Valoarea implicită este fire.

Exemple

· Detectare standard a marginilor cu valori personalizate pentru pragul histerezis:

edgedetect=low=0.1:high=0.4

· Efect de vopsire fără prag:

edgedetect=mode=colormix:high=0

eq
Setați luminozitatea, contrastul, saturația și ajustarea aproximativă a gama.

Filtrul acceptă următoarele opțiuni:

contrast
Setați expresia contrastului. Valoarea trebuie să fie o valoare flotantă în intervalul „-2.0” la 2.0.
Valoarea implicită este „0”.

strălucire
Setați expresia de luminozitate. Valoarea trebuie să fie o valoare flotantă în intervalul „-1.0” la 1.0.
Valoarea implicită este „0”.

saturaţie
Setați expresia de saturație. Valoarea trebuie să fie un float în intervalul 0.0 până la 3.0. The
valoarea implicită este „1”.

gamma
Setați expresia gamma. Valoarea trebuie să fie un float în intervalul 0.1 până la 10.0. Implicit
valoarea este „1”.

gamma_r
Setați expresia gamma pentru roșu. Valoarea trebuie să fie un float în intervalul 0.1 până la 10.0. The
valoarea implicită este „1”.

gama_g
Setați expresia gamma pentru verde. Valoarea trebuie să fie un float în intervalul 0.1 până la 10.0.
Valoarea implicită este „1”.

gama_b
Setați expresia gamma pentru albastru. Valoarea trebuie să fie un float în intervalul 0.1 până la 10.0. The
valoarea implicită este „1”.

gama_greutate
Setați expresia greutății gamma. Poate fi folosit pentru a reduce efectul unui gamma ridicat
valoare pe zonele luminoase ale imaginii, de exemplu, împiedicați-le să devină supraamplificate și pur și simplu
alb. Valoarea trebuie să fie un float în intervalul 0.0 până la 1.0. O valoare de 0.0 transformă gama
corectare până la capăt, în timp ce 1.0 îl lasă la putere maximă. Implicit este „1”.

eval
Setați când expresiile pentru luminozitate, contrast, saturație și expresii gamma
sunt evaluate.

Acceptă următoarele valori:

înăuntru
evaluează expresiile o singură dată în timpul inițializării filtrului sau când o comandă
este procesat

cadru
evaluați expresiile pentru fiecare cadru primit

Valoarea implicită este înăuntru.

Expresiile acceptă următorii parametri:

n numărul de cadre al cadrului de intrare începând de la 0

post poziția octetului pachetului corespunzător în fișierul de intrare, NAN dacă nu este specificat

r rata de cadre a videoclipului de intrare, NAN dacă rata de cadre de intrare este necunoscută

t marca temporală exprimată în secunde, NAN dacă marca temporală de intrare este necunoscută

Comenzi

Filtrul acceptă următoarele comenzi:

contrast
Setați expresia contrastului.

strălucire
Setați expresia de luminozitate.

saturaţie
Setați expresia de saturație.

gamma
Setați expresia gamma.

gamma_r
Setați expresia gamma_r.

gama_g
Setați expresia gamma_g.

gama_b
Setați expresia gamma_b.

gama_greutate
Setați expresia gama_weight.

Comanda acceptă aceeași sintaxă a opțiunii corespunzătoare.

Dacă expresia specificată nu este validă, se păstrează la valoarea sa curentă.

eroziune
Aplicați efectul de eroziune videoclipului.

Acest filtru înlocuiește pixelul cu local(3x3) minim.

Acceptă următoarele opțiuni:

prag0
prag1
prag2
prag3
Limitați modificarea maximă pentru fiecare plan, implicit este 65535. Dacă 0, planul va rămâne
neschimbat.

coordonatele
Flag care specifică pixelul la care se face referire. Implicit este 255, adică toți cei opt pixeli sunt
folosit.

Semnalează hărți cu coordonate locale 3x3, astfel:

1 2 3
4 5
6 7 8

avioane de extragere
Extrageți componentele canalului de culoare din fluxul video de intrare într-un videoclip separat în tonuri de gri
fluxuri.

Filtrul acceptă următoarea opțiune:

avioane
Setați planul(e) de extras.

Valorile disponibile pentru avioane sunt:

y
u
v
a
r
g
b

Alegerea avioanelor care nu sunt disponibile în intrare va avea ca rezultat o eroare. Adica tu
nu pot selecta planurile „r”, „g”, „b” cu planurile „y”, „u”, „v” în același timp.

Exemple

· Extrageți componenta canalului de culoare luma, u și v din cadrul video de intrare în 3 tonuri de gri
ieșiri:

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

elbg
Aplicați un efect de posterizare folosind algoritmul ELBG (Enhanced LBG).

Pentru fiecare imagine de intrare, filtrul va calcula maparea optimă de la intrare la
ieșire având în vedere lungimea registrului de coduri, adică numărul de culori distincte de ieșire.

Acest filtru acceptă următoarele opțiuni.

codebook_length, l
Setați lungimea registrului de coduri. Valoarea trebuie să fie un număr întreg pozitiv și reprezintă numărul
de culori distincte de ieșire. Valoarea implicită este 256.

nb_step, n
Setați numărul maxim de iterații de aplicat pentru calcularea mapării optime. The
valoarea este mai mare, cu atât rezultatul este mai bun și timpul de calcul este mai mare. Mod implicit
valoarea este 1.

sămânță, s
Setați o sămânță aleatorie, trebuie să fie un număr întreg inclus între 0 și UINT32_MAX. Dacă nu
specificat sau dacă se setează în mod explicit la -1, filtrul va încerca să folosească o bază bună aleatorie
pe baza celui mai bun efort.

pal8
Setați formatul de pixeli de ieșire pal8. Această opțiune nu funcționează cu o lungime mai mare a registrului de coduri
mai mult de 256.

decolora
Aplicați un efect de fade-in/out la videoclipul de intrare.

Acceptă următorii parametri:

tip, t
Tipul de efect poate fi fie „in” pentru un fade-in, fie „out” pentru un efect de fade-out.
Implicit este „în”.

start_frame, s
Specificați numărul cadrului la care să începeți aplicarea efectului de estompare. Implicit este 0.

nb_frames, n
Numărul de cadre pe care le durează efectul de estompare. La sfârșitul efectului de fade-in,
video de ieșire va avea aceeași intensitate ca și video de intrare. La sfârșitul fade-ului
tranziția de ieșire, videoclipul de ieșire va fi umplut cu cele selectate culoare. Implicit este
25.

alfa
Dacă este setat la 1, estompați numai canalul alfa, dacă există unul pe intrare. Valoarea implicită este 0.

timpul de începere, st
Specificați marcajul de timp (în secunde) al cadrului pentru a începe să aplicați efectul de estompare. Dacă
sunt specificate atât start_frame, cât și start_time, estomparea va începe la oricare dintre acestea
ultimul. Implicit este 0.

durată, d
Numărul de secunde pentru care trebuie să dureze efectul de estompare. La sfârșitul fade-in-ului
efectul video de ieșire va avea aceeași intensitate ca și video de intrare, la sfârșitul
tranziția fade-out cu care videoclipul de ieșire va fi umplut selectat culoare. Dacă
sunt specificate atât durata cât și nb_frames, se folosește durata. Implicit este 0 (nb_frames
este folosit implicit).

culoare, c
Specificați culoarea decolorării. Implicit este „negru”.

Exemple

· Fade în primele 30 de cadre ale videoclipului:

fade=in:0:30

Comanda de mai sus este echivalentă cu:

fade=t=in:s=0:n=30

· Eliminați ultimele 45 de cadre ale unui videoclip cu 200 de cadre:

fade=out:155:45
fade=type=out:start_frame=155:nb_frames=45

· Se estompează în primele 25 de cadre și se estompează ultimele 25 de cadre ale unui videoclip de 1000 de cadre:

fade=in:0:25, fade=out:975:25

· Faceți primele 5 cadre galbene, apoi treceți din cadrul 5-24:

fade=in:5:20:culoare=galben

· Fade in alpha peste primele 25 de cadre ale videoclipului:

fade=in:0:25:alpha=1

· Faceți primele 5.5 secunde negre, apoi atenuați timp de 0.5 secunde:

fade=t=in:st=5.5:d=0.5

fftfilt
Aplicați expresii arbitrare mostrelor din domeniul frecvenței

dc_Y
Reglați valoarea dc (câștig) a planului luminos al imaginii. Filtrul acceptă un
valoare întreagă în intervalul 0 la 1000. Valoarea implicită este setată la 0.

dc_U
Reglați valoarea dc (câștig) a primului plan cromatic al imaginii. Filtrul acceptă un
valoare întreagă în intervalul 0 la 1000. Valoarea implicită este setată la 0.

dc_V
Reglați valoarea dc (câștig) al celui de-al doilea plan cromatic al imaginii. Filtrul acceptă un
valoare întreagă în intervalul 0 la 1000. Valoarea implicită este setată la 0.

cu greutate
Setați expresia ponderii domeniului de frecvență pentru planul luminos.

greutate_U
Setați expresia ponderii domeniului de frecvență pentru primul plan cromatic.

greutate_V
Setați expresia ponderii domeniului de frecvență pentru al 2-lea plan cromatic.

Filtrul acceptă următoarele variabile:

X
Y Coordonatele eșantionului curent.

W
H Lățimea și înălțimea imaginii.

Exemple

· Trecere inalta:

fftfilt=dc_Y=128:weight_Y='squish(1-(Y+X)/100)'

· trece-jos:

fftfilt=dc_Y=0:weight_Y='squish((Y+X)/100-1)'

· Ascutire:

fftfilt=dc_Y=0:weight_Y='1+squish(1-(Y+X)/100)'

camp
Extrageți un singur câmp dintr-o imagine întrețesată folosind aritmetica pasului pentru a evita pierderea
Timp CPU. Cadrele de ieșire sunt marcate ca neintercalate.

Filtrul acceptă următoarele opțiuni:

tip
Specificați dacă să extrageți partea de sus (dacă valoarea este 0 sau "sus") sau câmpul de jos
(dacă valoarea este 1 sau „de jos”).

meci de teren
Filtru de potrivire a câmpului pentru telecine inversă. Este menit să reconstruiască progresivul
cadre dintr-un flux telecined. Filtrul nu scapă cadre duplicate, așa că pentru a obține
un „fieldmatch” complet de telecine inversă trebuie să fie urmat de un filtru de decimare, cum ar fi
as decima în filtergraph.

Separarea potrivirii câmpului și decimarea este motivată în special de
posibilitatea de a introduce un filtru de de-interlacing fallback între cele două. Dacă sursa
are conținut mixt telecined și real întrețesut, „fieldmatch” nu se va putea potrivi
câmpuri pentru părțile întrețesute. Dar aceste rame pieptănate rămase vor fi marcate ca
întrețesat și, astfel, poate fi de-intercalat de un filtru ulterior, cum ar fi yadif înainte
decimare.

Pe lângă diferitele opțiuni de configurare, „fieldmatch” poate dura o secundă opțională
flux, activat prin intermediul PPSRC. opțiune. Dacă este activată, reconstrucția cadrelor va fi
pe baza câmpurilor și cadrelor din acest al doilea flux. Acest lucru permite să fie prima intrare
preprocesate pentru a ajuta diferiții algoritmi ai filtrului, păstrând în același timp
ieșire fără pierderi (presupunând că câmpurile sunt potrivite corect). De obicei, un domeniu conștient
denoiser sau ajustările de luminozitate/contrast pot ajuta.

Rețineți că acest filtru folosește aceiași algoritmi ca TIVTC/TFM (proiect AviSynth) și
VIVTC/VFM (proiect VapourSynth). Ultimul este o clonă ușoară a TFM din care „fieldmatch”
se bazeaza pe. În timp ce semantica și utilizarea sunt foarte apropiate, unele nume de comportament și opțiuni
poate diferi.

decima filtrul funcționează în prezent numai pentru intrarea cu frecvența de cadre constantă. Dacă intrarea dvs. are
Conținut mixt telecined (30fps) și progresiv cu un framerate mai mic, cum ar fi 24fps, folosește
următorul filterchain pentru a produce fluxul CFR necesar:
„dejudder,fps=30000/1001,fieldmatch,decimate”.

Filtrul acceptă următoarele opțiuni:

comandă
Specificați ordinea presupusă a câmpurilor a fluxului de intrare. Valorile disponibile sunt:

Auto
Detectare automată a parității (utilizați valoarea de paritate internă a FFmpeg).

BFF Presupuneți mai întâi câmpul de jos.

tff Să presupunem mai întâi câmpul de sus.

Rețineți că uneori se recomandă să nu aveți încredere în paritatea anunțată de flux.

Valoarea implicită este Auto.

mod
Setați modul de potrivire sau strategia de utilizat. pc modul este cel mai sigur în sensul că acesta
nu va risca să creeze sacadat din cauza cadrelor duplicate atunci când este posibil, dar dacă există
editări proaste sau câmpuri amestecate va ajunge să scoată cadre pieptănate atunci când o potrivire bună
ar putea exista de fapt. Pe de altă parte, pcn_ub modul este cel mai riscant din punct de vedere al
creând sacadat, dar aproape întotdeauna va găsi un cadru bun dacă există. The
alte valori sunt toate undeva la mijloc pc și pcn_ub în ceea ce priveşte riscul de sacadat
și crearea cadrelor duplicate în comparație cu găsirea potrivirilor bune în secțiuni cu editări proaste,
câmpuri orfane, câmpuri amestecate etc.

Mai multe detalii despre p/c/n/u/b sunt disponibile în p/c/n/u/b sens secţiune.

Valorile disponibile sunt:

pc Potrivire în două direcții (p/c)

pc_n
Potrivire în două direcții și încercarea celui de-al treilea meci dacă este încă pieptănat (p/c + n)

pc_u
Potrivire în două direcții și încercare a treia potrivire (aceeași ordine) dacă este încă pieptănat (p/c + u)

pc_n_ub
Potrivire în două direcții, încercând al 2-lea meci dacă este încă pieptănat și încercând al 3-lea/4-lea meci dacă
încă pieptănat (p/c + n + u/b)

pcn Potrivire în trei căi (p/c/n)

pcn_ub
potrivirea în trei direcții și încercarea de a 3-a/4-a meciuri dacă toate cele 5 potriviri originale sunt
detectat ca pieptănat (p/c/n + u/b)

Paranteza de la sfârșit indică potrivirile care ar fi folosite pentru acel mod
presupunând comandă=tff (Și camp on Auto or top).

În ceea ce privește viteza pc modul este de departe cel mai rapid și pcn_ub este cel mai lent.

Valoarea implicită este pc_n.

PPSRC.
Marcați fluxul de intrare principal ca intrare preprocesată și activați intrarea secundară
stream ca sursă curată din care să alegeți câmpurile. Vezi introducerea filtrului pentru
mai multe detalii. Este similar cu clip2 caracteristică de la VFM/TFM.

Valoarea implicită este 0 (dezactivată).

camp
Setați câmpul pentru a se potrivi de la. Este recomandat să setați aceasta la aceeași valoare ca comandă
cu excepția cazului în care întâmpinați eșecuri de potrivire cu acea setare. În anumite împrejurări
modificarea câmpului din care este folosit pentru potrivire poate avea un impact mare asupra potrivirii
performanţă. Valorile disponibile sunt:

Auto
Automat (aceeași valoare ca comandă).

de jos
Se potrivește din câmpul de jos.

top Meci din câmpul de sus.

Valoarea implicită este Auto.

mchroma
Setați dacă croma este inclusă sau nu în timpul comparațiilor meciurilor. În cele mai multe cazuri, acesta
se recomandă să lăsați acest lucru activat. Ar trebui să setați acest lucru la 0 numai dacă clipul dvs. are
probleme de croma proaste, cum ar fi curcubeul intens sau alte artefacte. Setând acest lucru la 0
ar putea fi folosit și pentru a accelera lucrurile cu prețul unei anumite precizie.

Valoarea implicită este 1.

y0
y1 Acestea definesc o bandă de excludere care exclude liniile dintre y0 și y1 din a fi
incluse în decizia de potrivire a câmpului. O bandă de excludere poate fi folosită pentru a ignora
subtitrări, o siglă sau alte lucruri care pot interfera cu potrivirea. y0 setează
pornind linia de scanare și y1 stabilește linia finală; toate liniile dintre ele y0 și y1
(Inclusiv y0 și y1) vor fi ignorate. Setare y0 și y1 la aceeași valoare va
dezactivați caracteristica. y0 și y1 implicit la 0.

scthresh
Setați pragul de detectare a schimbării scenei ca procent din modificarea maximă a lumii
avion. Valorile bune sunt în intervalul „[8.0, 14.0]”. Detectarea schimbării scenei este doar
relevante în caz chibrit de pieptene=sc. Gama pentru scthresh este „[0.0, 100.0]”.

Valoarea implicită este 12.0.

chibrit de pieptene
Cand combatch nu este nici unul, „fieldmatch” va ține cont de scorurile pieptănate ale
meciuri atunci când decideți ce meci să folosiți ca meci final. Valorile disponibile sunt:

nici unul
Nicio potrivire finală bazată pe scorurile pieptănate.

sc Scorurile pieptănate sunt folosite numai atunci când este detectată o schimbare a scenei.

Complet
Folosește scoruri pieptănate tot timpul.

Implicit este sc.

combdbg
Forțați „fieldmatch” să calculeze valorile pieptănate pentru anumite potriviri și să le imprime.
Această setare este cunoscută ca micout în vocabularul TFM/VFM. Valorile disponibile sunt:

nici unul
Fără calcul forțat.

pcn Forță calculele p/c/n.

pcnub
Forțați calculele p/c/n/u/b.

Valoarea implicită este nici unul.

cthresh
Acesta este pragul de pieptănare a zonei utilizat pentru detectarea cadrului pieptănat. Acest lucru în esență
controlează cât de „puternic” sau „vizibil” trebuie să fie detectat pieptănarea. Valori mai mari înseamnă
pieptănarea trebuie să fie mai vizibilă și valori mai mici înseamnă că pieptănarea poate fi mai puțin vizibilă sau
puternică și încă detectată. Setările valide sunt de la „-1” (fiecare pixel va fi
detectat ca pieptănat) la 255 (niciun pixel nu va fi detectat ca pieptănat). Acesta este practic un
valoarea diferenței de pixeli. Un interval bun este „[8, 12]”.

Valoarea implicită este 9.

cromă
Setează dacă croma este luată în considerare sau nu în decizia cadrului pieptănat. Doar dezactivați
asta dacă sursa ta are probleme de croma (curcubeu, etc.) care cauzează probleme
pentru detectarea cadrului pieptănat cu croma activată. De fapt, folosind cromă=0 is
de obicei mai fiabil, cu excepția cazului în care există doar pieptănarea cromatică în
sursă.

Valoarea implicită este 0.

blocx
blocat
Setați, respectiv, dimensiunea pe axa x și pe axa y a ferestrei utilizate în timpul cadrului pieptănat
detectare. Aceasta are de-a face cu dimensiunea zonei în care combpel pixelii sunt
trebuie să fie detectat ca pieptănat pentru ca un cadru să fie declarat pieptănat. Vezi combpel
descrierea parametrului pentru mai multe informații. Valorile posibile sunt orice număr care este o putere
din 2 începând de la 4 și mergând până la 512.

Valoarea implicită este 16.

combpel
Numărul de pixeli pieptănați din oricare dintre blocat by blocx blocuri de dimensiune pe
cadru pentru ca cadrul să fie detectat ca pieptănat. In timp ce cthresh controlează cât de „vizibil” este
pieptănarea trebuie să fie, această setare controlează „cât” pieptănare trebuie să fie în oricare
zonă localizată (o fereastră definită de blocx și blocat setări) pe cadru.
Valoarea minimă este 0 și maximă este „blocky x blockx” ( moment în care nu vor exista cadre
fi vreodată detectat ca pieptănat). Această setare este cunoscută ca MI în vocabularul TFM/VFM.

Valoarea implicită este 80.

p/c/n/u/b sens

p/c/n

Presupunem următorul flux telecined:

Câmpurile de sus: 1 2 2 3 4
Câmpurile de jos: 1 2 3 4 4

Numerele corespund cadrului progresiv la care se referă câmpurile. Iată, primele două
ramele sunt progresive, a 3-a și a 4-a sunt pieptănate și așa mai departe.

Când „fieldmatch” este configurat să ruleze o potrivire de jos (camp=de jos) asa se face
acest flux de intrare este transformat:

Flux de intrare:
T 1 2 2 3 4
B 1 2 3 4 4 <-- referință potrivită

Meciuri: ccnnc

Flux de ieșire:
T 1 2 3 4 4
B 1 2 3 4 4

Ca rezultat al potrivirii câmpurilor, putem vedea că unele cadre sunt duplicate. A efectua
un telecine complet invers, trebuie să te bazezi pe un filtru de decimare după această operație.
Vezi de exemplu decima filtru.

Aceeași operație se potrivește acum din câmpurile de sus (camp=top) arata asa:

Flux de intrare:
T 1 2 2 3 4 <-- referință de potrivire
B 1 2 3 4 4

Meciuri: ccppc

Flux de ieșire:
T 1 2 2 3 4
B 1 2 2 3 4

În aceste exemple, putem vedea ce p, c și n Rău; practic, se referă la cadru și
câmp de paritate opusă:

*<p se potrivește cu câmpul parității opuse din cadrul precedent>
*<c se potrivește cu câmpul parității opuse din cadrul curent>
*<n se potrivește cu câmpul parității opuse din cadrul următor>

u/b

u și b potrivirile sunt puțin speciale în sensul că se potrivesc din contra
steag de paritate. În exemplele următoare, presupunem că în prezent ne potrivim cu al 2-lea
cadru (Sus:2, jos:2). În funcție de meci, un „x” este plasat deasupra și sub fiecare
câmpuri potrivite.

Cu potrivire de jos (camp=de jos):

Meci: cpnbu

xxxxx
Top 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2
De jos 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3
xxxxx

Cadre de ieșire:
2 1 2 2 2
2 2 2 1 3

Cu potrivire de sus (camp=top):

Meci: cpnbu

xxxxx
Top 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2
De jos 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3
xxxxx

Cadre de ieșire:
2 2 2 1 2
2 1 3 2 2

Exemple

IVTC simplu al unui prim flux telecinizat din câmpul superior:

fieldmatch=order=tff:combmatch=none, decimați

IVTC avansat, cu alternativă activată yadif pentru rame încă pieptănate:

fieldmatch=order=tff:combmatch=full, yadif=deint=interlaced, decimate

comandă de teren
Transformați ordinea câmpurilor video de intrare.

Acceptă următorii parametri:

comandă
Ordinea câmpului de ieșire. Valorile valide sunt tff pentru câmpul de sus mai întâi sau BFF pentru fund
primul câmp.

Valoarea implicită este tff.

Transformarea se face prin deplasarea conținutului imaginii în sus sau în jos cu o linie și
umplerea rândului rămas cu conținut adecvat de imagine. Această metodă este consecventă
cu majoritatea convertizorilor de ordine de câmp de difuzare.

Dacă videoclipul de intrare nu este marcat ca fiind întrețesut sau este deja marcat ca fiind
din ordinea câmpului de ieșire necesară, atunci acest filtru nu modifică videoclipul primit.

Este foarte util atunci când convertiți la sau de la material PAL DV, care este primul câmp de jos.

De exemplu:

ffmpeg -i in.vob -vf "fieldorder=bff" out.dv

fifo
Memorați imaginile de intrare și trimiteți-le când sunt solicitate.

Este util în principal atunci când este inserat automat de cadrul libavfilter.

Nu ia parametri.

găsi_rect
Găsiți un obiect dreptunghiular

Acceptă următoarele opțiuni:

obiect
Calea fișierului imaginii obiect trebuie să fie în gri8.

prag
Pragul de detectare, implicit este 0.5.

mipmaps
Numărul de mipmaps, implicit este 3.

xmin, ymin, xmax, ymax
Specifică dreptunghiul în care se caută.

Exemple

· Generați o paletă reprezentativă a unui videoclip dat folosind FFMPEG:

FFMPEG -I FILE.TS-VF Find_RECT = NewRef.pgm, Cover_Rect = Cover.jpg: MODE = COVER NEW.MKV

cover_rect
Acoperiți un obiect dreptunghiular

Acceptă următoarele opțiuni:

acoperi
Calea fișierului pentru imaginea de copertă opțională, trebuie să fie în yuv420.

mod
Setați modul de acoperire.

Acceptă următoarele valori:

acoperi
acoperiți-l cu imaginea furnizată

estompare
acoperiți-l prin interpolarea pixelilor din jur

Valoarea implicită este estompare.

Exemple

· Generați o paletă reprezentativă a unui videoclip dat folosind FFMPEG:

FFMPEG -I FILE.TS-VF Find_RECT = NewRef.pgm, Cover_Rect = Cover.jpg: MODE = COVER NEW.MKV

format
Convertiți videoclipul de intrare într-unul dintre formatele de pixeli specificate. Libavfilter va încerca
alegeți unul care este potrivit ca intrare pentru următorul filtru.

Acceptă următorii parametri:

pix_fmts
O listă separată de „|” de nume de format de pixeli, cum ar fi „pix_fmts=yuv420p|monow|rgb24”.

Exemple

· Convertiți videoclipul de intrare în yuv420p format

format=pix_fmts=yuv420p

Convertiți videoclipul de intrare în oricare dintre formatele din listă

format=pix_fmts=yuv420p|yuv444p|yuv410p

FPS
Convertiți videoclipul la rata de cadre constantă specificată prin duplicarea sau eliminarea cadrelor ca
necesar.

Acceptă următorii parametri:

FPS Rata de cadre de ieșire dorită. Valoarea implicită este 25.

rotund
Metoda rotunjirii.

Valorile posibile sunt:

zero
zero rotund spre 0

INF rotunjire departe de la 0

jos
rotund spre -infinit

up rotund spre +infinit

aproape
rotunjit la cel mai apropiat

Valoarea implicită este „aproape”.

timpul de începere
Să presupunem că primul PTS ar trebui să fie valoarea dată, în secunde. Acest lucru permite
umplutură/tunderea la începutul fluxului. În mod implicit, nu se face nicio presupunere cu privire la
PTS așteptat pentru primul cadru, deci nu se efectuează nicio umplutură sau tăiere. De exemplu, aceasta
ar putea fi setat la 0 pentru a completa începutul cu duplicate ale primului cadru în cazul unui videoclip
fluxul începe după fluxul audio sau pentru a tăia orice cadre cu un PTS negativ.

Alternativ, opțiunile pot fi specificate ca șir plat: FPS[:rotund].

Consultați și setpts filtru.

Exemple

· O utilizare tipică pentru a seta fps-ul la 25:

fps=fps=25

· Setează fps-ul la 24, folosind metoda de abreviere și rotunjire pentru a rotunji la cel mai apropiat:

fps=fps=film:round=aproape

pachet de cadru
Împachetați două fluxuri video diferite într-un videoclip stereoscopic, activând metadatele corespunzătoare
codecuri acceptate. Cele două vizualizări ar trebui să aibă aceeași dimensiune și aceeași viteză de cadre și procesare
se va opri când videoclipul mai scurt se termină. Vă rugăm să rețineți că puteți ajusta în mod convenabil vizualizarea
proprietăți cu scară și FPS Filtre.

Acceptă următorii parametri:

format
Formatul de ambalare dorit. Valorile acceptate sunt:

sbs Vizualizările sunt una lângă alta (implicit).

fila Vederile sunt una peste alta.

linii
Vederile sunt pline pe rând.

coloane
Vizualizările sunt împachetate pe coloană.

frameseq
Vederile sunt intercalate temporal.

Cateva exemple:

# Convertiți vizualizările din stânga și din dreapta într-un videoclip secvenţial cu cadre
ffmpeg -i STÂNGA -i DREAPTA -filter_complex framepack=frameseq OUTPUT

# Convertiți vizualizările într-un videoclip alăturat cu aceeași rezoluție de ieșire ca și intrare
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 IEȘIRE

rata de cadre
Modificați rata de cadre prin interpolarea cadrelor noi de ieșire video din cadrele sursă.

Acest filtru nu este proiectat să funcționeze corect cu medii întrețesute. Dacă vrei
modificați rata de cadre a media intercalată, apoi vi se cere să dezintercalați înainte de aceasta
se filtrează și se reintercalează după acest filtru.

Urmează o descriere a opțiunilor acceptate.

FPS Specificați cadrele de ieșire pe secundă. Această opțiune poate fi specificată și ca valoare
singur. Valoarea implicită este 50.

interp_start
Specificați începutul unui interval în care cadrul de ieșire va fi creat ca liniar
interpolarea a două cadre. Intervalul este [0-255], valoarea implicită este 15.

interp_end
Specificați sfârșitul unui interval în care cadrul de ieșire va fi creat ca liniar
interpolarea a două cadre. Intervalul este [0-255], valoarea implicită este 240.

scenă
Specificați nivelul la care o schimbare de scenă este detectată ca valoare între 0 și 100 to
indica o noua scena; o valoare scăzută reflectă o probabilitate scăzută pentru cadrul curent
introduceți o scenă nouă, în timp ce o valoare mai mare înseamnă că cadrul curent este mai probabil să o facă
fii unul. Valoarea implicită este 7.

steaguri
Specificați steaguri care influențează procesul de filtrare.

Valoare disponibila pentru steaguri este:

scene_change_detect, scd
Activați detectarea schimbării scenei utilizând valoarea opțiunii scenă. Acest steag este
activat implicit.

pas de cadru
Selectați un cadru la fiecare al N-a cadru.

Acest filtru acceptă următoarea opțiune:

pas
Selectați cadrul după fiecare „pas” cadre. Valorile permise sunt numere întregi pozitive mai mari
decât 0. Valoarea implicită este 1.

frei0r
Aplicați un efect frei0r la videoclipul de intrare.

Pentru a activa compilarea acestui filtru, trebuie să instalați antetul frei0r și
configurați FFmpeg cu „--enable-frei0r”.

Acceptă următorii parametri:

nume_filtru
Numele efectului frei0r de încărcat. Dacă variabila de mediu FREI0R_PATH is
definit, efectul frei0r este căutat în fiecare dintre directoarele specificate de
listă separată prin două puncte în FREIOR_PATH. În caz contrar, căile frei0r standard sunt
căutat, în această ordine: HOME/.frei0r-1/lib/, /usr/local/lib/frei0r-1/,
/usr/lib/frei0r-1/.

filter_params
O listă de parametri separați prin „|” care să fie transferați efectului frei0r.

Un parametru de efect frei0r poate fi un boolean (valoarea sa este fie „y”, fie „n”), un dublu, a
culoare (specificată ca R/G/B, În cazul în care R, G, și B sunt numere în virgulă mobilă între 0.0 și
1.0, inclusiv) sau printr-o descriere a culorii specificată în secțiunea „Culoare” din ffmpeg-
manual de utilizare), o poziție (specificată ca X/Y, În cazul în care X și Y sunt numere în virgulă mobilă)
și/sau un șir.

Numărul și tipurile de parametri depind de efectul încărcat. Dacă un parametru de efect este
nu este specificată, valoarea implicită este setată.

Exemple

· Aplicați efectul distort0r, setând primii doi parametri dubli:

frei0r=filter_name=distort0r:filter_params=0.5|0.01

· Aplicați efectul de distanță de culoare, luând o culoare ca prim parametru:

frei0r=colordistance:0.2/0.3/0.4
frei0r=colordistance:violet
frei0r=colordistance:0x112233

· Aplicați efectul de perspectivă, specificând pozițiile imaginii sus stânga și sus dreapta:

frei0r=perspective:0.2/0.2|0.8/0.2

Pentru mai multe informații, vezihttp://frei0r.dyne.org>

fspp
Aplicați o postprocesare simplă și rapidă. Este o versiune mai rapidă a spp.

Împarte (I)DCT în treceri orizontale/verticale. Spre deosebire de simpla post-procesare
filtru, unul dintre ele se realizează o dată pe bloc, nu pe pixel. Acest lucru permite mult
viteza mai mare.

Filtrul acceptă următoarele opțiuni:

calitate
Setați calitatea. Această opțiune definește numărul de niveluri pentru mediere. Acceptă o
întreg în intervalul 4-5. Valoarea implicită este 4.

qp Forțați un parametru de cuantizare constant. Acceptă un număr întreg în intervalul 0-63. Dacă nu
setat, filtrul va folosi QP-ul din fluxul video (dacă este disponibil).

rezistenţă
Setați puterea filtrului. Acceptă un număr întreg în intervalul de la -15 la 32. Valorile mai mici înseamnă mai mult
detalii dar și mai multe artefacte, în timp ce valorile mai mari fac imaginea mai fină dar și
mai neclară. Valoarea implicită este 0 X PSNR optim.

use_bframe_qp
Activați utilizarea QP din cadrul B-Frames dacă este setată la 1. Utilizarea acestei opțiuni poate cauza
pâlpâie, deoarece cadrele B au adesea QP mai mare. Implicit este 0 (nu este activat).

geq
Filtrul acceptă următoarele opțiuni:

lum_expr, lum
Setați expresia de luminanță.

cb_expr, cb
Setați expresia albastră de crominanță.

cr_expr, cr
Setați expresia roșie de crominanță.

alpha_expr, a
Setați expresia alfa.

expres_roșu, r
Setați expresia roșie.

expres_verde, g
Setați expresia verde.

albastru_expr, b
Setați expresia albastră.

Spațiul de culoare este selectat în funcție de opțiunile specificate. Dacă unul dintre lum_expr,
cb_expr, Sau cr_expr este specificată opțiunile, filtrul va selecta automat un YCbCr
spațiu de culoare. Dacă unul dintre red_expr, verde_expr, Sau albastru_expr opțiunile sunt specificate, va fi
selectați un spațiu de culoare RGB.

Dacă una dintre expresiile de crominanță nu este definită, aceasta revine pe cealaltă. Daca nu
expresia alfa este specificată, aceasta va fi evaluată la o valoare opace. Dacă nici unul de crominanţă
sunt specificate expresii, acestea se vor evalua la expresia de luminanță.

Expresiile pot folosi următoarele variabile și funcții:

N Numărul secvenţial al cadrului filtrat, începând de la 0.

X
Y Coordonatele eșantionului curent.

W
H Lățimea și înălțimea imaginii.

SW
SH Scala de lățime și înălțime în funcție de planul filtrat curent. Este raportul
între numărul de pixeli din planul luminos corespunzător și cei din planul curent. De exemplu
pentru YUV4:2:0 valorile sunt „1,1” pentru planul luminos și „0.5,0.5” pentru planurile cromatice.

T Timpul cadrului curent, exprimat în secunde.

p(x, y)
Returnează valoarea pixelului la locație (x,y) a planului curent.

lum(x, y)
Returnează valoarea pixelului la locație (x,y) a planului de luminanță.

cb(x, y)
Returnează valoarea pixelului la locație (x,y) din planul cromatic al diferenței de albastru.
Returnați 0 dacă nu există un astfel de avion.

cr(x, y)
Returnează valoarea pixelului la locație (x,y) din planul cromatic al diferenței de roșu.
Returnați 0 dacă nu există un astfel de avion.

r(x, y)
g(x, y)
b(x, y)
Returnează valoarea pixelului la locație (x,y) a componentei roșu/verde/albastru.
Returnează 0 dacă nu există o astfel de componentă.

alfa(x, y)
Returnează valoarea pixelului la locație (x,y) din planul alfa. Returnați 0 dacă există
nu este un astfel de avion.

Pentru funcții, dacă x și y sunt în afara zonei, valoarea va fi decupată automat la
marginea mai apropiată.

Exemple

· Întoarce imaginea pe orizontală:

geq=p(WX\,Y)

· Generați o undă sinusoidală bidimensională, cu unghiul „PI/3” și o lungime de undă de 100 pixeli:

geq=128 + 100*sin(2*(PI/100)*(cos(PI/3)*(X-50*T) + sin(PI/3)*Y)):128:128

· Generați o lumină în mișcare enigmatică:

nullsrc=s=256x256,geq=aleator(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

· Generați un efect de relief rapid:

format=gri,geq=lum_expr='(p(X,Y)+(256-p(X-4,Y-4)))/2'

· Modificați componentele RGB în funcție de poziția pixelului:

geq=r='X/W*r(X,Y)':g='(1-X/W)*g(X,Y)':b='(HY)/H*b(X,Y) )'

· Creați un gradient radial de aceeași dimensiune ca și intrarea (consultați, de asemenea, vinietă
filtru):

geq=lum=255*gauss((X/W-0.5)*3)*gauss((Y/H-0.5)*3)/gauss(0) /gauss(0), format=gri

· Creați un gradient liniar pe care să îl utilizați ca mască pentru un alt filtru, apoi compuneți cu
acoperire. În acest exemplu, videoclipul va deveni treptat mai neclar de sus până
partea de jos a axei y așa cum este definită de gradientul liniar:

ffmpeg -i input.mp4 -filter_complex "geq=lum=255*(Y/H),format=gray[grad];[0:v]boxblur=4[blur];[blur][grad]alphamerge[alpha] ;[0:v][alfa]overlay" output.mp4

gradfun
Remediați artefactele de bandă care sunt uneori introduse în regiuni aproape plate prin
trunchiere la adâncimea de culoare de 8 biți. Interpolați gradienții care ar trebui să meargă unde sunt benzile
sunt, și le dither.

Este conceput doar pentru redare. Nu-l utilizați înainte de compresia cu pierderi, deoarece
compresia tinde să piardă dither-ul și să readucă benzile.

Acceptă următorii parametri:

rezistenţă
Cantitatea maximă cu care filtrul va schimba orice pixel. Acesta este, de asemenea,
prag pentru detectarea regiunilor aproape plane. Valorile acceptabile variază de la .51 la 64;
valoarea implicită este 1.2. Valorile în afara intervalului vor fi tăiate în intervalul valid.

rază
Cartierul la care să se potrivească gradientul. O rază mai mare face dente mai netede,
dar împiedică și filtrul să modifice pixelii din apropierea regiunilor detaliate.
Valorile acceptabile sunt 8-32; valoarea implicită este 16. Valorile în afara intervalului vor fi
tăiat la intervalul valid.

Alternativ, opțiunile pot fi specificate ca șir plat: rezistenţă[:rază]

Exemple

· Aplicați filtrul cu o putere de 3.5 și o rază de 8:

gradfun=3.5:8

· Specificați raza, omițând puterea (care va reveni la valoarea implicită):

gradfun=radius=8

Haldclut
Aplicați un Hald CLUT la un flux video.

Prima intrare este fluxul video de procesat, iar a doua este Hald CLUT. Hald
Intrarea CLUT poate fi o simplă imagine sau un flux video complet.

Filtrul acceptă următoarele opțiuni:

cel mai scurt
Forțați terminarea când se termină cea mai scurtă intrare. Implicit este 0.

repetlast
Continuați să aplicați ultimul CLUT după sfârșitul fluxului. O valoare de 0 dezactivează
filtru după ce ultimul cadru al CLUT este atins. Implicit este 1.

„haldclut” are, de asemenea, aceleași opțiuni de interpolare ca și lut3d (ambele filtre au același lucru
interne).

Mai multe informații despre Hald CLUT pot fi găsite pe site-ul web al lui Eskil Steenberg (Hald CLUT
autor) lahttp://www.quelsolaar.com/technology/clut.html>.

Workflow exemple

Flux video CLUT la jumătate

Generați un flux de identitate Hald CLUT modificat cu diferite efecte:

ffmpeg -f lavfi -i B =8 -vf „hue=H=2*PI*t:s=sin(2*PI*t)+1, curves=cross_process” -t 10 -c:v ffv1 clut.nut

Notă: asigurați-vă că utilizați un codec fără pierderi.

Apoi folosește-l cu „haldclut” pentru a-l aplica pe un flux aleatoriu:

ffmpeg -f lavfi -i mandelbrot -i clut.nut -filter_complex '[0][1] Haldclut' -t 20 mandelclut.mkv

Hald CLUT va fi aplicat primelor 10 secunde (durata de clut.nuc), apoi
cea mai recentă imagine a acelui flux CLUT va fi aplicată cadrelor rămase ale
pârâul „mandelbrot”.

Hald CLUT cu previzualizare

Un Hald CLUT ar trebui să fie o imagine pătrată a „Level*Level*Level” de
Pixeli „Nivel*Nivel*Nivel”. Pentru un anumit Hald CLUT, FFmpeg va selecta cel mai mare posibil
pătrat începând din stânga sus al imaginii. Pixelii de umplutură rămași (de jos sau
dreapta) vor fi ignorate. Această zonă poate fi folosită pentru a adăuga o previzualizare a Hald CLUT.

De obicei, următorul Hald CLUT generat va fi acceptat de filtrul „haldclut”:

ffmpeg -f lavfi -i B =8 -vf "
pad=iw+320 [padded_clut];
smptebars=s=320x256, split [a][b];
[padded_clut][a] overlay=W-320:h, curves=color_negative [principal];
[principal][b] overlay=W-320" -frames:v 1 clut.png

Conține originalul și o previzualizare a efectului CLUT: barele de culoare SMPTE sunt
afișate în partea dreaptă sus și sub aceleași bare de culoare procesate de modificările de culoare.

Apoi, efectul acestui Hald CLUT poate fi vizualizat cu:

ffplay input.mkv -vf „movie=clut.png, [în] haldclut”

hflip
Întoarceți videoclipul de intrare pe orizontală.

De exemplu, pentru a răsturna orizontal videoclipul de intrare cu FFMPEG:

ffmpeg -i in.avi -vf "hflip" out.avi

histeq
Acest filtru aplică o egalizare globală a histogramei de culoare pe bază de cadru.

Poate fi folosit pentru a corecta videoclipuri care au o gamă comprimată de intensități a pixelilor. The
filtrul redistribuie intensitățile pixelilor pentru a egaliza distribuția acestora pe tot
interval de intensitate. Poate fi văzut ca un „filtru de contrast cu reglare automată”. Acest
filtrul este util numai pentru corectarea sursă video degradată sau slab capturată.

Filtrul acceptă următoarele opțiuni:

rezistenţă
Determinați valoarea egalizării care trebuie aplicată. Pe măsură ce puterea este redusă,
distribuția intensităților pixelilor se apropie din ce în ce mai mult de cea a cadrului de intrare.
Valoarea trebuie să fie un număr flotant în intervalul [0,1] și este implicit 0.200.

intensitate
Setați intensitatea maximă care poate fi generată și scalați valorile de ieșire
în mod corespunzător. Forța ar trebui să fie setată după dorință și apoi intensitatea poate fi
limitat dacă este necesar pentru a evita spălarea. Valoarea trebuie să fie un număr flotant în interval
[0,1] și implicit la 0.210.

antibandare
Setați nivelul antibanding. Dacă este activat, filtrul va varia aleatoriu luminanța
emite pixeli cu o cantitate mică pentru a evita bandajarea histogramei. Valorile posibile sunt
„niciunul”, „slab” sau „puternic”. Este implicit „niciunul”.

histograma
Calculați și desenați o histogramă de distribuție a culorii pentru videoclipul de intrare.

Histograma calculată este o reprezentare a distribuției componentelor de culoare într-un
imagine.

Filtrul acceptă următoarele opțiuni:

mod
Setați modul histogramă.

Acceptă următoarele valori:

nivelurile de
Histograma standard care afișează distribuția componentelor de culoare într-o imagine.
Afișează graficul de culoare pentru fiecare componentă de culoare. Arată distribuția Y, U, V,
Componentele A sau R, G, B, în funcție de formatul de intrare, în cadrul curent. De mai jos
fiecare grafic este afișat un contor de scară a componentelor de culoare.

culoare
Afișează valorile cromatice (plasarea culorilor U/V) într-un grafic bidimensional (adică
numit vectorscop). Cu cât este mai luminos un pixel în vectorscop, cu atât mai mulți pixeli
cadrul de intrare corespunde acelui pixel (adică, mai mulți pixeli au această cromă
valoare). Componenta V este afișată pe axa orizontală (X), cu cea mai din stânga
latura fiind V = 0 iar latura cea mai dreaptă fiind V = 255. Componenta U este
afișat pe axa verticală (Y), cu partea de sus reprezentând U = 0 și partea de jos
reprezentând U = 255.

Poziția unui pixel alb în grafic corespunde valorii cromatice a lui a
pixelul clipului de intrare. Prin urmare, graficul poate fi folosit pentru a citi nuanța (culoare
aroma) și saturația (dominanța nuanței în culoare). Ca nuanta de
o culoare se schimbă, se mișcă în jurul pătratului. În centrul pieței
saturația este zero, ceea ce înseamnă că pixelul corespunzător nu are culoare. Dacă
cantitatea unei anumite culori este crescută (în timp ce celelalte culori rămân neschimbate)
saturația crește, iar indicatorul se deplasează spre marginea pătratului.

color2
Valorile cromatice în vectorscop, similare cu „culoarea”, dar valorile cromatice reale sunt
afișat.

forme de undă
Graficul componentelor de culoare pe rând/coloană. În modul rând, graficul din partea stângă
reprezintă valoarea componentei de culoare 0 iar partea dreaptă reprezintă valoarea = 255. În
modul coloană, partea de sus reprezintă valoarea componentei de culoare = 0 și partea de jos
reprezintă valoarea = 255.

Valoarea implicită este „niveluri”.

level_height
Setați înălțimea nivelului în „niveluri”. Valoarea implicită este 200. Intervalul permis este [50, 2048].

scară_înălțime
Setați înălțimea scalei de culori în „niveluri”. Valoarea implicită este 12. Intervalul permis este [0, 40].

pas
Setați pasul pentru modul „formă de undă”. Valorile mai mici sunt utile pentru a afla câte valori ale
aceeași luminanță este distribuită pe rândurile/coloanele de intrare. Valoarea implicită este 10.
Intervalul permis este [1, 255].

waveform_mode
Setați modul pentru „forma de undă”. Poate fi fie „rând”, fie „coloană”. Implicit este „rând”.

waveform_mirror
Setați modul de oglindire pentru „forma de undă”. 0 înseamnă neoglindit, 1 înseamnă oglindit. În oglindă
modul, valorile mai mari vor fi reprezentate în partea stângă pentru modul „rând” și în partea de sus
pentru modul „coloană”. Implicit este 0 (neoglindă).

modul de afișare
Setați modul de afișare pentru „forma de undă” și „niveluri”. Acceptă următoarele valori:

paradă
Afișați grafic separat pentru componentele de culoare una lângă alta în forma de undă „rând”.
sau unul sub celălalt în modul de formă de undă „coloană” pentru histograma „forma de undă”.
modul. Pentru modul histogramă „niveluri”, graficele pe componentă de culoare sunt plasate mai jos
fiecare.

Utilizarea acestui mod de afișare în modul histogramă „formă de undă” facilitează identificarea culorilor
aruncă luminile și umbrele unei imagini, comparând contururile imaginii
graficele de sus și de jos ale fiecărei forme de undă. Din moment ce albii, griii și negrii sunt
caracterizat prin cantități exacte egale de zone neutre de roșu, verde și albastru
imaginea ar trebui să afișeze trei forme de undă de lățime/înălțime aproximativ egală. Dacă nu,
corecția este ușor de efectuat prin ajustări de nivel ale celor trei forme de undă.

acoperire
Prezintă informații identice cu cele din „paradă”, cu excepția graficelor
componentele reprezentative de culoare sunt suprapuse direct una peste alta.

Acest mod de afișare în modul histogramă „formă de undă” facilitează identificarea relativă
diferențe sau asemănări în zonele suprapuse ale componentelor de culoare care sunt
ar trebui să fie identice, cum ar fi alb neutru, gri sau negru.

Implicit este „parada”.

levels_mode
Setați modul pentru „niveluri”. Poate fi fie „liniară”, fie „logaritmică”. Implicit este „liniar”.

componente
Setați ce componente de culoare să fie afișate pentru „niveluri” de mod. Implicit este 7.

Exemple

· Calculați și desenați histograma:

ffplay -i de intrare -vf histogramă

hqdn3d
Acesta este un filtru de dezgomot 3D de înaltă precizie/calitate. Are scopul de a reduce zgomotul imaginii,
producerea de imagini netede și realizarea de imagini statice cu adevărat nemișcate. Ar trebui să sporească
compresibilitatea.

Acceptă următorii parametri opționali:

luma_spatial
Un număr nenegativ în virgulă mobilă care specifică puterea lumii spațiale. Aceasta
implicit la 4.0.

chroma_spatial
Un număr nenegativ în virgulă mobilă care specifică puterea cromatică spațială. Aceasta
implicit la 3.0*luma_spatial/ 4.0.

luma_tmp
Un număr în virgulă mobilă care specifică puterea temporală a lumii. Este implicit
6.0 *luma_spatial/ 4.0.

chroma_tmp
Un număr în virgulă mobilă care specifică puterea cromatică temporală. Este implicit
luma_tmp*chroma_spatial/luma_spatial.

hqx
Aplicați un filtru de mărire de înaltă calitate conceput pentru pixel art. Acest filtru a fost
creat inițial de Maxim Stepin.

Acceptă următoarea opțiune:

n Setați dimensiunea de scalare: 2 pentru „hq2x”, 3 pentru „hq3x” și 4 pentru „hq4x”. Implicit este 3.

hstack
Stivuiți videoclipurile introduse pe orizontală.

Toate fluxurile trebuie să aibă același format de pixeli și aceeași înălțime.

Rețineți că acest filtru este mai rapid decât utilizarea acoperire și tampon filtru pentru a crea aceeași ieșire.

Filtrul acceptă următoarea opțiune:

nb_inputs
Setați numărul de fluxuri de intrare. Implicit este 2.

nuanţă
Modificați nuanța și/sau saturația intrării.

Acceptă următorii parametri:

h Specificați unghiul de nuanță ca număr de grade. Acceptă o expresie și este implicită
la „0”.

s Specificați saturația în intervalul [-10,10]. Acceptă o expresie și este implicit
„1”.

H Specificați unghiul de nuanță ca număr de radiani. Acceptă o expresie și este implicită
la „0”.

b Specificați luminozitatea în intervalul [-10,10]. Acceptă o expresie și este implicit
„0”.

h și H se exclud reciproc și nu pot fi specificate în același timp.

b, h, H și s valorile opțiunilor sunt expresii care conțin următoarele constante:

n numărul de cadre al cadrului de intrare începând de la 0

pct marca temporală de prezentare a cadrului de intrare exprimată în unități de bază de timp

r rata de cadre a videoclipului de intrare, NAN dacă rata de cadre de intrare este necunoscută

t marca temporală exprimată în secunde, NAN dacă marca temporală de intrare este necunoscută

tb baza de timp a videoclipului de intrare

Exemple

· Setați nuanța la 90 de grade și saturația la 1.0:

nuanță=h=90:s=1

· Aceeași comandă, dar exprimând nuanța în radiani:

nuanță=H=PI/2:s=1

· Rotiți nuanța și faceți ca saturația să oscileze între 0 și 2 pe o perioadă de 1 secundă:

hue="H=2*PI*t: s=sin(2*PI*t)+1"

· Aplicați un efect de fade-in cu saturație de 3 secunde începând de la 0:

hue="s=min(t/3\,1)"

Expresia generală fade-in poate fi scrisă ca:

hue="s=min(0\, max((t-START)/DURATION\, 1))"

· Aplicați un efect de estompare a saturației de 3 secunde începând cu 5 secunde:

hue="s=max(0\, min(1\, (8-t)/3))"

Expresia generală fade-out poate fi scrisă ca:

hue="s=max(0\, min(1\, (START+DURATION-t)/DURATION))"

Comenzi

Acest filtru acceptă următoarele comenzi:

b
s
h
H Modificați nuanța și/sau saturația și/sau luminozitatea videoclipului de intrare. The
comanda acceptă aceeași sintaxă a opțiunii corespunzătoare.

Dacă expresia specificată nu este validă, se păstrează la valoarea sa curentă.

idet
Detectați tipul de întrețesere video.

Acest filtru încearcă să detecteze dacă cadrele de intrare sunt întrețesute, progresive, de sus sau de jos
primul câmp. De asemenea, va încerca să detecteze câmpurile care se repetă între cadrele adiacente
(un semn de telecine).

Detectarea unui singur cadru ia în considerare numai cadrele imediat adiacente atunci când le clasifică pe fiecare
cadru. Detectarea cadrelor multiple încorporează istoricul clasificării anterioare
rame.

Filtrul va înregistra aceste valori de metadate:

singur.cadru_curent
Tipul de cadru curent detectat utilizând detectarea unui singur cadru. Unul dintre: ``tff'' (sus
primul câmp), ``bff'' (câmpul de jos primul), ``progresiv'' sau ``nedeterminat''

singur.tff
Numărul cumulat de cadre detectate mai întâi ca câmp superior utilizând detectarea unui singur cadru.

multiple.tff
Numărul cumulat de cadre detectate ca câmp superior mai întâi utilizând cadre multiple
detectare.

singur.bff
Numărul cumulat de cadre detectate ca câmp de jos mai întâi folosind un singur cadru
detectare.

multiplu.cadru_curent
Tipul de cadru curent detectat utilizând detectarea mai multor cadre. Unul dintre: ``tff'' (sus
primul câmp), ``bff'' (câmpul de jos primul), ``progresiv'' sau ``nedeterminat''

multiple.bff
Numărul cumulat de cadre detectate ca câmp de jos mai întâi utilizând cadre multiple
detectare.

singur.progresiv
Numărul cumulat de cadre detectate ca progresive utilizând detectarea unui singur cadru.

multiplu.progresiv
Numărul cumulat de cadre detectate ca progresive utilizând detectarea mai multor cadre.

singur.nedeterminat
Număr cumulat de cadre care nu au putut fi clasificate utilizând detectarea unui singur cadru.

multiplu.nedeterminat
Număr cumulat de cadre care nu au putut fi clasificate folosind cadre multiple
detectare.

repetat.cadru_curent
Care câmp din cadrul curent se repetă de la ultimul. Unul dintre ``nici'',
``sus'' sau ``jos''.

repetate.nici
Număr cumulat de cadre fără câmp repetat.

repetate.top
Număr cumulat de cadre cu câmpul de sus repetat din partea de sus a cadrului anterior
camp.

repetate.jos
Număr cumulat de cadre cu câmpul de jos repetat de la cadrul precedent
câmpul de jos.

Filtrul acceptă următoarele opțiuni:

intl_thres
Setați pragul de întrețesere.

prog_thres
Setați un prag progresiv.

repeat_thres
Prag pentru detectarea repetată a câmpului.

jumătate de viață
Numărul de cadre după care contribuția unui cadru dat la statistici este înjumătățită
(adică contribuie doar cu 0.5 la clasificarea sa). Valoarea implicită a 0 înseamnă că
toate cadrele văzute au o greutate totală de 1.0 pentru totdeauna.

analizează_steagul_intercalat
Când acesta nu este 0, atunci idet va folosi numărul specificat de cadre pentru a determina dacă
steagul întrețesut este precis, nu va număra cadre nedeterminate. Dacă steagul
se găsește a fi precis, va fi folosit fără alte calcule, dacă este
găsit a fi inexact, va fi șters fără alte calcule. Acest
permite inserarea filtrului IDET ca metodă de calcul scăzută pentru curățarea
steag împletit

il
Deintercalare sau intercalare câmpuri.

Acest filtru permite procesarea câmpurilor de imagini întrețelate fără a le dezintercala.
Deinterleaving împarte cadrul de intrare în 2 câmpuri (așa-numitele jumătate de imagini). Rânduri ciudate
sunt mutate în jumătatea superioară a imaginii de ieșire, liniile egale în jumătatea inferioară. Puteți
procesează-le (filtrează-le) independent și apoi reintercalează-le.

Filtrul acceptă următoarele opțiuni:

luma_mode, l
chroma_mode, c
alfa_mode, a
Valori disponibile pentru luma_mode, chroma_mode și alfa_mode sunt:

nici unul
Nu face nimic.

deintercalare, d
Deintercalați câmpurile, plasând unul deasupra celuilalt.

intercalare, i
Intercalați câmpurile. Inversați efectul dezintercalării.

Valoarea implicită este „niciunul”.

luma_swap, ls
chroma_swap, cs
alpha_swap, as
Schimbați câmpurile luma/chroma/alfa. Schimbați linii pare și impare. Valoarea implicită este 0.

umfla
Aplicați efectul de umflare videoclipului.

Acest filtru înlocuiește pixelul cu local(3x3) medie luând în considerare numai
valori mai mari decât pixelul.

Acceptă următoarele opțiuni:

prag0
prag1
prag2
prag3
Limitați modificarea maximă pentru fiecare plan, implicit este 65535. Dacă 0, planul va rămâne
neschimbat.

împletit
Filtru simplu de întrețesere din conținut progresiv. Aceasta intercalează partea superioară (sau inferioară)
linii din cadre impare cu linii inferioare (sau superioare) din cadre pare, reducând la jumătate rata de cadre
și păstrarea înălțimii imaginii.

Cadru original original nou
Cadrul „j” Cadrul „j+1” (tff)
========== =========== ===================
Linia 0 --------------------> Cadrul „j” Linia 0
Linia 1 Linia 1 ----> Cadru „j+1” Linia 1
Linia 2 ---------------------> Cadrul „j” Linia 2
Linia 3 Linia 3 ----> Cadru „j+1” Linia 3
... ... ...
Cadrul nou + 1 va fi generat de Cadrul „j+2” și Cadrul „j+3” și așa mai departe

Acceptă următorii parametri opționali:

scanare
Aceasta determină dacă cadrul întrețesut este luat din par (tff - implicit) sau
linii impare (bff) ale cadrului progresiv.

trece jos
Activați (implicit) sau dezactivați filtrul vertical lowpass pentru a evita intercalarea Twitter
și reduce modelele moire.

kerndeint
Deinterlace video de intrare aplicând deinterlingul adaptiv al nucleului lui Donald Graft. Lucrați la
părți intercalate ale unui videoclip pentru a produce cadre progresive.

Urmează descrierea parametrilor acceptați.

treieră
Setați pragul care afectează toleranța filtrului atunci când determinați dacă este un pixel
linia trebuie procesată. Trebuie să fie un număr întreg în intervalul [0,255] și este implicit 10.
O valoare de 0 va avea ca rezultat aplicarea procesului pe fiecare pixel.

Hartă Pictează pixelii care depășesc valoarea de prag în alb dacă sunt setați la 1. Implicit este 0.

comandă
Setați ordinea câmpurilor. Schimbați câmpurile dacă este setat la 1, lăsați câmpurile în pace dacă 0. Implicit este 0.

ascuţit
Activați ascuțirea suplimentară dacă este setată la 1. Implicit este 0.

în două sensuri
Activați ascuțirea în două sensuri dacă este setată la 1. Implicit este 0.

Exemple

· Aplicați valorile implicite:

kerndeint=thresh=10:map=0:order=0:sharp=0:twoway=0

· Activați ascuțirea suplimentară:

kerndeint=sharp=1

· Pictează pixelii procesați în alb:

kerndeint=harta=1

corectarea lentilelor
Corectați distorsiunea radială a lentilei

Acest filtru poate fi utilizat pentru a corecta distorsiunile radiale, care pot rezulta din utilizarea
lentile cu unghi larg și, prin urmare, re-rectificați imaginea. Pentru a găsi parametrii potriviți se poate
utilizați instrumentele disponibile, de exemplu, ca parte a opencv sau pur și simplu încercare și eroare. A folosi
opencv folosește proba de calibrare (sub samples/cpp) din sursele opencv și extrage
coeficienții k1 și k2 din matricea rezultată.

Rețineți că, efectiv, același filtru este disponibil în instrumentele open-source Krita și
Digikam din proiectul KDE.

În contrast cu vinietă filtru, care poate fi folosit și pentru a compensa erorile lentilelor, aceasta
filtrul corectează distorsiunea imaginii, în timp ce vinietă corectează luminozitatea
distribuție, deci poate doriți să utilizați ambele filtre împreună în anumite cazuri, deși dvs
va trebui să se ocupe de comandă, adică dacă vignetarea trebuie aplicată înainte sau
după corectarea lentilelor.

Opţiuni

Filtrul acceptă următoarele opțiuni:

cx Coordonata X relativă a punctului focal al imaginii și, prin urmare, a centrului
deformare. Această valoare are un interval [0,1] și este exprimată ca fracții ale imaginii
lăţime.

cy Coordonata y relativă a punctului focal al imaginii și, prin urmare, a centrului
deformare. Această valoare are un interval [0,1] și este exprimată ca fracții ale imaginii
înălţime.

k1 Coeficientul termenului de corecție pătratică. 0.5 înseamnă nicio corecție.

k2 Coeficientul termenului de corecție dublu pătratică. 0.5 înseamnă nicio corecție.

Formula care generează corecția este:

r_src = r_tgt * (1 + k1 * (r_tgt / r_0)^2 + k2 * (r_tgt / r_0)^4)

Unde r_0 este jumătate din diagonala imaginii și r_src și r_tgt sunt distantele de la
punct focal în imaginile sursă și, respectiv, țintă.

lut3d
Aplicați un LUT 3D la un videoclip de intrare.

Filtrul acceptă următoarele opțiuni:

fişier
Setați numele fișierului 3D LUT.

Formate acceptate în prezent:

3dl Dupa efecte

cub
Iridas

DAT DaVinci

m3d Pandora

interp
Selectați modul de interpolare.

Valorile disponibile sunt:

cel mai apropiat
Utilizați valori din cel mai apropiat punct definit.

triliniar
Interpolați valori folosind cele 8 puncte care definesc un cub.

tetraedrică
Interpolați valori folosind un tetraedru.

lut, lutrgb, lutyuv
Calculați un tabel de căutare pentru a lega fiecare valoare de intrare a componentei pixelului la o valoare de ieșire,
și aplicați-l la videoclipul de intrare.

lutyuv aplică un tabel de căutare unui videoclip de intrare YUV, lutrgb la o intrare video RGB.

Aceste filtre acceptă următorii parametri:

c0 setați prima expresie a componentei pixelului

c1 setați a doua expresie a componentei pixelului

c2 setați expresia a treia componentă a pixelului

c3 setați a patra expresie a componentei pixelului, corespunde componentei alfa

r setați expresia componentei roșii

g setați expresia componentei verzi

b setați expresia componentei albastre

a expresia componentei alfa

y setați expresia componentei Y/luminanță

u setați expresia componentei U/Cb

v setați expresia componentei V/Cr

Fiecare dintre ele specifică expresia de utilizat pentru calcularea tabelului de căutare pentru
valorile componente ale pixelilor corespunzătoare.

Componenta exactă asociată fiecăruia dintre c* opțiunile depind de formatul introdus.

citit filtrul necesită fie formate de pixeli YUV, fie RGB la intrare, lutrgb necesită RGB
formate de pixeli în intrare și lutyuv necesită YUV.

Expresiile pot conține următoarele constante și funcții:

w
h Lățimea și înălțimea de intrare.

val Valoarea de intrare pentru componenta pixelului.

clipval
Valoarea de intrare, decupată la minval-maxval Gama.

maxval
Valoarea maximă pentru componenta pixelului.

minval
Valoarea minimă pentru componenta pixelului.

negval
Valoarea negată pentru valoarea componentei pixelului, decupată la minval-maxval gamă;
corespunde expresiei „maxval-clipval+minval”.

clip (val)
Valoarea calculată în val, prins la minval-maxval Gama.

gamaval (gamma)
Valoarea de corecție gamma calculată a valorii componentei pixelului, decupată la
minval-maxval gamă. Corespunde expresiei
"pow((clipval-minval)/(maxval-minval)\,gamma)*(maxval-minval)+minval"

Toate expresiile sunt implicite la „val”.

Exemple

· Negați intrarea video:

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"

Cele de mai sus sunt la fel ca:

lutrgb="r=negval:g=negval:b=negval"
lutyuv="y=negval:u=negval:v=negval"

· Negați luminanța:

lutyuv=y=negval

· Eliminați componentele cromatice, transformând videoclipul într-o imagine în tonuri de gri:

lutyuv="u=128:v=128"

· Aplicați un efect de ardere a lumii:

lutyuv="y=2*val"

· Îndepărtați componentele verzi și albastre:

lutrgb="g=0:b=0"

· Setați o valoare constantă a canalului alfa la intrare:

format=rgba,lutrgb=a="maxval-minval/2"

· Corectați gama de luminanță cu un factor de 0.5:

lutyuv=y=gamaval(0.5)

· Aruncați fragmentele cele mai puțin semnificative de luma:

lutyuv=y='bitand(val, 128+64+32)'

planuri de fuziune
Îmbinați componentele canalului de culoare din mai multe fluxuri video.

Filtrul acceptă până la 4 fluxuri de intrare și îmbină planurile de intrare selectate cu ieșirea
video.

Acest filtru acceptă următoarele opțiuni:

cartografiere
Setați maparea planului de intrare la ieșire. Implicit este 0.

Mapările sunt specificate ca bitmap. Ar trebui specificat ca un număr hexazecimal
sub forma 0xAa[Bb[Cc[Dd]]]. „Aa” descrie maparea pentru primul plan al
flux de ieșire. „A” setează numărul fluxului de intrare de utilizat (de la 0 la 3), iar „a”
numărul de plan al intrării corespunzătoare de utilizat (de la 0 la 3). Restul
mapările sunt similare, „Bb” descrie maparea pentru al doilea plan al fluxului de ieșire,
„Cc” descrie maparea pentru al treilea plan al fluxului de ieșire, iar „Dd” descrie
cartografiere pentru al patrulea plan al fluxului de ieșire.

format
Setați formatul pixelilor de ieșire. Implicit este „yuva444p”.

Exemple

· Îmbină trei fluxuri video gri de aceeași lățime și înălțime într-un singur flux video:

[a0][a1][a2]mergeplanes=0x001020:yuv444p

· Îmbina primul flux yuv1p și al doilea flux video gri în fluxul video yuva444p:

[a0][a1]mergeplanes=0x00010210:yuva444p

· Schimbați avionul Y și A în fluxul yuva444p:

format=yuva444p,mergeplanes=0x03010200:yuva444p

· Schimbați avionul U și V în fluxul yuv420p:

format=yuv420p,mergeplanes=0x000201:yuv420p

· Transmite un clip rgb24 pe yuv444p:

format=rgb24,mergeplanes=0x000102:yuv444p

mcdeint
Aplicați dezintercalarea de compensare a mișcării.

Are nevoie de un câmp pe cadru ca intrare și, prin urmare, trebuie utilizat împreună cu yadif=1/3 sau
echivalent.

Acest filtru acceptă următoarele opțiuni:

mod
Setați modul de dezintercalare.

Acceptă una dintre următoarele valori:

rapid
mediu
încetini
utilizați estimarea iterativă a mișcării

extra_lent
ca încetini, dar utilizați mai multe cadre de referință.

Valoarea implicită este rapid.

paritate
Setați paritatea câmpului de imagine presupusă pentru videoclipul de intrare. Trebuie să fie unul dintre
următoarele valori:

0, tff
presupune primul câmp de sus

1, BFF
presupuneți primul câmpul de jos

Valoarea implicită este BFF.

qp Setați parametrul de cuantizare per bloc (QP) utilizat de codificatorul intern.

Valorile mai mari ar trebui să aibă ca rezultat un câmp vectorial de mișcare mai fin, dar mai puțin optim
vectori individuali. Valoarea implicită este 1.

mpdecimate
Aruncă cadrele care nu diferă foarte mult de cadrul precedent pentru a reduce cadrul
rată.

Utilizarea principală a acestui filtru este pentru codificarea cu rate de biți foarte scăzute (de exemplu, streaming prin dialup
modem), dar teoretic ar putea fi folosit pentru repararea filmelor care au fost telecinizate invers
incorect.

Urmează o descriere a opțiunilor acceptate.

max Setați numărul maxim de cadre consecutive care pot fi abandonate (dacă sunt pozitive) sau
intervalul minim dintre cadrele abandonate (dacă este negativ). Dacă valoarea este 0, atunci
frame este abandonat fără a ține cont de numărul de cadre anterioare abandonate secvenţial.

Valoarea implicită este 0.

hi
lo
cozi
Setați valorile pragului de scădere.

Valori pentru hi și lo sunt pentru blocuri de 8x8 pixeli și reprezintă valoarea reală a pixelilor
diferențe, deci un prag de 64 corespunde unei unități de diferență pentru fiecare pixel,
sau același răspândit diferit pe bloc.

Un cadru este un candidat pentru scădere dacă niciun bloc de 8x8 nu diferă cu mai mult de un prag
of hi, iar dacă nu mai mult decât cozi blocurile (1 însemnând întreaga imagine) diferă cu mai mult decât
un prag de lo.

Valoarea implicită pentru hi este 64*12, valoarea implicită pentru lo este 64*5 și valoarea implicită pentru
cozi este 0.33.

nega
Negați intrarea video.

Acceptă un număr întreg în intrare; dacă este diferit de zero, anulează componenta alfa (dacă este disponibilă).
Valoarea implicită în intrare este 0.

noformat
Forțați libavfilter să nu folosească niciunul dintre formatele de pixeli specificate pentru intrarea în următorul
filtru.

Acceptă următorii parametri:

pix_fmts
O listă separată de „|” de nume de format de pixeli, cum ar fi apix_fmts=yuv420p|monow|rgb24”.

Exemple

· Forțați libavfilter să folosească un format diferit de yuv420p pentru intrarea în vflip
filtru:

noformat=pix_fmts=yuv420p,vflip

· Convertiți videoclipul de intrare în oricare dintre formatele care nu sunt incluse în listă:

noformat=yuv420p|yuv444p|yuv410p

zgomot
Adăugați zgomot pe cadrul de intrare video.

Filtrul acceptă următoarele opțiuni:

troscot
c0_seed
c1_seed
c2_seed
c3_seed
Setați începutul de zgomot pentru o anumită componentă de pixeli sau pentru toate componentele de pixeli în caz de
troscot. Valoarea implicită este 123457.

toată_puterea, deloc
c0_putere, c0s
c1_putere, c1s
c2_putere, c2s
c3_putere, c3s
Setați puterea zgomotului pentru o anumită componentă de pixeli sau pentru toate componentele de pixeli, dacă este cazul
toată_puterea. Valoarea implicită este 0. Intervalul permis este [0, 100].

toate_steaguri, allf
c0_steaguri, c0f
c1_steaguri, c1f
c2_steaguri, c2f
c3_steaguri, c3f
Setați steaguri pentru componente de pixeli sau setați steaguri pentru toate componentele dacă toate_steaguri. Disponibil
valorile pentru steagurile componente sunt:

a zgomot temporal mediu (mai lin)

p amestecați zgomotul aleatoriu cu un model (semi)regulat

t zgomot temporal (modelul de zgomot se modifică între cadre)

u zgomot uniform (gaussian altfel)

Exemple

Adăugați zgomot temporal și uniform la videoclipul de intrare:

noise=alls=20:allf=t+u

zero
Treceți sursa video neschimbată la ieșire.

ocv
Aplicați o transformare video folosind libopencv.

Pentru a activa acest filtru, instalați biblioteca și anteturile libopencv și configurați FFmpeg cu
„--enable-libopencv”.

Acceptă următorii parametri:

nume_filtru
Numele filtrului libopencv de aplicat.

filter_params
Parametrii de transmis la filtrul libopencv. Dacă nu sunt specificate, valorile implicite
sunt presupuse.

Consultați documentația oficială libopencv pentru informații mai precise:
<http://docs.opencv.org/master/modules/imgproc/doc/filtering.html>

Sunt acceptate mai multe filtre libopencv; consultați următoarele subsecțiuni.

delată

Dilatați o imagine folosind un element structurant specific. Corespunde libopencv
funcția „cvDilate”.

Acceptă parametrii: struct_el|nb_iterații.

struct_el reprezintă un element de structurare și are sintaxa:
colxrânduri+ancora_xxancora_y/forma

col și rânduri reprezintă numărul de coloane și rânduri ale elementului de structurare,
ancora_x și ancora_y punctul de ancorare și forma forma pentru elementul de structurare.
forma trebuie să fie „rect”, „cruce”, „elipsă” sau „personalizat”.

Dacă valoarea pentru forma este „personalizat”, trebuie urmat de un șir de formă
"=nume de fișier". Fișierul cu nume nume de fișier se presupune că reprezintă o imagine binară, cu fiecare
caracter imprimabil corespunzător unui pixel luminos. Când un obicei forma este folosit, col și
rânduri sunt ignorate, se presupune în schimb numărul sau coloanele și rândurile fișierului citit.

Valoarea implicită pentru struct_el este „3x3+0x0/rect”.

nb_iterații specifică de câte ori se aplică transformarea imaginii și
implicit la 1.

Cateva exemple:

# Utilizați valorile implicite
ocv=dilata

# Dilatați folosind un element de structurare cu o cruce de 5x5, repetând de două ori
ocv=filter_name=dilate:filter_params=5x5+2x2/cross|2

# Citiți forma din fișierul diamond.shape, repetând de două ori.
# Fișierul diamond.shape poate conține un model de caractere ca acesta
# *
#***
# *****
#***
# *
# Coloanele și rândurile specificate sunt ignorate
# dar coordonatele punctului de ancorare nu sunt
ocv=dilate:0x0+2x2/custom=diamond.shape|2

eroda

Erodează o imagine utilizând un element de structurare specific. Corespunde libopencv
funcția „cvErode”.

Acceptă parametrii: struct_el:nb_iterații, cu aceeași sintaxă și semantică ca
il delată filtru.

netezi

Netezește videoclipul de intrare.

Filtrul ia următorii parametri: tip|param1|param2|param3|param4.

tip este tipul de filtru neted care trebuie aplicat și trebuie să aibă una dintre următoarele valori:
„blur”, „blur_no_scale”, „median”, „gaussian” sau „bilateral”. Valoarea implicită este
„gaussian”.

Înțelesul lui param1, param2, param3, și param4 depinde de tipul neted. param1 și
param2 acceptă valori întregi pozitive sau 0. param3 și param4 acceptă virgulă mobilă
valori.

Valoarea implicită pentru param1 este 3. Valoarea implicită pentru ceilalți parametri este 0.

Acești parametri corespund parametrilor alocați funcției libopencv
„cvSmooth”.

acoperire
Suprapuneți un videoclip peste altul.

Este nevoie de două intrări și are o ieșire. Prima intrare este videoclipul „principal” pe care
a doua intrare este suprapusă.

Acceptă următorii parametri:

Urmează o descriere a opțiunilor acceptate.

x
y Setați expresia pentru coordonatele x și y ale videoclipului suprapus pe principal
video. Valoarea implicită este „0” pentru ambele expresii. În cazul în care expresia este invalidă,
este setat la o valoare uriașă (înseamnă că suprapunerea nu va fi afișată în
zona vizibilă de ieșire).

eof_action
Acțiunea de întreprins atunci când EOF este întâlnită pe intrarea secundară; acceptă una dintre
urmatoarele valori:

repeta
Repetați ultimul cadru (implicit).

endall
Încheiați ambele fluxuri.

trece
Treceți intrarea principală.

eval
Setați când expresiile pentru x, și y sunt evaluate.

Acceptă următoarele valori:

înăuntru
evaluează expresiile o singură dată în timpul inițializării filtrului sau când o comandă
este procesat

cadru
evaluați expresiile pentru fiecare cadru primit

Valoarea implicită este cadru.

cel mai scurt
Dacă este setată la 1, forțați ieșirea să se termine când se termină cea mai scurtă intrare. Mod implicit
valoarea este 0.

format
Setați formatul pentru videoclipul de ieșire.

Acceptă următoarele valori:

yuv420
forță de ieșire YUV420

yuv422
forță de ieșire YUV422

yuv444
forță de ieșire YUV444

RGB forțați ieșirea RGB

Valoarea implicită este yuv420.

RGB (depreciat)
Dacă este setat la 1, forțați filtrul să accepte intrări în spațiul de culoare RGB. Valoare implicită
este 0. Această opțiune este depreciată, utilizați format in schimb.

repetlast
Dacă este setat la 1, forțați filtrul să deseneze ultimul cadru suprapus peste intrarea principală până când
capătul pârâului. O valoare de 0 dezactivează acest comportament. Valoarea implicită este 1.

x, și y expresiile pot conține următorii parametri.

main_w, W
main_h, H
Lățimea și înălțimea de intrare principale.

overlay_w, w
overlay_h, h
Lățimea și înălțimea de intrare de suprapunere.

x
y Valorile calculate pentru x și y. Ele sunt evaluate pentru fiecare cadru nou.

hsub
vsub
valorile subeșantionului cromatic orizontal și vertical ale formatului de ieșire. De exemplu pentru
formatul pixelului „yuv422p” hsub este 2 și vsub este 1.

n numărul de cadre de intrare, începând de la 0

post poziția în fișier a cadrului de intrare, NAN dacă necunoscută

t Marca temporală, exprimată în secunde. Este NAN dacă marcajul de timp de intrare este necunoscut.

Rețineți că n, post, t variabilele sunt disponibile numai atunci când se face evaluarea pentru cadru,
și va evalua la NAN când eval este setat la înăuntru.

Rețineți că cadrele sunt preluate de la fiecare videoclip de intrare în ordinea marcajului de timp, prin urmare, dacă acestea sunt
marcajele temporale inițiale diferă, este o idee bună să treceți cele două intrări prin a
setpts=PTS-STARTPTS filtru pentru ca acestea să înceapă în același marcaj temporal zero, ca în exemplu
pentru film filtrul face.

Puteți înlănțui mai multe suprapuneri, dar ar trebui să testați eficiența unei astfel de abordări.

Comenzi

Acest filtru acceptă următoarele comenzi:

x
y Modificați x și y ale intrării suprapuse. Comanda acceptă aceeași sintaxă a lui
opțiunea corespunzătoare.

Dacă expresia specificată nu este validă, se păstrează la valoarea sa curentă.

Exemple

· Desenați suprapunerea la 10 pixeli din colțul din dreapta jos al videoclipului principal:

overlay=main_w-overlay_w-10:principal_h-overlay_h-10

Folosind opțiunile numite, exemplul de mai sus devine:

overlay=x=main_w-overlay_w-10:y=main_h-overlay_h-10

· Introduceți un logo PNG transparent în colțul din stânga jos al introducerii, folosind FFMPEG
instrument cu opțiunea „-filter_complex”:

ffmpeg -i input -i logo -filter_complex 'overlay=10:main_h-overlay_h-10' output

· Introduceți 2 logo-uri PNG transparente diferite (al doilea logo în colțul din dreapta jos) folosind
il FFMPEG instrument:

ffmpeg -i intrare -i logo1 -i logo2 -filter_complex 'overlay=x=10:y=Hh-10,overlay=x=Ww-10:y=Hh-10' output

· Adăugați un strat de culoare transparent deasupra videoclipului principal; „LxH” trebuie să specifice dimensiunea
intrarea principală la filtrul de suprapunere:

[e-mail protejat]:size=WxH [peste]; [in] [peste] suprapunere [out]

· Redați un videoclip original și o versiune filtrată (aici cu filtrul deshake) alături
lateral folosind ffplay instrument:

ffplay input.avi -vf 'split[a][b]; [a]pad=iw*2:ih[src]; [b]deshake[filt]; [src][filt]overlay=w'

Comanda de mai sus este aceeași cu:

ffplay input.avi -vf 'split[b], pad=iw*2[src], [b]deshake, [src]overlay=w'

· Creați o suprapunere glisantă care să apară din partea stângă la dreapta sus a ecranului
începând cu ora 2:

suprapunere=x='dacă(gte(t,2), -w+(t-2)*20, NAN)':y=0

· Compuneți ieșirea punând două videoclipuri de intrare unul lângă altul:

ffmpeg -i left.avi -i right.avi -filter_complex "
nullsrc=size=200x100 [fondul];
[0:v] setpts=PTS-STARTPTS, scară=100x100 [stânga];
[1:v] setpts=PTS-STARTPTS, scară=100x100 [dreapta];
[fundal][stânga] suprapunere=cel mai scurt=1 [fondul+stânga];
[fond+stânga][dreapta] suprapunere=cea mai scurtă=1:x=100 [stânga+dreapta]
"

· Mascați 10-20 de secunde dintr-un videoclip prin aplicarea filtrului delogo pe o secțiune

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]'
mascat.avi

· Înlănțuiți mai multe suprapuneri în cascadă:

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]

owdenoise
Aplicați Overcomplete Wavelet Denoiser.

Filtrul acceptă următoarele opțiuni:

adâncime
Setați adâncimea.

Valorile de adâncime mai mari vor elimina mai mult zgomotul componentelor cu frecvență mai joasă, dar vor încetini
filtrare.

Trebuie să fie un int în intervalul 8-16, implicit este 8.

puterea_lumă, ls
Setați puterea luminii.

Trebuie să fie o valoare dublă în intervalul 0-1000, implicit este 1.0.

chroma_strength, cs
Setați puterea cromatică.

Trebuie să fie o valoare dublă în intervalul 0-1000, implicit este 1.0.

tampon
Adăugați căptușeli la imaginea de intrare și plasați intrarea originală la locul prevăzut x, y
coordonate.

Acceptă următorii parametri:

lățime, w
înălţime, h
Specificați o expresie pentru dimensiunea imaginii de ieșire cu umpluturile adăugate. Dacă
valoare pentru lățime or înălțime este 0, dimensiunea de intrare corespunzătoare este utilizată pentru ieșire.

lățime expresia poate face referire la valoarea setată de înălțime expresie și viciu
invers.

Valoarea implicită a lățime și înălțime este 0.

x
y Specificați decalajele pentru a plasa imaginea de intrare în zona căptușită, cu respect
la marginea de sus/stânga a imaginii de ieșire.

x expresia poate face referire la valoarea setată de y expresie și invers.

Valoarea implicită a x și y este 0.

culoare
Specificați culoarea zonei căptușite. Pentru sintaxa acestei opțiuni, bifați „Culoare”
secțiunea din manualul ffmpeg-utils.

Valoarea implicită a culoare este negru".

Valoarea pentru lățime, înălțime, x, și y opțiunile sunt expresii care conțin următoarele
constante:

în W
în_h
Lățimea și înălțimea video de intrare.

iw
ih Acestea sunt la fel ca în W și în_h.

out_w
out_h
Lățimea și înălțimea de ieșire (dimensiunea zonei căptușite), așa cum este specificat de lățime
și înălțime expresii.

ow
oh Acestea sunt la fel ca out_w și out_h.

x
y Compensațiile x și y așa cum sunt specificate de x și y expresii, sau NAN dacă nu încă
specificat.

a la fel ca iw / ih

SAR raportul de aspect al eșantionului de intrare

da raportul de aspect al afișajului de intrare, este același cu (iw / ih) * SAR

hsub
vsub
Valorile subeșantionului cromatic orizontal și vertical. De exemplu, pentru formatul pixelilor
"yuv422p" hsub este 2 și vsub este 1.

Exemple

· Adăugați căptușeli cu culoarea „violet” la videoclipul de intrare. Dimensiunea video de ieșire este
640x480, iar colțul din stânga sus al videoclipului de intrare este plasat la coloana 0, rândul 40

pad=640:480:0:40:violet

Exemplul de mai sus este echivalent cu următoarea comandă:

pad=lățime=640:înălțime=480:x=0:y=40:culoare=violet

· Apăsați intrarea pentru a obține o ieșire cu dimensiuni mărite cu 3/2 și puneți intrarea
videoclip în centrul zonei căptușite:

pad="3/2*iw:3/2*ih:(ow-iw)/2:(oh-ih)/2"

· Apăsați intrarea pentru a obține o ieșire pătrată cu dimensiunea egală cu valoarea maximă dintre
lățimea și înălțimea de intrare și puneți videoclipul de intrare în centrul zonei căptușite:

pad="max(iw\,ih):ow:(ow-iw)/2:(oh-ih)/2"

· Apăsați intrarea pentru a obține un raport final w/h de 16:9:

pad="ih*16/9:ih:(ow-iw)/2:(oh-ih)/2"

· În cazul unui videoclip anamorfic, pentru a seta corect aspectul de afișare a ieșirii, acesta
este necesar de utilizat SAR în expresie, conform relaţiei:

(ih * X / ih) * sar = output_dar
X = output_dar / sar

Astfel, exemplul anterior trebuie modificat pentru a:

pad="ih*16/9/sar:ih:(ow-iw)/2:(oh-ih)/2"

· Dublați dimensiunea de ieșire și puneți videoclipul de intrare în colțul din dreapta jos al fișierului
zonă căptușită de ieșire:

pad="2*iw:2*ih:ow-iw:oh-ih"

paletegen
Generați o paletă pentru un întreg flux video.

Acceptă următoarele opțiuni:

max_culori
Setați numărul maxim de culori de cuantificat în paletă. Notă: paleta va
conțin încă 256 de culori; intrările din paletă neutilizate vor fi negre.

rezerva_transparent
Creați o paletă de maximum 255 de culori și rezervați-o pe ultima pentru transparență.
Rezervarea culorii transparenței este utilă pentru optimizarea GIF. Dacă nu este setat,
maximul de culori din paletă va fi 256. Probabil doriți să dezactivați această opțiune
pentru o imagine de sine stătătoare. Setat implicit.

stats_mode
Setați modul statistici.

Acceptă următoarele valori:

Complet
Calculați histograme full frame.

dif
Calculați histogramele numai pentru partea care diferă de cadrul precedent. Asta ar putea
fi relevant pentru a acorda mai multă importanță părții mobile a intrării dvs. dacă
fundalul este static.

Valoarea implicită este Complet.

De asemenea, filtrul exportă metadatele cadrului „lavfi.color_quant_ratio” („nb_color_in /
nb_color_out") pe care îl puteți folosi pentru a evalua gradul de cuantizare a culorii
paletă. Aceste informații sunt vizibile și la info nivelul de înregistrare.

Exemple

· Generați o paletă reprezentativă a unui videoclip dat folosind FFMPEG:

ffmpeg -i input.mkv -vf palettegen palette.png

paletă
Folosiți o paletă pentru a reduce eșantionarea unui flux video de intrare.

Filtrul are două intrări: un flux video și o paletă. Paleta trebuie să fie un 256
imaginea de pixeli.

Acceptă următoarele opțiuni:

oscila
Selectați modul dithering. Algoritmii disponibili sunt:

bayer
Dithering bayer comandat 8x8 (determinist)

naiba
Dithering așa cum a fost definit de Paul Heckbert în 1982 (difuzarea simplă a erorilor). Notă:
această dithering este uneori considerată „greșită” și este inclusă ca referință.

floyd_steinberg
Dithering Floyd și Steingberg (difuzarea erorii)

Sierra2
Frankie Sierra dithering v2 (difuzarea erorii)

sierra2_4a
Frankie Sierra dithering v2 „Lite” (difuzarea erorii)

Implicit este sierra2_4a.

bayer_scale
Cand bayer dithering este selectat, această opțiune definește scara modelului (cum
mult modelul de hașurare încrucișată este vizibil). O valoare scăzută înseamnă un model mai vizibil pentru
mai puține benzi și o valoare mai mare înseamnă un model mai puțin vizibil cu prețul mai multor benzi.

Opțiunea trebuie să fie o valoare întreagă în intervalul [0,5]. Implicit este 2.

mod_dif
Dacă este setată, definiți zona de procesat

dreptunghi
Doar dreptunghiul care se schimbă va fi reprocesat. Acesta este similar cu GIF
mecanism de decupare/comprimare de compresie. Această opțiune poate fi utilă pentru viteză dacă
doar o parte a imaginii se schimbă și are cazuri de utilizare, cum ar fi limitarea domeniului de aplicare
a difuzării erorii oscila la dreptunghiul care delimitează scena în mișcare (it
duce la o ieșire mai deterministă dacă scena nu se schimbă mult și ca a
rezultă mai puțin zgomot în mișcare și o compresie GIF mai bună).

Implicit este nici unul.

Exemple

· Folosiți o paletă (generată de exemplu cu paletegen) pentru a codifica un GIF folosind FFMPEG:

ffmpeg -i input.mkv -i palette.png -lavfi paletteuse output.gif

perspectivă
Perspectiva corectă a videoclipului neînregistrat perpendicular pe ecran.

Urmează o descriere a parametrilor acceptați.

x0
y0
x1
y1
x2
y2
x3
y3 Setați expresia coordonatelor pentru stânga sus, dreapta sus, stânga jos și dreapta jos
colțuri. Valorile implicite sunt „0:0:W:0:0:H:W:H” cu care perspectiva va rămâne
neschimbat. Dacă opțiunea „sens” este setată la „sursă”, atunci punctele specificate vor fi
să fie trimis la colțurile destinației. Dacă opțiunea „sens” este setată la
„destinație”, apoi colțurile sursei vor fi trimise către cea specificată
coordonate.

Expresiile pot folosi următoarele variabile:

W
H lățimea și înălțimea cadrului video.

interpolare
Setați interpolarea pentru corectarea perspectivei.

Acceptă următoarele valori:

liniar
cub

Valoarea implicită este liniar.

sens
Setați interpretarea opțiunilor de coordonate.

Acceptă următoarele valori:

0, sursă
Trimiteți punctul în sursa specificată de coordonatele date la colțurile
destinaţie.

1, destinație
Trimiteți colțurile sursei la punctul din destinația specificat de
coordonate date.

Valoarea implicită este sursă.

fază
Întârzieți videoclipul întrețesut cu un timp de câmp, astfel încât ordinea câmpurilor să se schimbe.

Utilizarea prevăzută este de a repara filmele PAL care au fost capturate cu câmpul opus
comandă la transferul film-to-video.

Urmează o descriere a parametrilor acceptați.

mod
Setați modul de fază.

Acceptă următoarele valori:

t Capturați ordinea câmpurilor mai întâi de sus, transferați mai întâi de jos. Filtrul va întârzia
câmpul de jos.

b Capturați ordinea câmpului de jos, primul, transferați de sus. Filtrul va întârzia partea de sus
camp.

p Capturați și transferați cu aceeași comandă de câmp. Acest mod există doar pentru
documentația celorlalte opțiuni la care să faceți referire, dar dacă o selectați,
filtrul nu va face nimic.

a Capturați ordinea câmpurilor determinată automat de steagurile câmpului, transferați vizavi.
Filtrul selectează dintre t și b moduri pe bază de cadru cu cadru folosind steaguri de câmp. Dacă
nu sunt disponibile informații de câmp, atunci aceasta funcționează la fel ca u.

u Capturați necunoscut sau variabil, transferați opusul. Filtrul selectează dintre t și b pe o
cadru cu cadru analizând imaginile și selectând alternativa care
produce cea mai bună potrivire între câmpuri.

T Capturați mai întâi de sus, transferați necunoscut sau variabil. Filtrul selectează dintre t și p
folosind analiza imaginilor.

B Capturați mai întâi de jos, transferați necunoscut sau variabil. Filtrul selectează dintre b și p
folosind analiza imaginilor.

A Captură determinată de steaguri de câmp, transfer necunoscut sau variabil. Selectează filtrul
printre t, b și p folosind steagurile de câmp și analiza imaginilor. Dacă nu există informații despre câmp
disponibil, atunci aceasta funcționează la fel ca U. Acesta este modul implicit.

U Atât captarea, cât și transferul necunoscute sau variabile. Filtrul selectează dintre t, b și p
folosind doar analiza imaginii.

pixdesctest
Filtru de test de descriptor de format de pixel, util în principal pentru testarea internă. Ieșirea video
ar trebui să fie egal cu înregistrarea video.

De exemplu:

format=monow, pixdesctest

poate fi folosit pentru a testa definiția descriptorului formatului pixelului monoalb.

pp
Activați lanțul specificat de subfiltre de postprocesare folosind libpostproc. Această bibliotecă
ar trebui să fie selectat automat cu o versiune GPL ("--enable-gpl"). Subfiltrele trebuie să fie
separate prin „/” și pot fi dezactivate adăugând un „-”. Fiecare subfiltru și câteva opțiuni
au un nume scurt și un lung care poate fi folosit interschimbabil, adică dr/dering sunt
la fel.

Filtrele acceptă următoarele opțiuni:

subfiltre
Setați șirul de subfiltre de postprocesare.

Toate subfiltrele au opțiuni comune pentru a-și determina domeniul de aplicare:

a/autoq
Respectați comenzile de calitate pentru acest subfiltru.

c/crom
Efectuați și filtrarea crominanței (implicit).

y/nochrom
Efectuați numai filtrarea de luminanță (fără crominanță).

n/noluma
Efectuați numai filtrarea de crominanță (fără luminanță).

Aceste opțiuni pot fi adăugate după numele subfiltrului, separate prin „|”.

Subfiltrele disponibile sunt:

hb/hdeblock[|diferență[|planeitate]]
Filtru de deblocare orizontal

diferenţă
Factor de diferență în care valorile mai mari înseamnă mai multă deblocare (implicit: 32).

planeitate
Pragul de planeitate unde valorile mai mici înseamnă mai multă deblocare (implicit: 39).

vb/vdeblock[|diferență[|planeitate]]
Filtru de deblocare vertical

diferenţă
Factor de diferență în care valorile mai mari înseamnă mai multă deblocare (implicit: 32).

planeitate
Pragul de planeitate unde valorile mai mici înseamnă mai multă deblocare (implicit: 39).

ha/hadeblock[|diferență[|planeitate]]
Filtru de deblocare orizontal precis

diferenţă
Factor de diferență în care valorile mai mari înseamnă mai multă deblocare (implicit: 32).

planeitate
Pragul de planeitate unde valorile mai mici înseamnă mai multă deblocare (implicit: 39).

va/vadeblock[|diferență[|planeitate]]
Filtru de deblocare vertical precis

diferenţă
Factor de diferență în care valorile mai mari înseamnă mai multă deblocare (implicit: 32).

planeitate
Pragul de planeitate unde valorile mai mici înseamnă mai multă deblocare (implicit: 39).

Filtrele de deblocare orizontale și verticale împărtășesc valorile de diferență și planeitate astfel
nu puteți seta diferite praguri orizontale și verticale.

h1/x1hdeblock
Filtru de deblocare orizontal experimental

v1/x1vdeblock
Filtru de deblocare vertical experimental

dr/dering
Filtru de deringing

tn/tmpnoise[|threshold1[|threshold2[|threshold3]]], temporal zgomot reductor
prag1
mai mare -> filtrare mai puternică

prag2
mai mare -> filtrare mai puternică

prag3
mai mare -> filtrare mai puternică

al/autolevels[:f/fullrange], automat strălucire / contrast corecţie
f/gamă completă
Întindeți luminanța la „0-255”.

lb/linblenddeint
Filtru de deintercalare a amestecului liniar care dezintercalează blocul dat prin filtrarea tuturor
linii cu un filtru „(1 2 1)”.

li/linipoldeint
Filtru de interpolare liniar care deintercalează blocul dat prin
interpolând liniar fiecare a doua linie.

ci/cubicipoldeint
Filtrul de interpolare cubică dezintercalează blocul dat cub
interpolând fiecare a doua linie.

md/mediandeint
Filtru de deintercalare mediană care dezintercalează blocul dat prin aplicarea unei mediane
filtrați la fiecare a doua linie.

fd/ffmpegdeint
Filtrul de deintercalare FFmpeg care dezintercalează blocul dat prin filtrarea fiecăruia
a doua linie cu un filtru „(-1 4 2 4 -1)”.

l5/lowpass5
Filtrul de deintercalare trece jos FIR aplicat pe verticală care dezintercalează blocul dat
prin filtrarea tuturor liniilor cu un filtru „(-1 2 6 2 -1)”.

fq/forceQuant[|cuantizator]
Ignoră tabelul cuantificatorului de la intrare cu cuantificatorul constant pe care îl specificați.

cuantificator
Cuantizator de utilizat

implicit/implicit
Combinație implicită de filtru pp ("hb|a,vb|a,dr|a")

fa/rapid
Combinație rapidă de filtru pp ("h1|a,v1|a,dr|a")

ac Combinație de filtru pp de înaltă calitate ("ha|a|128|7,va|a,dr|a")

Exemple

· Aplicați deblocare orizontală și verticală, deringing și luminozitate/contrast automată:

pp=hb/vb/dr/al

· Aplicați filtre implicite fără corecție de luminozitate/contrast:

pp=de/-al

· Aplicați filtre implicite și denoiser temporal:

pp=default/tmpnoise|1|2|3

· Aplicați deblocarea numai pe luminanță și activați sau dezactivați deblocarea verticală
automat, în funcție de timpul CPU disponibil:

pp=hb|y/vb|a

pp7
Aplicați filtrul Postprocesare 7. Este o variantă a spp filtru, similar cu spp = 6 cu 7
punct DCT, unde numai eșantionul central este utilizat după IDCT.

Filtrul acceptă următoarele opțiuni:

qp Forțați un parametru de cuantizare constant. Acceptă un număr întreg în intervalul de la 0 la 63. Dacă
nesetat, filtrul va folosi QP-ul din fluxul video (dacă este disponibil).

mod
Setați modul de prag. Modurile disponibile sunt:

greu
Setați un prag dur.

moale
Setați un prag moale (efect mai bun de de-ringing, dar probabil mai neclar).

mediu
Setați un prag mediu (rezultate bune, implicit).

psnr
Obțineți media, maxima și minimă PSNR (Peak Signal to Noise Ratio) între două
introducerea videoclipurilor.

Acest filtru preia două videoclipuri de intrare, prima intrare este considerată „principală”
sursă și este transmis neschimbat la ieșire. A doua intrare este folosită ca „referință”
video pentru calcularea PSNR.

Ambele intrări video trebuie să aibă aceeași rezoluție și format de pixeli pentru ca acest filtru să funcționeze
corect. De asemenea, se presupune că ambele intrări au același număr de cadre, care sunt
comparat unul câte unul.

PSNR mediu obținut este imprimat prin sistemul de înregistrare.

Filtrul stochează MSE (eroare medie pătratică) acumulată a fiecărui cadru și la sfârșit
a procesării este mediată în toate cadrele în mod egal, iar următoarea formulă este
aplicat pentru obținerea PSNR:

PSNR = 10*log10(MAX^2/MSE)

Unde MAX este media valorilor maxime ale fiecărei componente a imaginii.

Urmează descrierea parametrilor acceptați.

stats_file, f
Dacă este specificat, filtrul va folosi fișierul numit pentru a salva PSNR-ul fiecărui individ
cadru.

Fișierul tipărit dacă fişier_statistici este selectat, conține o secvență de perechi cheie/valoare ale
formă cheie:valoare pentru fiecare cuplu comparat de cadre.

Urmează o descriere a fiecărui parametru afișat:

n numărul secvenţial al cadrului de intrare, începând de la 1

mse_avg
Eroare pătrată medie pixel-cu-pixel diferența medie a cadrelor comparate, mediată
peste toate componentele imaginii.

mse_y, mse_u, mse_v, mse_r, mse_g, mse_g, mse_a
Eroare pătrată medie pixel-cu-pixel diferența medie a cadrelor comparate pentru
componentă specificată de sufix.

psnr_y, psnr_u, psnr_v, psnr_r, psnr_g, psnr_b, psnr_a
Raportul semnal de vârf la zgomot al cadrelor comparate pentru componenta specificată de
sufix.

De exemplu:

movie=ref_movie.mpg, setpts=PTS-STARTPTS [principal];
[principal][ref] psnr="stats_file=stats.log" [out]

În acest exemplu, fișierul de intrare procesat este comparat cu fișierul de referință
ref_movie.mpg. PSNR-ul fiecărui cadru individual este stocat în statistici.log.

trage
Filtru de inversare pulldown (telecine inversă), capabil să gestioneze hard-telecine mixt,
24000/1001 fps progresiv și conținut progresiv 30000/1001 fps.

Filtrul pullup este conceput pentru a profita de contextul viitor în luarea deciziilor.
Acest filtru este apatrid în sensul că nu se blochează pe un model de urmat, dar
în schimb, așteaptă cu nerăbdare următoarele câmpuri pentru a identifica potrivirile și a reconstrui
cadre progresive.

Pentru a produce conținut cu un framerate uniform, introduceți filtrul fps după pullup, utilizați
„fps=24000/1001” dacă rata de intrare a cadrelor este de 29.97 fps, „fps=24” pentru 30fps și (rar)
intrare telecinată de 25 fps.

Filtrul acceptă următoarele opțiuni:

jl
jr
jt
jb Aceste opțiuni stabilesc cantitatea de „junk” de ignorat în stânga, dreapta, sus și jos
a imaginii, respectiv. Stânga și dreapta sunt în unități de 8 pixeli, în timp ce sus și
de jos sunt în unități de 2 linii. Valoarea implicită este de 8 pixeli pe fiecare parte.

sb Stabiliți pauze stricte. Setarea acestei opțiuni la 1 va reduce șansele de filtrare
generând ocazional un cadru nepotrivit, dar poate provoca și un număr excesiv
de cadre care urmează să fie aruncate în timpul secvențelor de mișcare mare. Dimpotrivă, setându-l la -1
va face mai ușor câmpurile de potrivire de filtrare. Acest lucru poate ajuta la procesarea videoclipurilor unde
există o ușoară neclaritate între câmpuri, dar poate provoca și întrețeserea acestora
cadre în ieșire. Valoarea implicită este 0.

mp Setați planul metric de utilizat. Acceptă următoarele valori:

l Folosește avionul luma.

u Folosiți planul chroma blue.

v Folosiți planul roșu cromatic.

Această opțiune poate fi setată să folosească planul cromatic în loc de planul luminos implicit
calculele filtrului. Acest lucru poate îmbunătăți acuratețea materialului sursă foarte curat, dar
mai probabil va scădea acuratețea, mai ales dacă există zgomot cromatic (curcubeu
efect) sau orice videoclip în tonuri de gri. Scopul principal al setarii mp la un plan cromatic este
pentru a reduce sarcina procesorului și a face pullup-ul utilizabil în timp real pe mașinile lente.

Pentru cele mai bune rezultate (fără cadre duplicate în fișierul de ieșire) este necesar să se schimbe
rata de ieșire a cadrelor. De exemplu, pentru a inversa intrarea telecine NTSC:

ffmpeg -i intrare -vf pullup -r 24000/1001 ...

qp
Modificați parametrii de cuantizare video (QP).

Filtrul acceptă următoarea opțiune:

qp Setați expresia pentru parametrul de cuantizare.

Expresia este evaluată prin API-ul eval și poate conține, printre altele, și
urmatoarele constante:

cunoscut
1 dacă indicele nu este 129, 0 în caz contrar.

qp Index secvenţial începând de la -129 la 128.

Exemple

· O ecuație cum ar fi:

qp=2+2*sin(PI*qp)

aleator
Scoateți cadrele video din memoria cache internă a cadrelor într-o ordine aleatorie. Nici un cadru nu este
aruncat. Inspirat de frei0r filtru nervos.

rame
Setați dimensiunea în număr de cadre din memoria cache internă, în intervalul de la 2 la 512. Implicit este 30.

sămânţă
Setați sămânța pentru generatorul de numere aleatoare, trebuie să fie un număr întreg inclus între 0 și
„UINT32_MAX”. Dacă nu este specificat sau dacă este setat în mod explicit la mai puțin de 0, filtrul o va face
încercați să utilizați o sămânță bună aleatorie pe baza efortului maxim.

elimina cerealele
Filtrul removegrain este un denoiser spațial pentru video progresiv.

m0 Setați modul pentru primul avion.

m1 Setați modul pentru al doilea plan.

m2 Setați modul pentru al treilea plan.

m3 Setați modul pentru al patrulea plan.

Intervalul de mod este de la 0 la 24. Descrierea fiecărui mod este următoarea:

0 Lăsați planul de intrare neschimbat. Mod implicit.

1 Decupează pixelul cu minim și maxim dintre cei 8 pixeli vecini.

2 Decupează pixelul cu al doilea minim și maxim dintre cei 8 pixeli vecini.

3 Decupează pixelul cu al treilea minim și maxim dintre cei 8 pixeli vecini.

4 Decupează pixelul cu al patrulea minim și maxim dintre cei 8 pixeli vecini. Acest
este echivalent cu un filtru median.

5 Tăiere sensibilă la linie care oferă o schimbare minimă.

6 Tăiere sensibilă la linie, intermediară.

7 Tăiere sensibilă la linie, intermediară.

8 Tăiere sensibilă la linie, intermediară.

9 Tăiere sensibilă la linie pe o linie în care pixelii vecini sunt cei mai apropiați.

10 Înlocuiește pixelul țintă cu cel mai apropiat vecin.

11 [1 2 1] estompare a miezului orizontal și vertical.

12 La fel ca modul 11.

13 Modul Bob, interpolează câmpul superior din linia în care sunt pixelii vecini
cel mai apropiat.

14 Modul Bob, interpolează câmpul de jos din linia în care sunt pixelii vecini
cel mai apropiat.

15 Modul Bob, interpolează câmpul superior. La fel ca 13, dar cu o interpolare mai complicată
formula.

16 Modul Bob, interpolează câmpul de jos. La fel ca 14, dar cu o mai complicată
formula de interpolare.

17 Decupează pixelul cu minimul și maximul respectiv maxim și minim
a fiecărei perechi de pixeli vecini opuși.

18 Tăiere sensibilă la linie folosind vecini opuși a căror distanță mai mare de
pixelul curent este minim.

19 Înlocuiește pixelul cu media celor 8 vecini ai săi.

20 Mediază cei 9 pixeli ([1 1 1] estompare orizontală și verticală).

21 Decupează pixelii folosind mediile vecinului opus.

22 La fel ca modul 21, dar mai simplu și mai rapid.

23 Îndepărtarea marginii mici și a haloului, dar reputată inutilă.

24 Similar cu 23.

removelogo
Suprimați sigla unui post TV, utilizând un fișier imagine pentru a determina ce pixeli o compun
siglă. Funcționează prin completarea pixelilor care cuprind logo-ul cu pixeli învecinați.

Filtrul acceptă următoarele opțiuni:

nume de fișier, f
Setați fișierul bitmap de filtru, care poate fi orice format de imagine acceptat de libavformat.
Lățimea și înălțimea fișierului imagine trebuie să se potrivească cu cele ale fluxului video
prelucrate.

Pixelii din imaginea bitmap furnizată cu o valoare zero nu sunt considerați parte din
logo, pixelii diferit de zero sunt considerați parte a logo-ului. Dacă utilizați alb (255) pentru logo
și negru (0) pentru restul, vei fi în siguranță. Pentru crearea bitmap-ului filtrului, este
recomandat să faceți o captură de ecran a unui cadru negru cu logo-ul vizibil și apoi
folosind un filtru de prag urmat de filtrul de erodare o dată sau de două ori.

Dacă este necesar, micile pete pot fi reparate manual. Amintiți-vă că, dacă pixelii logo-ului nu sunt
acoperit, calitatea filtrului va fi mult redusă. Se marchează prea mulți pixeli ca parte a
logo-ul nu doare la fel de mult, dar va crește cantitatea de estompare necesară pentru acoperire
peste imagine și va distruge mai multe informații decât este necesar, iar pixelii suplimentari vor distruge
încetinește lucrurile pe un logo mare.

câmpuri repetate
Acest filtru folosește indicatorul repeat_field din anteturile Video ES și câmpurile hard repeats
pe baza valorii sale.

verso, invers
Întoarceți un clip.

Avertisment: Acest filtru necesită memorie pentru a stoca întregul clip, așa că se recomandă tăierea.

Exemple

· Luați primele 5 secunde ale unui clip și inversați-l.

trim=end=5,reverse

roti
Rotiți videoclipul cu un unghi arbitrar exprimat în radiani.

Filtrul acceptă următoarele opțiuni:

Urmează o descriere a parametrilor opționali.

unghi, a
Setați o expresie pentru unghiul cu care să rotiți videoclipul de intrare în sensul acelor de ceasornic,
exprimată ca număr de radiani. O valoare negativă va rezulta în sens invers acelor de ceasornic
rotație. În mod implicit, este setat la „0”.

Această expresie este evaluată pentru fiecare cadru.

out_w, ow
Setați expresia lățimii de ieșire, valoarea implicită este „iw”. Această expresie este evaluată
doar o dată în timpul configurării.

out_h, oh
Setați expresia înălțimii de ieșire, valoarea implicită este „ih”. Această expresie este evaluată
doar o dată în timpul configurării.

biliniar
Activați interpolarea biliniară dacă este setată la 1, o valoare de 0 o dezactivează. Valoarea implicită este
1.

fillcolor, c
Setați culoarea folosită pentru a umple zona de ieșire care nu este acoperită de imaginea rotită. Pentru
sintaxa generală a acestei opțiuni, verificați secțiunea „Culoare” din manualul ffmpeg-utils.
Dacă este selectată valoarea specială „niciun”, atunci nu este imprimat fundal (util pentru
exemplu dacă fundalul nu este afișat niciodată).

Valoarea implicită este „negru”.

Expresiile pentru unghi și dimensiunea de ieșire pot conține următoarele constante și
funcţii:

n numărul secvenţial al cadrului de intrare, începând de la 0. Este întotdeauna NAN înainte de
primul cadru este filtrat.

t timpul în secunde al cadrului de intrare, este setat la 0 când filtrul este configurat. Aceasta
este întotdeauna NAN înainte ca primul cadru să fie filtrat.

hsub
vsub
valorile subeșantionului cromatic orizontal și vertical. De exemplu, pentru formatul pixelilor
"yuv422p" hsub este 2 și vsub este 1.

în W, iw
in_h, ih
lățimea și înălțimea video de intrare

out_w, ow
out_h, oh
lățimea și înălțimea de ieșire, adică dimensiunea zonei căptușite, așa cum este specificată de
lățime și înălțime expresii

rotw(a)
roth(a)
lățimea/înălțimea minimă necesară pentru a conține complet videoclipul de intrare rotit de
a radiani.

Acestea sunt disponibile numai atunci când se calculează out_w și out_h expresii.

Exemple

· Rotiți intrarea cu PI/6 radiani în sensul acelor de ceasornic:

rotire=PI/6

· Rotiți intrarea cu PI/6 radiani în sens invers acelor de ceasornic:

rotire=-PI/6

· Rotiți intrarea cu 45 de grade în sensul acelor de ceasornic:

rotire=45*PI/180

· Aplicați o rotație constantă cu perioada T, începând de la un unghi de PI/3:

rotire=PI/3+2*PI*t/T

· Faceți ca rotația video de intrare să oscileze cu o perioadă de T secunde și o amplitudine
de A radiani:

rotire=A*sin(2*PI/T*t)

· Rotiți videoclipul, dimensiunea de ieșire este aleasă astfel încât întregul videoclip de intrare rotativ să fie
întotdeauna complet conținut în rezultat:

rotire='2*PI*t:ow=hypot(iw,ih):oh=ow'

· Rotiți videoclipul, reduceți dimensiunea de ieșire, astfel încât să nu fie afișat fundal:

rotire=2*PI*t:ow='min(iw,ih)/sqrt(2)':oh=ow:c=niciunul

Comenzi

Filtrul acceptă următoarele comenzi:

a, unghi
Setați expresia unghiului. Comanda acceptă aceeași sintaxă a celei corespunzătoare
opțiune.

Dacă expresia specificată nu este validă, se păstrează la valoarea sa curentă.

sab
Aplicați Shape Adaptive Blur.

Filtrul acceptă următoarele opțiuni:

luma_radius, lr
Setați puterea filtrului de estompare luma, trebuie să fie o valoare în intervalul 0.1-4.0, valoarea implicită este 1.0.
O valoare mai mare va avea ca rezultat o imagine mai neclară și o procesare mai lentă.

luma_pre_filter_radius, lpfr
Setați raza prefiltrului de luma, trebuie să fie o valoare în intervalul 0.1-2.0, valoarea implicită este
1.0.

puterea_lumă, ls
Setați diferența maximă de lumina între pixeli să fie luată în considerare, trebuie să fie o valoare în
intervalul 0.1-100.0, valoarea implicită este 1.0.

chroma_radius, cr
Setați puterea filtrului de estompare cromatică, trebuie să fie o valoare în intervalul 0.1-4.0. O valoare mai mare
va avea ca rezultat o imagine mai neclară și o procesare mai lentă.

chroma_pre_filter_radius, cpfr
Setați raza prefiltrului cromatic, trebuie să fie o valoare în intervalul 0.1-2.0.

chroma_strength, cs
Setați diferența maximă de croma între pixeli să fie luată în considerare, trebuie să fie o valoare
în intervalul 0.1-100.0.

Fiecare valoare a opțiunii de croma, dacă nu este specificată în mod explicit, este setată la lumina corespunzătoare
valoarea opțiunii.

scară
Scalați (redimensionați) videoclipul de intrare, folosind biblioteca libswscale.

Filtrul de scară forțează raportul de aspect al afișajului de ieșire să fie același cu cel de intrare, prin
modificarea raportului de aspect al eșantionului de ieșire.

Dacă formatul imaginii de intrare este diferit de formatul solicitat de următorul filtru,
filtrul de scară va converti intrarea în formatul solicitat.

Opţiuni

Filtrul acceptă următoarele opțiuni sau oricare dintre opțiunile acceptate de
scaler libswscale.

Vedea il ffmpeg-scaler manual pentru lista completă a opțiunilor de scalare.

lățime, w
înălţime, h
Setați expresia dimensiunii video de ieșire. Valoarea implicită este dimensiunea de intrare.

Dacă valoarea este 0, lățimea de intrare este utilizată pentru ieșire.

Dacă una dintre valori este -1, filtrul de scară va folosi o valoare care menține
raportul de aspect al imaginii de intrare, calculat din cealaltă dimensiune specificată. Dacă
ambele sunt -1, se utilizează dimensiunea de intrare

Dacă una dintre valori este -n cu n > 1, filtrul de scară va folosi și o valoare care
menține raportul de aspect al imaginii de intrare, calculat din cealaltă specificată
dimensiune. După aceea, se va asigura totuși că dimensiunea calculată este
divizibil cu n și ajustați valoarea dacă este necesar.

Vedeți mai jos lista constantelor acceptate pentru utilizare în expresia dimensiune.

interl
Setați modul de întrețesere. Acceptă următoarele valori:

1 Forțați scalarea conștientă întrețesată.

0 Nu aplicați scalare întrețesată.

-1 Selectați scalarea conștientă intercalată în funcție de dacă cadrele sursă sunt marcate
ca întrețesut sau nu.

Valoarea implicită este 0.

steaguri
Setați steaguri de scalare libswscale. Vedea il ffmpeg-scaler manual pentru lista completă a
valorile. Dacă nu este specificat în mod explicit, filtrul aplică steagurile implicite.

mărimea, s
Setați dimensiunea videoclipului. Pentru sintaxa acestei opțiuni, verificați "Video mărimea" secțiune in
il ffmpeg-utils manual.

in_color_matrix
out_color_matrix
Setați tipul de spațiu de culoare YCbCr de intrare/ieșire.

Acest lucru permite ca valoarea detectată automat să fie suprascrisă și permite forțarea a
valoare specifică utilizată pentru ieșire și encoder.

Dacă nu este specificat, tipul spațiului de culoare depinde de formatul pixelilor.

Valori posibile:

Auto
Alege automat.

bt709
Format conform cu recomandarea Uniunii Internaționale de Telecomunicații (ITU).
BT.709.

fcc Setați spațiul de culoare în conformitate cu Comisia Federală de Comunicații din Statele Unite
(FCC) Codul Reglementărilor Federale (CFR) Titlul 47 (2003) 73.682 (a).

bt601
Setați spațiul de culoare în conformitate cu:

· Recomandarea BT.601 pentru sectorul radiocomunicațiilor ITU (ITU-R).

· Rec. ITU-R BT.470-6 (1998) Sistemele B, B1 și G

· Societatea Inginerilor de Film și Televiziune (SMPTE) ST 170:2004

smpte240m
Setați spațiul de culoare în conformitate cu SMPTE ST 240:1999.

în_gamă
out_range
Setați intervalul de probă YCbCr de intrare/ieșire.

Acest lucru permite ca valoarea detectată automat să fie suprascrisă și permite forțarea a
valoare specifică utilizată pentru ieșire și encoder. Dacă nu este specificat, intervalul depinde de
formatul pixelilor. Valori posibile:

Auto
Alege automat.

jpeg/full/buc
Setați gama completă (0-255 în cazul luma pe 8 biți).

mpeg/tv
Setați intervalul „MPEG” (16-235 în cazul luma pe 8 biți).

force_original_aspect_raport
Activați scăderea sau creșterea lățimii sau înălțimii video de ieșire, dacă este necesar pentru a păstra
raportul de aspect original. Valori posibile:

dezactivați
Scalați videoclipul așa cum este specificat și dezactivați această funcție.

scădea
Dimensiunile video de ieșire vor fi reduse automat dacă este necesar.

creşte
Dimensiunile video de ieșire vor crește automat dacă este necesar.

Un exemplu util al acestei opțiuni este atunci când cunoașteți maximul unui anumit dispozitiv
rezoluția permisă, puteți utiliza aceasta pentru a limita ieșirea video la aceea, în timp ce
păstrând raportul de aspect. De exemplu, dispozitivul A permite redarea 1280x720, iar dvs
videoclipul este 1920x800. Folosind această opțiune (setați-o să scadă) și specificând 1280x720 la
linia de comandă face ieșirea 1280x533.

Vă rugăm să rețineți că acesta este un lucru diferit de specificarea -1 pentru w or h, tu încă
trebuie să specificați rezoluția de ieșire pentru ca această opțiune să funcționeze.

Valorile w și h opțiunile sunt expresii care conțin următoarele constante:

în W
în_h
Lățimea și înălțimea de intrare

iw
ih Acestea sunt la fel ca în W și în_h.

out_w
out_h
Lățimea și înălțimea de ieșire (scalată).

ow
oh Acestea sunt la fel ca out_w și out_h

a La fel ca iw / ih

SAR raportul de aspect al eșantionului de intrare

da Raportul de aspect al afișajului de intrare. Calculat din „(iw / ih) * sar”.

hsub
vsub
valorile subeșantioanelor cromatice de intrare orizontale și verticale. De exemplu pentru pixel
format „yuv422p” hsub este 2 și vsub este 1.

ohsub
ovsub
valorile subeșantionului cromatic de ieșire orizontală și verticală. De exemplu pentru pixel
format „yuv422p” hsub este 2 și vsub este 1.

Exemple

· Scalați videoclipul de intrare la o dimensiune de 200x100

scară=w=200:h=100

Acest lucru este echivalent cu:

scara=200:100

sau:

scara=200x100

· Specificați o abreviere de dimensiune pentru dimensiunea de ieșire:

scale=qcif

care poate fi scris și ca:

scară=dimensiune=qcif

· Scalați intrarea la 2x:

scara=w=2*iw:h=2*ih

· Cele de mai sus sunt identice cu:

scară=2*in_w:2*in_h

· Scalați intrarea la 2x cu scalare întrețesată forțată:

scară=2*iw:2*ih:interl=1

· Scalați intrarea la jumătate de dimensiune:

scară=w=iw/2:h=ih/2

· Măriți lățimea și setați înălțimea la aceeași dimensiune:

scara=3/2*iw:ow

· Căutați armonia greacă:

scară=iw:1/PHI*iw
scară=ih*PHI:ih

· Măriți înălțimea și setați lățimea la 3/2 din înălțime:

scara=w=3/2*oh:h=3/5*ih

· Măriți dimensiunea, făcând dimensiunea un multiplu al valorilor subeșantionului cromatic:

scale="trunc(3/2*iw/hsub)*hsub:trunc(3/2*ih/vsub)*vsub"

· Măriți lățimea până la maximum 500 de pixeli, păstrând același raport de aspect ca și
intrare:

scară=w='min(500\, iw*3/2):h=-1'

Comenzi

Acest filtru acceptă următoarele comenzi:

lățime, w
înălţime, h
Setați expresia dimensiunii video de ieșire. Comanda acceptă aceeași sintaxă a lui
opțiunea corespunzătoare.

Dacă expresia specificată nu este validă, se păstrează la valoarea sa curentă.

scara2ref
Scalați (redimensionați) videoclipul de intrare, pe baza unui videoclip de referință.

Consultați filtrul de scară pentru opțiunile disponibile, scale2ref acceptă același lucru, dar folosește
video de referință în loc de intrarea principală ca bază.

Exemple

· Scalați un flux de subtitrare pentru a se potrivi cu dimensiunea videoclipului principal înainte de suprapunere

„scale2ref[b][a];[a][b]overlay”

câmpuri separate
„Câmpurile separate” preia o intrare video bazată pe cadre și împarte fiecare cadru în el
câmpurile componente, producând un nou clip de jumătate de înălțime cu de două ori rata de cadre și de două ori
numărul de cadre.

Acest filtru folosește informații despre dominanța câmpului în cadru pentru a decide care dintre fiecare pereche
câmpuri pentru a plasa primul în rezultat. Dacă se folosește greșit setfield se filtrează înainte
filtrul „câmpuri separate”.

setdar, setsar
Filtrul „setdar” setează raportul de aspect al afișajului pentru videoclipul de ieșire al filtrului.

Acest lucru se face prin modificarea raportului de aspect al eșantionului (aka Pixel) specificat, în conformitate cu
următoarea ecuație:

= / *

Rețineți că filtrul „setdar” nu modifică dimensiunile pixelilor videoclipului
cadru. De asemenea, raportul de aspect al afișajului setat de acest filtru poate fi modificat de filtrele ulterioare
în filterchain, de exemplu, în caz de scalare sau dacă un alt filtru „setdar” sau „setsar” este
aplicat.

Filtrul „setsar” setează raportul de aspect al eșantionului (alias pixeli) pentru videoclipul de ieșire al filtrului.

Rețineți că, ca urmare a aplicării acestui filtru, aspectul de afișare a ieșirii
raportul se va modifica conform ecuației de mai sus.

Rețineți că raportul de aspect al eșantionului setat de filtrul „setsar” poate fi modificat de
filtre ulterioare în filterchain, de exemplu dacă un alt filtru „setsar” sau „setdar” este
aplicat.

Acceptă următorii parametri:

r, raport, da ("setdar" numai), SAR ("setsar" numai)
Setați raportul de aspect utilizat de filtru.

Parametrul poate fi un șir numeric în virgulă mobilă, o expresie sau un șir al lui
formă o:zi, În cazul în care o și zi sunt numărătorul și numitorul raportului de aspect.
Dacă parametrul nu este specificat, se presupune valoarea „0”. În cazul în care formularul
"o:zi" este folosit, caracterul ":" ar trebui să fie eliminat.

max Setați valoarea maximă întreagă de utilizat pentru exprimarea numărătorului și numitorului când
reducerea raportului de aspect exprimat la un rațional. Valoarea implicită este 100.

Parametrul SAR este o expresie care conține următoarele constante:

E, PI, PHI
Acestea sunt valori aproximative pentru constantele matematice e (numărul lui Euler), pi
(greacă pi) și phi (rația de aur).

w, h
Lățimea și înălțimea de intrare.

a Acestea sunt la fel ca w / h.

SAR Raportul de aspect al eșantionului de intrare.

da Raportul de aspect al afișajului de intrare. Este la fel ca (w / h) * SAR.

hsub, vsub
Valorile sub-eșantionului cromatic orizontal și vertical. De exemplu, pentru formatul de pixeli
"yuv422p" hsub este 2 și vsub este 1.

Exemple

· Pentru a modifica raportul de aspect al afișajului la 16:9, specificați una dintre următoarele:

setdar=dar=1.77777
setdar=dar=16/9
setdar=dar=1.77777

· Pentru a modifica raportul de aspect al eșantionului la 10:11, specificați:

setsar=sar=10/11

· Pentru a seta un raport de aspect de afișare de 16:9 și a specifica o valoare întreagă maximă de 1000 in
reducerea raportului de aspect, utilizați comanda:

setdar=raport=16/9:max=1000

setfield
Câmp de forță pentru cadrul video de ieșire.

Filtrul „setfield” marchează câmpul de tip întrețesut pentru cadrele de ieșire. Aceasta nu
modifica cadrul de intrare, dar setează doar proprietatea corespunzătoare, care afectează modul în care
cadru este tratat prin următoarele filtre (de exemplu, „fieldorder” sau „yadif”).

Filtrul acceptă următoarele opțiuni:

mod
Valorile disponibile sunt:

Auto
Păstrați aceeași proprietate a câmpului.

BFF Marcați cadrul ca jos-câmp-întâi.

tff Marcați cadrul ca pe câmpul de sus, primul.

prog
Marcați cadrul ca progresiv.

ShowInfo
Afișați o linie care conține diverse informații pentru fiecare cadru video de intrare. Video-ul de intrare este
nemodificat.

Linia afișată conține o secvență de perechi cheie/valoare ale formularului cheie:valoare.

Următoarele valori sunt afișate în rezultat:

n Numărul (secvențial) al cadrului de intrare, începând de la 0.

pct Timpul de prezentare al cadrului de intrare, exprimat ca număr de bază de timp
unitati. Unitatea de bază de timp depinde de pad-ul de intrare al filtrului.

pts_time
Timpul de prezentare al cadrului de intrare, exprimat ca număr de secunde.

post Poziția cadrului în fluxul de intrare sau -1 dacă această informație este
indisponibil și/sau lipsit de sens (de exemplu, în cazul unui videoclip sintetic).

fmt Numele formatului de pixeli.

SAR Raportul de aspect al eșantionului cadrului de intrare, exprimat sub formă o/zi.

s Dimensiunea cadrului de intrare. Pentru sintaxa acestei opțiuni, verificați "Video mărimea"
secțiune in il ffmpeg-utils manual.

i Tipul de mod întrețesut („P” pentru „progresiv”, „T” pentru câmpul superior mai întâi, „B” pentru
câmpul de jos primul).

iskey
Acesta este 1 dacă cadrul este un cadru cheie, 0 în caz contrar.

tip
Tipul de imagine al cadrului de intrare („I” pentru un cadru I, „P” pentru un cadru P, „B” pentru un
Cadru B sau "?" pentru un tip necunoscut). Consultați, de asemenea, documentația
enumerarea „AVPictureType” și a funcției „av_get_picture_type_char” definită în
libavutil/avutil.h.

checksum
Suma de control Adler-32 (imprimată în hexazecimal) a tuturor planurilor cadrului de intrare.

plane_checksum
Suma de control Adler-32 (imprimată în hexazecimal) a fiecărui plan al cadrului de intrare,
exprimat sub forma „[c0 c1 c2 c3]".

paleta de prezentare
Afișează paleta de 256 de culori a fiecărui cadru. Acest filtru este relevant doar pentru pal8 pixel
format cadre.

Acceptă următoarea opțiune:

s Setați dimensiunea casetei utilizate pentru a reprezenta o intrare de culoare a paletei. Implicit este 30 (pentru
o casetă de pixeli „30x30”).

shuffleplanes
Reordonați și/sau duplicați avioanele video.

Acceptă următorii parametri:

map0
Indicele planului de intrare care va fi utilizat ca prim plan de ieșire.

map1
Indicele planului de intrare care va fi utilizat ca al doilea plan de ieșire.

map2
Indicele planului de intrare care va fi utilizat ca al treilea plan de ieșire.

map3
Indicele planului de intrare care va fi utilizat ca al patrulea plan de ieșire.

Primul plan are indicele 0. Implicit este păstrarea nemodificată a intrării.

Schimbați al doilea și al treilea plan al intrării:

ffmpeg -i INPUT -vf shuffleplanes=0:2:1:3 IEȘIRE

statistici de semnal
Evaluați diferite valori vizuale care ajută la determinarea problemelor asociate cu
digitizarea mediilor video analogice.

În mod implicit, filtrul va înregistra aceste valori de metadate:

YMIN
Afișați valoarea Y minimă conținută în cadrul de intrare. Exprimat în intervalul de
[0-255].

YLOW
Afișați valoarea Y la percentila de 10% din cadrul de intrare. Exprimat în interval
din [0-255].

YAVG
Afișați valoarea medie Y în cadrul de intrare. Exprimat în intervalul [0-255].

YHIGH
Afișați valoarea Y la percentila de 90% din cadrul de intrare. Exprimat în interval
din [0-255].

YMAX
Afișează valoarea Y maximă conținută în cadrul de intrare. Exprimat în intervalul de
[0-255].

UMIN
Afișați valoarea minimă U conținută în cadrul de intrare. Exprimat în intervalul de
[0-255].

ULOW
Afișați valoarea U la percentila de 10% în cadrul de intrare. Exprimat în interval
din [0-255].

UAVG
Afișați valoarea medie U în cadrul de intrare. Exprimat în intervalul [0-255].

UHIGH
Afișați valoarea U la percentila de 90% în cadrul de intrare. Exprimat în interval
din [0-255].

UMAX
Afișează valoarea U maximă conținută în cadrul de intrare. Exprimat în intervalul de
[0-255].

VMIN
Afișați valoarea V minimă conținută în cadrul de intrare. Exprimat în intervalul de
[0-255].

VLOW
Afișați valoarea V la percentila de 10% din cadrul de intrare. Exprimat în interval
din [0-255].

VAVG
Afișați valoarea medie V în cadrul de intrare. Exprimat în intervalul [0-255].

VHIGH
Afișați valoarea V la percentila de 90% din cadrul de intrare. Exprimat în interval
din [0-255].

Extensie VMAX
Afișați valoarea maximă V conținută în cadrul de intrare. Exprimat în intervalul de
[0-255].

SATMIN
Afișați valoarea minimă de saturație conținută în cadrul de intrare. Exprimat în
interval de [0-~181.02].

SATLOW
Afișați valoarea saturației la percentila de 10% din cadrul de intrare. Exprimat
în intervalul [0-~181.02].

SATAVG
Afișează valoarea medie a saturației în cadrul de intrare. Exprimat în intervalul de
[0-~181.02].

SATHIGH
Afișați valoarea saturației la percentila de 90% din cadrul de intrare. Exprimat
în intervalul [0-~181.02].

SATMAX
Afișează valoarea maximă de saturație conținută în cadrul de intrare. Exprimat în
interval de [0-~181.02].

HUEMED
Afișați valoarea mediană pentru nuanță în cadrul de intrare. Exprimat în intervalul de
[0-360].

HUEAVG
Afișați valoarea medie pentru nuanță în cadrul de intrare. Exprimat în intervalul de
[0-360].

YDIF
Afișați media diferenței valorii eșantionului dintre toate valorile planului Y în
cadrul curent și valorile corespunzătoare ale cadrului de intrare anterior. Exprimat în
interval de [0-255].

UDIF
Afișați media diferenței valorii eșantionului dintre toate valorile planului U în
cadrul curent și valorile corespunzătoare ale cadrului de intrare anterior. Exprimat în
interval de [0-255].

VDIF
Afișați media diferenței valorii eșantionului dintre toate valorile planului V în
cadrul curent și valorile corespunzătoare ale cadrului de intrare anterior. Exprimat în
interval de [0-255].

Filtrul acceptă următoarele opțiuni:

Stat
afară Stat specificați o formă suplimentară de analiză a imaginii. afară ieșire video cu
tipul specificat de pixel evidențiat.

Ambele opțiuni acceptă următoarele valori:

tout
Identifica temporal valorile extreme pixeli. A temporal anormal este un pixel spre deosebire de
pixeli vecini ai aceluiasi camp. Exemple de valori aberante temporale includ
rezultate ale întreruperilor video, înfundarea capului sau probleme de urmărire a benzilor.

vrep
Identifica vertical linie repetiţie. Repetarea liniei verticale include rânduri similare
de pixeli dintr-un cadru. În born-digital video repetarea liniei verticale este
comun, dar acest model este neobișnuit în videoclipurile digitizate dintr-o sursă analogică.
Când apare în video care rezultă din digitizarea unei surse analogice, acesta
poate indica ascunderea de la un compensator de abandon.

aduce
Identificați pixelii care nu se încadrează în intervalul legal de difuzare.

culoare, c
Setați culoarea de evidențiere pentru afară opțiune. Culoarea implicită este galbenă.

Exemple

· Date de ieșire ale diferitelor valori video:

ffprobe -f lavfi movie=example.mov,signalstats="stat=tout+vrep+brng" -show_frames

· Date specifice de ieșire despre valorile minime și maxime ale planului Y pe cadru:

ffprobe -f lavfi movie=example.mov,signalstats -show_entries frame_tags=lavfi.signalstats.YMAX,lavfi.signalstats.YMIN

· Redați videoclipuri în timp ce evidențiați pixelii care se află în afara domeniului de difuzare în roșu.

ffplay example.mov -vf signalstats="out=brng:color=red"

· Redare video cu metadate ale statisticilor de semnal desenate peste cadru.

ffplay example.mov -vf signalstats=stat=brng+vrep+tout,drawtext=fontfile=FreeSerif.ttf:textfile=signalstat_drawtext.txt

Conținutul semnalstat_drawtext.txt utilizat în comandă este:

timp %{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})
saturație maximă: %{metadata:lavfi.signalstats.SATMAX}

smartblur
Estompați videoclipul de intrare fără a afecta contururile.

Acceptă următoarele opțiuni:

luma_radius, lr
Setați raza luminii. Valoarea opțiunii trebuie să fie un număr flotant în intervalul [0.1,5.0]
care specifică varianța filtrului gaussian utilizat pentru a estompa imaginea (mai lent dacă
mai mare). Valoarea implicită este 1.0.

puterea_lumă, ls
Setați puterea lumii. Valoarea opțiunii trebuie să fie un număr flotant în intervalul [-1.0,1.0]
care configurează estomparea. O valoare inclusă în [0.0,1.0] va estompa imaginea
în timp ce o valoare inclusă în [-1.0,0.0] va accentua imaginea. Valoarea implicită este 1.0.

prag_lumă, lt
Setați pragul de lumina utilizat ca coeficient pentru a determina dacă un pixel ar trebui să fie
estompată sau nu. Valoarea opțiunii trebuie să fie un număr întreg în intervalul [-30,30]. O valoare de
0 va filtra toată imaginea, o valoare inclusă în [0,30] va filtra zonele plate și a
valoarea inclusă în [-30,0] va filtra marginile. Valoarea implicită este 0.

chroma_radius, cr
Setați raza cromatică. Valoarea opțiunii trebuie să fie un număr flotant în intervalul [0.1,5.0]
care specifică varianța filtrului gaussian utilizat pentru a estompa imaginea (mai lent dacă
mai mare). Valoarea implicită este 1.0.

chroma_strength, cs
Setați puterea cromatică. Valoarea opțiunii trebuie să fie un număr flotant în interval
[-1.0,1.0] care configurează estomparea. O valoare inclusă în [0.0,1.0] va estompa
imagine, în timp ce o valoare inclusă în [-1.0,0.0] va clarifica imaginea. Valoarea implicită este
1.0.

chroma_threshold, ct
Setați pragul de croma utilizat ca coeficient pentru a determina dacă un pixel ar trebui să fie
estompată sau nu. Valoarea opțiunii trebuie să fie un număr întreg în intervalul [-30,30]. O valoare de
0 va filtra toată imaginea, o valoare inclusă în [0,30] va filtra zonele plate și a
valoarea inclusă în [-30,0] va filtra marginile. Valoarea implicită este 0.

Dacă o opțiune de croma nu este setată în mod explicit, valoarea de lumina corespunzătoare este setată.

ssim
Obțineți SSIM (Metrica de similaritate structurală) între două videoclipuri de intrare.

Acest filtru preia două videoclipuri de intrare, prima intrare este considerată „principală”
sursă și este transmis neschimbat la ieșire. A doua intrare este folosită ca „referință”
video pentru calcularea SSIM.

Ambele intrări video trebuie să aibă aceeași rezoluție și format de pixeli pentru ca acest filtru să funcționeze
corect. De asemenea, se presupune că ambele intrări au același număr de cadre, care sunt
comparat unul câte unul.

Filtrul stochează SSIM calculat pentru fiecare cadru.

Urmează descrierea parametrilor acceptați.

stats_file, f
Dacă este specificat, filtrul va folosi fișierul numit pentru a salva SSIM-ul fiecărui individ
cadru.

Fișierul tipărit dacă fişier_statistici este selectat, conține o secvență de perechi cheie/valoare ale
formă cheie:valoare pentru fiecare cuplu comparat de cadre.

Urmează o descriere a fiecărui parametru afișat:

n numărul secvenţial al cadrului de intrare, începând de la 1

Y, U, V, R, G, B
SSIM al cadrelor comparate pentru componenta specificată de sufix.

TOATE SSIM al cadrelor comparate pentru întregul cadru.

dB La fel ca mai sus, dar în reprezentare dB.

De exemplu:

movie=ref_movie.mpg, setpts=PTS-STARTPTS [principal];
[principal][ref] ssim="stats_file=stats.log" [out]

În acest exemplu, fișierul de intrare procesat este comparat cu fișierul de referință
ref_movie.mpg. SSIM-ul fiecărui cadru individual este stocat în statistici.log.

Un alt exemplu cu psnr și ssim în același timp:

ffmpeg -i main.mpg -i ref.mpg -lavfi "ssim;[0:v][1:v]psnr" -f null -

stereo3d
Conversia între diferite formate de imagine stereoscopică.

Filtrele acceptă următoarele opțiuni:

in Setați formatul de imagine stereoscopic de intrare.

Valorile disponibile pentru formatele de imagine de intrare sunt:

sbsl
unul lângă altul paralel (ochiul stâng stânga, ochiul drept dreapta)

sbsr
ochi încrucișat unul lângă altul (ochiul drept stânga, ochiul stâng dreapta)

sbs2l
unul lângă altul paralel cu rezoluție pe jumătate (ochiul stâng stânga, ochiul drept dreapta)

sbs2r
ochi încrucișat alăturat cu rezoluție la jumătate de lățime (ochiul drept stânga, ochiul stâng dreapta)

sora deasupra-jos (ochiul stâng deasupra, ochiul drept dedesubt)

abr sus-dedesubt (ochiul drept deasupra, ochiul stâng dedesubt)

ab2l
deasupra dedesubt cu rezoluție la jumătate de înălțime (ochiul stâng deasupra, ochiul drept dedesubt)

ab2r
deasupra dedesubt cu rezoluție la jumătate de înălțime (ochiul drept deasupra, ochiul stâng dedesubt)

al cadre alternante (ochiul stâng primul, ochiul drept al doilea)

ar cadre alternante (ochiul drept primul, ochiul stâng al doilea)

Valoarea implicită este sbsl.

afară Setați formatul de imagine stereoscopic de ieșire.

Valorile disponibile pentru formatele de imagine de ieșire sunt toate formatele de intrare, precum și:

arbg
anaglifă roșu/albastru gri (filtru roșu pe ochiul stâng, filtru albastru pe ochiul drept)

argg
anaglifă roșu/verde gri (filtru roșu pe ochiul stâng, filtru verde pe ochiul drept)

arcg
anaglif roșu/gri cyan (filtru roșu pe ochiul stâng, filtru cyan pe ochiul drept)

arc
anaglifă roșu/cian semicolorat (filtru roșu pe ochiul stâng, filtru cyan pe ochiul drept)

arcc
culoare anaglifă roșu/cian (filtru roșu pe ochiul stâng, filtru cyan pe ochiul drept)

arcd
Culoare roșu/cian anaglifă optimizată cu proiecția celor mai mici pătrate a lui Dubois (roșu
filtru pe ochiul stâng, filtru cyan pe ochiul drept)

agmg
anaglif verde/magenta gri (filtru verde pe ochiul stâng, filtru magenta pe dreapta
ochi)

agmh
anaglif verde/magenta semicolorat (filtru verde pe ochiul stâng, filtru magenta activat
ochiul drept)

agmc
anaglifă verde/magenta (filtru verde pe ochiul stâng, filtru magenta pe dreapta
ochi)

agmd
Culoare anaglif verde/magenta optimizată cu proiecția celor mai mici pătrate a lui Dubois
(filtru verde pe ochiul stâng, filtru magenta pe ochiul drept)

aybg
anaglif galben/albastru gri (filtru galben pe ochiul stâng, filtru albastru pe ochiul drept)

aybh
anaglifă galben/albastru semicolorat (filtru galben pe ochiul stâng, filtru albastru pe dreapta
ochi)

aybc
anaglifă galben/albastru (filtru galben pe ochiul stâng, filtru albastru pe ochiul drept)

aybd
Culoare anaglifă galben/albastru optimizată cu proiecția celor mai mici pătrate a lui Dubois
(filtru galben pe ochiul stâng, filtru albastru pe ochiul drept)

IRL rânduri intercalate (ochiul stâng are rândul de sus, ochiul drept începe pe rândul următor)

irr rânduri intercalate (ochiul drept are rândul de sus, ochiul stâng începe pe rândul următor)

ml ieșire mono (doar ochiul stâng)

mr ieșire mono (doar ochiul drept)

Valoarea implicită este arcd.

Exemple

· Convertiți video de intrare unul lângă altul paralel cu anaglif galben/albastru dubois:

stereo3d=sbsl:aybd

· Conversia video de intrare de sus de jos (ochiul stâng deasupra, ochiul drept dedesubt) în alăturat
cruce.

stereo3d=abl:sbsr

spp
Aplicați un filtru simplu de postprocesare care comprimă și decomprimă imaginea la câteva
(sau - în cazul calitate nivelul 6 - toate) schimbă și medie rezultatele.

Filtrul acceptă următoarele opțiuni:

calitate
Setați calitatea. Această opțiune definește numărul de niveluri pentru mediere. Acceptă o
întreg în intervalul 0-6. Dacă este setat la 0, filtrul nu va avea niciun efect. O valoare de 6
înseamnă calitate superioară. Pentru fiecare creștere a acelei valori, viteza scade cu un factor
de aproximativ 2. Valoarea implicită este 3.

qp Forțați un parametru de cuantizare constant. Dacă nu este setat, filtrul va folosi QP de la
fluxul video (dacă este disponibil).

mod
Setați modul de prag. Modurile disponibile sunt:

greu
Setați un prag dur (implicit).

moale
Setați un prag moale (efect mai bun de de-ringing, dar probabil mai neclar).

use_bframe_qp
Activați utilizarea QP din cadrul B-Frames dacă este setată la 1. Utilizarea acestei opțiuni poate cauza
pâlpâie, deoarece cadrele B au adesea QP mai mare. Implicit este 0 (nu este activat).

subtitrari
Desenați subtitrări deasupra videoclipului de intrare folosind biblioteca libass.

Pentru a activa compilarea acestui filtru, trebuie să configurați FFmpeg cu „--enable-libass”.
Acest filtru necesită, de asemenea, o construcție cu libavcodec și libavformat pentru a converti fișierul trecut
fișierul de subtitrări în formatul de subtitrări ASS (Advanced Substation Alpha).

Filtrul acceptă următoarele opțiuni:

nume de fișier, f
Setați numele fișierului pentru a fi citit. Trebuie specificat.

Dimensiunea originală
Specificați dimensiunea videoclipului original, videoclipul pentru care a fost compus fișierul ASS.
Pentru sintaxa acestei opțiuni, verificați "Video mărimea" secțiune in il ffmpeg-utils
manual. Din cauza unei proiectări greșite în aritmetica raportului de aspect ASS, acest lucru este necesar
scala corect fonturile dacă raportul de aspect a fost modificat.

fontsdir
Setați o cale de director care să conțină fonturi care pot fi utilizate de filtru. Aceste fonturi
va fi folosit în plus față de orice folosește furnizorul de fonturi.

charenc
Setați codificarea caracterelor de intrare pentru subtitrări. numai filtrul „subtitrări”. Util doar dacă nu
UTF-8.

stream_index, si
Setați indexul fluxului de subtitrări. numai filtrul „subtitrări”.

stil_fort
Ignorați stilul implicit sau parametrii de informații despre script ai subtitrarilor. Acceptă un șir
care conține cupluri în formatul stilului ASS „KEY=VALUE” separate prin ",".

Dacă prima cheie nu este specificată, se presupune că prima valoare specifică
nume de fișier.

De exemplu, pentru a reda fișierul sub.srt deasupra videoclipului de intrare, utilizați comanda:

subtitrări=sub.srt

care este echivalent cu:

subtitles=filename=sub.srt

Pentru a reda fluxul implicit de subtitrări din fișier video.mkv, utilizare:

subtitrări=video.mkv

Pentru a reda al doilea flux de subtitrări din acel fișier, utilizați:

subtitrări=video.mkv:si=1

Pentru a face fluxul de subtitrări din sub.srt apar în verde transparent „DejaVu Serif”, utilizați:

subtitles=sub.srt:force_style='FontName=DejaVu Serif,PrimaryColour=&HAA00FF00'

super2xsai
Scalați intrarea de 2x și uniformizați utilizând pixel art-ul Super2xSaI (Scale and Interpolate).
algoritm de scalare.

Util pentru mărirea imaginilor pixel art fără a reduce claritatea.

swapuv
Schimbați avionul U & V.

telecine
Aplicați procesul de telecine la videoclip.

Acest filtru acceptă următoarele opțiuni:

primul_câmp
top, t
câmpul de sus mai întâi

jos, b
câmpul de jos primul Valoarea implicită este „sus”.

model
Un șir de numere care reprezintă modelul derulant pe care doriți să îl aplicați. Implicit
valoarea este 23.

Câteva modele tipice:

Ieșire NTSC (30i):
27.5p: 32222
24p: 23 (clasic)
24p: 2332 (de preferat)
20p: 33
18p: 334
16p: 3444

Ieșire PAL (25i):
27.5p: 12222
24p: 222222222223 ("Euro pulldown")
16.67p: 33
16p: 33333334

miniatura
Selectați cel mai reprezentativ cadru dintr-o anumită secvență de cadre consecutive.

Filtrul acceptă următoarele opțiuni:

n Setați dimensiunea lotului de cadre de analizat; într-un set de n cadre, filtrul va alege unul
dintre ele și apoi se ocupă de următorul lot de n cadre până la final. Implicit este 100.

Deoarece filtrul ține evidența întregii secvențe de cadre, este mai mare n valoarea va avea ca rezultat
o utilizare mai mare a memoriei, deci nu este recomandată o valoare mare.

Exemple

· Extrage o poză la fiecare 50 de cadre:

miniatură = 50

· Exemplu complet de creare a unei miniaturi cu FFMPEG:

ffmpeg -i in.avi -vf thumbnail,scale=300:200 -frames:v 1 out.png

ţiglă
Împreună mai multe cadre succesive.

Filtrul acceptă următoarele opțiuni:

aspect
Setați dimensiunea grilei (adică numărul de linii și coloane). Pentru sintaxa acesteia
opțiune, verificați "Video mărimea" secțiune in il ffmpeg-utils manual.

nb_frames
Setați numărul maxim de cadre de randat în zona dată. Trebuie să fie mai mic decât sau
egal cu wxh. Valoarea implicită este 0, ceea ce înseamnă că va fi folosită toată zona.

margine
Setați marginea marginii exterioare în pixeli.

umplutură
Setați grosimea marginii interioare (adică numărul de pixeli dintre cadre). Pentru mai mult
opțiuni avansate de umplutură (cum ar fi valori diferite pentru margini), consultați
pad filtru video.

culoare
Specificați culoarea zonei neutilizate. Pentru sintaxa acestei opțiuni, bifați „Culoare”
secțiunea din manualul ffmpeg-utils. Valoarea implicită a culoare este negru".

Exemple

· Produceți dale PNG de 8x8 pentru toate cadrele cheie (-skip_frame fară cheie) într-un film:

ffmpeg -skip_frame nokey -i file.avi -vf 'scale=128:72,tile=8x8' -an -vsync 0 keyframes%03d.png

-vsync 0 este necesar pentru a preveni FFMPEG de la duplicarea fiecărui cadru de ieșire la
să se adapteze la rata de cadre detectată inițial.

· Afișați 5 imagini într-o zonă de cadre „3x2”, cu 7 pixeli între ele și 2
pixeli ai marginii inițiale, folosind opțiuni mixte plate și denumite:

tile=3x2:nb_frames=5:padding=7:margin=2

împletire
Efectuați diferite tipuri de intercalare a câmpului temporal.

Cadrele sunt numărate începând de la 1, deci primul cadru de intrare este considerat impar.

Filtrul acceptă următoarele opțiuni:

mod
Specificați modul de întrețesere. Această opțiune poate fi specificată și ca valoare
singur. Vedeți mai jos o listă de valori pentru această opțiune.

Valorile disponibile sunt:

combina, 0
Mutați cadre impare în câmpul superior, chiar și în câmpul inferior, generând a
cadru cu înălțime dublă la jumătate de rată a cadrelor.

------> timp
Intrare:
Cadrul 1 Cadrul 2 Cadrul 3 Cadrul 4

+11111 22222 33333 44444
+11111 22222 33333 44444
+11111 22222 33333 44444
+11111 22222 33333 44444

ieșire:
11111 33333
22222 44444
11111 33333
22222 44444
11111 33333
22222 44444
11111 33333
22222 44444

drop_odd, 1
Se scot numai cadrele pare, cadrele impare, generând un cadru cu neschimbat
înălțime la jumătate de frame rate.

------> timp
Intrare:
Cadrul 1 Cadrul 2 Cadrul 3 Cadrul 4

+11111 22222 33333 44444
+11111 22222 33333 44444
+11111 22222 33333 44444
+11111 22222 33333 44444

ieșire:
22222 44444
22222 44444
22222 44444
22222 44444

drop_even, 2
Ieșiți numai cadre impare, cadrele pare sunt eliminate, generând un cadru cu neschimbat
înălțime la jumătate de frame rate.

------> timp
Intrare:
Cadrul 1 Cadrul 2 Cadrul 3 Cadrul 4

+11111 22222 33333 44444
+11111 22222 33333 44444
+11111 22222 33333 44444
+11111 22222 33333 44444

ieșire:
11111 33333
11111 33333
11111 33333
11111 33333

tampon, 3
Extindeți fiecare cadru la înălțimea maximă, dar tamponați liniile alternative cu negru, generând a
cadru cu înălțime dublă la aceeași rata de intrare a cadrelor.

------> timp
Intrare:
Cadrul 1 Cadrul 2 Cadrul 3 Cadrul 4

+11111 22222 33333 44444
+11111 22222 33333 44444
+11111 22222 33333 44444
+11111 22222 33333 44444

ieșire:
11111 ..... 33333 .....
..... 22222 ..... 44444
11111 ..... 33333 .....
..... 22222 ..... 44444
11111 ..... 33333 .....
..... 22222 ..... 44444
11111 ..... 33333 .....
..... 22222 ..... 44444

interleave_top, 4
Intercalați câmpul superior din cadrele impare cu câmpul inferior din cadrele pare,
generarea unui cadru cu înălțimea neschimbată la jumătate de rată a cadrelor.

------> timp
Intrare:
Cadrul 1 Cadrul 2 Cadrul 3 Cadrul 4

11111<- 22222 33333<- 44444
11111 22222<- 33333 44444<-
11111<- 22222 33333<- 44444
11111 22222<- 33333 44444<-

ieșire:
11111 33333
22222 44444
11111 33333
22222 44444

interleave_bottom, 5
Intercalați câmpul inferior din cadrele impare cu câmpul superior din cadrele pare,
generarea unui cadru cu înălțimea neschimbată la jumătate de rată a cadrelor.

------> timp
Intrare:
Cadrul 1 Cadrul 2 Cadrul 3 Cadrul 4

11111 22222<- 33333 44444<-
11111<- 22222 33333<- 44444
11111 22222<- 33333 44444<-
11111<- 22222 33333<- 44444

ieșire:
22222 44444
11111 33333
22222 44444
11111 33333

interlax2, 6
Rată dublă a cadrelor cu înălțimea neschimbată. Se introduc cadre, fiecare conţinând
al doilea câmp temporal din cadrul de intrare anterior și primul câmp temporal
din următorul cadru de intrare. Acest mod se bazează pe indicatorul top_field_first. Util
pentru afișaje video întrețesute fără sincronizare de câmp.

------> timp
Intrare:
Cadrul 1 Cadrul 2 Cadrul 3 Cadrul 4

+11111 22222 33333 44444
+11111 22222 33333 44444
+11111 22222 33333 44444
+11111 22222 33333 44444

ieșire:
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

Valorile numerice sunt depreciate, dar sunt acceptate din motive de compatibilitate inversă.

Modul implicit este „imbinare”.

steaguri
Specificați steaguri care influențează procesul de filtrare.

Valoare disponibila pentru steaguri este:

filtru_pass_jos, vlfp
Activați filtrarea verticală trece-jos în filtru. Filtrarea verticală trece-jos este
necesar la crearea unei destinaţii întreţesute dintr-o sursă progresivă care
conține detalii verticale de înaltă frecvență. Filtrarea va reduce interlatarea „twitter”
și modelarea Moire.

Filtrarea trece-jos verticală poate fi activată numai pentru mod interleave_top și
interleave_bottom.

transpune
Transpuneți rândurile cu coloane în videoclipul de intrare și opțional întoarceți-l.

Acceptă următorii parametri:

dir Specificați direcția de transpunere.

Poate presupune următoarele valori:

0, 4, cclock_flip
Rotiți cu 90 de grade în sens invers acelor de ceasornic și răsturnați vertical (implicit), adică:

LR Ll
. . -> . .
lr Rr

1, 5, ceas
Rotiți cu 90 de grade în sensul acelor de ceasornic, adică:

LR lL
. . -> . .
lr rR

2, 6, ceas
Rotiți cu 90 de grade în sens invers acelor de ceasornic, adică:

LR Rr
. . -> . .
lr Ll

3, 7, clock_flip
Rotiți cu 90 de grade în sensul acelor de ceasornic și răsturnați vertical, adică:

LR rR
. . -> . .
lr lL

Pentru valori între 4-7, transpunerea se face numai dacă geometria video de intrare este
portret și nu peisaj. Aceste valori sunt depreciate, opțiunea „passthrough”.
ar trebui folosit în schimb.

Valorile numerice sunt depreciate și ar trebui abandonate în favoarea constantelor simbolice.

A trece prin
Nu aplicați transpunerea dacă geometria de intrare se potrivește cu cea specificată de
valoare specificată. Acceptă următoarele valori:

nici unul
Aplicați întotdeauna transpunerea.

portret
Păstrează geometria portretului (când înălțime >= lățime).

peisaj
Păstrează geometria peisajului (când lățime >= înălțime).

Valoarea implicită este „niciunul”.

De exemplu, pentru a roti cu 90 de grade în sensul acelor de ceasornic și pentru a păstra aspectul portret:

transpose=dir=1:passthrough=portret

Comanda de mai sus poate fi specificată și ca:

transpose=1:portret

tunde
Tăiați intrarea astfel încât ieșirea să conțină o subparte continuă a intrării.

Acceptă următorii parametri:

Începe
Specificați ora începerii secțiunii păstrate, adică cadrul cu marcajul de timp
Începe va fi primul cadru din ieșire.

capăt Specificați timpul primului cadru care va fi abandonat, adică cadrul imediat
precedându-l pe cel cu marcaj temporal capăt va fi ultimul cadru din ieșire.

start_pts
Aceasta este la fel ca Începe, cu excepția faptului că această opțiune setează marcajul de timp de început în baza de timp
unități în loc de secunde.

end_pts
Aceasta este la fel ca capăt, cu excepția că această opțiune setează marcajul de timp de sfârșit în unități de bază de timp
în loc de secunde.

durată
Durata maximă a ieșirii în secunde.

start_frame
Numărul primului cadru care ar trebui să fie transmis la ieșire.

end_frame
Numărul primului cadru care ar trebui să fie eliminat.

Începe, capăt, și durată sunt exprimate ca specificații de durată de timp; vedea il Timp
durată secțiune in il ffmpeg-utils(1) manual pentru sintaxa acceptată.

Rețineți că primele două seturi de opțiuni de început/sfârșit și durată opțiunea uită-te la
marca temporală a cadrului, în timp ce variantele _frame pur și simplu numără cadrele care trec prin
filtru. De asemenea, rețineți că acest filtru nu modifică marcajele de timp. Dacă doriți pentru
ieșiți marcajele de timp pentru a începe de la zero, introduceți un filtru setpts după filtrul de tăiere.

Dacă sunt setate mai multe opțiuni de început sau de sfârșit, acest filtru încearcă să fie lacom și să păstreze toate
cadre care se potrivesc cu cel puțin una dintre constrângerile specificate. Pentru a păstra doar partea care
se potrivește simultan cu toate constrângerile, conectează mai multe filtre de tăiere.

Valorile implicite sunt astfel încât toate intrările să fie păstrate. Deci, este posibil să setați, de exemplu, doar
valori finale pentru a păstra totul înainte de ora specificată.

Exemple:

· Eliminați totul, cu excepția celui de-al doilea minut de intrare:

ffmpeg -i INPUT -vf trim=60:120

· Păstrați doar prima secundă:

ffmpeg -i INPUT -vf trim=duration=1

neascuțit
Ascuțiți sau estompați videoclipul de intrare.

Acceptă următorii parametri:

luma_msize_x, lx
Setați dimensiunea orizontală a matricei luma. Trebuie să fie un număr întreg impar între 3 și 63
valoarea implicită este 5.

lumina_msize_y, ly
Setați dimensiunea verticală a matricei lumatice. Trebuie să fie un număr întreg impar între 3 și 63
valoarea implicită este 5.

suma_lumă, la
Setați puterea efectului de luma. Trebuie să fie un număr în virgulă mobilă, valori rezonabile
așezați între -1.5 și 1.5.

Valorile negative vor estompa videoclipul de intrare, în timp ce valorile pozitive îl vor ascuți, a
valoarea zero va dezactiva efectul.

Valoarea implicită este 1.0.

chroma_msize_x, cx
Setați dimensiunea orizontală a matricei cromatice. Trebuie să fie un număr întreg impar între 3 și 63
valoarea implicită este 5.

chroma_msize_y, cy
Setați dimensiunea verticală a matricei cromatice. Trebuie să fie un număr întreg impar între 3 și 63
valoarea implicită este 5.

chroma_amount, ca
Setați puterea efectului cromatic. Trebuie să fie un număr în virgulă mobilă, valori rezonabile
așezați între -1.5 și 1.5.

Valorile negative vor estompa videoclipul de intrare, în timp ce valorile pozitive îl vor ascuți, a
valoarea zero va dezactiva efectul.

Valoarea implicită este 0.0.

opencl
Dacă este setat la 1, specificați utilizarea capabilităților OpenCL, disponibile numai dacă FFmpeg a fost
configurat cu „--enable-opencl”. Valoarea implicită este 0.

Toți parametrii sunt opționali și implicit la echivalentul șirului „5:5:1.0:5:5:0.0”.

Exemple

· Aplicați un efect puternic de ascuțire a luma:

unsharp=luma_msize_x=7:luma_msize_y=7:luma_amount=2.5

· Aplicați o estompare puternică atât a parametrilor de lumina cât și a parametrilor cromatici:

unsharp=7:7:-2:7:7:-2

uspp
Aplicați un filtru de postprocesare ultra lent/simplu care comprimă și decomprimă imaginea
la mai multe (sau - în cazul calitate nivelul 8 - toate) schimbă și medie rezultatele.

Modul în care acesta diferă de comportamentul spp este că uspp codifică și decodifică de fapt fiecare
caz cu libavcodec Snow, în timp ce spp utilizează un DCT simplificat intra doar 8x8 similar cu
MJPEG.

Filtrul acceptă următoarele opțiuni:

calitate
Setați calitatea. Această opțiune definește numărul de niveluri pentru mediere. Acceptă o
întreg în intervalul 0-8. Dacă este setat la 0, filtrul nu va avea niciun efect. O valoare de 8
înseamnă calitate superioară. Pentru fiecare creștere a acelei valori, viteza scade cu un factor
de aproximativ 2. Valoarea implicită este 3.

qp Forțați un parametru de cuantizare constant. Dacă nu este setat, filtrul va folosi QP de la
fluxul video (dacă este disponibil).

vectorscope
Afișați valorile a 2 componente de culoare în graficul bidimensional (care se numește a
vectorscop).

Acest filtru acceptă următoarele opțiuni:

mod, m
Setați modul vectorscop.

Acceptă următoarele valori:

gri
Valorile de gri sunt afișate pe grafic, luminozitatea mai mare înseamnă că mai mulți pixeli au același lucru
valoarea culorii componentei în locația din grafic. Acesta este modul implicit.

culoare
Valorile gri sunt afișate pe grafic. Valorile pixelilor din jur care nu sunt
prezente în cadrul video sunt desenate în gradient de 2 componente de culoare care sunt setate
prin opțiunea „x” și „y”.

color2
Valorile reale ale componentelor de culoare prezente în cadrul video sunt afișate pe grafic.

color3
Similar cu culoarea2, dar o frecvență mai mare a acelorași valori „x” și „y” pe grafic
crește valoarea unei alte componente de culoare, care este luminanța în mod implicit
de „x” și „y”.

color4
Culorile reale prezente în cadrul video sunt afișate pe grafic. Dacă două diferite
culorile mapează la aceeași poziție pe grafic, apoi colorează cu valoarea mai mare a componentei nu
prezent în grafic este ales.

x Setați ce componentă de culoare va fi reprezentată pe axa X. Implicit este 1.

y Setați ce componentă de culoare va fi reprezentată pe axa Y. Implicit este 2.

intensitate, i
Setați intensitatea, utilizată de modurile: gri, culoare și culoare3 pentru creșterea luminozității
componenta de culoare care reprezintă frecvența locației (X, Y) în grafic.

plic, e
nici unul
Fără plic, acesta este implicit.

clipă
Plicul instantaneu, chiar și cel mai întunecat un singur pixel vor fi evidențiate clar.

vârf
Țineți valorile maxime și minime prezentate în grafic în timp. În felul acesta poți
găsește în continuare valori în afara intervalului, fără a te uita constant la vectorscop.

vârf+instant
Peak și plicul instant combinate împreună.

vidstabdetect
Analizați stabilizarea/deshakingul video. Efectuați trecerea 1 din 2, vezi vidstabtransform pentru trecere
2.

Acest filtru generează un fișier cu informații relative de translație și rotație
despre cadrele ulterioare, care este apoi folosit de către vidstabtransform filtru.

Pentru a activa compilarea acestui filtru, trebuie să configurați FFmpeg cu
„--enable-libvidstab”.

Acest filtru acceptă următoarele opțiuni:

rezultat
Setați calea către fișierul folosit pentru a scrie informațiile despre transformări. Valoarea implicită este
transformă.trf.

tremurături
Setează cât de tremurător este videoclipul și cât de rapidă este camera. Acceptă un număr întreg în
intervalul 1-10, o valoare de 1 înseamnă tremurări mici, o valoare de 10 înseamnă tremurări puternice.
Valoarea implicită este 5.

precizie
Setați acuratețea procesului de detectare. Trebuie să fie o valoare în intervalul 1-15. A
valoarea 1 înseamnă precizie scăzută, o valoare de 15 înseamnă precizie ridicată. Valoarea implicită este 15.

dimensiunea pasului
Setați dimensiunea procesului de căutare. Regiunea din jurul minimului este scanată cu 1 pixel
rezoluţie. Valoarea implicită este 6.

mincontrast
Setați contrastul minim. Sub această valoare, un câmp de măsurare local este eliminat. Trebuie sa fie
o valoare în virgulă mobilă în intervalul 0-1. Valoarea implicită este 0.3.

trepied
Setați numărul cadrului de referință pentru modul trepied.

Dacă este activată, mișcarea cadrelor este comparată cu un cadru de referință din filtru
flux, identificat prin numărul specificat. Ideea este de a compensa toate mișcările în interior
o scenă mai mult sau mai puțin statică și păstrează vederea camerei absolut nemișcată.

Dacă este setată la 0, este dezactivată. Cadrele se numără începând de la 1.

Arăta
Afișați câmpurile și transformările în cadrele rezultate. Acceptă un număr întreg în interval
0-2. Valoarea implicită este 0, ceea ce dezactivează orice vizualizare.

Exemple

· Utilizați valorile implicite:

vidstabdetect

· Analizați filmul puternic tremurător și puneți rezultatele în fișier mytransforms.trf:

vidstabdetect=shakiness=10:accuracy=15:result="mytransforms.trf"

· Vizualizați rezultatul transformărilor interne în videoclipul rezultat:

vidstabdetect=show=1

· Analizați un videoclip cu tremurări medii folosind FFMPEG:

ffmpeg -i input -vf vidstabdetect=shakiness=5:show=1 dummy.avi

vidstabtransform
Stabilizare/deshaking video: trecere 2 din 2, vezi vidstabdetect pentru trecerea 1.

Citiți un fișier cu informații de transformare pentru fiecare cadru și aplicați/compensați-le. Împreună
cu vidstabdetect filtru aceasta poate fi folosit pentru a deshake videoclipuri. Vezi si
<http://public.hronopik.de/vid.stab>. Este important să folosiți și neascuțit filtru, vezi
de mai jos.

Pentru a activa compilarea acestui filtru, trebuie să configurați FFmpeg cu
„--enable-libvidstab”.

Opţiuni

intrare
Setați calea către fișierul folosit pentru a citi transformările. Valoarea implicită este transformă.trf.

netezirea
Setați numărul de cadre (valoare*2 + 1) utilizate pentru filtrarea trece-jos a camerei
miscarile. Valoarea implicită este 10.

De exemplu, un număr de 10 înseamnă că sunt utilizate 21 de cadre (10 în trecut și 10 în
viitor) pentru a netezi mișcarea în videoclip. O valoare mai mare duce la un videoclip mai fluid,
dar limitează accelerația camerei (mișcări pan/tilt). 0 este un caz special
unde este simulată o cameră statică.

optalgo
Setați algoritmul de optimizare a traseului camerei.

Valorile acceptate sunt:

gauss
filtru trece-jos nucleu gaussian pentru mișcarea camerei (implicit)

avg medie pe transformări

maxshift
Setați numărul maxim de pixeli pentru a traduce cadre. Valoarea implicită este -1, adică nu
limită.

maxangle
Setați unghiul maxim în radiani (grade*PI/180) pentru a roti cadrele. Valoarea implicită este -1,
adică fără limită.

cultură
Specificați cum să tratați frontierele care pot fi vizibile datorită compensării mișcării.

Valorile disponibile sunt:

păstra
păstrați informațiile despre imagine din cadrul precedent (implicit)

negru
umple chenarul negru

inversa
Inversați transformările dacă este setată la 1. Valoarea implicită este 0.

relativ
Luați în considerare transformările ca fiind relativ la cadrul anterior, dacă este setată la 1, absolută dacă este setată la 0.
Valoarea implicită este 0.

zoom
Setați procentul pentru a mări. O valoare pozitivă va avea ca rezultat un efect de mărire, unul negativ
valoare într-un efect de micșorare. Valoarea implicită este 0 (fără zoom).

optzoom
Setați mărirea optimă pentru a evita marginile.

Valorile acceptate sunt:

0 invalid

1 este determinată valoarea optimă a zoomului static (doar mișcările foarte puternice vor duce la
margini vizibile) (implicit)

2 este determinată valoarea optimă de zoom adaptiv (nu vor fi vizibile margini), vezi
viteza de zoom

Rețineți că valoarea dată la zoom se adaugă la cea calculată aici.

viteza de zoom
Setați procente pentru a mări maxim fiecare cadru (activat când optzoom este setat la 2). Gama este
de la 0 la 5, valoarea implicită este 0.25.

interpol
Specificați tipul de interpolare.

Valorile disponibile sunt:

Nu. fara interpolare

liniar
liniar numai orizontal

biliniar
liniar în ambele direcții (implicit)

bicubic
cubic în ambele direcții (lent)

trepied
Activați modul trepied virtual dacă este setat la 1, ceea ce este echivalent cu
„relativ=0:smoothing=0”. Valoarea implicită este 0.

Utilizați și opțiunea „trepied”. vidstabdetect.

depana
Creșteți verbozitatea jurnalului dacă este setată la 1. De asemenea, mișcările globale detectate sunt scrise
fisierul temporar global_motions.trf. Valoarea implicită este 0.

Exemple

· Utilizare FFMPEG pentru o stabilizare tipică cu valori implicite:

ffmpeg -i inp.mpeg -vf vidstabtransform,unsharp=5:5:0.8:3:3:0.4 inp_stabilized.mpeg

Observați utilizarea lui neascuțit filtru care este întotdeauna recomandat.

· Măriți puțin mai mult și încărcați datele de transformare dintr-un fișier dat:

vidstabtransform=zoom=5:input="mytransforms.trf"

· Netezește și mai mult videoclipul:

vidstabtransform=netezire=30

vflip
Întoarceți videoclipul de intrare pe verticală.

De exemplu, pentru a răsturna vertical un videoclip cu FFMPEG:

ffmpeg -i in.avi -vf "vflip" out.avi

vinietă
Creați sau inversați un efect natural de vignetare.

Filtrul acceptă următoarele opțiuni:

unghi, a
Setați expresia unghiului lentilei ca număr de radiani.

Valoarea este tăiată în intervalul „[0,PI/2]”.

Valoare implicită: „PI/5”

x0
y0 Setați expresii pentru coordonatele centrale. Respectiv „w/2” și „h/2” implicit.

mod
Setați modul înainte/înapoi.

Modurile disponibile sunt:

înainte
Cu cât distanța de la punctul central este mai mare, cu atât imaginea devine mai întunecată.

înapoi
Cu cât distanța de la punctul central este mai mare, cu atât imaginea devine mai luminoasă.
Acesta poate fi folosit pentru a inversa un efect de vignetă, deși nu există automat
detectie pentru extragerea lentilei unghi și alte setări (încă). De asemenea, poate fi folosit
pentru a crea un efect de ardere.

Valoarea implicită este înainte.

eval
Setați modul de evaluare pentru expresiile (unghi, x0, y0).

Acceptă următoarele valori:

înăuntru
Evaluați expresiile o singură dată în timpul inițializării filtrului.

cadru
Evaluați expresiile pentru fiecare cadru primit. Acesta este mult mai lent decât înăuntru
modul deoarece necesită recalcularea tuturor scalerilor, dar permite avansat
expresii dinamice.

Valoarea implicită este înăuntru.

oscila
Setați ditheringul pentru a reduce efectele de bandă circulară. Implicit este 1 (activat).

aspect
Setați aspectul vignetei. Această setare permite ajustarea formei vignetei.
Setarea acestei valori la SAR al intrării va face o vignetare dreptunghiulară
urmând dimensiunile videoclipului.

Implicit este „1/1”.

Expresii

alfa, x0 și y0 expresiile pot conține următorii parametri.

w
h lățimea și înălțimea de intrare

n numărul de cadre de intrare, începând de la 0

pct timpul PTS (Presentation TimeStamp) al cadrului video filtrat, exprimat în TB
unități, NAN dacă este nedefinit

r rata de cadre a videoclipului de intrare, NAN dacă rata de cadre de intrare este necunoscută

t PTS (Presentation TimeStamp) al cadrului video filtrat, exprimat în secunde,
NAN dacă este nedefinit

tb baza de timp a videoclipului de intrare

Exemple

· Aplicați efect de vignetare simplu și puternic:

vignette=PI/4

· Realizați o vignetare pâlpâitoare:

vignette='PI/4+aleator(1)*PI/50':eval=cadru

vstack
Stivuiți videoclipurile introduse pe verticală.

Toate fluxurile trebuie să aibă același format de pixeli și aceeași lățime.

Rețineți că acest filtru este mai rapid decât utilizarea acoperire și tampon filtru pentru a crea aceeași ieșire.

Filtrul acceptă următoarea opțiune:

nb_inputs
Setați numărul de fluxuri de intrare. Implicit este 2.

w3fdif
Deintercalați videoclipul de intrare ("w3fdif" înseamnă "Weston 3 Field Deinterlacing Filter").

Bazat pe procesul descris de Martin Weston pentru BBC R&D și implementat pe baza
algoritm de de-interlace scris de Jim Easterbrook pentru BBC R&D, domeniul Weston 3
filtrul de întrețesere utilizează coeficienți de filtru calculați de BBC R&D.

Există două seturi de coeficienți de filtru, așa-numitele „simpli” și „complex”. Care set de
coeficienții de filtru sunt utilizați pot fi setați prin trecerea unui parametru opțional:

filtru
Setați coeficienții filtrului de întrețesere. Acceptă una dintre următoarele valori:

simplu
Set de coeficienți de filtru simplu.

complex
Set de coeficienți de filtru mai complex.

Valoarea implicită este complex.

deint
Specificați ce cadre să dezintercalați. Acceptați una dintre următoarele valori:

toate Dezintercalați toate cadrele,

împletit
Numai cadrele de întrețesut marcate ca întrețesute.

Valoarea implicită este toate.

forme de undă
Monitor pentru forma de undă video.

Monitorul formei de undă grafică intensitatea componentei de culoare. În mod implicit doar luminanță. Fiecare
coloana formei de undă corespunde unei coloane de pixeli din videoclipul sursă.

Acceptă următoarele opțiuni:

mod, m
Poate fi fie „rând”, fie „coloană”. Implicit este „coloană”. În modul rând, graficul de pe
partea stângă reprezintă valoarea componentei de culoare 0, iar partea dreaptă reprezintă valoarea =
255. În modul coloană, partea de sus reprezintă valoarea componentei de culoare = 0 și partea de jos
reprezintă valoarea = 255.

intensitate, i
Setați intensitatea. Valorile mai mici sunt utile pentru a afla câte valori ale acelorași
luminanța este distribuită pe rândurile/coloanele de intrare. Valoarea implicită este 0.04. Permis
intervalul este [0, 1].

oglindă, r
Setați modul de oglindire. 0 înseamnă neoglindit, 1 înseamnă oglindă. În modul oglindă, mai mare
valorile vor fi reprezentate în partea stângă pentru modul „rând” și în partea de sus pentru „coloană”
modul. Implicit este 1 (oglindit).

afişa, d
Setați modul de afișare. Acceptă următoarele valori:

acoperire
Prezintă informații identice cu cele din „paradă”, cu excepția graficelor
componentele reprezentative de culoare sunt suprapuse direct una peste alta.

Acest mod de afișare facilitează identificarea diferențelor sau asemănărilor relative
zone suprapuse ale componentelor de culoare care ar trebui să fie identice, de exemplu
ca alb neutru, gri sau negru.

paradă
Afișați grafic separat pentru componentele de culoare una lângă alta în modul „rând” sau unul
sub celălalt în modul „coloană”.

Utilizarea acestui mod de afișare facilitează identificarea tonurilor de culoare în zonele evidențiate și
umbrele unei imagini, prin compararea contururilor graficelor de sus și de jos ale
fiecare formă de undă. Deoarece albul, gri și negrul sunt caracterizați exact de egalitate
cantitățile de zone neutre ale imaginii roșii, verzi și albastre ar trebui să afișeze trei
forme de undă de lățime/înălțime aproximativ egală. Dacă nu, corectarea este ușor de efectuat
făcând ajustări de nivel celor trei forme de undă.

Implicit este „parada”.

componente, c
Setați ce componente de culoare să afișați. Implicit este 1, ceea ce înseamnă doar luminanță sau roșu
componentă de culoare dacă intrarea este în spațiul de culoare RGB. Dacă este setat, de exemplu, la 7, va fi
afișați toate cele 3 (dacă) componente de culoare disponibile.

plic, e
nici unul
Fără plic, acesta este implicit.

clipă
Plicul instantaneu, valorile minime și maxime prezentate în grafic vor fi ușor
vizibil chiar și cu o valoare „pas” mică.

vârf
Țineți valorile minime și maxime prezentate în grafic de-a lungul timpului. În felul acesta poți
găsește în continuare valori în afara intervalului, fără a te uita constant la formele de undă.

vârf+instant
Peak și plicul instant combinate împreună.

filtru, f
trece jos
Fără filtrare, aceasta este implicită.

plat
Luma și croma combinate împreună.

un apartament
Similar ca mai sus, dar arată diferența între croma albastru și roșu.

cromă
Afișează doar croma.

acromă
Similar ca mai sus, dar arată diferența între croma albastru și roșu.

culoare
Afișează valoarea reală a culorii pe forma de undă.

xbr
Aplicați filtrul de mărire de înaltă calitate xBR, care este conceput pentru pixel art. Aceasta
urmează un set de reguli de detectare a marginilor, vezi
<http://www.libretro.com/forums/viewtopic.php?f=6&t=134>.

Acceptă următoarea opțiune:

n Setați dimensiunea de scalare: 2 pentru „2xBR”, 3 pentru „3xBR” și 4 pentru „4xBR”. Implicit este 3.

yadif
Deintercalați videoclipul de intrare („yadif” înseamnă „încă un filtru de deinterlazare”).

Acceptă următorii parametri:

mod
Modul de întrețesere de adoptat. Acceptă una dintre următoarele valori:

0, trimite_cadru
Ieșiți un cadru pentru fiecare cadru.

1, câmp_trimitere
Ieșiți un cadru pentru fiecare câmp.

2, send_frame_nospatial
Ca „send_frame”, dar omite verificarea întrețeserii spațiale.

3, send_field_nospatial
Ca „send_field”, dar omite verificarea întrețeserii spațiale.

Valoarea implicită este „send_frame”.

paritate
Paritatea câmpului de imagine presupusă pentru videoclipul intercalat de intrare. Acceptă unul dintre
următoarele valori:

0, tff
Să presupunem că câmpul de sus este primul.

1, BFF
Să presupunem că câmpul de jos este primul.

-1, Auto
Activați detectarea automată a parității câmpului.

Valoarea implicită este „auto”. Dacă împletirea este necunoscută sau decodorul nu
exportați aceste informații, primul câmp de sus va fi considerat.

deint
Specificați ce cadre să dezintercalați. Acceptați una dintre următoarele valori:

0, toate
Dezintercalați toate cadrele.

1, împletit
Numai cadrele de întrețesut marcate ca întrețesute.

Valoarea implicită este „toate”.

zoompan
Aplicați efectul Zoom & Pan.

Acest filtru acceptă următoarele opțiuni:

zoom, z
Setați expresia de zoom. Implicit este 1.

x
y Setați expresia x și y. Implicit este 0.

d Setați expresia duratei în număr de cadre. Aceasta stabilește pentru câte număr de
efectul de cadre va dura pentru o singură imagine de intrare.

s Setați dimensiunea imaginii de ieșire, implicit este „hd720”.

Fiecare expresie poate conține următoarele constante:

în W, iw
Lățimea de intrare.

in_h, ih
Înălțimea de intrare.

out_w, ow
Lățimea de ieșire.

out_h, oh
Înălțimea de ieșire.

in Număr de cadre de intrare.

on Număr de cadre de ieșire.

x
y Ultima poziție calculată „x” și „y” din expresia „x” și „y” pentru intrarea curentă
cadru.

px
py „x” și „y” din ultimul cadru de ieșire al cadrului de intrare anterior sau 0 când nu a existat încă
un astfel de cadru (primul cadru de intrare).

zoom
Ultimul zoom calculat din expresia „z” pentru cadrul de intrare curent.

Pzoom.
Ultimul zoom calculat al ultimului cadru de ieșire al cadrului de intrare anterior.

durată
Numărul de cadre de ieșire pentru cadrul de intrare curent. Calculat din expresia „d” pentru
fiecare cadru de intrare.

pduraţie
numărul de cadre de ieșire create pentru cadrul de intrare anterior

a Număr rațional: lățime de intrare / înălțime de intrare

SAR raportul aspectului eșantionului

da raportul de aspect al afișajului

Exemple

· Măriți până la 1.5 și deplasați în același timp către un loc din apropierea centrului imaginii:

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

· Măriți până la 1.5 și deplasați întotdeauna în centrul imaginii:

zoompan=z='min(zoom+0.0015,1.5)':d=700:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)'

VIDEO SURSE


Mai jos este o descriere a surselor video disponibile în prezent.

tampon
Salvați cadrele video și puneți-le la dispoziție pentru lanțul de filtre.

Această sursă este destinată în principal unei utilizări programatice, în special prin intermediul interfeței
definit în libavfilter/vsrc_buffer.h.

Acceptă următorii parametri:

video_size
Specificați dimensiunea (lățimea și înălțimea) cadrelor video stocate în tampon. Pentru sintaxa lui
această opțiune, bifați "Video mărimea" secțiune in il ffmpeg-utils manual.

lățime
Lățimea video de intrare.

înălțime
Înălțimea video de intrare.

pix_fmt
Un șir reprezentând formatul de pixeli al cadrelor video stocate în tampon. Poate fi o
număr corespunzător unui format de pixel sau unui nume de format de pixel.

baza de timp
Specificați baza de timp asumată de marcajele de timp ale cadrelor tamponate.

frame_rate
Specificați rata de cadre așteptată pentru fluxul video.

pixel_aspect, SAR
Raportul de aspect al eșantionului (pixeli) al videoclipului de intrare.

sws_param
Specificați parametrii opționali care vor fi utilizați pentru filtrul de scară care este automat
inserat atunci când este detectată o modificare a intrării în dimensiunea sau formatul de intrare.

De exemplu:

buffer=width=320:height=240:pix_fmt=yuv410p:time_base=1/24:sar=1

va instrui sursa să accepte cadre video cu dimensiunea 320x240 și cu format
„yuv410p”, presupunând 1/24 ca marcaj de timp baza de timp și pixeli pătrați (aspect eșantion 1:1
raport). Deoarece formatul de pixel cu numele „yuv410p” corespunde cu numărul 6 (verificați
enum definiția AVPixelFormat în libavutil/pixfmt.h), acest exemplu corespunde cu:

buffer=size=320x240:pixfmt=6:time_base=1/24:pixel_aspect=1/1

Alternativ, opțiunile pot fi specificate ca șir plat, dar această sintaxă este
depreciat:

lățime:înălțime:pix_fmt:baza_timp.num:baza_timp.den:pixel_aspect.num:pixel_aspect.den[:sws_param]

cellauto
Creați un model generat de un automat celular elementar.

Starea inițială a automatului celular poate fi definită prin intermediul nume de fișier, și
model Opțiuni. Dacă astfel de opțiuni nu sunt specificate, o stare inițială este creată aleatoriu.

La fiecare cadru nou, un nou rând din videoclip este umplut cu rezultatul celular
automat de generație următoare. Comportamentul când întregul cadru este umplut este definit de
derulaţi opțiune.

Această sursă acceptă următoarele opțiuni:

nume de fișier, f
Citiți starea inițială a automatului celular, adică rândul de început, din cea specificată
fişier. În fișier, fiecare caracter care nu are spațiu alb este considerat o celulă vie, a
linia nouă va termina rândul și alte caractere din fișier vor fi ignorate.

model, p
Citiți starea inițială a automatului celular, adică rândul de început, din cea specificată
șir.

Fiecare caracter fără spații albe din șir este considerat o celulă vie, o linie nouă
va termina rândul și alte caractere din șir vor fi ignorate.

rată, r
Setați rata video, adică numărul de cadre generate pe secundă. Implicit este 25.

random_fill_raport, raport
Setați raportul de umplere aleatoriu pentru rândul inițial al automatului celular. Este o plutitoare
valoarea numărului punctului variind de la 0 la 1, implicit la 1/PHI.

Această opțiune este ignorată atunci când este specificat un fișier sau un model.

random_seed, sămânţă
Setați sămânța pentru umplerea aleatorie a rândului inițial, trebuie să fie un număr întreg inclus între
0 și UINT32_MAX. Dacă nu este specificat sau dacă este setat în mod explicit la -1, filtrul va încerca
folosiți o sămânță bună aleatorie pe baza efortului maxim.

pronunța
Setați regula automatului celular, este un număr care variază de la 0 la 255. Valoare implicită
este 110.

mărimea, s
Setați dimensiunea videoclipului de ieșire. Pentru sintaxa acestei opțiuni, verificați "Video
mărimea" secțiune in il ffmpeg-utils manual.

If nume de fișier or model este specificat, dimensiunea este setată implicit la lățimea
rândul de stare inițială specificat, iar înălțimea este setată la lățime * PHI.

If mărimea este setat, trebuie să conțină lățimea șirului de model specificat și
modelul specificat va fi centrat pe rândul mai mare.

Dacă nu este specificat un nume de fișier sau un șir de model, valoarea implicită a dimensiunii este
„320x518” (utilizat pentru o stare inițială generată aleatoriu).

derulaţi
Dacă este setată la 1, derulați rezultatul în sus când toate rândurile din ieșire au fost
deja umplut. Dacă este setat la 0, noul rând generat va fi scris peste rândul de sus
imediat după ce rândul de jos este umplut. Implicit la 1.

start_full, Complet
Dacă este setată la 1, umpleți complet rezultatul cu rândurile generate înainte de a scoate
primul cadru. Acesta este comportamentul implicit, pentru dezactivare setați valoarea la 0.

cusătură
Dacă setați la 1, coaseți marginile rândurilor din stânga și din dreapta împreună. Aceasta este valoarea implicită
comportament, pentru dezactivare setați valoarea la 0.

Exemple

· Citiți starea inițială de la modelși specificați o ieșire de dimensiunea 200x400.

cellauto=f=pattern:s=200x400

· Generați un rând inițial aleatoriu cu o lățime de 200 de celule, cu un raport de umplere de 2/3:

cellauto=raport=2/3:s=200x200

· Creați un model generat de regula 18 începând cu o singură celulă vie centrată pe un
rândul inițial cu lățime 100:

cellauto=p=@s=100x400:full=0:rule=18

· Specificați un model inițial mai elaborat:

cellauto=p='@@ @ @@':s=100x400:full=0:rule=18

mandelbrot
Generați un fractal set Mandelbrot și măriți progresiv către punctul specificat cu
start_x și start_y.

Această sursă acceptă următoarele opțiuni:

end_pts
Setați valoarea punctelor terminale. Valoarea implicită este 400.

scară_finală
Setați valoarea scalei terminale. Trebuie să fie o valoare în virgulă mobilă. Valoarea implicită este 0.3.

interior
Setați modul de colorare interioară, adică algoritmul folosit pentru a desena fractalul Mandelbrot
regiune internă.

Acesta va lua una dintre următoarele valori:

negru
Setați modul negru.

convergență
Arată timpul până la convergență.

mincol
Setați culoarea pe baza punctului cel mai apropiat de originea iterațiilor.

perioadă
Setați modul perioadei.

Valoarea implicită este mincol.

bailout
Setați valoarea de salvare. Valoarea implicită este 10.0.

maxiter
Setați maximul de iterații efectuate de algoritmul de randare. Valoarea implicită este
7189.

exterior
Setați modul de colorare exterioară. Acesta va lua una dintre următoarele valori:

număr_iterații
Setați modul de contorizare de iterație.

număr_iterații_normalizate
setați modul normalizat de numărare a iterațiilor.

Valoarea implicită este număr_iterații_normalizate.

rată, r
Setați rata de cadre, exprimată ca număr de cadre pe secundă. Valoarea implicită este „25”.

mărimea, s
Setați dimensiunea cadrului. Pentru sintaxa acestei opțiuni, verificați secțiunea „Dimensiunea video” din
manualul ffmpeg-utils. Valoarea implicită este „640x480”.

start_scale
Setați valoarea inițială a scalei. Valoarea implicită este 3.0.

start_x
Setați poziția x inițială. Trebuie să fie o valoare în virgulă mobilă între -100 și 100.
Valoarea implicită este -0.743643887037158704752191506114774.

start_y
Setați poziția inițială y. Trebuie să fie o valoare în virgulă mobilă între -100 și 100.
Valoarea implicită este -0.131825904205311970493132056385139.

mptestsrc
Generați diverse modele de testare, așa cum sunt generate de filtrul de testare MPlayer.

Dimensiunea videoclipului generat este fixă ​​și este de 256x256. Această sursă este utilă în
special pentru testarea caracteristicilor de codificare.

Această sursă acceptă următoarele opțiuni:

rată, r
Specificați rata de cadre a videoclipului sursă, ca număr de cadre generate per
al doilea. Trebuie să fie un șir în format frame_rate_num/frame_rate_den, un număr întreg
număr, un număr în virgulă mobilă sau o abreviere validă a ratei de cadre video. Implicit
valoarea este „25”.

durată, d
Setați durata videoclipului sursă. Vedea il Timp durată secțiune in il
ffmpeg-utils(1) manual pentru sintaxa acceptată.

Dacă nu este specificată sau durata exprimată este negativă, videoclipul ar trebui să fie
generat pentru totdeauna.

de testare, t
Setați numărul sau numele testului de efectuat. Testele acceptate sunt:

dc_luma
dc_chroma
freq_luma
freq_chroma
amp_luma
amp_chroma
cbp
mv
ring1
ring2
toate

Valoarea implicită este „toate”, care va parcurge lista tuturor testelor.

Cateva exemple:

mptestsrc=t=dc_luma

va genera un model de testare „dc_luma”.

frei0r_src
Furnizați o sursă gratuită.

Pentru a activa compilarea acestui filtru, trebuie să instalați antetul frei0r și să configurați
FFmpeg cu „--enable-frei0r”.

Această sursă acceptă următorii parametri:

mărimea
Dimensiunea videoclipului de generat. Pentru sintaxa acestei opțiuni, verificați "Video
mărimea" secțiune in il ffmpeg-utils manual.

rata de cadre
Rata de cadre a videoclipului generat. Poate fi un șir de formă o/zi sau un
abrevierea frame rate.

nume_filtru
Numele sursei frei0r de încărcat. Pentru mai multe informații despre frei0r și cum
pentru a seta parametrii, citiți frei0r secțiunea din documentația filtrelor video.

filter_params
O listă de parametri separată prin „|” care trebuie transmisă sursei frei0r.

De exemplu, pentru a genera o sursă frei0r partik0l cu dimensiunea 200x200 și frame rate 10
care este suprapus pe intrarea principală a filtrului de suprapunere:

frei0r_src=size=200x200:framerate=10:filter_name=partik0l:filter_params=1234 [overlay]; [în][overlay] suprapunere

viaţă
Generați un model de viață.

Această sursă se bazează pe o generalizare a jocului vieții lui John Conway.

Intrarea sursă reprezintă o grilă de viață, fiecare pixel reprezintă o celulă care poate fi într-una singură
din două stări posibile, viu sau mort. Fiecare celulă interacționează cu cei opt vecini ai săi,
care sunt celulele care sunt adiacente orizontal, vertical sau diagonal.

La fiecare interacțiune grila evoluează conform regulii adoptate, care specifică
numărul de celule vii vecine care vor face ca o celulă să rămână în viață sau să se nască. The pronunța opțiune
permite specificarea regulii de adoptat.

Această sursă acceptă următoarele opțiuni:

nume de fișier, f
Setați fișierul din care să citiți starea inițială a grilei. În dosar, fiecare non-
caracterul de spațiu alb este considerat o celulă vie, iar linia nouă este folosită pentru a delimita
capătul fiecărui rând.

Dacă această opțiune nu este specificată, grila inițială este generată aleatoriu.

rată, r
Setați rata video, adică numărul de cadre generate pe secundă. Implicit este 25.

random_fill_raport, raport
Setați raportul de umplere aleatoriu pentru grila aleatoare inițială. Este un număr în virgulă mobilă
valoare variind de la 0 la 1, implicit la 1/PHI. Este ignorat atunci când este specificat un fișier.

random_seed, sămânţă
Setați sămânța pentru umplerea grilei aleatoare inițiale, trebuie să fie un număr întreg inclus între
0 și UINT32_MAX. Dacă nu este specificat sau dacă este setat în mod explicit la -1, filtrul va încerca
folosiți o sămânță bună aleatorie pe baza efortului maxim.

pronunța
Stabiliți regula vieții.

O regulă poate fi specificată cu un cod de tipul „SNS/BNB", Unde NS și NB sunt
secvențe de numere în intervalul 0-8, NS specifică numărul de celule vecine vii
care fac ca o celulă vie să rămână în viață și NB numărul de celule vecine vii care
face o celulă moartă să devină vie (adică să „născuți”). „s” și „b” pot fi folosite în loc
de „S” și, respectiv, „B”.

Alternativ, o regulă poate fi specificată printr-un număr întreg de 18 biți. Cei 9 biți de ordin înalt sunt
folosit pentru a codifica următoarea stare a celulei dacă este în viață pentru fiecare număr de vecini în viață
celule, biții de ordin inferior specifică regula pentru „născuți” celule noi. Biți de ordin superior
codifică pentru un număr mai mare de celule vecine. De exemplu, numărul 6153 =
„(12<<9)+9” specifică o regulă de rămânere în viață de 12 și o regulă de naștere de 9, care corespunde
la „S23/B03”.

Valoarea implicită este „S23/B3”, care este regula originală a jocului vieții Conway și va
mentine o celula in viata daca are 2 sau 3 celule vecine vii si va naste o noua celula daca
există trei celule vii în jurul unei celule moarte.

mărimea, s
Setați dimensiunea videoclipului de ieșire. Pentru sintaxa acestei opțiuni, verificați "Video
mărimea" secțiune in il ffmpeg-utils manual.

If nume de fișier este specificat, dimensiunea este setată implicit la aceeași dimensiune a intrării
fişier. Dacă mărimea este setat, trebuie să conțină dimensiunea specificată în fișierul de intrare și
grila inițială definită în acel fișier este centrată în zona rezultată mai mare.

Dacă nu este specificat un nume de fișier, valoarea implicită a dimensiunii este „320x240” (utilizată pentru o
grilă inițială generată aleatoriu).

cusătură
Dacă setați la 1, coaseți marginile din stânga și din dreapta ale grilei împreună, și partea de sus și de jos
de asemenea marginile. Implicit la 1.

Matrite
Setați viteza matriței celulare. Dacă se setează, o celulă moartă va pleca din moarte_culoare la culoarea_mucegaiului cu
pas de Matrite. Matrite poate avea o valoare de la 0 la 255.

culoarea_viata
Setați culoarea celulelor vii (sau nou-născute).

moarte_culoare
Setați culoarea celulelor moarte. Dacă Matrite este setat, aceasta este prima culoare folosită pentru a reprezenta
o celulă moartă.

culoarea_mucegaiului
Setați culoarea mucegaiului, pentru celulele cu siguranță moarte și mucegăite.

Pentru sintaxa acestor 3 opțiuni de culoare, verificați secțiunea „Culoare” din ffmpeg-utils
manuală.

Exemple

· Citiți o grilă din modelși centrați-l pe o grilă cu dimensiunea 300x300 pixeli:

viata=f=model:s=300x300

· Generați o grilă aleatorie de dimensiunea 200x200, cu un raport de umplere de 2/3:

viata=raport=2/3:s=200x200

· Specificați o regulă personalizată pentru evoluția unei grile generate aleatoriu:

viata=regula=S14/B34

· Exemplu complet cu efect de moarte lentă (mucegai) folosind 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

allrgb, aliuv, culoare, Haldclutsrc, nullsrc, rgbtestsrc, smptebars, smptehdbars, testsrc
Sursa „allrgb” returnează cadre cu dimensiunea 4096x4096 pentru toate culorile rgb.

Sursa „allyuv” returnează cadre cu dimensiunea 4096x4096 din toate culorile yuv.

Sursa „culoare” oferă o intrare colorată uniform.

Sursa „haldclutsrc” oferă o identitate Hald CLUT. Vezi si Haldclut filtru.

Sursa „nullsrc” returnează cadre video neprocesate. Este util în principal să fii angajat
în instrumentele de analiză/depanare sau ca sursă pentru filtrele care ignoră datele de intrare.

Sursa „rgbtestsrc” generează un model de testare RGB util pentru detectarea RGB vs BGR
probleme. Ar trebui să vedeți o dungă roșie, verde și albastră de sus în jos.

Sursa „smptebars” generează un model de bare de culoare, bazat pe SMPTE Engineering
Ghidul EG 1-1990.

Sursa „smptehdbars” generează un model de bare de culoare, bazat pe SMPTE RP 219-2002.

Sursa „testsrc” generează un model video de testare, arătând un model de culoare, o defilare
gradient și un marcaj de timp. Acesta este destinat în principal pentru scopuri de testare.

Sursele acceptă următorii parametri:

culoare, c
Specificați culoarea sursei, disponibilă numai în sursa „culoare”. Pentru sintaxă
a acestei opțiuni, verificați secțiunea „Culoare” din manualul ffmpeg-utils.

nivel
Specificați nivelul Hald CLUT, disponibil numai în sursa „haldclutsrc”. A
nivelul „N” generează o imagine de „N*N*N” cu „N*N*N” pixeli pentru a fi folosită ca identitate
matrice pentru tabele de căutare 3D. Fiecare componentă este codificată pe o scară „1/(N*N)”.

mărimea, s
Specificați dimensiunea videoclipului sursă. Pentru sintaxa acestei opțiuni, verificați "Video
mărimea" secțiune in il ffmpeg-utils manual. Valoarea implicită este „320x240”.

Această opțiune nu este disponibilă cu filtrul „haldclutsrc”.

rată, r
Specificați rata de cadre a videoclipului sursă, ca număr de cadre generate per
al doilea. Trebuie să fie un șir în format frame_rate_num/frame_rate_den, un număr întreg
număr, un număr în virgulă mobilă sau o abreviere validă a ratei de cadre video. Implicit
valoarea este „25”.

SAR Setați raportul de aspect al eșantionului video sursă.

durată, d
Setați durata videoclipului sursă. Vedea il Timp durată secțiune in il
ffmpeg-utils(1) manual pentru sintaxa acceptată.

Dacă nu este specificată sau durata exprimată este negativă, videoclipul ar trebui să fie
generat pentru totdeauna.

zecimale, n
Setați numărul de zecimale de afișat în marcajul de timp, disponibil numai în „testsrc”
sursă.

Valoarea marcajului de timp afișat va corespunde cu valoarea inițială a marcajului de timp
înmulțit cu puterea lui 10 a valorii specificate. Valoarea implicită este 0.

De exemplu următoarele:

testsrc=duration=5.3:size=qcif:rate=10

va genera un videoclip cu o durată de 5.3 secunde, cu dimensiunea 176x144 și cu un frame rate
de 10 cadre pe secundă.

Următoarea descriere a graficului va genera o sursă roșie cu o opacitate de 0.2, cu
dimensiunea „qcif” și o rată de cadre de 10 cadre pe secundă.

culoare=c=[e-mail protejat]:s=qcif:r=10

Dacă conținutul de intrare trebuie ignorat, poate fi folosit „nullsrc”. Următoarea comandă
generează zgomot în planul de luminanță prin folosirea filtrului „geq”:

nullsrc=s=256x256, geq=aleator(1)*255:128:128

Comenzi

Sursa „culoare” acceptă următoarele comenzi:

c, culoare
Setați culoarea imaginii create. Acceptă aceeași sintaxă a corespunzătoare culoare
opțiune.

VIDEO CHIUVE


Mai jos este o descriere a canalelor video disponibile în prezent.

chiuveta tampon
Salvați cadrele video și puneți-le disponibile până la sfârșitul graficului de filtrare.

Această chiuvetă este destinată în principal utilizării programatice, în special prin interfață
definit în libavfilter/buffersink.h sau sistemul de opțiuni.

Acceptă un pointer către o structură AVBufferSinkContext, care definește intrarea
formatele bufferelor, care urmează să fie transmise ca parametru opac la „avfilter_init_filter” pentru
initializare.

nullsk
Null video sink: nu faceți absolut nimic cu videoclipul de intrare. Este util în principal ca a
șablon și pentru utilizare în instrumente de analiză/depanare.

MULTIMEDIA FILTRE


Mai jos este o descriere a filtrelor multimedia disponibile în prezent.

afazemetru
Convertiți sunetul de intrare într-o ieșire video, afișând faza audio.

Filtrul acceptă următoarele opțiuni:

rată, r
Setați rata de ieșire a cadrelor. Valoarea implicită este 25.

mărimea, s
Setați dimensiunea video pentru ieșire. Pentru sintaxa acestei opțiuni, verificați "Video
mărimea" secțiune in il ffmpeg-utils manual. Valoarea implicită este „800x400”.

rc
gc
bc Specificați contrastul roșu, verde, albastru. Valorile implicite sunt 2, 7 și 1. Interval permis
este „[0, 255]”.

MPC Setați culoarea care va fi utilizată pentru desenarea fazei mediane. Dacă culoarea este „niciuna”, care este
implicit, nu va fi trasă nicio valoare mediană a fazei.

De asemenea, filtrul exportă metadatele cadrului „lavfi.aphasemeter.phase” care reprezintă media
faza cadrului audio curent. Valoarea este în intervalul „[-1, 1]”. „-1” înseamnă stânga și dreapta
canalele sunt complet defazate și 1 înseamnă că canalele sunt în fază.

avectorscope
Convertiți sunetul de intrare într-o ieșire video, reprezentând domeniul vectorului audio.

Filtrul este folosit pentru a măsura diferența dintre canalele de flux audio stereo. A
semnal monoaural, constând dintr-un semnal identic din stânga și din dreapta, are drept rezultat
linie verticala. Orice separare stereo este vizibilă ca o abatere de la această linie, creând a
Figura Lissajous. Dacă linia dreaptă (sau abaterea de la ea) dar orizontală apare aceasta
indică faptul că canalele stânga și dreapta sunt defazate.

Filtrul acceptă următoarele opțiuni:

mod, m
Setați modul vectorscop.

Valorile disponibile sunt:

lissajous
Lissajous sa rotit cu 45 de grade.

lissajous_xy
La fel ca mai sus, dar nu rotit.

polar
Forma asemănătoare cu jumătate de cerc.

Valoarea implicită este lissajous.

mărimea, s
Setați dimensiunea video pentru ieșire. Pentru sintaxa acestei opțiuni, verificați "Video
mărimea" secțiune in il ffmpeg-utils manual. Valoarea implicită este „400x400”.

rată, r
Setați rata de ieșire a cadrelor. Valoarea implicită este 25.

rc
gc
bc
ac Specificați contrastul roșu, verde, albastru și alfa. Valorile implicite sunt 40, 160, 80 și
255. Intervalul permis este „[0, 255]”.

rf
gf
bf
af Specificați decolorarea roșu, verde, albastru și alfa. Valorile implicite sunt 15, 10, 5 și 5.
Intervalul permis este „[0, 255]”.

zoom
Setați factorul de zoom. Valoarea implicită este 1. Intervalul permis este „[1, 10]”.

Exemple

· Exemplu complet de utilizare 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]'

concat
Concatenează fluxurile audio și video, unindu-le unul după altul.

Filtrul funcționează pe segmente de fluxuri video și audio sincronizate. Toate segmentele trebuie
au același număr de fluxuri de fiecare tip și acesta va fi și numărul de fluxuri
la iesire.

Filtrul acceptă următoarele opțiuni:

n Setați numărul de segmente. Implicit este 2.

v Setați numărul de fluxuri video de ieșire, care este, de asemenea, numărul de fluxuri video din interior
fiecare segment. Implicit este 1.

a Setați numărul de fluxuri audio de ieșire, care este și numărul de fluxuri audio în interior
fiecare segment. Implicit este 0.

nesigur
Activați modul nesigur: nu dați greș dacă segmentele au un format diferit.

Filtrul are v+a ieșiri: în primul rând v ieșiri video, atunci a ieșiri audio.

Sunt nx(v+a) intrări: mai întâi intrările pentru primul segment, în aceeași ordine ca și
ieșirile, apoi intrările pentru al doilea segment etc.

Fluxurile înrudite nu au întotdeauna exact aceeași durată, din diverse motive
inclusiv dimensiunea cadrului codecului sau crearea neglijent. Din acest motiv, legate sincronizate
fluxurile (de exemplu, un videoclip și pista sa audio) ar trebui să fie concatenate dintr-o dată. Concatul
filtrul va folosi durata celui mai lung flux din fiecare segment (cu excepția ultimului),
și, dacă este necesar, blocați fluxuri audio mai scurte cu tăcere.

Pentru ca acest filtru să funcționeze corect, toate segmentele trebuie să înceapă cu marcajul de timp 0.

Toate fluxurile corespunzătoare trebuie să aibă aceiași parametri în toate segmentele; filtrarea
sistemul va selecta automat un format comun de pixeli pentru fluxurile video și un format comun
formatul de eșantionare, rata de eșantionare și aspectul canalului pentru fluxurile audio, dar alte setări, cum ar fi
ca rezoluție, trebuie convertită în mod explicit de către utilizator.

Rate de cadre diferite sunt acceptabile, dar vor avea ca rezultat o rată de cadre variabilă la ieșire; fi
asigurați-vă că configurați fișierul de ieșire pentru a-l gestiona.

Exemple

· Concatenează o deschidere, un episod și un final, toate în versiune bilingvă (video în
flux 0, audio în fluxurile 1 și 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

· Concatenează două părți, gestionând audio și video separat, folosind filmul (a).
surse și ajustarea rezoluției:

film=part1.mp4, scară=512:288 [v1] ; amovie=part1.mp4 [a1] ;
film=part2.mp4, scară=512:288 [v2] ; amovie=part2.mp4 [a2] ;
[v1] [v2] concat [outv] ; [a1] [a2] concat=v=0:a=1 [outa]

Rețineți că se va produce o desincronizare la cusătură dacă fluxurile audio și video nu se întâmplă
au exact aceeași durată în primul fișier.

ebur128
Filtru scaner EBU R128. Acest filtru preia un flux audio ca intrare și îl scoate la ieșire
neschimbat. În mod implicit, înregistrează un mesaj la o frecvență de 10 Hz cu Momentary
sonoritate (identificată prin „M”), sonoritate pe termen scurt („S”), sonoritate integrată („I”) și
Gama de intensitate („LRA”).

Filtrul are și o ieșire video (vezi video opțiune) cu un grafic în timp real pentru
observați evoluția sonorității. Graficul conține mesajul înregistrat menționat mai sus,
deci nu mai este tipărită atunci când această opțiune este setată, cu excepția cazului în care este setată înregistrarea verbose.
Zona principală de grafică conține volumul pe termen scurt (3 secunde de analiză) și
indicatorul din dreapta este pentru volumul momentan (400 milisecunde).

Mai multe informații despre Recomandarea Loudness EBU R128 pe
<http://tech.ebu.ch/loudness>.

Filtrul acceptă următoarele opțiuni:

video
Activați ieșirea video. Fluxul audio este transmis neschimbat dacă această opțiune este
set sau nu. Fluxul video va fi primul flux de ieșire dacă este activat. Implicit este
0.

mărimea
Setați dimensiunea videoclipului. Această opțiune este doar pentru videoclipuri. Pentru sintaxa acestei opțiuni,
verifică "Video mărimea" secțiune in il ffmpeg-utils manual. Implicit și minim
rezoluția este „640x480”.

metru
Setați contorul de scară EBU. Implicit este 9. Valorile comune sunt 9 și, respectiv, 18 pentru
Contor scară EBU +9 și contor scară EBU +18. Orice altă valoare întreagă între acest interval
este permis.

metadate
Setați injectarea metadatelor. Dacă este setată la 1, intrarea audio va fi segmentată în 100 ms
cadre de ieșire, fiecare dintre ele conținând diferite informații de volum în metadate. Toate
cheile de metadate sunt prefixate cu „lavfi.r128.”.

Valoarea implicită este 0.

framelog
Forțați nivelul de înregistrare a cadrului.

Valorile disponibile sunt:

info
nivelul de înregistrare a informațiilor

prolix
nivel de logare verbos

În mod implicit, nivelul de înregistrare este setat la info. Dacă video sau metadate opțiunile sunt
setat, se comută la prolix.

vârf
Setați modul(ele) de vârf.

Modurile disponibile pot fi cumulate (opțiunea este de tip „steag”). Valorile posibile sunt:

nici unul
Dezactivați orice mod de vârf (implicit).

probă
Activați modul eșantion-peak.

Modul de vârf simplu care caută valoarea eșantionului mai mare. Înregistrează un mesaj pentru
vârful eșantionului (identificat prin „SPK”).

adevărat
Activați modul true-peak.

Dacă este activată, căutarea vârfului se face pe o versiune supraeșantionată a fluxului de intrare
pentru o mai bună precizie de vârf. Înregistrează un mesaj pentru true-peak. (identificat prin „TPK”)
și true-peak per cadru (identificat prin „FTPK”). Acest mod necesită o construcție cu
„libswresample”.

Exemple

· Utilizarea graficului în timp real ffplay, cu un contor la scară EBU +18:

ffplay -f lavfi -i "amovie=input.mp3,ebur128=video=1:meter=18 [out0][out1]"

· Rulați o analiză cu FFMPEG:

ffmpeg -nostats -i input.mp3 -filter_complex ebur128 -f null -

intercalare, intercalare
Intercalați temporar cadre de la mai multe intrări.

„interleave” funcționează cu intrări video, „ainterleave” cu audio.

Aceste filtre citesc cadre de la mai multe intrări și trimit cel mai vechi cadru din coadă la
ieșire.

Fluxurile de intrare trebuie să aibă valori bine definite, care cresc în mod monoton, marcajele temporale ale cadrelor.

Pentru a trimite un cadru la ieșire, aceste filtre trebuie să pună în coadă cel puțin un cadru
pentru fiecare intrare, deci nu pot funcționa în cazul în care o intrare nu este încă terminată și nu va funcționa
primiți cadre primite.

De exemplu, luați în considerare cazul când o intrare este un filtru „selectat” care renunță întotdeauna la intrare
rame. Filtrul „intercalare” va continua să citească din acea intrare, dar nu va fi niciodată
capabil să trimită cadre noi la ieșire până când intrarea va trimite un semnal de sfârșit de flux.

De asemenea, în funcție de sincronizarea intrărilor, filtrele vor lăsa cadre în cazul unei intrări
primește mai multe cadre decât celelalte, iar coada este deja umplută.

Aceste filtre acceptă următoarele opțiuni:

nb_inputs, n
Setați numărul de intrări diferite, acesta este 2 în mod implicit.

Exemple

· Intercalare cadre aparținând diferitelor fluxuri folosind FFMPEG:

ffmpeg -i bambi.avi -i pr0n.mkv -filter_complex „[0:v][1:v] intercalare” out.avi

· Adăugați efect de estompare pâlpâire:

select='daca(gt(aleator(0), 0.2), 1, 2)':n=2 [tmp], boxblur=2:2, [tmp] intercalare

permanente, aperms
Setați permisiunile de citire/scriere pentru cadrele de ieșire.

Aceste filtre sunt destinate în principal dezvoltatorilor pentru a testa calea directă în următorul filtru
în filtergraph.

Filtrele acceptă următoarele opțiuni:

mod
Selectați modul de permisiuni.

Acceptă următoarele valori:

nici unul
Nu face nimic. Aceasta este valoarea implicită.

ro Setați toate cadrele de ieșire doar pentru citire.

rw Setați toate cadrele de ieșire direct inscriptibile.

comutare
Faceți cadrul doar pentru citire dacă este inscriptibil și inscriptibil dacă este doar pentru citire.

aleator
Setați fiecare cadru de ieșire doar pentru citire sau scriere aleatorie.

sămânţă
Setați sămânța pentru aleator modul, trebuie să fie un număr întreg inclus între 0 și
„UINT32_MAX”. Dacă nu este specificat sau dacă este setat în mod explicit la „-1”, filtrul va încerca
folosiți o sămânță bună aleatorie pe baza efortului maxim.

Notă: în cazul filtrului auto-inserat între filtrul de permisiuni și cel următor,
este posibil ca permisiunea să nu fie primită așa cum era de așteptat în filtrul următor. Inserarea a
format or aformat filtrul înainte ca filtrul perms/aperms poate evita această problemă.

Selectați, aselecta
Selectați cadrele pentru a le transmite în ieșire.

Acest filtru acceptă următoarele opțiuni:

expr, e
Setați expresia, care este evaluată pentru fiecare cadru de intrare.

Dacă expresia este evaluată la zero, cadrul este eliminat.

Dacă rezultatul evaluării este negativ sau NaN, cadrul este trimis la prima ieșire;
în caz contrar, este trimis la ieșire cu indexul „ceil(val)-1”, presupunând că intrarea
indicele începe de la 0.

De exemplu, o valoare de 1.2 corespunde ieșirii cu indicele „ceil(1.2)-1 = 2-1 =
1", adică a doua ieșire.

ieșiri, n
Setați numărul de ieșiri. Ieșirea către care se trimite cadrul selectat se bazează
rezultatul evaluării. Valoarea implicită este 1.

Expresia poate conține următoarele constante:

n Numărul (secvențial) al cadrului filtrat, începând de la 0.

selectat_n
Numărul (secvențial) al cadrului selectat, începând de la 0.

prev_selected_n
Numărul secvenţial al ultimului cadru selectat. Este NAN dacă este nedefinit.

TB Baza de timp a marcajelor de timp introduse.

pct PTS (Presentation TimeStamp) al cadrului video filtrat, exprimat în TB de unități.
Este NAN dacă este nedefinit.

t PTS-ul cadrului video filtrat, exprimat în secunde. Este NAN dacă este nedefinit.

puncte_prev
PTS-ul cadrului video filtrat anterior. Este NAN dacă este nedefinit.

puncte_selectate_anterior
PTS-ul ultimului cadru video filtrat anterior. Este NAN dacă este nedefinit.

prev_selectat_t
PTS-ul ultimului cadru video selectat anterior. Este NAN dacă este nedefinit.

start_pts
PTS-ul primului cadru video din videoclip. Este NAN dacă este nedefinit.

start_t
Ora primului cadru video din videoclip. Este NAN dacă este nedefinit.

tip_pict (video numai)
Tipul cadrului filtrat. Poate lua una dintre următoarele valori:

I
P
B
S
SI
SP
BI
tip_interlace (video numai)
Tipul cadru întrețesut. Poate lua una dintre următoarele valori:

PROGRESIV
Cadrul este progresiv (nu intercalat).

ÎNȚI ÎNȚI
Cadrul este pe primul loc.

ÎNTÂI DE JOS
Cadrul este primul câmp de jos.

consumed_sample_n (audio numai)
numărul de mostre selectate înainte de cadrul curent

mostre_n (audio numai)
numărul de mostre din cadrul curent

rata simpla (audio numai)
rata de eșantionare de intrare

cheie Acesta este 1 dacă cadrul filtrat este un cadru-cheie, 0 în caz contrar.

post pozitia in fisier a cadrului filtrat, -1 daca informatia nu este disponibila
(de ex. pentru videoclipuri sintetice)

scenă (video numai)
valoare între 0 și 1 pentru a indica o nouă scenă; o valoare scăzută reflectă o probabilitate scăzută
pentru ca cadrul curent să introducă o nouă scenă, în timp ce o valoare mai mare înseamnă curentul
cadru este mai probabil să fie unul (vezi exemplul de mai jos)

Valoarea implicită a expresiei selectate este „1”.

Exemple

· Selectați toate cadrele din intrare:

selecta

Exemplul de mai sus este același cu:

select=1

· Omiteți toate cadrele:

select=0

· Selectați numai cadre I:

select='eq(tip_pict\,I)'

· Selectați un cadru la fiecare 100:

select='nu(mod(n\,100))'

· Selectați numai cadrele conținute în intervalul de timp 10-20:

select=intre(t\,10\,20)

· Selectați numai cadre I conținute în intervalul de timp 10-20:

selectați=între(t\,10\,20)*eq(tip_pict\,I)

· Selectați cadre cu o distanță minimă de 10 secunde:

select='isnan(prev_selected_t)+gte(t-prev_selected_t\,10)'

· Utilizați selecția pentru a selecta numai cadre audio cu număr de mostre > 100:

aselect='gt(samples_n\,100)'

· Creați un mozaic al primelor scene:

ffmpeg -i video.avi -vf select='gt(scene\,0.4)',scale=160:120,tile -frames:v 1 preview.png

Comparând scenă față de o valoare între 0.3 și 0.5 este în general o alegere sănătoasă.

· Trimite cadre pare și impare la ieșiri separate și compune-le:

select=n=2:e='mod(n, 2)+1' [impar][par]; [impar] pad=h=2*ih [tmp]; [tmp][chiar] suprapunere=y=h

trimite cmd, asendcmd
Trimiteți comenzi către filtrele din filtergraph.

Aceste filtre citesc comenzi pentru a fi trimise către alte filtre din filtergraph.

„sendcmd” trebuie inserat între două filtre video, „asendcmd” trebuie inserat între
două filtre audio, dar în afară de asta acţionează la fel.

Specificarea comenzilor poate fi furnizată în argumentele filtrului cu comenzi
opțiunea sau într-un fișier specificat de nume de fișier opțiune.

Aceste filtre acceptă următoarele opțiuni:

comenzi, c
Setați comenzile să fie citite și trimise către celelalte filtre.

nume de fișier, f
Setați numele fișierului comenzilor care urmează să fie citite și trimise la celelalte filtre.

Comenzi sintaxă

O descriere a comenzilor constă dintr-o secvență de specificații de interval, cuprinzând a
lista de comenzi care trebuie executate atunci când are loc un anumit eveniment legat de acel interval.
Evenimentul care apare este de obicei timpul curent al cadrului de intrare sau de ieșire dintr-un anumit moment
interval.

Un interval este specificat de următoarea sintaxă:

[- ] ;

Intervalul de timp este specificat de START și Sfârşit ori. Sfârşit este opțional și implicit
la timpul maxim.

Timpul curent al cadrului este considerat în intervalul specificat dacă este inclus în
intervalul [START, Sfârşit), adică atunci când timpul este mai mare sau egal cu START şi este
mai mică decât Sfârşit.

COMANDE constă dintr-o secvență de una sau mai multe specificații de comandă, separate prin ",",
referitoare la acel interval. Sintaxa unei specificații de comandă este dată de:

[ ]

FLAGURI este opţională şi precizează tipul de evenimente aferente intervalului de timp care
permite trimiterea comenzii specificate și trebuie să fie o secvență non-nulă de steaguri de identificare
separate prin „+” sau „|” și închis între „[” și „]”.

Sunt recunoscute următoarele steaguri:

introduce
Comanda este trimisă atunci când marcajul temporal al cadrului curent intră în intervalul specificat. În
cu alte cuvinte, comanda este trimisă atunci când marcajul temporal al cadrului anterior nu era în
interval dat, iar curentul este.

părăsi
Comanda este trimisă atunci când marcajul temporal al cadrului curent părăsește intervalul specificat. În
cu alte cuvinte, comanda este trimisă atunci când marcajul de timp al cadrului anterior a fost în date
interval, iar curentul nu este.

If FLAGURI nu este specificată, se presupune o valoare implicită „[enter]”.

ŢINTĂ specifică ținta comenzii, de obicei numele clasei de filtru sau a
nume specific al instanței de filtru.

COMMAND specifică numele comenzii pentru filtrul țintă.

ARG este opțional și specifică lista opțională de argument pentru data dată COMMAND.

Între o specificație de interval și alta, spații albe sau secvențe de caractere
începând cu „#” până la sfârșitul rândului, sunt ignorate și pot fi folosite pentru a adnota comentarii.

Urmează o descriere BNF simplificată a sintaxei specificației comenzilor:

::= „intra” | "părăsi"
::= [(+|"|") ]
::= ["[" „]”] [ ]
::= [, ]
::= [- ]
::= [; ]

Exemple

· Specificați modificarea tempoului audio la secunda 4:

asendcmd=c='4.0 atempo tempo 1.5',atempo

· Specificați o listă de comenzi drawtext și hue într-un fișier.

# afișează textul în intervalul 5-10
5.0-10.0 [enter] drawtext reinițiază „fontfile=FreeSerif.ttf:text=hello world”,
[lasă] drawtext reinițializare 'fontfile=FreeSerif.ttf:text=';

# desaturați imaginea în intervalul 15-20
15.0-20.0 [introduceți] nuanță s 0,
[introduceți] drawtext reinițializați „fontfile=FreeSerif.ttf:text=nocolor”,
[lasă] nuanță s 1,
[leave] drawtext reinițializează 'fontfile=FreeSerif.ttf:text=color';

# aplicați un efect de estompare a saturației exponențiale, începând cu momentul 25
25 [introduceți] hue s exp(25-t)

Un filtergraph care permite citirea și procesarea listei de comenzi de mai sus stocate într-un fișier
test.cmd, poate fi specificat cu:

sendcmd=f=test.cmd,drawtext=fontfile=FreeSerif.ttf:text='',hue

setari, asetpts
Modificați PTS (marca temporală de prezentare) a cadrelor de intrare.

„setpts” funcționează pe cadre video, „asetpts” pe cadre audio.

Acest filtru acceptă următoarele opțiuni:

expres
Expresia care este evaluată pentru fiecare cadru pentru a-și construi marca temporală.

Expresia este evaluată prin API-ul eval și poate conține următoarele constante:

FRAME_RATE
frame rate, definită numai pentru videoclipuri cu frame rate constant

PTS Marca temporală a prezentării în intrare

N Numărul cadrului de intrare pentru video sau numărul de mostre consumate, nu
inclusiv cadrul curent pentru audio, începând de la 0.

NB_CONSUMED_SAMPLES
Numărul de mostre consumate, fără a include cadrul curent (doar audio)

NB_SAMPLES, S
Numărul de mostre din cadrul curent (numai audio)

RATA SIMPLA, SR
Rata de eșantionare audio.

STARTPTS
PTS-ul primului cadru.

STARTT
timpul în secunde al primului cadru

ÎNTREPLEȘTE
Precizați dacă cadrul curent este întrețesut.

T timpul în secunde al cadrului curent

POS poziția inițială în fișierul cadrului sau nedefinită dacă este nedefinită pentru actualul
cadru

PREV_INPTS
Intrarea anterioară PTS.

PREV_INT
timpul de intrare anterior în secunde

PREV_OUTPTS
Ieșirea anterioară PTS.

PREV_OUTT
timpul de ieșire anterior în secunde

RTCTIME
Ora ceasului de perete (RTC) în microsecunde. Acest lucru este depreciat, folosiți timp(0) în schimb.

RTCSTART
Ora ceasului de perete (RTC) la începutul filmului, în microsecunde.

TB Baza de timp a marcajelor de timp introduse.

Exemple

· Începeți să numărați PTS de la zero

setpts=PTS-STARTPTS

· Aplicați efectul de mișcare rapidă:

setpts=0.5*PTS

· Aplicați efectul de încetinire:

setpts=2.0*PTS

· Setați o rată fixă ​​de 25 de cadre pe secundă:

setpts=N/(25*TB)

· Setați o rată fixă ​​de 25 fps cu unele fluctuații:

setpts='1/(25*TB) * (N + 0.05 * sin(N*2*PI/25))'

· Aplicați un offset de 10 secunde la PTS de intrare:

setpts=PTS+10/TB

· Generați marcaje temporale dintr-o „sursă live” și rebazați pe baza de timp curentă:

setpts='(RTCTIME - RTCSTART) / (TB * 1000000)'

· Generați marcaje temporale prin numărarea mostrelor:

asetpts=N/SR/TB

setb, asetb
Setați baza de timp de utilizat pentru marcajele de timp ale cadrelor de ieșire. Este util în principal pentru testare
configurarea bazei de timp.

Acceptă următorii parametri:

expr, tb
Expresia care este evaluată în baza de timp de ieșire.

Valoarea pentru tb este o expresie aritmetică reprezentând un rațional. Expresia poate
conțin constantele „AVTB” (baza de timp implicită), „intb” (baza de timp de intrare) și „sr”
(frecvența de eșantionare, numai audio). Valoarea implicită este „intb”.

Exemple

· Setați baza de timp la 1/25:

setb=expr=1/25

· Setați baza de timp la 1/10:

setb=expr=0.1

· Setați baza de timp la 1001/1000:

setb=1+0.001

· Setați baza de timp la 2*intb:

setb=2*intb

· Setați valoarea implicită a bazei de timp:

setb=AVTB

showcqt
Convertiți sunetul de intrare într-o ieșire video reprezentând spectrul de frecvență logaritmic
(folosind transformarea Q constantă cu algoritmul Brown-Puckette), cu scară de ton muzical, de la
E0 până la D#10 (10 octave).

Filtrul acceptă următoarele opțiuni:

volum
Specificați expresia volumului de transformare (multiplicator). Expresia poate conține
variabile:

frecvență, frecventa, f
frecvența la care se evaluează transformarea

clemă de timp, tc
valoarea opțiunii timeclamp

si functii:

a_ponderare(f)
Ponderarea A de luminozitate egală

b_ponderare(f)
Ponderarea B de luminozitate egală

c_ponderare(f)
Ponderarea C de luminozitate egală

Valoarea implicită este 16.

lungimea
Specificați expresia lungimii transformării. Expresia poate conține variabile:

frecvență, frecventa, f
frecvența la care se evaluează transformarea

clemă de timp, tc
valoarea opțiunii timeclamp

Valoarea implicită este „384/f*tc/(384/f+tc)”.

clemă de timp
Specificați clema de timp pentru transformare. La frecvență joasă, există un compromis între precizie
în domeniul timpului și domeniul frecvenței. Dacă timeclamp este mai mic, evenimentul din domeniul temporal este
reprezentat mai precis (cum ar fi tobă rapidă), altfel eveniment în frecvență
domeniul este reprezentat mai precis (cum ar fi chitara bas). Valoarea acceptabilă este [0.1,
1.0]. Valoarea implicită este 0.17.

coeffclamp
Specificați coeffclamp de transformare. Dacă coeffclamp este mai mic, transformarea este mai precisă,
altfel transformarea este mai rapidă. Valoarea acceptabilă este [0.1, 10.0]. Valoarea implicită este 1.0.

gamma
Specificați gama. Gama mai scăzută face ca spectrul să fie mai contrastat, gamma mai mare face ca
spectru având o gamă mai mare. Valoarea acceptabilă este [1.0, 7.0]. Valoarea implicită este 3.0.

gamma2
Specificați gama graficului cu bare. Valoarea acceptabilă este [1.0, 7.0]. Valoarea implicită este 1.0.

fontfile
Specificați fișierul fontului pentru utilizare cu freetype. Dacă nu este specificat, utilizați fontul încorporat.

fontcolor
Specificați expresia culorii fontului. Aceasta este expresia aritmetică care ar trebui să revină
valoare întreagă 0xRRGGBB. Expresia poate conține variabile:

frecvență, frecventa, f
frecvența la care se evaluează transformarea

clemă de timp, tc
valoarea opțiunii timeclamp

si functii:

midi(f)
număr midi de frecvență f, unele numere midi: E0(16), C1(24), C2(36), A4(69)

r(x), g(x), b(x)
valoarea de roșu, verde și albastru a intensității x

Valoarea implicită este „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))"

FullHD
Dacă este setată la 1 (implicit), dimensiunea videoclipului este 1920x1080 (full HD), dacă este setată la 0,
dimensiunea videoclipului este 960x540. Utilizați această opțiune pentru a reduce utilizarea procesorului.

FPS Specificați fps video. Valoarea implicită este 25.

conta
Specificați numărul de transformări pe cadru, astfel încât să existe fps*count transforms pe secundă.
Rețineți că rata de date audio trebuie să fie divizibilă cu fps*count. Valoarea implicită este 6.

Exemple

· Redarea audio în timp ce afișați spectrul:

ffplay -f lavfi 'amovie=a.mp3, asplit [a][out1]; [a] showcqt [out0]'

· La fel ca mai sus, dar cu rata de cadre 30 fps:

ffplay -f lavfi 'amovie=a.mp3, asplit [a][out1]; [a] showcqt=fps=30:count=5 [out0]'

· Redare la 960x540 și utilizarea CPU mai mică:

ffplay -f lavfi 'amovie=a.mp3, asplit [a][out1]; [a] showcqt=fullhd=0:count=3 [out0]'

· A1 și armonicile sale: A1, A2, (aproape)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]'

· La fel ca mai sus, dar cu mai multă precizie în domeniul frecvenței (și mai lent):

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]'

· ponderare B de luminozitate egală

volum=16*b_ponderare(f)

· Factor Q mai scăzut

lungime=100/f*tc/(100/f+tc)

· Culoarea fontului personalizat, C-note este colorată în verde, altele sunt colorate în albastru

fontcolor='if(mod(floor(midi(f)+0.5),12), 0x0000FF, g(1))"

· Gama personalizată, acum spectrul este liniar cu amplitudinea.

gamma=2:gamma2=2

showfreqs
Convertiți sunetul de intrare în ieșire video reprezentând spectrul de putere audio. Audio
amplitudinea este pe axa Y în timp ce frecvența este pe axa X.

Filtrul acceptă următoarele opțiuni:

mărimea, s
Specificați dimensiunea videoclipului. Pentru sintaxa acestei opțiuni, verificați "Video mărimea" secțiune
in il ffmpeg-utils manual. Implicit este „1024x512”.

mod
Setați modul de afișare. Aceasta setează modul în care fiecare bin de frecvență va fi reprezentat.

Acceptă următoarele valori:

linie
bar
punct

Implicit este „bar”.

o scală
Setați scara de amplitudine.

Acceptă următoarele valori:

Lin Scară liniară.

sqrt
Scala rădăcină pătrată.

cbrt
Scala rădăcină cubică.

log Scară logaritmică.

Implicit este „log”.

fscale
Setați scara de frecvență.

Acceptă următoarele valori:

Lin Scară liniară.

log Scară logaritmică.

rlog
Scala logaritmică inversă.

Implicit este „lin”.

win_size
Setați dimensiunea ferestrei.

Acceptă următoarele valori:

w16
w32
w64
w128
w256
w512
w1024
w2048
w4096
w8192
w16384
w32768
w65536

Implicit este „w2048”

win_func
Setați funcția de fereastră.

Acceptă următoarele valori:

RECT
Bartlett
hanning
ciocănind
om negru
welch
Flattop
bharris
bnuttall
bhann
sinus
nuttall

Implicit este „hanning”.

suprapune
Setați suprapunerea ferestrelor. În intervalul „[0, 1]”. Implicit este 1, ceea ce înseamnă suprapunere optimă pentru
va fi selectată funcția fereastră selectată.

medie
Setați media timpului. Setarea la 0 va afișa vârfurile maxime curente. Implicit este
1, ceea ce înseamnă că media timpului este dezactivată.

culoare
Specificați lista de culori separate prin spațiu sau prin „|” care va fi folosit pentru a desena canalul
frecvente. Culorile nerecunoscute sau lipsă vor fi înlocuite cu culoarea albă.

spectru de spectacol
Convertiți sunetul de intrare într-o ieșire video, reprezentând spectrul de frecvență audio.

Filtrul acceptă următoarele opțiuni:

mărimea, s
Specificați dimensiunea video pentru ieșire. Pentru sintaxa acestei opțiuni, verificați "Video
mărimea" secțiune in il ffmpeg-utils manual. Valoarea implicită este „640x512”.

aluneca
Specificați cum ar trebui să alunece spectrul de-a lungul ferestrei.

Acceptă următoarele valori:

înlocui
mostrele încep din nou în stânga când ajung în dreapta

derulaţi
mostrele derulează de la dreapta la stânga

cadru complet
cadrele sunt produse numai când mostrele ajung în dreapta

Valoarea implicită este „înlocuire”.

mod
Specificați modul de afișare.

Acceptă următoarele valori:

combinate
toate canalele sunt afișate pe același rând

distinct
toate canalele sunt afișate pe rânduri separate

Valoarea implicită este combinate.

culoare
Specificați modul de culoare de afișare.

Acceptă următoarele valori:

canal
fiecare canal este afișat într-o culoare separată

intensitate
fiecare canal este afișat folosind aceeași schemă de culori

Valoarea implicită este canal.

scară
Specificați scara utilizată pentru calcularea valorilor intensității culorii.

Acceptă următoarele valori:

Lin liniar

sqrt
rădăcină pătrată, implicit

cbrt
rădăcină cubică

log logaritmică

Valoarea implicită este sqrt.

saturaţie
Setați modificatorul de saturație pentru culorile afișate. Valorile negative oferă o alternativă
schema de culori. 0 nu este deloc saturație. Saturația trebuie să fie în intervalul [-10.0, 10.0].
Valoarea implicită este 1.

win_func
Setați funcția ferestrei.

Acceptă următoarele valori:

nici unul
Fără preprocesare a mostrelor (nu vă așteptați să fie mai rapid)

Hann
fereastra Hann

ciocănind
Fereastra Hamming

om negru
Fereastra Blackman

Valoarea implicită este „hann”.

Utilizarea este foarte similară cu filtrul showwaves; vezi exemplele din acea secțiune.

Exemple

· Fereastra mare cu scalare logaritmică a culorilor:

showspectrum=s=1280x480:scale=log

· Exemplu complet pentru un spectru colorat și glisant pe canal folosind ffplay:

ffplay -f lavfi 'amovie=input.mp3, asplit [a][out1];
[a] showspectrum=mode=separate:color=intensity:slide=1:scale=cbrt [out0]'

showvolume
Convertiți volumul audio de intrare într-o ieșire video.

Filtrul acceptă următoarele opțiuni:

rată, r
Setați rata video.

b Setați lățimea chenarului, intervalul permis este [0, 5]. Implicit este 1.

w Setați lățimea canalului, intervalul permis este [40, 1080]. Implicit este 400.

h Setați înălțimea canalului, intervalul permis este [1, 100]. Implicit este 20.

f Setați fade, intervalul permis este [1, 255]. Implicit este 20.

c Setați expresia culorii volumului.

Expresia poate folosi următoarele variabile:

VOLUM
Volumul maxim curent al canalului în dB.

CANAL
Numărul canalului curent, începând de la 0.

t Dacă este setat, afișează numele canalelor. Implicit este activat.

valuri de spectacol
Convertiți sunetul de intrare într-o ieșire video, reprezentând undele probe.

Filtrul acceptă următoarele opțiuni:

mărimea, s
Specificați dimensiunea video pentru ieșire. Pentru sintaxa acestei opțiuni, verificați "Video
mărimea" secțiune in il ffmpeg-utils manual. Valoarea implicită este „600x240”.

mod
Setați modul de afișare.

Valorile disponibile sunt:

punct
Desenați un punct pentru fiecare probă.

linie
Desenați o linie verticală pentru fiecare probă.

p2p Desenați un punct pentru fiecare probă și o linie între ele.

clina
Desenați o linie verticală centrată pentru fiecare probă.

Valoarea implicită este „punct”.

n Setați numărul de mostre care sunt imprimate pe aceeași coloană. O valoare mai mare va
reduce rata de cadre. Trebuie să fie un număr întreg pozitiv. Această opțiune poate fi setată numai dacă
valoarea pentru rată nu este specificat în mod explicit.

rată, r
Setați rata de cadre de ieșire (aproximativă). Acest lucru se face prin setarea opțiunii n. Mod implicit
valoarea este „25”.

split_channels
Setați dacă canalele trebuie desenate separat sau se suprapun. Valoarea implicită este 0.

Exemple

· Ieșiți simultan fișierul de intrare audio și reprezentarea video corespunzătoare
timp:

amovie=a.mp3,asplit[out0],showwaves[out1]

· Creați un semnal sintetic și afișați-l cu showwaves, forțând o rată de cadre de 30
cadre pe secundă:

aevalsrc=sin(1*2*PI*t)*sin(880*2*PI*t):cos(2*PI*200*t),asplit[out0],showwaves=r=30[out1]

showwavespic
Convertiți sunetul de intrare într-un singur cadru video, reprezentând undele de mostre.

Filtrul acceptă următoarele opțiuni:

mărimea, s
Specificați dimensiunea video pentru ieșire. Pentru sintaxa acestei opțiuni, verificați "Video
mărimea" secțiune in il ffmpeg-utils manual. Valoarea implicită este „600x240”.

split_channels
Setați dacă canalele trebuie desenate separat sau se suprapun. Valoarea implicită este 0.

Exemple

· Extrageți o reprezentare divizată de canal a formei de undă a unei piese audio întregi într-un
Utilizarea imaginii 1024x800 FFMPEG:

ffmpeg -i audio.flac -lavfi showwavespic=split_channels=1:s=1024x800 waveform.png

Despică, asplit
Împărțiți intrarea în mai multe ieșiri identice.

„asplit” funcționează cu intrare audio, „split” cu video.

Filtrul acceptă un singur parametru care specifică numărul de ieșiri. Dacă
nespecificat, este implicit 2.

Exemple

· Creați două ieșiri separate din aceeași intrare:

[in] split [out0][out1]

· Pentru a crea 3 sau mai multe ieșiri, trebuie să specificați numărul de ieșiri, ca în:

[in] asplit=3 [out0][out1][out2]

· Creați două ieșiri separate din aceeași intrare, una decupată și una căptușită:

[în] split [splitout1][splitout2];
[splitout1] crop=100:100:0:0 [cropout];
[splitout2] pad=200:200:100:100 [padout];

· Creați 5 copii ale sunetului de intrare cu FFMPEG:

ffmpeg -i INPUT -filter_complex asplit=5 IEȘIRE

zmq, azmq
Primiți comenzi trimise printr-un client libzmq și redirecționați-le către filtrele din
filtrugraf.

„zmq” și „azmq” funcționează ca filtre de trecere. „zmq” trebuie introdus între două videoclipuri
filtre, „azmq” între două filtre audio.

Pentru a activa aceste filtre, trebuie să instalați biblioteca și anteturile libzmq și să configurați
FFmpeg cu „--enable-libzmq”.

Pentru mai multe informații despre libzmq, consultați:http://www.zeromq.org/>

Filtrele „zmq” și „azmq” funcționează ca un server libzmq, care primește mesajele trimise prin
o interfață de rețea definită de adresa_bind opțiune.

Mesajul primit trebuie să fie sub forma:

[ ]

ŢINTĂ specifică ținta comenzii, de obicei numele clasei de filtru sau a
nume specific al instanței de filtru.

COMMAND specifică numele comenzii pentru filtrul țintă.

ARG este opțional și specifică lista de argumente opționale pentru data dată COMMAND.

La recepție, mesajul este procesat și comanda corespunzătoare este injectată în
graficul cu filtru. În funcție de rezultat, filtrul va trimite un răspuns clientului,
adoptarea formatului:




MESAJ este opțional.

Exemple

Uita-te la instrumente/zmqsend pentru un exemplu de client zmq care poate fi folosit pentru a trimite comenzi
procesate de aceste filtre.

Luați în considerare următorul filtergraph generat de ffplay

ffplay -dumpgraph 1 -f lavfi "
culoare=s=100x100:c=rosu [l];
culoare=s=100x100:c=albastru [r];
nullsrc=s=200x100, zmq [bg];
[bg][l] suprapunere [bg+l];
[bg+l][r] suprapunere=x=100 "

Pentru a schimba culoarea părții stângi a videoclipului, se poate folosi următoarea comandă:

echo Parsed_color_0 c galben | instrumente/zmqsend

Pentru a schimba partea dreaptă:

echo Parsed_color_1 c roz | instrumente/zmqsend

MULTIMEDIA SURSE


Mai jos este o descriere a surselor multimedia disponibile în prezent.

un film
Aceasta este la fel ca film sursă, cu excepția că selectează un flux audio în mod implicit.

film
Citiți fluxuri audio și/sau video dintr-un container de film.

Acceptă următorii parametri:

nume de fișier
Numele resursei de citit (nu neapărat un fișier; poate fi și un dispozitiv sau un
flux accesat printr-un protocol).

format_name, f
Specifică formatul presupus pentru citirea filmului și poate fi fie numele unui
container sau un dispozitiv de intrare. Dacă nu este specificat, formatul este ghicit din numele_filmului
sau prin sondare.

seek_point, sp
Specifică punctul de căutare în secunde. Cadrele vor fi ieșite pornind de la această căutare
punct. Parametrul este evaluat cu „av_strtod”, deci valoarea numerică poate fi
sufixat de un postfix IS. Valoarea implicită este „0”.

cursuri, s
Specifică fluxurile de citit. Pot fi specificate mai multe fluxuri, separate prin „+”. The
sursa va avea atunci cât mai multe ieșiri, în aceeași ordine. Sintaxa este explicată în
secțiunea ``Specificatori de flux'' din manualul ffmpeg. Două nume speciale, „dv” și
„da” specifică, respectiv, fluxul video și audio implicit (cel mai potrivit). Implicit este
„dv” sau „da” dacă filtrul este numit „amovie”.

stream_index, si
Specifică indexul fluxului video de citit. Dacă valoarea este -1, cea mai potrivită
fluxul video va fi selectat automat. Valoarea implicită este „-1”. Depreciat. Dacă
filtrul se numește „amovie”, va selecta audio în loc de video.

buclă
Specifică de câte ori se citește fluxul în secvență. Dacă valoarea este mai mică de 1,
fluxul va fi citit din nou și din nou. Valoarea implicită este „1”.

Rețineți că atunci când filmul este în buclă, marcajele de timp sursei nu sunt modificate, așa că se va schimba
generați marcaje temporale care nu cresc monoton.

Permite suprapunerea unui al doilea videoclip peste intrarea principală a unui filtergraph, așa cum se arată în
acest grafic:

intrare -----------> deltapts0 --> suprapunere --> ieșire
^
|
film --> scară--> deltapts1 -------+

Exemple

· Omiteți 3.2 secunde de la începutul fișierului AVI în.avi și suprapuneți-l deasupra
intrare etichetată „în”:

movie=in.avi:seek_point=3.2, scale=180:-1, setpts=PTS-STARTPTS [peste];
[în] setpts=PTS-STARTPTS [principal];
[principal][peste] suprapunere=16:16 [out]

· Citiți de pe un dispozitiv video4linux2 și suprapuneți-l deasupra intrării etichetate „în”:

movie=/dev/video0:f=video4linux2, scale=180:-1, setpts=PTS-STARTPTS [peste];
[în] setpts=PTS-STARTPTS [principal];
[principal][peste] suprapunere=16:16 [out]

· Citiți primul flux video și fluxul audio cu id 0x81 de pe dvd.vob; videoclipul
este conectat la pad-ul numit „video”, iar sunetul este conectat la pad-ul numit
"audio":

film=dvd.vob:s=v:0+#0x81 [video] [audio]

Utilizați ffserver-all online folosind serviciile onworks.net


Servere și stații de lucru gratuite

Descărcați aplicații Windows și Linux

  • 1
    ÎNGHIŢITURĂ
    ÎNGHIŢITURĂ
    SWIG este un instrument de dezvoltare software
    care conectează programele scrise în C și
    C++ cu o varietate de nivel înalt
    limbaje de programare. SWIG este folosit cu
    diferit...
    Descărcați SWIG
  • 2
    Tema WooCommerce Nextjs React
    Tema WooCommerce Nextjs React
    Tema React WooCommerce, construită cu
    Urmează JS, Webpack, Babel, Node și
    Express, folosind GraphQL și Apollo
    Client. Magazin WooCommerce în React(
    contine: Produse...
    Descărcați tema WooCommerce Nextjs React
  • 3
    archlabs_repo
    archlabs_repo
    Pachetul depozit pentru ArchLabs Acesta este un
    aplicație care poate fi, de asemenea, preluată
    din
    https://sourceforge.net/projects/archlabs-repo/.
    A fost găzduit în OnWorks în...
    Descărcați archlabs_repo
  • 4
    Proiectul Zephyr
    Proiectul Zephyr
    Proiectul Zephyr este o nouă generație
    sistem de operare în timp real (RTOS) care
    suportă mai multe hardware-uri
    arhitecturi. Se bazează pe a
    nucleu cu amprentă mică...
    Descărcați Zephyr Project
  • 5
    SCcons
    SCcons
    SCons este un instrument de construcție software
    aceasta este o alternativă superioară
    instrument clasic de construcție „Make” care
    cu toții cunoaștem și iubim. SCons este
    implementat un...
    Descărcați SCons
  • 6
    PSeInt
    PSeInt
    PSeInt este un interpret de pseudo-cod pentru
    studenți de programare vorbitori de spaniolă.
    Scopul său principal este de a fi un instrument pentru
    învăţarea şi înţelegerea elementelor de bază
    concept...
    Descărcați PSeInt
  • Mai mult »

Comenzi Linux

  • 1
    7z
    7z
    7z - Un arhivator de fișiere cu cea mai mare
    rata compresiei ...
    Rulați 7z
  • 2
    7za
    7za
    7za - Un arhivator de fișiere cu cea mai mare
    rata compresiei ...
    Run 7za
  • 3
    înfiorător
    înfiorător
    CREEPY - O informație de geolocalizare
    agregator DESCRIERE: înfiorător este un
    aplicație care vă permite să adunați
    informații legate de geolocalizare despre
    utilizatori din...
    Fugi înfiorător
  • 4
    cricket-compilare
    cricket-compilare
    cricket - Un program pentru gestionarea
    colectarea și afișarea seriilor temporale
    date ...
    Rulați cricket-compile
  • 5
    g-wrap-config
    g-wrap-config
    g-wrap-config - script pentru a obține
    informații despre versiunea instalată
    de G-Wrap...
    Rulați g-wrap-config
  • 6
    g.iarbă de acces
    g.iarbă de acces
    g.access - Controlează accesul la
    setul de hărți curent pentru alți utilizatori de pe
    sistem. Dacă nu este oferită nicio opțiune, se imprimă
    Statusul curent. CUVINTE CHEIE: general, hartă
    management, p...
    Rulați g.accessgrass
  • Mai mult »

Ad