EnglezăFrancezăSpaniolă

Ad


Favicon OnWorks

ffplay-all - Online în cloud

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

Aceasta este comanda ffplay-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


ffplay - player media FFplay

REZUMAT


ffplay [Opțiuni] [fișier de intrare]

DESCRIERE


FFplay este un player media foarte simplu și portabil care utilizează bibliotecile FFmpeg și SDL
bibliotecă. Este folosit mai ales ca banc de testare pentru diferitele API-uri FFmpeg.

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
-x lățime
Forțați lățimea afișată.

-y înălțime
Forțați înălțimea afișată.

-s mărimea
Setați dimensiunea cadrului (LxH sau abreviere), necesară pentru videoclipurile care nu conțin antet
cu dimensiunea cadrului ca YUV brut. Această opțiune a fost retrasă în favoarea opțiunii private
opțiuni, încercați -video_size.

-fs Începeți în modul ecran complet.

-un Dezactivați sunetul.

-vn Dezactivează videoclipul.

-sn Dezactivează subtitrarea.

-ss post
Încearcă să post. Rețineți că în majoritatea formatelor nu este posibil să căutați exact, deci ffplay
va căuta la cel mai apropiat punct de căutare post.

post trebuie să fie o specificație de durată, vezi il Timp durată secțiune in il
ffmpeg-utils(1) manual.

-t durată
Joaca durată secunde de audio/video.

durată trebuie să fie o specificație de durată, vezi il Timp durată secțiune in il
ffmpeg-utils(1) manual.

-octeți
Căutare după octeți.

-nodisp
Dezactivați afișarea grafică.

-f fmt
Formatul forțat.

-title_window_title titlu
Setați titlul ferestrei (implicit este numele fișierului de intrare).

-buclă număr
Redare film în buclă ori. 0 înseamnă pentru totdeauna.

-modul de prezentare mod
Setați modul de afișare de utilizat. Valori disponibile pentru mod sunt:

0, video
arata video

1, valuri
arată unde audio

2, rdft
arată banda de frecvență audio folosind RDFT (transformată Fourier reală discretă (inversa))

Valoarea implicită este „video”, dacă videoclipul nu este prezent sau nu poate fi redat, „rdft” este
selectat automat.

Puteți parcurge interactiv modurile de afișare disponibile apăsând tasta w.

-vf filtrugraf
Creați graficul de filtru specificat de filtrugraf și folosiți-l pentru a filtra fluxul video.

filtrugraf este o descriere a graficului de filtru care trebuie aplicat fluxului și trebuie să o aibă
o singură intrare video și o singură ieșire video. În filtergraph, intrarea este
asociat etichetei „in”, iar ieșirea etichetei „out”. Vezi ffmpeg-
manualul filtrelor pentru mai multe informații despre sintaxa filtergraph.

Puteți specifica acest parametru de mai multe ori și puteți parcurge cele specificate
filtergraphs împreună cu modurile de afișare prin apăsarea tastei w.

-af filtrugraf
filtrugraf este o descriere a graficului de filtru care trebuie aplicat sunetului de intrare. Folosește
opțiunea „-filtre” pentru a afișa toate filtrele disponibile (inclusiv sursele și chiuvetele).

-i fișier de intrare
Citeste fișier de intrare.

Avansat Opțiuni
-pix_fmt format
Setați formatul pixelilor. Această opțiune a fost retrasă în favoarea opțiunilor private, încercați
-format_pixel.

-statistici
Imprimați mai multe statistici de redare, în special arată durata fluxului, codecul
parametrii, poziția curentă în flux și sincronizarea audio/video
derivă. Este activat în mod implicit, pentru a-l dezactiva în mod explicit trebuie să specificați „-nostats”.

-rapid
Optimizări neconforme cu specificațiile.

-genpts
Generați puncte.

-sincronizare tip
Setați ceasul principal la audio ("tip=audio"), video ("tip=video") sau extern
("tip=ext"). Implicit este audio. Ceasul principal este folosit pentru a controla audio-video
sincronizare. Majoritatea playerelor media folosesc audio ca ceas principal, dar în unele cazuri
(streaming sau difuzare de înaltă calitate) este necesar să se schimbe asta. Această opțiune este
folosit în principal în scopuri de depanare.

-ast audio_stream_specifier
Selectați fluxul audio dorit folosind specificatorul de flux dat. Curentul
specificatorii sunt descriși în Pârâu proiectanti capitol. Dacă această opțiune nu este
specificat, cel mai bun flux audio este selectat în programul celui deja selectat
flux video.

-vst video_stream_specifier
Selectați fluxul video dorit folosind specificatorul de flux dat. Curentul
specificatorii sunt descriși în Pârâu proiectanti capitol. Dacă această opțiune nu este
specificat, este selectat „cel mai bun” flux video.

-sst subtitle_stream_specifier
Selectați fluxul de subtitrare dorit folosind specificatorul de flux dat. Curentul
specificatorii sunt descriși în Pârâu proiectanti capitol. Dacă această opțiune nu este
specificat, cel mai bun flux de subtitrare este selectat în programul deja
fluxul video sau audio selectat.

-exit automat
Ieșiți când videoclipul este redat.

-exitonkeydown
Ieșiți dacă este apăsată orice tastă.

-exitonmousedown
Ieșiți dacă este apăsat orice buton al mouse-ului.

-codec:media_specifier nume_codec
Forțați o implementare specifică de decodor pentru fluxul identificat de media_specifier,
care poate lua valorile „a” (audio), „v” (video) și „s” subtitrare.

-codec nume_codec
Forțați un anumit decodor audio.

-vcodec nume_codec
Forțați un anumit decodor video.

-scodec nume_codec
Forțați un anumit decodor de subtitrare.

-autorotate
Rotiți automat videoclipul în funcție de metadatele fișierului. Activat în mod implicit, utilizați
-noautorotate pentru ao dezactiva.

-picătură încadrată
Aruncă cadre video dacă videoclipul nu este sincronizat. Activat implicit dacă ceasul principal este
nu setat la video. Utilizați această opțiune pentru a activa eliminarea cadrelor pentru toate ceasurile principale
surse, utilizare -noframedrop pentru ao dezactiva.

-infbuf
Nu limitați dimensiunea bufferului de intrare, citiți cât mai multe date posibil din intrare
cât de curând posibil. Activat în mod prestabilit pentru fluxuri în timp real, unde datele pot fi eliminate
daca nu citeste la timp. Utilizați această opțiune pentru a activa buffer-uri infinite pentru toate intrările, utilizați
-noinfbuf pentru ao dezactiva.

In timp ce joc
q, ESC
Părăsi.

f Comutare la ecran complet.

p, SPC
Pauză.

a Ciclul canalului audio din programul curent.

v Canalul video Cycle.

t Ciclul canalului de subtitrare în programul curent.

c Programul ciclului.

w Ciclul filtrelor video sau modurile de afișare.

s Treceți la următorul cadru.

Întrerupeți dacă fluxul nu este deja întrerupt, treceți la următorul cadru video și întrerupeți.

stanga dreapta
Căutați înapoi/înainte 10 secunde.

jos sus
Căutați înapoi/înainte 1 minut.

pagină jos/pagina up
Căutați la capitolul anterior/următorul. sau dacă nu există capitole Căutați înapoi/înainte
10 minute.

mouse clic
Căutați procentajul în fișier corespunzător fracțiunii de lățime.

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).

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

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.

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 ffplay-all online folosind serviciile onworks.net


Servere și stații de lucru gratuite

Descărcați aplicații Windows și Linux

  • 1
    Phaser
    Phaser
    Phaser este o deschidere rapidă, gratuită și distractivă
    cadru de joc HTML5 sursă care oferă
    Redare WebGL și Canvas
    browsere web desktop și mobile. Jocuri
    poate fi co...
    Descărcați Phaser
  • 2
    Motor VASSAL
    Motor VASSAL
    VASSAL este un motor de joc pentru creare
    versiuni electronice ale plăcii tradiționale
    și jocuri de cărți. Oferă suport pentru
    redarea și interacțiunea pieselor de joc,
    și ...
    Descărcați VASSAL Engine
  • 3
    OpenPDF - Furk of iText
    OpenPDF - Furk of iText
    OpenPDF este o bibliotecă Java pentru creare
    și editarea fișierelor PDF cu un LGPL și
    Licență open source MPL. OpenPDF este
    Succesorul LGPL/MPL open source al iText,
    o ...
    Descărcați OpenPDF - Furk of iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - Sistem pentru automatizare
    Analize Geoștiințifice - este un Geografic
    Sistemul informatic (GIS) software cu
    capacități imense pentru geodate
    procesare și ana...
    Descărcați SAGA GIS
  • 5
    Caseta de instrumente pentru Java/JTOpen
    Caseta de instrumente pentru Java/JTOpen
    IBM Toolbox for Java / JTOpen este un
    biblioteca de clase Java care acceptă
    programare client/server și internet
    modele către un sistem care rulează OS/400,
    i5/OS, o...
    Descărcați Toolbox pentru Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (sau D3 pentru documente bazate pe date)
    este o bibliotecă JavaScript care vă permite
    pentru a produce date dinamice, interactive
    vizualizări în browsere web. Cu D3
    tu...
    Descărcați D3.js
  • Mai mult »

Comenzi Linux

  • 1
    abidiff
    abidiff
    abidiff - comparați ABI-urile fișierelor ELF
    abidiff compară aplicația binară
    Interfețe (ABI) a două biblioteci partajate
    în format ELF. Emite un sens
    repor ...
    Fugi abidiff
  • 2
    abidw
    abidw
    abidw - serializați ABI-ul unui ELF
    fișierul abidw citește o bibliotecă partajată în ELF
    format și emite o reprezentare XML
    a ABI-ului său la ieșirea standard. The
    emis...
    Run abidw
  • 3
    copac2xml
    copac2xml
    bibutils - conversie bibliografie
    utilitati...
    Rulați copac2xml
  • 4
    Copt
    Copt
    copt - optimizator peephole SYSNOPIS:
    fișier copt.. DESCRIERE: copt este a
    optimizator de uz general pentru vizor. Aceasta
    citește codul din intrarea sa standard și
    scrie un...
    Fugi copt
  • 5
    gather_stx_titles
    gather_stx_titles
    gather_stx_titles - aduna titlul
    declarații din documentele Stx...
    Rulați gather_stx_titles
  • 6
    gatling-banc
    gatling-banc
    bench - http benchmark...
    Alerga gatling-bench
  • Mai mult »

Ad