Angielskifrancuskihiszpański

Ad


Ulubiona usługa OnWorks

ffplay-all — online w chmurze

Uruchom ffplay-all w darmowym dostawcy hostingu OnWorks przez Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS

Jest to polecenie ffplay-all, które można uruchomić w darmowym dostawcy usług hostingowych OnWorks przy użyciu jednej z wielu naszych bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online MAC OS

PROGRAM:

IMIĘ


ffplay - odtwarzacz multimedialny FFplay

STRESZCZENIE


graj [Opcje] [plik_wejściowy]

OPIS


FFplay to bardzo prosty i przenośny odtwarzacz multimedialny wykorzystujący biblioteki FFmpeg i SDL
Biblioteka. Jest używany głównie jako platforma testowa dla różnych interfejsów API FFmpeg.

OPCJE


Wszystkie opcje liczbowe, jeśli nie określono inaczej, akceptują ciąg reprezentujący a
numer jako dane wejściowe, po którym może następować jeden z przedrostków jednostek SI, na przykład: „K”,
„M” lub „G”.

Jeśli do przedrostka jednostki SI dołączono „i”, cały przedrostek zostanie zinterpretowany jako a
przedrostek jednostki dla wielokrotności binarnych, które są oparte na potęgach 1024 zamiast potęg
1000. Dodanie 'B' do prefiksu jednostki SI mnoży wartość przez 8. Pozwala to na użycie,
na przykład: 'KB', 'MiB', 'G' i 'B' jako sufiksy liczb.

Opcje, które nie przyjmują argumentów, są opcjami logicznymi i ustawiają odpowiednią wartość
do prawdy. Można je ustawić na fałsz, poprzedzając nazwę opcji przedrostkiem „nie”. Na przykład
użycie "-nofoo" ustawi opcję boolean o nazwie "foo" na false.

Strumień specyfikatorzy
Niektóre opcje są stosowane na strumień, np. bitrate lub kodek. Specyfikatory strumienia są używane do
precyzyjnie określ, do jakich strumieni należy dana opcja.

Specyfikator strumienia jest łańcuchem zwykle dołączanym do nazwy opcji i oddzielonym od niej
przez dwukropek. Np. „-codec:a:1 ac3” zawiera specyfikator strumienia „a:1”, który pasuje do
drugi strumień audio. Dlatego wybrałby kodek ac3 dla drugiego strumienia audio.

Specyfikator strumienia może pasować do kilku strumieni, dzięki czemu opcja jest stosowana do wszystkich
im. Np. specyfikator strumienia w "-b:a 128k" pasuje do wszystkich strumieni audio.

Pusty specyfikator strumienia pasuje do wszystkich strumieni. Na przykład „-codec copy” lub „-codec:
copy” skopiuje wszystkie strumienie bez ponownego kodowania.

Możliwe formy specyfikatorów strumienia to:

strumień_indeks
Dopasowuje strumień do tego indeksu. Np. „-wątki:1 4” ustawi liczbę wątków dla
drugi strumień do 4.

typ_strumienia[:strumień_indeks]
typ_strumienia jest jednym z następujących: 'v' lub 'V' dla wideo, 'a' dla dźwięku, 's' dla
podtytuł, „d” dla danych i „t” dla załączników. „v” pasuje do wszystkich strumieni wideo, „V”
pasuje tylko do strumieni wideo, które nie są załączonymi zdjęciami, miniaturami filmów ani okładką
sztuka. Gdyby strumień_indeks jest podany, to pasuje do numeru strumienia strumień_indeks tego
rodzaj. W przeciwnym razie pasuje do wszystkich strumieni tego typu.

p:identyfikator_programu[:strumień_indeks]
If strumień_indeks jest podany, to dopasowuje strumień o numerze strumień_indeks
program o id identyfikator_programu. W przeciwnym razie dopasowuje wszystkie strumienie w programie.

#identyfikator_strumienia or i:identyfikator_strumienia
Dopasuj strumień według identyfikatora strumienia (np. PID w kontenerze MPEG-TS).

m:klucz[:wartość]
Dopasowuje strumienie do tagu metadanych klucz o określonej wartości. Gdyby wartość nie jest
given, dopasowuje strumienie zawierające dany tag z dowolną wartością.

u Dopasowuje strumienie z użyteczną konfiguracją, kodek musi być zdefiniowany i niezbędny
muszą być dostępne takie informacje, jak wymiar wideo lub częstotliwość próbkowania dźwięku.

Zauważ, że w ffmpeg, dopasowanie według metadanych będzie działać poprawnie tylko w przypadku plików wejściowych.

Rodzajowy Opcje
Te opcje są wspólne dla narzędzi ff*.

-L Pokaż licencję.

-H, -?, -Wsparcie, --help [arg]
Pokaż pomoc. Można określić opcjonalny parametr, aby wydrukować pomoc dotyczącą określonej pozycji.
Jeśli nie określono żadnego argumentu, wyświetlane są tylko podstawowe (niezaawansowane) opcje narzędzi.

Możliwe wartości arg należą:

długie
Drukuj zaawansowane opcje narzędzi oprócz podstawowych opcji narzędzi.

pełny
Wydrukuj pełną listę opcji, w tym opcje współdzielone i prywatne dla koderów,
dekodery, demuksery, muksery, filtry itp.

dekoder=nazwa_dekodera
Wydrukuj szczegółowe informacje o nazwanym dekoderze nazwa_dekodera. Użyj -dekodery
możliwość uzyskania listy wszystkich dekoderów.

koder=koder_nazwa
Wydrukuj szczegółowe informacje o nazwie kodera koder_nazwa. Użyj -kodery
możliwość uzyskania listy wszystkich koderów.

demukser=nazwa_demuksera
Wydrukuj szczegółowe informacje o nazwie demuksera nazwa_demuksera. Użyj -formaty
możliwość uzyskania listy wszystkich demuxerów i muxerów.

muxer=nazwa_muxera
Wydrukuj szczegółowe informacje o nazwie muxera nazwa_muxera. Użyj -formaty
możliwość uzyskania listy wszystkich muxerów i demuxerów.

filtr=nazwa_filtra
Wydrukuj szczegółowe informacje o nazwie filtra nazwa_filtra. Użyj -filtry
możliwość uzyskania listy wszystkich filtrów.

-wersja
Pokaż wersję.

-formaty
Pokaż dostępne formaty (w tym urządzenia).

-pomysłowość
Pokaż dostępne urządzenia.

-kodeki
Pokaż wszystkie kodeki znane libavcodec.

Zauważ, że termin „kodek” jest używany w tej dokumentacji jako skrót do
co bardziej poprawnie nazywa się formatem strumienia bitów mediów.

-dekodery
Pokaż dostępne dekodery.

-kodery
Pokaż wszystkie dostępne kodery.

-bsfs
Pokaż dostępne filtry strumienia bitów.

-protokoły
Pokaż dostępne protokoły.

-filtry
Pokaż dostępne filtry libavfilter.

-pix_fmts
Pokaż dostępne formaty pikseli.

-przykład_fmts
Pokaż dostępne przykładowe formaty.

-układy
Pokaż nazwy kanałów i standardowe układy kanałów.

-zabarwienie
Pokaż rozpoznane nazwy kolorów.

-źródła urządzenie[,opcja 1=val1[,opcja 2=val2]...]
Pokaż automatycznie wykryte źródła urządzenia wejściowego. Niektóre urządzenia mogą zapewniać system-
zależne nazwy źródeł, których nie można wykryć automatycznie. Zwrócona lista nie może być
zakłada się, że jest zawsze kompletny.

ffmpeg -źródła impulsu,serwer=192.168.0.4

-umywalki urządzenie[,opcja 1=val1[,opcja 2=val2]...]
Pokaż automatycznie wykryte ujścia urządzenia wyjściowego. Niektóre urządzenia mogą zapewniać system-
zależne nazwy ujścia, których nie można wykryć automatycznie. Nie można założyć zwróconej listy
być zawsze kompletnym.

ffmpeg -sink pulsuje, serwer=192.168.0.4

-poziom logu [powtórz+]poziom dziennika | -v [powtórz+]poziom dziennika
Ustaw poziom rejestrowania używany przez bibliotekę. Dodanie „powtórz+” oznacza, że ​​powtórzone
dane wyjściowe logu nie powinny być kompresowane do pierwszej linii i „Ostatnia wiadomość powtórzona n
razy” zostanie pominięty. „Powtórz” można również użyć samodzielnie. Jeśli użyto „powtórz”
samodzielnie i bez wcześniejszego ustawienia poziomu rejestrowania, zostanie użyty domyślny poziom rejestrowania. Jeśli wiele
parametry loglevel są podane, użycie 'repeat' nie zmieni poziomu logowania. poziom dziennika
to ciąg lub liczba zawierająca jedną z następujących wartości:

cichy, -8
Nie pokazuj niczego; być cicho.

panika, 0
Wyświetlaj tylko błędy krytyczne, które mogą doprowadzić do awarii procesu, takie jak i asercja
niepowodzenie. To nie jest obecnie używane do niczego.

fatalny, 8
Pokaż tylko błędy krytyczne. Są to błędy, po których proces absolutnie nie może
kontynuuj po.

błąd, 16
Pokaż wszystkie błędy, w tym te, z których można naprawić.

ostrzeżenie, 24
Pokaż wszystkie ostrzeżenia i błędy. Jakakolwiek wiadomość związana z prawdopodobnie nieprawidłowym lub
zostaną pokazane nieoczekiwane zdarzenia.

informacje, 32
Wyświetlaj komunikaty informacyjne podczas przetwarzania. Jest to dodatek do ostrzeżeń i
błędy. To jest wartość domyślna.

gadatliwy, 40
To samo co „informacje”, z wyjątkiem bardziej szczegółowego.

odpluskwić, 48
Pokaż wszystko, w tym informacje o debugowaniu.

namierzać, 56

Domyślnie program loguje się na stderr, jeśli terminal obsługuje kolorowanie,
kolory służą do oznaczania błędów i ostrzeżeń. Kolorowanie dziennika można wyłączyć ustawiając
zmienna środowiskowa AV_LOG_FORCE_NOCOLOR or BRAK KOLORU, lub może być wymuszone ustawienie
zmienna środowiskowa AV_LOG_FORCE_COLOR. Użycie zmiennej środowiskowej BRAK KOLORU
jest przestarzały i zostanie usunięty w następnej wersji FFmpeg.

-raport
Zrzuć pełną linię poleceń i dane wyjściowe konsoli do pliku o nazwie
"program-RRRRMMDD-GGMMSS.log" w bieżącym katalogu. Ten plik może być przydatny do
zgłaszanie błędów. Oznacza to również "-loglevel gadatliwy".

Ustawianie zmiennej środowiskowej ZGŁOSZENIE do dowolnej wartości ma ten sam efekt. Jeśli
wartość to sekwencja klucz=wartość rozdzielona ':', te opcje będą miały wpływ na raport;
wartości opcji muszą być zmienione, jeśli zawierają znaki specjalne lub opcje
delimiter ':' (zobacz sekcję ``Cytowanie i ucieczki'' w podręczniku ffmpeg-utils).

Rozpoznawane są następujące opcje:

filet
ustaw nazwę pliku do użycia w raporcie; %p jest rozwijany do nazwy
program, %t jest rozwijany do znacznika czasu, "%%" jest rozwijany do zwykłego "%"

poziom
ustaw poziom szczegółowości dziennika za pomocą wartości liczbowej (patrz „-loglevel”).

Na przykład, aby wyprowadzić raport do pliku o nazwie ffreport.log przy użyciu poziomu logów 32
(alias dla poziomu dziennika „informacje”):

FFREPORT=plik=ffreport.log:poziom=32 ffmpeg -i wyjście wejściowe

Błędy w analizowaniu zmiennej środowiskowej nie są krytyczne i nie pojawią się w
zgłosić.

-ukryj_baner
Pomiń drukowanie transparentu.

Wszystkie narzędzia FFmpeg zwykle wyświetlają informację o prawach autorskich, opcje kompilacji i bibliotekę
wersje. Ta opcja może służyć do pomijania drukowania tych informacji.

- flagi procesora Flagi (światowy)
Umożliwia ustawianie i usuwanie flag procesora. Ta opcja jest przeznaczona do testowania. Nie używać
chyba że wiesz, co robisz.

ffmpeg -cpuflags -sse+mmx...
ffmpeg -cpuflagi mmx ...
ffmpeg - flagi cpu 0 ...

Możliwe flagi dla tej opcji to:

x86
Hmm
mmxd
es
s2
ss2slow
s3
ss3slow
ssse3
atom
s4.1
s4.2
AVX
avx2
xop
fma3
fma4
3dni
3dnowext
bmi1
bmi2
cmow
ARM
armv5te
ramięv6
armv6t2
vfp
vfpv3
neon
zastawa
AAArch64
ramięv8
vfp
neon
PowerPC
Altivec
Konkretny Procesory
pentium2
pentium3
pentium4
k6
k62
Athlon
athlonxp
k8
-opencl_bench
Ta opcja służy do testowania wszystkich dostępnych urządzeń OpenCL i drukowania wyników.
Ta opcja jest dostępna tylko wtedy, gdy FFmpeg został skompilowany z "--enable-opencl".

Gdy FFmpeg jest skonfigurowany z "--enable-opencl", opcje globalnego OpenCL
kontekst jest ustawiany przez -opencl_opcje. Zobacz sekcję „Opcje OpenCL” w ffmpeg-
zawiera podręcznik, aby uzyskać pełną listę obsługiwanych opcji. Między innymi te opcje
obejmują możliwość wyboru konkretnej platformy i urządzenia do uruchomienia kodu OpenCL
na. Domyślnie FFmpeg będzie działał na pierwszym urządzeniu pierwszej platformy. Podczas
opcje globalnego kontekstu OpenCL zapewniają użytkownikowi elastyczność w wyborze
Wybrane urządzenie OpenCL, większość użytkowników prawdopodobnie chciałaby wybrać najszybsze
Urządzenie OpenCL dla swojego systemu.

Ta opcja pomaga w wyborze najbardziej wydajnej konfiguracji, identyfikując
odpowiednie urządzenie dla systemu użytkownika. Wbudowany benchmark jest uruchamiany we wszystkich
Urządzenia OpenCL, a wydajność jest mierzona dla każdego urządzenia. Urządzenia w
lista wyników jest sortowana na podstawie ich wydajności z najszybszym wymienionym urządzeniem
pierwszy. Użytkownik może następnie wywołać ffmpeg za pomocą urządzenia uznanego za najbardziej
odpowiednia przez -opencl_opcje aby uzyskać najlepszą wydajność dla OpenCL
przyspieszony kod.

Typowe użycie najszybszego urządzenia OpenCL obejmuje następujące kroki.

Uruchom polecenie:

ffmpeg -opencl_bench

Zanotuj identyfikator platformy (pidx) i identyfikator urządzenia (didx) pierwszego tj. najszybszego urządzenia
na liście. Wybierz platformę i urządzenie za pomocą polecenia:

ffmpeg -opencl_options platform_idx= :device_idx= ...

-opencl_opcje Opcje (światowy)
Ustaw opcje środowiska OpenCL. Ta opcja jest dostępna tylko wtedy, gdy FFmpeg został
skompilowany z "--enable-opencl".

Opcje musi być listą klucz=wartość pary opcji oddzielone ':'. Zobacz ``OpenCL
Sekcja Opcje w podręczniku ffmpeg-utils zawiera listę obsługiwanych opcji.

Opcje AV
Te opcje są dostarczane bezpośrednio przez libavformat, libavdevice i libavcodec
biblioteki. Aby zobaczyć listę dostępnych opcji AVOptions, użyj -Pomoc opcja. Oni są
podzielone na dwie kategorie:

ogólny
Te opcje można ustawić dla dowolnego kontenera, kodeka lub urządzenia. Opcje ogólne to
wymienione w opcjach AVFormatContext dla kontenerów/urządzeń oraz w AVCodecContext
opcje dla kodeków.

prywatny
Te opcje są specyficzne dla danego kontenera, urządzenia lub kodeka. Opcje prywatne
są wymienione pod odpowiednimi kontenerami/urządzeniami/kodekami.

Na przykład, aby zapisać nagłówek ID3v2.3 zamiast domyślnego ID3v2.4 do pliku MP3, użyj
dotychczasowy wersja_id3v2 prywatna opcja muxera MP3:

ffmpeg -i wejście.flac -id3v2_wersja 3 out.mp3

Wszystkie kodeki AVOptions są na strumień, dlatego specyfikator strumienia powinien być dołączony do
Im.

Zanotuj -Bez wyjścia składnia nie może być użyta dla opcji logicznych AVOptions, użyj -Opcja 0/-Opcja 1.

Uwaga: stary nieudokumentowany sposób określania opcji AVOptions dla poszczególnych strumieni przez dołączenie v/a/s do
nazwa opcji jest teraz przestarzała i wkrótce zostanie usunięta.

Główny Opcje
-x szerokość
Wymuś wyświetlaną szerokość.

-y wysokość
Wymuś wyświetlaną wysokość.

-s rozmiar
Ustaw rozmiar klatki (szer. x wys. lub skrót), potrzebny do filmów, które nie zawierają nagłówka
z rozmiarem ramy jak surowy YUV. Ta opcja została wycofana na rzecz prywatnego
opcje, spróbuj -video_size.

-fs Zacznij w trybie pełnoekranowym.

-na Wyłącz dźwięk.

-wn Wyłącz wideo.

-SN Wyłącz napisy.

-ss pisać
Dążyć do pisać. Zauważ, że w większości formatów nie jest możliwe dokładne wyszukiwanie, więc ffplay
będzie szukać do najbliższego punktu wyszukiwania do pisać.

pisać musi być specyfikacją czasu trwania, patrz dotychczasowy Czas czas trwania Sekcja in dotychczasowy
narzędzia ffmpeg(1) podręcznik.

-t czas trwania
Grać czas trwania sekund audio/wideo.

czas trwania musi być specyfikacją czasu trwania, patrz dotychczasowy Czas czas trwania Sekcja in dotychczasowy
narzędzia ffmpeg(1) podręcznik.

-bajty
Szukaj według bajtów.

-nodisp
Wyłącz wyświetlanie graficzne.

-f fmt
Wymuś formatowanie.

- tytuł_okna tytuł
Ustaw tytuł okna (domyślnie jest to nazwa pliku wejściowego).

-pętla numer
Zapętla odtwarzanie filmu czasy. 0 oznacza na zawsze.

-tryb pokazu tryb
Ustaw tryb pokazu do użycia. Dostępne wartości dla tryb należą:

0, wideo
pokaż wideo

1, fale
pokaż fale dźwiękowe

2, rdft
pokaż pasmo częstotliwości dźwięku za pomocą RDFT ((odwrotna) rzeczywista dyskretna transformata Fouriera)

Wartość domyślna to „wideo”, jeśli wideo nie jest dostępne lub nie można go odtworzyć, „rdft” to
wybrane automatycznie.

Możesz interaktywnie przełączać się między dostępnymi trybami pokazu, naciskając klawisz w.

-vf wykres filtracyjny
Utwórz wykres filtra określony przez wykres filtracyjny i użyj go do filtrowania strumienia wideo.

wykres filtracyjny to opis wykresu filtra, który należy zastosować do strumienia i musi mieć
pojedyncze wejście wideo i pojedyncze wyjście wideo. Na wykresie filtra dane wejściowe to
skojarzone z etykietą "in", a wyjście do etykiety "out". Zobacz ffmpeg-
podręcznik filtrów, aby uzyskać więcej informacji na temat składni wykresu filtra.

Możesz określić ten parametr wiele razy i przejść przez określony
wykresy filtrów wraz z trybami pokazu po naciśnięciu klawisza w.

-af wykres filtracyjny
wykres filtracyjny to opis wykresu filtra, który ma być zastosowany do wejściowego dźwięku. Użyj
opcja "-filters", aby wyświetlić wszystkie dostępne filtry (w tym źródła i ujścia).

-i plik_wejściowy
Czytaj plik_wejściowy.

Zaawansowane Opcje
-pix_fmt format
Ustaw format pikseli. Ta opcja została przestarzała na rzecz opcji prywatnych, spróbuj
-format_piksela.

-statystyki
Wydrukuj kilka statystyk odtwarzania, w szczególności pokaż czas trwania strumienia, kodek
parametry, aktualna pozycja w strumieniu i synchronizacja audio/wideo
dryf. Jest on domyślnie włączony, aby jawnie go wyłączyć, musisz określić "-nostats".

-szybki
Optymalizacje niezgodne ze specyfikacją.

-genpts
Generuj pkt.

-synchronizacja rodzaj
Ustaw zegar główny na audio („typ=audio”), wideo („typ=wideo”) lub zewnętrzny
(„typ=ext”). Domyślnie jest dźwięk. Zegar główny służy do sterowania audio-wideo
synchronizacja. Większość odtwarzaczy multimedialnych używa dźwięku jako zegara głównego, ale w niektórych przypadkach
(transmisja strumieniowa lub transmisja wysokiej jakości) należy to zmienić. Ta opcja to
używany głównie do celów debugowania.

-ast specyfikator_strumienia_audio
Wybierz żądany strumień audio za pomocą podanego specyfikatora strumienia. Strumień
specyfikatory są opisane w Strumień specyfikatorzy rozdział. Jeśli ta opcja nie jest
określony, „najlepszy” strumień audio jest wybierany w programie już wybranego
strumień wideo.

-w porównaniu specyfikator_strumienia_wideo
Wybierz żądany strumień wideo za pomocą podanego specyfikatora strumienia. Strumień
specyfikatory są opisane w Strumień specyfikatorzy rozdział. Jeśli ta opcja nie jest
określony, wybierany jest „najlepszy” strumień wideo.

-st specyfikator_strumienia_napisów
Wybierz żądany strumień napisów, używając podanego specyfikatora strumienia. Strumień
specyfikatory są opisane w Strumień specyfikatorzy rozdział. Jeśli ta opcja nie jest
określony, „najlepszy” strumień napisów jest wybrany w programie już
wybrany strumień wideo lub audio.

-autowyjście
Wyjdź po zakończeniu odtwarzania wideo.

-klawisz wyjścia w dół
Wyjdź po naciśnięciu dowolnego klawisza.

-wyjściemysz w dół
Wyjdź po naciśnięciu dowolnego przycisku myszy.

-kodek:media_specyfikator kodek_nazwa
Wymuś konkretną implementację dekodera dla strumienia zidentyfikowanego przez media_specyfikator,
które mogą przyjmować wartości „a” (audio), „v” (wideo) i napisy „s”.

-akodek kodek_nazwa
Wymuś określony dekoder audio.

-vcodec kodek_nazwa
Wymuś określony dekoder wideo.

-skodek kodek_nazwa
Wymuś określony dekoder napisów.

-autoobrót
Automatycznie obracaj wideo zgodnie z metadanymi pliku. Domyślnie włączone, użyj
- bez autorotacji wyłączyć.

-upuszczanie ramek
Upuść klatki wideo, jeśli wideo nie jest zsynchronizowane. Domyślnie włączone, jeśli zegar główny to
nie ustawione na wideo. Użyj tej opcji, aby włączyć pomijanie klatek dla wszystkich zegarów głównych
źródła, wykorzystanie -noframedrop wyłączyć.

-infbuf
Nie ograniczaj rozmiaru bufora wejściowego, odczytaj jak najwięcej danych z wejścia, jak
tak prędko jak to możliwe. Domyślnie włączone dla strumieni w czasie rzeczywistym, w których dane mogą być upuszczane
jeśli nie przeczytasz na czas. Użyj tej opcji, aby włączyć nieskończone bufory dla wszystkich wejść, użyj
-noinfbuf wyłączyć.

Kompletujemy wszystkie dokumenty (wymagana jest kopia paszportu i XNUMX zdjęcia) potrzebne do gra
q, ESC
Porzucić.

f Przełącz tryb pełnoekranowy.

p, SPC
Pauza.

a Przełącz kanał audio w bieżącym programie.

v Przełącz kanał wideo.

t Przełącz kanał napisów w bieżącym programie.

c Program cyklu.

w Przełączaj filtry wideo lub tryby pokazu.

s Przejdź do następnej klatki.

Wstrzymaj, jeśli strumień nie został jeszcze wstrzymany, przejdź do następnej klatki wideo i wstrzymaj.

Lewo prawo
Szukaj wstecz/do przodu 10 sekund.

dół/góra
Szukaj wstecz/do przodu 1 minutę.

strona dół/strona up
Przejdź do poprzedniego/następnego rozdziału. lub jeśli nie ma rozdziałów Szukaj wstecz/do przodu
10 minut.

mysz kliknij
Wyszukaj procent w pliku odpowiadający ułamkowi szerokości.

SKŁADNIA


Ta sekcja opisuje składnię i formaty używane przez biblioteki i narzędzia FFmpeg.

Cytowanie i uciekać
FFmpeg przyjmuje następujący mechanizm cytowania i ucieczki, chyba że wyraźnie określono.
Obowiązują następujące zasady:

· ' i \ to znaki specjalne (używane odpowiednio do cytowania i ucieczki). w
oprócz nich mogą występować inne znaki specjalne w zależności od specyfiki
składnia, w której zastosowano ucieczkę i cytowanie.

· Znak specjalny jest omijany przez poprzedzenie go przedrostkiem \.

· Wszystkie znaki zawarte pomiędzy '' są zawarte dosłownie w przeanalizowanym ciągu. ten
Cytat znak ' sam nie może być cytowany, więc może być konieczne zamknięcie cytatu i
uciec od tego.

· Wiodące i końcowe spacje, o ile nie zostały wprowadzone ani cytowane, są usuwane z
przeanalizowany ciąg.

Pamiętaj, że może być konieczne dodanie drugiego poziomu ucieczki podczas korzystania z wiersza poleceń lub a
skrypt, który zależy od składni przyjętego języka powłoki.

Funkcja "av_get_token" zdefiniowana w libavutil/avstring.h może służyć do parsowania tokena
cytowane lub skreślane zgodnie z zasadami określonymi powyżej.

Narzędzie narzędzia / ucieczka w drzewie źródłowym FFmpeg może być użyty do automatycznego cytowania lub
escape w skrypcie.

Przykłady

· Pomiń ciąg „Crime d'Amour” zawierający znak specjalny „'”:

Crime d\'Amour

· Powyższy ciąg zawiera cudzysłów, więc "'" musi zostać zmieniony podczas cytowania:

'Zbrodnia'\'Amour'

· Uwzględnij początkowe lub końcowe spacje za pomocą cytowania:

' ten ciąg zaczyna się i kończy spacją '

· Ucieczka i cytowanie można mieszać ze sobą:

' Ciąg '\'ciąg\'' jest ciągiem '

· Aby dołączyć dosłowny \ możesz użyć ucieczki lub cytowania:

'c:\foo' można zapisać jako c:\\foo

Data
Przyjęta składnia to:

[(RRRR-MM-DD|RRRRMMDD)[T|t| ]]((GG:MM:SS[.m...]]])|(GGMMSS[.m...]]]))[Z]
już dziś

Jeśli wartość to „teraz”, to przyjmuje bieżący czas.

Czas jest czasem lokalnym, chyba że dołączono Z, w którym to przypadku jest interpretowany jako UTC. Jeśli
część rok-miesiąc-dzień nie jest określona i przyjmuje bieżący rok-miesiąc-dzień.

Czas czas trwania
Istnieją dwie akceptowane składnie wyrażania czasu trwania.

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

HH wyraża liczbę godzin, MM liczba minut dla maksymalnie 2 cyfr, oraz
SS liczba sekund dla maksymalnie 2 cyfr. ten m na końcu wyraża dziesiętny
wartość dla SS.

or

[-] +[. ...]

S wyraża liczbę sekund, z opcjonalną częścią dziesiętną m.

W obu wyrażeniach opcjonalny - wskazuje ujemny czas trwania.

Przykłady

Wszystkie poniższe przykłady są prawidłowym czasem trwania:

55 55 sekund

12:03:45
12 godzina, 03 minut i 45 sekund

23.189
23.189 sekund

Wideo rozmiar
Określ rozmiar źródłowego wideo, może to być ciąg formularza szerokośćxwysokośćLub
nazwa skrótu rozmiaru.

Rozpoznawane są następujące skróty:

ntsc
720x480

kumpel 720x576

qntsc
352x240

qpal
352x288

sntsc
640x480

Spal
768x576

film
352x240

film ntsc
352x240

sqcif
128x96

qcif
176x144

cif 352x288

4cif
704x576

16cif
1408x1152

qqvga
160x120

qvga
320x240

vga 640x480

SVG
800x600

xga 1024x768

uxga
1600x1200

qxga
2048x1536

sxga
1280x1024

qsxga
2560x2048

hsxga
5120x4096

Wow
852x480

wxga
1366x768

wsxga
1600x1024

wuxga
1920x1200

woxga
2560x1600

wqsxga
3200x2048

wqxga
3840x2400

wsxga
6400x4096

co
7680x4800

CGA 320x200

ega 640x350

hd480
852x480

hd720
1280x720

hd1080
1920x1080

2k 2048x1080

2kpłaski
1998x1080

2koskop
2048x858

4k 4096x2160

4kpłaski
3996x2160

4koskop
4096x1716

NHD 640x360

hqvga
240x160

wqvga
400x240

fwqvga
432x240

hvga
480x320

qhd 960x540

2kdci
2048x1080

4kdci
4096x2160

uhd2160
3840x2160

uhd4320
7680x4320

Wideo stawka
Określ szybkość odtwarzania wideo wyrażoną jako liczba klatek generowanych na sekundę.
Musi to być ciąg w formacie liczba_szybkości_klatek/liczba_ramek_den, liczba całkowita, a
liczba zmiennoprzecinkowa lub poprawny skrót liczby klatek na sekundę.

Rozpoznawane są następujące skróty:

ntsc
30000/1001

kumpel 25/1

qntsc
30000/1001

qpal
25/1

sntsc
30000/1001

Spal
25/1

film
24/1

film ntsc
24000/1001

Stosunek
Stosunek może być wyrażony jako wyrażenie lub w formie licznik ułamka:mianownik.

Zauważ, że stosunek z nieskończoną (1/0) lub ujemną wartością jest uważany za prawidłowy, więc powinieneś
sprawdź zwróconą wartość, jeśli chcesz wykluczyć te wartości.

Niezdefiniowaną wartość można wyrazić za pomocą ciągu „0:0”.

Kolor
Może to być nazwa koloru zdefiniowana poniżej (dopasowanie bez uwzględniania wielkości liter) lub a
Sekwencja „[0x|#]RRGGBB[AA]”, po której prawdopodobnie występuje @ i ciąg reprezentujący alfa
składnik.

Składnik alfa może być ciągiem składającym się z „0x”, po którym następuje liczba szesnastkowa lub
liczba dziesiętna z zakresu od 0.0 do 1.0, która reprezentuje wartość krycia (0x00 or 0.0
oznacza całkowicie transparentny, 0xff or 1.0 całkowicie nieprzezroczysty). Jeśli składnik alfa to
nie określono wtedy 0xff zakłada się.

Ciąg znaków przypadkowy spowoduje losowy kolor.

Rozpoznawane są następujące nazwy kolorów:

AliceBlue
0xF0F8FF

Antyczna biel
0xFAEBD7

wodny
0x00FFFF

Akwamaryn
0x7FFFD4

Lazur
0xF0FFFF

Beżowy
0xF5F5DC

For
0xFFE4C4

Czarny
0x000000

BlanchedAlmond
0xFFEBCD

Niebieski
0x0000FF

BlueViolet
0x8A2BE2

Ryż Basmati Brązowy
0xA52A2A

BurlyWood
0xDEB887

CadetBlue
0x5F9EA0

Chartreuse
0x7FFF00

Czekolada
0xD2691E

Koral
0xFF7F50

Chabrowy
0x6495ED

Kukurydza
0xFFF8DC

Karmazynowy
0xDC143C

Cyan
0x00FFFF

Ciemny niebieski
0x00008B

DarkCyan
0x008B8B

CiemnyZłotyRod
0xB8860B

Ciemny szary
0xA9A9A9

Ciemnozielony
0x006400

DarkKhaki
0xBDB76B

ciemnopurpurowy
0x8B008B

DarkOliveGreen
0x556B2F

Ciemna pomarańcza
0xFF8C00

DarkOrchid
0x9932CC

Ciemno czerwony
0x8B0000

DarkSalmon
0xE9967A

DarkSeaGreen
0x8FBC8F

DarkSlateBlue
0x483D8B

DarkSlateGray
0x2F4F4F

DarkTurquoise
0x00CED1

DarkViolet
0x9400D3

Głęboki róż
0xFF1493

DeepSkyBlue
0x00BFFFF

DimGray
0x696969

DodgerBlue
0x1E90FF

FireCegła
0xB22222

FloralWhite
0xFFFFAF0

Zielony las
0x228B22

Fuksja
0xFF00FF

Gainsboro
0xDCDCDC

GhostWhite
0xF8F8FF

Złoto
0xFFD700

Złoty Rod
0xDAA520

Szary
0x808080

Zielony
0x008000

Zielony żółty
0xADFF2F

Miodowa Rosa
0xF0FFF0

Gorący róż
0xFF69B4

IndianRed
0xCD5C5C

Indygo
0x4B0082

kość słoniowa
0xFFFFFF0

Khaki
0xF0E68C

Lawenda
0xE6E6FA

Lawenda Rumieniec
0xFFF0F5

LawnGreen
0x7CFC00

CytrynaSzyfon
0xFFFACD

Jasny niebieski
0xADD8E6

LightCoral
0xF08080

LightCyan
0xE0FFFF

LightGoldenRodŻółty
0xFAFAD2

Jasnozielony
0x90EE90

Jasnoszary
0xD3D3D3

Jasnoróżowy
0xFFB6C1

Jasnołosoś
0xFFA07A

LightSeaGreen
0x20B2AA

LightSkyBlue
0x87CEFA

LightSlateGray
0x778899

LightSteelBlue
0xB0C4DE

Jasny zółty
0xFFFFFE0

Wapno
0x00FF00

Limonkowy
0x32CD32

Bielizna
0xFAF0E6

Magenta
0xFF00FF

Kasztanowaty
0x800000

MediumAquaMarine
0x66CDAA

Średni niebieski
0x0000CD

MediumOrchid
0xBA55D3

MediumPurple
0x9370D8

MediumSeaGreen
0x3CB371

MediumSlateBlue
0x7B68EE

średniwiosenny zielony
0x00FA9A

Średni turkus
0x48D1CC

MediumVioletRed
0xC71585

Niebieska północ
0x191970

MiętowoKremowy
0xF5FFFA

MistyRose
0xFFE4E1

Mokasyn
0xFFE4B5

NavajoWhite
0xFFDEAD

Ciemny granat
0x000080

OldLace
0xFDF5E6

Oliwkowy
0x808000

OliveDrab
0x6B8E23

Orange
0xFFA500

Pomarańczowy czerwony
0xFF4500

Orchidea
0xDA70D6

BladyZłoty Pręt
0xEEE8AA

Bladozielony
0x98FB98

PaleTurquoise
0xAFEEEE

PaleVioletRed
0xD87093

PapajaBicz
0xFFEFD5

PeachPuff
0xFFDAB9

Peru
0xCD853F

Różowy
0xFFC0CB

Śliwka
0xDDA0DD

PowderBlue
0xB0E0E6

Fioletowy
0x800080

Czerwony 0xFF0000

RosyBrown
0xBC8F8F

Królewski niebieski
0x4169E1

SaddleBrown
0x8B4513

Łosoś
0xFA8072

SandyBrown
0xF4A460

Zielone morze
0x2E8B57

Muszla
0xFFF5EE

Sjena
0xA0522D

Srebro
0xC0C0C0

Niebieskie niebo
0x87CEEB

Odcień niebieskiego
0x6A5ACD

Popielaty
0x708090

Śnieg
0xFFFAFA

Wiosenna zieleń
0x00FF7F

Stalowo - niebieski
0x4682B4

Opalenizna 0xD2B48C

Cyraneczka
0x008080

Oset
0xD8BFD8

Pomidor
0xFF6347

Turkusowy
0x40E0D0

Fioletowy
0xEE82EE

Pszenica
0xF5DEB3

Biały
0xFFFFFF

Biały dym
0xF5F5F5

Żółty
0xFFFF00

Żółty zielony
0x9ACD32

Kanał układ
Układ kanałów określa rozmieszczenie przestrzenne kanałów w systemie wielokanałowym
strumień audio. Aby określić układ kanału, FFmpeg używa specjalnej składni.

Poszczególne kanały identyfikowane są za pomocą identyfikatora, zgodnie z poniższą tabelą:

FL przedni lewy

FR przednie prawe

FC przedni środek

LFE niskiej częstotliwości

BL tył w lewo

BR z powrotem w prawo

FLC przód po lewej od środka

FRC przód po prawej od środka

BC środek pleców

SL z lewej strony

SR strona prawa

TC górny środek

TFL górny przedni lewy

TFC górny przód pośrodku

TFR górny przedni prawy

TBL góra tył lewa

TBC góra tył środek

TBR góra tył prawa

DL downmix w lewo

DR downmix w prawo

WL szeroki lewy

WR szeroki prawy

SDL surround bezpośrednio w lewo

SDR otaczać bezpośrednio w prawo

LFE2
niska częstotliwość 2

Kompozycje układu kanału standardowego można określić za pomocą następujących identyfikatorów:

mono
FC

stereofoniczny
FL+FR

2.1 FL+FR+LFE

3.0 FL+FR+FC

3.0 (tył)
FL+FR+BC

4.0 FL+FR+FC+BC

quad
FL+FR+BL+BR

quad (boczny)
FL+FR+SL+SR

3.1 FL+FR+FC+LFE

5.0 FL+FR+FC+BL+BR

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

4.1 FL+FR+FC+LFE+BC

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

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

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

6.0 (przód)
FL+FR+FLC+FRC+SL+SR

sześciokątny
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 (przód)
FL+FR+LFE+FLC+FRC+SL+SR

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

7.0 (przód)
FL+FR+FC+FLC+FRC+SL+SR

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

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

7.1 (szeroki bok)
FL+FR+FC+LFE+FLC+FRC+SL+SR

ośmioboczny
FL+FR+FC+BL+BR+BC+SL+SR

zmiksować
DL+DR

Niestandardowy układ kanału można określić jako sekwencję terminów oddzielonych znakiem „+” lub „|”.
Każdy termin może być:

· nazwa standardowego układu kanałów (np. mono, stereofoniczny, 4.0, quad, 5.0Etc.)

· nazwa pojedynczego kanału (np. FL, FR, FC, LFEEtc.)

· liczba kanałów, w postaci dziesiętnej, po której opcjonalnie następuje 'c', co daje wartość domyślną
układ kanałów dla tej liczby kanałów (patrz funkcja
"av_get_default_channel_layout")

· maskę układu kanału, szesnastkowo zaczynając od „0x” (patrz makra „AV_CH_*” w
libavutil/układ_kanałowy.h.

Począwszy od wersji 53 libavutil kończący znak "c" określający liczbę
kanały będą wymagane, podczas gdy maska ​​układu kanału może być również określona jako
liczba dziesiętna (jeśli i tylko wtedy, gdy nie następuje po niej „c”).

Zobacz także funkcję "av_get_channel_layout" zdefiniowaną w libavutil/układ_kanałowy.h.

WYRAŻENIE OCENA


Podczas oceny wyrażenia arytmetycznego FFmpeg używa wewnętrznego narzędzia do oceny formuł,
realizowane poprzez libavutil/eval.h berło.

Wyrażenie może zawierać operatory jednoargumentowe, binarne, stałe i funkcje.

Dwa wyrażenia wyr1 i wyr2 można łączyć, tworząc inne wyrażenie ”wyr1;wyr2".
wyr1 i wyr2 są oceniane z kolei, a nowe wyrażenie oceniane jest na wartość
wyr2.

Dostępne są następujące operatory binarne: "+", "-", "*", "/", "^".

Dostępne są następujące operatory jednoargumentowe: „+”, „-”.

Dostępne są następujące funkcje:

abs (x)
Oblicz wartość bezwzględną x.

acos (x)
Oblicz arcus cosinus z x.

asin (x)
Oblicz arcus sinus z x.

atan (x)
Oblicz arcus tangens z x.

pomiędzy (x, min maks.)
Zwróć 1 jeśli x jest większa niż lub równa min i mniejsze lub równe max, 0
Inaczej.

bitand(x, y)
bitor(x, y)
Obliczanie bitowe i/lub operacja włączona x i y.

Wyniki oceny x i y są konwertowane na liczby całkowite przed wykonaniem
operacja bitowa.

Zwróć uwagę, że zarówno konwersja na liczby całkowite, jak i konwersja z powrotem na liczbę zmiennoprzecinkową mogą:
tracą precyzję. Uważaj na nieoczekiwane wyniki dla dużych liczb (zwykle 2^53 i
większy).

pułap (wyrażenie)
Zaokrąglij wartość wyrażenia expr w górę do najbliższej liczby całkowitej. Na przykład,
„ceil(1.5)” to „2.0”.

klips (x, min maks.)
Zwróć wartość x obcięty między min i max.

cos (x)
Oblicz cosinus z x.

cosz(x)
Oblicz cosinus hiperboliczny z x.

równ(x, y)
Zwróć 1 jeśli x i y są równoważne, 0 w przeciwnym razie.

exp (x)
Oblicz wykładniczą z x (z podstawą „e”, liczba Eulera).

piętro (ekspr)
Zaokrąglij wartość wyrażenia expr w dół do najbliższej liczby całkowitej. Na przykład,
„piętro (-1.5)” to „-2.0”.

gaus(x)
Oblicz funkcję Gaussa z x, odpowiadające "exp(-x*x/2) / sqrt(2*PI)".

gcd(x, y)
Zwróć największy wspólny dzielnik x i y. Jeśli oba x i y są 0 lub jedno lub oba
są mniejsze od zera, to zachowanie jest niezdefiniowane.

gt(x, y)
Zwróć 1 jeśli x jest większa y, 0 w przeciwnym razie.

gte(x, y)
Zwróć 1 jeśli x jest większa niż lub równa y, 0 w przeciwnym razie.

hipota(x, y)
Ta funkcja jest podobna do funkcji C o tej samej nazwie; zwraca "sqrt(x*x +
y*y)", długość przeciwprostokątnej trójkąta prostokątnego o bokach długości x i y,
lub odległość punktu (x, y) od źródła.

jeśli(x, y)
Oceniać x, a jeśli wynik jest niezerowy zwróć wynik oceny y,
zwróć 0 w przeciwnym razie.

jeśli(x, y, z)
Oceniać x, a jeśli wynik jest niezerowy, zwróć wynik oceny y, W przeciwnym razie
wynik oceny z.

jeśli nie(x, y)
Oceniać x, a jeśli wynik jest równy zero, zwróć wynik oceny y, powrót
0 inaczej.

jeśli nie(x, y, z)
Oceniać x, a jeśli wynik jest równy zero, zwróć wynik oceny y, w przeciwnym razie
wynik oceny z.

inf(x)
Zwróć 1.0 jeśli x wynosi +/-NIESKOŃCZONOŚĆ, w przeciwnym razie 0.0.

isnan(x)
Zwróć 1.0 jeśli x to NAN, w przeciwnym razie 0.0.

ld(zmienna)
Załaduj wartość zmiennej wewnętrznej liczbą było, który był wcześniej przechowywany
ze st(było, expr). Funkcja zwraca załadowaną wartość.

log (x)
Oblicz logarytm naturalny z x.

lt(x, y)
Zwróć 1 jeśli x jest mniejsza niż y, 0 w przeciwnym razie.

LTE(x, y)
Zwróć 1 jeśli x jest mniejsze lub równe y, 0 w przeciwnym razie.

maks. (x, y)
Zwróć maksimum między x i y.

figlarka, y)
Zwróć maksimum między x i y.

mod(x, y)
Oblicz resztę z dzielenia x by y.

nie(wyraż)
Zwróć 1.0 jeśli expr wynosi zero, w przeciwnym razie 0.0.

pow(x, y)
Oblicz moc x podniesiony y, jest to równoważne "(x)^(y). "

drukuj(t)
drukuj (t, l)
Wydrukuj wartość wyrażenia t z loglevel l. Jeśli l nie jest określony, to wartość domyślna
używany jest poziom dziennika. Zwraca wartość wydrukowanego wyrażenia.

Drukuje t z loglevel l

losowy(x)
Zwraca pseudolosową wartość z zakresu od 0.0 do 1.0. x jest indeksem wewnętrznego
zmienna, która zostanie użyta do zapisania ziarna/stanu.

korzeń (wyrażenie, maks.)
Znajdź wartość wejściową, dla której funkcja reprezentowana przez expr z argumentem ld(0) is
0 w przedziale 0..max.

Wyrażenie w expr musi oznaczać funkcję ciągłą lub wynik jest niezdefiniowany.

ld(0) służy do reprezentowania wartości wejściowej funkcji, co oznacza, że ​​podana
wyrażenie będzie oceniane wielokrotnie z różnymi wartościami wejściowymi, które
wyrażenie może uzyskać dostęp przez ld(0). Gdy wyrażenie ma wartość 0, wtedy
zostanie zwrócona odpowiednia wartość wejściowa.

sin (x)
Oblicz sinus z x.

sinus(x)
Oblicz sinus hiperboliczny z x.

sqrt(wyraż)
Oblicz pierwiastek kwadratowy z expr. Jest to równoznaczne z „(expr)^.5".

zgniatać(x)
Oblicz wyrażenie „1/(1 + exp(4*x))”.

st(zmienna, wyraż)
Przechowuj wartość wyrażenia expr w zmiennej wewnętrznej. było określa
numer zmiennej, w której ma być przechowywana wartość, i jest to wartość z zakresu od 0 do
9. Funkcja zwraca wartość zapisaną w zmiennej wewnętrznej. Uwaga, zmienne
obecnie nie są współdzielone między wyrażeniami.

tan (x)
Oblicz tangens z x.

jasnobrązowy (x)
Oblicz tangens hiperboliczny z x.

krawc (wyraz, x)
krawc (wyraz, x, ID)
Oceń serię Taylora w x, biorąc pod uwagę wyrażenie reprezentujące "ld(id)"-th
pochodna funkcji w punkcie 0.

Gdy szereg nie jest zbieżny, wynik jest nieokreślony.

ld(identyfikator) służy do reprezentowania porządku pochodnego w expr, co oznacza, że ​​podane
wyrażenie będzie oceniane wielokrotnie z różnymi wartościami wejściowymi, które
wyrażenie może uzyskać dostęp poprzez "ld(id)". Jeśli id nie jest określony, przyjmuje się 0.

Zauważ, że jeśli masz pochodne na y zamiast 0, "taylor(expr, xy)" może być
używany.

czas(0)
Zwróć aktualny czas (zegar ścienny) w sekundach.

obcięty(wyraż)
Zaokrąglij wartość wyrażenia expr w kierunku zera do najbliższej liczby całkowitej. Na przykład,
„obcięcie (-1.5)” to „-1.0”.

podczas (dyr., wyraż)
Oceń wyrażenie expr podczas gdy wyrażenie dyr jest niezerowe i zwraca wartość
ostatniego expr ocena lub NAN, jeśli dyr zawsze była fałszywa.

Dostępne są następujące stałe:

PI powierzchnia dysku jednostki, około 3.14

E exp(1) (liczba Eulera), około 2.718

PHI złoty podział (1+kwadrat(5))/2, około 1.618

Zakładając, że wyrażenie jest uważane za „prawdziwe”, jeśli ma wartość niezerową, zauważ, że:

"*" działa jak AND

„+” działa jak OR

Na przykład konstrukcja:

jeśli (A I B) to C

jest równa:

jeśli(A*B, C)

W kodzie C możesz rozszerzyć listę funkcji jednoargumentowych i binarnych oraz zdefiniować
rozpoznane stałe, aby były dostępne dla twoich wyrażeń.

Oceniający rozpoznaje również przedrostki jednostek International System. Jeśli dołączone jest „i”
po przedrostku używane są przedrostki binarne, które są oparte na potęgach 1024 zamiast
potęgi 1000. Postfiks „B” mnoży wartość przez 8 i może być dodany po
prefiks jednostki lub używany samodzielnie. Pozwala to na użycie np. 'KB', 'MiB', 'G' i 'B' jako
przyrostek numeru.

Lista dostępnych prefiksów systemu międzynarodowego znajduje się poniżej, ze wskazaniem
odpowiednie uprawnienia 10 i 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

OTWÓRZ OPCJE


Gdy FFmpeg jest skonfigurowany z "--enable-opencl", możliwe jest ustawienie opcji dla
globalny kontekst OpenCL.

Lista obsługiwanych opcji jest następująca:

opcje_kompilacji
Ustaw opcje kompilacji używane do kompilacji zarejestrowanych jąder.

Zobacz odwołanie „OpenCL Specification Version: 1.2 rozdział 5.6.4”.

platforma_idx
Wybierz indeks platformy, aby uruchomić kod OpenCL.

Podany indeks musi być jednym z indeksów na liście urządzeń, który może być:
uzyskany za pomocą „ffmpeg -opencl_bench” lub „av_opencl_get_device_list()”.

identyfikator_urządzeniax
Wybierz indeks urządzenia używanego do uruchamiania kodu OpenCL.

Podany indeks musi być jednym z indeksów na liście urządzeń, który może być:
uzyskany za pomocą „ffmpeg -opencl_bench” lub „av_opencl_get_device_list()”.

CODEC OPCJE


libavcodec zapewnia kilka ogólnych opcji globalnych, które można ustawić we wszystkich koderach i
dekodery. Dodatkowo każdy kodek może obsługiwać tak zwane opcje prywatne, które są specyficzne
dla danego kodeka.

Czasami opcja globalna może wpływać tylko na określony rodzaj kodeka i może być:
bezsensowne lub ignorowane przez innych, więc musisz być świadomy znaczenia określonego
opcje. Również niektóre opcje są przeznaczone tylko do dekodowania lub kodowania.

Opcje można ustawić, określając -opcja wartość w narzędziach FFmpeg lub przez ustawienie
wartość jawnie w opcjach „AVCodecContext” lub za pomocą libavutil/opt.h API dla
użycie programistyczne.

Lista obsługiwanych opcji jest następująca:

b liczba całkowita (kodowanie, audio, wideo)
Ustaw bitrate w bitach/s. Wartość domyślna to 200K.

ab liczba całkowita (kodowanie, audio)
Ustaw bitrate audio (w bitach/s). Wartość domyślna to 128K.

bt liczba całkowita (kodowanie, wideo)
Ustaw tolerancję szybkości transmisji wideo (w bitach/s). W trybie jednoprzebiegowym tolerancja szybkości transmisji określa
jak bardzo kontrola szybkości jest skłonna odejść od docelowej średniej wartości szybkości transmisji bitów. Ten
nie jest powiązany z min./maks. bitratem. Zbyt duże obniżenie tolerancji ma niekorzystny wpływ
na jakość.

Flagi Flagi (dekodowanie/kodowanie, audio, wideo, napisy)
Ustaw ogólne flagi.

Możliwa wartość:

mv4 Użyj czterech wektorów ruchu na makroblok (mpeg4).

qpel
Użyj kompensacji ruchu 1/4 pel.

pętla
Użyj filtra pętli.

qskala
Użyj ustalonej skali q.

gmc Użyj gmc.

mv0 Zawsze próbuj mb z mv=<0,0>.

input_zachowane
pass1
Użyj wewnętrznej 2-przebiegowej kontroli tempa w trybie pierwszego przejścia.

pass2
Użyj wewnętrznej 2-przebiegowej kontroli tempa w trybie drugiego przebiegu.

szary
Tylko dekoduj/koduj w skali szarości.

emu_krawędź
Nie rysuj krawędzi.

psnr
Ustaw zmienne error[?] podczas kodowania.

kadłubowy
naq Normalizuj adaptacyjną kwantyzację.

Ildct
Użyj DCT z przeplotem.

małe_opóźnienie
Wymuś małe opóźnienie.

globalny_nagłówek
Umieść globalne nagłówki w extradata zamiast każdej klatki kluczowej.

bitdokładny
Zapisuj tylko dane niezależne od platformy, kompilacji i czasu. (z wyjątkiem (I)DCT). Ten
zapewnia, że ​​sumy kontrolne plików i danych są odtwarzalne i zgodne między platformami.
Jego głównym zastosowaniem jest testowanie regresji.

Aic Zastosuj zaawansowane kodowanie H263 / prognozę mpeg4 ac.

cbp Wycofane, zamiast tego użyj prywatnych opcji mpegvideo.

qprd
Wycofane, zamiast tego użyj prywatnych opcji mpegvideo.

ja
Zastosuj przewidywanie ruchu z przeplotem.

cgop
Użyj zamkniętej gop.

ja_metoda liczba całkowita (kodowanie, wideo)
Ustaw metodę estymacji ruchu.

Możliwa wartość:

zero
zerowa estymacja ruchu (najszybsza)

pełny
pełna estymacja ruchu (najwolniej)

odc
Szacowanie ruchu EPZS (domyślnie)

esa estymacja ruchu esa (alias dla pełnego)

tesa
szacowanie ruchu tesa

dzień szacowanie ruchu dia (alias dla epzs)

log oszacowanie ruchu dziennika

phody
phods szacowanie ruchu

x1 Oszacowanie ruchu X1

hex szesnastkowe oszacowanie ruchu

uhm uhm szacowanie ruchu

powtarzać
szacowanie ruchu iter

ekstradata_size liczba całkowita
Ustaw rozmiar dodatkowych danych.

podstawa czasu racjonalny numer
Ustaw podstawę czasu kodeka.

Jest to podstawowa jednostka czasu (w sekundach) określająca znaczniki czasu klatek
reprezentowane. W przypadku treści o stałej liczbie klatek na sekundę podstawa czasu powinna wynosić „1 / częstotliwość_klatek” i znacznik czasu
przyrosty powinny być identyczne 1.

g liczba całkowita (kodowanie, wideo)
Ustaw grupę rozmiaru obrazu. Wartość domyślna to 12.

ar liczba całkowita (dekodowanie/kodowanie, audio)
Ustaw częstotliwość próbkowania dźwięku (w Hz).

ac liczba całkowita (dekodowanie/kodowanie, audio)
Ustaw liczbę kanałów audio.

odcięcie liczba całkowita (kodowanie, audio)
Ustaw przepustowość odcięcia.

rozmiar ramki liczba całkowita (kodowanie, audio)
Ustaw rozmiar ramki audio.

Każda przesłana ramka z wyjątkiem ostatniej musi zawierać dokładnie próbki rozmiaru ramki na
kanał. Może wynosić 0, gdy kodek ma ustawiony CODEC_CAP_VARIABLE_FRAME_SIZE, w takim przypadku
rozmiar ramki nie jest ograniczony. Niektóre dekodery ustawiają, aby wskazywać stałą
rozmiar ramki.

numer_klatki liczba całkowita
Ustaw numer klatki.

opóźnienie liczba całkowita
qkomp unosić się (kodowanie, wideo)
Ustaw kompresję skali kwantyzatora wideo (VBR). Jest używany jako stała w
równanie kontroli tempa. Zalecany zakres dla domyślnego rc_eq: 0.0-1.0.

rozmycie unosić się (kodowanie, wideo)
Ustaw rozmycie skali kwantyzatora wideo (VBR).

q min liczba całkowita (kodowanie, wideo)
Ustaw minimalną skalę kwantyzatora wideo (VBR). Musi zawierać się w przedziale od -1 do 69, wartość domyślna
to 2.

qmaks liczba całkowita (kodowanie, wideo)
Ustaw maksymalną skalę kwantyzatora wideo (VBR). Musi zawierać się w przedziale od -1 do 1024, domyślnie
wartość wynosi 31.

qdiff liczba całkowita (kodowanie, wideo)
Ustaw maksymalną różnicę między skalą kwantyzatora (VBR).

bf liczba całkowita (kodowanie, wideo)
Ustaw maksymalną liczbę ramek B pomiędzy ramkami innymi niż B.

Musi być liczbą całkowitą z przedziału od -1 do 16. 0 oznacza, że ​​ramki B są wyłączone. Jeśli wartość
z -1, wybierze automatyczną wartość w zależności od enkodera.

Wartość domyślna to 0.

b_qczynnik unosić się (kodowanie, wideo)
Ustaw współczynnik qp pomiędzy klatkami P i B.

rc_strategia liczba całkowita (kodowanie, wideo)
Ustaw metodę kontroli tempa.

b_strategia liczba całkowita (kodowanie, wideo)
Ustaw strategię, aby wybrać między ramkami I/P/B.

ps liczba całkowita (kodowanie, wideo)
Ustaw rozmiar ładunku RTP w bajtach.

mv_bity liczba całkowita
bity_nagłówka liczba całkowita
i_tex_bity liczba całkowita
p_tex_bity liczba całkowita
liczę liczba całkowita
p_liczba liczba całkowita
liczba_pominięć liczba całkowita
różne_bity liczba całkowita
bity_ramek liczba całkowita
kodek_tag liczba całkowita
pluskwa Flagi (dekodowanie, wideo)
Obejście problemu nie wykryto automatycznie błędów kodera.

Możliwa wartość:

Autodetect
stary_msmpeg4
niektóre stare pliki msmpeg4v3 wygenerowane przez lavc (bez automatycznego wykrywania)

xvid_ilace
Błąd przeplotu Xvid (automatycznie wykrywany, jeśli fourcc==XVIX)

ump4
(automatycznie wykrywany, jeśli fourcc==UMP4)

brak_wyściółki
błąd wypełniania (wykrywany automatycznie)

amv
ac_vlc
nielegalny błąd vlc (automatycznie wykrywany przez fourcc)

qpel_chroma
std_qpel
stary standardowy qpel (automatycznie wykrywany przez fourcc/wersję)

qpel_chroma2
rozmiar_bloku_bezpośredniego
błąd direct-qpel-blocksize (automatycznie wykrywany przez fourcc/wersję)

krawędź
błąd dopełniania krawędzi (automatycznie wykrywany na fourcc/wersję)

hpel_chroma
DC_clip
ms Obejście różnych błędów w uszkodzonych dekoderach firmy Microsoft.

trunc
przetworzone ramki

Lelim liczba całkowita (kodowanie, wideo)
Ustaw próg eliminacji pojedynczego współczynnika dla luminancji (również wartości ujemne)
rozważ współczynnik DC).

Celim liczba całkowita (kodowanie, wideo)
Ustaw próg eliminacji pojedynczego współczynnika dla chrominancji (również wartości ujemne)
rozważ współczynnik DC)

rygorystyczny liczba całkowita (dekodowanie/kodowanie, audio, wideo;)
Określ, jak ściśle przestrzegać standardów.

Możliwa wartość:

początku.
ściśle przestrzegać starszej, bardziej rygorystycznej wersji specyfikacji lub oprogramowania referencyjnego;

rygorystyczny
ściśle przestrzegać wszystkich rzeczy w specyfikacji, bez względu na konsekwencje

normalna
nieoficjalny
zezwalaj na nieoficjalne rozszerzenia

eksperymentalny
zezwalaj na niestandaryzowane eksperymentalne rzeczy, eksperymentalne (niedokończone/prace w
postęp/nie dobrze przetestowany) dekodery i kodery. Uwaga: eksperymentalne dekodery mogą
stwarzać zagrożenie bezpieczeństwa, nie używaj tego do dekodowania niezaufanych danych wejściowych.

b_qprzesunięcie unosić się (kodowanie, wideo)
Ustaw przesunięcie QP między ramkami P i B.

err_detect Flagi (dekodowanie, audio, wideo;)
Ustaw flagi wykrywania błędów.

Możliwa wartość:

sprawdź
zweryfikuj osadzone CRC

strumień bitów
wykrywać odchylenia specyfikacji strumienia bitów

bufor
wykryć nieprawidłową długość strumienia bitów

eksplodować
przerwać dekodowanie po wykryciu drobnego błędu

ignorować_błąd
zignoruj ​​błędy dekodowania i kontynuuj dekodowanie. Jest to przydatne, jeśli chcesz
analizować zawartość filmu i tym samym chcieć, aby wszystko zostało odszyfrowane bez względu na to
Co. Ta opcja nie spowoduje, że film będzie przyjemny do oglądania w przypadku
błędy.

ostrożny
uważaj rzeczy, które naruszają specyfikację i nie były postrzegane w środowisku naturalnym, jako błędy

zgodny
traktuj wszystkie niezgodności ze specyfikacją jako błędy

agresywny
uważaj rzeczy, których rozsądny enkoder nie powinien robić, za błąd

ma_b_ramki liczba całkowita
wyrównanie_bloku liczba całkowita
mpeg_ilość liczba całkowita (kodowanie, wideo)
Użyj kwantyzatorów MPEG zamiast H.263.

zgniot unosić się (kodowanie, wideo)
Jak zachować kwantyzator między qmin i qmax (0 = przycinanie, 1 = użycie różniczkowania)
funkcjonować).

rc_qmod_amp unosić się (kodowanie, wideo)
Ustaw eksperymentalną modulację kwantyzatora.

rc_qmod_częst liczba całkowita (kodowanie, wideo)
Ustaw eksperymentalną modulację kwantyzatora.

rc_override_count liczba całkowita
rc_równ ciąg (kodowanie, wideo)
Ustaw równanie kontroli dawki. Podczas obliczania wyrażenia, oprócz standardu
funkcje zdefiniowane w sekcji „Ocena wyrażenia”, następujące funkcje są
dostępne: bits2qp(bity), qp2bits(qp). Dostępne są również następujące stałe:
iTex pTex tex mv fCode iCount mcVar var isI isP isB śr.QP qComp śr.IITex śrPITex
śr.PPTeks śr.BPTex śr.Teks.

maksymalna ocena liczba całkowita (kodowanie, audio, wideo)
Ustaw maksymalną tolerancję szybkości transmisji bitów (w bitach/s). Wymaga ustawienia rozmiaru bufora.

min liczba całkowita (kodowanie, audio, wideo)
Ustaw minimalną tolerancję szybkości transmisji bitów (w bitach/s). Najbardziej przydatne przy konfigurowaniu kodowania CBR. To jest
mało przydatne w przeciwnym razie.

rozmiar bufora liczba całkowita (kodowanie, audio, wideo)
Ustaw rozmiar bufora kontroli tempa (w bitach).

rc_buf_agresywność unosić się (kodowanie, wideo)
Obecnie bezużyteczne.

i_qczynnik unosić się (kodowanie, wideo)
Ustaw współczynnik QP między ramkami P i I.

i_qprzesunięcie unosić się (kodowanie, wideo)
Ustaw przesunięcie QP między klatkami P i I.

rc_init_cplx unosić się (kodowanie, wideo)
Ustaw początkową złożoność dla kodowania 1-przebiegowego.

dct liczba całkowita (kodowanie, wideo)
Ustaw algorytm DCT.

Możliwa wartość:

samochód
automatycznie wybierz dobry (domyślnie)

post
szybka liczba całkowita

int dokładna liczba całkowita

Hmm
Altivec
faan
zmiennoprzecinkowa AAN DCT

lumi_maska unosić się (kodowanie, wideo)
Skompresuj jasne obszary mocniej niż średnie.

maska_tcplx unosić się (kodowanie, wideo)
Ustaw maskowanie złożoności czasowej.

scplx_maska unosić się (kodowanie, wideo)
Ustaw maskowanie złożoności przestrzennej.

p_maska unosić się (kodowanie, wideo)
Ustaw maskowanie wewnętrzne.

ciemna_maska unosić się (kodowanie, wideo)
Skompresuj ciemne obszary mocniej niż te średnie.

idct liczba całkowita (dekodowanie/kodowanie, wideo)
Wybierz implementację IDCT.

Możliwa wartość:

samochód
int
prosty
prostemmx
prosteauto
Automatycznie wybierz IDCT kompatybilny z prostym

Ramię
Altivec
sh4
proste ramię
prostearmv5te
prosteramięv6
poprostu
prostaalfa
IP
xvidmmx
faani
zmiennoprzecinkowa AAN IDCT

liczba_plastrów liczba całkowita
ec Flagi (dekodowanie, wideo)
Ustaw strategię ukrywania błędów.

Możliwa wartość:

zgadnij_mvs
iteracyjne przeszukiwanie wektora ruchu (MV) (wolne)

odblokować
użyj silnego filtra odblokowującego w przypadku uszkodzonych MB

przysługa_wewnętrzna
preferuj przewidywanie z poprzedniej klatki zamiast z bieżącej

bitów_na_kodowaną_próbkę liczba całkowita
pred liczba całkowita (kodowanie, wideo)
Ustaw metodę przewidywania.

Możliwa wartość:

lewo
samolot
mediana
aspekt racjonalny numer (kodowanie, wideo)
Ustaw przykładowe proporcje.

debug Flagi (dekodowanie/kodowanie, audio, wideo, napisy)
Wydrukuj szczegółowe informacje debugowania.

Możliwa wartość:

pict
informacje o zdjęciu

rc kontrola szybkości

strumień bitów
typ_mb
typ makrobloku (MB)

qp parametr kwantyzacji na blok (QP)

mv wektor ruchu

dct_współczynnik
zielone_metadane
wyświetlaj metadane złożoności dla nadchodzącej klatki, GoP lub dla określonego czasu trwania.

pominąć
kod startowy
pkt
er rozpoznawanie błędów

mmco
operacje kontroli zarządzania pamięcią (H.264)

błędy
vis_qp
wizualizuj parametr kwantyzacji (QP), niższe QP są bardziej zielone

vis_mb_type
wizualizuj typy bloków

bufory
przydziały bufora obrazu

wątek_ops
operacje gwintowania

nom
pomiń kompensację ruchu

vismv liczba całkowita (dekodowanie, wideo)
Wizualizuj wektory ruchu (MV).

Ta opcja jest przestarzała, zamiast tego zobacz filtr codecview.

Możliwa wartość:

pf przewidywane w przód wartości MV ramek P

bf przewidywane w przód wartości MV ramek B

bb przewidywane wstecz wartości MV ramek B

CMP liczba całkowita (kodowanie, wideo)
Ustaw pełną funkcję porównania pel me.

Możliwa wartość:

smutny suma różnic bezwzględnych, szybko (domyślnie)

es suma kwadratów błędów

sob
suma absolutnych różnic przekształconych przez Hadamarda

dct suma bezwzględnych różnic transformowanych DCT

psnr
suma kwadratów błędów kwantyzacji (unikanie, niska jakość)

bit liczba bitów potrzebnych do bloku

rd szybkość zniekształceń optymalna, wolna

zero
0

vssad
suma bezwzględnych różnic pionowych

vs
suma kwadratów różnic pionowych

nie
suma kwadratów różnic zachowująca hałas

w53 Falka 5/3, używana tylko na śniegu

w97 Falka 9/7, używana tylko na śniegu

dctmaks
chroma
podcmp liczba całkowita (kodowanie, wideo)
Ustaw sub pel me porównać funkcję.

Możliwa wartość:

smutny suma różnic bezwzględnych, szybko (domyślnie)

es suma kwadratów błędów

sob
suma absolutnych różnic przekształconych przez Hadamarda

dct suma bezwzględnych różnic transformowanych DCT

psnr
suma kwadratów błędów kwantyzacji (unikanie, niska jakość)

bit liczba bitów potrzebnych do bloku

rd szybkość zniekształceń optymalna, wolna

zero
0

vssad
suma bezwzględnych różnic pionowych

vs
suma kwadratów różnic pionowych

nie
suma kwadratów różnic zachowująca hałas

w53 Falka 5/3, używana tylko na śniegu

w97 Falka 9/7, używana tylko na śniegu

dctmaks
chroma
mbcmp liczba całkowita (kodowanie, wideo)
Ustaw funkcję porównania makrobloków.

Możliwa wartość:

smutny suma różnic bezwzględnych, szybko (domyślnie)

es suma kwadratów błędów

sob
suma absolutnych różnic przekształconych przez Hadamarda

dct suma bezwzględnych różnic transformowanych DCT

psnr
suma kwadratów błędów kwantyzacji (unikanie, niska jakość)

bit liczba bitów potrzebnych do bloku

rd szybkość zniekształceń optymalna, wolna

zero
0

vssad
suma bezwzględnych różnic pionowych

vs
suma kwadratów różnic pionowych

nie
suma kwadratów różnic zachowująca hałas

w53 Falka 5/3, używana tylko na śniegu

w97 Falka 9/7, używana tylko na śniegu

dctmaks
chroma
ildctcmp liczba całkowita (kodowanie, wideo)
Ustaw funkcję porównania dct z przeplotem.

Możliwa wartość:

smutny suma różnic bezwzględnych, szybko (domyślnie)

es suma kwadratów błędów

sob
suma absolutnych różnic przekształconych przez Hadamarda

dct suma bezwzględnych różnic transformowanych DCT

psnr
suma kwadratów błędów kwantyzacji (unikanie, niska jakość)

bit liczba bitów potrzebnych do bloku

rd szybkość zniekształceń optymalna, wolna

zero
0

vssad
suma bezwzględnych różnic pionowych

vs
suma kwadratów różnic pionowych

nie
suma kwadratów różnic zachowująca hałas

w53 Falka 5/3, używana tylko na śniegu

w97 Falka 9/7, używana tylko na śniegu

dctmaks
chroma
dia_rozmiar liczba całkowita (kodowanie, wideo)
Ustaw typ i rozmiar diamentu w celu oszacowania ruchu.

ostatni_pred liczba całkowita (kodowanie, wideo)
Ustaw ilość predyktorów ruchu z poprzedniej klatki.

pierwszy liczba całkowita (kodowanie, wideo)
Ustaw szacowanie przed ruchem.

przygotowanie liczba całkowita (kodowanie, wideo)
Ustaw funkcję porównania przewidywania ruchu przed ruchem.

Możliwa wartość:

smutny suma różnic bezwzględnych, szybko (domyślnie)

es suma kwadratów błędów

sob
suma absolutnych różnic przekształconych przez Hadamarda

dct suma bezwzględnych różnic transformowanych DCT

psnr
suma kwadratów błędów kwantyzacji (unikanie, niska jakość)

bit liczba bitów potrzebnych do bloku

rd szybkość zniekształceń optymalna, wolna

zero
0

vssad
suma bezwzględnych różnic pionowych

vs
suma kwadratów różnic pionowych

nie
suma kwadratów różnic zachowująca hałas

w53 Falka 5/3, używana tylko na śniegu

w97 Falka 9/7, używana tylko na śniegu

dctmaks
chroma
pre_dia_size liczba całkowita (kodowanie, wideo)
Ustaw typ i rozmiar diamentu dla wstępnego przebiegu szacowania ruchu.

podrzędny liczba całkowita (kodowanie, wideo)
Ustaw jakość szacowania ruchu sub pel.

dtg_aktywny_format liczba całkowita
ja_zakres liczba całkowita (kodowanie, wideo)
Ustaw granicę zakresu wektorów ruchu (1023 dla odtwarzacza DivX).

ibias liczba całkowita (kodowanie, wideo)
Ustaw wewnętrzne odchylenie ilościowe.

pbias liczba całkowita (kodowanie, wideo)
Ustaw błąd między kwantami.

identyfikator_tabeli_kolorów liczba całkowita
globalna_jakość liczba całkowita (kodowanie, audio, wideo)
koder liczba całkowita (kodowanie, wideo)
Możliwa wartość:

vlc koder o zmiennej długości / koder huffman

ac koder arytmetyczny

surowy surowy (bez kodowania)

rle koder długości przebiegu

siadać
koder oparty na deflacji

kontekst liczba całkowita (kodowanie, wideo)
Ustaw model kontekstowy.

plastry_flagi liczba całkowita
xvmc_przyspieszenie liczba całkowita
mbd liczba całkowita (kodowanie, wideo)
Ustaw algorytm decyzyjny makrobloku (tryb wysokiej jakości).

Możliwa wartość:

prosty
użyj mbcmp (domyślnie)

Bity
użyj najmniejszej liczby bitów

rd użyj zniekształceń o najlepszej szybkości

tag_stream_codec_tag liczba całkowita
sc_threshold liczba całkowita (kodowanie, wideo)
Ustaw próg zmiany sceny.

min liczba całkowita (kodowanie, wideo)
Ustaw minimalny współczynnik opóźnienia (VBR).

lmax liczba całkowita (kodowanie, wideo)
Ustaw maksymalny współczynnik opóźnienia (VBR).

nr liczba całkowita (kodowanie, wideo)
Ustaw redukcję szumów.

rc_init_obłożenie liczba całkowita (kodowanie, wideo)
Ustaw liczbę bitów, które powinny być załadowane do bufora rc przed rozpoczęciem dekodowania.

flagi2 Flagi (dekodowanie/kodowanie, audio, wideo;)
Możliwa wartość:

szybki
Zezwalaj na sztuczki przyspieszające niezgodne ze specyfikacją.

racja
Wycofane, zamiast tego użyj prywatnych opcji mpegvideo.

nie
Pomiń kodowanie strumienia bitów.

ignoruj ​​przycinanie
Zignoruj ​​informacje o przycinaniu od sps.

lokalny_nagłówek
Umieść globalne nagłówki w każdej klatce kluczowej zamiast w dodatkowych danych.

kawałki
Dane ramek mogą być podzielone na wiele porcji.

Pokaż wszystko
Pokaż wszystkie klatki przed pierwszą klatką kluczową.

pomiń
Wycofane, zamiast tego użyj prywatnych opcji mpegvideo.

eksport_mvs
Eksportuj wektory ruchu do danych bocznych klatki (patrz „AV_FRAME_DATA_MOTION_VECTORS”)
dla kodeków, które to obsługują. Zobacz też doc/przykłady/eksport_mvs.c.

błąd liczba całkowita (kodowanie, wideo)
pytanie liczba całkowita (kodowanie, wideo)
Wycofane, zamiast tego użyj prywatnych opcji mpegvideo.

threads liczba całkowita (dekodowanie/kodowanie, wideo)
Możliwa wartość:

samochód
wykryć dużą liczbę wątków

ja_próg liczba całkowita (kodowanie, wideo)
Ustaw próg przewidywania ruchu.

próg_mb liczba całkowita (kodowanie, wideo)
Ustaw próg makrobloku.

dc liczba całkowita (kodowanie, wideo)
Ustaw intra_dc_precision.

nsew liczba całkowita (kodowanie, wideo)
Ustaw wagę nsse.

pomiń_top liczba całkowita (dekodowanie, wideo)
Ustaw liczbę wierszy makrobloków na górze, które są pomijane.

pomiń_dół liczba całkowita (dekodowanie, wideo)
Ustaw liczbę wierszy makrobloków na dole, które są pomijane.

profil liczba całkowita (kodowanie, audio, wideo)
Możliwa wartość:

nieznany
aac_main
aac_low
aac_ssr
aac_ltp
aac_he
aac_he_v2
aac_ld
aac_pol
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
poziom liczba całkowita (kodowanie, audio, wideo)
Możliwa wartość:

nieznany
niska rozdzielczość liczba całkowita (dekodowanie, audio, wideo;)
Dekoduj w rozdzielczościach 1= 1/2, 2=1/4, 3=1/8.

próg_pominięcia liczba całkowita (kodowanie, wideo)
Ustaw próg pomijania klatek.

pomiń_czynnik liczba całkowita (kodowanie, wideo)
Ustaw współczynnik pomijania klatek.

pomiń_wyraż liczba całkowita (kodowanie, wideo)
Ustaw wykładnik pomijania ramek. Wartości ujemne zachowują się identycznie jak odpowiadające
pozytywne, z tym że wynik jest znormalizowany. Pozytywne wartości istnieją przede wszystkim
ze względu na kompatybilność i nie są tak przydatne.

pomińcmp liczba całkowita (kodowanie, wideo)
Ustaw funkcję porównania pomijania klatek.

Możliwa wartość:

smutny suma różnic bezwzględnych, szybko (domyślnie)

es suma kwadratów błędów

sob
suma absolutnych różnic przekształconych przez Hadamarda

dct suma bezwzględnych różnic transformowanych DCT

psnr
suma kwadratów błędów kwantyzacji (unikanie, niska jakość)

bit liczba bitów potrzebnych do bloku

rd szybkość zniekształceń optymalna, wolna

zero
0

vssad
suma bezwzględnych różnic pionowych

vs
suma kwadratów różnic pionowych

nie
suma kwadratów różnic zachowująca hałas

w53 Falka 5/3, używana tylko na śniegu

w97 Falka 9/7, używana tylko na śniegu

dctmaks
chroma
maska_graniczna unosić się (kodowanie, wideo)
Zwiększ kwantyzator dla makrobloków blisko granic.

mblmin liczba całkowita (kodowanie, wideo)
Ustaw minimalny współczynnik opóźnienia makrobloku (VBR).

mblmax liczba całkowita (kodowanie, wideo)
Ustaw maksymalny współczynnik opóźnienia makrobloku (VBR).

mec liczba całkowita (kodowanie, wideo)
Ustaw kompensację kary szybkości transmisji bitów szacowania ruchu (1.0 = 256).

filtr_pominięcia_pętli liczba całkowita (dekodowanie, wideo)
pomiń_idct liczba całkowita (dekodowanie, wideo)
pomiń_ramkę liczba całkowita (dekodowanie, wideo)
Wykonaj przetwarzanie odrzucania dekodera w zależności od typu ramki wybranego przez opcję
wartość.

filtr_pominięcia_pętli pomija filtrowanie w pętli ramek, pomiń_idct pomija ramkę
IDCT/dekwantyzacja, pomiń_ramkę pomija dekodowanie.

Możliwa wartość:

Żaden
Odrzuć brak ramki.

domyślnym
Odrzuć bezużyteczne ramki, takie jak ramki o rozmiarze 0.

Noref
Odrzuć wszystkie ramki bez odniesienia.

bidir
Odrzuć wszystkie ramki dwukierunkowe.

brak klucza
Odrzuć wszystkie klatki z wyjątkiem klatek kluczowych.

cała kolekcja Odrzuć wszystkie ramki.

Wartość domyślna to domyślnym.

bidir_fine liczba całkowita (kodowanie, wideo)
Udoskonal dwa wektory ruchu używane w dwukierunkowych makroblokach.

brd_skala liczba całkowita (kodowanie, wideo)
Zmniejszanie klatek dla dynamicznej decyzji dotyczącej klatek B.

kluczint_min liczba całkowita (kodowanie, wideo)
Ustaw minimalny odstęp między ramkami IDR.

ref liczba całkowita (kodowanie, wideo)
Ustaw ramki odniesienia, które należy wziąć pod uwagę przy kompensacji ruchu.

przesunięcie chromatyczne liczba całkowita (kodowanie, wideo)
Ustawia przesunięcie chroma qp od luma.

krata liczba całkowita (kodowanie, audio, wideo)
Ustaw optymalną kwantyzację zniekształceń szybkości.

sc_factor liczba całkowita (kodowanie, wideo)
Ustaw wartość pomnożoną przez qscale dla każdej klatki i dodaną do scene_change_score.

próg_mv0 liczba całkowita (kodowanie, wideo)
b_wrażliwość liczba całkowita (kodowanie, wideo)
Dostosuj czułość b_frame_strategy 1.

poziom_kompresji liczba całkowita (kodowanie, audio, wideo)
min_predykcja_kolejność liczba całkowita (kodowanie, audio)
max_prediction_order liczba całkowita (kodowanie, audio)
timecode_frame_start liczba całkowita (kodowanie, wideo)
Ustaw numer początkowy ramki kodu czasowego GOP, w formacie bez upuszczania ramki.

kanały_żądań liczba całkowita (dekodowanie, audio)
Ustaw żądaną liczbę kanałów audio.

bits_per_raw_sample liczba całkowita
układ_kanału liczba całkowita (dekodowanie/kodowanie, audio)
Możliwa wartość:

żądanie_układ_kanału liczba całkowita (dekodowanie, audio)
Możliwa wartość:

rc_max_vbv_use unosić się (kodowanie, wideo)
rc_min_vbv_use unosić się (kodowanie, wideo)
zaznaczenia_na_ramkę liczba całkowita (dekodowanie/kodowanie, audio, wideo;)
kolory_podstawowe liczba całkowita (dekodowanie/kodowanie, wideo)
kolor_trc liczba całkowita (dekodowanie/kodowanie, wideo)
przestrzeń kolorów liczba całkowita (dekodowanie/kodowanie, wideo)
zakres kolorów liczba całkowita (dekodowanie/kodowanie, wideo)
Jeśli jest używany jako parametr wejściowy, służy jako wskazówka dla dekodera, który zakres_kolorów
wejście ma.

lokalizacja_próbki chroma liczba całkowita (dekodowanie/kodowanie, wideo)
Log_level_offset liczba całkowita
Ustaw przesunięcie poziomu dziennika.

plasterki liczba całkowita (kodowanie, wideo)
Liczba wycinków używanych w kodowaniu równoległym.

typ_wątku Flagi (dekodowanie/kodowanie, wideo)
Wybierz metody wielowątkowości, których chcesz użyć.

w korzystaniu rama zwiększy opóźnienie dekodowania o jedną klatkę na wątek, więc klienci, którzy:
nie może zapewnić przyszłych ramek, nie należy go używać.

Możliwa wartość:

kawałek
Dekoduj więcej niż jedną część pojedynczej klatki na raz.

Wielowątkowość przy użyciu plasterków działa tylko wtedy, gdy wideo zostało zakodowane za pomocą plasterków.

rama
Dekoduj więcej niż jedną klatkę na raz.

Wartość domyślna to plasterek+ramka.

typ_usługi audio liczba całkowita (kodowanie, audio)
Ustaw typ usługi audio.

Możliwa wartość:

ma Główna usługa audio

ef Dodawanie efektów

vi Z zaburzeniami wzroku

hi Upośledzenie słuchu

di Dialog

co Komentarz

em Awaryjne

vo Voice Over

ka Karaoke

request_sample_fmt próbka_fmt (dekodowanie, audio)
Preferowane powinny być dekodery audio w formacie próbki. Wartość domyślna to „brak”.

pkt_baza czasu racjonalny numer
sub_charenc kodowanie (dekodowanie,napisy)
Ustaw kodowanie znaków wejściowych napisów.

pole_kolejność pole_kolejność (wideo)
Ustaw/zastąp kolejność pól wideo. Możliwa wartość:

progresywny
Wideo progresywne

tt Wideo z przeplotem, w górnym polu kodowane i wyświetlane jako pierwsze

bb Wideo z przeplotem, dolne pole kodowane i wyświetlane jako pierwsze

tb Wideo z przeplotem, najpierw kodowane u góry, najpierw wyświetlane na dole

bt Wideo z przeplotem, najpierw kodowane na dole, najpierw wyświetlane na górze

pomiń_alfa liczba całkowita (dekodowanie, wideo)
Ustaw na 1, aby wyłączyć przetwarzanie alfa (przezroczystość). Działa to tak, jak szary flaga w
dotychczasowy Flagi opcja, która pomija informacje o chromie zamiast alfa. Wartość domyślna to 0.

kodek_biała lista podstęp (wkład)
"," oddzielone Lista dozwolonych dekoderów. Domyślnie wszystkie są dozwolone.

separator_zrzutu ciąg (wkład)
Separator używany do oddzielenia pól drukowanych w wierszu poleceń dotyczących Stream
parametry. Na przykład, aby oddzielić pola znakami nowej linii i wcięciami:

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

DEKODERY


Dekodery to konfigurowane elementy w FFmpeg, które umożliwiają dekodowanie strumieni multimedialnych.

Kiedy konfigurujesz swoją kompilację FFmpeg, wszystkie obsługiwane dekodery natywne są włączane przez
domyślna. Dekodery wymagające zewnętrznej biblioteki należy włączyć ręcznie za pomocą
odpowiednia opcja "--enable-lib". Możesz wyświetlić listę wszystkich dostępnych dekoderów za pomocą
skonfiguruj opcję "--list-decoders".

Możesz wyłączyć wszystkie dekodery za pomocą opcji konfiguracji "--disable-decoder" i
selektywnie włączaj / wyłączaj pojedyncze dekodery z opcjami "--enable-decoder=DEKODER" /
"--wyłącz-dekoder=DEKODER".

Opcja "-decoders" narzędzi ff* wyświetli listę włączonych dekoderów.

VIDEO DEKODERY


Poniżej znajduje się opis niektórych obecnie dostępnych dekoderów wideo.

towarzysz
Dekoder HEVC/H.265.

Zanotuj filtr_pominięcia_pętli opcja działa tylko na poziomie „wszystkie”.

surowe wideo
Dekoder surowego wideo.

Ten dekoder dekoduje strumienie rawvideo.

Opcje

Top top_field_first
Określ zakładany typ pola wejściowego wideo.

-1 zakłada się, że wideo jest progresywne (domyślnie)

0 zakłada się, że pierwsze pole jest dolne

1 zakłada się, że pierwsze pole jest pierwsze

AUDIO DEKODERY


Poniżej znajduje się opis niektórych obecnie dostępnych dekoderów audio.

ac3
Dekoder audio AC-3.

Ten dekoder implementuje część ATSC A/52:2010 i ETSI TS 102 366, a także
nieudokumentowane RealAudio 3 (aka dnet).

AC-3 dekoder Opcje

-drc_skala wartość
Współczynnik skali zakresu dynamicznego. Współczynnik do zastosowania do wartości zakresu dynamicznego z AC-3
strumień. Współczynnik ten jest stosowany wykładniczo. Istnieją 3 godne uwagi współczynniki skali
zakresy:

skala_drc == 0
DRK wyłączone. Produkuje dźwięk w pełnym zakresie.

0 < skala_drc <= 1
DRC włączone. Stosuje ułamek wartości DRC strumienia. Reprodukcja dźwięku jest
pomiędzy pełnym zakresem a pełną kompresją.

skala_drc > 1
DRC włączone. Stosuje drc_scale asymetrycznie. Głośne dźwięki są w pełni skompresowane.
Wzmocnione są ciche dźwięki.

flac
Dekoder dźwięku FLAC.

Ten dekoder ma na celu zaimplementowanie pełnej specyfikacji FLAC firmy Xiph.

FLAC dekoder Opcje

-use_buggy_lpc
Enkoder lavc FLAC używany do tworzenia błędnych strumieni o wysokich wartościach lpc (takich jak
domyślna wartość). Ta opcja umożliwia poprawne dekodowanie takich strumieni poprzez:
przy użyciu starej logiki lpc z błędami lavc do dekodowania.

ffwavesynth
Wewnętrzny syntezator fal.

Ten dekoder generuje wzorce fal zgodnie z predefiniowanymi sekwencjami. Jego użycie jest czysto
wewnętrzne i format akceptowanych danych nie jest publicznie udokumentowany.

biblioteka
Opakowanie dekodera libcelt.

libcelt umożliwia libavcodec dekodowanie kodeka Xiph CELT o bardzo niskim opóźnieniu. Wymaga
obecność nagłówków i biblioteki libcelt podczas konfiguracji. Musisz
jawnie skonfiguruj kompilację za pomocą "--enable-libcelt".

libgsm
Opakowanie dekodera libgsm.

libgsm umożliwia libavcodec dekodowanie pełnego kodeka audio GSM. Wymaga obecności
nagłówki i bibliotekę libgsm podczas konfiguracji. Musisz jawnie skonfigurować
skompiluj z "--enable-libgsm".

Ten dekoder obsługuje zarówno zwykły wariant GSM, jak i Microsoft.

libilbc
Opakowanie dekodera libilbc.

libilbc umożliwia libavcodec dekodowanie kodeka audio Internet Low Bitrate Codec (iLBC).
Wymaga obecności nagłówków i biblioteki libilbc podczas konfiguracji. Musisz
jawnie skonfiguruj kompilację za pomocą "--enable-libilbc".

Opcje

Poniższa opcja jest obsługiwana przez opakowanie libilbc.

wzmacniać
Włącz ulepszanie dekodowanego dźwięku, gdy jest ustawiony na 1. Wartość domyślna to 0
(wyłączone).

libopencore-amrnb
Opakowanie dekodera libopencore-amrnb.

libopencore-amrnb umożliwia libavcodec dekodowanie dźwięku Adaptive Multi-Rate Narrowband
kodek. Korzystanie z niego wymaga obecności nagłówków i biblioteki libopencore-amrnb podczas
konfiguracja. Musisz jawnie skonfigurować kompilację za pomocą
„--włącz-libopencore-amrnb”.

Istnieje natywny dekoder FFmpeg dla AMR-NB, więc użytkownicy mogą bez tego dekodować AMR-NB
biblioteka.

libopencore-amrwb
Opakowanie dekodera libopencore-amrwb.

libopencore-amrwb umożliwia libavcodec dekodowanie dźwięku Adaptive Multi-Rate Wideband
kodek. Korzystanie z niego wymaga obecności nagłówków i biblioteki libopencore-amrwb podczas
konfiguracja. Musisz jawnie skonfigurować kompilację za pomocą
„--włącz-libopencore-amrwb”.

Istnieje natywny dekoder FFmpeg dla AMR-WB, więc użytkownicy mogą bez tego dekodować AMR-WB
biblioteka.

libopus
Opakowanie dekodera libopus.

libopus pozwala libavcodec na dekodowanie Opus Interactive Audio Codec. Wymaga
obecność nagłówków libopus i biblioteki podczas konfiguracji. Musisz wyraźnie
skonfiguruj kompilację za pomocą "--enable-libopus".

Istnieje natywny dekoder FFmpeg dla Opus, więc użytkownicy mogą dekodować Opus bez tej biblioteki.

NAPISY NA FILMIE OBCOJĘZYCZNYM DEKODERY


dvbsub
Opcje

komputer_clut
-1 Oblicz Clut, jeśli w strumieniu nie ma pasującej CLUT.

0 Nigdy nie obliczaj CLUT

1 Zawsze obliczaj CLUT i zastępuj tę podaną w strumieniu.

podstrumień_dvb
Wybiera podstrumień dvb lub wszystkie podstrumienie, jeśli jest to -1, co jest wartością domyślną.

DVDSub
Ten kodek dekoduje napisy bitmapowe używane na płytach DVD; można znaleźć te same napisy
w parach plików VobSub oraz w niektórych plikach Matroska.

Opcje

palecie
Określ globalną paletę używaną przez bitmapy. Gdy jest przechowywana w VobSub, paleta jest
zwykle określone w pliku indeksu; w Matrosce paleta jest przechowywana w kodeku
dodatkowe dane w tym samym formacie, co w VobSub. Na płytach DVD paleta jest przechowywana w IFO
plik i dlatego nie jest dostępny podczas odczytu ze zrzuconych plików VOB.

Formatem tej opcji jest ciąg zawierający 16 24-bitowych liczb szesnastkowych
(bez prefiksu 0x) oddzielone przecinkami, np. „0d00ee, ee450d, 101010, eaeaea,
0ce60b, ec14ed, ebff0b, 0d617a, 7b7b7b, d1d1d1, 7b2a0e, 0d950c, 0f007b, cf0dec,
cfa80c, 7c127b".

paleta_ifo
Określ plik IFO, z którego pobierana jest paleta globalna. (eksperymentalny)

Forced_subs_only
Dekoduj tylko wpisy napisów oznaczone jako wymuszone. Niektóre tytuły mają wymuszone i niewymuszone
napisy w tym samym utworze. Ustawienie tej flagi na 1 spowoduje zachowanie tylko wymuszonego
napisy na filmie obcojęzycznym. Wartość domyślna to 0.

libzvbi-teletekst
Libzvbi pozwala libavcodec na dekodowanie stron teletekstu DVB i napisów teletekstu DVB.
Wymaga obecności nagłówków i biblioteki libzvbi podczas konfiguracji. Musisz
jawnie skonfiguruj kompilację za pomocą "--enable-libzvbi".

Opcje

txt_strona
Lista numerów stron teletekstu do zdekodowania. Możesz użyć specjalnego ciągu *, aby dopasować wszystkie
stron. Strony, które nie pasują do określonej listy, są usuwane. Wartość domyślna to *.

txt_chop_top
Odrzuca górną linię teletekstu. Wartość domyślna to 1.

format_txt
Określa format dekodowanych napisów. Dekoder teletekstu jest w stanie
dekodowanie stron teletekstu do bitmap lub prostego tekstu, należy użyć "bitmapy" dla
strony teletekstu, ponieważ niektórych grafik i kolorów nie da się wyrazić w prosty sposób
tekst. Możesz użyć "tekstu" dla napisów opartych na teletekście, jeśli Twoja aplikacja sobie z tym poradzi
proste napisy tekstowe. Wartość domyślna to bitmapa.

txt_lewo
Przesunięcie X generowanych bitmap, domyślnie 0.

txt_top
Przesunięcie Y generowanych bitmap, domyślnie 0.

txt_chop_spaces
Odcina początkowe i końcowe spacje oraz usuwa puste wiersze z generowanego tekstu.
Ta opcja jest przydatna w przypadku napisów opartych na teletekście, w których mogą występować puste miejsca
na początku lub na końcu wierszy lub puste wiersze mogą znajdować się między
wiersze napisów z powodu znaków teletekstu o podwójnym rozmiarze. Wartość domyślna to 1.

txt_czas trwania
Ustawia czas wyświetlania dekodowanych stron teletekstu lub napisów w milisekundach.
Wartość domyślna to 30000, czyli 30 sekund.

txt_przezroczysty
Wymuś przezroczyste tło generowanych bitmap teletekstu. Wartość domyślna to 0
co oznacza nieprzezroczyste (czarne) tło.

STRUMIEŃ BITÓW FILTRY


Podczas konfigurowania kompilacji FFmpeg wszystkie obsługiwane filtry strumienia bitów są włączane przez
domyślny. Możesz wyświetlić listę wszystkich dostępnych za pomocą opcji konfiguracji "--list-bsfs".

Możesz wyłączyć wszystkie filtry strumienia bitów za pomocą opcji konfiguracji "--disable-bsfs" i
selektywnie włącz dowolny filtr strumienia bitów za pomocą opcji "--enable-bsf=BSF", lub możesz
wyłącz konkretny filtr strumienia bitów za pomocą opcji "--disable-bsf=BSF".

Opcja "-bsfs" narzędzi ff* wyświetli listę wszystkich obsługiwanych strumieni bitów
filtry zawarte w twojej kompilacji.

Narzędzia ff* mają opcję -bsf stosowaną dla każdego strumienia, pobierając listę oddzielonych przecinkami
filtry, których parametry są następujące po nazwie filtra po znaku „=”.

ffmpeg -i WEJŚCIE -c:v kopia -bsf:v filtr1[=opt1=str1/opt2=str2][,filtr2] WYJŚCIE

Poniżej znajduje się opis aktualnie dostępnych filtrów strumienia bitów, wraz z ich
parametry, jeśli takie istnieją.

aac_adtstoasc
Konwertuj filtr strumienia bitów MPEG-2/4 AAC ADTS na MPEG-4 Audio Specific Configuration.

Ten filtr tworzy MPEG-4 AudioSpecificConfig z nagłówka MPEG-2/4 ADTS i usuwa
nagłówek ADTS.

Jest to wymagane na przykład podczas kopiowania strumienia AAC z nieprzetworzonego kontenera ADTS AAC do
FLV lub MOV/MP4.

chomp
Usuń dopełnienie zerami na końcu pakietu.

zrzut_dodatkowy
Dodaj ekstradane na początku filtrowanych pakietów.

Dodatkowy argument określa, które pakiety powinny być filtrowane. Akceptuje
wartości:

a dodaj dodatkowe dane do wszystkich kluczowych pakietów, ale tylko wtedy, gdy lokalny_nagłówek jest ustawiony w flagi2 kodek
pole kontekstu

k dodaj dodatkowe dane do wszystkich kluczowych pakietów

e dodaj dodatkowe dane do wszystkich pakietów

Jeśli nie określono, zakłada się k.

Na przykład następujące ffmpeg polecenie wymusza globalny nagłówek (w ten sposób wyłączając indywidualny)
nagłówki pakietów) w pakietach H.264 generowanych przez koder „libx264”, ale je poprawia
poprzez dodanie nagłówka przechowywanego w extradata do pakietów kluczy:

ffmpeg -i INPUT -map 0 -flags:v +global_header -c:v libx264 -bsf:v dump_extra out.ts

h264_mp4toanexb
Konwertuj strumień bitów H.264 z trybu z prefiksem długości na tryb z prefiksem kodu (jak
określone w załączniku B specyfikacji ITU-T H.264).

Jest to wymagane w niektórych formatach przesyłania strumieniowego, zazwyczaj w formacie strumienia transportowego MPEG-2
("mpegty").

Na przykład, aby zremiksować plik MP4 zawierający strumień H.264 do formatu mpegts za pomocą ffmpeg,
możesz użyć polecenia:

ffmpeg -i INPUT.mp4 -codec copy -bsf:v h264_mp4toannexb WYJŚCIE.ts

beznadziejny
Modyfikuje strumień bitów, aby zmieścił się w MOV i mógł być używany przez dekoder Final Cut Pro. Ten
filtr dotyczy tylko kodeka mpeg2video i prawdopodobnie nie jest potrzebny w Final Cut Pro 7
i nowsze z odpowiednim -znacznik: v.

Na przykład, aby ponownie przesłać 30 MB/s NTSC IMX do MOV:

ffmpeg -i wejście.mxf -c kopiuj -bsf:v imxdump -tag:v mx3n wyjście.mov

mjpeg2jpeg
Konwertuj pakiety MJPEG/AVI1 na pełne pakiety JPEG/JFIF.

MJPEG to kodek wideo, w którym każda ramka wideo jest zasadniczo obrazem JPEG. ten
pojedyncze klatki można wydobyć bez strat, np. przez

ffmpeg -i ../some_mjpeg.avi -c:v kopiuj ramki_%d.jpg

Niestety te fragmenty są niekompletnymi obrazami JPEG, ponieważ brakuje w nich segmentu DHT
wymagane do dekodowania. Cytat z
<http://www.digitalpreservation.gov/formats/fdd/fdd000063.shtml>:

Avery Lee, pisząc na grupie dyskusyjnej rec.video.desktop w 2001 r., skomentował, że „MJPEG lub
przynajmniej MJPEG w plikach AVI mających MJPG fourcc, jest ograniczonym JPEGiem z ustalonym -- i
*pominięto* -- tabela Huffmana. JPEG musi być w przestrzeni kolorów YCbCr, musi być 4:2:2 i to
musi używać podstawowego kodowania Huffmana, a nie arytmetycznego lub progresywnego. . . . Rzeczywiście możesz
wyodrębnij ramki MJPEG i zdekoduj je za pomocą zwykłego dekodera JPEG, ale musisz
dołącz do nich segment DHT, inaczej dekoder nie będzie miał pojęcia, jak dekompresować
dane. Dokładna niezbędna tabela jest podana w specyfikacji OpenDML."

Ten filtr strumienia bitów łata nagłówki ramek wyodrębnionych ze strumienia MJPEG
(z identyfikatorem nagłówka AVI1 i bez segmentu DHT) w celu utworzenia w pełni kwalifikowanego pliku JPEG
obrazy.

ffmpeg -i mjpeg-movie.avi -c:v kopia -bsf:v mjpeg2jpeg frame_%d.jpg
exiftran -i -9 ramka*.jpg
ffmpeg -i frame_%d.jpg -c:v kopiuj obrócony.avi

mjpega_dump_header
movsub
mp3_header_decompress
mpeg4_unpack_bframes
Rozpakuj zapakowane ramki B w stylu DivX.

Spakowane ramki B w stylu DivX nie są prawidłowym formatem MPEG-4 i były jedynie obejściem zepsutego
Wideo dla podsystemu Windows. Zużywają więcej miejsca, mogą powodować drobne problemy z synchronizacją AV, wymagają
więcej mocy procesora do dekodowania (chyba, że ​​gracz ma jakąś zdekodowaną kolejkę obrazu, aby to zrekompensować)
2,0,2,0 ramki na pakiet) i powodują problemy, jeśli zostaną skopiowane do standardowego kontenera
jak mp4 lub mpeg-ps/ts, ponieważ dekodery MPEG-4 mogą nie być w stanie ich zdekodować, ponieważ
nie są poprawne MPEG-4.

Na przykład, aby naprawić plik AVI zawierający strumień MPEG-4 z spakowanymi ramkami B w stylu DivX
za pomocą ffmpeg, możesz użyć polecenia:

ffmpeg -i INPUT.avi -codec copy -bsf:v mpeg4_unpack_bframes WYJŚCIE.avi

hałas
Niszczy zawartość paczek nie uszkadzając opakowania. Może być używany do fuzzingu lub
testowanie odporności/ukrywania błędów.

Parametry: Ciąg liczbowy, którego wartość jest powiązana z tym, jak często będą bajty wyjściowe
zmodyfikowany. Dlatego wartości mniejsze lub równe 0 są zabronione, a im niższe tym więcej
częste bajty zostaną zmodyfikowane, przy czym 1 oznacza, że ​​każdy bajt jest modyfikowany.

ffmpeg -i INPUT -c copy -bsf szum [=1] wyjście.mkv

stosuje modyfikację do każdego bajtu.

usuń_dodatkowe

FORMAT OPCJE


Biblioteka libavformat udostępnia kilka ogólnych opcji globalnych, które można ustawić na wszystkich
muxery i demuksery. Dodatkowo każdy muxer lub demuxer może obsługiwać tzw
opcje, które są specyficzne dla tego komponentu.

Opcje można ustawić, określając -opcja wartość w narzędziach FFmpeg lub przez ustawienie
wartość jawnie w opcjach „AVFormatContext” lub za pomocą libavutil/opt.h API dla
użycie programistyczne.

Lista obsługiwanych opcji jest następująca:

flagi lotnicze Flagi (wejście wyjście)
Możliwa wartość:

kierować
Zmniejsz buforowanie.

rozmiar sondy liczba całkowita (wkład)
Ustaw rozmiar sondowania w bajtach, tj. rozmiar danych do analizy w celu uzyskania strumienia
Informacja. Wyższa wartość umożliwi wykrycie większej ilości informacji w przypadku, gdy jest
rozproszone w strumieniu, ale zwiększy opóźnienie. Musi być liczbą całkowitą nie mniejszą
niż 32. Domyślnie jest to 5000000.

rozmiar pakietu liczba całkowita (wydajność)
Ustaw rozmiar pakietu.

flagi Flagi (wejście wyjście)
Ustaw flagi formatu.

Możliwa wartość:

zapalić
Ignoruj ​​indeks.

szybkie wyszukiwanie
Włącz szybkie, ale niedokładne wyszukiwanie niektórych formatów.

dżentelmen
Generuj PTS.

nofillin
Nie uzupełniaj brakujących wartości, które można dokładnie obliczyć.

nie analizować
Wyłącz AVparsery, to również wymaga "+nofillin".

Ignidts
Ignoruj ​​DTS.

odrzuć zepsucie
Odrzuć uszkodzone ramki.

sortowane
Spróbuj przeplatać pakiety wyjściowe przez DTS.

na miejscu
Nie łącz danych pobocznych.

łac
Włącz ładunek RTP MP4A-LATM.

bez bufora
Zmniejsz opóźnienie wprowadzone przez opcjonalne buforowanie

bitdokładny
Zapisuj tylko dane niezależne od platformy, kompilacji i czasu. Gwarantuje to, że plik
a sumy kontrolne danych są odtwarzalne i pasują do różnych platform. Jego główne zastosowanie
służy do testowania regresji.

szukaj2dowolnego liczba całkowita (wkład)
Zezwalaj na wyszukiwanie do klatek innych niż klatki kluczowe na poziomie demuxera, jeśli jest obsługiwane, jeśli jest ustawione na 1. Domyślne
to 0.

analizowanie liczba całkowita (wkład)
Określ, ile mikrosekund jest analizowanych w celu sondowania danych wejściowych. Wyższa wartość będzie
umożliwi wykrywanie dokładniejszych informacji, ale zwiększy opóźnienie. Domyślnie:
5,000,000 5 XNUMX mikrosekund = XNUMX sekund.

klucz kryptograficzny szesnastkowy ciąg (wkład)
Ustaw klucz deszyfrowania.

pamięć indeksu liczba całkowita (wkład)
Ustaw maksymalną pamięć używaną dla indeksu znacznika czasu (na strumień).

rozmiar rtbuf liczba całkowita (wkład)
Ustaw maksymalną pamięć używaną do buforowania ramek w czasie rzeczywistym.

fdebug Flagi (wejście wyjście)
Wydrukuj szczegółowe informacje debugowania.

Możliwa wartość:

ts
maksymalne_opóźnienie liczba całkowita (wejście wyjście)
Ustaw maksymalne opóźnienie muxingu lub demuxingu w mikrosekundach.

rozmiar sondy fps liczba całkowita (wkład)
Ustaw liczbę klatek używanych do sondowania fps.

audio_wstępne ładowanie liczba całkowita (wydajność)
Ustaw mikrosekundy, o które pakiety audio powinny być przeplatane wcześniej.

fragment_czas trwania liczba całkowita (wydajność)
Ustaw mikrosekundy dla każdego kawałka.

rozmiar_fragmentu liczba całkowita (wydajność)
Ustaw rozmiar w bajtach dla każdej porcji.

err_detect, f_err_detect Flagi (wkład)
Ustaw flagi wykrywania błędów. „f_err_detect” jest przestarzały i powinien być używany tylko przez
dotychczasowy ffmpeg narzędziem.

Możliwa wartość:

sprawdź
Sprawdź osadzone CRC.

strumień bitów
Wykryj odchylenia specyfikacji strumienia bitów.

bufor
Wykryj nieprawidłową długość strumienia bitów.

eksplodować
Przerwij dekodowanie po wykryciu drobnego błędu.

ostrożny
Rozważ rzeczy, które naruszają specyfikację i nie były widziane na wolności jako
błędy.

zgodny
Wszystkie niezgodności ze specyfikacją należy traktować jako błędy.

agresywny
Potraktuj rzeczy, których rozsądny enkoder nie powinien robić, jako błąd.

max_interleave_delta liczba całkowita (wydajność)
Ustaw maksymalny czas buforowania dla przeplatania. Czas trwania jest wyrażony w
mikrosekundy i domyślnie 1000000 (1 sekunda).

Aby upewnić się, że wszystkie strumienie są poprawnie przeplatane, libavformat poczeka, aż to się stanie
ma co najmniej jeden pakiet dla każdego strumienia przed faktycznym zapisaniem jakichkolwiek pakietów w
plik wyjściowy. Gdy niektóre strumienie są „rzadkie” (tj. występują duże odstępy między
kolejnych pakietów), może to spowodować nadmierne buforowanie.

To pole określa maksymalną różnicę między znacznikami czasu pierwszego i
ostatni pakiet w kolejce muxingu, powyżej którego libavformat wyśle ​​pakiet
niezależnie od tego, czy umieścił pakiet w kolejce dla wszystkich strumieni.

Jeśli ustawione na 0, libavformat będzie kontynuował buforowanie pakietów, dopóki nie będzie miał pakietu dla
każdy strumień, niezależnie od maksymalnej różnicy sygnatury czasowej między buforowanym
pakiety.

use_wallclock_as_timestamps liczba całkowita (wkład)
Użyj zegara ściennego jako znacznika czasu.

unikaj_ujemnych_ts liczba całkowita (wydajność)
Możliwa wartość:

make_non_negative
Przesuń znaczniki czasu, aby były nieujemne. Pamiętaj też, że dotyczy to tylko
wiodące ujemne sygnatury czasowe, a nie niemonotoniczne ujemne sygnatury czasowe.

make_zero
Przesuń sygnatury czasowe tak, aby pierwszy sygnatury czasowe wynosiły 0.

samochód (Domyślne)
Umożliwia przesuwanie, gdy jest to wymagane przez format docelowy.

niepełnosprawny
Wyłącza przesuwanie znacznika czasu.

Gdy przesunięcie jest włączone, wszystkie wyjściowe znaczniki czasu są przesuwane o tę samą wartość. Audio,
wideo, desynchronizacja napisów i względne różnice sygnatury czasowej są zachowane
w porównaniu z tym, jak wyglądaliby bez zmiany.

pomiń_początkowe_bajty liczba całkowita (wkład)
Ustaw liczbę bajtów do pominięcia przed odczytaniem nagłówka i ramek, jeśli jest ustawiona na 1. Domyślna wartość to
0.

Correct_ts_overflow liczba całkowita (wkład)
Popraw przepełnienia pojedynczego znacznika czasu, jeśli ustawiono na 1. Wartość domyślna to 1.

pakiety_flush liczba całkowita (wydajność)
Opróżnij bazowy strumień we/wy po każdym pakiecie. Domyślnie 1 włącza to i ma
efekt zmniejszenia latencji; 0 wyłącza to i może nieznacznie zwiększyć wydajność w
w niektórych przypadkach.

wyjście_ts_przesunięcie offset (wydajność)
Ustaw przesunięcie czasu wyjścia.

offset musi być specyfikacją czasu trwania, patrz dotychczasowy Czas czas trwania Sekcja in dotychczasowy
narzędzia ffmpeg(1) podręcznik.

Przesunięcie jest dodawane przez muxer do wyjściowych znaczników czasu.

Określenie dodatniego przesunięcia oznacza, że ​​odpowiednie strumienie są opóźnione w czasie
czas trwania określony w offset. Wartość domyślna to 0 (co oznacza, że ​​żadne przesunięcie nie jest
stosowany).

format_białej listy podstęp (wkład)
"," oddzielona Lista dozwolonych demukserów. Domyślnie wszystkie są dozwolone.

separator_zrzutu ciąg (wkład)
Separator używany do oddzielenia pól drukowanych w wierszu poleceń dotyczących Stream
parametry. Na przykład, aby oddzielić pola znakami nowej linii i wcięciami:

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

utworzony strumień specyfikatorzy
Specyfikatory strumienia formatu umożliwiają wybór jednego lub więcej strumieni, które pasują do określonego
Właściwości.

Możliwe formy specyfikatorów strumienia to:

strumień_indeks
Dopasowuje strumień do tego indeksu.

typ_strumienia[:strumień_indeks]
typ_strumienia jest jednym z następujących: „v” dla wideo, „a” dla dźwięku, „s” dla napisów, „d”
dla danych i 't' dla załączników. Jeśli strumień_indeks jest podany, to pasuje do
numer strumienia strumień_indeks tego typu. W przeciwnym razie pasuje do wszystkich strumieni tego
rodzaj.

p:identyfikator_programu[:strumień_indeks]
If strumień_indeks jest podany, to dopasowuje strumień o numerze strumień_indeks
program o id identyfikator_programu. W przeciwnym razie dopasowuje wszystkie strumienie w programie.

#identyfikator_strumienia
Dopasowuje strumień według identyfikatora specyficznego dla formatu.

Dokładna semantyka specyfikatorów strumienia jest zdefiniowana przez
Funkcja „avformat_match_stream_specifier()” zadeklarowana w libavformat/avformat.h
header.

DEMUXERY


Demuxery to skonfigurowane elementy w FFmpeg, które mogą odczytywać strumienie multimedialne z
konkretny typ pliku.

Podczas konfigurowania kompilacji FFmpeg wszystkie obsługiwane demuksery są domyślnie włączone.
Możesz wyświetlić listę wszystkich dostępnych za pomocą opcji konfiguracji "--list-demuxers".

Możesz wyłączyć wszystkie demuksery za pomocą opcji konfiguracji "--disable-demuxers" i
selektywnie włącz pojedynczy demuxer z opcją "--enable-demuxer=DEMUXER”lub wyłącz
to z opcją "--disable-demuxer=DEMUXER”.

Opcja "-formats" narzędzi ff* wyświetli listę włączonych demukserów.

Poniżej opisano niektóre z aktualnie dostępnych demukserów.

aa
Dźwiękowy demuxer formatu 2, 3 i 4.

Ten demuxer służy do demuksowania plików Audible Format 2, 3 i 4 (.aa).

jabłkohttp
Demuxer Apple HTTP Live Streaming.

Ten demuxer prezentuje wszystkie strumienie AVStream ze wszystkich strumieni wariantowych. Pole id jest ustawione na
numer indeksu wariantu szybkości transmisji bitów. Ustawiając flagi odrzucania na strumieniach AV (przez naciśnięcie „a”
lub 'v' w ffplay), dzwoniący może zdecydować, które warianty strumieni faktycznie odbierać. ten
całkowity bitrate wariantu, do którego należy strumień, jest dostępny w kluczu metadanych
o nazwie „wariant_bitrate”.

apg
Animowany demuxer przenośnej grafiki sieciowej.

Ten demuxer służy do demuksowania plików APNG. Wszystkie nagłówki oprócz podpisu PNG, do (ale
nie wliczając) pierwsza porcja fcTL jest przesyłana jako extradata. Ramki są następnie dzielone
jako wszystkie porcje pomiędzy dwoma fcTL lub pomiędzy ostatnimi porcjami fcTL i IEND.

-ignore_loop bool
Zignoruj ​​zmienną pętli w pliku, jeśli jest ustawiona.

-max_fps int
Maksymalna liczba klatek na sekundę w klatkach na sekundę (0 bez limitu).

-domyślny_fps int
Domyślna liczba klatek na sekundę w klatkach na sekundę, gdy żadna nie jest określona w pliku (0 co oznacza
tak szybko, jak to tylko możliwe).

asf
Demuxer formatu Advanced Systems Format.

Ten demuxer służy do demuksowania plików ASF i strumieni sieciowych MMS.

-no_resync_search bool
Nie próbuj ponownie synchronizować, szukając określonego opcjonalnego kodu startowego.

konkat
Wirtualny demuxer skryptów konkatenacji.

Ten demuxer odczytuje listę plików i innych dyrektyw z pliku tekstowego i demuxuje je
jeden po drugim, jakby wszystkie ich pakiety zostały ze sobą zmiksowane.

Znaczniki czasu w plikach są dostosowywane tak, aby pierwszy plik zaczynał się od 0, a każdy następny
plik zaczyna się tam, gdzie kończy się poprzedni. Pamiętaj, że odbywa się to globalnie i może powodować
przerwy, jeśli wszystkie strumienie nie mają dokładnie tej samej długości.

Wszystkie pliki muszą mieć te same strumienie (te same kodeki, ta sama podstawa czasu itp.).

Czas trwania każdego pliku jest używany do dostosowania znaczników czasu następnego pliku: jeśli
czas trwania jest nieprawidłowy (ponieważ został obliczony przy użyciu przepływności lub ponieważ plik jest
na przykład obcięty), może powodować artefakty. Dyrektywa „czas trwania” może służyć do:
zastąpić czas trwania przechowywany w każdym pliku.

Składnia

Skrypt jest plikiem tekstowym w rozszerzonym ASCII, z jedną dyrektywą w wierszu. Puste linie,
spacje wiodące i linie zaczynające się od „#” są ignorowane. Następująca dyrektywa to
rozpoznano:

"plik ścieżka"
Ścieżka do pliku do odczytania; znaki specjalne i spacje muszą być poprzedzone odwrotnym ukośnikiem
lub pojedyncze cytaty.

Wszystkie kolejne dyrektywy dotyczące pliku mają zastosowanie do tego pliku.

„ffconcat wersja 1.0 "
Określ typ i wersję skryptu. Określa również "bezpiecznym" opcja na 1, jeśli to było
jego wartość domyślna -1.

Aby FFmpeg rozpoznał format automatycznie, ta dyrektywa musi pojawić się dokładnie
tak jak jest (bez dodatkowej spacji lub znaku kolejności bajtów) w pierwszym wierszu skryptu.

"Trwanie dur"
Czas trwania pliku. Informacje te można określić z pliku; określając to
tutaj może być bardziej wydajne lub pomocne, jeśli informacje z pliku nie są dostępne
lub dokładne.

Jeśli czas trwania jest ustawiony dla wszystkich plików, to możliwe jest wyszukiwanie w całości
połączone wideo.

"w punkcie znak czasu"
W punkcie pliku. Gdy demuxer otworzy plik, natychmiast szuka w
określony znacznik czasu. Wyszukiwanie odbywa się tak, aby wszystkie strumienie mogły zostać pomyślnie zaprezentowane
w pkt.

Ta dyrektywa działa najlepiej z kodekami wewnątrzramkowymi, ponieważ w przypadku kodeków innych niż wewnątrzramkowe
zazwyczaj otrzymasz dodatkowe pakiety przed faktycznym punktem wejścia i zdekodowaną zawartością
najprawdopodobniej będzie zawierał również ramki przed punktem In.

Dla każdego pliku pakiety przed punktem pliku In będą miały sygnatury czasowe mniejsze niż
wyliczony znacznik czasu rozpoczęcia pliku (ujemny w przypadku pierwszego pliku), a
czas trwania plików (jeśli nie jest określony przez dyrektywę „duration”) zostanie skrócony
na podstawie ich określonych w pkt.

Ze względu na potencjalne pakiety przed określonym punktem In, znaczniki czasowe pakietów mogą:
nakładają się między dwoma połączonymi plikami.

„punkt wyjścia znak czasu"
Out punkt pliku. Kiedy demuxer osiągnie określony znacznik czasu dekodowania w
którykolwiek ze strumieni, traktuje go jako warunek końca pliku i pomija bieżący
i wszystkie pozostałe pakiety ze wszystkich strumieni.

Out point jest wykluczający, co oznacza, że ​​demuxer nie będzie wyprowadzał pakietów z a
znacznik czasu dekodowania większy lub równy punktowi Out.

Ta dyrektywa działa najlepiej w przypadku kodeków i formatów wewnątrzramkowych, w których znajdują się wszystkie strumienie
ciasno przeplatane. W przypadku kodeków innych niż wewnątrzramkowe zazwyczaj otrzymasz dodatkowe
pakiety ze znacznikiem czasu prezentacji po punkcie Out, dlatego dekodowana zawartość będzie
najprawdopodobniej zawierają również ramki po punkcie Out. Jeśli twoje strumienie nie są ciasne
przeplatany możesz nie otrzymać wszystkich pakietów ze wszystkich strumieni przed punktem Out i tobą
może być w stanie odszyfrować tylko najwcześniejszy strumień do punktu Out.

Czas trwania plików (jeśli nie jest określony przez dyrektywę „duration”) będzie:
zmniejszona na podstawie ich określonego punktu Out.

„metadane_pliku_pakietu klucz=wartość"
Metadane pakietów pliku. Określone metadane zostaną ustawione dla każdego pliku
paczka. Możesz podać tę dyrektywę wiele razy, aby dodać wiele metadanych
wpisy.

"strumień"
Wprowadź strumień w wirtualnym pliku. Wszystkie kolejne dyrektywy związane ze strumieniem
stosuje się do ostatniego wprowadzonego strumienia. Niektóre właściwości strumieni muszą być ustawione, aby:
umożliwiają identyfikację pasujących strumieni w podplikach. Jeśli żadne strumienie nie są zdefiniowane w
skryptu, strumienie z pierwszego pliku są kopiowane.

„dokładny_id_strumienia id"
Ustaw identyfikator strumienia. Jeśli podana jest ta dyrektywa, ciąg z
zostanie użyty odpowiedni identyfikator w podplikach. Jest to szczególnie przydatne w przypadku MPEG-PS
(VOB), gdzie kolejność strumieni nie jest wiarygodna.

Opcje

Ten demuxer akceptuje następującą opcję:

"bezpiecznym"
Jeśli jest ustawiony na 1, odrzuć niebezpieczne ścieżki plików. Ścieżka do pliku jest uważana za bezpieczną, jeśli nie
zawierają specyfikację protokołu i są względne, a wszystkie składniki zawierają tylko
znaki z przenośnego zestawu znaków (litery, cyfry, kropka, podkreślenie i
myślnik) i nie mają kropki na początku składnika.

Jeśli jest ustawiony na 0, akceptowana jest dowolna nazwa pliku.

Wartość domyślna to -1, jest to równoważne 1, jeśli format został automatycznie zbadany i 0
Inaczej.

auto_konwersja
Jeśli jest ustawiony na 1, spróbuj wykonać automatyczną konwersję danych pakietowych, aby utworzyć strumienie
z możliwością łączenia. Wartość domyślna to 1.

Obecnie jedyną konwersją jest dodanie filtra strumienia bitów h264_mp4toannexb do
Strumienie H.264 w formacie MP4. Jest to konieczne w szczególności w przypadku rozwiązania
zmiany.

flv
Demuxer formatu Adobe Flash Video.

Ten demuxer służy do demuksowania plików FLV i strumieni sieciowych RTMP.

-flv_metadane bool
Przydziel strumienie zgodnie z zawartością tablicy onMetaData.

biblioteka
Biblioteka Game Music Emu to kolekcja emulatorów plików muzycznych z gier wideo.

Widziećhttp://code.google.com/p/game-music-emu/> więcej informacji.

Niektóre pliki mają wiele ścieżek. Demuxer domyślnie wybierze pierwszy utwór. ten
indeks_ścieżki opcja może być użyta do wybrania innego utworu. Indeksy utworów zaczynają się od 0
demuxer eksportuje liczbę utworów jako utworów wprowadzanie metadanych.

W przypadku bardzo dużych plików największy rozmiar opcja może wymagać dostosowania.

libquvi
Odtwarzaj multimedia z usług internetowych za pomocą projektu quvi.

Demuxer akceptuje a format możliwość zażądania określonej jakości. Domyślnie jest ustawiony na
Najlepiej.

Widziećhttp://quvi.sourceforge.net/> więcej informacji.

FFmpeg musi być zbudowany z "--enable-libquvi", aby ten demuxer był włączony.

gif
Animowany demukser GIF.

Akceptuje następujące opcje:

min_opóźnienie
Ustaw minimalne prawidłowe opóźnienie między klatkami w setnych częściach sekundy. Zakres wynosi od 0 do
6000. Wartość domyślna to 2.

max_gif_opóźnienie
Ustaw maksymalne prawidłowe opóźnienie między klatkami w setnych sekundach. Zakres wynosi od 0 do
65535. Wartość domyślna to 65535 (prawie jedenaście minut), maksymalna wartość dozwolona przez
Specyfikacja.

domyślne_opóźnienie
Ustaw domyślne opóźnienie między klatkami w setnych częściach sekundy. Zakres wynosi od 0 do 6000.
Wartość domyślna to 10.

ignoruj_pętlę
Pliki GIF mogą zawierać informacje do zapętlenia określoną liczbę razy (lub w nieskończoność).
If ignoruj_pętlę jest ustawiony na 1, to ustawienie pętli z wejścia zostanie zignorowane i
zapętlenie nie wystąpi. Jeśli jest ustawiony na 0, nastąpi zapętlenie i zapętli liczbę
razy według GIF. Wartość domyślna to 1.

Na przykład za pomocą filtra nakładki umieść nieskończenie zapętlony plik GIF na innym filmie:

ffmpeg -i input.mp4 -ignore_loop 0 -i input.gif -filter_complex overlay=najkrótszy=1 out.mkv

Zauważ, że w powyższym przykładzie najkrótsza opcja dla filtra nakładki jest używana do zakończenia
wyjście wideo o długości najkrótszego pliku wejściowego, którym w tym przypadku jest wejście.mp4 as
GIF w tym przykładzie zapętla się w nieskończoność.

image2
Demuxer plików graficznych.

Ten demuxer odczytuje listę plików obrazów określonych przez wzorzec. Składnia i
znaczenie wzoru określa opcja typ_wzoru.

Wzór może zawierać przyrostek, który służy do automatycznego określania formatu
obrazy zawarte w plikach.

Rozmiar, format w pikselach i format każdego obrazu muszą być takie same dla wszystkich
pliki w kolejności.

Ten demuxer akceptuje następujące opcje:

framerate
Ustaw szybkość klatek dla strumienia wideo. Domyślnie jest to 25.

pętla
Jeśli jest ustawiony na 1, zapętl wejście. Wartość domyślna to 0.

typ_wzoru
Wybierz typ wzorca używany do interpretacji podanej nazwy pliku.

typ_wzoru przyjmuje jedną z następujących wartości.

Żaden
Wyłącz dopasowywanie wzorców, dlatego wideo będzie zawierać tylko określone
obraz. Powinieneś użyć tej opcji, jeśli nie chcesz tworzyć sekwencji z
wiele obrazów, a nazwy plików mogą zawierać specjalne znaki wzorca.

sekwencja
Wybierz typ wzorca sekwencji, używany do określenia sekwencji plików indeksowanych przez
kolejne numery.

Wzorzec sekwencji może zawierać ciąg "%d" lub "%0Nd", który określa
pozycja znaków reprezentujących kolejny numer w każdej nazwie pliku
dopasowane do wzoru. Jeśli formularz „%d0Nd", ciąg reprezentujący
liczba w każdej nazwie pliku jest wypełniona zerami i N to całkowita liczba cyfr uzupełnionych 0
reprezentujący liczbę. Dosłowny znak '%' można określić we wzorcu
z ciągiem "%%".

Jeśli wzorzec sekwencji zawiera „%d” lub „%0Nd", pierwsza nazwa pliku w pliku
lista określona przez wzorzec musi zawierać liczbę zawartą między
numer_początkowy i numer_początkowy+zakres_numeru_początkowego-1 i wszystkie poniższe liczby
musi być sekwencyjny.

Na przykład wzorzec „img-%03d.bmp” będzie pasował do sekwencji nazw plików
Nasz formularz img-001.bmp, img-002.bmp..., img-010.bmpitp.; wzór
"i%%m%%g-%d.jpg" loading="leniwy" dopasuje sekwencję nazw plików formularza i% m% g-1.jpg,
i% m% g-2.jpg..., i% m% g-10.jpg, itp.

Pamiętaj, że wzór nie musi koniecznie zawierać „%d” lub „%0Nd", na przykład do
przekonwertować pojedynczy plik obrazu img.jpeg możesz użyć polecenia:

ffmpeg -i img.jpeg img.png

kula
Wybierz typ wzorca symbolu wieloznacznego.

Wzorzec jest interpretowany jak wzorzec „glob()”. Można to wybrać tylko wtedy, gdy
libavformat został skompilowany z obsługą globalizacji.

globalna sekwencja (przestarzałe, będzie be REMOVED)
Wybierz mieszany wzorzec symboli wieloznacznych/sekwencji.

Jeśli twoja wersja libavformat została skompilowana z obsługą globbingu, a
podany wzorzec zawiera co najmniej jeden znak meta glob wśród "%*?[]{}", czyli
poprzedzony znakiem „%” bez ucieczki, wzorzec jest interpretowany jako wzorzec „glob()”,
w przeciwnym razie jest interpretowany jak wzorzec sekwencji.

Wszystkie znaki specjalne „%*?[]{}” muszą być poprzedzone prefiksem „%”. Uciec
dosłowny "%" powinieneś użyć "%%".

Na przykład wzorzec "foo-%*.jpeg" będzie pasował do wszystkich nazw plików poprzedzonych przez
„foo-” i kończące się na „.jpeg” oraz „foo-%?%?%?.jpeg” dopasują wszystkie
nazwy plików poprzedzone przedrostkiem „foo-”, po którym następuje sekwencja trzech znaków, oraz
kończąc na ".jpeg".

Ten typ wzorca jest przestarzały na korzyść kula i sekwencja.

Wartość domyślna to globalna sekwencja.

format_piksela
Ustaw format pikseli obrazów do odczytu. Jeśli nie określono, format pikseli to
odgadnąć z pierwszego pliku obrazu w sekwencji.

numer_początkowy
Ustaw indeks pliku odpowiadającego wzorcowi pliku obrazu, od którego ma się rozpocząć czytanie.
Wartość domyślna to 0.

zakres_numeru_początkowego
Ustaw zakres interwału indeksu, aby sprawdzić podczas wyszukiwania pierwszego pliku obrazu w
sekwencja, zaczynając od numer_początkowy. Wartość domyślna to 5.

ts_z_pliku
Jeśli jest ustawiony na 1, ustawi znacznik czasu ramki na czas modyfikacji pliku obrazu. Zauważ, że
nie jest zapewniona jednostajność znaczników czasu: obrazy układają się w tej samej kolejności, co bez tego
opcja. Domyślna wartość to 0. Jeśli ustawione na 2, ustawi znacznik czasu ramki na modyfikację
czas pliku obrazu z dokładnością do nanosekund.

rozmiar wideo
Ustaw rozmiar wideo obrazów do odczytania. Jeśli nie określono, rozmiar wideo jest odgadywany
z pierwszego pliku obrazu w sekwencji.

Przykłady

· Posługiwać się ffmpeg do tworzenia wideo z obrazów w sekwencji plików img-001.jpeg,
img-002.jpeg, ..., przy założeniu, że częstotliwość wejściowa wynosi 10 klatek na sekundę:

ffmpeg -framerate 10 -i 'img-%03d.jpeg' out.mkv

· Jak wyżej, ale zacznij od odczytu z pliku o indeksie 100 w kolejności:

ffmpeg -framerate 10 -start_number 100 -i 'img-%03d.jpeg' out.mkv

· Odczytywanie obrazków pasujących do wzorca "*.png" loading="lazy" glob , czyli wszystkich plików kończących się
przyrostek ".png" loading="leniwy":

ffmpeg -framerate 10 -pattern_type glob -i "*.png" loading="leniwy" out.mkv

mov/mp4/3gp/Quickme
Demuxer Quicktime / MP4.

Ten demuxer akceptuje następujące opcje:

włącz_drefy
Włącz ładowanie ścieżek zewnętrznych, domyślnie wyłączone. Włączenie tego może
teoretycznie wyciek informacji w niektórych przypadkach użycia.

użyj_ścieżki_absolutnej
Umożliwia ładowanie ścieżek zewnętrznych za pomocą ścieżek bezwzględnych, domyślnie wyłączonych. Włączanie
stwarza to zagrożenie bezpieczeństwa. Powinno być włączone tylko wtedy, gdy wiadomo, że źródło nie jest
złośliwy.

mpegty
Demukser strumienia transportowego MPEG-2.

Ten demuxer akceptuje następujące opcje:

rozmiar_resynchronizacji
Ustaw limit rozmiaru do wyszukiwania nowej synchronizacji. Wartość domyślna to 65536.

fix_teletext_pts
Zastąp wartości PTS i DTS pakietów teletekstu znacznikami czasu obliczonymi na podstawie
PCR pierwszego programu, którego częścią jest strumień teletekstu i który nie jest odrzucany.
Wartość domyślna to 1, ustaw tę opcję na 0, jeśli chcesz, aby Twój pakiet teletekstu PTS i DTS
wartości nietknięte.

ts_packetsize
Opcja wyjścia przenosząca surowy rozmiar pakietu w bajtach. Pokaż wykryty surowy pakiet
rozmiar, nie może być ustawiony przez użytkownika.

scan_all_pmts
Skanuj i łącz wszystkie PMT. Wartość jest liczbą całkowitą o wartości od -1 do 1 (-1 oznacza
ustawienie automatyczne, 1 oznacza włączone, 0 oznacza wyłączone). Wartość domyślna to -1.

surowe wideo
Surowy demuxer wideo.

Ten demuxer umożliwia odczyt surowych danych wideo. Ponieważ nie ma nagłówka określającego
zakładane parametry wideo, użytkownik musi je określić, aby móc je zdekodować
dane poprawnie.

Ten demuxer akceptuje następujące opcje:

framerate
Ustaw szybkość klatek wejściowego wideo. Wartość domyślna to 25.

format_piksela
Ustaw format wejściowych pikseli wideo. Wartość domyślna to „yuv420p”.

rozmiar wideo
Ustaw rozmiar wejściowego wideo. Ta wartość musi być określona jawnie.

Na przykład, aby przeczytać plik rawvideo input.raw w ffplay, przy założeniu, że format piksela wynosi
„rgb24”, rozmiar wideo „320x240” i liczba klatek na sekundę 10 obrazów na sekundę, użyj
polecenie:

ffplay -f rawvideo -pixel_format rgb24 -video_size 320x240 -liczba klatek na sekundę 10 input.raw

sbg
Demukser skryptów SBaGen.

Ten demuxer odczytuje język skryptowy używany przez SBaGenhttp://uazu.net/sbagen/> do
generować sesje dudnień różnicowych. Skrypt SBG wygląda tak:

-SAMEGO SIEBIE
a: 300-2.5/3 440+4.5/0
b: 300-2.5/0 440+4.5/3
wyłączony: -
TERAZ == a
+0:07:00 == b
+0:14:00 == za
+0:21:00 == b
+0:30:00 wyłączone

Skrypt SBG może mieszać bezwzględne i względne znaczniki czasu. Jeśli skrypt używa tylko
bezwzględne znaczniki czasu (w tym czas rozpoczęcia skryptu) lub tylko względne, to jego
układ jest stały, a konwersja jest prosta. Z drugiej strony, jeśli skrypt
miesza oba rodzaje znaczników czasu, a następnie TERAZ odniesieniem do względnych znaczników czasu będzie
wzięte z aktualnej pory dnia w momencie czytania skryptu i układu skryptu
zostanie zamrożony zgodnie z tym odniesieniem. Oznacza to, że jeśli skrypt jest bezpośrednio
odtwarzane, rzeczywiste czasy będą odpowiadać bezwzględnym znacznikom czasu do kontrolera dźwięku
dokładność zegara, ale jeśli użytkownik w jakiś sposób zatrzyma odtwarzanie lub wyszukiwanie, wszystkie czasy będą
odpowiednio przesunięte.

napisy
Napisy JSON używane dohttp://www.ted.com/>.

TED nie podaje linków do podpisów, ale można je odgadnąć ze strony. ten
filet narzędzia/bookmarklets.html z drzewa źródłowego FFmpeg zawiera bookmarklet do udostępnienia
Im.

Ten demuxer akceptuje następującą opcję:

czas rozpoczęcia
Ustaw czas rozpoczęcia wykładu TED w milisekundach. Wartość domyślna to 15000 (15s). To jest
służy do synchronizacji podpisów z filmami do pobrania, ponieważ zawierają one 15s
wprowadzenie.

Przykład: przekonwertuj podpisy do formatu, który rozumie większość graczy:

ffmpeg -i http://www.ted.com/talks/subtitles/id/1/lang/en talk1-en.srt

METADATA


FFmpeg jest w stanie zrzucić metadane z plików multimedialnych do prostego tekstu podobnego do INI zakodowanego w UTF-8
plik, a następnie załaduj go z powrotem za pomocą muxera/demuxera metadanych.

Format pliku jest następujący:

1. Plik składa się z nagłówka i kilku tagów metadanych podzielonych na sekcje, z których każdy
na własnej linii.

2. Nagłówek to ;FFMETADANE ciąg, po którym następuje numer wersji (obecnie 1).

3. Tagi metadanych mają formę klucz=wartość

4. Natychmiast po nagłówku następuje globalne metadane

5. Po globalnych metadanych mogą znajdować się sekcje z metadanymi według strumienia/rozdziału.

6. Sekcja zaczyna się od nazwy sekcji pisanej wielkimi literami (np. STREAM lub ROZDZIAŁ) w
nawiasy ([, ]) i kończy się kolejną sekcją lub końcem pliku.

7. Na początku sekcji rozdziału może znajdować się opcjonalna podstawa czasowa do wykorzystania
wartości początkowe/końcowe. Musi być w formie PODSTAWA CZASU=num/dzień, Gdzie num i dzień są liczbami całkowitymi.
Jeśli brakuje podstawy czasu, przyjmuje się, że czas rozpoczęcia/zakończenia jest podany w milisekundach.

Następnie sekcja rozdziału musi zawierać czas rozpoczęcia i zakończenia rozdziału w formie START =num,
KONIEC=num, Gdzie num jest dodatnią liczbą całkowitą.

8. Puste linie i linie zaczynające się od ; or # są ignorowane.

9. Klucze lub wartości metadanych zawierające znaki specjalne (=, ;, #, \ i nowa linia) musi
uciec z odwrotnym ukośnikiem \.

10. Zwróć uwagę, że białe znaki w metadanych (np bla = bar) jest uważany za część
tag (w powyższym przykładzie kluczem jest bla , wartosc jest
bar).

Plik ffmetadata może wyglądać tak:

;FFMETADANE1
title=rower\\szopa
;to jest komentarz
artist=Drużyna trolli FFmpeg

[ROZDZIAŁ]
PODSTAWA CZASU=1/1000
START=0
#rozdział kończy się o 0:01:00
KONIEC=60000
tytuł=rozdział \#1
[STRUMIEŃ]
tytuł=wiele\
linia

Używając muxera i demuxera ffmetadata, można wyodrębnić metadane z danych wejściowych
plik do pliku ffmetadata, a następnie transkoduj plik do pliku wyjściowego z
edytowany plik ffmetadata.

Wyodrębnianie pliku ffmetadata za pomocą ffmpeg wygląda następująco:

ffmpeg -i WEJŚCIE -f ffmetadata FFMETADATAFILE

Ponowne wstawienie edytowanych informacji o metadanych z pliku FFMETADATAFILE można wykonać w następujący sposób:

ffmpeg -i WEJŚCIE -i FFMETADATAFILE -map_metadata 1 -kodek kopiuj WYJŚCIE

PROTOKÓŁ


Protokoły są skonfigurowanymi elementami w FFmpeg, które umożliwiają dostęp do zasobów, które wymagają
określone protokoły.

Podczas konfigurowania kompilacji FFmpeg wszystkie obsługiwane protokoły są domyślnie włączone.
Możesz wyświetlić listę wszystkich dostępnych za pomocą opcji konfiguracji "--list-protocols".

Możesz wyłączyć wszystkie protokoły za pomocą opcji konfiguracji "--disable-protocols" i
selektywnie włącz protokół za pomocą opcji "--enable-protocol=PROTOKÓŁ", lub możesz
wyłącz konkretny protokół za pomocą opcji "--disable-protocol=PROTOKÓŁ".

Opcja "-protocols" narzędzi ff* wyświetli listę obsługiwanych protokołów.

Poniżej znajduje się opis aktualnie dostępnych protokołów.

async
Asynchroniczne opakowanie wypełniania danych dla strumienia wejściowego.

Wypełnij dane w wątku w tle, aby oddzielić operację we/wy od wątku demultipleksowania.

asynchroniczny:
asynchroniczny:http://host/resource
asynchroniczna: pamięć podręczna:http://host/resource

bluray
Przeczytaj listę odtwarzania BluRay.

Akceptowane opcje to:

kąt
Kąt BluRay

publikacji naukowej
Rozpocznij rozdział (1...N)

playlista
Playlista do przeczytania (BDMV/PLAYLIST/?????.mpls)

Przykłady:

Przeczytaj najdłuższą listę odtwarzania z BluRay zamontowanej w /mnt/bluray:

Bluray:/mnt/bluray

Przeczytaj kąt 2 z listy odtwarzania 4 z BluRay zamontowanego w /mnt/bluray, zacznij od rozdziału 2:

-playlista 4 -kąt 2 -rozdział 2 bluray:/mnt/bluray

Pamięć podręczna
Opakowanie buforowania dla strumienia wejściowego.

Buforuj strumień wejściowy do pliku tymczasowego. Daje możliwość szukania możliwości transmisji na żywo.

Pamięć podręczna:

konkat
Protokół konkatenacji fizycznej.

Czytaj i przeszukuj wiele zasobów po kolei, tak jakby były one unikalnym zasobem.

Adres URL akceptowany przez ten protokół ma składnię:

konkat: | |...|

gdzie URL1, URL2..., URLN są adresy URL zasobu do połączenia, każdy z nich
ewentualnie określając odrębny protokół.

Na przykład, aby odczytać sekwencję plików split1.mpeg, split2.mpeg, split3.mpeg w ffplay
użyj polecenia:

ffplay concat:split1.mpeg\|split2.mpeg\|split3.mpeg

Pamiętaj, że może być konieczne uniknięcie znaku „|” co jest wyjątkowe dla wielu muszli.

Crypto
Protokół odczytu strumienia z szyfrowaniem AES.

Akceptowane opcje to:

klucz Ustaw blok binarny klucza deszyfrowania AES z podanej reprezentacji szesnastkowej.

iv Ustaw blok binarny wektora inicjalizacji deszyfrowania AES z podanej liczby szesnastkowej
reprezentacja.

Akceptowane formaty adresów URL:

krypto:
krypto+

dane
Dane w wierszu w identyfikatorze URI. Widziećhttp://en.wikipedia.org/wiki/Data_URI_scheme>.

Na przykład, aby przekonwertować plik GIF podany w linii z ffmpeg:

ffmpeg -i "data:image/gif;base64,R0lGODdhCAAIAMIEAAAAAAAA//8AAP//AP///////////////ywAAAAACAAIAAADF0gEDLojDgdGiJdJqUX02iB4E8Q9jUMkADs=" smiley.png

filet
Protokół dostępu do plików.

Czytaj z lub zapisuj do pliku.

Adres URL pliku może mieć postać:

plik:

gdzie filename to ścieżka do pliku do odczytania.

Przyjmuje się, że adres URL, który nie ma przedrostka protokołu, jest adresem URL pliku. Zależy od
kompilacja, adres URL, który wygląda jak ścieżka Windows z literą dysku na początku
przyjmuje się również, że jest to adres URL pliku (zwykle nie ma to miejsca w kompilacjach dla uniksowych)
systemy).

Na przykład, aby czytać z pliku wejście.mpeg w ffmpeg użyj polecenia:

ffmpeg -i plik: wejście.mpeg wyjście.mpeg

Ten protokół akceptuje następujące opcje:

ścięty
Obcinaj istniejące pliki podczas zapisu, jeśli jest ustawiona na 1. Wartość 0 zapobiega obcinaniu.
Wartość domyślna to 1.

rozmiar bloku
Ustaw maksymalny rozmiar bloku operacji we/wy w bajtach. Wartość domyślna to „INT_MAX”, która
skutkuje nieograniczeniem żądanego rozmiaru bloku. Ustawienie tej wartości na rozsądnie niskim poziomie
poprawia czas reakcji na żądanie zakończenia użytkownika, co jest cenne w przypadku plików na wolnych
średni.

ftp
FTP (protokół przesyłania plików).

Odczytuj lub zapisuj w zdalnych zasobach za pomocą protokołu FTP.

Wymagana jest następująca składnia.

ftp://[użytkownik[:hasło]@]serwer[:port]/ścieżka/do/zdalnego/zasobu.mpeg

Ten protokół akceptuje następujące opcje.

Timeout
Ustaw limit czasu w mikrosekundach operacji we/wy gniazda używanych przez podstawowy niski poziom
operacja. Domyślnie jest ustawiony na -1, co oznacza, że ​​limit czasu nie jest określony.

ftp-anonimowe-hasło
Hasło używane podczas logowania jako użytkownik anonimowy. Zazwyczaj adres e-mail powinien być
używany.

Możliwość wyszukiwania przez ftp-write
Kontroluj możliwość wyszukiwania połączenia podczas kodowania. Jeśli ustawiono na 1, zasób to
ma być przeszukiwalny, jeśli jest ustawiony na 0, zakłada się, że nie można go przeszukiwać. Domyślna wartość
to 0.

UWAGA: Protokół może być używany jako wyjście, ale zaleca się, aby tego nie robić, chyba że jest to specjalne
dbałość (testy, niestandardowa konfiguracja serwera itp.). Zachowują się różne serwery FTP
w inny sposób podczas operacji wyszukiwania. Narzędzia ff* mogą generować niekompletną treść z powodu
ograniczenia serwera.

suseł
Protokół Gophera.

hls
Odczytaj segmentowany strumień zgodny z Apple HTTP Live Streaming jako jednolity. M3U8
listy odtwarzania opisujące segmenty mogą być zdalnymi zasobami HTTP lub plikami lokalnymi, do których można uzyskać dostęp
przy użyciu standardowego protokołu plików. Protokół zagnieżdżony jest deklarowany przez określenie „+proto"
po nazwie schematu URI hls, gdzie proto to „plik” lub „http”.

hls+http://host/path/to/remote/resource.m3u8
hls+file://ścieżka/do/lokalnego/zasobu.m3u8

Korzystanie z tego protokołu jest odradzane - demuxer hls powinien działać równie dobrze (jeśli nie,
proszę zgłosić problemy) i jest pełniejszy. Aby zamiast tego użyć demuksera hls, po prostu
użyj bezpośrednich adresów URL do plików m3u8.

http
HTTP (protokół przesyłania hipertekstowego).

Ten protokół akceptuje następujące opcje:

poszukiwany
Kontroluj możliwość wyszukiwania połączenia. Jeśli jest ustawiony na 1, zasób powinien być
seekable, jeśli ustawione na 0, zakłada się, że nie jest możliwe do przeszukania, jeśli ustawione na -1, spróbuje
automatycznie wykrywa, czy można go przeszukiwać. Wartość domyślna to -1.

fragment_postu
Jeśli ustawione na 1, użyj fragmentarycznego kodowania transferu dla postów, domyślnie jest to 1.

Typ zawartości
Ustaw określony typ treści dla wiadomości POST.

headers
Ustaw niestandardowe nagłówki HTTP, możesz zastąpić wbudowane domyślne nagłówki. Wartość musi być
ciąg kodujący nagłówki.

wielokrotne_żądania
Użyj trwałych połączeń, jeśli jest ustawiony na 1, domyślnie jest to 0.

wysłać dane
Ustaw niestandardowe dane posta HTTP.

User Agent
agent użytkownika
Zastąp nagłówek User-Agent. Jeśli nie zostanie określony, protokół użyje ciągu
opisujący kompilację libavformat. ("Lawf/ ")

Timeout
Ustaw limit czasu w mikrosekundach operacji we/wy gniazda używanych przez podstawowy niski poziom
operacja. Domyślnie jest ustawiony na -1, co oznacza, że ​​limit czasu nie jest określony.

typ_mimu
Wyeksportuj typ MIME.

lodowaty Jeśli ustawiono na 1, zażądaj metadanych ICY (SHOUTcast) z serwera. Jeśli serwer obsługuje
to metadane muszą zostać pobrane przez aplikację, czytając
icy_metadane_headers i icy_pakiet_metadanych opcje. Wartość domyślna to 1.

icy_metadane_headers
Jeśli serwer obsługuje metadane ICY, zawiera odpowiedź HTTP specyficzną dla ICY
nagłówki oddzielone znakami nowej linii.

icy_pakiet_metadanych
Jeśli serwer obsługuje metadane ICY i lodowaty została ustawiona na 1, zawiera ostatnią nie-
pusty pakiet metadanych wysłany przez serwer. Powinna być odpytywana w regularnych odstępach czasu przez
aplikacje zainteresowane aktualizacją metadanych w połowie strumienia.

cookies
Ustaw pliki cookie, które będą wysyłane w przyszłych żądaniach. Format każdego pliku cookie jest taki sam
jako wartość pola odpowiedzi Set-Cookie HTTP. Wiele plików cookie można oddzielić za pomocą
znak nowej linii.

offset
Ustaw początkowe przesunięcie bajtów.

koniec_przesunięcia
Spróbuj ograniczyć żądanie do bajtów poprzedzających to przesunięcie.

metoda
Gdy jest używany jako opcja klienta, ustawia metodę HTTP dla żądania.

W przypadku użycia jako opcja serwera ustawia metodę HTTP, której należy oczekiwać od
klienci). Jeśli oczekiwana i odebrana metoda HTTP nie pasuje do klienta
otrzyma odpowiedź na złe żądanie. Gdy nieskonfigurowana metoda HTTP nie jest sprawdzana
Teraz. W przyszłości zostanie to zastąpione przez automatyczne wykrywanie.

słuchać
Jeśli jest ustawiony na 1, włącza eksperymentalny serwer HTTP. Może być używany do wysyłania danych, gdy jest używany
jako opcję wyjściową lub odczytywać dane od klienta za pomocą HTTP POST, gdy są używane jako dane wejściowe
opcja. Jeśli ustawiono na 2, włącza eksperymentalny serwer HTTP dla wielu klientów. To jeszcze nie jest
zaimplementowany w ffmpeg.c lub ffserver.c i dlatego nie może być używany jako wiersz poleceń
opcja.

# Strona serwera (wysyłanie):
ffmpeg -i jakisplik.ogg -c copy -listen 1 -f ogg http:// :

# Strona klienta (odbiorca):
ffmpeg -i http:// : -c skopiuj plik.ogg

# Klienta można również zrobić za pomocą wget:
pobierz http:// : -O jakisplik.ogg

# Strona serwera (odbieranie):
ffmpeg -słuchaj 1 -i http:// : -c skopiuj plik.ogg

# Strona klienta (wysyłanie):
ffmpeg -i somefile.ogg -chunked_post 0 -c copy -f ogg http:// :

# Klienta można również zrobić za pomocą wget:
wget --post-file=jakiśplik.ogg http:// :

HTTP Pliki Cookies

Niektóre żądania HTTP zostaną odrzucone, chyba że wraz z żądaniem zostaną przekazane wartości plików cookie. ten
cookies opcja pozwala na określenie tych plików cookie. Przynajmniej każde ciasteczko musi
określ wartość wraz ze ścieżką i domeną. Żądania HTTP pasujące do obu domen
i path automatycznie doda wartość cookie w polu nagłówka HTTP Cookie.
Wiele plików cookie można oddzielić znakiem nowej linii.

Wymagana składnia do odtworzenia strumienia określającego plik cookie to:

ffplay -cookies "nlqptid=nltid=tsn; ścieżka=/; domena=jakaśdomena.com;" http://somedomain.com/somestream.m3u8

lód
Protokół Icecast (przesyłanie strumieniowe na serwery Icecast)

Ten protokół akceptuje następujące opcje:

gatunek_lodu
Ustaw gatunek strumienia.

nazwa_lodu
Ustaw nazwę strumienia.

opis_lodu
Ustaw opis strumienia.

lód_url
Ustaw adres URL witryny transmisji strumieniowej.

lód_publiczny
Ustaw, czy strumień ma być publiczny. Wartość domyślna to 0 (niepubliczne).

agent użytkownika
Zastąp nagłówek User-Agent. Jeśli nie podano, ciąg w postaci „Lavf/ "
będzie użyty.

password
Ustaw hasło punktu montowania Icecast.

Typ zawartości
Ustaw typ zawartości strumienia. Należy to ustawić, jeśli różni się od audio/mpeg.

dziedzictwo_icecast
Umożliwia to obsługę wersji Icecast < 2.4.0, które nie obsługują HTTP PUT
metoda, ale metoda SOURCE.

Icecast://[ [: ]@] : /

mmst
Protokół MMS (Microsoft Media Server) przez TCP.

mmsz
Protokół MMS (Microsoft Media Server) przez HTTP.

Wymagana składnia to:

mmsz:// [: ][/ ][/ ]

md5
Protokół wyjściowy MD5.

Oblicza skrót MD5 danych, które mają zostać zapisane, a po zamknięciu zapisuje to do
wyznaczone wyjście lub standardowe wyjście, jeśli nie określono żadnego. Może być używany do testowania muxerów bez
pisanie rzeczywistego pliku.

Oto kilka przykładów.

# Zapisz skrót MD5 zakodowanego pliku AVI do pliku output.avi.md5.
ffmpeg -i wejście.flv -f avi -y md5:wyjście.avi.md5

# Zapisz skrót MD5 zakodowanego pliku AVI na standardowe wyjście.
ffmpeg -i wejście.flv -f avi -y md5:

Zwróć uwagę, że niektóre formaty (zwykle MOV) wymagają, aby protokół wyjściowy był przeszukiwalny, więc
nie powiedzie się z protokołem wyjściowym MD5.

rura
Protokół dostępu do potoku UNIX.

Odczytuj i zapisuj z potoków UNIX.

Przyjęta składnia to:

rura:[ ]

numer jest liczbą odpowiadającą deskryptorowi pliku potoku (np. 0 dla stdin, 1
dla stdout, 2 dla stderr). Jeśli numer nie jest określony, domyślnie plik stdout
deskryptor będzie używany do pisania, stdin do czytania.

Na przykład, aby czytać ze standardowego wejścia za pomocą ffmpeg:

kot test.wav | ffmpeg -i rura: 0
# ...to to samo, co...
kot test.wav | ffmpeg -i rura:

Do pisania na standardowe wyjście za pomocą ffmpeg:

ffmpeg -i test.wav -f avi pipe:1 | kot > test.avi
# ...to to samo, co...
ffmpeg -i test.wav -f avi rura: | kot > test.avi

Ten protokół akceptuje następujące opcje:

rozmiar bloku
Ustaw maksymalny rozmiar bloku operacji we/wy w bajtach. Wartość domyślna to „INT_MAX”, która
skutkuje nieograniczeniem żądanego rozmiaru bloku. Ustawienie tej wartości na rozsądnie niskim poziomie
poprawia czas reakcji na żądanie zakończenia użytkownika, co jest cenne, jeśli dane
transmisja jest powolna.

Zwróć uwagę, że niektóre formaty (zwykle MOV) wymagają, aby protokół wyjściowy był przeszukiwalny, więc
zawiodą z protokołem wyjściowym potoku.

rtmp
Protokół przesyłania wiadomości w czasie rzeczywistym.

Protokół RTMP (Real-Time Messaging Protocol) służy do strumieniowego przesyłania treści multimedialnych w
Sieć TCP/IP.

Wymagana składnia to:

rtmp://[ : @] [: ][/ ][/ ][/ ]

Akceptowane parametry to:

nazwa użytkownika
Opcjonalna nazwa użytkownika (głównie do publikowania).

password
Hasło opcjonalne (głównie do publikacji).

serwer
Adres serwera RTMP.

Port
Numer portu TCP do użycia (domyślnie 1935).

Aplikacja Jest to nazwa aplikacji, do której chcesz uzyskać dostęp. Zwykle odpowiada ścieżce, gdzie
aplikacja jest zainstalowana na serwerze RTMP (np. /na żądanie/, /flash/na żywo/Itp.).
Możesz również zastąpić wartość przeanalizowaną z identyfikatora URI za pomocą opcji „rtmp_app”.

ścieżka zabaw
Jest to ścieżka lub nazwa zasobu do odtworzenia w odniesieniu do aplikacji
określone w Aplikacja, może być poprzedzony „mp4:”. Możesz zastąpić wartość przeanalizowaną z
identyfikator URI za pomocą opcji „rtmp_playpath”.

słuchać
Działaj jako serwer, nasłuchując połączenia przychodzącego.

Timeout
Maksymalny czas oczekiwania na połączenie przychodzące. Implikuje słuchanie.

Dodatkowo, następujące parametry można ustawić za pomocą opcji wiersza poleceń (lub w kodzie za pomocą
"Opcje AV":

aplikacja_rtmp
Nazwa aplikacji do połączenia na serwerze RTMP. Ta opcja zastępuje parametr
określone w identyfikatorze URI.

rtmp_bufor
Ustaw czas bufora klienta w milisekundach. Wartość domyślna to 3000.

rtmp_połączenie
Dodatkowe dowolne parametry połączenia AMF, przeanalizowane z ciągu, np. „B:1
S:authMe O:1 NN:code:1.23 NS:flag:ok O:0". Każda wartość jest poprzedzona pojedynczym
znak oznaczający typ, B to Boolean, N to liczba, S to łańcuch, O to obiekt,
lub Z dla null, po którym następuje dwukropek. W przypadku wartości logicznych dane muszą wynosić 0 lub 1 dla
FAŁSZ lub PRAWDA, odpowiednio. Podobnie dla obiektów dane muszą wynosić 0 lub 1, aby zakończyć lub
odpowiednio rozpocząć obiekt. Pozycje danych w podobiektach można nazwać, dodając przedrostek
wpisz z 'N' i podając nazwę przed wartością (np. "NB:myFlag:1"). Ten
opcja może być użyta wiele razy do konstruowania dowolnych sekwencji AMF.

rtmp_flashver
Wersja wtyczki Flash używanej do uruchamiania odtwarzacza SWF. Wartość domyślna to LNX 9,0,124,2.
(Podczas publikowania wartością domyślną jest FMLE/3.0 (kompatybilny; ).)

rtmp_flush_interval
Liczba pakietów opróżnionych w tym samym żądaniu (tylko RTMPT). Wartość domyślna to 10.

rtmp_live
Określ, że media to transmisja na żywo. Brak wznawiania lub szukania w transmisjach na żywo jest
możliwy. Domyślna wartość to „dowolny”, co oznacza, że ​​subskrybent najpierw próbuje grać
strumień na żywo określony w ścieżce odtwarzania. Jeśli transmisja na żywo o tej nazwie nie zostanie znaleziona,
odtwarza nagrany strumień. Inne możliwe wartości to „na żywo” i „nagrane”.

rtmp_pageurl
Adres URL strony internetowej, w której umieszczono multimedia. Domyślnie żadna wartość nie zostanie wysłana.

rtmp_playpath
Identyfikator strumienia do odtworzenia lub opublikowania. Ta opcja zastępuje określony parametr
w identyfikatorze URI.

rtmp_subskrybuj
Nazwa transmisji na żywo do zasubskrybowania. Domyślnie żadna wartość nie zostanie wysłana. To jest tylko
wysyłane, jeśli określono opcję lub jeśli rtmp_live jest ustawione na live.

rtmp_swfhash
Skrót SHA256 zdekompresowanego pliku SWF (32 bajty).

rtmp_swfsize
Rozmiar rozpakowanego pliku SWF wymagany do weryfikacji SWF.

rtmp_swfurl
Adres URL odtwarzacza SWF dla multimediów. Domyślnie żadna wartość nie zostanie wysłana.

rtmp_swfweryfikacja
URL do pliku swf odtwarzacza, automatycznie oblicza hash/rozmiar.

rtmp_tcurl
URL strumienia docelowego. Domyślnie proto://host[:port]/app.

Na przykład do czytania z ffplay zasób multimedialny o nazwie „próbka” z aplikacji
„vod” z serwera RTMP „myserver”:

ffplay rtmp://mójserwer/vod/przykład

Aby opublikować na serwerze chronionym hasłem, przekazując osobno ścieżki odtwarzania i nazwy aplikacji:

ffmpeg -re -i -f flv -rtmp_playpath jakaś/długa/ścieżka -rtmp_app długa/aplikacja/nazwa rtmp://nazwa użytkownika:hasło@mójserwer/

rtmpe
Szyfrowany protokół przesyłania wiadomości w czasie rzeczywistym.

Encrypted Real-Time Messaging Protocol (RTMPE) jest używany do strumieniowego przesyłania multimediów
zawartość w ramach standardowych prymitywów kryptograficznych, składająca się z klucza Diffie-Hellman
Exchange i HMACSHA256, generując parę kluczy RC4.

rtmp
Protokół przesyłania wiadomości w czasie rzeczywistym za pośrednictwem bezpiecznego połączenia SSL.

Protokół RTMPS (Real-Time Messaging Protocol) służy do strumieniowego przesyłania treści multimedialnych w
szyfrowane połączenie.

rtmpt
Protokół przesyłania wiadomości w czasie rzeczywistym tunelowany przez HTTP.

Do przesyłania strumieniowego używany jest protokół przesyłania wiadomości w czasie rzeczywistym tunelowany przez HTTP (RTMPT)
treści multimedialne w żądaniach HTTP do przechodzenia przez zapory.

rmpte
Szyfrowany protokół przesyłania wiadomości w czasie rzeczywistym tunelowany przez HTTP.

Szyfrowany protokół przesyłania wiadomości w czasie rzeczywistym tunelowany przez HTTP (RTMPTE) jest używany do
przesyłanie strumieniowe treści multimedialnych w ramach żądań HTTP do przechodzenia przez zapory sieciowe.

rtmpts
Protokół przesyłania wiadomości w czasie rzeczywistym tunelowany przez HTTPS.

Do przesyłania strumieniowego używany jest protokół przesyłania wiadomości w czasie rzeczywistym tunelowany przez HTTPS (RTMPTS)
treści multimedialne w żądaniach HTTPS do przechodzenia przez zapory.

klient libsmb
libsmbclient pozwala na manipulowanie zasobami sieci CIFS/SMB.

Wymagana jest następująca składnia.

smb://[[domena:]użytkownik[:hasło@]]serwer[/udział[/ścieżka[/plik]]]

Ten protokół akceptuje następujące opcje.

Timeout
Ustaw limit czasu w milisekundach operacji wejścia/wyjścia gniazda używanych przez podstawowy niski poziom
operacja. Domyślnie jest ustawiony na -1, co oznacza, że ​​limit czasu nie jest określony.

ścięty
Obcinaj istniejące pliki podczas zapisu, jeśli jest ustawiona na 1. Wartość 0 zapobiega obcinaniu.
Wartość domyślna to 1.

Workgroup
Ustaw grupę roboczą używaną do tworzenia połączeń. Domyślnie grupa robocza nie jest określona.

Aby uzyskać więcej informacji zobacz:http://www.samba.org/>.

libssz
Bezpieczny protokół przesyłania plików przez libssh

Odczytuj lub zapisuj w zdalnych zasobach za pomocą protokołu SFTP.

Wymagana jest następująca składnia.

sftp://[użytkownik[:hasło]@]serwer[:port]/ścieżka/do/zdalnego/zasobu.mpeg

Ten protokół akceptuje następujące opcje.

Timeout
Ustaw limit czasu operacji we/wy gniazda używanych przez podstawową operację niskiego poziomu. Za pomocą
domyślnie jest ustawiony na -1, co oznacza, że ​​limit czasu nie jest określony.

ścięty
Obcinaj istniejące pliki podczas zapisu, jeśli jest ustawiona na 1. Wartość 0 zapobiega obcinaniu.
Wartość domyślna to 1.

prywatny klucz
Podaj ścieżkę do pliku zawierającego klucz prywatny, który ma być używany podczas autoryzacji. Za pomocą
domyślnie libssh wyszukuje klucze w ~ / .ssh / katalogiem.

Przykład: Odtwórz plik przechowywany na zdalnym serwerze.

ffplay sftp://użytkownik:hasło@adres_serwera:22/home/user/resource.mpeg

librtmp rtmp, rtmpe, RMP, wezmę, rmpte
Real-Time Messaging Protocol i jego warianty obsługiwane przez librtmp.

Wymaga obecności nagłówków i biblioteki librtmp podczas konfiguracji. Musisz
jawnie skonfiguruj kompilację za pomocą "--enable-librtmp". Jeśli włączone, zastąpi to
natywny protokół RTMP.

Ten protokół zapewnia większość funkcji klienta i kilka funkcji serwera potrzebnych do obsługi
RTMP, RTMP tunelowane w HTTP (RTMPT), szyfrowany RTMP (RTMPE), RTMP przez SSL/TLS (RTMPS) i
tunelowane warianty tych zaszyfrowanych typów (RTMPTE, RTMPTS).

Wymagana składnia to:

:// [: ][/ ][/ ]

gdzie rtmp_proto jest jednym z ciągów „rtmp”, „rtmpt”, „rtmpe”, „rtmps”, „rtmpte”,
„rtmpts” odpowiadające każdemu wariantowi RTMP, oraz serwer, Port, Aplikacja i ścieżka zabaw mieć
to samo znaczenie, jak określono dla natywnego protokołu RTMP. Opcje zawiera listę spacji-
oddzielne opcje formularza klucz=val.

Więcej informacji można znaleźć na stronie podręcznika librtmp (man 3 librtmp).

Na przykład, aby przesyłać strumieniowo plik w czasie rzeczywistym na serwer RTMP przy użyciu ffmpeg:

ffmpeg -re -i mójplik -f flv rtmp://mójserwer/na żywo/mójstrumień

Aby odtworzyć ten sam strumień za pomocą ffplay:

ffplay „rtmp://mójserwer/na żywo/moj strumień na żywo=1”

rtp
Protokół transportu w czasie rzeczywistym.

Wymagana składnia adresu URL RTP to: rtp://hosta[:Port][?opcja=val...]

Port określa używany port RTP.

Obsługiwane są następujące opcje adresów URL:

ttl=n
Ustaw wartość TTL (czas wygaśnięcia) (tylko dla multiemisji).

rtcpport=n
Ustaw zdalny port RTCP na n.

lokalnyrtpport=n
Ustaw lokalny port RTP na n.

lokalnyrtcpport=n'
Ustaw lokalny port RTCP na n.

pkt_rozmiar=n
Ustaw maksymalny rozmiar pakietu (w bajtach) na n.

połączyć=0|1
Wykonaj "connect()" w gnieździe UDP (jeśli jest ustawione na 1) lub nie (jeśli ustawione na 0).

źródła=ip[,ip]
Lista dozwolonych źródłowych adresów IP.

blok=ip[,ip]
Lista niedozwolonych (zablokowanych) źródłowych adresów IP.

write_to_source=0|1
Wysyłaj pakiety na adres źródłowy ostatniego odebranego pakietu (jeśli jest ustawiony na 1) lub do a
domyślny adres zdalny (jeśli ustawiony na 0).

port lokalny=n
Ustaw lokalny port RTP na n.

To jest przestarzała opcja. W zamian, lokalny port rtp należy użyć.

Ważne notatki:

1. Gdyby port rtcp nie jest ustawiony, port RTCP zostanie ustawiony na wartość portu RTP plus 1.

2. Gdyby lokalny port rtp (lokalny port RTP) nie jest ustawiony, żaden dostępny port będzie używany
lokalne porty RTP i RTCP.

3. Gdyby lokalny port rtc (lokalny port RTCP) nie jest ustawiony, zostanie ustawiony na lokalny port RTP
wartość plus 1.

RTSP
Protokół przesyłania strumieniowego w czasie rzeczywistym.

RTSP nie jest technicznie obsługą protokołu w formacie libav, jest to demuxer i muxer. ten
demuxer obsługuje zarówno normalne RTSP (z danymi przesyłanymi przez RTP; jest to używane m.in
Apple i Microsoft) oraz Real-RTSP (z danymi przesyłanymi przez RDT).

Muxer może być używany do wysyłania strumienia za pomocą RTSP ANNOUNCE do obsługującego go serwera
(obecnie Darwin Streaming Server i Mischa Spiegelmock's
<https://github.com/revmischa/rtsp-server>).

Wymagana składnia adresu URL RTSP to:

rtsp:// [: ]/

Opcje można ustawić na ffmpeg/ffplay wiersza poleceń lub ustawić w kodzie za pomocą "AVOption" lub w
"avformat_open_input".

Obsługiwane są następujące opcje.

początkowa_pauza
Nie rozpoczynaj odtwarzania strumienia natychmiast, jeśli jest ustawiony na 1. Wartość domyślna to 0.

transport_rtsp
Ustaw protokoły transportowe RTSP.

Przyjmuje następujące wartości:

udp Użyj UDP jako niższego protokołu transportowego.

tcp Użyj protokołu TCP (przeplatania w kanale kontrolnym RTSP) jako niższego transportu
protokół.

udp_multicast
Użyj multiemisji UDP jako niższego protokołu transportowego.

http
Użyj tunelowania HTTP jako niższego protokołu transportowego, co jest przydatne do przekazywania
pełnomocnicy.

Można określić wiele niższych protokołów transportowych, w takim przypadku są wypróbowywane jeden
na raz (jeśli konfiguracja jednego się nie powiedzie, próbuje się następny). Dla muxera tylko
tcp i udp obsługiwane są opcje.

flagi_rtsp
Ustaw flagi RTSP.

Akceptowane są następujące wartości:

źródło_filtra
Akceptuj pakiety tylko z wynegocjowanego adresu i portu peera.

słuchać
Działaj jako serwer, nasłuchując połączenia przychodzącego.

preferuj_tcp
Najpierw wypróbuj protokół TCP dla transportu RTP, jeśli protokół TCP jest dostępny jako transport RTSP RTP.

Wartość domyślna to Żaden.

dozwolone_typy_mediów
Ustaw typy mediów do zaakceptowania z serwera.

Akceptowane są następujące flagi:

wideo
audio
dane

Domyślnie akceptuje wszystkie typy mediów.

min_port
Ustaw minimalny lokalny port UDP. Wartość domyślna to 5000.

maksymalny_port
Ustaw maksymalny lokalny port UDP. Wartość domyślna to 65000.

Timeout
Ustaw maksymalny limit czasu (w sekundach) oczekiwania na połączenia przychodzące.

Wartość -1 oznacza nieskończoność (domyślnie). Ta opcja oznacza flagi_rtsp Ustawić
słuchać.

zmiana_kolejki_rozmiar_kolejki
Ustaw liczbę pakietów do bufora do obsługi pakietów o zmienionej kolejności.

przerwa
Ustaw limit czasu wejścia/wyjścia TCP gniazda w mikrosekundach.

User Agent
Zastąp nagłówek User-Agent. Jeśli nie określono, domyślnie jest to libavformat
ciąg identyfikatora.

Podczas odbierania danych przez UDP, demuxer próbuje zmienić kolejność odebranych pakietów (ponieważ
mogą przybyć niesprawne lub pakiety mogą się całkowicie zgubić). Można to wyłączyć, ustawiając
maksymalne opóźnienie demultipleksowania do zera (poprzez pole „max_delay” AVFormatContext).

Podczas oglądania strumieni Real-RTSP o wielu szybkościach transmisji bitów za pomocą ffplay, strumienie do wyświetlenia mogą być
wybrany z "-vst" n i "-ast" n odpowiednio dla wideo i audio i może być włączony
latać, naciskając „v” i „a”.

Przykłady

Wszystkie poniższe przykłady wykorzystują ffplay i ffmpeg narzędzia.

· Oglądaj strumień przez UDP, z maksymalnym opóźnieniem zmiany kolejności wynoszącym 0.5 sekundy:

ffplay -max_delay 500000 -rtsp_transport udp rtsp://serwer/wideo.mp4

· Oglądaj strumień tunelowany przez HTTP:

ffplay -rtsp_transport http rtsp://server/video.mp4

· Wysyłanie strumienia w czasie rzeczywistym do serwera RTSP, aby inni mogli go oglądać:

ffmpeg -re -i -f rtsp -muxdelay 0.1 rtsp://serwer/live.sdp

· Odbierz strumień w czasie rzeczywistym:

ffmpeg -rtsp_flags słuchać -i rtsp://ownaddress/live.sdp

SAP
Protokół ogłaszania sesji (RFC 2974). Technicznie nie jest to obsługa protokołu w
libavformat, jest to muxer i demuxer. Służy do sygnalizacji strumieni RTP, przez
regularne ogłaszanie SDP dla strumieni na osobnym porcie.

kobieta

Składnia adresu URL SAP przekazanego muxerowi to:

sok roślinny:// [: ][? ]

Pakiety RTP są wysyłane do miejsce przeznaczenia na porcie Port, lub do portu 5004, jeśli żaden port nie jest
określony. Opcje to lista oddzielona znakami „&”. Obsługiwane są następujące opcje:

anons_addr=adres
Określ docelowy adres IP, na który będą wysyłane ogłoszenia. Jeśli zostanie pominięty,
ogłoszenia są wysyłane na powszechnie używany adres multiemisji ogłoszeń SAP
224.2.127.254 (sap.mcast.net) lub ff0e::2:7ffe jeśli miejsce przeznaczenia to adres IPv6.

anons_port=Port
Określ port, na który będą wysyłane powiadomienia, domyślnie 9875, jeśli nie zostanie określony.

ttl=TTL
Określ czas życia dla komunikatów i pakietów RTP, domyślnie 255.

sam_port=0 | 1
Jeśli ustawiono na 1, wyślij wszystkie strumienie RTP na tej samej parze portów. Jeśli zero (domyślnie), wszystkie
strumienie są wysyłane na unikalnych portach, przy czym każdy strumień na porcie o 2 liczby wyższe niż
Poprzedni. VLC/Live555 wymaga ustawienia na 1, aby móc odbierać strumień.
Stos RTP w formacie libav do odbioru wymaga, aby wszystkie strumienie były wysyłane w unikalny sposób
porty.

Poniżej znajdują się przykładowe wiersze poleceń.

Aby transmitować strumień w lokalnej podsieci do oglądania w VLC:

ffmpeg -re -i -f sap sap://224.0.0.255?same_port=1

Podobnie do oglądania w ffplay:

ffmpeg -re -i -f sap sap://224.0.0.255

I do oglądania w ffplay, przez IPv6:

ffmpeg -re -i -f sap sap://[ff0e::1:2:3:4]

Demukser

Składnia adresu URL SAP podanego demuxerowi to:

sok roślinny://[ ][: ]

adres jest adresem multicastowym, na którym nasłuchiwane są ogłoszenia, jeśli pominięto, domyślnym
224.2.127.254 (sap.mcast.net) jest używany. Port to port, na którym jest nasłuchiwany, 9875 jeśli
pominięty.

Demuksery nasłuchują zapowiedzi na podanym adresie i porcie. Raz i
komunikat zostanie odebrany, próbuje odebrać ten konkretny strumień.

Poniżej znajdują się przykładowe wiersze poleceń.

Aby odtworzyć pierwszy strumień ogłoszony na zwykłym adresie multicast SAP:

ffplay sok://

Aby odtworzyć pierwszy strumień ogłoszony na jednym z domyślnych adresów multiemisji IPv6 SAP:

ffplay sap://[ff0e::2:7ffe]

scp
Protokół transmisji sterowania strumieniem.

Akceptowana składnia adresu URL to:

sctp:// : [? ]

Protokół akceptuje następujące opcje:

słuchać
Jeśli ustawiono na dowolną wartość, nasłuchuj połączenia przychodzącego. Połączenie wychodzące jest realizowane przez
domyślna.

max_strumienie
Ustaw maksymalną liczbę strumieni. Domyślnie nie jest ustawiony żaden limit.

srtp
Bezpieczny protokół transportu w czasie rzeczywistym.

Akceptowane opcje to:

srtp_in_suite
srtp_out_suite
Wybierz pakiety kodowania wejścia i wyjścia.

Obsługiwane wartości:

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
Ustaw parametry kodowania wejściowego i wyjściowego, które są wyrażane przez kodowanie base64
reprezentacja bloku binarnego. Pierwsze 16 bajtów tego bloku binarnego jest używanych jako
klucz główny, następujące 14 bajtów jest używanych jako sól główna.

podtekst
Praktycznie wyodrębnij segment pliku lub innego strumienia. Podstawowy strumień musi być
do przeszukania.

Akceptowane opcje:

początek
Przesunięcie początkowe wyodrębnionego segmentu w bajtach.

zakończenia Przesunięcie końcowe wyodrębnionego segmentu w bajtach.

Przykłady:

Wyodrębnij rozdział z pliku DVD VOB (sektory początkowe i końcowe uzyskane z zewnątrz i
pomnożone przez 2048):

podtekst ,,start,153391104,koniec,268142592,,:/media/dvd/VIDEO_TS/VTS_08_1.VOB

Odtwórz plik AVI bezpośrednio z archiwum TAR:

podtekst ,,początek,183241728,koniec,366490624,,,:archive.tar

tcp
Protokół kontroli transmisji.

Wymagana składnia adresu URL TCP to:

TCP:// : [? ]

Opcje zawiera listę &-rozdzielonych opcji formularza klucz=val.

Poniżej znajduje się lista obsługiwanych opcji.

słuchaj=1 | 0
Posłuchaj połączenia przychodzącego. Wartość domyślna to 0.

limit czasu=mikrosekundy
Ustaw limit czasu podniesienia błędu, wyrażony w mikrosekundach.

Ta opcja ma znaczenie tylko w trybie odczytu: jeśli żadne dane nie dotarły więcej niż w tym czasie
interwał, podnieś błąd.

limit_czasu słuchania =milisekund
Ustaw limit czasu słuchania wyrażony w milisekundach.

Poniższy przykład pokazuje, jak skonfigurować nasłuchujące połączenie TCP z ffmpeg, który jest
następnie uzyskano dostęp za pomocą ffplay:

ffmpeg -i -F TCP:// : ?słuchać
ffplay tcp:// :

Tls
Zabezpieczenia warstwy transportowej (TLS) / Warstwa bezpiecznych gniazd (SSL)

Wymagana składnia adresu URL TLS/SSL to:

tls:// : [? ]

Następujące parametry można ustawić za pomocą opcji wiersza poleceń (lub w kodzie za pomocą „AVOption”):

plik_ca, plik=filename
Plik zawierający certyfikaty główne urzędu certyfikacji (CA), które mają być traktowane jako zaufane. Jeśli
połączona biblioteka TLS zawiera wartość domyślną, dla której może nie być konieczne określanie
weryfikacja działa, ale nie wszystkie biblioteki i konfiguracje mają wbudowane ustawienia domyślne
plik musi być w formacie OpenSSL PEM.

tls_verify=1 | 0
Jeśli jest włączone, spróbuj zweryfikować peera, z którym się komunikujemy. Uwaga, jeśli używasz
OpenSSL, to obecnie zapewnia tylko, że certyfikat równorzędny jest podpisany przez jednego z
certyfikaty główne w bazie danych CA, ale nie potwierdza, że
Certyfikat faktycznie odpowiada nazwie hosta, z którym próbujemy się połączyć. (Z GnuTLS,
sprawdzana jest również nazwa hosta).

Ta opcja jest domyślnie wyłączona, ponieważ wymaga dostarczenia bazy danych urzędu certyfikacji przez
rozmówcy w wielu przypadkach.

plik_certyfikatu, certyfikat=filename
Plik zawierający certyfikat do użycia podczas uzgadniania z peerem. (Kiedy
działając jako serwer, w trybie nasłuchu jest to częściej wymagane przez peera, podczas gdy
certyfikaty klienta są wymagane tylko w niektórych konfiguracjach).

plik_klucza, klucz =filename
Plik zawierający klucz prywatny do certyfikatu.

słuchaj=1 | 0
Jeśli jest włączone, nasłuchuj połączeń na podanym porcie i przyjmij rolę serwera w
uścisk dłoni zamiast roli klienta.

Przykładowe wiersze poleceń:

Aby utworzyć serwer TLS/SSL, który obsługuje strumień wejściowy.

ffmpeg -i -F tls:// : ?słuchaj&cert= &klucz=

Aby odtworzyć strumień z serwera TLS/SSL za pomocą ffplay:

ffplay tls:// :

udp
Protokół datagramów użytkownika.

Wymagana składnia adresu URL UDP to:

udp:// : [? ]

Opcje zawiera listę &-rozdzielonych opcji formularza klucz=val.

W przypadku, gdy w systemie włączone jest wątkowanie, do przechowywania danych używany jest bufor cykliczny
dane przychodzące, co pozwala zmniejszyć utratę danych z powodu przepełnienia bufora gniazda UDP.
Połączenia fifo_rozmiar i overrun_nonfatal opcje są związane z tym buforem.

Poniżej znajduje się lista obsługiwanych opcji.

rozmiar_bufora=rozmiar
Ustaw maksymalny rozmiar bufora gniazda UDP w bajtach. Służy do ustawiania
odbierz lub wyślij rozmiar bufora, w zależności od tego, do czego używane jest gniazdo. Wartość domyślna to
64 KB. Zobacz też fifo_rozmiar.

port lokalny=Port
Zastąp lokalny port UDP, z którym chcesz się połączyć.

adres lokalny=Addr
Wybierz lokalny adres IP. Jest to przydatne np. jeśli wysyłasz multicast, a host ma:
wiele interfejsów, w których użytkownik może wybrać, który interfejs ma wysłać
określając adres IP tego interfejsu.

pkt_rozmiar=rozmiar
Ustaw rozmiar w bajtach pakietów UDP.

ponowne użycie=1 | 0
Jawnie zezwalaj lub nie zezwalaj na ponowne używanie gniazd UDP.

ttl=TTL
Ustaw czas wygaśnięcia wartości (tylko dla multiemisji).

połączyć=1 | 0
Zainicjuj gniazdo UDP za pomocą „connect()”. W takim przypadku adres docelowy
nie można później zmienić za pomocą ff_udp_set_remote_url. Jeśli adres docelowy nie jest
znana na początku, ta opcja może być również określona w ff_udp_set_remote_url. Ten
pozwala znaleźć adres źródłowy pakietów z getsockname i sprawia, że
zapisuje return z AVERROR(ECONNREFUSED), jeśli odebrano „miejsce docelowe nieosiągalne”.
W przypadku odbierania daje to korzyść polegającą na odbieraniu tylko pakietów od określonego
adres/port równorzędny.

źródła=adres[,adres]
Odbieraj tylko pakiety wysyłane do grupy multicastowej od jednego z określonych adresów IP nadawcy
adresy.

blok=adres[,adres]
Ignoruj ​​pakiety wysyłane do grupy multiemisji z określonych adresów IP nadawcy.

fifo_size=jednostek
Ustaw rozmiar okrągłego bufora odbierającego UDP, wyrażony jako liczba pakietów o rozmiarze
188 bajtów. Jeśli nie określono, domyślnie 7*4096.

przekroczenie_nonfatal=1 | 0
Przetrwaj w przypadku przepełnienia bufora cyklicznego odbieranego przez UDP. Wartość domyślna to 0.

limit czasu=mikrosekundy
Ustaw limit czasu podniesienia błędu, wyrażony w mikrosekundach.

Ta opcja ma znaczenie tylko w trybie odczytu: jeśli żadne dane nie dotarły więcej niż w tym czasie
interwał, podnieś błąd.

transmisja=1 | 0
Jawnie zezwalaj lub nie zezwalaj na rozgłaszanie UDP.

Pamiętaj, że transmisja może nie działać poprawnie w sieciach z burzą rozgłoszeniową
ochrona.

Przykłady

· Posługiwać się ffmpeg do przesyłania strumieniowego przez UDP do zdalnego punktu końcowego:

ffmpeg -i -F udp:// :

· Posługiwać się ffmpeg do przesyłania strumieniowego w formacie mpegts przez UDP przy użyciu pakietów UDP o rozmiarze 188, przy użyciu a
duży bufor wejściowy:

ffmpeg -i -f mpegts udp:// : ?pkt_size=188&buffer_size=65535

· Posługiwać się ffmpeg do odbierania przez UDP ze zdalnego punktu końcowego:

ffmpeg -i udp://[ ]: ...

UNIX
Lokalne gniazdo uniksowe

Wymagana składnia adresu URL gniazda uniksowego to:

unix://

Następujące parametry można ustawić za pomocą opcji wiersza poleceń (lub w kodzie za pomocą „AVOption”):

Timeout
Limit czasu w ms.

słuchać
Utwórz gniazdo Unix w trybie nasłuchiwania.

DEVICE OPCJE


Biblioteka libavdevice zapewnia ten sam interfejs co libavformat. Mianowicie wejście
urządzenie jest traktowane jak demuxer, a urządzenie wyjściowe jak muxer i interfejs
i ogólne opcje urządzeń są takie same, jak dostarczane przez libavformat (zobacz formaty ffmpeg
podręcznik).

Ponadto każde urządzenie wejściowe lub wyjściowe może obsługiwać tak zwane opcje prywatne, które:
specyficzne dla tego komponentu.

Opcje można ustawić, określając -opcja wartość w narzędziach FFmpeg lub przez ustawienie
wartość jawnie w opcjach „AVFormatContext” urządzenia lub za pomocą libavutil/opt.h API
do użytku programistycznego.

WEJŚCIE POMYSŁOWOŚĆ


Urządzenia wejściowe to konfigurowane elementy w FFmpeg, które umożliwiają dostęp do nadchodzących danych
z urządzenia multimedialnego podłączonego do systemu.

Po skonfigurowaniu kompilacji FFmpeg wszystkie obsługiwane urządzenia wejściowe są włączane przez
domyślna. Możesz wyświetlić listę wszystkich dostępnych za pomocą opcji konfiguracji "--list-indevs".

Możesz wyłączyć wszystkie urządzenia wejściowe za pomocą opcji konfiguracji "--disable-indevs" i
selektywnie włącz urządzenie wejściowe za pomocą opcji "--enable-indev=ODCH", lub możesz
wyłącz określone urządzenie wejściowe za pomocą opcji "--disable-indev=ODCH".

Opcja "-devices" narzędzi ff* wyświetli listę obsługiwanych urządzeń wejściowych.

Poniżej znajduje się opis aktualnie dostępnych urządzeń wejściowych.

wzrost
Urządzenie wejściowe ALSA (Advanced Linux Sound Architecture).

Aby włączyć to urządzenie wejściowe podczas konfiguracji, musisz zainstalować libasound na swoim
pomimo napiętego harmonogramu

To urządzenie umożliwia przechwytywanie z urządzenia ALSA. Nazwa urządzenia do przechwycenia musi
być identyfikatorem karty ALSA.

Identyfikator ALSA ma składnię:

jak: [, [, ]]

gdzie DEV i ODCH.PODRZ składniki są opcjonalne.

Trzy argumenty (w kolejności: KARTA,DEV,ODCH.PODRZ) podać numer karty lub identyfikator, urządzenie
numer i numer podurządzenia (-1 oznacza dowolny).

Aby zobaczyć listę kart aktualnie rozpoznawanych przez Twój system, sprawdź pliki
/ proc / asound / cards i /proc/asound/urządzenia.

Na przykład do przechwytywania za pomocą ffmpeg z urządzenia ALSA z identyfikatorem karty 0, możesz uruchomić
polecenie:

ffmpeg -f alsa -i hw:0 alsaout.wav

Aby uzyskać więcej informacji zobacz:http://www.alsa-project.org/alsa-doc/alsa-lib/pcm.html>

Opcje

próbna stawka
Ustaw częstotliwość próbkowania w Hz. Wartość domyślna to 48000.

kanały
Ustaw liczbę kanałów. Wartość domyślna to 2.

hołd
Urządzenie wejściowe AVFoundation.

AVFoundation jest obecnie zalecanym przez Apple frameworkiem do streamgrabbingu na OSX >=
10.7 oraz na iOS. Starsza struktura QTKit została oznaczona jako przestarzała od czasu OSX
Wersja 10.7.

Nazwa pliku wejściowego musi być podana w następującej składni:

-i „[[WIDEO]:[DŹWIĘK]]”

Pierwsza pozycja wybiera wejście wideo, podczas gdy druga wybiera wejście audio. ten
strumień musi być określony przez nazwę urządzenia lub indeks urządzenia, jak pokazuje urządzenie
lista. Alternatywnie urządzenie wejściowe wideo i/lub audio można wybrać za pomocą indeksu za pomocą

B<-video_device_index E INDEKS >

i / lub

B<-indeks_urządzenia_audio E INDEKS >

, zastępując dowolną nazwę urządzenia lub indeks podany w nazwie pliku wejściowego.

Wszystkie dostępne urządzenia można policzyć za pomocą -list_urządzeń prawdziwy, wymieniając wszystkie urządzenia
nazwy i odpowiadające im indeksy.

Istnieją dwa aliasy nazw urządzeń:

"domyślny"
Wybierz domyślne urządzenie AVFoundation odpowiedniego typu.

"Żaden"
Nie nagrywaj odpowiedniego typu nośnika. Jest to równoważne określeniu pustego
nazwa lub indeks urządzenia.

Opcje

AVFoundation obsługuje następujące opcje:

-list_urządzeń
Jeśli ustawione na true, podana zostanie lista wszystkich dostępnych urządzeń wejściowych pokazująca wszystkie urządzenia
nazwy i indeksy.

-indeks_urządzenia_wideo
Określ urządzenie wideo według jego indeksu. Zastępuje wszystko podane w nazwie pliku wejściowego.

-indeks_urządzenia_audio
Określ urządzenie audio według jego indeksu. Zastępuje wszystko podane w nazwie pliku wejściowego.

-format_piksela
Poproś urządzenie wideo, aby używało określonego formatu pikseli. Jeśli określony format to
nieobsługiwane, podana jest lista dostępnych formatów, a pierwszy na tej liście to
używane zamiast tego. Dostępne formaty pikseli to: „monob, rgb555be, rgb555le, rgb565be,
rgb565le, rgb24, bgr24, 0rgb, bgr0, 0bgr, rgb0,
bgr48be, uyvy422, yuva444p, yuva444p16le, yuv444p, yuv422p16, yuv422p10, yuv444p10,
yuv420p, nv12, yuyv422, szary”

-częstotliwość wyświetlania klatek
Ustaw szybkość przechwytywania klatek. Domyślnym ustawieniem jest „ntsc”, co odpowiada szybkości klatek
„30000/1001”.

-rozmiar wideo
Ustaw rozmiar klatki wideo.

-kursor_przechwytywania
Przechwyć wskaźnik myszy. Wartość domyślna to 0.

-capture_mouse_clicks
Przechwytuj kliknięcia myszą ekranową. Wartość domyślna to 0.

Przykłady

· Wydrukuj listę obsługiwanych urządzeń AVFoundation i wyjdź:

$ ffmpeg -f avfoundation -list_devices true -i ""

· Nagraj wideo z urządzenia wideo 0 i audio z urządzenia audio 0 do pliku out.avi:

$ ffmpeg -f avfoundation -i "0:0" out.avi

· Nagraj wideo z urządzenia wideo 2 i audio z urządzenia audio 1 do pliku out.avi:

$ ffmpeg -f avfoundation -video_device_index 2 -i ":1" out.avi

· Nagrywaj wideo z domyślnego urządzenia wideo systemu przy użyciu formatu pikseli bgr0 i nie
nie nagrywaj żadnego dźwięku do pliku out.avi:

$ ffmpeg -f avfoundation -pixel_format bgr0 -i "default:none" out.avi

bktr
Urządzenie wejściowe wideo BSD.

Opcje

framerate
Ustaw liczbę klatek na sekundę.

rozmiar wideo
Ustaw rozmiar klatki wideo. Domyślnie jest to „vga”.

standard
Dostępne wartości to:

kumpel
ntsc
wyschnąć
pal
palma
ntscj

decklink
Urządzenie wejściowe decklink zapewnia możliwości przechwytywania dla urządzeń Blackmagic DeckLink.

Aby włączyć to urządzenie wejściowe, potrzebujesz Blackmagic DeckLink SDK i musisz
skonfiguruj za pomocą odpowiednich „--extra-cflags” i „--extra-ldflags”. W systemie Windows, ty
trzeba uruchomić pliki IDL przez Widla.

DeckLink jest bardzo wybredny jeśli chodzi o obsługiwane formaty. Format pikseli to uyvy422 lub v210,
liczba klatek na sekundę i rozmiar wideo muszą być określone dla Twojego urządzenia za pomocą -list_formatów 1. Audio
częstotliwość próbkowania wynosi zawsze 48 kHz, a liczba kanałów może wynosić 2, 8 lub 16.

Opcje

lista_urządzeń
Jeśli ustawione na prawdziwy, wydrukuj listę urządzeń i wyjdź. Domyślnie do fałszywy.

formaty_listy
Jeśli ustawione na prawdziwy, wydrukuj listę obsługiwanych formatów i zakończ. Domyślnie do fałszywy.

bm_v210
Jeśli ustawione na 1, wideo jest przechwytywane w 10-bitowej wersji v210 zamiast uyvy422. Nie wszystkie Blackmagic
urządzenia obsługują tę opcję.

Przykłady

· Lista urządzeń wejściowych:

ffmpeg -f łącze pokładowe -list_devices 1 -i dummy

· Lista obsługiwanych formatów:

ffmpeg -f decklink -list_formats 1 -i „Intensywność Pro”

· Przechwytywanie klipu wideo w rozdzielczości 1080i50 (format 11):

ffmpeg -f decklink -i 'Intensity Pro@11' -acodec copy -vcodec copy output.avi

· Przechwytywanie klipu wideo w rozdzielczości 1080i50 10 bitów:

ffmpeg -bm_v210 1 -f decklink -i 'UltraStudio Mini Recorder@11' -acodec copy -vcodec copy output.avi

pokaż
Urządzenie wejściowe Windows DirectShow.

Obsługa DirectShow jest włączona, gdy FFmpeg jest kompilowany z projektem mingw-w64. W tej chwili
obsługiwane są tylko urządzenia audio i wideo.

Wiele urządzeń można otworzyć jako oddzielne wejścia, ale można je również otworzyć na tym samym
dane wejściowe, które powinny poprawić synchronizację między nimi.

Nazwa wejściowa powinna mieć format:

= [: = ]

gdzie TYP może być audio or wideo, IMIĘ to nazwa urządzenia lub alternatywa
Nazwa..

Opcje

Jeśli nie określono żadnych opcji, używane są ustawienia domyślne urządzenia. Jeśli urządzenie nie
obsługuje żądane opcje, nie otworzy się.

rozmiar wideo
Ustaw rozmiar wideo w przechwyconym wideo.

framerate
Ustaw szybkość klatek w przechwyconym wideo.

próbna stawka
Ustaw częstotliwość próbkowania (w Hz) przechwyconego dźwięku.

wielkość próbki
Ustaw rozmiar próbki (w bitach) przechwyconego dźwięku.

kanały
Ustaw liczbę kanałów w przechwyconym dźwięku.

lista_urządzeń
Jeśli ustawione na prawdziwy, wydrukuj listę urządzeń i wyjdź.

opcje_listy
Jeśli ustawione na prawdziwy, wydrukuj listę wybranych opcji urządzenia i wyjdź.

numer_urządzenia_wideo
Ustaw numer urządzenia wideo dla urządzeń o tej samej nazwie (zaczyna się od 0, domyślnie 0).

numer_urządzenia_audio
Ustaw numer urządzenia audio dla urządzeń o tej samej nazwie (zaczyna się od 0, domyślnie 0).

format_piksela
Wybierz format pikseli, który ma być używany przez DirectShow. Można to ustawić tylko wtedy, gdy wideo
kodek nie jest ustawiony lub ustawiony na rawvideo.

rozmiar_bufora_audio
Ustaw rozmiar bufora urządzenia audio w milisekundach (co może bezpośrednio wpłynąć na opóźnienie,
w zależności od urządzenia). Domyślnie używany jest domyślny rozmiar bufora urządzenia audio
(zazwyczaj pewna wielokrotność 500ms). Ustawienie zbyt niskiej wartości może pogorszyć się
wydajność. Zobacz też
<http://msdn.microsoft.com/en-us/library/windows/desktop/dd377582(v=vs.85).aspx>

nazwa_styku_wideo
Wybierz pin przechwytywania wideo, którego chcesz używać według nazwy lub alternatywnej nazwy.

nazwa_pinu audio
Wybierz pin przechwytywania dźwięku, którego chcesz używać według nazwy lub alternatywnej nazwy.

crossbar_video_input_pin_number
Wybierz numer pinu wejścia wideo dla urządzenia poprzecznego. To zostanie przekierowane do poprzeczki
pin wyjściowy dekodera wideo urządzenia. Pamiętaj, że zmiana tej wartości może wpłynąć na przyszłość
wywołania (ustawia nową wartość domyślną) do momentu ponownego uruchomienia systemu.

crossbar_audio_input_pin_number
Wybierz numer pinu wejścia audio dla urządzenia poprzecznego. To zostanie przekierowane do poprzeczki
pin wyjściowy dekodera audio urządzenia. Pamiętaj, że zmiana tej wartości może wpłynąć na przyszłość
wywołania (ustawia nową wartość domyślną) do momentu ponownego uruchomienia systemu.

show_video_device_dialog
Jeśli ustawione na prawdziwy, przed rozpoczęciem przechwytywania, wyświetlaj użytkownikowi końcowemu okno dialogowe,
pozwalając im ręcznie zmieniać właściwości i konfiguracje filtrów wideo. Notatka
że w przypadku urządzeń z poprzeczką czasami może być konieczne dostosowanie wartości w tym oknie dialogowym, aby
przełączanie między wejściowymi szybkościami klatek, rozmiarami, przeplotem, PAL (25 kl./s) i NTSC (29.97),
itp. Zmiana tych wartości może umożliwić różne szybkości skanowania/częstotliwości klatek i unikanie
zielone paski na dole, migoczące linie skanowania itp. Zwróć uwagę, że w przypadku niektórych urządzeń
zmiana tych właściwości może również wpłynąć na przyszłe wywołania (ustawia nowe wartości domyślne) do
nastąpi ponowne uruchomienie systemu.

show_audio_device_dialog
Jeśli ustawione na prawdziwy, przed rozpoczęciem przechwytywania, wyświetlaj użytkownikowi końcowemu okno dialogowe,
pozwalając im ręcznie zmieniać właściwości i konfiguracje filtrów audio.

show_video_crossbar_connection_dialog
Jeśli ustawione na prawdziwy, przed rozpoczęciem przechwytywania, wyświetlaj użytkownikowi końcowemu okno dialogowe,
pozwalając im na ręczną modyfikację trasowania pinów poprzeczki, gdy otwiera urządzenie wideo.

show_audio_crossbar_connection_dialog
Jeśli ustawione na prawdziwy, przed rozpoczęciem przechwytywania, wyświetlaj użytkownikowi końcowemu okno dialogowe,
pozwalając im na ręczną modyfikację trasowania pinów poprzeczki, gdy otwiera urządzenie audio.

show_analog_tv_tuner_dialog
Jeśli ustawione na prawdziwy, przed rozpoczęciem przechwytywania, wyświetlaj użytkownikowi końcowemu okno dialogowe,
pozwalając im ręcznie modyfikować kanały telewizyjne i częstotliwości.

show_analog_tv_tuner_audio_dialog
Jeśli ustawione na prawdziwy, przed rozpoczęciem przechwytywania, wyświetlaj użytkownikowi końcowemu okno dialogowe,
pozwalając im na ręczną modyfikację dźwięku telewizora (np. mono lub stereo, język A, B lub C).

ładowanie_urządzenia audio
Załaduj urządzenie filtrujące przechwytywanie dźwięku z pliku zamiast przeszukiwać go według nazwy. Może
załaduj również dodatkowe parametry, jeśli filtr obsługuje serializację jego
właściwości do. Aby tego użyć, należy określić źródło przechwytywania dźwięku, ale może być
cokolwiek nawet fałszywego.

zapisz_urządzenie_audio
Zapisz aktualnie używane urządzenie filtrujące przechwytywanie dźwięku i jego parametry (jeśli filtr
obsługuje to) do pliku. Jeśli istnieje plik o tej samej nazwie, zostanie on nadpisany.

ładowanie_urządzenia wideo
Załaduj urządzenie filtrujące przechwytywanie wideo z pliku zamiast przeszukiwać go według nazwy. Może
załaduj również dodatkowe parametry, jeśli filtr obsługuje serializację jego
właściwości do. Aby z tego skorzystać, należy określić źródło przechwytywania wideo, ale może być
cokolwiek nawet fałszywego.

wideo_urządzenie_zapisz
Zapisz aktualnie używane urządzenie filtrujące przechwytywanie wideo i jego parametry (jeśli filtr
obsługuje to) do pliku. Jeśli istnieje plik o tej samej nazwie, zostanie on nadpisany.

Przykłady

· Wydrukuj listę obsługiwanych urządzeń DirectShow i wyjdź:

$ ffmpeg -list_devices true -f dshow -i atrapa

· Otwórz urządzenie wideo Aparat fotograficzny:

$ ffmpeg -f dshow -i video="Kamera"

· Otwórz drugie urządzenie wideo z nazwą Aparat fotograficzny:

$ ffmpeg -f dshow -video_device_number 1 -i video="Kamera"

· Otwórz urządzenie wideo Aparat fotograficzny i urządzenie audio Mikrofon:

$ ffmpeg -f dshow -i video="Kamera":audio="Mikrofon"

· Wydrukuj listę obsługiwanych opcji w wybranym urządzeniu i wyjdź:

$ ffmpeg -list_options true -f dshow -i video="Kamera"

· Określ nazwy pinów do przechwytywania według nazwy lub alternatywnej nazwy, określ alternatywne urządzenie
Nazwa:

$ 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"

· Skonfiguruj urządzenie poprzeczne, określając szpilki poprzeczne, pozwól użytkownikowi dostosować wideo
przechwytywanie właściwości podczas uruchamiania:

$ ffmpeg -f dshow -show_video_device_dialog true -crossbar_video_input_pin_number 0
-crossbar_audio_input_pin_number 3 -i video="Przechwytywanie analogowe AVerMedia BDA":audio="Przechwytywanie analogowe AVerMedia BDA"

dv1394
Urządzenie wejściowe Linux DV 1394.

Opcje

framerate
Ustaw liczbę klatek na sekundę. Wartość domyślna to 25.

standard
Dostępne wartości to:

kumpel
ntsc

Wartość domyślna to „ntsc”.

fbdev
Urządzenie wejściowe bufora ramki Linuksa.

Bufor ramki Linuksa to niezależna od sprzętu graficzna warstwa abstrakcji do wyświetlania grafiki
na monitorze komputera, zwykle na konsoli. Jest dostępny za pośrednictwem urządzenia do plików
węzeł, zwykle / deweloper / fb0.

Więcej szczegółowych informacji można znaleźć w pliku Documentation/fb/framebuffer.txt zawartym w
drzewo źródeł Linuksa.

Zobacz teżhttp://linux-fbdev.sourceforge.net/> i fbset(1).

Aby nagrywać z urządzenia buforującego ramki / deweloper / fb0 w ffmpeg:

ffmpeg -f fbdev -framerate 10 -i /dev/fb0 out.avi

Możesz zrobić pojedynczy zrzut ekranu za pomocą polecenia:

ffmpeg -f fbdev -framerate 1 -i /dev/fb0 -frames:v 1 zrzut ekranu.jpeg

Opcje

framerate
Ustaw liczbę klatek na sekundę. Wartość domyślna to 25.

gdigrab
Urządzenie do przechwytywania ekranu oparte na Win32 GDI.

To urządzenie umożliwia przechwytywanie regionu wyświetlacza w systemie Windows.

Istnieją dwie opcje nazwy pliku wejściowego:

stacjonarny

or

tytuł=

Pierwsza opcja przechwyci cały pulpit lub ustalony region pulpitu. ten
druga opcja zamiast tego przechwyci zawartość pojedynczego okna, niezależnie od jego
pozycję na ekranie.

Na przykład, aby pobrać cały pulpit za pomocą ffmpeg:

ffmpeg -f gdigrab -framerate 6 -i desktop out.mpg

Przechwyć region 640x480 w pozycji „10,20”:

ffmpeg -f gdigrab -liczba klatek 6 -offset_x 10 -offset_y 20 -video_size vga -i desktop out.mpg

Pobierz zawartość okna o nazwie „Kalkulator”

ffmpeg -f gdigrab -framerate 6 -i title=Kalkulator out.mpg

Opcje

rysuj_mysz
Określ, czy rysować wskaźnik myszy. Użyj wartości 0, aby nie rysować wskaźnika.
Wartość domyślna to 1.

framerate
Ustaw szybkość przechwytywania klatek. Wartość domyślna to „ntsc”, odpowiadająca szybkości klatek
„30000/1001”.

pokaż_region
Pokaż przechwycony region na ekranie.

If pokaż_region jest określony na 1, wtedy obszar chwytania będzie oznaczony na
ekran. Dzięki tej opcji łatwo zorientować się, co jest chwytane, jeśli tylko część
ekranu jest chwycony.

Należy pamiętać, że pokaż_region jest niezgodne z pobieraniem zawartości pojedynczego okna.

Na przykład:

ffmpeg -f gdigrab -show_region 1 -framerate 6 -video_size cif -offset_x 10 -offset_y 20 -i desktop out.mpg

rozmiar wideo
Ustaw rozmiar klatki wideo. Domyślnie przechwytywanie pełnego ekranu, jeśli stacjonarny is
wybrany lub pełny rozmiar okna, jeśli tytuł=tytuł_okna jest wybrany.

przesunięcie_x
Podczas przechwytywania regionu za pomocą rozmiar wideo, ustaw odległość od lewej krawędzi
ekran lub pulpit.

Zwróć uwagę, że obliczanie przesunięcia jest od lewego górnego rogu monitora głównego włączone
Okna. Jeśli masz monitor umieszczony po lewej stronie monitora głównego,
będzie musiał użyć negatywu przesunięcie_x wartość, aby przenieść region do tego monitora.

przesunięcie_y
Podczas przechwytywania regionu za pomocą rozmiar wideo, ustaw odległość od górnej krawędzi
ekran lub pulpit.

Zwróć uwagę, że obliczanie przesunięcia jest od lewego górnego rogu monitora głównego włączone
Okna. Jeśli masz monitor umieszczony nad głównym monitorem, musisz:
użyj negatywu przesunięcie_y wartość, aby przenieść region do tego monitora.

tak61883
Urządzenie wejściowe FireWire DV/HDV korzystające z libiec61883.

Aby włączyć to urządzenie wejściowe, potrzebujesz libiec61883, libraw1394 i libavc1394 zainstalowanych na
Twój system. Użyj opcji konfiguracji "--enable-libiec61883", aby skompilować z urządzeniem
włączone.

Urządzenie przechwytujące iec61883 obsługuje przechwytywanie z urządzenia wideo podłączonego przez IEEE1394
(FireWire), używając libiec61883 i nowego stosu Linux FireWire (juju). To jest ustawienie domyślne
Metoda wprowadzania DV/HDV w jądrze Linux 2.6.37 i nowszych, ponieważ stary stos FireWire był
oddalony.

Określ port FireWire, który ma być używany jako plik wejściowy, lub „auto”, aby wybrać pierwszy port
połączony.

Opcje

typ dv
Pomiń autodetekcję DV/HDV. Powinno to być używane tylko wtedy, gdy automatyczne wykrywanie nie działa
pracy, lub jeśli korzystanie z innego typu urządzenia powinno być zabronione. Leczenie DV
urządzenie jako HDV (lub odwrotnie) nie będzie działać i spowoduje nieokreślone zachowanie. ten
wartości samochód, dv i hdv są obsługiwane.

bufor dv
Ustaw maksymalny rozmiar bufora dla przychodzących danych w ramkach. W przypadku DV jest to dokładne
wartość. W przypadku HDV nie jest to dokładne określenie ramki, ponieważ HDV nie ma stałego rozmiaru ramki.

dvguid
Wybierz urządzenie do przechwytywania, określając jego identyfikator GUID. Przechwytywanie będzie wykonywane tylko
z określonego urządzenia i kończy się niepowodzeniem, jeśli nie zostanie znalezione żadne urządzenie o podanym identyfikatorze GUID. To jest
przydatne do wyboru wejścia, jeśli w tym samym czasie podłączonych jest wiele urządzeń. Wyglądać
w /sys/bus/firewire/devices, aby znaleźć identyfikatory GUID.

Przykłady

· Chwyć i pokaż wejście urządzenia FireWire DV/HDV.

ffplay -f iec61883 -i auto

· Przechwytywanie i nagrywanie danych wejściowych z urządzenia FireWire DV/HDV przy użyciu bufora pakietów 100000
pakiety, jeśli źródłem jest HDV.

ffmpeg -f iec61883 -i auto -hdvbuffer 100000 out.mpg

jack
Urządzenie wejściowe JACK.

Aby włączyć to urządzenie wejściowe podczas konfiguracji, musisz mieć zainstalowany libjack na swoim
pomimo napiętego harmonogramu

Urządzenie wejściowe JACK tworzy jednego lub więcej zapisywalnych klientów JACK, po jednym dla każdego kanału audio,
z imieniem Nazwa klienta:Wejście_N, Gdzie Nazwa klienta to nazwa podana przez aplikację,
i N to numer, który identyfikuje kanał. Każdy zapisywalny klient wyśle
zebrane dane do urządzenia wejściowego FFmpeg.

Po utworzeniu jednego lub więcej klientów czytelnych dla JACK, musisz podłączyć ich do jednego
lub więcej zapisywalnych klientów JACK.

Aby połączyć lub rozłączyć klientów JACK, możesz użyć jack_connect i jack_disconnect
programy lub zrób to za pomocą interfejsu graficznego, na przykład za pomocą qjackctl.

Aby wyświetlić listę klientów JACK i ich właściwości, możesz wywołać polecenie jack_lsp.

Podąża za przykładem, który pokazuje, jak przechwycić klienta czytelnego dla JACK za pomocą ffmpeg.

# Utwórz zapisywalnego klienta JACK o nazwie "ffmpeg".
$ ffmpeg -f gniazdo -i ffmpeg -y out.wav

# Uruchom przykładowego klienta czytelnego dla jack_metro.
$ jack_metro -b 120 -d 0.2 -f 4000

# Lista aktualnych klientów JACK.
$ jack_lsp -c
system:przechwytywanie_1
system:przechwytywanie_2
system:odtwarzanie_1
system:odtwarzanie_2
ffmpeg: wejście_1
metro: 120_bpm

# Połącz metro z zapisywalnym klientem ffmpeg.
$ jack_connect metro:120_bpm ffmpeg:input_1

Aby uzyskać więcej informacji przeczytaj:http://jackaudio.org/>

Opcje

kanały
Ustaw liczbę kanałów. Wartość domyślna to 2.

lawfi
Wejście wirtualne urządzenie Libavfilter.

To urządzenie wejściowe odczytuje dane z otwartych pól wyjściowych wykresu filtra libavfilter.

Dla każdego otwartego wyjścia wykresu filtra urządzenie wejściowe utworzy odpowiedni strumień
który jest mapowany na wygenerowane wyjście. Obecnie obsługiwane są tylko dane wideo. ten
filtergraph jest określony przez opcję wykres.

Opcje

wykres
Określ wykres filtra, który będzie używany jako dane wejściowe. Każde otwarte wyjście wideo musi być oznaczone symbolem a
unikalny ciąg w postaci „outN", gdzie N to liczba zaczynająca się od 0, odpowiadająca
zmapowany strumień wejściowy generowany przez urządzenie. Pierwsze nieoznaczone wyjście to
automatycznie przypisane do etykiety „out0”, ale wszystkie pozostałe muszą zostać określone
jawnie.

Sufiks „+subcc” można dołączyć do etykiety wyjściowej, aby utworzyć dodatkowy strumień za pomocą
dołączone do tego wyjścia pakiety z napisami (eksperymentalne; tylko dla EIA-608/
CEA-708 na razie). Strumienie subcc są tworzone po wszystkich normalnych strumieniach, w
kolejność odpowiedniego strumienia. Na przykład, jeśli istnieje „out19+subcc”,
"out7+subcc" i aż do "out42", strumień #43 jest subcc dla strumienia #7 i strumienia #44
jest subcc dla strumienia #19.

Jeśli nie określono, domyślnie jest to nazwa pliku określona dla urządzenia wejściowego.

plik_grafu
Ustaw nazwę pliku wykresu filtrów, który ma być odczytywany i wysyłany do innych filtrów. Składnia
wykresu filtra jest taki sam, jak ten określony przez opcję wykres.

zrzut ekranu
Zrzuć wykres do stderr.

Przykłady

· Stwórz kolorowy strumień wideo i odtwórz go za pomocą ffplay:

ffplay -f lavfi -graph "kolor=c=różowy [out0]" manekin

· Jak w poprzednim przykładzie, ale użyj nazwy pliku do określenia opisu wykresu, i
pomiń etykietę „out0”:

ffplay -f lavfi kolor=c=różowy

· Utwórz trzy różne źródła przefiltrowane testowo wideo i odtwarzaj je:

ffplay -f lavfi -graph "testsrc [out0]; testyrc,hflip [out1]; testrc,negate [out2]" test3

· Odczytaj strumień audio z pliku za pomocą źródła amovie i odtwórz go za pomocą ffplay:

ffplay -f lavfi "amovie=test.wav"

· Przeczytaj strumień audio i strumień wideo i odtwórz go za pomocą ffplay:

ffplay -f lavfi "film=test.avi[out0];amovie=test.wav[out1]"

· Zrzuć zdekodowane klatki do obrazów i podpisy kodowane do pliku (eksperymentalne):

ffmpeg -f lavfi -i "movie=test.ts[out0+subcc]" -map v frame%08d.png -map s -c copy -f rawvideo subcc.bin

libcdio
Urządzenie wejściowe Audio-CD oparte na libcdio.

Aby włączyć to urządzenie wejściowe podczas konfiguracji, musisz zainstalować libcdio na swoim
system. Wymaga opcji konfiguracji "--enable-libcdio".

To urządzenie umożliwia odtwarzanie i pobieranie z płyty Audio-CD.

Na przykład do kopiowania za pomocą ffmpeg cała płyta Audio-CD w / dev / sr0, możesz uruchomić polecenie:

ffmpeg -f libcdio -i /dev/sr0 cd.wav

Opcje

prędkość
Ustaw prędkość odczytu dysku. Wartość domyślna to 0.

Szybkość jest określona w jednostkach szybkości CD-ROM. Prędkość jest ustawiana przez libcdio
Funkcja „cdio_cddap_speed_set”. W wielu napędach CD-ROM podanie zbyt dużej wartości
spowoduje użycie największej prędkości.

tryb_paranoi
Ustaw flagi trybu odzyskiwania paranoi. Przyjmuje jedną z następujących wartości:

wyłączyć
zweryfikować
zakładka
nigdy nie przeskakuj
pełny

Wartość domyślna to wyłączyć.

Aby uzyskać więcej informacji na temat dostępnych trybów odzyskiwania, zapoznaj się z projektem paranoja
dokumentacja.

libdc1394
Urządzenie wejściowe IIDC1394, oparte na libdc1394 i libraw1394.

Wymaga opcji konfiguracji „--enable-libdc1394”.

otwarte
Urządzenie wejściowe OpenAL zapewnia przechwytywanie dźwięku we wszystkich systemach z działającym OpenAL 1.1
realizacja.

Aby włączyć to urządzenie wejściowe podczas konfiguracji, potrzebujesz nagłówków i bibliotek OpenAL
zainstalowany w twoim systemie i musisz skonfigurować FFmpeg z "--enable-openal".

Nagłówki i biblioteki OpenAL powinny być dostarczane jako część implementacji OpenAL lub
jako dodatkowe pobranie (SDK). W zależności od instalacji może być konieczne określenie
dodatkowe flagi za pomocą „--extra-cflags” i „--extra-ldflags” umożliwiające kompilację
system, aby zlokalizować nagłówki i biblioteki OpenAL.

Niepełna lista implementacji OpenAL jest następująca:

Twórczy
Oficjalna implementacja Windows, zapewniająca akcelerację sprzętową z obsługiwanym
urządzenia i oprogramowanie awaryjne. Widziećhttp://openal.org/>.

Openal Miękki
Implementacja przenośnego oprogramowania typu open source (LGPL). Zawiera backendy dla większości
wspólne API dźwięku w systemach operacyjnych Windows, Linux, Solaris i BSD. Widzieć
<http://kcat.strangesoft.net/openal.html>.

Apple
OpenAL jest częścią Core Audio, oficjalnego interfejsu Mac OS X Audio. Widzieć
<http://developer.apple.com/technologies/mac/audio-and-video.html>

To urządzenie umożliwia przechwytywanie z urządzenia wejściowego audio obsługiwanego przez OpenAL.

W podanej nazwie pliku musisz podać nazwę urządzenia do przechwycenia. Jeśli
Podany jest pusty ciąg, urządzenie automatycznie wybierze urządzenie domyślne. Możesz
uzyskać listę obsługiwanych urządzeń, korzystając z opcji lista_urządzeń.

Opcje

kanały
Ustaw liczbę kanałów w przechwyconym dźwięku. Tylko wartości 1 (mono) i 2
(stereo) są obecnie obsługiwane. Domyślnie do 2.

wielkość próbki
Ustaw rozmiar próbki (w bitach) przechwyconego dźwięku. Tylko wartości 8 i 16 jest
obecnie obsługiwane. Domyślnie do 16.

próbna stawka
Ustaw częstotliwość próbkowania (w Hz) przechwyconego dźwięku. Domyślnie do 44.1k.

lista_urządzeń
Jeśli ustawione na prawdziwy, wydrukuj listę urządzeń i wyjdź. Domyślnie do fałszywy.

Przykłady

Wydrukuj listę obsługiwanych urządzeń OpenAL i wyjdź:

$ ffmpeg -list_devices true -f openal -i fikcyjny plik.ogg

Przechwytywanie z urządzenia OpenAL DR-BT101 przez PulseAudio:

$ ffmpeg -f openal -i „DR-BT101 przez PulseAudio” out.ogg

Przechwyć z domyślnego urządzenia (zwróć uwagę na pusty ciąg „” jako nazwę pliku):

$ ffmpeg -f openal -i '' out.ogg

Przechwytywanie z dwóch urządzeń jednocześnie, zapisywanie do dwóch różnych plików w tym samym
ffmpeg polecenie:

$ ffmpeg -f openal -i 'DR-BT101 przez PulseAudio' out1.ogg -f openal -i 'ALSA Default' out2.ogg

Uwaga: nie wszystkie implementacje OpenAL obsługują wielokrotne jednoczesne przechwytywanie — wypróbuj
najnowszy OpenAL Soft, jeśli powyższe nie działa.

Centrum
Otwórz urządzenie wejściowe systemu dźwiękowego.

Nazwa pliku dostarczona do urządzenia wejściowego to węzeł urządzenia reprezentujący wejście OSS
urządzenie i zwykle jest ustawione na /dev/dsp.

Na przykład, aby pobrać z /dev/dsp za pomocą ffmpeg użyj polecenia:

ffmpeg -f oss -i /dev/dsp /tmp/oss.wav

Aby uzyskać więcej informacji o OSS zobacz:http://manuals.opensound.com/usersguide/dsp.html>

Opcje

próbna stawka
Ustaw częstotliwość próbkowania w Hz. Wartość domyślna to 48000.

kanały
Ustaw liczbę kanałów. Wartość domyślna to 2.

puls
Urządzenie wejściowe PulseAudio.

Aby włączyć to urządzenie wyjściowe, musisz skonfigurować FFmpeg za pomocą "--enable-libpulse".

Nazwa pliku do dostarczenia do urządzenia wejściowego to urządzenie źródłowe lub ciąg "default"

Aby wyświetlić listę urządzeń źródłowych PulseAudio i ich właściwości, możesz wywołać polecenie
pakt podstęp źródła.

Więcej informacji o PulseAudio znajdziesz nahttp://www.pulseaudio.org>.

Opcje

serwer
Połącz się z określonym serwerem PulseAudio, określonym przez adres IP. Serwer domyślny
jest używany, gdy nie jest podany.

Nazwa
Określ nazwę aplikacji, której PulseAudio będzie używać podczas wyświetlania aktywnych klientów, poprzez:
domyślnie jest to ciąg „LIBAVFORMAT_IDENT”.

nazwa_strumienia
Określ nazwę strumienia, której PulseAudio użyje podczas wyświetlania aktywnych strumieni, domyślnie to
jest „zapisem”.

próbna stawka
Określ częstotliwość próbkowania w Hz, domyślnie używane jest 48 kHz.

kanały
Określ używane kanały, domyślnie ustawione jest 2 (stereo).

rozmiar ramki
Określ liczbę bajtów na klatkę, domyślnie jest to 1024.

fragment_rozmiar
Określ minimalny fragment buforowania w PulseAudio, wpłynie to na dźwięk
czas oczekiwania. Domyślnie jest nieuzbrojony.

zegar ścienny
Ustaw początkowy PTS na podstawie aktualnego czasu. Wartość domyślna to 1.

Przykłady

Nagraj strumień z urządzenia domyślnego:

ffmpeg -f impuls -i domyślne /tmp/pulse.wav

qtkit
Urządzenie wejściowe QTKit.

Nazwa pliku przekazana jako dane wejściowe jest analizowana tak, aby zawierała nazwę urządzenia lub indeks. ten
indeks urządzenia można również podać za pomocą -video_device_index. Dany indeks urządzenia będzie
zastąpić dowolną podaną nazwę urządzenia. Jeśli żądane urządzenie składa się tylko z cyfr, użyj
-video_device_index, aby go zidentyfikować. Domyślne urządzenie zostanie wybrane, jeśli pusty ciąg
lub podana jest nazwa urządzenia „domyślna”. Dostępne urządzenia można wyliczyć za pomocą
-list_urządzenia.

ffmpeg -f qtkit -i "0" out.mpg

ffmpeg -f qtkit -video_device_index 0 -i "" out.mpg

ffmpeg -f qtkit -i "domyślny" out.mpg

ffmpeg -f qtkit -list_devices prawda -i ""

Opcje

częstotliwość wyświetlania klatek
Ustaw liczbę klatek na sekundę. Wartość domyślna to 30.

lista_urządzeń
Jeśli ustawione na „true”, wydrukuj listę urządzeń i wyjdź. Wartość domyślna to „fałsz”.

wideo_urządzenie_indeks
Wybierz urządzenie wideo według indeksu dla urządzeń o tej samej nazwie (zaczyna się od 0).

sndio
urządzenie wejściowe sndio.

Aby włączyć to urządzenie wejściowe podczas konfiguracji, musisz mieć zainstalowane libsndio na swoim
pomimo napiętego harmonogramu

Nazwa pliku do dostarczenia do urządzenia wejściowego to węzeł urządzenia reprezentujący sndio
urządzenie wejściowe i zwykle jest ustawione na /dev/audio0.

Na przykład, aby pobrać z /dev/audio0 za pomocą ffmpeg użyj polecenia:

ffmpeg -f sndio -i /dev/audio0 /tmp/oss.wav

Opcje

próbna stawka
Ustaw częstotliwość próbkowania w Hz. Wartość domyślna to 48000.

kanały
Ustaw liczbę kanałów. Wartość domyślna to 2.

wideo4linux2, v4l2
Wejście wideo Video4Linux2.

"v4l2" może być użyty jako alias dla "video4linux2".

Jeśli FFmpeg jest skompilowany z obsługą v4l-utils (za pomocą konfiguracji "--enable-libv4l2"
opcja), można go używać z opcją urządzenia wejściowego "-use_libv4l2".

Nazwa urządzenia do pobrania to węzeł urządzenia plikowego, zwykle systemy Linux mają tendencję do
automatycznie tworzy takie węzły, gdy urządzenie (np. kamera internetowa USB) jest podłączone do
system i ma taką nazwę /dev/video N, Gdzie N to liczba związana z
urządzeń.

Urządzenia Video4Linux2 zazwyczaj obsługują ograniczony zestaw szerokośćxwysokość rozmiary i liczba klatek na sekundę.
Możesz sprawdzić, które są obsługiwane za pomocą -list_formatów cała kolekcja dla urządzeń Video4Linux2. Niektóre
urządzenia, takie jak karty TV, obsługują jeden lub więcej standardów. Można wymienić wszystkie
obsługiwane standardy przy użyciu -lista_standardów cała kolekcja.

Podstawa czasu dla znaczników czasu to 1 mikrosekunda. W zależności od wersji jądra i
konfiguracji, znaczniki czasu mogą pochodzić z zegara czasu rzeczywistego (pochodzącego z systemu Unix
Epoka) lub zegar monotoniczny (pochodzący zwykle w czasie rozruchu, bez wpływu NTP lub ręcznego)
zmiany w zegarze). ten -sygnatury czasowe abs or -ts abs opcja może być użyta do wymuszenia
konwersja na zegar czasu rzeczywistego.

Kilka przykładów użycia urządzenia video4linux2 z ffmpeg i ffplay:

· Lista obsługiwanych formatów dla urządzenia video4linux2:

ffplay -f video4linux2 -list_formats wszystkie /dev/video0

· Chwyć i pokaż wejście urządzenia video4linux2:

ffplay -f video4linux2 -liczba klatek na sekundę 30 -rozmiar_wideo hd720 /dev/video0

· Chwyć i nagraj wejście urządzenia video4linux2, pozostaw liczbę klatek na sekundę i rozmiar jako
wcześniej ustawione:

ffmpeg -f video4linux2 -format_wejściowy mjpeg -i /dev/video0 out.mpeg

Aby uzyskać więcej informacji o Video4Linux, sprawdźhttp://linuxtv.org/>.

Opcje

standard
Ustaw standard. Musi być nazwą obsługiwanego standardu. Aby uzyskać listę
obsługiwane standardy, użyj lista_standardów opcja.

kanał
Ustaw numer kanału wejściowego. Domyślnie -1, co oznacza używanie poprzednio wybranego
kanał.

rozmiar wideo
Ustaw rozmiar klatki wideo. Argument musi być ciągiem w postaci SZEROKOŚĆxHEIGHT lub
prawidłowy skrót rozmiaru.

format_piksela
Wybierz format w pikselach (dotyczy tylko wejścia nieprzetworzonego wideo).

format_wejściowy
Ustaw preferowany format pikseli (dla surowego wideo) lub nazwę kodeka. Ta opcja pozwala
jeden, aby wybrać format wejściowy, gdy dostępnych jest kilka.

framerate
Ustaw preferowaną szybkość klatek wideo.

formaty_listy
Wyświetl listę dostępnych formatów (obsługiwane formaty pikseli, kodeki i rozmiary ramek) i zakończ.

Dostępne wartości to:

cała kolekcja Pokaż wszystkie dostępne formaty (skompresowane i nieskompresowane).

surowy Pokaż tylko surowe formaty wideo (nieskompresowane).

sprężony
Pokaż tylko formaty skompresowane.

lista_standardów
Wymień obsługiwane standardy i wyjdź.

Dostępne wartości to:

cała kolekcja Pokaż wszystkie obsługiwane standardy.

znaczniki czasu, ts
Ustaw typ znaczników czasu dla przechwyconych ramek.

Dostępne wartości to:

domyślnym
Użyj znaczników czasu z jądra.

abs Użyj bezwzględnych znaczników czasu (zegar ścienny).

mono2abs
Wymuś konwersję z monotonicznych na bezwzględne znaczniki czasu.

Wartość domyślna to „domyślna”.

użyj_libv4l2
Użyj funkcji konwersji libv4l2 (v4l-utils). Wartość domyślna to 0.

vfwcap
Urządzenie wejściowe przechwytywania VfW (Video dla Windows).

Nazwa pliku przekazana jako dane wejściowe to numer sterownika przechwytywania, z zakresu od 0 do 9. Możesz
użyj "list" jako nazwy pliku, aby wydrukować listę sterowników. Każda inna nazwa pliku zostanie zinterpretowana
jako urządzenie numer 0.

Opcje

rozmiar wideo
Ustaw rozmiar klatki wideo.

framerate
Ustaw szybkość przechwytywania klatek. Wartość domyślna to „ntsc”, odpowiadająca szybkości klatek
„30000/1001”.

x11 chwyć
Urządzenie wejściowe wideo X11.

Aby włączyć to urządzenie wejściowe podczas konfiguracji, musisz mieć zainstalowaną bibliotekę libxcb w swoim systemie.
Zostanie to automatycznie wykryte podczas konfiguracji.

Alternatywnie, opcja konfiguracji --włącz-x11grab istnieje dla starszych użytkowników Xlib.

To urządzenie pozwala na uchwycenie regionu wyświetlacza X11.

Nazwa pliku przekazana jako dane wejściowe ma składnię:

[ ]: . [+ , ]

hosta:wyświetlany_numer.numer_ekranu określa wyświetlaną nazwę ekranu X11 do przechwycenia
od. hosta można pominąć, a domyślnie jest to „localhost”. Zmienna środowiskowa
DISPLAY zawiera domyślną nazwę wyświetlaną.

x_przesunięcie i y_przesunięcie określić przesunięcia chwytanego obszaru w odniesieniu do lewego górnego rogu
obramowanie ekranu X11. Domyślnie mają wartość 0.

Sprawdź dokumentację X11 (np mężczyzna X), aby uzyskać bardziej szczegółowe informacje.

Użyj xdpyinfo program do uzyskiwania podstawowych informacji o właściwościach twojego X11
display (np. grep dla "name" lub "dimensions").

Na przykład, aby pobrać z : 0.0 za pomocą ffmpeg:

ffmpeg -f x11grab -szybkość klatek 25 -video_size cif -i:0.0 out.mpg

Chwyć na pozycji „10,20”:

ffmpeg -f x11grab -liczba klatek 25 -video_size cif -i :0.0+10,20 out.mpg

Opcje

rysuj_mysz
Określ, czy rysować wskaźnik myszy. Wartość 0 oznacza, że ​​nie należy rysować
wskaźnik. Wartość domyślna to 1.

śledź_mysz
Niech chwytany obszar podąża za myszą. Argument może być „wyśrodkowany” lub kilka
pikseli PIKSELE.

Gdy jest określony z "wyśrodkowany", obszar chwytania podąża za wskaźnikiem myszy
i utrzymuje wskaźnik w centrum regionu; w przeciwnym razie region podąża tylko wtedy, gdy
wskaźnik myszy dociera do wnętrza PIKSELE (większe od zera) do krawędzi regionu.

Na przykład:

ffmpeg -f x11grab -follow_mouse wyśrodkowany -liczba klatek na sekundę 25 -rozmiar_wideo cif -i:0.0 na zewnątrz.mpg

Aby śledzić tylko wtedy, gdy wskaźnik myszy osiągnie w odległości 100 pikseli od krawędzi:

ffmpeg -f x11grab -follow_mouse 100 -liczba klatek 25 -rozmiar_wideo cif -i :0.0 out.mpg

framerate
Ustaw szybkość przechwytywania klatek. Wartość domyślna to „ntsc”, odpowiadająca szybkości klatek
„30000/1001”.

pokaż_region
Pokaż przechwycony region na ekranie.

If pokaż_region jest określony na 1, wtedy obszar chwytania będzie oznaczony na
ekran. Dzięki tej opcji łatwo zorientować się, co jest chwytane, jeśli tylko część
ekranu jest chwycony.

region_granica
Ustaw grubość granicy regionu, jeśli -pokaż_region 1 jest używany. Zakres wynosi od 1 do 128 i
domyślnie 3 (tylko x11grab oparte na XCB).

Na przykład:

ffmpeg -f x11grab -show_region 1 -liczba klatek na sekundę 25 -video_size cif -i:0.0+10,20 out.mpg

Z śledź_mysz:

ffmpeg -f x11grab -follow_mouse wyśrodkowany -show_region 1 -liczba klatek na sekundę 25 -video_size cif -i :0.0 out.mpg

rozmiar wideo
Ustaw rozmiar klatki wideo. Wartość domyślna to „vga”.

użyj_shm
Użyj rozszerzenia MIT-SHM dla pamięci współdzielonej. Wartość domyślna to 1. Może być konieczne
aby wyłączyć ją dla zdalnych wyświetlaczy (tylko starsze wersje x11grab).

chwyć_x łap_y AVOpcja

Składnia jest następująca:

-grab_x -grab_y

Ustaw współrzędne regionu chwytania. Są one wyrażone jako odsunięcie od lewego górnego rogu
okna X11. Wartość domyślna to 0.

PONOWNY PRÓBNIK OPCJE


Resampler audio obsługuje następujące nazwane opcje.

Opcje można ustawić, określając -opcja wartość w narzędziach FFmpeg, opcja=wartość dla
aresample filtr, ustawiając wartość jawnie w opcjach "SwrContext" lub używając
libavutil/opt.h API do użytku programistycznego.

I, w_liczbie_kanałów
Ustaw liczbę kanałów wejściowych. Wartość domyślna to 0. Ustawienie tej wartości nie jest
obowiązkowe, jeśli odpowiedni układ kanałów w_układzie_kanałowym jest ustawiona.

och, liczba_kanałów wyjściowych
Ustaw liczbę kanałów wyjściowych. Wartość domyślna to 0. Ustawienie tej wartości nie jest
obowiązkowe, jeśli odpowiedni układ kanałów układ_kanału zewnętrznego jest ustawiona.

tak, liczba_używanych_kanałów
Ustaw liczbę używanych kanałów wejściowych. Wartość domyślna to 0. Ta opcja jest używana tylko
do specjalnego mapowania.

jest, in_sample_rate
Ustaw częstotliwość próbkowania wejściowego. Wartość domyślna to 0.

OSR, out_sample_rate
Ustaw wyjściową częstotliwość próbkowania. Wartość domyślna to 0.

jest, in_sample_fmt
Określ wejściowy format próbki. Domyślnie jest ustawiony na „brak”.

owszem, out_sample_fmt
Określ wyjściowy format próbki. Domyślnie jest ustawiony na „brak”.

tsf, wewnętrzna_próbka_fmt
Ustaw wewnętrzny format próbki. Wartość domyślna to „brak”. To będzie automatycznie
wybierany, gdy nie jest wyraźnie ustawiony.

m.in., w_układzie_kanałowym
ok, układ_kanału zewnętrznego
Ustaw układ kanałów wejścia/wyjścia.

See dotychczasowy Kanał układ Sekcja in dotychczasowy narzędzia ffmpeg(1) podręcznik dla wymaganej składni.

klucz, poziom_centrum_miksu
Ustaw środkowy poziom mieszania. Jest to wartość wyrażona w decybelach i musi być w
interwał [-32,32].

slew, poziom_miksu_przestrzennego
Ustaw poziom miksu dźwięku przestrzennego. Jest to wartość wyrażona w decybelach i musi być w
interwał [-32,32].

lfe_mix_level
Ustaw mikser LFE na poziom inny niż LFE. Jest używany, gdy jest wejście LFE, ale nie ma LFE
wyjście. Jest to wartość wyrażona w decybelach i musi mieścić się w przedziale [-32,32].

rmvol, rematrix_volume
Ustaw głośność rematrix. Wartość domyślna to 1.0.

rematrix_maxval
Ustaw maksymalną wartość wyjściową dla rematrix. Można to wykorzystać, aby zapobiec przycinaniu w porównaniu z
zapobieganie redukcji głośności Wartość 1.0 zapobiega przycinaniu.

flagi, swr_flagi
Ustaw flagi używane przez konwerter. Wartość domyślna to 0.

Obsługuje następujące pojedyncze flagi:

res wymuś ponowne próbkowanie, ta flaga wymusza użycie ponownego próbkowania, nawet gdy dane wejściowe i
wyjściowe częstotliwości próbkowania są zgodne.

dither_scale
Ustaw skalę roztrząsania. Wartość domyślna to 1.

dither_metoda
Ustaw metodę ditheringu. Wartość domyślna to 0.

Obsługiwane wartości:

prostokątny
wybierz roztrząsanie prostokątne

trójkątny
wybierz trójkątne roztrząsanie

trójkątny_hp
wybierz trójkątny dither z wysokim przepustem

szminka
wybierz dither kształtujący szum lipshitz

Shibata
wybierz dither kształtujący szum shibata

niska_shibata
wybierz niski dither kształtujący szum shibata

wysoka_shibata
wybierz dither kształtujący wysoki shibata

f_ważone
wybierz dither kształtujący szum ważony f

zmodyfikowany_e_ważony
wybierz modyfikowany e-ważony dither kształtujący szum

poprawiono_e_ważone
wybierz ulepszony dither kształtujący szum e-ważony

próbnik
Ustaw silnik resamplingu. Wartość domyślna to swr.

Obsługiwane wartości:

SWA wybierz natywny SW Resampler; opcje filtrów precyzja i cheby nie są
w tym przypadku.

soxr
wybierz SoX Resampler (jeśli jest dostępny); kompensacja i opcje filtrów
filter_size, phase_shift, filter_type i kaiser_beta nie mają w tym zastosowania
walizka.

rozmiar_filtra
Tylko dla swr, ustaw rozmiar filtra resamplingu, domyślna wartość to 32.

przesunięcie fazowe
Tylko dla swr, ustaw przesunięcie fazowe resamplingu, wartość domyślna to 10 i musi być w
interwał [0,30].

interp_liniowy
Użyj interpolacji liniowej, jeśli jest ustawiona na 1, wartość domyślna to 0.

odcięcie
Ustaw współczynnik częstotliwości odcięcia (swr: punkt 6dB; soxr: punkt 0dB); musi być wartością zmiennoprzecinkową
od 0 do 1. Wartość domyślna to 0.97 z swr i 0.91 z soxr (co przy
częstotliwość próbkowania 44100, zachowuje całe pasmo audio do 20 kHz).

precyzja
Tylko dla soxr, precyzja w bitach, z jaką zostanie obliczony ponownie próbkowany sygnał.
Domyślna wartość 20 (która przy odpowiednim ditheringu jest odpowiednia dla a
docelowa głębia bitowa wynosząca 16) zapewnia „Wysokiej jakości” SoX; wartość 28 daje SoX's
„Bardzo wysoka jakość”.

czeby
Tylko dla soxr, wybiera rolloff passband brak (Czebyszew) i wyższą precyzję
przybliżenie dla „irracjonalnych” proporcji. Wartość domyślna to 0.

async
Tylko dla swr, prosta jednoparametrowa synchronizacja dźwięku ze znacznikami czasu przy użyciu rozciągania, ściskania,
napełnianie i przycinanie. Ustawienie tego na 1 umożliwi napełnianie i przycinanie, większe
wartości reprezentują maksymalną ilość w próbkach, o którą dane mogą zostać rozciągnięte lub
ściśnięte na każdą sekundę. Wartość domyślna to 0, dlatego nie stosuje się żadnej kompensacji, aby dokonać
próbki pasują do znaczników czasu audio.

pierwszy_pts
Tylko dla swr przyjmij, że pierwsze punkty powinny mieć tę wartość. Jednostka czasu to 1/próbka
wskaźnik. Pozwala to na dopełnienie/przycinanie na początku strumienia. Domyślnie nie
przyjęto założenie dotyczące oczekiwanych punktów pierwszej klatki, więc nie ma dopełniania ani przycinania
Gotowe. Na przykład może to być ustawione na 0, aby uzupełnić początek ciszą, jeśli
strumień audio rozpoczyna się po strumieniu wideo lub przycina dowolne próbki z ujemnym pkt.
z powodu opóźnienia enkodera.

min_komp
Tylko dla swr ustaw minimalną różnicę między znacznikami czasu a danymi audio (w
sekund), aby uruchomić rozciąganie/ściskanie/wypełnianie lub przycinanie danych, aby to zrobić
dopasuj sygnatury czasowe. Domyślnie rozciąganie/ściskanie/wypełnianie i przycinanie to
wyłączone (min_komp = "FLT_MAX").

min_hard_comp
Tylko dla swr ustaw minimalną różnicę między znacznikami czasu a danymi audio (w
sekund), aby wyzwolić dodawanie/upuszczanie próbek, aby dopasować je do znaczników czasu. Ten
opcja skutecznie jest progiem wyboru między twardym (przytnij/wypełnij) a miękkim
Kompensacja (ściskanie/rozciąganie). Pamiętaj, że wszystkie odszkodowania są domyślnie wyłączone
przez min_komp. Wartość domyślna to 0.1.

czas_kompilacji
Tylko dla swr, ustaw czas (w sekundach), przez który dane są rozciągane/ściskane w celu wykonania
pasuje do sygnatur czasowych. Musi być nieujemną wartością podwójnego zmiennoprzecinkowego, wartość domyślna to
1.0.

max_soft_comp
Tylko dla swr, ustaw maksymalny współczynnik, o który dane są rozciągane/ściskane, aby były zgodne
znaczniki czasu. Musi być nieujemną wartością podwójnego zmiennoprzecinkowego, domyślną wartością jest 0.

kodowanie_macierzy
Wybierz matrycowe kodowanie stereo.

Przyjmuje następujące wartości:

Żaden
nie zaznaczaj żadnego

dolby
wybierz Dolby

dplii
wybierz Dolby Pro Logic II

Wartość domyślna to „brak”.

typ_filtra
Tylko dla swr wybierz typ filtra resamplingu. Dotyczy to tylko operacji ponownego próbkowania.

Przyjmuje następujące wartości:

sześcienny
wybierz sześcienny

blackman_nuttall
wybierz Blackman Nuttall Windowed Sinc

Kaiser
wybierz Kaiser Windowed Sinc

kaiser_beta
Tylko dla swr ustaw wartość Kaiser Window Beta. Musi być liczbą całkowitą w przedziale [2,16],
wartość domyślna to 9.

bity_próbek_wyjściowych
Tylko dla swr, ustaw liczbę używanych wyjściowych bitów próbki do ditheringu. Musi być liczbą całkowitą
w przedziale [0,64] wartość domyślna to 0, co oznacza, że ​​nie jest używana.

SKALER OPCJE


Skaler wideo obsługuje następujące nazwane opcje.

Opcje można ustawić, określając -opcja wartość w narzędziach FFmpeg. Do użytku programistycznego,
można je ustawić jawnie w opcjach „SwsContext” lub za pomocą libavutil/opt.h API.

flagi_sws
Ustaw flagi skalera. Jest to również używane do ustawienia algorytmu skalowania. Tylko jeden
należy wybrać algorytm.

Przyjmuje następujące wartości:

szybki_dwuliniowy
Wybierz algorytm szybkiego skalowania dwuliniowego.

dwuliniowy
Wybierz algorytm skalowania dwuliniowego.

dwusześcienny
Wybierz algorytm skalowania bikubicznego.

eksperymentalny
Wybierz eksperymentalny algorytm skalowania.

sąsiad
Wybierz algorytm przeskalowania najbliższego sąsiada.

obszar
Wybierz algorytm przeskalowania obszaru uśredniania.

bikublin
Wybierz dwusześcienny algorytm skalowania dla składowej luma, dwuliniowy dla chroma
składniki.

gaus
Wybierz algorytm skalowania Gaussa.

od
Wybierz algorytm przeskalowania sinc.

lanczosa
Wybierz algorytm przeskalowania lanczosa.

klin
Wybierz naturalny dwusześcienny algorytm przeskalowania splajnu.

druk_informacje
Włącz rejestrowanie drukowania/debugowania.

dokładny_rnd
Włącz dokładne zaokrąglanie.

pełna_chroma_int
Włącz pełną interpolację chrominancji.

pełna_chroma_inp
Wybierz pełne wejście chromatyczne.

bitdokładny
Włącz wyjście bitexact.

źródło
Ustaw szerokość źródła.

sr
Ustaw wysokość źródła.

dsw
Ustaw szerokość docelową.

czas
Ustaw wysokość docelową.

format_źródła
Ustaw format piksela źródłowego (musi być wyrażony jako liczba całkowita).

format_dst
Ustaw docelowy format pikseli (musi być wyrażony jako liczba całkowita).

zakres_src
Wybierz zakres źródłowy.

czas_zakresu
Wybierz zakres docelowy.

param0, param1
Ustaw parametry algorytmu skalowania. Podane wartości są specyficzne dla pewnego skalowania
algorytmy i ignorowane przez innych. Podane wartości są liczbą zmiennoprzecinkową
wartości.

sws_dither
Ustaw algorytm ditheringu. Akceptuje jedną z następujących wartości. Wartość domyślna to
samochód.

samochód
automatyczny wybór

Żaden
bez ditheringu

Bayer
Bayer Dither

ed roztrząsanie dyfuzji błędów

a_dither
roztrząsanie arytmetyczne oparte na dodawaniu

x_dither
roztrząsanie arytmetyczne, oparte na xor (bardziej losowe/mniej widoczne wzornictwo niż
a_roztrząsać).

mieszanka alfa
Ustaw mieszanie alfa, aby było używane, gdy dane wejściowe mają wartość alfa, ale dane wyjściowe nie.
Wartość domyślna to Żaden.

jednolity_kolor
Zmieszaj się z jednolitym kolorem tła

szachownica
Zmiksuj na szachownicę

Żaden
Bez mieszania

FILTRACJA WPROWADZENIE


Filtrowanie w FFmpeg jest włączone przez bibliotekę libavfilter.

W libavfilter filtr może mieć wiele wejść i wiele wyjść. Aby zilustrować
różne rzeczy, które są możliwe, rozważymy następujący filtr.

[Główny]
wejście --> split ---------------------> nakładka --> wyjście
| ^
|[tmp] [przerzucenie]|
+-----> przycinanie --> odwracanie -------+

Ten wykres filtra dzieli strumień wejściowy na dwa strumienie, a następnie przesyła jeden strumień przez
filtr przycinania i filtr vflip, przed połączeniem go z powrotem z innym strumieniem przez
nakładanie go na wierzch. Aby to osiągnąć, możesz użyć następującego polecenia:

ffmpeg -i WEJŚCIE -vf "split [główne][tmp]; [tmp] crop=iw:ih/2:0:0, vflip [flip]; [główne][flip] overlay=0:H/2" WYJŚCIE

W rezultacie górna połowa wideo zostanie odzwierciedlona w dolnej połowie
wyjście wideo.

Filtry w tym samym łańcuchu liniowym są oddzielone przecinkami, a odrębne łańcuchy liniowe
filtry są oddzielone średnikami. W naszym przykładzie kadrowanie, przerzucanie są w jednym łańcuchu liniowym,
dzielić i narzuta są osobno w innym. Punkty, w których łączą się łańcuchy liniowe, to
oznaczone nazwami ujętymi w nawiasy kwadratowe. W tym przykładzie filtr dzielony generuje
dwa wyjścia, które są powiązane z etykietami [Główny] i [tmp].

Strumień wysłany do drugiego wyjścia dzielić, oznaczony jako [tmp], jest przetwarzany przez
wole filtr, który wycina dolną połowę filmu, a następnie w pionie
odwrócony. ten narzuta filtr przyjmuje na wejście pierwsze niezmienione wyjście filtra dzielonego
(który został oznaczony jako [Główny]) i nałóż na jego dolną połowę dane wyjściowe generowane przez
kadrowanie, przerzucanie łańcuch filtrów.

Niektóre filtry przyjmują na wejściu listę parametrów: są one określone po nazwie filtra
i znakiem równości i są oddzielone od siebie dwukropkiem.

Istnieją tak zwane źródło filtry które nie mają wejścia audio/wideo oraz tonąć
filtry które nie będą miały wyjścia audio/wideo.

WYKRES


Połączenia wykres2kropka program zawarty w FFmpeg narzędzia katalog może być użyty do parsowania a
opis filtrowania i wydanie odpowiedniej reprezentacji tekstowej w kropki
język.

Wywołaj polecenie:

wykres2kropka -h

aby zobaczyć, jak używać wykres2kropka.

Następnie możesz przekazać opis kropki do kropka program (z pakietu graphviz z
programów) i uzyskać graficzną reprezentację wykresu filtra.

Na przykład sekwencja poleceń:

Echo | \
tools/graph2dot -o graph.tmp && \
kropka -Tpng graph.tmp -o graph.png && \
wyświetl wykres.png

może służyć do tworzenia i wyświetlania obrazu przedstawiającego wykres opisany przez
GRAPH_DESCRIPTION strunowy. Zauważ, że ten ciąg musi być kompletnym, samodzielnym wykresem,
z jego wejściami i wyjściami wyraźnie zdefiniowanymi. Na przykład, jeśli twoja linia poleceń jest z
formularz:

ffmpeg -i plik wejściowy -vf skala=640:360 plik wyjściowy

Twój GRAPH_DESCRIPTION ciąg będzie musiał mieć postać:

nullsrc,skala=640:360,nullsink

może być również konieczne ustawienie nullsrc parametry i dodaj a format filtruj, aby
symulować określony plik wejściowy.

FILTRGRAF OPIS


Filtergraph to ukierunkowany wykres połączonych filtrów. Może zawierać cykle, a tam
może być wieloma linkami między parą filtrów. Każde łącze ma jedną podkładkę wejściową po jednej stronie
podłączając go do jednego filtra, z którego pobiera swoje wejście, a jednego padu wyjściowego na drugi
strona łącząca go z jednym filtrem akceptującym jego wyjście.

Każdy filtr na wykresie filtrów jest instancją klasy filtra zarejestrowaną w
aplikacja, która definiuje funkcje i liczbę padów wejściowych i wyjściowych
filtr.

Filtr bez padów wejściowych nazywany jest „źródłem”, a filtr bez padów wyjściowych to
zwany „zlewem”.

Wykres filtra składnia
Wykres filtracyjny ma reprezentację tekstową, która jest rozpoznawana przez -filtr/-vf/-af i
-filter_kompleks opcje ffmpeg i -vf/-af in ffplayOraz przez
Funkcja „avfilter_graph_parse_ptr()” zdefiniowana w libavfilter/avfilter.h.

Łańcuch filtrów składa się z sekwencji połączonych filtrów, z których każdy jest połączony z
poprzedni w kolejności. Łańcuch filtrów jest reprezentowany przez listę ","-separated
opisy filtrów.

Wykres filtra składa się z sekwencji łańcuchów filtrów. Sekwencja łańcuchów filtrów to
reprezentowana przez listę opisów łańcucha filtrów oddzielonych „;”.

Filtr jest reprezentowany przez ciąg postaci:
[w_link_1]...[w_linku_N]nazwa_filtra=argumenty[out_link_1]...[out_link_M]

nazwa_filtra to nazwa klasy filtra, której instancją jest opisywany filtr
of i musi być nazwą jednej z klas filtrów zarejestrowanych w programie. ten
po nazwie klasy filtra opcjonalnie następuje ciąg "=argumenty".

argumenty to ciąg znaków, który zawiera parametry używane do inicjalizacji filtra
instancja. Może mieć jedną z dwóch form:

· Oddzielona ':' lista klucz=wartość par.

· Oddzielona ':' lista wartość. W tym przypadku zakłada się, że klawisze są opcją
nazwiska w kolejności, w jakiej zostały zadeklarowane. Np. filtr „fade” deklaruje trzy opcje w
ten porzadek -- rodzaj, ramka_początkowa i nb_ramek. Następnie lista parametrów w:0:30 znaczy
że wartość in jest przypisany do opcji rodzaj, 0 do ramka_początkowa i 30 do
nb_ramek.

· Oddzielona ':' lista mieszanych bezpośrednich wartość i długi klucz=wartość pary. Bezpośredni wartość
musi poprzedzać klucz=wartość par i postępuj zgodnie z tą samą kolejnością ograniczeń
poprzedni punkt. Następujące klucz=wartość pary można ustawiać w dowolnej preferowanej kolejności.

Jeśli sama wartość opcji jest listą elementów (np. filtr "format" przyjmuje listę
formaty pikseli), pozycje na liście są zwykle oddzielone |.

Listę argumentów można cytować za pomocą znaku ' jako początkowy i końcowy znak, oraz
charakter \ do ucieczki znaków w cytowanym tekście; w przeciwnym razie argument
łańcuch jest uważany za zakończony, gdy następny znak specjalny (należący do zestawu
[]=;,).

Nazwa i argumenty filtra są opcjonalnie poprzedzone i poprzedzone listą
etykiety łączy. Etykieta linku pozwala nazwać link i powiązać go z danymi wyjściowymi filtra
lub pad wejściowy. Poprzednie etykiety w_link_1 ... w_linku_N, są powiązane z filtrem
pady wejściowe, następujące etykiety out_link_1 ... out_link_M, są powiązane z wyjściem
klocki.

Gdy na wykresie filtra zostaną znalezione dwie etykiety linków o tej samej nazwie, link między
zostanie utworzony odpowiedni pad wejściowy i wyjściowy.

Jeśli pad wyjściowy nie jest oznaczony, jest domyślnie połączony z pierwszym nieopisanym wejściem
wkładka następnego filtra w łańcuchu filtrów. Na przykład w łańcuchu filtrów

nullsrc, split[L1], [L2]nakładka, nullsink

instancja filtra dzielonego ma dwa pady wyjściowe, a instancja filtra nakładki dwa wejścia
naramienniki. Pierwszy pad wyjściowy podziału jest oznaczony jako „L1”, a pierwszy pad wejściowy nakładki to
oznaczony jako „L2”, a drugi pad wyjściowy splitu jest połączony z drugim padem wejściowym
nakładki, które są nieoznaczone.

W opisie filtra, jeśli etykieta wejściowa pierwszego filtra nie jest określona, ​​"in" to
przypuszczalny; jeśli etykieta wyjściowa ostatniego filtru nie jest określona, ​​przyjmowane jest "out".

W kompletnym łańcuchu filtrów wszystkie nieoznaczone wkładki wejściowe i wyjściowe filtra muszą być
połączony. Wykres filtra jest uważany za ważny, jeśli wszystkie wkładki wejściowe i wyjściowe filtra
wszystkie łańcuchy filtrów są połączone.

Libavfilter wstawi się automatycznie skala filtry, w których wymagana jest konwersja formatu.
Możliwe jest określenie flag swscale dla automatycznie wstawianych skalerów przez
poprzedzające "sws_flags=flagi;" do opisu filtra.

Oto opis BNF składni wykresu filtra:

::= ciąg znaków alfanumerycznych i „_”
::= "[" "]"
::= [ ]
::= ciąg znaków (prawdopodobnie cytowany)
::= [ ] ["=" ] [ ]
::= [, ]
::= [flagi_sws= ;] [; ]

Uwagi on wykres filtracyjny uciekać
Kompozycja opisu filtrografu pociąga za sobą kilka poziomów ucieczki. Widzieć dotychczasowy „Cytowanie
i ucieczka” Sekcja in dotychczasowy narzędzia ffmpeg(1) podręcznik aby uzyskać więcej informacji na temat
zastosował procedurę ucieczki.

Ucieczka pierwszego poziomu wpływa na zawartość każdej wartości opcji filtra, która może zawierać
znak specjalny ":" używany do oddzielania wartości lub jeden ze znaków ucieczki "\'".

Ucieczka drugiego poziomu wpływa na cały opis filtra, który może zawierać
znaki specjalne "\'" lub znaki specjalne "[],;" używany przez filtergraph
opis.

Na koniec, kiedy podasz wykres filtra w wierszu poleceń powłoki, musisz wykonać a
trzeci poziom ucieczki dla zawartych w nim znaków specjalnych powłoki.

Rozważmy na przykład, że następujący ciąg zostanie osadzony w tekst rysunkowy filtrować
opis XNUMX wartość:

to jest „ciąg”: może zawierać jeden lub więcej znaków specjalnych

Ten ciąg zawiera specjalny znak ucieczki „'” i znak specjalny „:”, więc
należy uciec w ten sposób:

text=to jest \'ciąg \'\: może zawierać jeden lub więcej znaków specjalnych

Drugi poziom ucieczki jest wymagany podczas osadzania opisu filtra w a
opis wykresu filtra, aby uniknąć wszystkich znaków specjalnych wykresu filtra. Zatem
powyższy przykład staje się:

drawtext=text=to jest \\\'ciąg \\\'\\: może zawierać jeden\ lub więcej\ znaków specjalnych

(zwróć uwagę, że oprócz znaku „\” uciekającego przed znakami specjalnymi, również "," musi być
uciekł).

Wreszcie, podczas pisania opisu filtru potrzebny jest dodatkowy poziom ucieczki
w poleceniu powłoki, które zależy od reguł ucieczki przyjętej powłoki. Na przykład,
zakładając, że "\" jest specjalny i musi być poprzedzony innym "\", poprzednim ciągiem
ostatecznie zaowocuje:

-vf "drawtext=text=to jest \\\\\\'ciąg \\\\\\'\\\\: może zawierać jeden\\ lub więcej\\ znaków specjalnych"

TIMELINE REDAGOWANIE


Niektóre filtry obsługują ogólny umożliwiać opcja. W przypadku filtrów obsługujących edycję osi czasu,
ta opcja może być ustawiona na wyrażenie, które jest oceniane przed wysłaniem ramki do
filtr. Jeśli ocena jest niezerowa, filtr zostanie włączony, w przeciwnym razie ramka
zostanie wysłany bez zmian do następnego filtra na wykresie filtra.

Wyrażenie przyjmuje następujące wartości:

t znacznik czasu wyrażony w sekundach, NAN, jeśli wejściowy znacznik czasu jest nieznany

n kolejny numer ramki wejściowej, zaczynając od 0

pisać pozycja w pliku ramki wejściowej, NAN jeśli nieznana

w
h szerokość i wysokość ramki wejściowej, jeśli wideo

Ponadto filtry te obsługują umożliwiać polecenie, którego można użyć do przedefiniowania
wyrażenie.

Jak każda inna opcja filtrowania, umożliwiać opcja podlega tym samym zasadom.

Na przykład, aby włączyć filtr rozmycia (inteligentne rozmycie) od 10 sekund do 3 minut oraz a
Krzywe filtrowanie od 3 sekund:

smartblur = enable='między(t,10,3*60)',
krzywe = enable='gte(t,3)' : preset=cross_process

AUDIO FILTRY


Kiedy konfigurujesz swoją kompilację FFmpeg, możesz wyłączyć dowolny z istniejących filtrów za pomocą
„--wyłącz-filtry”. Dane wyjściowe konfiguracji pokażą filtry audio zawarte w twoim
budować.

Poniżej znajduje się opis aktualnie dostępnych filtrów audio.

przenikanie
Zastosuj crossfade z jednego wejściowego strumienia audio do innego wejściowego strumienia audio. Krzyż
zanikanie jest stosowane przez określony czas pod koniec pierwszego strumienia.

Filtr akceptuje następujące opcje:

nb_próbek, ns
Określ liczbę próbek, dla których efekt przenikania ma trwać. Na końcu
efektu crossfade pierwszy sygnał wejściowy będzie całkowicie cichy. Wartość domyślna to
44100.

Trwanie, d
Określ czas trwania efektu przenikania. Widzieć dotychczasowy Czas czas trwania Sekcja in dotychczasowy
narzędzia ffmpeg(1) podręcznik dla przyjętej składni. Domyślnie określony jest czas trwania
by nb_próbek. Jeśli jest ustawiona, ta opcja jest używana zamiast nb_próbek.

zachodzić na siebie, o
Czy koniec pierwszego strumienia powinien pokrywać się z początkiem drugiego strumienia. Domyślnie jest włączone.

krzywa1
Ustaw krzywą przejścia crossfade dla pierwszego strumienia.

krzywa2
Ustaw krzywą przejścia crossfade dla drugiego strumienia.

Opis dostępnych typów krzywych patrz zanikać opis filtra.

Przykłady

· Przenikanie z jednego wejścia do drugiego:

ffmpeg -i pierwszy.flac -i drugi.flac -filter_complex crossfade=d=10:c1=exp:c2=exp output.flac

· Przenikanie z jednego wejścia do drugiego, ale bez nakładania się:

ffmpeg -i pierwszy.flac -i drugi.flac -filter_complex crossfade=d=10:o=0:c1=exp:c2=exp output.flac

opóźnienie
Opóźnij jeden lub więcej kanałów audio.

Próbki w kanale opóźnionym są wypełnione ciszą.

Filtr akceptuje następującą opcję:

opóźnienia
Ustaw listę opóźnień w milisekundach dla każdego kanału rozdzielonych znakiem '|'. Przynajmniej jeden
należy podać opóźnienie większe niż 0. Niewykorzystane opóźnienia będą po cichu ignorowane. Jeśli
liczba podanych opóźnień jest mniejsza niż liczba kanałów wszystkie pozostałe kanały będą
nie zwlekaj.

Przykłady

· Opóźnienie pierwszego kanału o 1.5 sekundy, trzeciego kanału o 0.5 sekundy i pozostawienie
drugi kanał (i wszelkie inne kanały, które mogą być obecne) bez zmian.

opóźnienie=1500|0|500

echo
Zastosuj echo do wejściowego dźwięku.

Echa są odbitym dźwiękiem i mogą występować naturalnie w górach (a czasami duże
budynki) podczas mówienia lub krzyczenia; cyfrowe efekty echa naśladują to zachowanie i są
często używany do wypełnienia dźwięku pojedynczego instrumentu lub wokalu. Różnica czasu
między pierwotnym sygnałem a odbiciem jest „opóźnienie”, a głośność
sygnał odbity to „zanik”. Wiele ech może mieć różne opóźnienia i zaniki.

Poniżej znajduje się opis akceptowanych parametrów.

zysk_
Ustaw wzmocnienie wejściowe sygnału odbitego. Wartość domyślna to 0.6.

out_zysk
Ustaw wzmocnienie wyjściowe odbitego sygnału. Wartość domyślna to 0.3.

opóźnienia
Ustaw listę odstępów czasu w milisekundach między oryginalnym sygnałem a odbiciami
oddzielone znakiem '|'. Dozwolony zakres dla każdego „opóźnienia” to „(0 – 90000.0]”. Wartość domyślna to 1000.

rozkłada się
Ustaw listę głośności odbitych sygnałów oddzielonych znakiem '|'. Dozwolony zakres dla każdego
„Zanik” to „(0 – 1.0]”. Wartość domyślna to 0.5.

Przykłady

· Spraw, aby brzmiało to tak, jakby było dwa razy więcej instrumentów niż faktycznie gra:

echo=0.8:0.88:60:0.4

· Jeśli opóźnienie jest bardzo krótkie, to brzmi jak (metaliczny) robot grający muzykę:

echo=0.8:0.88:6:0.4

· Dłuższe opóźnienie zabrzmi jak koncert plenerowy w górach:

echo=0.8:0.9:1000:0.3

· Tak samo jak powyżej, ale z jeszcze jedną górą:

aecho=0.8:0.9:1000|1800:0.3|0.25

eval
Zmodyfikuj sygnał audio zgodnie z określonymi wyrażeniami.

Ten filtr akceptuje jedno lub więcej wyrażeń (po jednym dla każdego kanału), które są oceniane
i używane do modyfikowania odpowiedniego sygnału audio.

Przyjmuje następujące parametry:

wyrażenie
Ustaw listę wyrażeń rozdzielonych '|' dla każdego oddzielnego kanału. Jeśli liczba
kanały wejściowe są większe niż liczba wyrażeń, ostatnie określone
wyrażenie jest używane dla pozostałych kanałów wyjściowych.

układ_kanałowy, c
Ustaw układ kanału wyjściowego. Jeśli nie określono, układ kanału jest określony przez
liczba wyrażeń. Jeśli ustawione na taki sam, domyślnie użyje tego samego kanału wejściowego
układ.

Każde wyrażenie w wyrażenie może zawierać następujące stałe i funkcje:

ch numer kanału bieżącego wyrażenia

n numer ocenianej próby, począwszy od 0

s próbna stawka

t czas ocenianej próbki wyrażony w sekundach

nb_w_kanałach
nb_kanały_wyjściowe
liczba kanałów wejściowych i wyjściowych

wart(CH)
wartość kanału wejściowego z numerem CH

Uwaga: ten filtr działa wolno. Aby przyspieszyć przetwarzanie, powinieneś użyć dedykowanego filtra.

Przykłady

· Połowa objętości:

aeval=val(ch)/2:c=to samo

· Odwrócona faza drugiego kanału:

ewal=val(0)|-val(1)

zanikać
Zastosuj efekt zanikania/zanikania do wejściowego dźwięku.

Poniżej znajduje się opis akceptowanych parametrów.

rodzaj, t
Określ typ efektu, może być „in” dla zanikania lub „out” dla wyciszania
efekt. Wartość domyślna to „w”.

początek_przykładu, ss
Określ numer próbki początkowej, aby rozpocząć stosowanie efektu zanikania. Domyślna
to 0.

nb_próbek, ns
Określ liczbę sampli, dla których efekt zanikania ma trwać. Na końcu
efekt zanikania dźwięk wyjściowy będzie miał taką samą głośność jak dźwięk wejściowy, przy
po zakończeniu przejścia wyciszania dźwięk wyjściowy będzie wyciszony. Wartość domyślna to 44100.

czas rozpoczęcia, st
Określ czas rozpoczęcia efektu zanikania. Wartość domyślna to 0. Wartość musi być określona
jako czas trwania; zobaczyć dotychczasowy Czas czas trwania Sekcja in dotychczasowy narzędzia ffmpeg(1) podręcznik dla
przyjęta składnia. Jeśli jest ustawiona, ta opcja jest używana zamiast początek_przykładu.

Trwanie, d
Określ czas trwania efektu zanikania. Widzieć dotychczasowy Czas czas trwania Sekcja in dotychczasowy
narzędzia ffmpeg(1) podręcznik dla przyjętej składni. Pod koniec efektu zanikania
dźwięk wyjściowy będzie miał taką samą głośność jak dźwięk wejściowy, pod koniec wyciszania
przejście wyjście audio będzie cisza. Domyślnie czas trwania określany jest przez
nb_próbek. Jeśli jest ustawiona, ta opcja jest używana zamiast nb_próbek.

krzywa
Ustaw krzywą przejścia zanikania.

Przyjmuje następujące wartości:

tri wybierz trójkątne, liniowe nachylenie (domyślne)

qsin
wybierz ćwierć fali sinusoidalnej

hsin
wybierz połowę sinusoidy

inspiracja
wybierz wykładniczą sinusoidę

log wybierz logarytmiczne

szwagier
wybierz odwróconą parabolę

tutaj wybierz kwadratowe

kostka wybierz sześcienny

squir wybierz pierwiastek kwadratowy

cbr wybierz pierwiastek sześcienny

przez wybierz parabolę

exp wybierz wykładniczy

iqsin
wybierz odwróconą ćwiartkę sinusoidy

ihsin
wybierz odwróconą połowę sinusoidy

życzenie
wybierz podwójne wykładnicze miejsce

desi
wybierz sigmoid podwójnie wykładniczy

Przykłady

· Zanikanie w pierwszych 15 sekundach dźwięku:

afade=t=w:ss=0:d=15

· Wycisz ostatnie 25 sekund 900-sekundowego dźwięku:

afade=t=out:st=875:d=25

format
Ustaw ograniczenia formatu wyjściowego dla dźwięku wejściowego. Ramy będą negocjować najwięcej
odpowiedni format, aby zminimalizować konwersje.

Przyjmuje następujące parametry:

przykładowe_fmts
Lista żądanych formatów przykładowych rozdzielonych znakami '|'.

przykładowe_stawki
Lista żądanych częstotliwości próbkowania rozdzielonych „|”.

układy kanałów
Lista żądanych układów kanałów rozdzielonych '|'.

See dotychczasowy Kanał układ Sekcja in dotychczasowy narzędzia ffmpeg(1) podręcznik dla wymaganej składni.

Jeśli parametr zostanie pominięty, wszystkie wartości są dozwolone.

Wymuś wyjście jako stereofoniczne 8-bitowe bez znaku lub 16-bitowe ze znakiem

aformat=sample_fmts=u8|s16:channel_layouts=stereo

wszyscy przechodzą
Zastosuj dwubiegunowy filtr wszechprzepustowy o częstotliwości środkowej (w Hz) częstotliwość, i filtr-
szerokość szerokość. Filtr wszechprzepustowy zmienia częstotliwość dźwięku na zależność fazową
bez zmiany stosunku częstotliwości do amplitudy.

Filtr akceptuje następujące opcje:

częstotliwość, f
Ustaw częstotliwość w Hz.

typ_szerokości
Ustaw metodę, aby określić szerokość pasma filtra.

h Hz

q Współczynnik Q

o oktawa

s nachylenie

szerokość, w
Określ szerokość pasma filtru w jednostkach typ_szerokości.

łączyć się
Połącz dwa lub więcej strumieni audio w jeden wielokanałowy strumień.

Filtr akceptuje następujące opcje:

Wejścia
Ustaw liczbę wejść. Wartość domyślna to 2.

Jeśli układy kanałów wejść są rozłączne, a zatem kompatybilne, kanał
układ wyjścia zostanie odpowiednio ustawiony, a kanały zostaną uporządkowane jako
niezbędny. Jeśli układy kanałów wejść nie są rozłączne, na wyjściu będą wszystkie
kanały pierwszego wejścia, następnie wszystkie kanały drugiego wejścia, w tej kolejności,
a układ kanału wyjścia będzie wartością domyślną odpowiadającą sumie
Liczba kanałów.

Na przykład, jeśli pierwsze wejście to 2.1 (FL+FR+LF), a drugie wejście to FC+BL+BR,
wtedy wyjście będzie w 5.1, z kanałami w następującej kolejności: a1, a2, b1, a3,
b2, b3 (a1 to pierwszy kanał pierwszego wejścia, b1 to pierwszy kanał drugiego)
Wejście).

Z drugiej strony, jeśli oba wejścia są w stereo, kanały wyjściowe będą ustawione domyślnie
kolejność: a1, a2, b1, b2, a układ kanałów zostanie dowolnie ustawiony na 4.0, co może lub
może nie być wartością oczekiwaną.

Wszystkie wejścia muszą mieć tę samą częstotliwość próbkowania i format.

Jeśli wejścia nie mają tego samego czasu trwania, wyjście zatrzyma się najkrócej.

Przykłady

· Połącz dwa pliki mono w strumień stereo:

amovie=lewo.wav [l] ; amovie=prawo.mp3 [r] ; [l] [r] amerge

· Wiele połączeń, zakładając 1 strumień wideo i 6 strumieni audio w wejście.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 wyjście.mkv

mieszać
Miksuje wiele wejść audio w jedno wyjście.

Zauważ, że ten filtr obsługuje tylko próbki zmiennoprzecinkowe ( łączyć się i pan filtry audio
obsługuje wiele formatów). Jeśli mieszać wejście ma wtedy próbki całkowite przykładowy będzie
automatycznie wstawiane, aby wykonać konwersję do próbek pływających.

Na przykład

ffmpeg -i WEJŚCIE1 -i WEJŚCIE2 -i WEJŚCIE3 -filter_complex amix=inputs=3:duration=first:dropout_transition=3 WYJŚCIE

zmiksuje 3 wejściowe strumienie audio do jednego wyjścia o takim samym czasie trwania jak pierwszy
wejście i czas przejścia dla przerwania 3 sekundy.

Przyjmuje następujące parametry:

Wejścia
Liczba wejść. Jeśli nie jest określony, domyślnie wynosi 2.

czas trwania
Jak określić koniec strumienia.

najdłużej
Czas trwania najdłuższego wejścia. (domyślna)

najkrótsza
Czas trwania najkrótszego wejścia.

drugim
Czas trwania pierwszego wejścia.

przerwa_przejście
Czas przejścia (w sekundach) na renormalizację głośności po zakończeniu strumienia wejściowego.
Wartość domyślna to 2 sekund.

anulacja
Przekaż niezmienione źródło dźwięku do wyjścia.

Podkładka
Wypełnij koniec strumienia audio ciszą.

Może być używany razem z ffmpeg -najkrótszy aby rozszerzyć strumienie audio do tej samej długości
jako strumień wideo.

Poniżej znajduje się opis akceptowanych opcji.

rozmiar_pakietu
Ustaw rozmiar pakietu ciszy. Wartość domyślna to 4096.

pad_len
Ustaw liczbę próbek ciszy do dodania na koniec. Po osiągnięciu wartości,
strumień jest zakończony. Ta opcja wyklucza się wzajemnie z cały_len.

cały_len
Ustaw minimalną całkowitą liczbę próbek w wyjściowym strumieniu audio. Jeśli wartość to
dłuższa niż długość wejściowego dźwięku, na końcu dodawana jest cisza, aż do uzyskania wartości
osiągnięty. Ta opcja wyklucza się wzajemnie z pad_len.

Jeśli żadne pad_len ani cały_len opcja jest ustawiona, filtr doda ciszy do
koniec strumienia wejściowego na czas nieokreślony.

Przykłady

· Dodaj 1024 próbki ciszy na końcu wejścia:

apad=pad_len=1024

· Upewnij się, że wyjście audio będzie zawierać co najmniej 10000 próbek, dopełnij wejście za pomocą
cisza w razie potrzeby:

apad=cały_len=10000

· Posługiwać się ffmpeg aby wzmocnić wejście audio ciszą, aby strumień wideo był zawsze
wynik najkrótszy i zostanie przekonwertowany do końca w pliku wyjściowym podczas używania
dotychczasowy najkrótsza opcja:

ffmpeg -i WIDEO -i AUDIO -filter_complex "[1:0]apad" -najkrótsze WYJŚCIE

afazer
Dodaj efekt fazowania do wejściowego dźwięku.

Filtr fazerowy tworzy serie szczytów i dołków w widmie częstotliwości. ten
położenie szczytów i dolin jest modulowane tak, aby zmieniały się w czasie, tworząc a
efekt zamiatania.

Poniżej znajduje się opis akceptowanych parametrów.

zysk_
Ustaw wzmocnienie wejścia. Wartość domyślna to 0.4.

out_zysk
Ustaw wzmocnienie wyjściowe. Wartość domyślna to 0.74

opóźnienie
Ustaw opóźnienie w milisekundach. Wartość domyślna to 3.0.

próchnica
Ustaw rozkład. Wartość domyślna to 0.4.

prędkość
Ustaw prędkość modulacji w Hz. Wartość domyślna to 0.5.

rodzaj
Ustaw typ modulacji. Domyślnie jest trójkątny.

Przyjmuje następujące wartości:

trójkątny, t
sinusoidalny, s

przykładowy
Ponownie próbkuj dźwięk wejściowy do określonych parametrów, używając biblioteki libswresample. Jeśli
żadne nie są określone, filtr automatycznie przekonwertuje dane wejściowe i
wyjście.

Ten filtr może również rozciągać/ściskać dane audio, aby dopasować je do znaczników czasu
lub aby wprowadzić ciszę / wyciąć dźwięk, aby dopasować go do znaczników czasu, wykonaj kombinację
jedno i drugie albo nie.

Filtr akceptuje składnię [próbna stawka:]opcje_ponownego próbkowania, Gdzie próbna stawka wyraża
częstotliwość próbkowania i opcje_ponownego próbkowania to lista klucz=wartość pary, oddzielone znakiem ":". Widzieć
instrukcja ffmpeg-resampler zawiera pełną listę obsługiwanych opcji.

Przykłady

· Ponowne próbkowanie wejściowego dźwięku do 44100 Hz:

arepróbka=44100

· Rozciąganie/ściskanie próbek do podanych znaczników czasu, maksymalnie 1000 próbek na
druga rekompensata:

aresample=async=1000

assetprzykłady
Ustaw liczbę próbek na każdą wyjściową ramkę audio.

Ostatni pakiet wyjściowy może zawierać inną liczbę próbek, ponieważ filtr zostanie przepłukany
wszystkie pozostałe próbki, gdy sygnał wejściowy audio sygnalizuje jego koniec.

Filtr akceptuje następujące opcje:

nb_out_samples, n
Ustaw liczbę klatek na każdą wyjściową ramkę audio. Numer jest przeznaczony jako
Liczba przykładów dla każdy kanał. Wartość domyślna to 1024.

Podkładka, p
Jeśli jest ustawiony na 1, filtr dopełni ostatnią klatkę audio zerami, tak aby ostatnia
ramka będzie zawierała taką samą liczbę próbek jak poprzednie. Wartość domyślna to
1.

Na przykład, aby ustawić liczbę próbek na klatkę na 1234 i wyłączyć dopełnienie dla
ostatnia klatka, użyj:

asetyprzykłady=n=1234:p=0

assetrate
Ustaw częstotliwość próbkowania bez zmiany danych PCM. Spowoduje to zmianę prędkości
i boisko.

Filtr akceptuje następujące opcje:

próbna stawka, r
Ustaw wyjściową częstotliwość próbkowania. Wartość domyślna to 44100 Hz.

pokaż informacje
Pokaż wiersz zawierający różne informacje dla każdej wejściowej ramki audio. Dźwięk wejściowy jest
niezmodyfikowany.

Pokazany wiersz zawiera sekwencję par klucz/wartość formularza klucz:wartość.

Na wyjściu pokazane są następujące wartości:

n Numer (sekwencyjny) ramki wejściowej, zaczynając od 0.

pkt Znacznik czasu prezentacji ramki wejściowej, w jednostkach podstawy czasu; podstawa czasu
zależy od wkładki wejściowej filtra i zwykle wynosi 1/próbna stawka.

pts_czas
Znacznik czasu prezentacji ramki wejściowej w sekundach.

pisać pozycja ramki w strumieniu wejściowym, -1 jeśli ta informacja jest niedostępna
i/lub bez znaczenia (na przykład w przypadku dźwięku syntetycznego)

fmt Przykładowy format.

rozplanowanie
Układ kanałów.

stawka
Częstotliwość próbkowania dla ramki audio.

nb_próbek
Liczba próbek (na kanał) w ramce.

suma kontrolna
Suma kontrolna Adler-32 (wydrukowana w systemie szesnastkowym) danych audio. Dla dźwięku planarnego,
dane są traktowane tak, jakby wszystkie płaszczyzny były połączone.

samolot_suma kontrolna
Lista sum kontrolnych Adler-32 dla każdej płaszczyzny danych.

astaty
Wyświetlaj informacje statystyczne w dziedzinie czasu o kanałach audio. Statystyki są
obliczona i wyświetlona dla każdego kanału audio oraz, w stosownych przypadkach, ogólna liczba
jest również podana.

Akceptuje następującą opcję:

długość
Krótka długość okna w sekundach, używana do pomiaru wartości szczytowej i minimalnej RMS. Wartość domyślna to
0.05 (50 milisekund). Dozwolony zakres to „[0.1–10]”.

metadanych
Ustaw wstrzykiwanie metadanych. Wszystkie klucze metadanych mają przedrostek „lavfi.astats.X”,
gdzie „X” to numer kanału zaczynający się od 1 lub ciąg „Ogólny”. Domyślnie jest wyłączone.

Dostępne klucze dla każdego kanału to: DC_offset Min_level Max_level Min_różnica
Maksymalna_różnica Średnia_różnica Poziom_szczytowy RMS_szczyt RMS_dołek Współczynnik_szczytu Współczynnik_płaski
Liczba_szczytów Głębia_bitów

i dla Ogólnie: DC_offset Min_level Max_level Min_difference Max_difference
Średnia_różnica Poziom_szczytu Poziom_wartości RMS_Szczyt_RMS_dołek_współczynnika Płaski_współczynnik Liczba_szczytów
Głębokość_bitowa Liczba_próbek

Na przykład pełny klucz wygląda tak "lavfi.astats.1.DC_offset" lub tak
„lavfi.astats.Ogólna.liczba_szczytów”.

Aby uzyskać opis, co oznacza każdy klucz, przeczytaj poniżej.

zresetuj
Ustaw liczbę klatek, po których statystyki zostaną przeliczone. Wartość domyślna to
niepełnosprawny.

Poniżej znajduje się opis każdego pokazanego parametru:

DC offset
Średnie przesunięcie amplitudy od zera.

Min poziom
Minimalny poziom próbki.

Max poziom
Maksymalny poziom próbki.

Min różnica
Minimalna różnica między dwiema kolejnymi próbkami.

Max różnica
Maksymalna różnica między dwiema kolejnymi próbkami.

Oznaczać różnica
Średnia różnica między dwiema kolejnymi próbkami. Średnia z każdej różnicy
między dwiema kolejnymi próbkami.

Szczyt poziom dB
RMS poziom dB
Standardowy poziom szczytowy i RMS mierzony w dBFS.

RMS szczyt dB
RMS przez dB
Wartości szczytowe i minimalne dla poziomu RMS mierzone w krótkim oknie.

Herb czynnik
Standardowy stosunek wartości szczytowej do poziomu RMS (uwaga: nie w dB).

Mieszkanie czynnik
Płaskość (tzn. kolejne próbki o tej samej wartości) sygnału w jego piku
poziomy (tzn. albo Min poziom or Max poziom).

Szczyt liczyć
Liczba przypadków (nie liczba próbek), w których uzyskano sygnał Min
poziom or Max poziom.

Bit głębokość
Ogólna głębia bitowa dźwięku. Liczba bitów użytych dla każdej próbki.

synchronizacja strumieniowa
Prześlij dwa strumienie audio i kontroluj kolejność przekazywania buforów.

Filtr akceptuje następujące opcje:

wyraż, e
Ustaw wyrażenie decydujące o tym, który strumień powinien być dalej przekazywany: jeśli wynik to
ujemny, pierwszy strumień jest przekazywany; jeśli wynik jest dodatni lub zerowy, drugi
strumień jest przekazywany. Może używać następujących zmiennych:

b1 b2
liczba buforów przekazanych do tej pory w każdym strumieniu

s1 s2
liczba próbek przesłanych do tej pory w każdym strumieniu

t1 t2
aktualny znacznik czasu każdego strumienia

Domyślna wartość to „t1-t2”, co oznacza, że ​​zawsze przesyłać dalej strumień, który ma
mniejszy znacznik czasu.

Przykłady

Test warunków skrajnych „amerge” poprzez losowe wysyłanie buforów na niewłaściwym wejściu, unikając jednocześnie
dużo desynchronizacji:

amovie=plik.ogg [a] ; amovie=plik.mp3 [b] ;
[a] [b] astreamsync=(2*przypadkowy(1))-1+tanh(5*(t1-t2)) [a2] [b2] ;
[a2] [b2] łączyć

asyncty
Synchronizuj dane audio ze znacznikami czasu, ściskając/rozciągając je i/lub upuszczając
próbki/dodawanie ciszy w razie potrzeby.

Ten filtr nie jest budowany domyślnie, użyj przykładowy zrobić wyciskanie/rozciąganie.

Przyjmuje następujące parametry:

kompensować
Włącz rozciąganie/ściskanie danych, aby dopasować je do znaczników czasu. Wyłączone przez
domyślna. Po wyłączeniu przerwy czasowe są zakrywane ciszą.

min_delta
Minimalna różnica między znacznikami czasu a danymi dźwiękowymi (w sekundach) do wyzwolenia
dodawanie/upuszczanie próbek. Wartość domyślna to 0.1. Jeśli uzyskasz niedoskonałą synchronizację z
ten filtr, spróbuj ustawić ten parametr na 0.

maks_komp
Maksymalna kompensacja w próbkach na sekundę. Dotyczy tylko kompensacji=1. ten
wartość domyślna to 500.

pierwszy_pts
Załóżmy, że pierwszy PTS powinien mieć tę wartość. Podstawa czasu to 1 / częstotliwość próbkowania. Ten
pozwala na dopełnienie/przycinanie na początku strumienia. Domyślnie żadne założenie nie jest
wykonane z oczekiwanym PTS dla pierwszej klatki, więc nie jest wykonywane żadne dopełnienie ani przycinanie. Do
na przykład może to być ustawione na 0, aby uzupełnić początek ciszą, jeśli strumień audio
rozpoczyna się po strumieniu wideo lub przycina próbki z ujemnym PTS z powodu
opóźnienie enkodera.

tempo
Dostosuj tempo dźwięku.

Filtr akceptuje dokładnie jeden parametr, tempo audio. Jeśli nie określono, to
filtr przyjmie nominalne tempo 1.0. Tempo musi mieścić się w zakresie [0.5, 2.0].

Przykłady

· Zwolnij dźwięk do 80% tempa:

tempo=0.8

· Aby przyspieszyć dźwięk do 125% tempa:

tempo=1.25

atrym
Przytnij dane wejściowe tak, aby dane wyjściowe zawierały jedną ciągłą podczęść danych wejściowych.

Przyjmuje następujące parametry:

początek
Znacznik czasu (w sekundach) początku odcinka do zachowania. Np. próbka audio z
znacznik czasu początek będzie pierwszą próbką w danych wyjściowych.

zakończenia Określ czas pierwszej próbki audio, która zostanie odrzucona, tj. próbki audio
bezpośrednio poprzedzający ten ze znacznikiem czasu zakończenia będzie ostatnią próbką w
wyjście.

punkty_początkowe
Taki sam jak początek, z wyjątkiem tego, że ta opcja ustawia początkowy znacznik czasu w próbkach zamiast
towary drugiej jakości.

koniec_pts
Taki sam jak zakończenia, z tą różnicą, że ta opcja ustawia znacznik czasu zakończenia w próbkach zamiast w sekundach.

czas trwania
Maksymalny czas trwania wyjścia w sekundach.

początek_przykładu
Numer pierwszej próbki, która powinna zostać wyprowadzona.

próbka_końcowa
Numer pierwszej próbki, która powinna zostać upuszczona.

początek, zakończenia, czas trwania są wyrażone jako specyfikacje czasu trwania; zobaczyć dotychczasowy Czas
czas trwania Sekcja in dotychczasowy narzędzia ffmpeg(1) podręcznik.

Zwróć uwagę, że pierwsze dwa zestawy opcji początku/końca oraz czas trwania opcja spójrz na
znacznik czasu ramki, podczas gdy opcje _sample po prostu zliczają próbki, które przechodzą przez
filtr. Tak więc start/end_pts i start/end_sample dadzą różne wyniki, gdy
znaczniki czasu są nieprawidłowe, niedokładne lub nie zaczynają się od zera. Należy również pamiętać, że ten filtr nie
modyfikować sygnatury czasowe. Jeśli chcesz, aby wyjściowe znaczniki czasu zaczynały się od zera, wstaw znak
filtr assetpts po filtrze atrim.

Jeśli ustawionych jest wiele opcji rozpoczęcia lub zakończenia, ten filtr stara się być zachłanny i zachować wszystkie
próbki, które pasują do co najmniej jednego z określonych ograniczeń. Aby zachować tylko tę część, która
dopasowuje wszystkie ograniczenia jednocześnie, łączy wiele filtrów atrimów.

Wartości domyślne są takie, że wszystkie dane wejściowe są zachowywane. Można więc ustawić np. tylko
wartości końcowe, aby zachować wszystko przed określonym czasem.

Przykłady:

· Porzuć wszystko oprócz drugiej minuty wprowadzania danych:

ffmpeg -i WEJŚCIE -af atrim=60:120

· Zachowaj tylko pierwsze 1000 próbek:

ffmpeg -i WEJŚCIE -af atrim=end_sample=1000

przepustka
Zastosuj dwubiegunowy filtr pasmowoprzepustowy Butterwortha o częstotliwości środkowej częstotliwość,
(3dB-punkty) szerokość pasma. ten csg opcja wybiera stałe wzmocnienie osłony (wzmocnienie szczytowe =
Q) zamiast domyślnego: stałe wzmocnienie szczytowe 0 dB. Filtr toczy się przy 6 dB na oktawę
(20dB na dekadę).

Filtr akceptuje następujące opcje:

częstotliwość, f
Ustaw centralną częstotliwość filtra. Wartość domyślna to 3000.

csg Stałe wzmocnienie spódnicy, jeśli ustawione na 1. Domyślna wartość to 0.

typ_szerokości
Ustaw metodę, aby określić szerokość pasma filtra.

h Hz

q Współczynnik Q

o oktawa

s nachylenie

szerokość, w
Określ szerokość pasma filtru w jednostkach typ_szerokości.

odrzucenie zespołu
Zastosuj dwubiegunowy filtr pasmowy Butterwortha z częstotliwością środkową częstotliwość,
(3dB-punkt) szerokość pasma szerokość. Filtr toczy się z prędkością 6dB na oktawę (20dB na dekadę).

Filtr akceptuje następujące opcje:

częstotliwość, f
Ustaw centralną częstotliwość filtra. Wartość domyślna to 3000.

typ_szerokości
Ustaw metodę, aby określić szerokość pasma filtra.

h Hz

q Współczynnik Q

o oktawa

s nachylenie

szerokość, w
Określ szerokość pasma filtru w jednostkach typ_szerokości.

bas
Wzmocnij lub wytnij niskie (niższe) częstotliwości dźwięku za pomocą dwubiegunowego filtra półkowego
z reakcją podobną do reakcji standardowych regulatorów barwy dźwięku hi-fi. Jest to również znane jako
wyrównanie półek (EQ).

Filtr akceptuje następujące opcje:

zdobyć, g
Podaj wzmocnienie przy 0 Hz. Jego użyteczny zakres to około -20 (dla dużego cięcia) do +20 (dla a
duże zwiększenie). Uważaj na przycinanie podczas korzystania z dodatniego wzmocnienia.

częstotliwość, f
Ustaw centralną częstotliwość filtra, dzięki czemu można go użyć do rozszerzenia lub zmniejszenia
zakres częstotliwości do wzmocnienia lub obcięcia. Wartość domyślna to 100 Hz.

typ_szerokości
Ustaw metodę, aby określić szerokość pasma filtra.

h Hz

q Współczynnik Q

o oktawa

s nachylenie

szerokość, w
Określ, jak strome jest przejście półki filtra.

bikwad
Zastosuj biquad filtr IIR o podanych współczynnikach. Gdzie b0, b1, b2 i a0, a1, a2
są odpowiednio współczynnikami licznika i mianownika.

bs2b
Bauer stereo do transformacji binauralnej, która poprawia słuchanie dźwięku stereo
nagrania dźwiękowe.

Przyjmuje następujące parametry:

profil
Wstępnie zdefiniowany poziom posuwu krzyżowego.

domyślnym
Poziom domyślny (fcut=700, feed=50).

spoko
Obwód Chu Moy (fcut=700, feed=60).

jmeier
Obwód Jana Meiera (fcut=650, feed=95).

cięcie
Częstotliwość cięcia (w Hz).

karmić
Poziom paszy (w Hz).

mapa kanałów
Zmień mapowanie kanałów wejściowych na nowe lokalizacje.

Przyjmuje następujące parametry:

układ_kanału
Układ kanałów strumienia wyjściowego.

mapa Mapuj kanały od wejścia do wyjścia. Argumentem jest lista oddzielonych '|' mapowań,
każdy w „in_channel-out_channel" or na_kanale forma. na_kanale może być
nazwa kanału wejściowego (np. FL dla lewego przedniego) lub jego indeks w kanale wejściowym
układ. kanał_wyjściowy to nazwa kanału wyjściowego lub jego indeks na wyjściu
układ kanałów. Jeśli kanał_wyjściowy nie jest podany, to jest domyślnie indeksem, zaczynając
z zerem i rosnącym o jeden dla każdego mapowania.

Jeśli nie ma mapowania, filtr domyślnie mapuje kanały wejściowe na wyjście
kanały, zachowanie indeksów.

Na przykład zakładając, że plik wejściowy MOV 5.1+downmix,

ffmpeg -i in.mov -filter 'channelmap=map=DL-FL|DR-FR' out.wav

utworzy wyjściowy plik WAV oznaczony jako stereo z kanałów downmixu na wejściu.

Aby naprawić plik 5.1 WAV nieprawidłowo zakodowany w natywnej kolejności kanałów AAC

ffmpeg -i in.wav -filter 'mapa kanałów=1|2|0|5|3|4:5.1' out.wav

dzielenie kanałów
Podziel każdy kanał z wejściowego strumienia audio na osobny strumień wyjściowy.

Przyjmuje następujące parametry:

układ_kanału
Układ kanałów strumienia wejściowego. Wartość domyślna to „stereo”.

Na przykład, zakładając plik MP3 z wejściem stereo,

ffmpeg -i in.mp3 -filter_complex channelspodziel się.mkv

utworzy wyjściowy plik Matroska z dwoma strumieniami audio, z których jeden zawiera tylko lewy
kanał, a drugi właściwy kanał.

Podziel plik 5.1 WAV na pliki na kanał:

ffmpeg -i in.wav -filter_kompleks
'channelsplit=channel_layout=5.1[FL][FR][FC][LFE][SL][SR]'
-map '[FL]' front_left.wav -map '[FR]' front_right.wav -map '[FC]'
front_center.wav -map '[LFE]' lfe.wav -map '[SL]' side_left.wav -map '[SR]'
side_right.wav

refren
Dodaj efekt chóru do dźwięku.

Może sprawić, że pojedynczy wokal zabrzmi jak refren, ale można go również zastosować do instrumentacji.

Chorus przypomina efekt echa z krótkim opóźnieniem, ale w przypadku echa opóźnienie jest
stała, z chórem, jest zmieniana za pomocą modulacji sinusoidalnej lub trójkątnej. ten
głębokość modulacji określa zakres, w jakim modulowane opóźnienie jest odtwarzane przed lub po
opóźnienie. Stąd opóźniony dźwięk będzie brzmiał wolniej lub szybciej, czyli opóźniony dźwięk
nastrojone wokół oryginalnego, jak w refrenie, w którym niektóre wokale są nieco fałszywie tonowane.

Przyjmuje następujące parametry:

zysk_
Ustaw wzmocnienie wejścia. Wartość domyślna to 0.4.

out_zysk
Ustaw wzmocnienie wyjściowe. Wartość domyślna to 0.4.

opóźnienia
Ustaw opóźnienia. Typowe opóźnienie wynosi około 40ms do 60ms.

rozkłada się
Zestaw rozpadów.

prędkości
Ustaw prędkości.

głębokości
Ustaw głębokości.

Przykłady

· Pojedyncze opóźnienie:

chorus=0.7:0.9:55:0.4:0.25:2

· Dwa opóźnienia:

chorus=0.6:0.9:50|60:0.4|0.32:0.25|0.4:2|1.3

· Pełniej brzmiący refren z trzema opóźnieniami:

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

towarzysz
Kompresuj lub rozszerzaj zakres dynamiki dźwięku.

Przyjmuje następujące parametry:

Ataki
rozkłada się
Lista czasów w sekundach dla każdego kanału, przez które chwilowy poziom
sygnał wejściowy jest uśredniany w celu określenia jego głośności. Ataki odnosi się do zwiększenia objętości
i rozkłada się odnosi się do zmniejszenia głośności. W większości sytuacji czas ataku
(reakcja na głośniejszy dźwięk) powinien być krótszy niż czas zaniku, ponieważ
ludzkie ucho jest bardziej wrażliwe na nagły głośny dźwięk niż nagły cichy dźwięk. Typowy
wartość ataku wynosi 0.3 sekundy, a typowa wartość zaniku to 0.8 sekundy. Jeśli
określona liczba ataków i zaników jest mniejsza niż liczba kanałów, ostatni zestaw
atak/zanik zostanie użyty dla wszystkich pozostałych kanałów.

zwrotnica
Lista punktów dla transmitancji, określona w dB w stosunku do maksimum
możliwa amplituda sygnału. Każda lista kluczowych punktów musi być zdefiniowana w następujący sposób
składnia: "x0/y0|x1/y1|x2/y2|...." lub "x0/y0 x1/y1 x2/y2...."

Wartości wejściowe muszą być w ściśle rosnącej kolejności, ale funkcja przenoszenia nie
nie muszą być monotonnie wznoszące się. Zakładany jest punkt „0/0”, ale można go przesłonić
(o „0/wyjście dBn”). Typowe wartości funkcji transferu to "-70/-70|-60/-20".

miękkie kolano
Ustaw promień łuku w dB dla wszystkich połączeń. Wartość domyślna to 0.01.

zdobyć
Ustaw dodatkowe wzmocnienie w dB, które ma być zastosowane we wszystkich punktach funkcji transferu.
Pozwala to na łatwą regulację ogólnego wzmocnienia. Domyślnie jest to 0.

Tom
Ustaw początkową głośność w dB, którą należy przyjąć dla każdego kanału, gdy rozpocznie się filtrowanie.
Pozwala to użytkownikowi początkowo podać poziom nominalny, tak aby na przykład a
bardzo duże wzmocnienie nie jest stosowane do początkowych poziomów sygnału przed kompandowaniem;
zaczął działać. Typowa wartość dla dźwięku, który jest początkowo cichy, wynosi -90 dB. To
domyślnie 0.

opóźnienie
Ustaw opóźnienie w sekundach. Wejściowy dźwięk jest analizowany natychmiast, ale dźwięk jest opóźniony
przed podaniem do regulatora głośności. Określanie opóźnienia w przybliżeniu równego
czasy ataku/zaniku pozwalają filtrowi skutecznie działać w trybie predykcyjnym, a nie
tryb reaktywny. Domyślnie jest to 0.

Przykłady

· Twórz muzykę zarówno cichymi, jak i głośnymi fragmentami, nadającymi się do słuchania w głośnym otoczeniu
środowisko:

compand=.3|.3:1|1:-90/-60|-60/-40|-40/-30|-20/-20:6:0:-90:0.2

Inny przykład dźwięku z elementami szeptu i eksplozji:

compand=0|0:1|1:-90/-900|-70/-70|-30/-9|0/-3:6:0:0:0

· Bramka szumów, gdy szum jest na poziomie niższym niż sygnał:

compand=.1|.1:.2|.2:-900/-900|-50.1/-900|-50/-50:.01:0:-90:.1

· Oto kolejna bramka szumów, tym razem dla sytuacji, gdy poziom szumu jest wyższy niż
sygnał (czyniąc go pod pewnymi względami podobnym do squelch):

compand=.1|.1:.1|.1:-45.1/-45.1|-45/-900|0/-900:.01:45:-90:.1

przesunięcie dc
Zastosuj przesunięcie DC do dźwięku.

Może to być przydatne do usunięcia przesunięcia DC (spowodowanego być może przez problem sprzętowy w
łańcuch nagrywania) z dźwięku. Efektem przesunięcia DC jest zmniejszony zapas, a co za tym idzie
Tom. ten astaty filtr może być użyty do określenia, czy sygnał ma przesunięcie DC.

przesunięcie
Ustaw przesunięcie DC, dozwolony zakres to [-1, 1]. Wskazuje kwotę do przesunięcia
dźwięku.

Ogranicznik
Opcjonalny. Powinien mieć wartość znacznie mniejszą niż 1 (np. 0.05 lub 0.02) i służy do:
zapobiec przycinaniu.

dynaudnorma
Dynamiczny normalizator dźwięku.

Ten filtr stosuje pewną ilość wzmocnienia do wejściowego dźwięku w celu uzyskania jego szczytu
wielkość do poziomu docelowego (np. 0 dBFS). Jednak w przeciwieństwie do bardziej „prostych”
algorytmy normalizacji, Dynamic Audio Normalizer *dynamicznie* ponownie dostosowuje wzmocnienie
czynnik do wejściowego dźwięku. Pozwala to na zastosowanie dodatkowego wzmocnienia w „cichych” sekcjach
dźwięk, unikając zniekształceń lub przycinania „głośnych” sekcji. Innymi słowy:
Dynamic Audio Normalizer „wyrównuje” głośność cichych i głośnych sekcji w
Poczuj, że głośność każdej sekcji jest doprowadzona do tego samego poziomu docelowego. Należy jednak pamiętać,
że Dynamic Audio Normalizer osiąga ten cel *bez* stosowania „zakresu dynamicznego
kompresja”. Zachowa 100% zakresu dynamiki *w* każdej sekcji dźwięku
plik.

f Ustaw długość ramki w milisekundach. W zakresie od 10 do 8000 milisekund. Domyślna
wynosi 500 milisekund. Dynamiczny normalizator dźwięku przetwarza dźwięk wejściowy w małych rozmiarach
fragmenty, zwane ramkami. Jest to wymagane, ponieważ szczytowa wielkość nie ma
znaczenie tylko dla jednej wartości próbki. Zamiast tego musimy określić szczyt
wielkość dla ciągłej sekwencji wartości próbki. Podczas gdy „standardowy” normalizator
po prostu użyje szczytowej wielkości całego pliku, Dynamic Audio Normalizer
określa wielkość szczytową indywidualnie dla każdej klatki. Długość ramki wynosi
określony w milisekundach. Domyślnie Dynamic Audio Normalizer używa ramki
długość 500 milisekund, która daje dobre wyniki w przypadku większości plików.
Należy pamiętać, że zostanie określona dokładna długość ramki w liczbie próbek
automatycznie, na podstawie częstotliwości próbkowania pojedynczego wejściowego pliku audio.

g Ustaw rozmiar okna filtru Gaussa. W zakresie od 3 do 301 musi być liczbą nieparzystą.
Wartość domyślna to 31. Prawdopodobnie najważniejszy parametr Dynamic Audio Normalizer
to „rozmiar okna” filtru wygładzania Gaussa. Rozmiar okna filtra to
określone w ramkach, wyśrodkowane wokół bieżącej ramki. W trosce o prostotę
to musi być liczba nieparzysta. W konsekwencji domyślna wartość 31 uwzględnia
bieżąca ramka, jak również 15 poprzednich ramek i 15 kolejnych ramek.
Zastosowanie większego okienka daje silniejszy efekt wygładzenia, a tym samym mniejsze wzmocnienie
zmienność, tj. wolniejsza adaptacja wzmocnienia. I odwrotnie, użycie mniejszego okna powoduje:
słabszy efekt wygładzania, a tym samym większa zmienność wzmocnienia, tj. szybsze wzmocnienie
dostosowanie. Innymi słowy, im bardziej zwiększasz tę wartość, tym bardziej dynamiczna
Audio Normalizer będzie zachowywał się jak „tradycyjny” filtr normalizacyjny. Na
wręcz przeciwnie, im bardziej zmniejszysz tę wartość, tym bardziej Dynamiczny Normalizator dźwięku
zachowywać się jak kompresor zakresu dynamicznego.

p Ustaw docelową wartość szczytową. Określa najwyższy dopuszczalny poziom wielkości dla
znormalizowane wejście audio. Ten filtr spróbuje zbliżyć się do docelowej wielkości szczytowej
tak blisko, jak to możliwe, ale jednocześnie zapewnia również, że znormalizowane
sygnał nigdy nie przekroczy wartości szczytowej. Maksymalny lokalny współczynnik wzmocnienia ramki wynosi
narzucone bezpośrednio przez docelową wielkość szczytową. Domyślna wartość to 0.95, a zatem
pozostawia zapas 5%*. Nie zaleca się przekraczania tej wartości.

m Ustaw maksymalny współczynnik wzmocnienia. W zakresie od 1.0 do 100.0. Wartość domyślna to 10.0. Dynamika
Audio Normalizer określa maksymalny możliwy (lokalny) współczynnik wzmocnienia dla każdego wejścia
klatka, tj. maksymalny współczynnik wzmocnienia, który nie powoduje obcinania ani zniekształceń.
Maksymalny współczynnik wzmocnienia jest określany przez próbkę o największej wielkości.
Jednak Dynamic Audio Normalizer dodatkowo ogranicza maksymalne wzmocnienie klatki
współczynnik przez z góry określony (globalny) maksymalny współczynnik wzmocnienia. Odbywa się to w celu uniknięcia
nadmierne współczynniki wzmocnienia w „cichych” lub prawie cichych klatkach. Domyślnie maksymalna
współczynnik wzmocnienia wynosi 10.0, Dla większości wejść wartość domyślna powinna być wystarczająca i
zwykle nie zaleca się zwiększania tej wartości. Chociaż, dla danych wejściowych z niezwykle
niski ogólny poziom głośności, może być konieczne dopuszczenie jeszcze wyższych współczynników wzmocnienia. Notatka,
jednak, że Dynamic Audio Normalizer nie stosuje po prostu „twardego” progu
(tj. wartości odcięcia powyżej progu). Zamiast tego „sigmoidalna” funkcja progowa
zostaną zastosowane. W ten sposób współczynniki wzmocnienia płynnie zbliżą się do progu
wartość, ale nigdy nie przekraczaj tej wartości.

r Ustaw docelowy RMS. W zakresie od 0.0 do 1.0. Domyślnie 0.0 - wyłączone. Domyślnie,
Dynamic Audio Normalizer wykonuje normalizację „szczytu”. Oznacza to, że
maksymalny lokalny współczynnik wzmocnienia dla każdej ramki jest zdefiniowany (tylko) przez najwyższą ramkę
wielkość próbki. W ten sposób próbki mogą być maksymalnie wzmocnione bez
przekroczenie maksymalnego poziomu sygnału, tj. bez przesterowania. Opcjonalnie jednak
Dynamic Audio Normalizer może również uwzględniać pierwiastek kwadratowy klatki,
skrócony RMS. W elektrotechnice RMS jest powszechnie używany do określania
moc sygnału zmiennego w czasie. Dlatego uważa się, że RMS jest lepszy
przybliżenie „głośności postrzeganej” niż tylko patrzenie na szczyt sygnału
ogrom. W konsekwencji, dostosowując wszystkie klatki do stałej wartości RMS, uniform
można ustalić „postrzeganą głośność”. Jeśli określono docelową wartość RMS, a
lokalny współczynnik wzmocnienia ramki jest zdefiniowany jako czynnik, który spowodowałby dokładnie to
Wartość skuteczna. Należy jednak pamiętać, że maksymalny lokalny współczynnik wzmocnienia jest nadal ograniczony przez
próbka o największej wielkości w klatce, aby zapobiec przycinaniu.

n Włącz łączenie kanałów. Domyślnie jest włączony. Domyślnie Dynamic Audio
Normalizer wzmocni wszystkie kanały o tę samą wartość. Oznacza to ten sam zysk
współczynnik zostanie zastosowany do wszystkich kanałów, tj. maksymalny możliwy współczynnik wzmocnienia wynosi
określony przez „najgłośniejszy” kanał. Jednak w niektórych nagraniach może się zdarzyć, że
głośność różnych kanałów jest nierówna, np. jeden kanał może być „cichszy” niż
drugi(e). W takim przypadku ta opcja może być użyta do wyłączenia kanału
sprzęganie. W ten sposób współczynnik wzmocnienia zostanie określony niezależnie dla każdego kanału,
zależy tylko od najwyższej wartości próbki w pojedynczym kanale. Pozwala to na
harmonizowanie głośności różnych kanałów.

c Włącz korekcję odchylenia DC. Domyślnie jest wyłączony. Sygnał dźwiękowy (w czasie
domena) to sekwencja przykładowych wartości. W Dynamicznym Normalizatorze audio te próbki
wartości są reprezentowane w zakresie od -1.0 do 1.0, niezależnie od oryginalnego wejścia
format. Zwykle sygnał audio lub „przebieg” powinien być wyśrodkowany wokół zera
punkt. Oznacza to, że jeśli obliczymy średnią wartość wszystkich próbek w pliku lub w a
pojedynczą klatkę, to wynik powinien wynosić 0.0 lub co najmniej bardzo zbliżony do tej wartości. Jeśli,
jednak istnieje znaczne odchylenie średniej wartości od 0.0 w obu
kierunek dodatni lub ujemny, jest to określane jako odchylenie DC lub przesunięcie DC. Ponieważ
Odchylenie DC jest wyraźnie niepożądane, Dynamic Audio Normalizer zapewnia opcjonalne odchylenie DC
korekta. Po włączeniu korekcji odchylenia DC Dynamic Audio Normalizer:
określić średnią wartość lub przesunięcie „korekty DC” każdej ramki wejściowej i odjąć;
ta wartość ze wszystkich wartości próbek ramki, która zapewnia, że ​​próbki te są
ponownie wyśrodkowany wokół 0.0. Ponadto, aby uniknąć „luk” na granicach ramki,
Wartości przesunięcia korekcji DC będą interpolowane płynnie pomiędzy sąsiednimi ramkami.

b Włącz alternatywny tryb granic. Domyślnie jest wyłączony. Dynamiczny dźwięk
Normalizer uwzględnia pewne sąsiedztwo wokół każdej klatki. To zawiera
poprzednie klatki, jak również kolejne klatki. Jednak dla „granicy”
klatki, znajdujące się na samym początku i na samym końcu pliku audio, nie wszystkie
dostępne są sąsiednie ramki. W szczególności w przypadku kilku pierwszych klatek w
pliku audio, poprzednie klatki nie są znane. I podobnie dla kilku ostatnich
klatek w pliku audio, kolejne klatki nie są znane. Tak więc pytanie
pojawia się, jakie współczynniki wzmocnienia należy przyjąć dla brakujących ramek w "granicy"
region. Dynamiczny normalizator dźwięku implementuje dwa tryby radzenia sobie z tą sytuacją.
Domyślny tryb graniczny zakłada współczynnik wzmocnienia równy dokładnie 1.0 dla brakujących klatek,
w wyniku płynnego „zanikania” i „zanikania” na początku i na końcu
odpowiednio.

s Ustaw współczynnik kompresji. W zakresie od 0.0 do 30.0. Wartość domyślna to 0.0. Domyślnie
Dynamic Audio Normalizer nie stosuje „tradycyjnej” kompresji. To znaczy że
szczyty sygnału nie zostaną usunięte, a zatem zachowany zostanie pełny zakres dynamiki
w każdym lokalnym sąsiedztwie. Jednak w niektórych przypadkach może być pożądane połączenie
algorytm normalizacji Dynamic Audio Normalizer z bardziej „tradycyjnym”
kompresja. W tym celu Dynamic Audio Normalizer zapewnia opcjonalny
funkcja kompresji (progowania). Jeśli (i tylko jeśli) funkcja kompresji to
włączone, wszystkie ramki wejściowe będą przetwarzane przez funkcję progowania miękkiego kolana przed
do rzeczywistego procesu normalizacji. Mówiąc prościej, funkcja progowania będzie
przycinać wszystkie próbki, których wielkość przekracza określoną wartość progową. Jednakże
Dynamic Audio Normalizer nie stosuje po prostu stałej wartości progowej. Zamiast tego
wartość progowa zostanie dostosowana dla każdej pojedynczej klatki. Ogólnie mniejsze
parametry powodują silniejszą kompresję i odwrotnie. Wartości poniżej 3.0 nie są
zalecane, ponieważ mogą pojawić się słyszalne zniekształcenia.

woskowina
Ułatw sobie słuchanie dźwięku na słuchawkach.

Ten filtr dodaje `wskazówki' do dźwięku stereo 44.1 kHz (tj. w formacie audio CD), dzięki czemu gdy
słuchany na słuchawkach obraz stereo przesuwa się z wnętrza głowy (standard dla
słuchawki) na zewnątrz i przed słuchaczem (standard dla głośników).

Przeniesiony z SoX.

wyrównywacz
Zastosuj dwubiegunowy filtr korekcji szczytowej (EQ). Z tym filtrem poziom sygnału przy
i wokół wybranej częstotliwości można zwiększyć lub zmniejszyć, podczas gdy (w przeciwieństwie do pasma przepustowego i
filtry bandreject), które na wszystkich innych częstotliwościach pozostają niezmienione.

W celu uzyskania złożonych krzywych wyrównywania, filtr ten można podać kilka razy,
każdy z inną częstotliwością środkową.

Filtr akceptuje następujące opcje:

częstotliwość, f
Ustaw centralną częstotliwość filtra w Hz.

typ_szerokości
Ustaw metodę, aby określić szerokość pasma filtra.

h Hz

q Współczynnik Q

o oktawa

s nachylenie

szerokość, w
Określ szerokość pasma filtru w jednostkach typ_szerokości.

zdobyć, g
Ustaw wymagane wzmocnienie lub tłumienie w dB. Uważaj na obcinanie podczas korzystania z pozytywu
zyskać.

Przykłady

· Tłumienie 10 dB przy 1000 Hz, przy szerokości pasma 200 Hz:

korektor=f=1000:width_type=h:width=200:g=-10

· Zastosuj wzmocnienie 2 dB przy 1000 Hz z Q 1 i stłumij 5 dB przy 100 Hz z Q 2:

equalizer=f=1000:width_type=q:width=1:g=2,equalizer=f=100:width_type=q:width=2:g=-5

Flansza,
Zastosuj do dźwięku efekt wyginania.

Filtr akceptuje następujące opcje:

opóźnienie
Ustaw opóźnienie bazowe w milisekundach. Zakres od 0 do 30. Wartość domyślna to 0.

głębokość
Ustaw dodatkowe opóźnienie przemiatania w milisekundach. Zakres od 0 do 10. Wartość domyślna to 2.

deszcz
Ustaw procentową regenerację (opóźniony sygnał zwrotny). Zakres od -95 do 95. Domyślnie
wartość wynosi 0.

szerokość
Ustaw procent opóźnionego sygnału zmieszanego z oryginałem. Zakres od 0 do 100. Domyślnie
wartość wynosi 71.

prędkość
Ustaw przemiatania na sekundę (Hz). Zakres od 0.1 do 10. Wartość domyślna to 0.5.

kształt
Ustaw kształt fali ukośnej, może być trójkątny or sinusoidalny. Wartość domyślna to sinusoidalny.

faza
Ustaw procentowe przesunięcie fali przemiatanej dla wielu kanałów. Zakres od 0 do 100. Wartość domyślna
to 25.

interp
Ustaw interpolację linii opóźniającej, liniowy or kwadratowy. Domyślnie jest liniowy.

górnoprzepustowy
Zastosuj filtr górnoprzepustowy o częstotliwości punktowej 3dB. Filtr może być jednobiegunowy,
lub dwubiegunowy (domyślnie). Filtr toczy się przy 6dB na biegun na oktawę (20dB na
bieguna na dekadę).

Filtr akceptuje następujące opcje:

częstotliwość, f
Ustaw częstotliwość w Hz. Wartość domyślna to 3000.

słupy, p
Ustaw liczbę biegunów. Wartość domyślna to 2.

typ_szerokości
Ustaw metodę, aby określić szerokość pasma filtra.

h Hz

q Współczynnik Q

o oktawa

s nachylenie

szerokość, w
Określ szerokość pasma filtru w jednostkach typ_szerokości. Dotyczy tylko dwubiegunowych
filtr. Wartość domyślna to 0.707q i daje odpowiedź Butterwortha.

przystąpić
Połącz wiele strumieni wejściowych w jeden wielokanałowy strumień.

Przyjmuje następujące parametry:

Wejścia
Liczba strumieni wejściowych. Domyślnie jest to 2.

układ_kanału
Żądany układ kanału wyjściowego. Domyślnie jest to stereo.

mapa Mapuj kanały od wejść do wyjść. Argumentem jest lista oddzielonych '|' mapowań,
każdy w „input_idx.in_channel-out_channel" forma. identyfikator_wejściowy jest indeksem liczonym od 0 z
strumień wejściowy. na_kanale może być nazwą kanału wejściowego (np. FL dla
z przodu po lewej) lub jego indeks w określonym strumieniu wejściowym. kanał_wyjściowy jest nazwą
kanał wyjściowy.

Filtr spróbuje odgadnąć mapowania, jeśli nie zostaną one wyraźnie określone. To
robi to, najpierw próbując znaleźć nieużywany pasujący kanał wejściowy, a jeśli to się nie powiedzie
wybiera pierwszy nieużywany kanał wejściowy.

Dołącz 3 wejścia (z odpowiednio ustawionymi układami kanałów):

ffmpeg -i WEJŚCIE1 -i WEJŚCIE2 -i WEJŚCIE3 -kompleks_filtru łączenie=wejścia=3 WYJŚCIE

Zbuduj wyjście 5.1 z 6 jednokanałowych strumieni:

ffmpeg -i fl -i fr -i fc -i sl -i sr -i lfe -filter_kompleks
'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'
na zewnątrz

ladspa
Załaduj wtyczkę LADSPA (Linux Audio Developer's Simple Plugin API).

Aby włączyć kompilację tego filtra, musisz skonfigurować FFmpeg za pomocą "--enable-ladspa".

file, f
Określa nazwę biblioteki wtyczek LADSPA do załadowania. Jeśli zmienna środowiskowa
LADSPA_PATH jest zdefiniowana, wtyczka LADSPA jest przeszukiwana w każdym z katalogów
określone przez listę rozdzielaną dwukropkami w LADSPA_PATH, inaczej w standardzie LADSPA
ścieżki, które są w tej kolejności: STRONA GŁÓWNA/.ladspa/lib/, /usr/local/lib/ladspa/,
/usr/lib/ladspa/.

plugin, p
Określa wtyczkę w bibliotece. Niektóre biblioteki zawierają tylko jedną wtyczkę, ale
inne zawierają wiele z nich. Jeśli nie jest ustawione, filtr wyświetli listę wszystkich dostępnych wtyczek
w określonej bibliotece.

sterownica, c
Ustaw „|” oddzielona lista kontrolek, które mają zero lub więcej wartości zmiennoprzecinkowych
które określają zachowanie załadowanej wtyczki (na przykład opóźnienie, próg lub
osiągać). Kontrolki należy zdefiniować przy użyciu następującej składni:
c0=wartość0|c1=wartość1|c2=wartość2|..., gdzie wartośći to wartość ustawiona na i-ta kontrola.
If kontroli jest ustawiona na "pomoc", wszystkie dostępne kontrolki i ich prawidłowe zakresy są
drukowane.

próbna stawka, s
Określ częstotliwość próbkowania, domyślnie 44100. Używana tylko wtedy, gdy wtyczka ma zero wejść.

nb_próbek, n
Ustaw liczbę próbek na kanał na każdą klatkę wyjściową, domyślnie 1024. Tylko
używane, jeśli wtyczka ma zero wejść.

Trwanie, d
Ustaw minimalny czas trwania źródła dźwięku. Widzieć dotychczasowy Czas czas trwania Sekcja in dotychczasowy
narzędzia ffmpeg(1) podręcznik dla przyjętej składni. Pamiętaj, że wynikowy czas trwania może:
być dłuższy niż określony czas trwania, ponieważ generowany dźwięk jest zawsze przycinany o
koniec kompletnej ramy. Jeśli nie określono lub wyrażony czas trwania jest ujemny,
dźwięk ma być generowany na zawsze. Używany tylko wtedy, gdy wtyczka ma zero wejść.

Przykłady

· Lista wszystkich dostępnych wtyczek w bibliotece amp (przykładowa wtyczka LADSPA):

ladspa=plik=amp

· Wymień wszystkie dostępne kontrolki i ich prawidłowe zakresy dla wtyczki „vcf_notch” z „VCF”
biblioteka:

ladspa=f=vcf:p=vcf_notch:c=pomoc

· Symulacja sprzętu audio niskiej jakości za pomocą wtyczki "Computer Music Toolkit" (CMT)
biblioteka:

ladspa=file=cmt:plugin=lofi:controls=c0=22|c1=12|c2=12

· Dodaj pogłos do dźwięku za pomocą wtyczek TAP (wtyczki Tom's Audio Processing):

ladspa=plik=tap_reverb:tap_reverb

· Generowanie białego szumu o amplitudzie 0.2:

ladspa=plik=cmt:noise_source_white:c=c0=.2

· Generuj kliknięcia 20 bpm za pomocą wtyczki "C* Click - Metronom" z "C* Audio Plugin"
Biblioteka" (CAPS):

ladspa=file=caps:Kliknij:c=c1=20'

· Zastosuj efekt „C* Eq10X2 — 10-pasmowy korektor stereo”:

ladspa=caps:Eq10X2:c=c0=-48|c9=-24|c3=12|c4=2

Polecenia

Ten filtr obsługuje następujące polecenia:

cN Zmodyfikuj N-ta wartość kontrolna.

Jeśli określona wartość jest nieprawidłowa, jest ignorowana i zachowywana jest poprzednia.

dolnoprzepustowy
Zastosuj filtr dolnoprzepustowy o częstotliwości punktowej 3dB. Filtr może być jednobiegunowy lub
dwubiegunowy (domyślnie). Filtr rozwija się przy 6dB na biegun na oktawę (20dB na biegun)
na dekadę).

Filtr akceptuje następujące opcje:

częstotliwość, f
Ustaw częstotliwość w Hz. Wartość domyślna to 500.

słupy, p
Ustaw liczbę biegunów. Wartość domyślna to 2.

typ_szerokości
Ustaw metodę, aby określić szerokość pasma filtra.

h Hz

q Współczynnik Q

o oktawa

s nachylenie

szerokość, w
Określ szerokość pasma filtru w jednostkach typ_szerokości. Dotyczy tylko dwubiegunowych
filtr. Wartość domyślna to 0.707q i daje odpowiedź Butterwortha.

pan
Miksuj kanały z określonymi poziomami wzmocnienia. Filtr akceptuje układ kanału wyjściowego
po którym następuje zestaw definicji kanałów.

Ten filtr jest również przeznaczony do wydajnej zmiany mapowania kanałów strumienia audio.

Filtr akceptuje parametry postaci: "l|przewyższyć|przewyższyć|..."

l układ kanału wyjściowego lub liczba kanałów

przewyższyć
specyfikacja kanału wyjściowego, w postaci:
"nazwa_zewnętrzna=[zdobyć*]w_nazwa[+[zdobyć*]w_nazwa...]"

nazwa_zewnętrzna
kanał wyjściowy do zdefiniowania nazwy kanału (FL, FR itp.) lub numeru kanału
(c0, c1 itd.)

zdobyć
mnożnik dla kanału, 1 pozostawiając niezmienioną głośność

w_nazwa
kanał wejściowy do użycia, zobacz out_name po szczegóły; nie można mieszać nazwanych i
numerowane kanały wejściowe

Jeśli `=' w specyfikacji kanału jest zastąpione przez `<', wtedy zyski z tego tytułu
specyfikacja zostanie znormalizowana tak, aby suma wynosiła 1, co pozwoli uniknąć przycinania.

Mieszanie przykłady

Na przykład, jeśli chcesz zmiksować w dół ze stereo do mono, ale z większym współczynnikiem dla
lewy kanał:

pan=1c|c0=0.9*c0+0.1*c1

Dostosowany downmix do stereo, który działa automatycznie dla 3, 4, 5 i 7 kanałów
otaczać:

pan=stereo| FL < FL + 0.5*FC + 0.6*BL + 0.6*SL | FR < FR + 0.5*FC + 0.6*BR + 0.6*SR

Należy pamiętać, że ffmpeg integruje domyślny system downmixu (i upmixu), który powinien być
preferowane (patrz opcja "-ac"), chyba że masz bardzo specyficzne potrzeby.

Przypominanie przykłady

Zmiana mapowania kanałów będzie skuteczna wtedy i tylko wtedy, gdy:

*
*

Jeśli wszystkie te warunki są spełnione, filtr powiadomi użytkownika („Czysty kanał
wykryto mapowanie”) i użyj zoptymalizowanej i bezstratnej metody do ponownego mapowania.

Na przykład, jeśli masz źródło 5.1 i chcesz stereofoniczny strumień audio, upuszczając dodatkowe
kanały:

pan="stereo| c0=FL | c1=FR"

Mając to samo źródło, możesz również przełączać przedni lewy i przedni prawy kanał i zachować
układ kanału wejściowego:

pan="5.1| c0=c1 | c1=c0 | c2=c2 | c3=c3 | c4=c4 | c5=c5"

Jeśli wejście jest strumieniem dźwięku stereo, możesz wyciszyć lewy przedni kanał (i nadal zachować
układ kanałów stereo) z:

pan="stereo|c1=c1"

Nadal z wejściem stereofonicznego strumienia audio, możesz skopiować prawy kanał z przodu po lewej stronie
i po prawej:

pan="stereo| c0=FR | c1=FR"

powtórka
Filtr skanera ReplayGain. Ten filtr pobiera strumień audio jako wejście i wyprowadza go
bez zmian. Pod koniec filtrowania wyświetla "track_gain" i "track_peak".

ponownie próbkować
Konwertuj format próbki audio, częstotliwość próbkowania i układ kanałów. To nie ma być
używane bezpośrednio.

kompresja łańcucha bocznego
Ten filtr działa jak normalny kompresor, ale ma możliwość kompresji wykrytego sygnału
za pomocą drugiego sygnału wejściowego. Potrzebuje dwóch strumieni wejściowych i zwraca jeden strumień wyjściowy.
Pierwszy strumień wejściowy będzie przetwarzany w zależności od sygnału drugiego strumienia. Filtrowane
sygnał może być następnie filtrowany innymi filtrami w późniejszych etapach przetwarzania. Widzieć pan i
łączyć się filtr.

Filtr akceptuje następujące opcje:

próg
Jeśli sygnał drugiego strumienia wzrośnie powyżej tego poziomu, wpłynie to na redukcję wzmocnienia
pierwszego strumienia. Domyślna wartość to 0.125. Zakres wynosi od 0.00097563 do 1.

stosunek
Ustaw współczynnik redukcji sygnału. 1:2 oznacza, że ​​jeśli poziom wzrósł o 4dB
powyżej progu, po redukcji będzie tylko 2dB powyżej. Wartość domyślna to 2.
Zakres wynosi od 1 do 20.

atakować
Ilość milisekund, przez którą sygnał musi wzrosnąć powyżej progu przed wzmocnieniem
rozpoczyna się redukcja. Wartość domyślna to 20. Zakres wynosi od 0.01 do 2000.

zwolnić
Ilość milisekund, przez którą sygnał musi spaść poniżej progu, zanim nastąpi redukcja
ponownie spadła. Wartość domyślna to 250. Zakres wynosi od 0.01 do 9000.

makijaż
Ustaw ilość, o jaką sygnał zostanie wzmocniony po przetworzeniu. Wartość domyślna to 2.
Zakres wynosi od 1 do 64.

kolano
Zakręć ostre kolano wokół progu, aby łagodniej wejść w redukcję wzmocnienia.
Wartość domyślna to 2.82843. Zakres wynosi od 1 do 8.

link
Wybierz, czy „średni” poziom między wszystkimi kanałami strumienia w łańcuchu bocznym, czy
głośniejszy („maksymalny”) kanał strumienia bocznego wpływa na redukcję. Wartość domyślna to
"przeciętny".

wykrywanie
Czy należy brać dokładny sygnał w przypadku „szczytu” czy RMS w przypadku „rms”.
Domyślnie jest to „rms”, co jest głównie płynniejsze.

Przykłady

· Pełny przykład ffmpeg z 2 wejściami audio, pierwsze wejście do kompresji w zależności od
sygnał drugiego wejścia, a następnie skompresowany sygnał do połączenia z drugim wejściem:

ffmpeg -i main.flac -i sidechain.flac -filter_complex "[1:a]asplit=2[sc][mix];[0:a][sc]sidechaincompress[compr];[compr][mix]amerge"

ucisz wykrywanie
Wykryj ciszę w strumieniu audio.

Ten filtr rejestruje komunikat, gdy wykryje, że wejściowy poziom głośności dźwięku jest mniejszy lub równy
wartość tolerancji hałasu przez czas trwania większy lub równy minimalnemu wykrytemu hałasowi
Trwanie.

Wydrukowane czasy i czas trwania są wyrażone w sekundach.

Filtr akceptuje następujące opcje:

Trwanie, d
Ustaw czas trwania ciszy do powiadomienia (domyślnie 2 sekundy).

hałas, n
Ustaw tolerancję hałasu. Można określić w dB (w przypadku, gdy "dB" jest dołączone do określonego
wartość) lub stosunek amplitudy. Wartość domyślna to -60dB lub 0.001.

Przykłady

· Wykryj 5 sekund ciszy z tolerancją hałasu -50dB:

Wykrywanie ciszy=n=-50dB:d=5

· Kompletny przykład z ffmpeg do wykrywania ciszy z tolerancją na hałas 0.0001 w
cisza.mp3:

ffmpeg -i silence.mp3 -af silencedetect=hałas=0.0001 -f null -

ciszausuń
Usuń ciszę z początku, środka lub końca dźwięku.

Filtr akceptuje następujące opcje:

start_okresy
Ta wartość jest używana do wskazania, czy dźwięk powinien zostać przycięty na początku dźwięku. A
wartość zero wskazuje, że cisza nie powinna być przycinana od początku. Kiedy
określając wartość niezerową, przycina dźwięk aż do znalezienia braku ciszy. Zwykle
przy przycinaniu ciszy od początku dźwięku start_okresy będzie 1, ale może?
zostać zwiększone do wyższych wartości, aby przyciąć cały dźwięk do określonej liczby braku ciszy
okresy. Wartość domyślna to 0.

czas_rozpoczęcia
Określ czas, przez który musi zostać wykryty brak ciszy, zanim zatrzyma się przycinanie
audio. Wydłużając czas trwania, wybuchy dźwięków mogą być traktowane jako cisza i
przycięte. Wartość domyślna to 0.

próg_początkowy
Wskazuje to, jaką wartość próbki należy traktować jako ciszę. W przypadku dźwięku cyfrowego a
wartość 0 może być w porządku, ale w przypadku dźwięku nagranego analogowo możesz chcieć zwiększyć
wartość uwzględniająca hałas w tle. Można określić w dB (w przypadku, gdy „dB” wynosi
dodany do określonej wartości) lub stosunek amplitudy. Wartość domyślna to 0.

stop_okresy
Ustaw liczbę przycinania ciszy od końca dźwięku. Aby usunąć ciszę z
środek pliku, podaj a stop_okresy to jest negatywne. Ta wartość jest następnie przetwarzana
jako wartość dodatnią i służy do wskazania, że ​​efekt powinien ponownie rozpocząć przetwarzanie, ponieważ
określone przez start_okresy, dzięki czemu nadaje się do usuwania okresów ciszy w
środek dźwięku. Wartość domyślna to 0.

stop_czas trwania
Określ czas trwania ciszy, który musi istnieć, zanim dźwięk nie będzie już kopiowany. Za pomocą
po określeniu dłuższego czasu trwania w audio można pozostawić pożądaną ciszę.
Wartość domyślna to 0.

próg_stopu
To to samo co próg_początkowy ale do przycinania ciszy od końca audio.
Można określić w dB (w przypadku, gdy „dB” jest dołączone do określonej wartości) lub amplitudzie
stosunek. Wartość domyślna to 0.

zostaw_ciszę
To wskazuje, że stop_czas trwania długość dźwięku powinna pozostać nienaruszona na
początek każdego okresu ciszy. Na przykład, jeśli chcesz usunąć długie przerwy
między słowami, ale nie chcę całkowicie usuwać przerw. Wartość domyślna to 0.

Przykłady

· Poniższy przykład pokazuje, jak ten filtr może być użyty do rozpoczęcia nagrywania, które nie
nie zawierają opóźnienia na początku, które zwykle występuje między naciśnięciem rekordu
przycisk i początek spektaklu:

usuwanie ciszy=1:5:0.02

potrójny
Wzmocnij lub wytnij wysokie (górne) częstotliwości dźwięku za pomocą dwubiegunowego filtra półkowego z
reakcja podobna do reakcji standardowych regulatorów barwy dźwięku hi-fi. Jest to również znane jako
wyrównanie półek (EQ).

Filtr akceptuje następujące opcje:

zdobyć, g
Podaj wzmocnienie przy tym, która wartość jest niższa z ~22 kHz i częstotliwości Nyquista. Jego
użyteczny zasięg to około -20 (dla dużego cięcia) do +20 (dla dużego wzmocnienia). Uważać na
przycinanie podczas korzystania z dodatniego wzmocnienia.

częstotliwość, f
Ustaw centralną częstotliwość filtra, dzięki czemu można go użyć do rozszerzenia lub zmniejszenia
zakres częstotliwości do wzmocnienia lub obcięcia. Wartość domyślna to 3000 Hz.

typ_szerokości
Ustaw metodę, aby określić szerokość pasma filtra.

h Hz

q Współczynnik Q

o oktawa

s nachylenie

szerokość, w
Określ, jak strome jest przejście półki filtra.

Tom
Dostosuj głośność wejściowego dźwięku.

Przyjmuje następujące parametry:

Tom
Ustaw ekspresję głośności dźwięku.

Wartości wyjściowe są przycinane do wartości maksymalnej.

Wyjściowa głośność audio jest określona zależnością:

= *

Wartość domyślna dla Tom wynosi „1.0”.

precyzja
Ten parametr reprezentuje dokładność matematyczną.

Określa, które wejściowe formaty próbek będą dozwolone, co wpływa na precyzję
skalowania objętości.

ustalony
8-bitowy stałoprzecinkowy; ogranicza to format próbki wejściowej do U8, S16 i S32.

unosić się
32-bitowa liczba zmiennoprzecinkowa; ogranicza to wejściowy format próbki do FLT. (domyślna)

Podwójna
64-bitowa liczba zmiennoprzecinkowa; ogranicza to wejściowy format próbki do DBL.

powtórka
Wybierz zachowanie po napotkaniu danych pobocznych ReplayGain w ramkach wejściowych.

upuszczać
Usuń dane boczne ReplayGain, ignorując ich zawartość (domyślnie).

ignorować
Zignoruj ​​dane poboczne ReplayGain, ale pozostaw je w ramce.

śledzić
Preferuj wzmocnienie toru, jeśli jest obecne.

album
Preferuj wzmocnienie albumu, jeśli jest obecne.

replaygain_przedwzmacniacz
Wzmocnienie przedwzmacniacza w dB do zastosowania do wybranego wzmocnienia ponownego odtwarzania.

Wartość domyślna dla replaygain_przedwzmacniacz to 0.0.

eval
Ustaw, gdy obliczane jest wyrażenie objętości.

Przyjmuje następujące wartości:

pewnego razu
Oceniaj wyrażenie tylko raz podczas inicjalizacji filtru lub gdy Tom
polecenie zostało wysłane

rama
oceń wyrażenie dla każdej przychodzącej ramki

Wartość domyślna to pewnego razu.

Wyrażenie objętości może zawierać następujące parametry.

n numer klatki (od zera)

nb_kanałów
Liczba kanałów

nb_zużytych_próbek
liczba próbek zużytych przez filtr

nb_próbek
liczba próbek w bieżącej ramce

pisać oryginalna pozycja ramki w pliku

pkt rama PTS

próbna stawka
próbna stawka

zaczyna się
PTS na początku transmisji

zacząć
czas na początku strumienia

t czas klatek

tb podstawa czasowa sygnatury czasowej

Tom
ostatnia ustawiona wartość głośności

Zauważ, że kiedy eval jest ustawione na pewnego razu Tylko próbna stawka i tb dostępne są zmienne,
wszystkie inne zmienne będą oceniane jako NAN.

Polecenia

Ten filtr obsługuje następujące polecenia:

Tom
Zmodyfikuj wyrażenie głośności. Polecenie akceptuje tę samą składnię polecenia
odpowiednią opcję.

Jeśli podane wyrażenie jest niepoprawne, jest zachowywane z bieżącą wartością.

replaygain_noclip
Zapobiegaj przycinaniu, ograniczając zastosowane wzmocnienie.

Wartość domyślna dla replaygain_noclip to 1.

Przykłady

· Zmniejsz o połowę głośność wejściowego dźwięku:

objętość=głośność=0.5
objętość=głośność=1/2
głośność=głośność=-6.0206dB

We wszystkich powyższych przykładach nazwany klucz do Tom można pominąć, np. jak w:

objętość=0.5

· Zwiększenie wejściowej mocy audio o 6 decybeli przy użyciu precyzji stałoprzecinkowej:

głośność=głośność=6dB:precyzja=stała

· Zanikanie głośności po czasie 10 z okresem anihilacji wynoszącym 5 sekund:

volume='if(lt(t,10),1,max(1-(t-10)/5,0))':eval=frame

wykrywanie głośności
Wykryj głośność wejściowego wideo.

Filtr nie ma parametrów. Wejście nie jest modyfikowane. Statystyki dotyczące głośności będą
być drukowane w dzienniku po osiągnięciu końca strumienia wejściowego.

W szczególności pokaże średnią objętość (średnią kwadratową), maksymalną objętość (na
podstawie próbki) oraz początek histogramu zarejestrowanych wartości objętości (od
maksymalna wartość do skumulowanej 1/1000 próbek).

Wszystkie objętości są w decybelach w stosunku do maksymalnej wartości PCM.

Przykłady

Oto fragment wyjścia:

[Parsed_volumedetect_0 0xa23120] średnia_głośność: -27 dB
[Parsed_volumedetect_0 0xa23120] max_volume: -4 dB
[Parsed_volumedetect_0 0xa23120] histogram_4db: 6
[Parsed_volumedetect_0 0xa23120] histogram_5db: 62
[Parsed_volumedetect_0 0xa23120] histogram_6db: 286
[Parsed_volumedetect_0 0xa23120] histogram_7db: 1042
[Parsed_volumedetect_0 0xa23120] histogram_8db: 2551
[Parsed_volumedetect_0 0xa23120] histogram_9db: 4609
[Parsed_volumedetect_0 0xa23120] histogram_10db: 8409

To znaczy, że:

· Średnia kwadratowa energia wynosi około -27 dB lub 10^-2.7.

· Największa próbka ma -4 dB, a dokładniej od -4 dB do -5 dB.

· Jest 6 próbek przy -4 dB, 62 przy -5 dB, 286 przy -6 dB itd.

Innymi słowy podniesienie głośności o +4 dB nie powoduje żadnego obcinania, podniesienie jej o +5
dB powoduje obcinanie dla 6 próbek itp.

AUDIO ŹRÓDŁA


Poniżej znajduje się opis aktualnie dostępnych źródeł dźwięku.

bufor
Buforuj ramki audio i udostępniaj je w łańcuchu filtrów.

To źródło jest przeznaczone głównie do użytku programistycznego, w szczególności za pośrednictwem interfejsu
zdefiniowane w libavfilter/asrc_abuffer.h.

Przyjmuje następujące parametry:

podstawa czasu
Podstawa czasowa, która będzie używana do sygnatur czasowych przesłanych ramek. Musi być albo
liczba zmiennoprzecinkowa lub in licznik ułamka/mianownik forma.

próbna stawka
Częstotliwość próbkowania przychodzących buforów audio.

próbka_fmt
Przykładowy format przychodzących buforów audio. Albo przykładowa nazwa formatu, albo jej
odpowiednia reprezentacja liczb całkowitych z wyliczenia AVSampleFormat in
libavutil/samplefmt.h

układ_kanału
Układ kanałów przychodzących buforów audio. Albo nazwa układu kanału z
channel_layout_map w libavutil/układ_kanałowy.c lub odpowiadająca jej liczba całkowita
reprezentacja z makr AV_CH_LAYOUT_* w libavutil/układ_kanałowy.h

kanały
Liczba kanałów przychodzących buforów audio. Jeśli oba kanały i
układ_kanału są określone, to muszą być spójne.

Przykłady

abuffer=sample_rate=44100:sample_fmt=s16p:channel_layout=stereo

poinstruuje źródło, aby zaakceptowało planarne 16-bitowe podpisane stereo przy 44100 Hz. Ponieważ
przykładowy format o nazwie „s16p” odpowiada numerowi 6 i układowi kanału „stereo”
odpowiada wartości 0x3, co odpowiada:

abuffer=sample_rate=44100:sample_fmt=6:channel_layout=0x3

aevalsrc
Wygeneruj sygnał audio określony przez wyrażenie.

To źródło akceptuje na wejściu jedno lub więcej wyrażeń (po jednym dla każdego kanału), które są
oceniane i wykorzystywane do generowania odpowiedniego sygnału audio.

To źródło akceptuje następujące opcje:

wyrażenie
Ustaw listę wyrażeń rozdzielonych '|' dla każdego oddzielnego kanału. W przypadku
układ_kanału opcja nie jest określona, ​​wybrany układ kanałów zależy od
liczba dostarczonych wyrażeń. W przeciwnym razie ostatnie określone wyrażenie jest stosowane do
pozostałe kanały wyjściowe.

układ_kanałowy, c
Ustaw układ kanałów. Liczba kanałów w określonym układzie musi być równa
do liczby określonych wyrażeń.

Trwanie, d
Ustaw minimalny czas trwania źródła dźwięku. Widzieć dotychczasowy Czas czas trwania Sekcja in dotychczasowy
narzędzia ffmpeg(1) podręcznik dla przyjętej składni. Pamiętaj, że wynikowy czas trwania może:
być dłuższy niż określony czas trwania, ponieważ generowany dźwięk jest zawsze przycinany o
koniec kompletnej ramy.

Jeśli nie określono lub wyrażony czas trwania jest ujemny, dźwięk powinien być
generowane na zawsze.

nb_próbek, n
Ustaw liczbę próbek na kanał na każdą ramkę wyjściową, domyślnie 1024.

próbna stawka, s
Określ częstotliwość próbkowania, domyślnie 44100.

Każde wyrażenie w wyrażenie może zawierać następujące stałe:

n numer ocenianej próby, począwszy od 0

t czas ocenianej próbki wyrażony w sekundach, począwszy od 0

s próbna stawka

Przykłady

· Generuj ciszę:

aevalsrc=0

· Generuj sygnał sin o częstotliwości 440 Hz, ustaw częstotliwość próbkowania na 8000 Hz:

aevalsrc="/sin(440*2*PI*t):s=8000"

· Wygeneruj sygnał dwukanałowy, określ układ kanałów (Przód Środek + Tył
Centrum) wyraźnie:

aevalsrc="/sin(420*2*PI*t)|cos(430*2*PI*t):c=FC|BC"

· Generuj biały szum:

aevalsrc="/-2+przypadkowy(0) ”

· Generowanie sygnału z modulacją amplitudy:

aevalsrc="/sin(10*2*PI*t)*sin(880*2*PI*t)"

· Generuj dudnienia różnicowe 2.5 Hz na nośniku 360 Hz:

aevalsrc="/0.1*sin(2*PI*(360-2.5/2)*t) | 0.1*sin(2*PI*(360+2.5/2)*t)"

anullsrc
Puste źródło dźwięku zwraca nieprzetworzone ramki audio. Przydaje się głównie jako szablon
i do wykorzystania w narzędziach do analizy / debugowania lub jako źródło filtrów, które:
zignoruj ​​dane wejściowe (na przykład filtr sox synth).

To źródło akceptuje następujące opcje:

układ_kanałowy, cl
Określa układ kanału i może być liczbą całkowitą lub łańcuchem reprezentującym
układ kanałów. Domyślna wartość układ_kanału to „stereo”.

Sprawdź definicję channel_layout_map w libavutil/układ_kanałowy.c do mapowania
między ciągami a wartościami układu kanału.

próbna stawka, r
Określa częstotliwość próbkowania i domyślnie 44100.

nb_próbek, n
Ustaw liczbę próbek na żądane ramki.

Przykłady

· Ustaw częstotliwość próbkowania na 48000 Hz i układ kanałów na AV_CH_LAYOUT_MONO.

anullsrc=r=48000:cl=4

· Wykonaj tę samą operację z bardziej oczywistą składnią:

anullsrc=r=48000:cl=mono

Wszystkie parametry muszą być wyraźnie zdefiniowane.

latać
Zsyntetuj wypowiedź głosową za pomocą biblioteki libflite.

Aby umożliwić kompilację tego filtra musisz skonfigurować FFmpeg za pomocą
„--włącz-libflite”.

Zauważ, że biblioteka flite nie jest bezpieczna wątkowo.

Filtr akceptuje następujące opcje:

lista_głosów
Jeśli jest ustawiony na 1, wymień nazwy dostępnych głosów i natychmiast wyjdź. Domyślna
wartość wynosi 0.

nb_próbek, n
Ustaw maksymalną liczbę próbek na klatkę. Wartość domyślna to 512.

plik tekstowy
Ustaw nazwę pliku zawierającego tekst do mówienia.

XNUMX
Ustaw tekst do mówienia.

głos, v
Ustaw głos używany do syntezy mowy. Wartość domyślna to „kal”. Zobacz także
lista_głosów opcja.

Przykłady

· Czytaj z pliku mowa.txti zsyntetyzuj tekst, używając standardowego głosu flite:

flite=plik tekstowy=mowa.txt

· Przeczytaj określony tekst wybierając głos "slt":

flite=text='Że dobrze, biedny diabeł z sub-sub, którego komentatorem jestem':voice=slt

· Wprowadź tekst do ffmpeg:

ffmpeg -f lavfi -i flite=text='Że dobrze, biedny diabeł Sub-Sub, którego komentatorem jestem':voice=slt

· Robić ffplay wypowiedz określony tekst, używając „flite” i urządzenia „lavfi”:

ffplay -f lavfi flite=text='Nie smuć się już tym, co zrobiłeś.'

Aby uzyskać więcej informacji o libflite, sprawdź:http://www.speech.cs.cmu.edu/flite/>

sinus
Generuj sygnał audio składający się z fali sinusoidalnej o amplitudzie 1/8.

Sygnał audio jest dokładny bitowo.

Filtr akceptuje następujące opcje:

częstotliwość, f
Ustaw częstotliwość nośną. Wartość domyślna to 440 Hz.

współczynnik_dźwięku, b
Włącz okresowy sygnał dźwiękowy co sekundę z częstotliwością współczynnik_dźwięku razy przewoźnik
częstotliwość. Wartość domyślna to 0, co oznacza, że ​​sygnał dźwiękowy jest wyłączony.

próbna stawka, r
Określ częstotliwość próbkowania, domyślnie 44100.

Trwanie, d
Określ czas trwania generowanego strumienia audio.

sample_per_frame
Ustaw liczbę próbek na klatkę wyjściową, domyślnie 1024.

Przykłady

· Wygeneruj prostą sinusoidę 440 Hz:

sinus

· Generuj falę sinusoidalną 220 Hz z sygnałem dźwiękowym 880 Hz co sekundę przez 5 sekund:

sinus=220:4:d=5
sinus=f=220:b=4:d=5
sinus=częstotliwość=220:beep_factor=4:czas trwania=5

AUDIO ZLEWY


Poniżej znajduje się opis aktualnie dostępnych pochłaniaczy dźwięku.

zlew buforowy
Buforuj ramki audio i udostępniaj je na końcu łańcucha filtrów.

Ten zlew jest przeznaczony głównie do użytku programistycznego, w szczególności za pośrednictwem interfejsu
zdefiniowane w libavfilter/buffersink.h lub system opcji.

Przyjmuje wskaźnik do struktury AVABufferSinkContext, która definiuje przychodzące
formaty buforów, które mają być przekazane jako parametr nieprzezroczysty do "avfilter_init_filter" dla
inicjalizacja.

zlewozmywak
Zerowy pochłaniacz dźwięku; nie rób absolutnie nic z wejściowym dźwiękiem. Przydaje się głównie jako
szablon i do wykorzystania w narzędziach do analizy / debugowania.

VIDEO FILTRY


Kiedy konfigurujesz swoją kompilację FFmpeg, możesz wyłączyć dowolny z istniejących filtrów za pomocą
„--wyłącz-filtry”. Dane wyjściowe konfiguracji pokażą filtry wideo zawarte w twoim
budować.

Poniżej znajduje się opis aktualnie dostępnych filtrów wideo.

alfaekstrakt
Wyodrębnij składnik alfa z wejścia jako wideo w skali szarości. Jest to szczególnie przydatne
z alfamerge filtr.

alfamerge
Dodaj lub zastąp składnik alfa podstawowych danych wejściowych wartością skali szarości a
drugie wejście. To jest przeznaczone do użytku z alfaekstrakt aby umożliwić transmisję lub
przechowywanie sekwencji ramek, które mają alfa w formacie, który nie obsługuje alfa
kanał.

Na przykład, aby zrekonstruować pełne klatki z normalnego wideo zakodowanego w YUV i oddzielnego
wideo utworzone za pomocą alfaekstrakt, możesz użyć:

film=in_alfa.mkv [alfa]; [in][alfa] alfamerge [out]

Ponieważ ten filtr jest przeznaczony do rekonstrukcji, działa na sekwencjach ramek bez
uwzględnianie znaczników czasu i kończy się, gdy którekolwiek wejście osiągnie koniec strumienia. To będzie
powodować problemy, jeśli potok kodowania porzuca ramki. Jeśli próbujesz zastosować obraz
jako nakładkę na strumień wideo, rozważ narzuta zamiast tego filtruj.

osioł
Taki sam jak napisy na filmie obcojęzycznym filtr, z wyjątkiem tego, że nie wymaga libavcodec i libavformat do
Praca. Z drugiej strony ogranicza się do plików napisów ASS (Advanced Substation Alpha).

Ten filtr akceptuje następującą opcję oprócz typowych opcji z
napisy na filmie obcojęzycznym filtr:

modelacja
Ustaw silnik kształtowania

Dostępne wartości to:

samochód
Domyślny silnik kształtowania libass, który jest najlepszym dostępnym.

prosty
Szybki, niezależny od fontów moduł do kształtowania, który może wykonywać tylko zamiany

kompleks
Wolniejsze narzędzie do kształtowania przy użyciu OpenType do podstawień i pozycjonowania

Wartość domyślna to „auto”.

atadenoise
Zastosuj adaptacyjny odszumiacz uśredniania w czasie do wejścia wideo.

Filtr akceptuje następujące opcje:

0a Ustaw próg A dla 1. płaszczyzny. Wartość domyślna to 0.02. Prawidłowy zakres to 0 do 0.3.

0b Ustaw próg B dla 1. płaszczyzny. Wartość domyślna to 0.04. Prawidłowy zakres to 0 do 5.

1a Ustaw próg A dla drugiej płaszczyzny. Wartość domyślna to 2. Prawidłowy zakres to 0.02 do 0.

1b Ustaw próg B dla drugiej płaszczyzny. Wartość domyślna to 2. Prawidłowy zakres to 0.04 do 0.

2a Ustaw próg A dla 3 płaszczyzny. Wartość domyślna to 0.02. Prawidłowy zakres to 0 do 0.3.

2b Ustaw próg B dla 3 płaszczyzny. Wartość domyślna to 0.04. Prawidłowy zakres to 0 do 5.

Próg A jest przeznaczony do reagowania na nagłe zmiany sygnału wejściowego i progu B
jest przeznaczony do reagowania na ciągłe zmiany sygnału wejściowego.

s Ustaw liczbę klatek, których filtr będzie używał do uśredniania. Domyślnie 33. Musi być liczbą nieparzystą
w zakresie [5, 129].

bbox
Oblicz obwiednię dla nieczarnych pikseli w płaszczyźnie luminancji ramki wejściowej.

Ten filtr oblicza obwiednię zawierającą wszystkie piksele o wartości luminancji
większa niż minimalna dozwolona wartość. Parametry opisujące ramkę ograniczającą to
wydrukowane w dzienniku filtrów.

Filtr akceptuje następującą opcję:

min_wartość
Ustaw minimalną wartość luminancji. Wartość domyślna to 16.

czarny wykrywacz
Wykryj interwały wideo, które są (prawie) całkowicie czarne. Może być przydatny do wykrywania rozdziału
przejścia, reklamy lub nieprawidłowe nagrania. Linie wyjściowe zawierają czas dla
początek, koniec i czas trwania wykrytego odstępu czerni wyrażony w sekundach.

Aby wyświetlić linie wyjściowe, musisz ustawić poziom logowania co najmniej na
AV_LOG_INFO wartość.

Filtr akceptuje następujące opcje:

czarny_min_czas trwania, d
Ustaw minimalny wykryty czas trwania czerni wyrażony w sekundach. To musi być nie-
ujemna liczba zmiennoprzecinkowa.

Wartość domyślna to 2.0.

image_black_ratio_th, zdjęcie_th
Ustaw próg uznania obrazu za „czarny”. Wyraź minimalną wartość dla
stosunek:

/

dla których obraz jest uważany za czarny. Wartość domyślna to 0.98.

piksel_czarny_th, pik_th
Ustaw próg dla uznania piksela za „czarny”.

Próg wyraża maksymalną wartość luminancji piksela, dla której jest piksel
uważany za „czarny”. Podana wartość jest skalowana zgodnie z następującym równaniem:

= + *

luminancja_zakres_rozmiar i luminancja_minimalna_wartość zależy od wejściowego formatu wideo,
zakres to [0-255] dla pełnozakresowych formatów YUV i [16-235] dla niepełnego zakresu YUV
formaty.

Wartość domyślna to 0.10.

Poniższy przykład ustawia maksymalny próg pikseli na wartość minimalną i wykrywa
tylko czarne odstępy co 2 sekundy:

wykrywanie czerni=d=2:pix_th=0.00

czarna ramka
Wykrywaj ramki, które są (prawie) całkowicie czarne. Może być przydatny do wykrywania rozdziału
przejścia lub reklamy. Linie wyjściowe składają się z numeru ramki wykrytego
klatka, procent zaczernienia, pozycja w pliku, jeśli jest znana lub -1 oraz
znacznik czasu w sekundach.

Aby wyświetlić linie wyjściowe, musisz ustawić poziom logowania co najmniej na
AV_LOG_INFO wartość.

Przyjmuje następujące parametry:

ilość
Procent pikseli, które muszą być poniżej progu; domyślnie 98.

próg, namłócić
Próg, poniżej którego wartość piksela jest uważana za czarną; domyślnie 32.

mieszanka, mieszanka stołowa
Połącz ze sobą dwie klatki wideo.

Filtr „mieszanka” pobiera dwa strumienie wejściowe i wyprowadza jeden strumień, pierwszym wejściem jest
warstwa „górna”, a drugie wejście to warstwa „dolna”. Wyjście kończy się, gdy najkrótsze wejście
kończy się.

Filtr „tblend” (mieszanie w czasie) pobiera dwie kolejne klatki z jednego strumienia i
wyświetla wynik uzyskany przez zmieszanie nowej klatki ze starą klatką.

Poniżej znajduje się opis akceptowanych opcji.

tryb c0
tryb c1
tryb c2
tryb c3
all_mode
Ustaw tryb mieszania dla określonego składnika piksela lub wszystkich składników pikseli w przypadku
all_mode. Wartość domyślna to „normalny”.

Dostępne wartości dla trybów komponentów to:

dodatek
i
średni
palić
zaciemniać
różnica
różnica128
podzielić
unik
wykluczenie
poświata
ostre światło
ciężka mieszanka
rozjaśnić
światło liniowe
mnożyć
odmowa
normalna
or
narzuta
feniks
szpilka
odzwierciedlić
ekran
miękkie światło
odejmować
wyraźne światło
xor
c0_przezroczystość
c1_przezroczystość
c2_przezroczystość
c3_przezroczystość
all_krycie
Ustaw przezroczystość mieszania dla określonego składnika piksela lub wszystkich składników pikseli w przypadku
all_krycie. Używany tylko w połączeniu z trybami mieszania składników pikseli.

c0_wyr
c1_wyr
c2_wyr
c3_wyr
wszystkie_wyr
Ustaw wyrażenie mieszania dla określonego składnika piksela lub wszystkich składników pikseli w przypadku
wszystkie_wyr. Zwróć uwagę, że powiązane opcje trybu zostaną zignorowane, jeśli zostaną ustawione.

Wyrażenia mogą używać następujących zmiennych:

N Numer sekwencyjny przefiltrowanej ramki, zaczynając od 0.

X
Y współrzędne aktualnej próbki

W
H szerokość i wysokość aktualnie filtrowanej płaszczyzny

SW
SH Skala szerokości i wysokości w zależności od aktualnie filtrowanej płaszczyzny. To jest stosunek
między odpowiednią liczbą pikseli w płaszczyźnie luma a bieżącą liczbą pikseli.
Np. dla YUV4:2:0 wartości to "1,1" dla płaszczyzny luma i "0.5,0.5" dla
płaszczyzny barwy.

T Czas bieżącej klatki wyrażony w sekundach.

SZCZYT, A
Wartość składnika piksela w bieżącej lokalizacji dla pierwszej klatki wideo (górna warstwa).

SPÓD, B
Wartość składnika piksela w bieżącej lokalizacji dla drugiej klatki wideo (na dole
warstwa).

najkrótsza
Wymuś zakończenie po zakończeniu najkrótszego wejścia. Wartość domyślna to 0. Ta opcja to
zdefiniowany tylko dla filtra „mieszanka”.

powtarzać ostatni
Kontynuuj stosowanie ostatniej dolnej klatki po zakończeniu strumienia. Wartość 0
wyłącz filtr po osiągnięciu ostatniej klatki dolnej warstwy. Wartość domyślna to 1.
Ta opcja jest zdefiniowana tylko dla filtra „mieszania”.

Przykłady

· Zastosuj przejście od warstwy dolnej do warstwy górnej w ciągu pierwszych 10 sekund:

blend=all_expr='A*(if(gte(T,10),1,T/10))+B*(1-(if(gte(T,10),1,T/10)))'

· Zastosuj efekt szachownicy 1x1:

blend=all_expr='if(eq(mod(X,2),mod(Y,2)),A,B)'

· Zastosuj odkryj lewy efekt:

blend=all_expr='if(gte(N*SW+X,W),A,B)'

· Zastosuj efekt odkrywania:

blend=all_expr='if(gte(YN*SH,0),A,B)'

· Zastosuj efekt odsłonięcia w lewo:

blend=all_expr='if(gte(T*SH*40+Y,H)*gte((T*40*SW+X)*W/H,W),A,B)'

· Wyświetl różnice między bieżącą a poprzednią klatką:

tblend=all_mode=różnica128

polerozmycie
Zastosuj algorytm boxblur do wejściowego wideo.

Przyjmuje następujące parametry:

luma_promień, lr
luma_moc, lp
promień_koloru, cr
moc_koloru, cp
promień_alfa, ar
alfa_moc, ap

Poniżej znajduje się opis akceptowanych opcji.

luma_promień, lr
promień_koloru, cr
promień_alfa, ar
Ustaw wyrażenie dla promienia pudełka w pikselach używanego do rozmycia odpowiedniego
płaszczyzna wejściowa.

Wartość promienia musi być liczbą nieujemną i nie może być większa niż wartość
wyrażenia „min(w,h)/2” dla płaszczyzny luma i alfa oraz „min(cw,ch)/2”
dla płaszczyzn barwy.

Wartość domyślna dla luma_promień to „2”. Jeśli nie określono, promień_koloru i promień_alfa
domyślnie na odpowiednią wartość ustawioną dla luma_promień.

Wyrażenia mogą zawierać następujące stałe:

w
h Wejściowa szerokość i wysokość w pikselach.

cw
ch Wejściowa szerokość i wysokość obrazu chrominancji w pikselach.

hsub
vssub
Wartości podpróbki chrominancji poziomej i pionowej. Na przykład dla piksela
format "yuv422p", hsub to 2 i vssub to 1.

luma_moc, lp
moc_koloru, cp
alfa_moc, ap
Określ, ile razy filtr boxblur zostanie zastosowany do odpowiedniej płaszczyzny.

Wartość domyślna dla luma_moc wynosi 2. Jeśli nie określono, moc_koloru i alfa_moc
domyślnie na odpowiednią wartość ustawioną dla luma_moc.

Wartość 0 wyłączy efekt.

Przykłady

· Zastosuj filtr boxblur z promieniami luma, chroma i alfa ustawionymi na 2:

boxblur=luma_promień=2:luma_power=1
rozmycie pudełka=2:1

· Ustaw promień luma na 2, a promień alfa i chroma na 0:

boxblur=2:1:cr=0:ar=0

· Ustaw promienie luma i chroma na ułamek wymiaru wideo:

boxblur=luma_radius=min(h\,s)/10:luma_power=1:chroma_radius=min(cw\,ch)/10:chroma_power=1

kodek-widok
Wizualizuj informacje eksportowane przez niektóre kodeki.

Niektóre kodeki mogą eksportować informacje za pośrednictwem ramek przy użyciu danych pobocznych lub w inny sposób. Do
na przykład, niektóre kodeki oparte na MPEG eksportują wektory ruchu przez eksport_mvs flaga w
kodek flagi2 opcja.

Filtr akceptuje następującą opcję:

mv Ustaw wektory ruchu do wizualizacji.

Dostępne flagi dla mv należą:

pf przewidywane w przód wartości MV ramek P

bf przewidywane w przód wartości MV ramek B

bb przewidywane wstecz wartości MV ramek B

Przykłady

· Wizualizuje wielokierunkowe MV z ramek P i B przy użyciu ffplay:

ffplay -flags2 +export_mvs input.mpg -vf codecview=mv=pf+bf+bb

balans kolorów
Modyfikuj intensywność kolorów podstawowych (czerwony, zielony i niebieski) ramek wejściowych.

Filtr umożliwia dostosowanie klatki wejściowej w cieniach, półcieniach lub światłach
regiony dla równowagi czerwono-błękitnej, zielono-purpurowej lub niebiesko-żółtej.

Dodatnia wartość korekty przesuwa równowagę w kierunku koloru podstawowego, wartość ujemna
w kierunku koloru dopełniającego.

Filtr akceptuje następujące opcje:

rs
gs
bs Dostosuj czerwone, zielone i niebieskie cienie (najciemniejsze piksele).

rm
gm
bm Dostosuj czerwone, zielone i niebieskie półcienie (średnie piksele).

rh
gh
bh Dostosuj czerwone, zielone i niebieskie światła (najjaśniejsze piksele).

Dozwolone zakresy dla opcji to „[-1.0, 1.0]”. Wartości domyślne to 0.

Przykłady

· Dodaj czerwony kolor do cieni:

balans kolorów=rs=3

kolorowy klucz
Kluczowanie kolorów w przestrzeni kolorów RGB.

Filtr akceptuje następujące opcje:

kolor
Kolor, który zostanie zastąpiony przezroczystością.

podobieństwo
Procent podobieństwa z kolorem klucza.

0.01 pasuje tylko do dokładnego koloru klucza, a 1.0 pasuje do wszystkiego.

mieszanka
Procent mieszanki.

0.0 sprawia, że ​​piksele są albo w pełni przezroczyste, albo w ogóle nie są przezroczyste.

Wyższe wartości skutkują półprzezroczystymi pikselami, im większa przezroczystość, tym bardziej
kolor pikseli jest podobny do koloru kluczowego.

Przykłady

· Spraw, aby każdy zielony piksel w obrazie wejściowym był przezroczysty:

ffmpeg -i input.png -vf colorkey=zielony out.png

· Nałóż film z zielonego ekranu na statyczny obraz tła.

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]" wyjście.flv

poziomy kolorów
Dostosuj klatki wejściowe wideo za pomocą poziomów.

Filtr akceptuje następujące opcje:

obrzeżać
Gimin
bimin
celować
Ustaw czerwony, zielony, niebieski i alfa wejście punktu czerni. Dozwolone zakresy dla opcji to
„[-1.0, 1.0]”. Wartości domyślne to 0.

rymaks
gimax
bimaks
celaks
Ustaw czerwony, zielony, niebieski i alfa punkt bieli. Dozwolone zakresy dla opcji to
„[-1.0, 1.0]”. Wartości domyślne to 1.

Poziomy wejściowe służą do rozjaśniania świateł (jasnych tonów), przyciemniania cieni (ciemnych
tony), zmień równowagę jasnych i ciemnych tonów.

Romin
Gomin
bomin
Aomin
Regulacja czerwonego, zielonego, niebieskiego i punktu czerni wyjścia alfa. Dozwolone zakresy dla opcji to
„[0, 1.0]”. Wartości domyślne to 0.

Romax
gomaks
bomax
aomax
Ustaw czerwony, zielony, niebieski i alfa punkt bieli. Dozwolone zakresy dla opcji to
„[0, 1.0]”. Wartości domyślne to 1.

Poziomy wyjściowe umożliwiają ręczny wybór ograniczonego zakresu poziomów wyjściowych.

Przykłady

· Przyciemnij wyjście wideo:

poziomy kolorów=rimin=0.058:gimin=0.058:bimin=0.058

· Zwiększ kontrast:

colorlevels=rimin=0.039:gimin=0.039:bimin=0.039:rimax=0.96:gimax=0.96:bimax=0.96

· Spraw, aby wyjście wideo było lżejsze:

poziomy kolorów=rimax=0.902:gimax=0.902:bimax=0.902

· Zwiększ jasność:

poziomy kolorów=romin=0.5:gomin=0.5:bomin=0.5

mikser kolorów
Dostosuj klatki wejściowe wideo, ponownie mieszając kanały kolorów.

Ten filtr modyfikuje kanał koloru, dodając wartości powiązane z innymi kanałami
tych samych pikseli. Na przykład, jeśli wartość do zmodyfikowania jest czerwona, wartością wyjściową będzie:

= * + * + * + *

Filtr akceptuje następujące opcje:

rr
rg
rb
ra Dostosuj udział wejściowych kanałów czerwonego, zielonego, niebieskiego i alfa dla wyjścia czerwonego
kanał. Wartość domyślna to 1 dla rr, i 0 dla rg, rb i ra.

gr
gg
gb
ga Dostosuj udział wejściowych kanałów czerwonego, zielonego, niebieskiego i alfa dla zielonego wyjścia
kanał. Wartość domyślna to 1 dla gg, i 0 dla gr, gb i ga.

br
bg
bb
ba Dostosuj udział wejściowych kanałów czerwonego, zielonego, niebieskiego i alfa dla wyjścia niebieskiego
kanał. Wartość domyślna to 1 dla bb, i 0 dla br, bg i ba.

ar
ag
ab
aa Dostosuj udział wejściowych kanałów czerwonego, zielonego, niebieskiego i alfa dla wyjściowego kanału alfa
kanał. Wartość domyślna to 1 dla aa, i 0 dla ar, ag i ab.

Dozwolone zakresy dla opcji to „[-2.0, 2.0]”.

Przykłady

· Konwersja źródła do skali szarości:

colorchannelmixer=.3:.4:.3:0:.3:.4:.3:0:.3:.4:.3

· Symulacja tonów sepii:

colorchannelmixer=.393:.769:.189:0:.349:.686:.168:0:.272:.534:.131

matryca kolorów
Konwertuj macierz kolorów.

Filtr akceptuje następujące opcje:

src
dst Określ źródłową i docelową macierz kolorów. Należy określić obie wartości.

Akceptowane wartości to:

bt709
BT.709

bt601
BT.601

smte240m
SMPTE-240M

Fcc FCC

Na przykład do konwersji z BT.601 na SMPTE-240M użyj polecenia:

colormatrix=bt601:smpte240m

kopia
Skopiuj źródło wejściowe bez zmian do wyjścia. Jest to przydatne głównie do celów testowych.

wole
Przytnij wideo wejściowe do podanych wymiarów.

Przyjmuje następujące parametry:

w, out_w
Szerokość wyjściowego wideo. Domyślnie jest to „iw”. To wyrażenie jest oceniane tylko
raz podczas konfiguracji filtra lub gdy w or out_w polecenie jest wysyłane.

h, wyjście_h
Wysokość wyjściowego wideo. Domyślnie jest to „ih”. To wyrażenie jest oceniane
tylko raz podczas konfiguracji filtra lub gdy h or wyjście_h polecenie jest wysyłane.

x Pozycja pozioma, w wejściowym wideo, lewej krawędzi wyjściowego wideo. To
domyślnie „(in_w-out_w)/2”. To wyrażenie jest oceniane na klatkę.

y Pozycja pionowa, w wejściowym wideo, górnej krawędzi wyjściowego wideo. To
domyślnie "(in_h-out_h)/2". To wyrażenie jest oceniane na klatkę.

zachować_aspekt
Jeśli jest ustawiony na 1, wymusi proporcje obrazu wyjściowego, aby były takie same jak na wejściu, przez
zmiana proporcji wyjściowej próbki. Domyślnie jest to 0.

Połączenia out_w, wyjście_h, x, y parametry to wyrażenia zawierające następujące stałe:

x
y Obliczone wartości dla x i y. Są oceniane dla każdej nowej klatki.

w_w
w_h
Wejściowa szerokość i wysokość.

iw
ih Są takie same jak w_w i w_h.

out_w
wyjście_h
Wyjściowa (przycięta) szerokość i wysokość.

ow
oh Są takie same jak out_w i wyjście_h.

a sama, jak iw / ih

sar wejściowy współczynnik proporcji próbki

dar wejściowy współczynnik proporcji wyświetlacza, jest taki sam jak (iw / ih) * sar

hsub
vssub
wartości podpróbki chrominancji poziomej i pionowej. Na przykład dla formatu pikseli
"yuv422p" hsub to 2 i vssub to 1.

n Numer ramki wejściowej, zaczynając od 0.

pisać pozycja w pliku ramki wejściowej, NAN jeśli nieznana

t Znacznik czasu wyrażony w sekundach. Jest to NAN, jeśli wejściowy znacznik czasu jest nieznany.

Wyrażenie dla out_w może zależeć od wartości wyjście_hi wyrażenie dla wyjście_h
może zależeć od out_w, ale nie mogą na nich polegać x i y, tak jak x i y są oceniane po
out_w i wyjście_h.

Połączenia x i y parametry określają wyrażenia określające położenie lewego górnego rogu
obszar wyjściowy (nieprzycięty). Są oceniane dla każdej klatki. Jeśli oceniana wartość
jest nieważny, jest przybliżony do najbliższej prawidłowej wartości.

Wyrażenie dla x może zależeć od yi wyrażenie dla y może zależeć od x.

Przykłady

· Powierzchnia uprawy o rozmiarze 100x100 na pozycji (12,34).

uprawa=100:100:12:34

Używając nazwanych opcji, powyższy przykład staje się:

upraw=w=100:h=100:x=12:y=34

· Przytnij centralny obszar wejściowy o rozmiarze 100x100:

uprawa=100:100

· Przytnij centralny obszar wejściowy z rozmiarem 2/3 wejściowego wideo:

przycięcie=2/3*w_w:2/3*w_h

· Przytnij centralny kwadrat wejściowego wideo:

upraw=out_w=in_h
upraw=w_godz

· Ogranicz prostokąt lewym górnym rogiem umieszczonym w pozycji 100:100 i
prawy dolny róg odpowiadający prawemu dolnemu rogowi obrazu wejściowego.

crop=w_w-100:w_g-100:100:100

· Przytnij 10 pikseli z lewej i prawej krawędzi oraz 20 pikseli z góry i dołu
Granice

crop=w_w-2*10:w_h-2*20

· Zachowaj tylko dolną prawą ćwiartkę obrazu wejściowego:

crop=w_w/2:w_godz/2:w_w/2:w_godz/2

· Wysokość upraw dla uzyskania greckiej harmonii:

crop=w_w:1/PHI*w_w

· Zastosuj efekt drżenia:

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)

· Zastosuj nieregularny efekt kamery w zależności od sygnatury czasowej:

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

· Ustaw x w zależności od wartości y:

crop=in_w/2:in_h/2:y:10+10*sin(n/10)

Polecenia

Ten filtr obsługuje następujące polecenia:

w, out_w
h, wyjście_h
x
y Ustaw szerokość/wysokość wyjściowego wideo i poziomą/pionową pozycję na wejściu
wideo. Polecenie akceptuje taką samą składnię jak w odpowiedniej opcji.

Jeśli podane wyrażenie jest niepoprawne, jest zachowywane z bieżącą wartością.

wykryj przycięcie
Automatycznie wykryj rozmiar przycięcia.

Oblicza niezbędne parametry przycinania i drukuje zalecane parametry za pomocą
system logowania. Wykryte wymiary odpowiadają nieczarnemu obszarowi wejścia
filmiku.

Przyjmuje następujące parametry:

ograniczenie
Ustaw wyższy próg wartości czerni, który można opcjonalnie określić z niczego (0)
do wszystkiego (255 dla formatów 8-bitowych). Wartość intensywności większa od zestawu
wartość nie jest uważana za czarną. Domyślnie jest to 24. Możesz także określić wartość
od 0.0 do 1.0, które będą skalowane w zależności od głębi bitowej piksela
Format.

okrągły
Wartość, przez którą szerokość/wysokość powinna być podzielna. Domyślnie 16. Przesunięcie
jest automatycznie dostosowywany do wyśrodkowania wideo. Użyj 2, aby uzyskać tylko równe wymiary
(potrzebne do wideo 4:2:2). 16 jest najlepsze przy kodowaniu do większości kodeków wideo.

reset_count, zresetuj
Ustaw licznik, który określa, po ilu klatkach cropdect zresetuje
poprzednio wykryto największy obszar wideo i zacznij od nowa, aby wykryć obecny optymalny
obszar upraw. Wartość domyślna to 0.

Może to być przydatne, gdy logo kanału zniekształca obszar wideo. 0 oznacza „nigdy”
reset' i zwraca największy obszar napotkany podczas odtwarzania.

Krzywe
Zastosuj dopasowania kolorów za pomocą krzywych.

Ten filtr jest podobny do narzędzi krzywych Adobe Photoshop i GIMP. Każdy składnik (czerwony,
zielony i niebieski) ma swoje wartości określone przez N kluczowe punkty powiązane ze sobą za pomocą gładkiej
krzywa. Oś x reprezentuje wartości pikseli z klatki wejściowej, a oś y nowe
wartości pikseli do ustawienia dla ramki wyjściowej.

Domyślnie krzywa składowa jest definiowana przez dwa punkty (0;0) i (1;1). To tworzy
linia prosta, w której każda oryginalna wartość piksela jest „dopasowywana” do własnej wartości, co oznacza
bez zmian w obrazie.

Filtr pozwala przedefiniować te dwa punkty i dodać trochę więcej. Nowa krzywa (przy użyciu
naturalna interpolacja splajnu sześciennego) zostanie zdefiniowana, aby płynnie przechodzić przez wszystkie te nowe
współrzędne. Nowe zdefiniowane punkty muszą ściśle rosnąć na osi X, a
ich x i y wartości muszą być w [0;1] interwał. Gdyby obliczone krzywe zdarzyły się iść
poza przestrzeniami wektorowymi wartości zostaną odpowiednio przycięte.

Jeśli nie ma kluczowego punktu zdefiniowanego w „x=0”, filtr automatycznie wstawi a (0;0)
punkt. W ten sam sposób, jeśli nie ma kluczowego punktu zdefiniowanego w „x=1”, filtr:
automatycznie wstawia (1;1) punkt.

Filtr akceptuje następujące opcje:

presetu
Wybierz jedno z dostępnych ustawień wstępnych kolorów. Ta opcja może być używana dodatkowo do
r, g, b parametry; w tym przypadku późniejsze opcje mają pierwszeństwo w stosunku do ustawienia wstępnego
wartości. Dostępne ustawienia wstępne to:

Żaden
kolor_negatywny
proces_krzyżowy
ciemniejszy
Zwiększ kontrast
zapalniczka
liniowy_kontrast
średni_kontrast
ujemny
silny_kontrast
zabytkowe

Wartość domyślna to „brak”.

mistrz, m
Ustaw główne punkty klucza. Punkty te zdefiniują mapowanie drugiego przebiegu. To jest
czasami nazywane mapowaniem „luminancji” lub „wartości”. Może być używany z r, g, b or cała kolekcja
ponieważ działa jak LUT przetwarzania końcowego.

czerwony, r
Ustaw kluczowe punkty dla czerwonego komponentu.

zielony, g
Ustaw kluczowe punkty dla zielonego komponentu.

niebieski, b
Ustaw kluczowe punkty dla niebieskiego komponentu.

cała kolekcja Ustaw kluczowe punkty dla wszystkich komponentów (nie wliczając wzorca). Może być używany dodatkowo
do innych opcji komponentów kluczowych punktów. W takim przypadku nieuzbrojone komponenty będą:
wycofać się z tego cała kolekcja ustawienie.

plik ps
Określ plik krzywych programu Photoshop (.asv), z którego mają zostać zaimportowane ustawienia.

Aby uniknąć niektórych konfliktów składni wykresu filtra, każda lista kluczowych punktów musi być zdefiniowana za pomocą
następującą składnię: "x0/y0 x1/y1 x2/y2...".

Przykłady

· Zwiększ nieco środkowy poziom niebieskiego:

krzywe=niebieski='0.5/0.58'

· Efekt 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'

Tutaj otrzymujemy następujące współrzędne dla każdego składnika:

czerwony "(0;0.11) (0.42;0.51) (1;0.95)"

Zielony
"(0;0) (0.50;0.48) (1;1)"

niebieski
"(0;0.22) (0.49;0.44) (1;0.80)"

· Poprzedni przykład można również uzyskać z powiązanym wbudowanym ustawieniem wstępnym:

krzywe=preset=vintage

· Lub po prostu:

krzywe=vintage

· Użyj ustawienia wstępnego programu Photoshop i przedefiniuj punkty zielonego komponentu:

curves=psfile='MyCurvesPresets/purple.asv':green='0.45/0.53'

dctdnoiz
Odszumianie klatek przy użyciu 2D DCT (filtrowanie w domenie częstotliwości).

Ten filtr nie jest przeznaczony do pracy w czasie rzeczywistym.

Filtr akceptuje następujące opcje:

sigma, s
Ustaw stałą sigma szumu.

To zdjęcie sigma określa twardy próg „3 * sigma”; każdy współczynnik DCT (bezwzględny
wartość) poniżej tego progu, z możliwością odrzucenia.

Jeśli potrzebujesz bardziej zaawansowanego filtrowania, zobacz expr.

Wartość domyślna to 0.

zakładka
Ustaw liczbę nakładających się pikseli dla każdego bloku. Ponieważ filtr może działać wolno, możesz:
chcą zmniejszyć tę wartość kosztem mniej efektywnego filtra i ryzyka
różne artefakty.

Jeśli nakładająca się wartość nie pozwala na przetwarzanie całej wejściowej szerokości lub wysokości, a
zostanie wyświetlone ostrzeżenie i odpowiednie obramowania nie zostaną odszumione.

Wartość domyślna to rozmiar bloku-1, co jest najlepszym możliwym ustawieniem.

wyraż, e
Ustaw wyrażenie współczynnika współczynnika.

Dla każdego współczynnika bloku DCT to wyrażenie zostanie ocenione jako mnożnik
wartość współczynnika.

Jeśli ta opcja jest ustawiona, sigma opcja zostanie zignorowana.

Dostęp do wartości bezwzględnej współczynnika można uzyskać poprzez c zmienna.

n Ustaw rozmiar bloku używając liczby bitów. „1<n" definiuje rozmiar bloku, który jest
szerokość i wysokość obrabianych bloków.

Wartością domyślną jest 3 (8x8) i może zostać podniesiony do 4 dla rozmiar bloku z 16x16. Notatka
że zmiana tego ustawienia ma ogromne konsekwencje dla szybkości przetwarzania. Również
większy rozmiar bloku niekoniecznie oznacza lepsze usuwanie szumów.

Przykłady

Zastosuj odszumianie za pomocą sigma 4.5:

dctdnoiz=4.5

Tę samą operację można osiągnąć za pomocą systemu ekspresyjnego:

dctdnoiz=e='gte(c, 4.5*3)'

Gwałtowny odgłos przy użyciu bloku o rozmiarze „16x16”:

dctdnoiz=15:n=4

rozstać się
Usuń artefakty pasm z wejściowego wideo. Działa poprzez zastąpienie pikseli w paski
średnia wartość przywoływanych pikseli.

Filtr akceptuje następujące opcje:

1r
2r
3r
4r
Ustaw próg wykrywania pasm dla każdej płaszczyzny. Wartość domyślna to 0.02. Prawidłowy zakres to
0.00003 do 0.5. Jeśli różnica między bieżącym pikselem a pikselem odniesienia jest mniejsza niż
próg, będzie uważany za pasmowy.

Zakres, r
Zakres wykrywania prążków w pikselach. Wartość domyślna to 16. Jeśli dodatnia, liczba losowa w zakresie
Zostanie użyte 0 do ustawionej wartości. Jeśli jest ujemna, zostanie użyta dokładna wartość bezwzględna. ten
zakres określa kwadrat czterech pikseli wokół bieżącego piksela.

kierunek, d
Ustaw kierunek w radianach, z którego będą porównywane cztery piksele. Jeśli pozytywne, losowe
zostanie wybrany kierunek od 0 do ustawionego kierunku. Jeśli ujemna, dokładna o wartości bezwzględnej
zostanie wybrany. Na przykład kierunek 0, -PI lub -2*PI radiany będą wybierały tylko piksele włączone
ten sam wiersz i -PI/2 wybierze tylko piksele z tej samej kolumny.

plama
Jeśli włączone, bieżący piksel jest porównywany ze średnią wartością wszystkich czterech otoczenia
piksele. Domyślnie jest włączone. Jeśli wyłączone, bieżący piksel jest porównywany ze wszystkimi czterema
otaczające piksele. Piksel jest uważany za wstęgowy, jeśli tylko wszystkie cztery różnice z
otaczające piksele są mniejsze niż próg.

zdziesiątkować
Upuszczaj zduplikowane klatki w regularnych odstępach czasu.

Filtr akceptuje następujące opcje:

cykl
Ustaw liczbę klatek, z których jedna zostanie usunięta. Ustawiam to na N znaczy jeden
rama w każdej partii N ramki zostaną usunięte. Wartość domyślna to 5.

dupthresh
Ustaw próg wykrywania duplikatów. Jeśli metryka różnicy dla ramki wynosi
mniejsza lub równa tej wartości, jest deklarowana jako duplikat. Wartość domyślna to 1.1

scthresh
Ustaw próg zmiany sceny. Wartość domyślna to 15.

blokx
topornie
Ustaw rozmiar bloków osi X i Y używanych podczas obliczeń metrycznych. Większe
bloki dają lepsze tłumienie szumów, ale też dają gorsze wykrywanie małych
ruchy. Musi być potęgą dwójki. Wartość domyślna to 32.

ppsrc
Oznacz wejście główne jako wejście wstępnie przetworzone i aktywuj czysty strumień wejściowy. Ten
umożliwia wstępne przetwarzanie danych wejściowych za pomocą różnych filtrów, aby pomóc metrykom
obliczenia przy zachowaniu bezstratnego wyboru ramek. Po ustawieniu na 1, pierwszy
strumień jest dla wstępnie przetworzonego wejścia, a drugi strumień jest czystym źródłem z
gdzie są wybierane zachowane ramki. Wartość domyślna to 0.

chroma
Określ, czy w obliczeniach metrycznych uwzględniana jest barwa. Wartość domyślna to 1.

siadać
Zastosuj efekt deflacji do wideo.

Ten filtr zastępuje piksel przez miejscowy(3x3) średnia biorąc pod uwagę tylko
wartości niższe niż piksel.

Akceptuje następujące opcje:

próg 0
próg 1
próg 2
próg 3
Ogranicz maksymalną zmianę dla każdej płaszczyzny, domyślnie 65535. Jeśli 0, samolot pozostanie
bez zmian.

osądzać
Usuń drgania powodowane przez częściowo przeplatane treści telecine.

Judder może być wprowadzony na przykład przez: podciąganie filtr. Jeśli oryginalnym źródłem było
częściowo ztelecinowana treść, wtedy wyjście „pullup, dejudder” będzie miało zmienną
częstotliwość wyświetlania klatek. Może zmienić zarejestrowaną liczbę klatek na sekundę w kontenerze. Oprócz tej zmiany,
ten filtr nie wpłynie na wideo ze stałą liczbą klatek na sekundę.

Opcja dostępna w tym filtrze to:

cykl
Określ długość okna, nad którym powtarza się drganie.

Akceptuje dowolną liczbę całkowitą większą niż 1. Przydatnymi wartościami są:

4 Jeśli oryginał był telecine od 24 do 30 fps (Film do NTSC).

5 Jeśli oryginał był telecine od 25 do 30 fps (PAL do NTSC).

20 Jeśli mieszanka tych dwóch.

Wartość domyślna to 4.

Delog
Pomiń logo stacji telewizyjnej przez prostą interpolację otaczających pikseli. Po prostu ustaw
prostokąt zakrywający logo i patrz jak znika (a czasem coś jeszcze brzydszego)
pojawi się - Twój przebieg może się różnić).

Przyjmuje następujące parametry:

x
y Określ współrzędne lewego górnego rogu logo. Muszą być określone.

w
h Określ szerokość i wysokość logo do wyczyszczenia. Muszą być określone.

zespół muzyczny, t
Określ grubość rozmytej krawędzi prostokąta (dodana do w i h).
wartość domyślna to 4.

pokazać
Po ustawieniu na 1 na ekranie rysowany jest zielony prostokąt, aby ułatwić znalezienie właściwego
x, y, w, h parametry. Wartość domyślna to 0.

Prostokąt jest rysowany na skrajnych pikselach, które zostaną (częściowo) zastąpione przez
wartości interpolowane. Wartości kolejnych pikseli bezpośrednio poza tym prostokątem
w każdym kierunku zostaną użyte do obliczenia interpolowanych wartości pikseli wewnątrz
prostokąt.

Przykłady

· Ustaw prostokąt obejmujący obszar o współrzędnych lewego górnego rogu 0,0 i rozmiar
100x77 i opaska w rozmiarze 10:

delogo=x=0:y=0:w=100:h=77:band=10

strząsnąć
Spróbuj naprawić małe zmiany w przesunięciu w poziomie i/lub w pionie. Ten filtr pomaga usunąć
drgania aparatu spowodowane trzymaniem aparatu w dłoni, uderzaniem w statyw, poruszaniem się po pojeździe itp.

Filtr akceptuje następujące opcje:

x
y
w
h Określ prostokątny obszar, w którym można ograniczyć wyszukiwanie wektorów ruchu. W razie potrzeby
poszukiwanie wektorów ruchu można ograniczyć do prostokątnego obszaru kadru
zdefiniowany przez jego lewy górny róg, szerokość i wysokość. Te parametry mają takie same
co oznacza filtr szuflady, który można wykorzystać do wizualizacji pozycji
obwiednia.

Jest to przydatne, gdy jednoczesny ruch obiektów w kadrze może być
pomylony z ruchem kamery przez wyszukiwanie wektora ruchu.

Jeśli którykolwiek lub wszystkie z x, y, w i h są ustawione na -1, wtedy używana jest pełna klatka. To pozwala
późniejsze opcje do ustawienia bez określania ramki granicznej dla wektora ruchu
sprawdzić.

Domyślne - przeszukaj całą klatkę.

rx
ry Określ maksymalny zakres ruchu w kierunkach x i y w zakresie 0-64 pikseli.
Domyślnie 16.

krawędź
Określ sposób generowania pikseli w celu wypełnienia pustych miejsc na krawędzi ramki. Dostępny
wartości to:

pusty, 0
Wypełnij zera w pustych miejscach

Oryginalny, 1
Oryginalny obraz w pustych lokalizacjach

Zacisk, 2
Wyciągnięta wartość krawędzi w pustych miejscach

lustro, 3
Lustrzana krawędź w pustych miejscach

Wartość domyślna to lustro.

rozmiar bloku
Określ rozmiar bloku, który ma być używany do wyszukiwania ruchu. Zakres 4-128 pikseli, domyślnie 8.

kontrast
Określ próg kontrastu dla bloków. Tylko bloki z większą liczbą niż określono
Kontrast (różnica między najciemniejszymi i najjaśniejszymi pikselami) będzie brany pod uwagę. Zakres
1-255, domyślnie 125.

szukanie
Określ strategię wyszukiwania. Dostępne wartości to:

wyczerpujący, 0
Ustaw wyczerpujące wyszukiwanie

mniej, 1
Ustaw mniej wyczerpujące wyszukiwanie.

Wartość domyślna to wszechstronny.

filename
Jeśli ta opcja jest ustawiona, do określonego pliku zostanie zapisany szczegółowy dziennik wyszukiwania ruchu.

otwórzcl
Jeśli ustawiono na 1, określ za pomocą funkcji OpenCL, dostępne tylko wtedy, gdy FFmpeg był
skonfigurowany z "--enable-opencl". Wartość domyślna to 0.

detelecyna
Zastosuj dokładną odwrotność operacji telecine. Wymaga predefiniowanego wzoru
określone za pomocą opcji wzorca, która musi być taka sama jak przekazana do telecine
filtr.

Ten filtr akceptuje następujące opcje:

pierwsze_pole
Top, t
najpierw górne pole

dolny, b
najpierw dolne pole Wartość domyślna to „top”.

wzorzec
Ciąg liczb reprezentujący rozwijany wzór, który chcesz zastosować. Domyślny
wartość wynosi 23.

ramka_początkowa
Liczba reprezentująca pozycję pierwszej klatki względem telecine
wzorzec. Ma to być używane, jeśli strumień jest odcinany. Wartość domyślna to 0.

rozszerzanie się
Zastosuj efekt dylatacji do filmu.

Ten filtr zastępuje piksel przez miejscowy(3x3) maksymalnie.

Akceptuje następujące opcje:

próg 0
próg 1
próg 2
próg 3
Ogranicz maksymalną zmianę dla każdej płaszczyzny, domyślnie 65535. Jeśli 0, samolot pozostanie
bez zmian.

współrzędne
Flaga określająca piksel, do którego ma się odnosić. Wartość domyślna to 255, czyli wszystkie osiem pikseli to
używany.

Flagi do lokalnych map ze współrzędnymi 3x3 w następujący sposób:

1 2 3
4 5
6 7 8

szuflada
Narysuj kolorowe pole na obrazie wejściowym.

Przyjmuje następujące parametry:

x
y Wyrażenia określające współrzędne lewego górnego rogu pudełka. To domyślnie
do 0.

szerokość, w
wysokość, h
Wyrażenia określające szerokość i wysokość pudełka; jeśli 0 to są
interpretowane jako szerokość i wysokość wejściowa. Domyślnie jest to 0.

kolor, c
Określ kolor pola do pisania. Aby zapoznać się z ogólną składnią tej opcji, sprawdź
sekcja „Kolor” w podręczniku ffmpeg-utils. Jeśli użyto specjalnej wartości „odwróć”,
kolor krawędzi pudełka jest taki sam jak w przypadku wideo z odwróconą jasnością.

grubość, t
Wyrażenie określające grubość krawędzi pudełka. Wartość domyślna to 3.

Zobacz poniżej listę akceptowanych stałych.

Parametry dla x, y, w i h i t to wyrażenia zawierające następujące stałe:

dar Proporcje obrazu wejściowego są takie same jak (w / h) * sar.

hsub
vssub
wartości podpróbki chrominancji poziomej i pionowej. Na przykład dla formatu pikseli
"yuv422p" hsub to 2 i vssub to 1.

w_h, ih
w_w, iw
Wejściowa szerokość i wysokość.

sar Wejściowy współczynnik proporcji próbki.

x
y Współrzędne przesunięcia x i y, w którym narysowane jest pudełko.

w
h Szerokość i wysokość narysowanego pudełka.

t Grubość narysowanego pudełka.

Te stałe pozwalają x, y, w, h i t wyrażenia odnoszące się do siebie, więc ty
może na przykład określić „y=x/dar” lub „h=w/dar”.

Przykłady

· Narysuj czarną ramkę wokół krawędzi obrazu wejściowego:

szuflada

· Narysuj ramkę w kolorze czerwonym i nieprzezroczystości 50%:

szuflada=10:20:200:60:[email chroniony]

Poprzedni przykład można określić jako:

szuflada=x=10:y=20:w=200:h=60:kolor=[email chroniony]

· Wypełnij pudełko różowym kolorem:

szuflada=x=10:y=10:w=100:h=100:kolor=[email chroniony]:t=maks.

· Narysuj 2-pikselową czerwoną maskę 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

wykres rysunkowy, wykres graficzny
Narysuj wykres za pomocą wejściowych metadanych wideo lub audio.

Przyjmuje następujące parametry:

m1 Ustaw klucz metadanych pierwszej klatki, z którego wartości metadanych będą używane do rysowania wykresu.

fg1 Ustaw pierwsze wyrażenie koloru pierwszego planu.

m2 Ustaw klucz metadanych drugiej klatki, z którego wartości metadanych będą używane do rysowania wykresu.

fg2 Ustaw drugie wyrażenie koloru pierwszego planu.

m3 Ustaw klucz metadanych trzeciej klatki, z którego wartości metadanych będą używane do rysowania wykresu.

fg3 Ustaw trzecią ekspresję koloru pierwszego planu.

m4 Ustaw czwarty klucz metadanych ramki, z którego wartości metadanych będą używane do rysowania wykresu.

fg4 Ustaw czwarte wyrażenie koloru pierwszego planu.

min Ustaw minimalną wartość wartości metadanych.

max Ustaw maksymalną wartość wartości metadanych.

bg Ustaw kolor tła wykresu. Domyślnie jest biały.

tryb
Ustaw tryb wykresu.

Dostępne wartości dla trybu to:

bar
kropka
linia

Domyślnie jest to „linia”.

ślizgać się
Ustaw tryb slajdów.

Dostępne wartości dla slajdu to:

rama
Narysuj nową ramkę po osiągnięciu prawej granicy.

obsługi produkcji rolnej, która zastąpiła
Wymień stare kolumny na nowe.

przewijać
Przewiń od prawej do lewej.

rprzewiń
Przewiń od lewej do prawej.

Domyślnie jest to „ramka”.

rozmiar
Ustaw rozmiar wykresu wideo. Aby poznać składnię tej opcji, sprawdź "Wideo rozmiar" Sekcja
in dotychczasowy narzędzia ffmpeg podręcznik. Domyślna wartość to „900x256”.

Wyrażenia koloru pierwszego planu mogą używać następujących zmiennych:

MIN Minimalna wartość wartości metadanych.

MAX Maksymalna wartość wartości metadanych.

VAL Bieżąca wartość klucza metadanych.

Kolor jest zdefiniowany jako 0xAABBGGRR.

Przykład przy użyciu metadanych z statystyki sygnału filtr:

Signalstats,Drawgraph=lavfi.signalstats.YAVG:min=0:max=255

Przykład przy użyciu metadanych z ebur128 filtr:

ebur128=metadata=1,adrawgraph=lavfi.r128.M:min=-120:max=5

siatka do rysowania
Narysuj siatkę na obrazie wejściowym.

Przyjmuje następujące parametry:

x
y Wyrażenia określające współrzędne pewnego punktu przecięcia siatki
(ma na celu skonfigurowanie offsetu). Oba domyślnie mają wartość 0.

szerokość, w
wysokość, h
Wyrażenia określające szerokość i wysokość komórki siatki, jeśli 0 to
interpretowane jako szerokość i wysokość wejściowa, odpowiednio, minus „grubość”, więc image
zostaje oprawiony. Domyślnie 0.

kolor, c
Określ kolor siatki. Aby zapoznać się z ogólną składnią tej opcji, sprawdź
Sekcja „Kolor” w podręczniku ffmpeg-utils. Jeśli używana jest wartość specjalna „odwróć”,
kolor siatki jest taki sam jak wideo z odwróconą jasnością.

grubość, t
Wyrażenie określające grubość linii siatki. Wartość domyślna to 1.

Zobacz poniżej listę akceptowanych stałych.

Parametry dla x, y, w i h i t to wyrażenia zawierające następujące stałe:

dar Proporcje obrazu wejściowego są takie same jak (w / h) * sar.

hsub
vssub
wartości podpróbki chrominancji poziomej i pionowej. Na przykład dla formatu pikseli
"yuv422p" hsub to 2 i vssub to 1.

w_h, ih
w_w, iw
Wejściowa szerokość i wysokość komórki siatki.

sar Wejściowy współczynnik proporcji próbki.

x
y Współrzędne x i y pewnego punktu przecięcia siatki (przeznaczone do konfiguracji)
zrównoważyć).

w
h Szerokość i wysokość narysowanej komórki.

t Grubość narysowanej komórki.

Te stałe pozwalają x, y, w, h i t wyrażenia odnoszące się do siebie, więc ty
może na przykład określić „y=x/dar” lub „h=w/dar”.

Przykłady

· Narysuj siatkę z komórką 100x100 pikseli, grubość 2 piksele, z kolorem czerwonym i an
krycie 50%:

drawgrid=szerokość=100:wysokość=100:grubość=2:kolor=[email chroniony]

· Narysuj białą siatkę 3x3 z kryciem 50%:

Drawgrid=w=iw/3:h=ih/3:t=2:c=[email chroniony]

tekst rysunkowy
Narysuj ciąg tekstowy lub tekst z określonego pliku na górze wideo, używając libfreetype
biblioteka.

Aby umożliwić kompilację tego filtra, musisz skonfigurować FFmpeg za pomocą
„--włącz-libfreetype”. Aby włączyć domyślną czcionkę zastępczą i chrzcielnica opcja, której potrzebujesz
skonfiguruj FFmpeg za pomocą "--enable-libfontconfig". Aby włączyć kształtowanie_tekstu opcja, ty
trzeba skonfigurować FFmpeg z "--enable-libfribidi".

Składnia

Przyjmuje następujące parametry:

pudełko Służy do rysowania ramki wokół tekstu przy użyciu koloru tła. Wartość musi wynosić 1
(włącz) lub 0 (wyłącz). Domyślna wartość pudełko to 0.

pudełkoborderw
Ustaw szerokość obramowania, które ma być narysowane wokół pudełka za pomocą kolor pudełka. Domyślny
wartość pudełkoborderw to 0.

kolor pudełka
Kolor, który ma być używany do rysowania ramki wokół tekstu. Aby sprawdzić składnię tej opcji, sprawdź
sekcja „Kolor” w podręczniku ffmpeg-utils.

Domyślna wartość kolor pudełka jest biały".

granica
Ustaw szerokość obramowania, które ma być narysowane wokół tekstu za pomocą kolor ramki,
domyślna wartość granica to 0.

kolor ramki
Ustaw kolor, który będzie używany do rysowania obramowania wokół tekstu. Dla składni tego
opcję, sprawdź sekcję „Kolor” w podręczniku ffmpeg-utils.

Domyślna wartość kolor ramki jest czarne".

ekspansja
Wybierz, w jaki sposób XNUMX jest rozwinięty. Może być „brak”, „strftime” (przestarzałe) lub
"normalny" (domyślny). Zobacz rysuj rozszerzenie_tekstu, Tekst ekspansja sekcja poniżej dla
detale.

granice_napraw
Jeśli tak, sprawdź i popraw współrzędne tekstu, aby uniknąć obcinania.

kolor czcionki
Kolor używany do rysowania czcionek. Aby poznać składnię tej opcji, sprawdź
Sekcja „Kolor” w podręczniku ffmpeg-utils.

Domyślna wartość kolor czcionki jest czarne".

wyrażenie_kolor_czcionki
Ciąg, który jest rozwijany w taki sam sposób jak XNUMX uzyskać dynamikę kolor czcionki wartość. Za pomocą
default ta opcja ma pustą wartość i nie jest przetwarzana. Gdy ta opcja jest ustawiona, to
nadpisuje kolor czcionki opcja.

chrzcielnica
Rodzina czcionek, która ma być używana do rysowania tekstu. Domyślnie Sans.

plik czcionek
Plik czcionki, który ma być używany do rysowania tekstu. Ścieżka musi być uwzględniona. Ten parametr
jest obowiązkowe, jeśli obsługa fontconfig jest wyłączona.

rysować
Ta opcja nie istnieje, zobacz system osi czasu

alfa
Narysuj tekst, stosując mieszanie alfa. Wartość może być liczbą od 0.0
i 1.0 Wyrażenie akceptuje te same zmienne x, y robić. Wartość domyślna to 1.
Proszę zobaczyć fontcolor_expr

rozmiar czcionki
Rozmiar czcionki używany do rysowania tekstu. Domyślna wartość rozmiar czcionki to 16.

kształtowanie_tekstu
Jeśli jest ustawiona na 1, spróbuj ukształtować tekst (na przykład odwróć kolejność od prawej do
lewy tekst i dołącz do znaków arabskich) przed jego narysowaniem. W przeciwnym razie po prostu narysuj
tekst dokładnie taki, jak podano. Domyślnie 1 (jeśli jest obsługiwane).

ft_load_flags
Flagi używane do ładowania czcionek.

Flagi mapują odpowiednie flagi obsługiwane przez libfreetype i są kombinacją
o następujących wartościach:

domyślnym
nie_skala
nie_podpowiedź
oddać
brak_mapy bitowej
układ_pionowy
siła_autowskazówka
upraw_bitmapy
pedantyczny
zignoruj_global_advance_width
brak_rekurencji
ignorować_transformację
monochromatyczny
projektowanie_liniowe
brak_automatycznej podpowiedzi

Wartość domyślna to „domyślna”.

Aby uzyskać więcej informacji, zapoznaj się z dokumentacją dotyczącą flag libfreetype FT_LOAD_*.

kolor cienia
Kolor używany do rysowania cienia za rysowanym tekstem. Dla składni
tę opcję, sprawdź sekcję „Kolor” w podręczniku ffmpeg-utils.

Domyślna wartość kolor cienia jest czarne".

cieńx
cienisty
Przesunięcia x i y dla pozycji cienia tekstu w stosunku do pozycji
tekst. Mogą to być wartości dodatnie lub ujemne. Domyślna wartość dla obu to
„0”.

numer_początkowy
Początkowy numer klatki dla zmiennej n/frame_num. Wartość domyślna to „0”.

rozmiar tabulacji
Rozmiar w liczbie spacji do wykorzystania do renderowania karty. Wartość domyślna to 4.

Timecode
Ustaw początkową reprezentację kodu czasowego w formacie „gg:mm:ss[:;.]ff”. To może być użyte
z parametrem tekstowym lub bez. stawka_kodu czasowego należy określić opcję.

stawka_kodu czasowego, oceniać, r
Ustaw szybkość klatek kodu czasowego (tylko kod czasowy).

XNUMX
Ciąg tekstowy do narysowania. Tekst musi być sekwencją znaków zakodowanych w UTF-8.
Ten parametr jest obowiązkowy, jeśli żaden plik nie jest określony z parametrem plik tekstowy.

plik tekstowy
Plik tekstowy zawierający tekst do narysowania. Tekst musi być sekwencją zakodowaną w UTF-8
postacie.

Ten parametr jest obowiązkowy, jeśli w parametrze nie określono żadnego ciągu tekstowego XNUMX.

Jeśli oba XNUMX i plik tekstowy są określone, zgłaszany jest błąd.

przeładować
Jeśli jest ustawiony na 1, plik tekstowy zostanie ponownie załadowany przed każdą ramką. Pamiętaj, aby go zaktualizować
atomowo lub może być odczytany częściowo, a nawet zawieść.

x
y Wyrażenia określające przesunięcia, w których tekst będzie rysowany w filmie
ramka. Odnoszą się do górnej/lewej krawędzi obrazu wyjściowego.

Domyślna wartość x i y wynosi „0”.

Zobacz poniżej listę akceptowanych stałych i funkcji.

Parametry dla x i y są wyrażeniami zawierającymi następujące stałe i
Funkcje:

dar wejściowy współczynnik proporcji wyświetlacza, jest taki sam jak (w / h) * sar

hsub
vssub
wartości podpróbki chrominancji poziomej i pionowej. Na przykład dla formatu pikseli
"yuv422p" hsub to 2 i vssub to 1.

linia_h, lh
wysokość każdej linii tekstu

główny_h, h, H
wysokość wejściowa

główny_w, w, W
szerokość wejściowa

max_glif_a, wzlot
maksymalna odległość od linii bazowej do najwyższej/górnej współrzędnej siatki używanej do
umieść punkt obrysu glifu dla wszystkich renderowanych glifów. Jest to wartość dodatnia, należna
do orientacji siatki z osią Y do góry.

max_glif_d, zejście
maksymalna odległość od linii bazowej do najniższej współrzędnej siatki użytej do umieszczenia a
punkt zarysu glifu dla wszystkich renderowanych glifów. Jest to wartość ujemna, ponieważ
orientację siatki, z osią Y do góry.

max_glif_h
maksymalna wysokość glifu, czyli maksymalna wysokość wszystkich glifów zawartych w
wyrenderowany tekst, jest to odpowiednik wzlot - zejście.

max_glyph_w
maksymalna szerokość glifu, czyli maksymalna szerokość wszystkich glifów zawartych w
renderowany tekst

n liczba klatek wejściowych, zaczynając od 0

rand (min, maks.)
zwróć losową liczbę zawartą między min i max

sar Wejściowy współczynnik proporcji próbki.

t znacznik czasu wyrażony w sekundach, NAN, jeśli wejściowy znacznik czasu jest nieznany

tekst_h, th
wysokość renderowanego tekstu

tekst_w, tw
szerokość renderowanego tekstu

x
y współrzędne przesunięcia x i y, w których rysowany jest tekst.

Te parametry pozwalają x i y wyrażenia odwołujące się do siebie, dzięki czemu możesz
przykład określ "y=x/dar".

Tekst ekspansja

If ekspansja jest ustawiony na "strftime", filtr rozpoznaje strftime() sekwencje w
podany tekst i odpowiednio je rozwija. Sprawdź dokumentację strftime(), To
funkcja jest przestarzała.

If ekspansja jest ustawione na "brak", tekst jest drukowany dosłownie.

If ekspansja jest ustawiony na "normalny" (co jest domyślnym), następujący mechanizm rozszerzania
Jest używane.

Znak odwrotnego ukośnika \, po którym następuje dowolny znak, zawsze rozwija się do drugiego
znaków.

Sekwencja formularza „%{...}” została rozwinięta. Tekst między nawiasami klamrowymi jest funkcją
nazwa, po której mogą występować argumenty oddzielone znakiem ':'. Jeśli argumenty zawierają specjalne
znaków lub ograniczników (':' lub '}'), należy je zmienić.

Zwróć uwagę, że prawdopodobnie muszą one również zostać zmienione jako wartość dla XNUMX opcja w
łańcuch argumentu filtru i jako argument filtru w opisie wykresu filtru oraz
być może również dla powłoki, która składa się na cztery poziomy ucieczki; za pomocą pliku tekstowego
pozwala uniknąć tych problemów.

Dostępne są następujące funkcje:

wyraż, e
Wynik oceny wyrażenia.

Musi przyjąć jeden argument określający wyrażenie do oceny, które akceptuje
te same stałe i funkcje jak x i y wartości. Zauważ, że nie wszystkie stałe powinny
być używane, na przykład rozmiar tekstu nie jest znany podczas oceny wyrażenia, więc
stały tekst_w i tekst_h będzie miał niezdefiniowaną wartość.

wyrażenie_int_format, eif
Oceń wartość i dane wyjściowe wyrażenia jako sformatowaną liczbę całkowitą.

Pierwszym argumentem jest wyrażenie do oceny, tak jak w przypadku expr funkcja.
Drugi argument określa format wyjściowy. Dozwolone wartości to x, X, d i u.
Traktowane są dokładnie tak, jak w funkcji „printf”. Trzeci parametr jest opcjonalny
i ustawia liczbę pozycji zajmowanych przez wyjście. Można go użyć do dodania wyściółki
z zerami od lewej.

gmtime
Czas działania filtra wyrażony w UTC. Może przyjąć argument:
a strftime() ciąg formatu.

czas lokalny
Czas działania filtra wyrażony w lokalnej strefie czasowej. To może
zaakceptuj argument: a strftime() ciąg formatu.

metadanych
Metadane ramki. Musi przyjąć jeden argument określający klucz metadanych.

n, numer_klatki
Numer klatki, zaczynając od 0.

typ_obrazu
1-znakowy opis bieżącego typu obrazu.

pkt Sygnatura czasowa bieżącej klatki. Może zająć do dwóch argumentów.

Pierwszym argumentem jest format znacznika czasu; domyślnie jest to "flt" przez sekundy, ponieważ
liczba dziesiętna z dokładnością do mikrosekundy; „hms” oznacza sformatowany
[-]GG:MM:SS.mmm znacznik czasu z dokładnością do milisekund.

Drugi argument to offset dodany do znacznika czasu.

Przykłady

· Narysuj "Test Testowy" czcionką FreeSerif, używając domyślnych wartości dla opcjonalnego
parametry.

drawtext="fontfile=/usr/share/fonts/truetype/freefont/FreeSerif.ttf: text='Tekst testowy'"

· Narysuj 'Test Testowy' czcionką FreeSerif o rozmiarze 24 na pozycji x=100 i y=50 (licząc
od lewego górnego rogu ekranu), tekst jest żółty z czerwonym prostokątem wokół niego. Obydwa
tekst i ramka mają krycie 20%.

drawtext="fontfile=/usr/share/fonts/truetype/freefont/FreeSerif.ttf: text='Tekst testowy':\
x=100: y=50: rozmiar czcionki=24: kolor czcionki=[email chroniony]: pudełko=1: pudełkokolor=[email chroniony]"

Zwróć uwagę, że podwójne cudzysłowy nie są konieczne, jeśli spacje nie są używane w obrębie
lista parametrów.

· Pokaż tekst na środku klatki wideo:

drawtext="fontsize=30:fontfile=FreeSerif.ttf:text='hello world':x=(w-text_w)/2:y=(h-text_h)/2"

· Pokaż linię tekstu przesuwającą się od prawej do lewej w ostatnim rzędzie klatki wideo. ten
filet DŁUGA LINIA zakłada się, że zawiera pojedynczy wiersz bez nowych wierszy.

drawtext="fontsize=15:fontfile=FreeSerif.ttf:text=LONG_LINE:y=h-line_h:x=-50*t"

· Pokaż zawartość pliku KREDYTY od dołu ramki i przewiń w górę.

drawtext="fontsize=20:fontfile=FreeSerif.ttf:textfile=KREDYTY:y=h-20*t"

· Narysuj pojedynczą zieloną literę „g” w środku wejściowego wideo. Linia bazowa glifu
jest umieszczony na połowie wysokości ekranu.

drawtext="fontsize=60:fontfile=FreeSerif.ttf:fontcolor=green:text=g:x=(w-max_glyph_w)/2:y=h/2-ascent"

· Pokaż tekst przez 1 sekundę co 3 sekundy:

drawtext="fontfile=FreeSerif.ttf:fontcolor=white:x=100:y=x/dar:enable=lt(mod(t\,3)\,1):text='blink'"

· Użyj fontconfig, aby ustawić czcionkę. Zauważ, że dwukropki muszą być pominięte.

drawtext='fontfile=Linux Libertine O-40\:style=Semibold:text=FFmpeg'

· Wydrukuj datę kodowania w czasie rzeczywistym (patrz strftime.(3)):

drawtext='fontfile=FreeSans.ttf:text=%{localtime\:%a %b %d %Y}'

· Pokaż pojawianie się i zanikanie tekstu (pojawianie się/znikanie):

#!/ Bin / sh
DS=1.0 # początek wyświetlania
DE=10.0 # koniec wyświetlacza
FID=1.5 # zanikanie w czasie trwania
FOD=5 # czas zanikania
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)*pomiędzy(t\\, $DS\\, $DS + $FID) + (-(t - $DE) /$FOD)*między(t\\, $DE - $FOD\\, $DE) )\\, 0\\, 255) \\\\: x\\\\: 2 }"

Aby uzyskać więcej informacji o libfreetype, sprawdź:http://www.freetype.org/>.

Aby uzyskać więcej informacji o fontconfig, sprawdź:
<http://freedesktop.org/software/fontconfig/fontconfig-user.html>.

Aby uzyskać więcej informacji o libfribidi, sprawdź:http://fribidi.org/>.

wykrywanie krawędzi
Wykrywaj i rysuj krawędzie. Filtr wykorzystuje algorytm Canny Edge Detection.

Filtr akceptuje następujące opcje:

Niska
wysoka
Ustaw niskie i wysokie wartości progowe używane przez algorytm progowania Canny.

Wysoki próg wybiera „silne” piksele krawędzi, które są następnie łączone przez
8-łączność z „słabymi” pikselami krawędzi wybranymi przez niski próg.

Niska i wysoka wartości progowe należy wybrać z zakresu [0,1], a Niska powinno być
mniejsze lub równe wysoka.

Wartość domyślna dla Niska to „20/255”, a wartość domyślna dla wysoka to „50/255”.

tryb
Zdefiniuj tryb rysowania.

przewody
Narysuj biało-szare przewody na czarnym tle.

mieszanka kolorów
Wymieszaj kolory, aby uzyskać efekt farby/kreskówki.

Wartość domyślna to przewody.

Przykłady

· Standardowe wykrywanie krawędzi z niestandardowymi wartościami progu histerezy:

wykrywanie krawędzi=niski=0.1:wysoki=0.4

· Efekt malowania bez progowania:

edgedetect=tryb=mieszanka kolorów:wysoka=0

eq
Ustaw jasność, kontrast, nasycenie i przybliżoną regulację gamma.

Filtr akceptuje następujące opcje:

kontrast
Ustaw wyraz kontrastu. Wartość musi być wartością zmiennoprzecinkową z zakresu od „-2.0” do 2.0.
Wartość domyślna to „0”.

jasność
Ustaw wyraz jasności. Wartość musi być wartością zmiennoprzecinkową z zakresu od „-1.0” do 1.0.
Wartość domyślna to „0”.

nasycenie
Ustaw wyrażenie nasycenia. Wartość musi być zmiennoprzecinkowa w zakresie od 0.0 do 3.0. ten
wartość domyślna to „1”.

gamma
Ustaw wyrażenie gamma. Wartość musi być zmiennoprzecinkowa w zakresie od 0.1 do 10.0. Domyślny
wartość to „1”.

gamma_r
Ustaw wyrażenie gamma na kolor czerwony. Wartość musi być zmiennoprzecinkowa w zakresie od 0.1 do 10.0. ten
wartość domyślna to „1”.

gamma_g
Ustaw wyrażenie gamma na zielony. Wartość musi być zmiennoprzecinkowa w zakresie od 0.1 do 10.0.
Wartość domyślna to „1”.

gamma_b
Ustaw wyrażenie gamma dla koloru niebieskiego. Wartość musi być zmiennoprzecinkowa w zakresie od 0.1 do 10.0. ten
wartość domyślna to „1”.

gamma_waga
Ustaw wyrażenie wagi gamma. Może być stosowany do zmniejszenia efektu wysokiej gamma
wartość na jasnych obszarach obrazu, np. zapobiegaj nadmiernemu wzmocnieniu i po prostu
biały. Wartość musi być zmiennoprzecinkowa w zakresie od 0.0 do 1.0. Wartość 0.0 zmienia gamma
korekta w dół, podczas gdy 1.0 pozostawia ją z pełną mocą. Wartość domyślna to „1”.

eval
Ustaw, kiedy wyrażenia dla jasności, kontrastu, nasycenia i wyrażenia gamma
są oceniane.

Przyjmuje następujące wartości:

startowych
Oceniaj wyrażenia tylko raz podczas inicjalizacji filtra lub gdy polecenie
przetwarzane

rama
oceń wyrażenia dla każdej przychodzącej ramki

Wartość domyślna to startowych.

Wyrażenia przyjmują następujące parametry:

n liczba klatek klatki wejściowej od 0

pisać pozycja w bajtach odpowiedniego pakietu w pliku wejściowym, NAN, jeśli nie określono

r liczba klatek na sekundę wejściowego wideo, NAN, jeśli liczba klatek na sekundę wejściowa jest nieznana

t znacznik czasu wyrażony w sekundach, NAN, jeśli wejściowy znacznik czasu jest nieznany

Polecenia

Filtr obsługuje następujące polecenia:

kontrast
Ustaw wyraz kontrastu.

jasność
Ustaw wyraz jasności.

nasycenie
Ustaw wyrażenie nasycenia.

gamma
Ustaw wyrażenie gamma.

gamma_r
Ustaw wyrażenie gamma_r.

gamma_g
Ustaw wyrażenie gamma_g.

gamma_b
Ustaw wyrażenie gamma_b.

gamma_waga
Ustaw wyrażenie gamma_weight.

Polecenie akceptuje tę samą składnię odpowiedniej opcji.

Jeśli podane wyrażenie jest niepoprawne, jest zachowywane z bieżącą wartością.

erozja
Zastosuj efekt erozji do filmu.

Ten filtr zastępuje piksel przez miejscowy(3x3) minimalnie.

Akceptuje następujące opcje:

próg 0
próg 1
próg 2
próg 3
Ogranicz maksymalną zmianę dla każdej płaszczyzny, domyślnie 65535. Jeśli 0, samolot pozostanie
bez zmian.

współrzędne
Flaga określająca piksel, do którego ma się odnosić. Wartość domyślna to 255, czyli wszystkie osiem pikseli to
używany.

Flagi do lokalnych map ze współrzędnymi 3x3 w następujący sposób:

1 2 3
4 5
6 7 8

samoloty wyciągowe
Wyodrębnij komponenty kanału kolorów z wejściowego strumienia wideo do oddzielnego wideo w skali szarości
strumieni.

Filtr akceptuje następującą opcję:

samoloty
Ustaw samolot(y) do wyodrębnienia.

Dostępne wartości dla samolotów to:

y
u
v
a
r
g
b

Wybranie płaszczyzn niedostępnych na wejściu spowoduje błąd. To znaczy ty
nie można wybrać jednocześnie płaszczyzn "r", "g", "b" z "y", "u", "v".

Przykłady

· Wyodrębnij komponent kanału koloru luma, u i v z wejściowej klatki wideo do 3 skali szarości
wyjścia:

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

elbl
Zastosuj efekt posteryzacji za pomocą algorytmu ELBG (Enhanced LBG).

Dla każdego obrazu wejściowego filtr obliczy optymalne mapowanie z wejściowego do
dane wyjściowe biorąc pod uwagę długość książki kodowej, czyli liczbę różnych kolorów wyjściowych.

Ten filtr akceptuje następujące opcje.

długość_książki kodów, l
Ustaw długość książki kodowej. Wartość musi być dodatnią liczbą całkowitą i reprezentuje liczbę
wyraźnych kolorów wyjściowych. Wartość domyślna to 256.

nb_kroki, n
Ustaw maksymalną liczbę iteracji do zastosowania w celu obliczenia optymalnego odwzorowania. ten
wyższa wartość, tym lepszy wynik i dłuższy czas obliczeń. Domyślna
wartość wynosi 1.

nasionko, s
Ustaw losowy ziarno, musi być liczbą całkowitą zawartą między 0 a UINT32_MAX. Jeśli nie
określony lub jeśli jest jawnie ustawiony na -1, filtr spróbuje użyć dobrego losowego ziarna
na zasadzie najlepszych starań.

pal8
Ustaw format piksela wyjściowego pal8. Ta opcja nie działa przy większej długości książki kodowej
niż 256.

blaknąć
Zastosuj efekt ściemniania/zanikania do wejściowego wideo.

Przyjmuje następujące parametry:

rodzaj, t
Typ efektu może być „in” dla efektu ściemniania lub „out” dla efektu ściemniania.
Wartość domyślna to „w”.

ramka_początkowa, s
Określ numer klatki, od której zaczniesz stosować efekt zanikania. Wartość domyślna to 0.

nb_ramki, n
Liczba klatek, przez które trwa efekt zanikania. Pod koniec efektu zanikania
wideo wyjściowe będzie miało taką samą intensywność jak wideo wejściowe. Pod koniec zanikania
wyjście, wideo wyjściowe zostanie wypełnione wybranym kolor. Domyślnie jest
25.

alfa
Jeśli jest ustawiony na 1, zanika tylko kanał alfa, jeśli taki istnieje na wejściu. Wartość domyślna to 0.

czas rozpoczęcia, st
Określ znacznik czasu (w sekundach) klatki, aby rozpocząć stosowanie efektu zanikania. Jeśli
określono zarówno ramkę startową, jak i czas_początkowy, zanikanie rozpocznie się w dowolnym momencie
ostatni, ubiegły, zeszły. Wartość domyślna to 0.

Trwanie, d
Liczba sekund, przez które musi trwać efekt zanikania. Pod koniec zanikania
efekt wideo wyjściowe będzie miało taką samą intensywność jak wideo wejściowe, pod koniec
przejście zanikania wyjściowe wideo zostanie wypełnione wybranym kolor. Jeśli
określono zarówno czas trwania, jak i nb_frames, używany jest czas trwania. Wartość domyślna to 0 (nb_frames
jest używany domyślnie).

kolor, c
Określ kolor zanikania. Domyślnie jest „czarny”.

Przykłady

· Zanikanie w pierwszych 30 klatkach wideo:

zanikanie=w:0:30

Powyższe polecenie jest równoważne z:

zanikanie=t=in:s=0:n=30

· Wygaszenie ostatnich 45 klatek 200-klatkowego wideo:

zanikanie=out:155:45
zanikanie=typ=out:start_frame=155:nb_frames=45

· Zanikanie pierwszych 25 klatek i zanikanie ostatnich 25 klatek 1000-klatkowego wideo:

zanikanie=in:0:25, zanikanie=out:975:25

· Zrób pierwsze 5 klatek na żółto, a następnie zniknij z klatek 5-24:

zanikanie=w:5:20:kolor=żółty

· Zanikanie w alfabecie na pierwszych 25 klatkach wideo:

zanikanie=w:0:25:alfa=1

· Ustaw pierwsze 5.5 sekundy na czarny, a następnie zanikaj przez 0.5 sekundy:

zanikanie=t=in:st=5.5:d=0.5

fftfilt
Zastosuj dowolne wyrażenia do próbek w domenie częstotliwości

dc_Y
Dostosuj wartość prądu stałego (wzmocnienie) płaszczyzny luma obrazu. Filtr akceptuje
wartość całkowita w zakresie od 0 do 1000. Wartość domyślna to 0.

dc_U
Dostosuj wartość prądu stałego (wzmocnienie) pierwszej płaszczyzny chromatycznej obrazu. Filtr akceptuje
wartość całkowita w zakresie od 0 do 1000. Wartość domyślna to 0.

dc_V
Dostosuj wartość prądu stałego (wzmocnienie) drugiej płaszczyzny chromatycznej obrazu. Filtr akceptuje
wartość całkowita w zakresie od 0 do 1000. Wartość domyślna to 0.

ciężki
Ustaw wyrażenie wagi domeny częstotliwości dla płaszczyzny luma.

waga_U
Ustaw wyrażenie wagi domeny częstotliwości dla 1. płaszczyzny chrominancji.

waga_V
Ustaw wyrażenie wagi domeny częstotliwości dla drugiej płaszczyzny chrominancji.

Filtr akceptuje następujące zmienne:

X
Y Współrzędne bieżącej próbki.

W
H Szerokość i wysokość obrazu.

Przykłady

· Górnoprzepustowy:

fftfilt=dc_Y=128:waga_Y='squish(1-(Y+X)/100)'

· Dolnoprzepustowy:

fftfilt=dc_Y=0:waga_Y='squish((Y+X)/100-1)'

· Wyostrzenie:

fftfilt=dc_Y=0:waga_Y='1+squish(1-(Y+X)/100)'

pole
Wyodrębnij pojedyncze pole z obrazu z przeplotem za pomocą arytmetyki kroków, aby uniknąć marnowania
Czas procesora. Ramki wyjściowe są oznaczone jako bez przeplotu.

Filtr akceptuje następujące opcje:

rodzaj
Określ, czy wyodrębnić górę (jeśli wartość wynosi 0 lub „góra”), czy dolne pole
(jeśli wartość wynosi 1 lub „dół”).

dopasowanie terenowe
Filtr dopasowania pola dla odwróconego telecine. Ma na celu zrekonstruowanie postępowych
ramki ze strumienia telecine. Filtr nie upuszcza zduplikowanych ramek, aby osiągnąć
po kompletnym odwrotnym telecine „fieldmatch” musi nastąpić filtr dziesiątkujący, taki jak
as zdziesiątkować na wykresie filtra.

Oddzielenie dopasowania pól i dziesiątkowania jest w szczególności motywowane przez
możliwość wstawienia między nimi filtra usuwającego przeplot. Jeśli źródło
ma mieszaną zawartość telecine i rzeczywistą z przeplotem, „fieldmatch” nie będzie mógł się dopasować
pola dla części z przeplotem. Ale te pozostałe czesane ramki zostaną oznaczone jako
z przeplotem, dzięki czemu można je usunąć przez późniejszy filtr, taki jak jadif zanim
dziesiątkowanie.

Oprócz różnych opcji konfiguracyjnych „fieldmatch” może zająć opcjonalną sekundę
strumień, aktywowany przez ppsrc opcja. Jeśli ta opcja jest włączona, rekonstrukcja ramek będzie
na podstawie pól i ramek z tego drugiego strumienia. Dzięki temu pierwsze wejście może być:
wstępnie przetworzone w celu wspomagania różnych algorytmów filtra, przy jednoczesnym zachowaniu
wyjście bezstratne (przy założeniu, że pola są odpowiednio dopasowane). Zazwyczaj świadomy w terenie
Pomóc może odszumianie lub regulacja jasności/kontrastu.

Zauważ, że ten filtr używa tych samych algorytmów co TIVTC/TFM (projekt AviSynth) i
VIVTC/VFM (projekt VapourSynth). Ten ostatni to lekki klon TFM, z którego „fieldmatch”
oparta jest na. Chociaż semantyka i użycie są bardzo zbliżone, niektóre nazwy zachowań i opcji
mogą się różnić.

Połączenia zdziesiątkować Filtr obecnie działa tylko dla danych wejściowych ze stałą szybkością klatek. Jeśli Twój wkład ma
mieszane treści z telecine (30 kl./s) i progresywne z niższą liczbą klatek na sekundę, np. 24 kl./s, użyj
następujący łańcuch filtrów w celu wytworzenia niezbędnego strumienia CFR:
"dejudder, fps=30000/1001, mecz w polu, dziesiątka".

Filtr akceptuje następujące opcje:

zamówienie
Określ założoną kolejność pól strumienia wejściowego. Dostępne wartości to:

samochód
Automatyczne wykrywanie parzystości (użyj wewnętrznej wartości parzystości FFmpeg).

bff Załóż najpierw dolne pole.

tff Załóż najpierw górne pole.

Pamiętaj, że czasami zaleca się, aby nie ufać parzystości ogłaszanej przez strumień.

Wartość domyślna to samochód.

tryb
Ustaw tryb lub strategię dopasowywania do użycia. pc tryb jest najbezpieczniejszy w tym sensie, że
nie będzie ryzykować szarpania z powodu powielania ramek, jeśli to możliwe, ale jeśli takowe są
złe edycje lub pola mieszane, w przypadku dobrego dopasowania zostaną wygenerowane ramki czesane
może faktycznie istnieć. Z drugiej strony, pcn_ub tryb jest najbardziej ryzykowny pod względem
tworzenie szarpnięć, ale prawie zawsze znajdzie dobrą oprawkę, jeśli taka istnieje. ten
wszystkie inne wartości są gdzieś pomiędzy pc i pcn_ub pod względem ryzyka szarpnięcia
i tworzenie zduplikowanych ramek vs znajdowanie dobrych dopasowań w sekcjach ze złą edycją,
pola osierocone, pola mieszane itp.

Więcej informacji na temat p/c/n/u/b można znaleźć w p/c/n/u/b znaczenie

Dostępne wartości to:

pc Dopasowanie dwukierunkowe (p/c)

szt_n
Dopasowywanie dwukierunkowe i próba trzeciego dopasowania, jeśli nadal jest czesana (p/c + n)

komputer_u
Dopasowywanie dwukierunkowe i próba dopasowania trzeciego (ta sama kolejność), jeśli nadal jest czesana (p/c + u)

szt_n_ub
Dopasowywanie dwukierunkowe, próba trzeciego dopasowania, jeśli nadal jest czesana, i próba dopasowania czwartego/2, jeśli
nadal czesane (p/c + n + u/b)

pcn Dopasowanie trójdrożne (p/c/n)

pcn_ub
Dopasowywanie trójstronne i próbowanie dopasowań 3/4, jeśli wszystkie 5 oryginalne dopasowania są
wykryte jako czesane (p/c/n + u/b)

Nawiasy na końcu wskazują dopasowania, które zostaną użyte w tym trybie
zarozumiały zamówienie=tff (I pole on samochód or Top).

Pod względem szybkości pc tryb jest zdecydowanie najszybszy i pcn_ub jest najwolniejszy.

Wartość domyślna to szt_n.

ppsrc
Oznacz główny strumień wejściowy jako wejście wstępnie przetworzone i włącz wejście drugorzędne
strumień jako czyste źródło do zbierania pól. Zobacz wprowadzenie do filtra dla
więcej szczegółów. Jest podobny do clip2 funkcja z VFM/TFM.

Wartość domyślna to 0 (wyłączone).

pole
Ustaw pole do dopasowania. Zaleca się ustawienie tej samej wartości, co zamówienie
chyba że wystąpią błędy dopasowania z tym ustawieniem. W pewnych okolicznościach
zmiana pola używanego do dopasowania może mieć duży wpływ na dopasowanie
wydajność. Dostępne wartości to:

samochód
Automatycznie (ta sama wartość co zamówienie).

dolny
Dopasuj z dolnego pola.

Top Dopasuj z górnego pola.

Wartość domyślna to samochód.

mchromatyczny
Określ, czy podczas porównywania dopasowań ma być uwzględniana barwa. W większości przypadków to
zaleca się pozostawienie tej opcji włączonej. Powinieneś ustawić to na 0 tylko wtedy, gdy Twój klip ma
złe problemy z kolorami, takie jak silne tęcze lub inne artefakty. Ustawiam to na 0
może być również użyty do przyspieszenia rzeczy kosztem pewnej dokładności.

Wartość domyślna to 1.

y0
y1 Definiują one pasmo wykluczenia, które wyklucza linie między y0 i y1 z bycia
zawarte w decyzji o dopasowaniu pola. Do zignorowania można użyć pasma wykluczenia
napisy, logo lub inne rzeczy, które mogą przeszkadzać w dopasowaniu. y0 ustawia
uruchamianie linii skanowania i y1 ustawia linię końcową; wszystkie linie pomiędzy y0 i y1
(W tym y0 i y1) zostaną zignorowane. Ustawienie y0 i y1 do tej samej wartości będzie
wyłączyć tę funkcję. y0 i y1 domyślnie 0.

scthresh
Ustaw próg wykrywania zmiany sceny jako procent maksymalnej zmiany luma
samolot. Dobre wartości mieszczą się w zakresie „[8.0, 14.0]”. Wykrywanie zmiany sceny jest tylko
istotne w przypadku Combmatch=sc. Zakres dla scthresh to „[0.0, 100.0]”.

Wartość domyślna to 12.0.

Combmatch
Kiedy walka nie jest Żaden, "fieldmatch" uwzględni czesane wyniki
mecze podczas decydowania, który mecz ma być użyty jako mecz finałowy. Dostępne wartości to:

Żaden
Brak ostatecznego dopasowania na podstawie czesanych wyników.

sc Wyniki czesane są używane tylko po wykryciu zmiany sceny.

pełny
Używaj czesanych wyników przez cały czas.

Domyślnie jest sc.

grzebień
Wymuś „fieldmatch”, aby obliczyć czesane dane dla niektórych dopasowań i wydrukować je.
To ustawienie jest znane jako miauczenie w słownictwie TFM/VFM. Dostępne wartości to:

Żaden
Bez wymuszonych obliczeń.

pcn Obliczenia siły p/c/n.

pcnub
Wymuś obliczenia p/c/n/u/b.

Wartość domyślna to Żaden.

ctresz
Jest to próg czesania obszarów używany do wykrywania przeczesanych ramek. To zasadniczo
kontroluje, jak "mocne" lub "widoczne" czesanie musi być wykryte. Większe wartości oznaczają
czesanie musi być bardziej widoczne, a mniejsze wartości oznaczają, że czesanie może być mniej widoczne lub
silny i nadal być wykrywany. Prawidłowe ustawienia to „-1” (każdy piksel będzie
wykryte jako czesane) do 255 (żaden piksel nie zostanie wykryty jako czesany). To jest w zasadzie
wartość różnicy pikseli. Dobry zasięg to „[8, 12]”.

Wartość domyślna to 9.

chroma
Ustawia, czy chroma jest brana pod uwagę w decyzji o przeczesywaniu ramki. Wyłącz tylko
dzieje się tak, jeśli twoje źródło ma problemy z kolorem (tęczowe itp.), które powodują problemy
do wykrywania czesanych ramek z włączoną funkcją chroma. Właściwie, używając chroma=0 is
zwykle bardziej niezawodny, z wyjątkiem przypadku, gdy w
źródło.

Wartość domyślna to 0.

blokx
topornie
Odpowiednio ustaw oś x i oś y okna używanego podczas czesania ramki
wykrycie. Ma to związek z wielkością obszaru, na którym grzebień piksele są
wymagane do wykrycia jako czesane, aby ramka została zadeklarowana jako czesana. Zobacz grzebień
opis parametrów, aby uzyskać więcej informacji. Możliwe wartości to dowolna liczba będąca potęgą
z 2 od 4 do 512.

Wartość domyślna to 16.

grzebień
Liczba przeczesanych pikseli w dowolnym z topornie by blokx bloki rozmiaru na
ramka, aby ramka została wykryta jako czesana. Dopóki ctresz kontroluje jak "widoczny" jest
czesanie musi być, to ustawienie kontroluje „ile” musi być czesania
zlokalizowany obszar (okno zdefiniowane przez blokx i topornie ustawienia) na ramie.
Minimalna wartość to 0, a maksymalna to „blocky x blockx” (w tym momencie żadne ramki nie będą
zostanie wykryty jako czesany). To ustawienie jest znane jako MI w słownictwie TFM/VFM.

Wartość domyślna to 80.

p/c/n/u/b znaczenie

p/c/n

Zakładamy następujący strumień telecine:

Pola górne: 1 2 2 3 4
Dolne pola: 1 2 3 4 4

Liczby odpowiadają ramce progresywnej, której dotyczą pola. Tutaj pierwsze dwa
klatki są progresywne, trzecia i czwarta są czesane i tak dalej.

Gdy "fieldmatch" jest skonfigurowany do uruchamiania dopasowywania od dołu (pole=dolny) Oto jak
ten strumień wejściowy zostaje przekształcony:

Strumień wejściowy:
T 1 2 2 3 4
B 1 2 3 4 4 <-- pasujące odniesienie

Mecze: ccnnc

Strumień wyjściowy:
T 1 2 3 4 4
B 1 2 3 4 4

W wyniku dopasowania pól widzimy, że niektóre ramki ulegają zduplikowaniu. Występować
kompletne odwrócone telecine, po tej operacji musisz polegać na filtrze dziesiątkującym.
Zobacz na przykład zdziesiątkować filtr.

Ta sama operacja jest teraz dopasowana z górnych pól (pole=Top) wygląda tak:

Strumień wejściowy:
T 1 2 2 3 4 <-- dopasowanie odniesienia
B 1 2 3 4 4

Dopasowania: ccppc

Strumień wyjściowy:
T 1 2 2 3 4
B 1 2 2 3 4

W tych przykładach możemy zobaczyć, co p, c i n oznaczać; zasadniczo odnoszą się do ramy i
pole o przeciwnej parzystości:

*<p pasuje do pola o przeciwnej parzystości w poprzedniej klatce>
*<c dopasowuje pole o przeciwnej parzystości w bieżącej ramce>
*<n dopasowuje pole o przeciwnej parzystości w następnej klatce>

ty/b

Połączenia u i b dopasowanie są nieco wyjątkowe w tym sensie, że pasują do siebie z przeciwnego punktu widzenia
flaga parzystości. W poniższych przykładach zakładamy, że aktualnie dopasowujemy 2.
rama (Góra:2, dół:2). Zgodnie z dopasowaniem, „x” jest umieszczany nad i pod każdym
dopasowane pola.

Z dopasowaniem dolnym (pole=dolny):

Dopasuj: cpnbu

xxxxx
Góra 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2
Dolny 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3
xxxxx

Ramki wyjściowe:
+2 (1) 2 2 2
+2 (2) 2 1 3

Z najlepszym dopasowaniem (pole=Top):

Dopasuj: cpnbu

xxxxx
Góra 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2
Dolny 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3
xxxxx

Ramki wyjściowe:
+2 (2) 2 1 2
+2 (1) 3 2 2

Przykłady

Prosty IVTC pierwszego strumienia telecine z górnego pola:

fieldmatch=order=tff:combmatch=brak, dziesiątkować

Zaawansowane IVTC z opcją awaryjną jadif dla ramek wciąż czesanych:

fieldmatch=order=tff:combmatch=pełny, yadif=deint=z przeplotem, dziesiątkować

polowe zamówienie
Przekształć kolejność pól wejściowego wideo.

Przyjmuje następujące parametry:

zamówienie
Kolejność pól wyjściowych. Prawidłowe wartości to tff najpierw dla górnego pola lub bff na dole
pierwsze pole.

Wartością domyślną jest tff.

Transformacja odbywa się poprzez przesunięcie zawartości obrazu w górę lub w dół o jedną linię, oraz
wypełnienie pozostałej linii odpowiednią treścią obrazu. Ta metoda jest spójna
z większością konwerterów kolejności transmisji w terenie.

Jeśli wejściowy sygnał wideo nie jest oznaczony jako z przeplotem lub jest już oznaczony jako
wymaganej kolejności pól wyjściowych, to ten filtr nie zmienia przychodzącego wideo.

Jest to bardzo przydatne podczas konwersji do lub z materiału PAL DV, który jest najpierw dolny.

Na przykład:

ffmpeg -i in.vob -vf "fieldorder=bff" out.dv

FIFO
Buforuj obrazy wejściowe i wysyłaj je na żądanie.

Jest to przydatne głównie podczas automatycznego wstawiania przez framework libavfilter.

Nie przyjmuje parametrów.

znajdź_prostowanie
Znajdź prostokątny obiekt

Akceptuje następujące opcje:

przedmiot
Ścieżka do pliku obrazu obiektu musi być w kolorze gray8.

próg
Próg wykrywania, domyślnie 0.5.

mipmapy
Liczba mipmap, domyślnie 3.

xmin, Ymin, xmaks., ymaks
Określa prostokąt, w którym należy szukać.

Przykłady

· Wygeneruj reprezentatywną paletę danego filmu za pomocą ffmpeg:

ffmpeg -i plik.ts -vf find_rect=newref.pgm,cover_rect=cover.jpg:mode=cover new.mkv

okładka_rect
Zakryj prostokątny obiekt

Akceptuje następujące opcje:

pokrywa
Ścieżka pliku opcjonalnego obrazu okładki musi być w yuv420.

tryb
Ustaw tryb krycia.

Przyjmuje następujące wartości:

pokrywa
przykryj go dostarczonym obrazem!

plama
przykryj to przez interpolację otaczających pikseli

Wartość domyślna to plama.

Przykłady

· Wygeneruj reprezentatywną paletę danego filmu za pomocą ffmpeg:

ffmpeg -i plik.ts -vf find_rect=newref.pgm,cover_rect=cover.jpg:mode=cover new.mkv

format
Konwertuj wideo wejściowe na jeden z określonych formatów pikseli. Libavfilter spróbuje
wybierz taki, który jest odpowiedni jako dane wejściowe do następnego filtra.

Przyjmuje następujące parametry:

pix_fmts
Lista nazw formatów pikseli rozdzielonych znakiem „|”, np. „pix_fmts=yuv420p|monow|rgb24”.

Przykłady

· Konwertuj wideo wejściowe do yuv420p format

format=pix_fmts=yuv420p

Konwertuj wideo wejściowe na dowolny format z listy

format=pix_fmts=yuv420p|yuv444p|yuv410p

fps
Konwertuj wideo do określonej stałej szybkości klatek, duplikując lub upuszczając klatki jako
niezbędny.

Przyjmuje następujące parametry:

fps Żądana szybkość klatek wyjściowych. Wartość domyślna to 25.

okrągły
Metoda zaokrąglania.

Możliwe wartości to:

zero
zero zaokrąglone w kierunku 0

inf zaokrąglić od 0

na dół
okrągły w kierunku -nieskończoności

up okrągły w kierunku +nieskończoności

Blisko
zaokrąglić do najbliższego

Wartość domyślna to „blisko”.

czas rozpoczęcia
Załóżmy, że pierwszy PTS powinien mieć podaną wartość w sekundach. Pozwala to na
dopełnienie/przycinanie na początku strumienia. Domyślnie nie przyjmuje się żadnych założeń dotyczących
oczekiwany PTS pierwszej klatki, więc nie jest wykonywane żadne dopełnienie ani przycinanie. Na przykład to
można ustawić na 0, aby uzupełnić początek duplikatami pierwszej klatki, jeśli wideo
strumień rozpoczyna się po strumieniu audio lub przycina dowolne klatki z ujemnym PTS.

Alternatywnie opcje można określić jako płaski ciąg: fps[:okrągły].

Zobacz też ustawienia filtr.

Przykłady

· Typowe użycie w celu ustawienia fps na 25:

fps=fps=25

· Ustawia fps na 24, używając skrótu i ​​metody zaokrąglania, aby zaokrąglić do najbliższej:

fps=fps=film:okrągły=blisko

pakiet ramek
Spakuj dwa różne strumienie wideo w stereoskopowe wideo, włączając odpowiednie metadane
obsługiwane kodeki. Oba widoki powinny mieć ten sam rozmiar, liczbę klatek na sekundę i przetwarzanie
zatrzyma się, gdy skończy się krótszy film. Pamiętaj, że możesz wygodnie dostosować widok
właściwości z skala i fps filtry.

Przyjmuje następujące parametry:

format
Pożądany format pakowania. Obsługiwane wartości to:

Sbs Widoki są obok siebie (domyślnie).

Zakładka Widoki są jeden na drugim.

linie
Widoki są upakowane liniami.

kolumny
Widoki są upakowane po kolumnach.

sekwencja klatek
Widoki są czasowo przeplatane.

Kilka przykładów:

# Konwertuj lewy i prawy widok na wideo sekwencyjne
ffmpeg -i LEWO -i PRAWO -filter_complex framepack=frameseq WYJŚCIE

# Konwertuj widoki na wideo obok siebie z taką samą rozdzielczością wyjściową jak wejście
ffmpeg -i LEWO -i PRAWO -filter_complex [0:v]scale=w=iw/2[po lewej],[1:v]scale=w=iw/2[po prawej],[po lewej][po prawej]framepack=sbs WYJŚCIE

framerate
Zmień szybkość klatek, interpolując nowe klatki wyjściowe wideo z klatek źródłowych.

Ten filtr nie jest przeznaczony do prawidłowego działania z mediami z przeplotem. Jeśli sobie życzysz
zmienić liczbę klatek na sekundę mediów z przeplotem, przed tym musisz usunąć przeplot
filtruj i ponownie przeplataj po tym filtrze.

Poniżej znajduje się opis akceptowanych opcji.

fps Określ wyjściowe klatki na sekundę. Ta opcja może być również określona jako wartość
sam. Wartość domyślna to 50.

interp_start
Określ początek zakresu, w którym ramka wyjściowa zostanie utworzona jako liniowa
interpolacja dwóch klatek. Zakres to [0-255], domyślnie 15.

interp_end
Określ koniec zakresu, w którym ramka wyjściowa zostanie utworzona jako liniowa
interpolacja dwóch klatek. Zakres to [0-255], domyślnie 240.

scena
Określ poziom, na którym zmiana sceny jest wykrywana jako wartość od 0 do 100 do
wskazać nową scenę; niska wartość odzwierciedla małe prawdopodobieństwo, że bieżąca klatka będzie
wprowadzić nową scenę, a wyższa wartość oznacza, że ​​aktualna klatka jest bardziej prawdopodobna
być jednością. Wartość domyślna to 7.

Flagi
Określ flagi wpływające na proces filtrowania.

Dostępna wartość dla Flagi jest:

scena_zmiana_wykrywania, scd
Włącz wykrywanie zmiany sceny za pomocą wartości opcji scena. Ta flaga to
domyślnie włączone.

krok ramki
Wybierz jedną klatkę co N-tą klatkę.

Ten filtr akceptuje następującą opcję:

krok
Wybierz klatkę po każdym "kroku" klatek. Dozwolone wartości to dodatnie liczby całkowite wyższe
niż 0. Wartość domyślna to 1.

frei0r
Zastosuj efekt frei0r do wejściowego wideo.

Aby umożliwić kompilację tego filtra, musisz zainstalować nagłówek frei0r i
skonfiguruj FFmpeg z "--enable-frei0r".

Przyjmuje następujące parametry:

nazwa_filtra
Nazwa efektu frei0r do załadowania. Jeśli zmienna środowiskowa FREI0R_PATH is
zdefiniowany, efekt frei0r jest poszukiwany w każdym z katalogów określonych przez
lista rozdzielana dwukropkami w FREIOR_PATH. W przeciwnym razie standardowe ścieżki frei0r to
przeszukiwane, w tej kolejności: STRONA GŁÓWNA/.frei0r-1/lib/, /usr/local/lib/frei0r-1/,
/usr/lib/frei0r-1/.

parametry_filtra
Oddzielona '|' lista parametrów do przekazania do efektu frei0r.

Parametr efektu frei0r może być wartością logiczną (jego wartością jest „y” lub „n”), double,
kolor (określony jako R/G/B, Gdzie R, G, B to liczby zmiennoprzecinkowe z zakresu od 0.0 do
1.0 włącznie) lub przez opis koloru określony w sekcji „Kolor” w ffmpeg-
utils manual), stanowisko (określone jako X/Y, Gdzie X i Y są liczbami zmiennoprzecinkowymi)
i/lub ciąg.

Liczba i rodzaje parametrów zależą od załadowanego efektu. Jeśli parametr efektu to
nie określono, ustawiona jest wartość domyślna.

Przykłady

· Zastosuj efekt distortion0r, ustawiając dwa pierwsze podwójne parametry:

frei0r=nazwa_filtra=zniekształcenie0r:parametry_filtra=0.5|0.01

· Zastosuj efekt odległości kolorów, przyjmując kolor jako pierwszy parametr:

Frei0r = odległość koloru: 0.2/0.3/0.4
frei0r=odległość koloru:fiolet
frei0r = odległość koloru: 0x112233

· Zastosuj efekt perspektywy, określając górną lewą i górną prawą pozycję obrazu:

frei0r=perspective:0.2/0.2|0.8/0.2

Aby uzyskać więcej informacji, zobaczhttp://frei0r.dyne.org>

fspp
Zastosuj szybkie i proste przetwarzanie końcowe. Jest to szybsza wersja spp.

Dzieli (I)DCT na przejścia poziome/pionowe. W przeciwieństwie do prostego przetwarzania końcowego
filtr, jeden z nich jest wykonywany raz na blok, a nie na piksel. To pozwala na wiele
wyższa prędkość.

Filtr akceptuje następujące opcje:

jakość
Ustaw jakość. Ta opcja określa liczbę poziomów do uśredniania. Akceptuje i
liczba całkowita z zakresu 4-5. Wartość domyślna to 4.

qp Wymuś stały parametr kwantyzacji. Przyjmuje liczbę całkowitą z zakresu 0-63. Jeśli nie
ustawiony, filtr użyje QP ze strumienia wideo (jeśli jest dostępny).

jest determinacja.
Ustaw siłę filtra. Przyjmuje liczbę całkowitą z zakresu od -15 do 32. Niższe wartości oznaczają więcej
szczegóły, ale także więcej artefaktów, a wyższe wartości sprawiają, że obraz jest gładszy, ale także
bardziej rozmyte. Wartość domyślna to optymalna wartość 0 X PSNR.

użyj_bframe_qp
Włącz korzystanie z QP z ramek B, jeśli jest ustawione na 1. Użycie tej opcji może spowodować:
migotanie, ponieważ ramki B mają często większe QP. Wartość domyślna to 0 (nie włączone).

geq
Filtr akceptuje następujące opcje:

wyraż_lumn, lum
Ustaw wyrażenie luminancji.

cb_wyr, cb
Ustaw ekspresję chrominance blue.

cr_wyr, cr
Ustaw wyraz czerwieni chrominancji.

alfa_expr, a
Ustaw wyrażenie alfa.

wyrażenie_czerwone, r
Ustaw czerwony wyraz.

zielone_wyrażenie, g
Ustaw zielone wyrażenie.

niebieskie_wyrażenie, b
Ustaw niebieski wyraz.

Przestrzeń kolorów jest wybierana zgodnie z określonymi opcjami. Jeśli jeden z wyraż_lumn,
cb_wyrlub cr_wyr określono opcje, filtr automatycznie wybierze YCbCr
przestrzeń kolorów. Jeśli jeden z wyrażenie_czerwone, zielone_wyrażenielub niebieski_wyr opcje są określone, to będzie
wybierz przestrzeń kolorów RGB.

Jeśli jedno z wyrażeń chrominancji nie jest zdefiniowane, wraca do drugiego. Jeśli nie
określone wyrażenie alfa zostanie ocenione jako nieprzezroczysta wartość. Jeśli żaden z chrominancji
wyrażenia są określone, będą one oceniane do wyrażenia luminancji.

Wyrażenia mogą wykorzystywać następujące zmienne i funkcje:

N Numer sekwencyjny przefiltrowanej ramki, zaczynając od 0.

X
Y Współrzędne bieżącej próbki.

W
H Szerokość i wysokość obrazu.

SW
SH Skala szerokości i wysokości w zależności od aktualnie filtrowanej płaszczyzny. To jest stosunek
między odpowiednią liczbą pikseli w płaszczyźnie luma a bieżącą liczbą pikseli. Np
dla YUV4:2:0 wartości to "1,1" dla płaszczyzny luma i "0.5,0.5" dla płaszczyzn chroma.

T Czas bieżącej klatki wyrażony w sekundach.

p(x, y)
Zwróć wartość piksela w lokalizacji (x,y) aktualnej płaszczyzny.

lum(x, y)
Zwróć wartość piksela w lokalizacji (x,y) płaszczyzny luminancji.

cb(x, y)
Zwróć wartość piksela w lokalizacji (x,y) płaszczyzny barwy niebieskiej różnicy.
Zwróć 0, jeśli nie ma takiego samolotu.

kr(x, y)
Zwróć wartość piksela w lokalizacji (x,y) płaszczyzny chromatycznej różnicy czerwieni.
Zwróć 0, jeśli nie ma takiego samolotu.

r(x, y)
g(x, y)
b(x, y)
Zwróć wartość piksela w lokalizacji (x,y) składnika czerwonego/zielonego/niebieskiego.
Zwróć 0, jeśli nie ma takiego składnika.

alfa(x, y)
Zwróć wartość piksela w lokalizacji (x,y) samolotu alfa. Zwróć 0, jeśli istnieje
nie ma takiego samolotu.

Dla funkcji, jeśli x i y znajdują się poza obszarem, wartość zostanie automatycznie przycięta do
bliższa krawędź.

Przykłady

· Odwróć obraz w poziomie:

geq=p(WX\,Y)

· Generowanie dwuwymiarowej fali sinusoidalnej o kącie „PI/3” i długości fali 100 pikseli:

geq=128 + 100*sin(2*(PI/100)*(cos(PI/3)*(X-50*T) + sin(PI/3)*Y)):128:128

· Wygeneruj fantazyjne, enigmatyczne ruchome światło:

nullsrc=s=256x256,geq=przypadkowy(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

· Generowanie szybkiego efektu wytłoczenia:

format=szary,geq=lum_expr='(p(X,Y)+(256-p(X-4,Y-4)))/2'

· Modyfikuj komponenty RGB w zależności od pozycji piksela:

geq=r='X/W*r(X,Y)':g='(1-X/W)*g(X,Y)':b='(HY)/H*b(X,Y )”

· Utwórz gradient promieniowy o takim samym rozmiarze jak dane wejściowe (zobacz także winieta
filtr):

geq=lum=255*gauss((X/W-0.5)*3)*gauss((Y/H-0.5)*3)/gaus(0) /gaus(0), format=szary

· Utwórz gradient liniowy, który będzie używany jako maska ​​dla innego filtra, a następnie skomponuj za pomocą
narzuta. W tym przykładzie wideo będzie stopniowo stawało się coraz bardziej rozmyte od góry do
dół osi y zdefiniowany przez gradient liniowy:

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][alpha]overlay" wyjście.mp4

Gradfun
Napraw artefakty pasków, które czasami są wprowadzane w prawie płaskie regiony przez:
obcięcie do 8-bitowej głębi kolorów. Interpoluj gradienty, które powinny iść tam, gdzie wstęgi
są i roztrząsaj je.

Jest przeznaczony wyłącznie do odtwarzania. Nie używaj go przed kompresją stratną, ponieważ
kompresja ma tendencję do utraty rozterek i przywracania pasm.

Przyjmuje następujące parametry:

jest determinacja.
Maksymalna wartość, o jaką filtr zmieni jeden piksel. To jest również
próg wykrywania prawie płaskich obszarów. Dopuszczalne wartości wahają się od 51 do 64;
domyślna wartość to 1.2. Wartości spoza zakresu zostaną przycięte do prawidłowego zakresu.

promień
Okolica, do której należy dopasować nachylenie. Większy promień zapewnia płynniejsze gradienty,
ale także zapobiega modyfikowaniu przez filtr pikseli w pobliżu szczegółowych regionów.
Dopuszczalne wartości to 8-32; domyślna wartość to 16. Wartości spoza zakresu będą
przycięte do prawidłowego zakresu.

Alternatywnie opcje można określić jako płaski ciąg: jest determinacja.[:promień]

Przykłady

· Zastosuj filtr o sile 3.5 i promieniu 8:

gradfun=3.5:8

· Określ promień, pomijając siłę (która powróci do wartości domyślnej):

gradfun=promień=8

halucynacja
Zastosuj Hald CLUT do strumienia wideo.

Pierwsze wejście to strumień wideo do przetworzenia, a drugie to Hald CLUT. Hald
Wejście CLUT może być prostym obrazem lub pełnym strumieniem wideo.

Filtr akceptuje następujące opcje:

najkrótsza
Wymuś zakończenie po zakończeniu najkrótszego wejścia. Wartość domyślna to 0.

powtarzać ostatni
Kontynuuj stosowanie ostatniej CLUT po zakończeniu strumienia. Wartość 0 wyłącza
filtr po osiągnięciu ostatniej ramki CLUT. Wartość domyślna to 1.

"haldclut" ma również te same opcje interpolacji co lut3d (oba filtry mają to samo
wewnętrzne).

Więcej informacji na temat Hald CLUT można znaleźć na stronie internetowej Eskila Steenberga (Hald CLUT
autor) whttp://www.quelsolaar.com/technology/clut.html>.

Workflow przykłady

Zatrzymaj strumień wideo CLUT

Wygeneruj strumień tożsamości Hald CLUT zmieniony z różnymi efektami:

ffmpeg -f lavfi -i B =8 -vf "odcień=H=2*PI*t:s=sin(2*PI*t)+1, krzywe=cross_process" -t 10 -c:v ffv1 clut.nut

Uwaga: upewnij się, że używasz bezstratnego kodeka.

Następnie użyj go z "haldclut", aby zastosować go w jakimś losowym strumieniu:

ffmpeg -f lavfi -i mandelbrot -i clut.nut -filter_complex '[0][1] haldclut' -t 20 mandelclut.mkv

Hald CLUT zostanie zastosowany do pierwszych 10 sekund (czas trwania clut.nakrętka), a później
najnowszy obraz tego strumienia CLUT zostanie zastosowany do pozostałych klatek
strumień „mandelbrota”.

Hald CLUT z podglądem

Hald CLUT ma być kwadratowym obrazem „Level*Level*Level” autorstwa
Piksele „Poziom*Poziom*Poziom”. Dla danego Hald CLUT, FFmpeg wybierze największą możliwą
kwadrat zaczynający się w lewym górnym rogu obrazu. Pozostałe piksele wypełniające (dolne lub
prawo) zostaną zignorowane. Ten obszar może być użyty do dodania podglądu Hald CLUT.

Zazwyczaj następujące wygenerowane Hald CLUT będą obsługiwane przez filtr „haldclut”:

ffmpeg -f lavfi -i B =8 -vf "
pad=iw+320 [wypełniony_clut];
smptebars=s=320x256, podziel [a][b];
[padded_clut][a] overlay=W-320:h, curves=color_negative [main];
[main][b] overlay=W-320" -frames:v 1 clut.png

Zawiera oryginał i podgląd efektu CLUT: paski kolorów SMPTE są
wyświetlane w prawym górnym rogu i poniżej tych samych pasków kolorów przetworzonych przez zmiany kolorów.

Następnie efekt tego Hald CLUT można zwizualizować za pomocą:

ffplay input.mkv -vf "movie=clut.png, [w] haldclut"

hflip
Odwróć wejście wideo w poziomie.

Na przykład, aby odwrócić wideo w poziomie za pomocą ffmpeg:

ffmpeg -i in.avi -vf "hflip" out.avi

histeq
Ten filtr stosuje globalne wyrównanie histogramu kolorów na klatkę.

Może być używany do poprawiania wideo, które ma skompresowany zakres intensywności pikseli. ten
filtr redystrybuuje intensywność pikseli, aby wyrównać ich rozkład w całym
zakres intensywności. Może być postrzegany jako „automatycznie dostosowujący się filtr kontrastu”. Ten
Filtr jest przydatny tylko do korygowania zdegradowanego lub słabo przechwyconego źródła wideo.

Filtr akceptuje następujące opcje:

jest determinacja.
Określ ilość wyrównania do zastosowania. Gdy siła jest zmniejszona,
rozkład intensywności pikseli coraz bardziej zbliża się do klatki wejściowej.
Wartość musi być liczbą zmiennoprzecinkową z zakresu [0,1] i domyślnie wynosi 0.200.

intensywność
Ustaw maksymalną intensywność, która może generować i skalować wartości wyjściowe
odpowiednio. Siła powinna być ustawiona zgodnie z potrzebami, a następnie intensywność może być
ograniczone w razie potrzeby, aby uniknąć wymywania. Wartość musi być liczbą zmiennoprzecinkową z zakresu
[0,1] i domyślnie 0.210.

przeciwdziałanie opaskowaniu
Ustaw poziom pasmowania. Jeśli jest włączony, filtr będzie losowo zmieniać luminancję
piksele wyjściowe o niewielką ilość, aby uniknąć prążkowania histogramu. Możliwe wartości to
„brak”, „słaby” lub „silny”. Domyślnie jest to „brak”.

histogram
Oblicz i narysuj histogram rozkładu kolorów dla wejściowego wideo.

Obliczony histogram jest reprezentacją rozkładu składowej koloru w
obraz.

Filtr akceptuje następujące opcje:

tryb
Ustaw tryb histogramu.

Przyjmuje następujące wartości:

poziomy
Standardowy histogram przedstawiający rozkład składników koloru na obrazie.
Wyświetla wykres kolorów dla każdego składnika koloru. Pokazuje rozkład Y, U, V,
Składowe A lub R, G, B, w zależności od formatu wejściowego, w bieżącej ramce. Poniżej
każdy wykres pokazuje miernik skali składowej koloru.

kolor
Wyświetla wartości chrominancji (rozmieszczenie kolorów U/V) na dwuwymiarowym wykresie (czyli
nazywany wektoroskopem). Im jaśniejszy piksel w wektoroskopie, tym więcej pikseli
ramka wejściowa odpowiada temu pikselowi (tj. więcej pikseli ma tę barwę
wartość). Składnik V jest wyświetlany na osi poziomej (X), po lewej stronie
bok to V = 0, a skrajna prawa strona to V = 255. Składnik U to
wyświetlane na osi pionowej (Y), przy czym góra reprezentuje U = 0, a dół
reprezentujący U = 255.

Pozycja białego piksela na wykresie odpowiada wartości chrominancji a
piksel klipu wejściowego. Wykres można zatem wykorzystać do odczytania odcienia (kolor
smak) i nasycenie (przewaga barwy w kolorze). Jak odcień
zmienia kolor, porusza się po kwadracie. Na środku placu
nasycenie wynosi zero, co oznacza, że ​​odpowiedni piksel nie ma koloru. Jeśli
zwiększa się ilość określonego koloru (pozostawiając pozostałe kolory bez zmian)
nasycenie wzrasta, a wskaźnik przesuwa się w kierunku krawędzi kwadratu.

color2
Wartości chrominancji w wektoroskopie, podobne do „koloru”, ale rzeczywiste wartości chrominancji to
wystawiany.

kształt fali
Wykres składowych kolorów na wiersz/kolumnę. W trybie wiersza wykres po lewej stronie
reprezentuje wartość składową koloru 0, a prawa strona reprezentuje wartość = 255. In
w trybie kolumny, górna strona reprezentuje wartość składowej koloru = 0, a dolna strona
reprezentuje wartość = 255.

Wartość domyślna to „poziomy”.

poziom_wysokość
Ustaw wysokość poziomu w "poziomach". Wartość domyślna to 200. Dozwolony zakres to [50, 2048].

skala_wysokość
Ustaw wysokość skali kolorów w "poziomach". Wartość domyślna to 12. Dozwolony zakres to [0, 40].

krok
Ustaw krok dla trybu "przebiegu". Mniejsze wartości są przydatne, aby dowiedzieć się, ile wartości
ta sama luminancja jest rozłożona na wejściowe wiersze/kolumny. Wartość domyślna to 10.
Dozwolony zasięg to [1, 255].

tryb_falowy
Ustaw tryb dla "przebiegu". Może być „wierszem” lub „kolumną”. Wartość domyślna to „wiersz”.

lustro_fali
Ustaw tryb dublowania dla "przebiegu". 0 oznacza bez dublowania, 1 oznacza dublowanie. W lustrzanym odbiciu
tryb, wyższe wartości będą reprezentowane po lewej stronie dla trybu „wiersz” i na górze
dla trybu „kolumny”. Wartość domyślna to 0 (bez dublowania).

Tryb wyświetlania
Ustaw tryb wyświetlania dla "przebiegu" i "poziomów". Przyjmuje następujące wartości:

parada
Wyświetl osobny wykres dla składowych kolorów obok siebie w przebiegu „wierszowym”
lub jeden pod drugim w trybie „kolumnowym” przebiegu dla histogramu „przebiegu”
tryb. W trybie histogramu „poziomy”, wykresy składowe dla poszczególnych kolorów znajdują się poniżej
wzajemnie.

Korzystanie z tego trybu wyświetlania w trybie histogramu „przebiegu” ułatwia dostrzeżenie koloru
rzuca światła i cienie obrazu, porównując kontury
górny i dolny wykres każdego przebiegu. Ponieważ biele, szarości i czernie są
charakteryzujący się dokładnie równymi ilościami czerwonych, zielonych i niebieskich, neutralnych obszarów
obraz powinien pokazywać trzy przebiegi o mniej więcej równej szerokości/wysokości. Jeśli nie,
korekta jest łatwa do wykonania dzięki regulacji poziomu trzech przebiegów.

narzuta
Przedstawia informacje identyczne jak w „paradzie”, z tym wyjątkiem, że wykresy
reprezentujące składniki kolorów nakładają się bezpośrednio na siebie.

Ten tryb wyświetlania w trybie histogramu „przebiegu” ułatwia dostrzeżenie względne
różnice lub podobieństwa w nakładających się obszarach składowych koloru, które są
powinny być identyczne, jak neutralne biele, szarości lub czernie.

Domyślnie jest to „parada”.

tryb_poziomów
Ustaw tryb dla „poziomów”. Może być „liniowy” lub „logarytmiczny”. Wartość domyślna to „liniowa”.

składniki
Ustaw, jakie składniki kolorów mają być wyświetlane dla „poziomów” trybu. Wartość domyślna to 7.

Przykłady

· Oblicz i narysuj histogram:

ffplay -i wejście -vf histogram

hqdn3d
Jest to filtr odszumiający 3D o wysokiej precyzji/jakości. Ma na celu redukcję szumów obrazu,
tworzenie płynnych obrazów i robienie naprawdę nieruchomych obrazów. Powinien wzmocnić
ściśliwość.

Akceptuje następujące parametry opcjonalne:

luma_przestrzenna
Nieujemna liczba zmiennoprzecinkowa określająca przestrzenną siłę światła. To
domyślnie 4.0.

chroma_przestrzenny
Nieujemna liczba zmiennoprzecinkowa, która określa przestrzenną siłę nasycenia barw. To
domyślnie 3.0*luma_przestrzenna/ 4.0.

luma_tmp
Liczba zmiennoprzecinkowa określająca czasową siłę luma. Domyślnie:
6.0 *luma_przestrzenna/ 4.0.

chroma_tmp
Liczba zmiennoprzecinkowa, która określa czasową siłę barwy. Domyślnie:
luma_tmp*chroma_przestrzenny/luma_przestrzenna.

hqx
Zastosuj wysokiej jakości filtr powiększenia przeznaczony do grafiki pikselowej. Ten filtr był
pierwotnie stworzony przez Maxima Stepina.

Akceptuje następującą opcję:

n Ustaw wymiar skalowania: 2 dla „hq2x”, 3 dla „hq3x” i 4 dla „hq4x”. Wartość domyślna to 3.

stos
Ułóż wideo wejściowe w poziomie.

Wszystkie strumienie muszą mieć ten sam format pikseli i tę samą wysokość.

Pamiętaj, że ten filtr jest szybszy niż używanie narzuta i ścieżka filtr, aby utworzyć ten sam wynik.

Filtr akceptuje następującą opcję:

nb_wejść
Ustaw liczbę strumieni wejściowych. Wartość domyślna to 2.

odcień
Zmodyfikuj odcień i/lub nasycenie wejścia.

Przyjmuje następujące parametry:

h Określ kąt barwy jako liczbę stopni. Przyjmuje wyrażenie i domyślnie
na „0”.

s Określ nasycenie w zakresie [-10,10]. Akceptuje wyrażenie i domyślnie
„1”.

H Określ kąt barwy jako liczbę radianów. Przyjmuje wyrażenie i domyślnie
na „0”.

b Określ jasność w zakresie [-10,10]. Akceptuje wyrażenie i domyślnie
„0”.

h i H wykluczają się wzajemnie i nie można ich określić w tym samym czasie.

Połączenia b, h, H i s wartości opcji to wyrażenia zawierające następujące stałe:

n liczba klatek klatki wejściowej od 0

pkt znacznik czasu prezentacji ramki wejściowej wyrażony w jednostkach podstawy czasu

r liczba klatek na sekundę wejściowego wideo, NAN, jeśli liczba klatek na sekundę wejściowa jest nieznana

t znacznik czasu wyrażony w sekundach, NAN, jeśli wejściowy znacznik czasu jest nieznany

tb podstawa czasu wejściowego wideo

Przykłady

· Ustaw odcień na 90 stopni, a nasycenie na 1.0:

barwa=h=90:s=1

· To samo polecenie, ale wyrażające odcień w radianach:

barwa=H=PI/2:s=1

· Obróć odcień i spraw, aby nasycenie zmieniało się między 0 a 2 w ciągu 1 sekundy:

hue="H=2*PI*t: s=sin(2*PI*t)+1"

· Zastosuj 3-sekundowy efekt zanikania nasycenia, zaczynając od 0:

hue="s=min(t/3\,1)"

Ogólne wyrażenie zanikania można zapisać jako:

hue="s=min(0\, max((t-START)/CZAS TRWANIA\, 1))"

· Zastosuj 3-sekundowy efekt zanikania nasycenia, zaczynając od 5 sekund:

hue="s=max(0\, min(1\, (8-t)/3))"

Ogólne wyrażenie zanikania można zapisać jako:

hue="s=max(0\, min(1\, (POCZĄTEK+CZAS-t)/CZAS TRWANIA))"

Polecenia

Ten filtr obsługuje następujące polecenia:

b
s
h
H Zmodyfikuj odcień i/lub nasycenie i/lub jasność wejściowego wideo. ten
polecenie akceptuje tę samą składnię odpowiedniej opcji.

Jeśli podane wyrażenie jest niepoprawne, jest zachowywane z bieżącą wartością.

ideta
Wykryj typ przeplotu wideo.

Ten filtr próbuje wykryć, czy klatki wejściowe są z przeplotem, progresywne, górne czy dolne
pierwsze pole. Będzie również próbował wykryć pola, które powtarzają się między sąsiednimi ramkami
(znak telecine).

Wykrywanie pojedynczej ramki uwzględnia tylko bezpośrednio przylegające ramki podczas klasyfikowania każdej z nich
ramka. Wykrywanie wielu ramek obejmuje historię klasyfikacji poprzednich
ramki.

Filtr zarejestruje te wartości metadanych:

pojedyncza.bieżąca_ramka
Wykryty typ bieżącej ramki przy użyciu wykrywania pojedynczej ramki. Jedno z: ``tff'' (na górze
najpierw pole), „bff” (najpierw dolne pole), „progresywne” lub „nieokreślone”

singiel.tff
Skumulowana liczba ramek wykrytych jako pierwsze w górnym polu przy użyciu wykrywania pojedynczej ramki.

wiele.tff
Skumulowana liczba ramek wykrytych jako pierwsze w górnym polu przy użyciu wielu ramek
wykrycie.

singiel.bff
Skumulowana liczba ramek wykrytych jako dolne pole jako pierwsze przy użyciu pojedynczej ramki
wykrycie.

wiele.bieżąca_ramka
Wykryty typ bieżącej ramki przy użyciu wykrywania wielu ramek. Jedno z: ``tff'' (na górze
najpierw pole), „bff” (najpierw dolne pole), „progresywne” lub „nieokreślone”

wiele.bff
Łączna liczba ramek wykrytych jako dolne pole jako pierwsze przy użyciu wielu ramek
wykrycie.

pojedynczy.postępowy
Skumulowana liczba ramek wykrytych jako progresywne przy użyciu wykrywania pojedynczej ramki.

wielokrotny.postępowy
Skumulowana liczba ramek wykrytych jako progresywne przy użyciu wykrywania wielu ramek.

pojedynczy.nieokreślony
Skumulowana liczba ramek, których nie można było sklasyfikować za pomocą wykrywania pojedynczych ramek.

wiele.nieokreślone
Łączna liczba ramek, których nie można było sklasyfikować za pomocą wielu ramek
wykrycie.

powtórzona.bieżąca_klatka
Które pole w bieżącej ramce jest powtarzane od ostatniego. Jedno z „żadnych”,
„góra” lub „dół”.

powtórzony.ani
Łączna liczba ramek bez powtarzającego się pola.

powtarzane.do góry
Skumulowana liczba klatek z górnym polem powtórzonym od góry poprzedniej klatki
pole.

powtórzony.dolny
Łączna liczba ramek z dolnym polem powtórzonym z poprzedniej ramki
dolne pole.

Filtr akceptuje następujące opcje:

intl_thres
Ustaw próg przeplotu.

prog_thres
Ustaw progresywny próg.

powtórzeń
Próg dla wielokrotnego wykrywania pola.

pół życia
Liczba klatek, po których udział danej klatki w statystykach zmniejsza się o połowę
(tj. wnosi tylko 0.5 do swojej klasyfikacji). Domyślna wartość 0 oznacza, że
wszystkie widoczne klatki otrzymują pełną wagę 1.0 na zawsze.

analizuj_flagę_przeplataną
Jeśli to nie jest 0, idet użyje określonej liczby ramek, aby określić, czy
flaga z przeplotem jest dokładna, nie zlicza nieokreślonych klatek. Jeśli flaga
okaże się, że jest dokładny, zostanie użyty bez dalszych obliczeń, jeśli jest
okaże się, że jest niedokładny, zostanie usunięty bez dalszych obliczeń. Ten
umożliwia wstawienie filtra idet jako niskiej metody obliczeniowej do czyszczenia
flaga z przeplotem

il
Pola Usuń przeplot lub przeplot.

Filtr ten umożliwia przetwarzanie pól obrazów z przeplotem bez ich usuwania.
Deinterleaving dzieli klatkę wejściową na 2 pola (tzw. półobrazy). Nieparzyste linie
są przenoszone do górnej połowy obrazu wyjściowego, równe linie do dolnej połowy. Możesz
przetwarzać (filtrować) je niezależnie, a następnie ponownie je przeplatać.

Filtr akceptuje następujące opcje:

tryb luma, l
tryb_koloru, c
tryb_alfa, a
Dostępne wartości dla tryb luminancji, tryb_koloru i tryb_alfa należą:

Żaden
Nic nie robić.

rozplatać, d
Rozwiąż pola, umieszczając jedno nad drugim.

przekładać, i
Pola przeplotu. Odwróć efekt rozplatania.

Wartość domyślna to „brak”.

luma_swap, ls
zamiana_kolorów, cs
zamiana_alfa, as
Zamień pola luma/chroma/alpha. Wymieniaj linie parzyste i nieparzyste. Wartość domyślna to 0.

nadmuchać
Zastosuj efekt nadmuchania do filmu.

Ten filtr zastępuje piksel przez miejscowy(3x3) średnia biorąc pod uwagę tylko
wartości wyższe niż piksel.

Akceptuje następujące opcje:

próg 0
próg 1
próg 2
próg 3
Ogranicz maksymalną zmianę dla każdej płaszczyzny, domyślnie 65535. Jeśli 0, samolot pozostanie
bez zmian.

przeplatać
Prosty filtr z przeplotem z zawartości progresywnej. To przeplata górną (lub dolną)
linie z nieparzystych klatek z dolnymi (lub górnymi) liniami z parzystych klatek, zmniejszające o połowę szybkość odtwarzania
i zachowanie wysokości obrazu.

Oryginalna oryginalna nowa ramka
Ramka „j” Ramka „j+1” (tff)
===================== ===================
Linia 0 --------------------> Ramka 'j' Linia 0
Wiersz 1 Wiersz 1 ----> Ramka 'j+1' Wiersz 1
Wiersz 2 ------------------> Ramka 'j' Wiersz 2
Wiersz 3 Wiersz 3 ----> Ramka 'j+1' Wiersz 3
... ... ...
Nowa ramka + 1 zostanie wygenerowana przez ramkę „j+2” i ramkę „j+3” i tak dalej

Akceptuje następujące parametry opcjonalne:

skanować
Określa, czy klatka z przeplotem jest pobierana z parzystego (tff - domyślnie) czy
nieparzyste (bff) linie ramki progresywnej.

dolnoprzepustowy
Włącz (domyślnie) lub wyłącz pionowy filtr dolnoprzepustowy, aby uniknąć przeplotu Twittera
i zredukować wzory mory.

Kerndeint
Usuń przeplot wideo wejściowego, stosując adaptacyjne usuwanie przeplotu jądra Donalda Grafta. Pracować nad
przeplatane części wideo w celu utworzenia klatek progresywnych.

Poniżej znajduje się opis akceptowanych parametrów.

namłócić
Ustaw próg, który wpływa na tolerancję filtra podczas określania, czy piksel
wiersz musi zostać przetworzony. Musi to być liczba całkowita z zakresu [0,255] i domyślnie 10.
Wartość 0 spowoduje zastosowanie procesu na każdym pikselu.

mapa Pomaluj piksele przekraczające wartość progową na kolor biały, jeśli jest ustawiony na 1. Wartość domyślna to 0.

zamówienie
Ustaw kolejność pól. Zamień pola, jeśli jest ustawione na 1, pozostaw pola bez zmian, jeśli 0. Wartość domyślna to 0.

ostry
Włącz dodatkowe wyostrzanie, jeśli jest ustawione na 1. Wartość domyślna to 0.

dwukierunkowy
Włącz wyostrzanie dwukierunkowe, jeśli jest ustawione na 1. Wartość domyślna to 0.

Przykłady

· Zastosuj wartości domyślne:

kerndeint=thresh=10:map=0:order=0:sharp=0:twoway=0

· Włącz dodatkowe ostrzenie:

kerndeint=ostry=1

· Maluj przetworzone piksele na biało:

kerndeint=mapa=1

korekcja soczewki
Prawidłowe zniekształcenie soczewki promieniowej

Filtr ten może być używany do korekcji zniekształceń promieniowych, które mogą wynikać z użycia
obiektywy szerokokątne, a tym samym ponownie korygują obraz. Aby znaleźć odpowiednie parametry można:
korzystaj z narzędzi dostępnych np. w ramach opencv lub po prostu metodą prób i błędów. Używać
opencv użyj próbki kalibracyjnej (pod sample/cpp) ze źródeł opencv i wyodrębnij
współczynniki k1 i k2 z otrzymanej macierzy.

Zwróć uwagę, że faktycznie ten sam filtr jest dostępny w narzędziach open-source Krita i
Digikam z projektu KDE.

W przeciwieństwie do winieta filtr, który może być również używany do kompensacji błędów obiektywu, to
filtr koryguje zniekształcenia obrazu, natomiast winieta koryguje jasność
dystrybucji, więc w niektórych przypadkach możesz chcieć używać obu filtrów razem, chociaż
będzie musiał zadbać o zamówienie, czyli czy winietowanie należy zastosować przed, czy
po korekcji obiektywu.

Opcje

Filtr akceptuje następujące opcje:

cx Względna współrzędna x ogniska obrazu, a tym samym środka
zniekształcenie. Wartość ta ma zakres [0,1] i jest wyrażona jako ułamki obrazu
szerokość.

cy Względna współrzędna y ogniska obrazu, a tym samym środka
zniekształcenie. Wartość ta ma zakres [0,1] i jest wyrażona jako ułamki obrazu
wysokość.

k1 Współczynnik kwadratowego członu korekcyjnego. 0.5 oznacza brak korekty.

k2 Współczynnik podwójnej kwadratowej składowej korekcji. 0.5 oznacza brak korekty.

Formuła generująca korektę to:

r_źr = r_tgt * (1 + k1 * (r_tgt / r_0)^2 + k2 * (r_tgt / r_0)^4)

gdzie r_0 jest połową przekątnej obrazu i r_źr i r_tgt są odległości od
punkt centralny odpowiednio w obrazie źródłowym i docelowym.

lut3d
Zastosuj tablicę 3D LUT do wejściowego wideo.

Filtr akceptuje następujące opcje:

filet
Ustaw nazwę pliku 3D LUT.

Obecnie obsługiwane formaty:

3dl Po efektach

kostka
Irydy

DAT DaVinci

m3d Pandora

interp
Wybierz tryb interpolacji.

Dostępne wartości to:

najbliższy
Użyj wartości z najbliższego zdefiniowanego punktu.

trójliniowy
Interpoluj wartości używając 8 punktów definiujących sześcian.

czworościenny
Interpoluj wartości za pomocą czworościanu.

lut, lutrgb, lutyuv
Oblicz tabelę przeglądową w celu powiązania wartości wejściowej każdego składnika piksela z wartością wyjściową,
i zastosuj go do wejściowego wideo.

lutyuv stosuje tabelę przeglądową do wejściowego wideo YUV, lutrgb do wejścia wideo RGB.

Filtry te akceptują następujące parametry:

c0 ustaw wyrażenie pierwszego składnika piksela

c1 ustaw wyrażenie drugiego składnika piksela

c2 ustaw wyrażenie składowe trzeciego piksela

c3 ustaw wyrażenie czwartego składnika piksela, odpowiada składnikowi alfa

r ustaw czerwone wyrażenie składowe

g ustaw zielone wyrażenie składowe

b ustaw niebieskie wyrażenie składowe

a wyrażenie składnika alfa

y ustaw Y/wyrażenie składowej luminancji

u ustaw wyrażenie składowe U/Cb

v ustaw wyrażenie składowe V/Cr

Każdy z nich określa wyrażenie używane do obliczania tabeli przeglądowej dla
odpowiednie wartości składowych pikseli.

Dokładny składnik powiązany z każdym z c* opcje zależą od formatu na wejściu.

Połączenia LUT filtr wymaga wejścia w formacie YUV lub RGB, lutrgb wymaga RGB
formaty pikseli na wejściu i lutyuv wymaga YUV.

Wyrażenia mogą zawierać następujące stałe i funkcje:

w
h Wejściowa szerokość i wysokość.

val Wartość wejściowa składnika pikselowego.

klipwal
Wartość wejściowa przycięta do minwal-wartość maksymalna zakres.

wartość maksymalna
Maksymalna wartość składnika pikselowego.

minwal
Minimalna wartość składnika pikselowego.

negatywna
Zanegowana wartość dla wartości składnika piksela, przycięta do minwal-wartość maksymalna zasięg;
odpowiada wyrażeniu „maxval-clipval+minval”.

klip (val)
Obliczona wartość w val, przypięty do minwal-wartość maksymalna zakres.

gamma (gamma)
Obliczona wartość korekcji gamma wartości składnika piksela, przycięta do
minwal-wartość maksymalna zakres. Odpowiada wyrażeniu
"pow((clipval-minval)/(maxval-minval)\,gamma)*(maks.-min.)+min."

Wszystkie wyrażenia domyślnie mają wartość „val”.

Przykłady

· Negacja wejścia wideo:

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"

Powyższe jest takie samo jak:

lutrgb="r=wartość ujemna:g=wartość ujemna:b=wartość ujemna"
lutyuv="y=negval:u=negval:v=negval"

· Ujemna luminancja:

lutyuv=y=ujemne

· Usuń komponenty chrominancji, zmieniając wideo w obraz w odcieniach szarości:

lutyuv="u=128:v=128"

· Zastosuj efekt wypalania lumy:

lutyuv="y=2*wartość"

· Usuń zielone i niebieskie komponenty:

lutrgb="g=0:b=0"

· Ustaw stałą wartość kanału alfa na wejściu:

format=rgba,lutrgb=a="maxval-minval/2"

· Prawidłowe gamma luminancji o współczynnik 0.5:

lutyuv=y=gammaval(0.5)

· Odrzuć najmniej znaczące fragmenty lumy:

lutyuv=y='biti(val, 128+64+32)'

samoloty scalone
Scal komponenty kanału kolorów z kilku strumieni wideo.

Filtr akceptuje do 4 strumieni wejściowych i łączy wybrane płaszczyzny wejściowe z wyjściem
filmiku.

Ten filtr akceptuje następujące opcje:

mapowanie
Ustaw wejście na mapowanie płaszczyzny wyjściowej. Wartość domyślna to 0.

Mapowania są określone jako bitmapa. Powinna być określona jako liczba szesnastkowa
w postaci 0xAa[Bb[Cc[Dd]]]. „Aa” opisuje odwzorowanie pierwszej płaszczyzny
strumień wyjściowy. „A” ustawia numer używanego strumienia wejściowego (od 0 do 3), a „a”
numer płaszczyzny odpowiedniego wejścia do użycia (od 0 do 3). Reszta
mapowania są podobne, „Bb” opisuje mapowanie dla drugiej płaszczyzny strumienia wyjściowego,
„Cc” opisuje mapowanie dla trzeciej płaszczyzny strumienia wyjściowego, a „Dd” opisuje
mapowanie dla czwartej płaszczyzny strumienia wyjściowego.

format
Ustaw format wyjściowy w pikselach. Domyślnie jest to „yuva444p”.

Przykłady

· Połącz trzy szare strumienie wideo o tej samej szerokości i wysokości w jeden strumień wideo:

[a0][a1][a2]mergeplanes=0x001020:yuv444p

· Scal pierwszy strumień yuv1p i drugi szary strumień wideo w strumień wideo yuva444p:

[a0][a1]mergeplanes=0x00010210:yuva444p

· Zamień samolot Y i A w strumieniu yuva444p:

format=yuva444p,scalanie=0x03010200:yuva444p

· Zamień samoloty U i V w strumieniu yuv420p:

format=yuv420p,scalanie=0x000201:yuv420p

· Przesyłaj klip rgb24 do yuv444p:

format=rgb24,scalanie=0x000102:yuv444p

mcdeint
Zastosuj usuwanie przeplotu z kompensacją ruchu.

Potrzebuje jednego pola na ramkę jako danych wejściowych i dlatego musi być używane razem z yadif = 1/3 lub
odpowiednik.

Ten filtr akceptuje następujące opcje:

tryb
Ustaw tryb usuwania przeplotu.

Przyjmuje jedną z następujących wartości:

szybki
średni
powolny
użyj iteracyjnego szacowania ruchu

bardzo_wolny
lubić powolny, ale używaj wielu ramek odniesienia.

Wartość domyślna to szybki.

parytet
Ustaw parzystość pola obrazu zakładaną dla wejściowego wideo. To musi być jeden z
następujące wartości:

0, tff
załóż najpierw górne pole

1, bff
załóż najpierw dolne pole

Wartość domyślna to bff.

qp Ustaw parametr kwantyzacji na blok (QP) używany przez wewnętrzny koder.

Wyższe wartości powinny skutkować gładszym polem wektorowym ruchu, ale mniej optymalnym
poszczególne wektory. Wartość domyślna to 1.

mpzdziesiec
Odrzuć klatki, które nie różnią się zbytnio od poprzedniej klatki, aby zredukować klatkę
oceniać.

Głównym zastosowaniem tego filtra jest kodowanie z bardzo niską szybkością transmisji bitów (np. przesyłanie strumieniowe przez połączenie telefoniczne)
modem), ale teoretycznie można go użyć do naprawy filmów, które zostały poddane odwrotnemu telecinie
nieprawidłowo.

Poniżej znajduje się opis akceptowanych opcji.

max Ustaw maksymalną liczbę kolejnych klatek, które można pominąć (jeśli są dodatnie), lub
minimalny odstęp między pominiętymi klatkami (jeśli jest ujemny). Jeśli wartość wynosi 0,
ramka jest usuwana niezależnie od liczby poprzednich sekwencyjnie usuwanych ramek.

Wartość domyślna to 0.

hi
lo
frak
Ustaw wartości progowe spadku.

Wartości dla hi i lo są przeznaczone dla bloków 8x8 pikseli i reprezentują rzeczywistą wartość w pikselach
różnice, więc próg 64 odpowiada 1 jednostce różnicy dla każdego piksela,
lub to samo rozłożyło się inaczej w całym bloku.

Ramka jest kandydatem do porzucenia, jeśli żaden blok 8x8 nie różni się o więcej niż próg
of hi, a jeśli nie więcej niż frak bloki (1 oznacza cały obraz) różnią się o więcej niż
próg lo.

Wartość domyślna dla hi to 64*12, domyślna wartość dla lo to 64*5, a domyślna wartość
frak to 0.33.

negować
Neguj wejście wideo.

Przyjmuje liczbę całkowitą na wejściu; jeśli niezerowe, neguje składnik alfa (jeśli jest dostępny).
Domyślna wartość na wejściu to 0.

bez formatu
Wymuś libavfilter, aby nie używał żadnego z określonych formatów pikseli dla danych wejściowych do następnego
filtr.

Przyjmuje następujące parametry:

pix_fmts
Lista rozdzielonych znakami '|' nazw formatów pikseli, na przykład apix_fmts=yuv420p|monow|rgb24”.

Przykłady

· Zmuś libavfilter do używania formatu innego niż yuv420p dla wejścia do vflip
filtr:

noformat=pix_fmts=yuv420p,vflip

· Konwertuj wideo wejściowe na dowolny z formatów nieuwzględnionych na liście:

noformat=yuv420p|yuv444p|yuv410p

hałas
Dodaj szum do klatki wejściowej wideo.

Filtr akceptuje następujące opcje:

rdest ptasi
c0_ziarno
c1_ziarno
c2_ziarno
c3_ziarno
Ustaw ziarno szumu dla określonego składnika piksela lub wszystkich składników piksela w przypadku
rdest ptasi. Wartość domyślna to 123457.

cała_siła, wszystko
c0_siła, c0s
c1_siła, c1s
c2_siła, c2s
c3_siła, c3s
Ustaw siłę szumu dla określonego składnika piksela lub wszystkich składników piksela w przypadku
all_siła. Wartość domyślna to 0. Dozwolony zakres to [0, 100].

wszystkie_flagi, wszystko
c0_flagi, C0f
c1_flagi, C1f
c2_flagi, C2f
c3_flagi, C3f
Ustaw flagi komponentów pikselowych lub ustaw flagi dla wszystkich komponentów, jeśli wszystkie_flagi. Dostępny
wartości dla flag komponentów to:

a uśredniony szum czasowy (gładszy)

p mieszaj losowy szum z (pół)regularnym wzorem

t szum czasowy (zmiana wzorca szumu między klatkami)

u jednolity szum (w przeciwnym razie gaussowski)

Przykłady

Dodaj czasowy i jednolity szum do wejściowego wideo:

szum=wszystko=20:wszystko=t+u

zero
Przekaż niezmienione źródło wideo do wyjścia.

ok
Zastosuj transformację wideo za pomocą libopencv.

Aby włączyć ten filtr, zainstaluj bibliotekę i nagłówki libopencv i skonfiguruj FFmpeg za pomocą
„--włącz-libopencv”.

Przyjmuje następujące parametry:

nazwa_filtra
Nazwa filtru libopencv do zastosowania.

parametry_filtra
Parametry do przekazania do filtra libopencv. Jeśli nie określono, wartości domyślne
są zakładane.

Zapoznaj się z oficjalną dokumentacją libopencv, aby uzyskać dokładniejsze informacje:
<http://docs.opencv.org/master/modules/imgproc/doc/filtering.html>

Obsługiwanych jest kilka filtrów libopencv; patrz następujące podrozdziały.

rozszerza się

Poszerzyć obraz, używając określonego elementu strukturyzującego. Odpowiada libopencv
funkcja "cvDilate".

Akceptuje parametry: struktura_el|nb_iteracje.

struktura_el reprezentuje element strukturyzujący i ma składnię:
colsxwydziwianie+kotwica_xxkotwica_y/kształt

cols i wydziwianie reprezentują liczbę kolumn i wierszy elementu strukturyzującego,
kotwica_x i kotwica_y punkt zakotwiczenia i kształt kształt elementu strukturyzującego.
kształt musi być „prosty”, „krzyż”, „elipsa” lub „niestandardowy”.

Jeśli wartość dla kształt jest „niestandardowy”, musi po nim następować ciąg postaci
"=filename". Plik o nazwie filename przyjmuje się, że reprezentuje obraz binarny, z każdym
drukowalny znak odpowiadający jasnemu pikselowi. Kiedy zwyczaj kształt jest używany, cols i
wydziwianie są ignorowane, zamiast tego przyjmowana jest liczba lub kolumny i wiersze odczytywanego pliku.

Wartość domyślna dla struktura_el to „3x3+0x0/prost”.

nb_iteracje określa, ile razy transformacja jest stosowana do obrazu, oraz
domyślnie 1.

Kilka przykładów:

# Użyj wartości domyślnych
ocv=rozszerzenie

# Rozszerz za pomocą elementu strukturyzującego z krzyżem 5x5, powtarzając dwa razy
ocv=filter_name=dilate:filter_params=5x5+2x2/cross|2

# Odczytaj kształt z pliku diamond.shape, powtarzając dwa razy.
# Plik diamond.shape może zawierać taki wzór znaków
# *
#***
#*****
#***
# *
# Określone kolumny i wiersze są ignorowane
# ale współrzędne punktu zakotwiczenia nie są
ocv=dilate:0x0+2x2/custom=diamond.shape|2

erodować

Erozji obrazu za pomocą określonego elementu strukturyzującego. Odpowiada libopencv
funkcja "cvErode".

Akceptuje parametry: struktura_el:nb_iteracje, z tą samą składnią i semantyką co
dotychczasowy rozszerza się filtr.

gładki

Wygładź wideo wejściowe.

Filtr przyjmuje następujące parametry: rodzaj|param1|param2|param3|param4.

rodzaj jest typem filtru gładkiego do zastosowania i musi być jedną z następujących wartości:
„blur”, „blur_no_scale”, „mediana”, „gaussowska” lub „dwustronna”. Domyślna wartość to
„gaussowski”.

Znaczenie param1, param2, param3, param4 zależą od rodzaju gładkiego. param1 i
param2 zaakceptuj dodatnie wartości całkowite lub 0. param3 i param4 zaakceptuj liczbę zmiennoprzecinkową
wartości.

Wartość domyślna dla param1 wynosi 3. Domyślna wartość pozostałych parametrów to 0.

Te parametry odpowiadają parametrom przypisanym do funkcji libopencv
"cvSmooth".

narzuta
Nakładaj jeden film na drugi.

Zajmuje dwa wejścia i ma jedno wyjście. Pierwsze wejście to „główne” wideo, na którym
drugie wejście jest nakładane.

Przyjmuje następujące parametry:

Poniżej znajduje się opis akceptowanych opcji.

x
y Ustaw wyrażenie dla współrzędnych x i y nałożonego wideo na głównym
wideo. Wartość domyślna to „0” dla obu wyrażeń. W przypadku, gdy wyrażenie jest nieprawidłowe,
jest ustawiona na dużą wartość (co oznacza, że ​​nakładka nie będzie wyświetlana w obrębie
wyprowadzanie widocznego obszaru).

eof_akcja
Akcja do wykonania w przypadku napotkania EOF na wejściu pomocniczym; akceptuje jeden z
następujące wartości:

powtarzać
Powtórz ostatnią klatkę (domyślnie).

skończ wszystko
Zakończ oba strumienie.

przechodzić
Przepuścić główne wejście.

eval
Ustaw, kiedy wyrażenia dla x, y są oceniane.

Przyjmuje następujące wartości:

startowych
Oceniaj wyrażenia tylko raz podczas inicjalizacji filtra lub gdy polecenie
przetwarzane

rama
oceń wyrażenia dla każdej przychodzącej ramki

Wartość domyślna to rama.

najkrótsza
Jeśli jest ustawiony na 1, wymusza zakończenie wyjścia po zakończeniu najkrótszego wejścia. Domyślna
wartość wynosi 0.

format
Ustaw format wyjściowego wideo.

Przyjmuje następujące wartości:

juv420
wymuszenie wyjścia YUV420

juv422
wymuszenie wyjścia YUV422

juv444
wymuszenie wyjścia YUV444

rgb wymuś wyjście RGB

Wartość domyślna to juv420.

rgb (przestarzałe)
Jeśli jest ustawiony na 1, wymusza na filtrze akceptację danych wejściowych w przestrzeni kolorów RGB. Domyślna wartość
wynosi 0. Ta opcja jest przestarzała, użyj format zamiast.

powtarzać ostatni
Jeśli jest ustawiony na 1, wymuś na filtrze narysowanie ostatniej ramki nakładki na głównym wejściu, aż
koniec strumienia. Wartość 0 wyłącza to zachowanie. Wartość domyślna to 1.

Połączenia x, y wyrażenia mogą zawierać następujące parametry.

główny_w, W
główny_h, H
Główna szerokość i wysokość danych wejściowych.

nakładka_w, w
nakładka_h, h
Szerokość i wysokość danych wejściowych nakładki.

x
y Obliczone wartości dla x i y. Są oceniane dla każdej nowej klatki.

hsub
vssub
Podpróbki wartości chrominancji poziomej i pionowej formatu wyjściowego. Na przykład dla
format pikseli „yuv422p” hsub to 2 i vssub to 1.

n liczba klatek wejściowych, zaczynając od 0

pisać pozycja w pliku ramki wejściowej, NAN jeśli nieznana

t Znacznik czasu wyrażony w sekundach. Jest to NAN, jeśli wejściowy znacznik czasu jest nieznany.

Zauważ, że n, pisać, t zmienne są dostępne tylko po wykonaniu oceny dla rama,
i oceni do NAN, kiedy eval jest ustawione na startowych.

Należy pamiętać, że klatki są pobierane z każdego wejściowego wideo w kolejności sygnatury czasowej, dlatego jeśli ich
początkowe znaczniki czasu różnią się, dobrym pomysłem jest przekazanie dwóch danych wejściowych przez a
setpts=PTS-STARTPTS filtruj, aby zaczynały się od tego samego zerowego znacznika czasu, jak w przykładzie
dla film filtr.

Możesz połączyć ze sobą więcej nakładek, ale powinieneś przetestować skuteczność takiego podejścia.

Polecenia

Ten filtr obsługuje następujące polecenia:

x
y Zmodyfikuj x i y danych wejściowych nakładki. Polecenie akceptuje tę samą składnię polecenia
odpowiednią opcję.

Jeśli podane wyrażenie jest niepoprawne, jest zachowywane z bieżącą wartością.

Przykłady

· Narysuj nakładkę w 10 pikselach od prawego dolnego rogu głównego wideo:

nakładka=główna_w-nakładka_w-10:główna_h-nakładka_h-10

Używając nazwanych opcji, powyższy przykład staje się:

nakładka=x=główna_w-nakładka_w-10:y=główna_h-nakładka_h-10

· Wstaw przezroczyste logo PNG w lewym dolnym rogu danych wejściowych, używając ffmpeg
narzędzie z opcją "-filter_complex":

ffmpeg -i wejście -i logo -filter_complex 'overlay=10:main_h-overlay_h-10' wyjście

· Wstaw 2 różne przezroczyste logo PNG (drugie logo w prawym dolnym rogu) za pomocą
dotychczasowy ffmpeg Narzędzie:

ffmpeg -i input -i logo1 -i logo2 -filter_complex 'overlay=x=10:y=Hh-10,overlay=x=Ww-10:y=Hh-10' wyjście

· Dodaj przezroczystą warstwę kolorów na górze głównego wideo; „WxH” musi określać rozmiar
główne wejście do filtra nakładkowego:

[email chroniony]:rozmiar=szer. x wys. [ponad]; [w] [nad] nakładka [na zewnątrz]

· Odtwórz obok siebie oryginalny film i wersję przefiltrowaną (tu z filtrem deshake)
strona używająca ffplay Narzędzie:

ffplay input.avi -vf 'split[a][b]; [a]pad=iw*2:ih[źródło]; [b]odstrząsnąć[filt]; [źródło][filt]nakładka=w'

Powyższe polecenie jest takie samo jak:

ffplay input.avi -vf 'split[b], pad=iw*2[źródło], [b]deshake, [źródło]nakładka=w'

· Stwórz przesuwaną nakładkę pojawiającą się od lewej do prawej górnej części ekranu
od godziny 2:

overlay=x='if(gte(t,2), -w+(t-2)*20, NAN)':y=0

· Skomponuj dane wyjściowe, umieszczając dwa wideo wejściowe obok siebie:

ffmpeg -i lewy.avi -i prawy.avi -filter_kompleks "
nullsrc=rozmiar=200x100 [tło];
[0:v] setpts=PTS-STARTPTS, skala=100x100 [po lewej];
[1:v] setpts=PTS-STARTPTS, skala=100x100 [prawo];
[tło][po lewej] nakładka=shortest=1 [tło+po lewej];
[tło+lewo][prawo] nakładka=shortest=1:x=100 [lewo+prawo]
"

· Maskuj 10-20 sekund filmu, stosując filtr delogo do sekcji

ffmpeg -i test.avi -kodek: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]'
zamaskowany.avi

· Połącz kilka nakładek kaskadowo:

nullsrc=s=200x200 [bg];
testsrc=s=100x100, split=4 [in0][in1][in2][in3];
[in0] lutrgb=r=0, [bg] nakładka=0:0 [mid0];
[w1] lutrgb=g=0, [mid0] overlay=100:0 [mid1];
[in2] lutrgb=b=0, [mid1] nakładka=0:100 [mid2];
[in3] null, [mid2] nakładka=100:100 [out0]

głupkowaty
Zastosuj odszumiacz Overcomplete Wavelet.

Filtr akceptuje następujące opcje:

głębokość
Ustaw głębokość.

Większe wartości głębokości będą bardziej odszumiać komponenty o niższej częstotliwości, ale spowalniają
filtracja.

Musi być int z zakresu 8-16, domyślnie 8.

luma_siła, ls
Ustaw siłę lumy.

Musi być podwójną wartością z zakresu 0-1000, domyślnie 1.0.

siła_koloru, cs
Ustaw siłę barwy.

Musi być podwójną wartością z zakresu 0-1000, domyślnie 1.0.

ścieżka
Dodaj dopełnienie do obrazu wejściowego i umieść oryginalne wejście w dostarczonym x, y
współrzędne

Przyjmuje następujące parametry:

szerokość, w
wysokość, h
Określ wyrażenie określające rozmiar obrazu wyjściowego z dodanymi dopełnieniami. Jeśli
wartość dla szerokość or wysokość wynosi 0, odpowiedni rozmiar wejściowy jest używany do wyjścia.

Połączenia szerokość wyrażenie może odwoływać się do wartości ustawionej przez wysokość ekspresja i występek
odwrotnie.

Domyślna wartość szerokość i wysokość to 0.

x
y Określ przesunięcia, w których obraz wejściowy ma zostać umieszczony w obszarze z wypełnieniem, z szacunkiem
do górnej/lewej krawędzi obrazu wyjściowego.

Połączenia x wyrażenie może odwoływać się do wartości ustawionej przez y ekspresja i na odwrót.

Domyślna wartość x i y to 0.

kolor
Określ kolor wyściełanego obszaru. Aby sprawdzić składnię tej opcji, sprawdź „Kolor”
w podręczniku ffmpeg-utils.

Domyślna wartość kolor jest czarne".

Wartość dla szerokość, wysokość, x, y opcje to wyrażenia zawierające:
stałe:

w_w
w_h
Wejściowa szerokość i wysokość wideo.

iw
ih Są takie same jak w_w i w_h.

out_w
wyjście_h
Szerokość i wysokość wyjściowa (rozmiar obszaru wyściełanego), określone przez szerokość
i wysokość wyrażenia.

ow
oh Są takie same jak out_w i wyjście_h.

x
y Przesunięcia x i y określone przez x i y wyrażenia lub NAN, jeśli jeszcze nie
określony.

a sama, jak iw / ih

sar wejściowy współczynnik proporcji próbki

dar wejściowy współczynnik proporcji wyświetlacza, jest taki sam jak (iw / ih) * sar

hsub
vssub
Wartości podpróbki chrominancji poziomej i pionowej. Na przykład dla formatu pikseli
"yuv422p" hsub to 2 i vssub to 1.

Przykłady

· Dodaj wyściółki z kolorem „fioletowym” do wejściowego wideo. Wyjściowy rozmiar wideo to
640x480, a lewy górny róg wejściowego wideo jest umieszczony w kolumnie 0, wierszu 40

pad=640:480:0:40:fiolet

Powyższy przykład jest odpowiednikiem następującego polecenia:

pad=szerokość=640:wysokość=480:x=0:y=40:kolor=fiolet

· Wypełnij wejście, aby uzyskać wyjście o wymiarach zwiększonych o 3/2 i umieść wejście
wideo na środku wyściełanego obszaru:

pad="3/2*iw:3/2*ih:(ow-iw)/2:(oh-ih)/2"

· Wypełnij dane wejściowe, aby uzyskać kwadratowy wynik o rozmiarze równym maksymalnej wartości między
szerokość i wysokość wejściową i umieść wideo wejściowe na środku obszaru wyściełanego:

pad="max(iw\,ih):ow:(ow-iw)/2:(oh-ih)/2"

· Wypełnij dane wejściowe, aby uzyskać ostateczny stosunek w/h 16:9:

pad="ih*16/9:ih:(i-ih)/2:(oh-ih)/2"

· W przypadku wideo anamorficznego, w celu prawidłowego ustawienia wyjściowego aspektu wyświetlania, należy
jest konieczne do użycia sar w wyrażeniu, zgodnie z zależnością:

(ih * X / ih) * sar = dar_wyjściowy
X = wynik_dar / sar

Dlatego poprzedni przykład należy zmodyfikować do:

pad="ih*16/9/sar:ih:(ow-iw)/2:(oh-ih)/2"

· Podwój rozmiar wyjściowy i umieść wideo wejściowe w prawym dolnym rogu
wyściełany obszar wyjściowy:

pad="2*iw:2*ih:ow-iw:oh-ih"

palety
Generuj jedną paletę dla całego strumienia wideo.

Akceptuje następujące opcje:

max_kolory
Ustaw maksymalną liczbę kolorów do kwantyzacji w palecie. Uwaga: paleta będzie
nadal zawiera 256 kolorów; niewykorzystane wpisy palety będą czarne.

rezerwa_przezroczysta
Utwórz paletę maksymalnie 255 kolorów i zarezerwuj ostatnią na przezroczystość.
Zarezerwowanie koloru przezroczystości jest przydatne do optymalizacji GIF. Jeśli nie jest ustawiony,
maksymalna ilość kolorów w palecie to 256. Prawdopodobnie chcesz wyłączyć tę opcję
dla samodzielnego obrazu. Ustaw domyślnie.

tryb_stats
Ustaw tryb statystyki.

Przyjmuje następujące wartości:

pełny
Oblicz histogramy pełnoklatkowe.

diff
Oblicz histogramy tylko dla części, która różni się od poprzedniej klatki. To może
być istotne, aby nadać większą wagę ruchomej części danych wejściowych, jeśli
tło jest statyczne.

Wartość domyślna to pełny.

Filtr eksportuje również metadane ramki „lavfi.color_quant_ratio” („nb_color_in /
nb_color_out"), którego można użyć do oceny stopnia kwantyzacji kolorów
paleta. Ta informacja jest również widoczna na Informacje poziom rejestrowania.

Przykłady

· Wygeneruj reprezentatywną paletę danego filmu za pomocą ffmpeg:

ffmpeg -i input.mkv -vf paletagen paleta.png

używanie palet
Użyj palety do downsamplingu wejściowego strumienia wideo.

Filtr przyjmuje dwa wejścia: jeden strumień wideo i paletę. Paleta musi mieć 256
obraz pikseli.

Akceptuje następujące opcje:

dither
Wybierz tryb ditheringu. Dostępne algorytmy to:

Bayer
Zamówiony dithering bayer 8x8 (deterministyczny)

Heckbert
Dithering zdefiniowany przez Paula Heckberta w 1982 r. (proste rozpraszanie błędów). Notatka:
to roztrząsanie jest czasami uważane za „niewłaściwe” i jest włączone jako odniesienie.

floyd_steinberg
Dithering Floyda i Steingberga (dyfuzja błędów)

sierra2
Frankie Sierra dithering v2 (dyfuzja błędów)

siera2_4a
Frankie Sierra dithering v2 „Lite” (dyfuzja błędów)

Domyślnie jest siera2_4a.

skala_bajera
Kiedy Bayer wybrane jest dithering, ta opcja określa skalę wzoru (jak
widoczny jest wzór kreskowania). Niska wartość oznacza bardziej widoczny wzór dla
mniej prążków, a wyższa wartość oznacza mniej widoczny wzór kosztem większej ilości prążków.

Opcja musi być liczbą całkowitą z zakresu [0,5]. Wartość domyślna to 2.

tryb_różnicy
Jeśli ustawione, zdefiniuj strefę do przetworzenia

prostokąt
Tylko zmieniający się prostokąt zostanie ponownie przetworzony. To jest podobne do GIF
przycinanie/przesuwanie mechanizmu kompresji. Ta opcja może być przydatna dla szybkości, jeśli
zmienia się tylko część obrazu i ma przypadki użycia, takie jak ograniczenie zakresu
błędu dyfuzyjnego dither do prostokąta, który ogranicza ruchomą scenę (to
prowadzi do bardziej deterministycznych wyników, jeśli scena nie zmienia się zbytnio, a jako
skutkuje mniejszym szumem ruchu i lepszą kompresją GIF).

Domyślnie jest Żaden.

Przykłady

· Użyj palety (generowanej na przykład za pomocą palety) do kodowania GIF-a za pomocą ffmpeg:

ffmpeg -i input.mkv -i palette.png -lavfipaletause output.gif

perspektywa
Prawidłowa perspektywa wideo nie jest nagrana prostopadle do ekranu.

Poniżej znajduje się opis akceptowanych parametrów.

x0
y0
x1
y1
x2
y2
x3
y3 Ustaw wyrażenie współrzędnych dla górnego lewego, górnego prawego, dolnego lewego i dolnego prawego
rogi. Domyślne wartości to „0:0:W:0:0:H:W:H”, z którymi perspektywa pozostanie
bez zmian. Jeśli opcja „sens” jest ustawiona na „źródło”, określone punkty będą
być wysyłane do rogów miejsca docelowego. Jeśli opcja „sens” jest ustawiona na
„miejsce docelowe”, wówczas rogi źródła zostaną wysłane do określonego
współrzędne

Wyrażenia mogą używać następujących zmiennych:

W
H szerokość i wysokość klatki wideo.

interpolacja
Ustaw interpolację do korekcji perspektywy.

Przyjmuje następujące wartości:

liniowy
sześcienny

Wartość domyślna to liniowy.

rozsądek
Ustaw interpretację opcji współrzędnych.

Przyjmuje następujące wartości:

0, źródło
Wyślij punkt w źródle określonym przez podane współrzędne do rogów
Miejsce docelowe.

1, miejsce przeznaczenia
Wyślij rogi źródła do punktu w miejscu docelowym określonym przez
podane współrzędne.

Wartość domyślna to źródło.

faza
Opóźnij wideo z przeplotem o jeden czas pola, aby zmienić kolejność pól.

Zamierzonym zastosowaniem jest naprawa filmów PAL, które zostały przechwycone z przeciwnym polem
zlecenie do transferu filmu na wideo.

Poniżej znajduje się opis akceptowanych parametrów.

tryb
Ustaw tryb fazy.

Przyjmuje następujące wartości:

t Przechwytuj kolejność w polu od góry do góry, przenieś od dołu do góry. Filtr opóźni działanie
dolne pole.

b Przechwyć kolejność w polu od dołu do pierwszego, przenieś najpierw na górę. Filtr opóźni górę
pole.

p Przechwytywanie i przesyłanie z tą samą kolejnością w terenie. Ten tryb istnieje tylko dla
dokumentację innych opcji, do których należy się odnieść, ale jeśli faktycznie ją wybierzesz,
filtr wiernie nic nie zrobi.

a Przechwytuj kolejność pól określoną automatycznie przez flagi pól, przenieś odwrotnie.
Filtruj wybrane spośród t i b tryby ramka po ramce przy użyciu flag pola. Jeśli
żadne informacje dotyczące pola nie są dostępne, to działa tak samo u.

u Uchwyć nieznane lub zmienne, przenieś odwrotnie. Filtruj wybrane spośród t i b na
klatka po klatce, analizując obrazy i wybierając alternatywę, która
daje najlepsze dopasowanie między polami.

T Uchwyć pierwszeństwo, przenieś nieznane lub zmienne. Filtruj wybrane spośród t i p
za pomocą analizy obrazu.

B Przechwytuj najpierw od dołu, przenieś nieznane lub zmienne. Filtruj wybrane spośród b i p
za pomocą analizy obrazu.

A Przechwytywanie określone przez flagi pola, transfer nieznany lub zmienny. Filtruj wybory
wśród t, b i p za pomocą flag terenowych i analizy obrazu. Jeśli żadne informacje w polu nie są
dostępne, to działa tak jak U. To jest tryb domyślny.

U Zarówno przechwytywanie, jak i przesyłanie nieznane lub różne. Filtruj wybrane spośród t, b i p
przy użyciu wyłącznie analizy obrazu.

test pikselowy
Filtr testowy deskryptora formatu pikseli, przydatny głównie do testów wewnętrznych. Wyjście wideo
powinna być równa wejściowemu wideo.

Na przykład:

format=monow, pixdesctest

może służyć do testowania definicji deskryptora formatu monobiałych pikseli.

pp
Włącz określony łańcuch podfiltrów przetwarzania końcowego za pomocą libpostproc. Ta biblioteka
powinny być automatycznie wybierane przy kompilacji GPL ("--enable-gpl"). Filtry podrzędne muszą być
oddzielone znakiem „/” i można je wyłączyć, dodając „-”. Każdy podfiltr i niektóre opcje
mają krótką i długą nazwę, których można używać zamiennie, np. dr/dering to
podobnie.

Filtry akceptują następujące opcje:

podfiltry
Ustaw ciąg podfiltrów przetwarzania końcowego.

Wszystkie podfiltry mają wspólne opcje określania ich zakresu:

a/autoq
Przestrzegaj poleceń dotyczących jakości tego podfiltra.

c/chrom
Wykonaj również filtrowanie chrominancji (domyślne).

y/nochrom
Czy tylko filtrowanie luminancji (bez chrominancji).

n/numer
Czy tylko filtrowanie chrominancji (bez luminancji).

Opcje te można dołączyć po nazwie podfiltra, oddzielone znakiem „|”.

Dostępne podfiltry to:

hb/hdeblock[|różnica[|płaskość]]
Poziomy filtr odblokowujący

różnica
Współczynnik różnicy, gdzie wyższe wartości oznaczają większe odblokowanie (domyślnie: 32).

płaskość
Próg płaskości, gdzie niższe wartości oznaczają większe usuwanie bloków (domyślnie: 39).

vb/vdeblock[|różnica[|płaskość]]
Pionowy filtr odblokowujący

różnica
Współczynnik różnicy, gdzie wyższe wartości oznaczają większe odblokowanie (domyślnie: 32).

płaskość
Próg płaskości, gdzie niższe wartości oznaczają większe usuwanie bloków (domyślnie: 39).

ha/hadeblock[|różnica[|płaskość]]
Dokładny poziomy filtr odblokowujący

różnica
Współczynnik różnicy, gdzie wyższe wartości oznaczają większe odblokowanie (domyślnie: 32).

płaskość
Próg płaskości, gdzie niższe wartości oznaczają większe usuwanie bloków (domyślnie: 39).

va/vadeblock[|różnica[|płaskość]]
Dokładny pionowy filtr odblokowujący

różnica
Współczynnik różnicy, gdzie wyższe wartości oznaczają większe odblokowanie (domyślnie: 32).

płaskość
Próg płaskości, gdzie niższe wartości oznaczają większe usuwanie bloków (domyślnie: 39).

Poziome i pionowe filtry odblokowujące mają wspólne wartości różnicy i płaskości, więc
nie można ustawić różnych progów poziomych i pionowych.

h1/x1hdeblok
Eksperymentalny poziomy filtr odblokowujący

v1/x1vdeblokuj
Eksperymentalny pionowy filtr odblokowujący

dr/dering
Filtr Deringa

tn/tmpnoise[|próg1[|próg2[|próg3]]], czasowy hałas reduktor
próg 1
większe -> silniejsze filtrowanie

próg 2
większe -> silniejsze filtrowanie

próg 3
większe -> silniejsze filtrowanie

al/autopoziomy[:f/pełny zakres], automatyczny jasność / kontrast korekta
f/pełny zakres
Rozciągnij luminancję do „0-255”.

funt/linblenddeint
Filtr usuwania przeplotu mieszania liniowego, który usuwa przeplot z danego bloku, filtrując wszystko
wiersze z filtrem „(1 2 1)”.

li/linipoldeint
Liniowy filtr usuwający przeplot z interpolacją, który usuwa przeplot z danego bloku o
liniowo interpoluje co drugą linię.

ci/cubicipoldeint
Sześcienny filtr usuwający przeplot z interpolacją usuwa przeplot z danego bloku sześciennie
interpolacja co drugą linię.

md/mediandeint
Filtr usuwania przeplotu Mediana, który usuwa przeplot z danego bloku poprzez zastosowanie mediany
filtruj do co drugiej linii.

fd/ffmpegdeint
Filtr usuwania przeplotu FFmpeg, który usuwa przeplot z danego bloku, filtrując co
drugi wiersz z filtrem „(-1 4 2 4 -1)”.

l5/dolnoprzepustowy5
Pionowo zastosowany filtr dolnoprzepustowy FIR, który usuwa przeplot z danego bloku
filtrując wszystkie wiersze za pomocą filtra „(-1 2 6 2 -1)”.

fq/forceQuant[|kwantyzator]
Zastępuje tabelę kwantyzatora z danych wejściowych stałym kwantyzatorem, który określisz.

kwantyzator
Kwantyzator do użycia

de/domyślny
Domyślna kombinacja filtrów pp ("hb|a,vb|a,dr|a")

fa/szybko
Szybka kombinacja filtrów pp ("h1|a,v1|a,dr|a")

ac Wysokiej jakości kombinacja filtrów pp ("ha|a|128|7,va|a,dr|a")

Przykłady

· Zastosuj usuwanie blokad w poziomie i pionie, usuwanie rogów oraz automatyczną jasność/kontrast:

pp=hb/vb/dr/al

· Zastosuj filtry domyślne bez korekcji jasności/kontrastu:

pp=de/-al

· Zastosuj filtry domyślne i odszumiacz czasowy:

pp=domyślnie/tmpnoise|1|2|3

· Zastosuj odblokowywanie tylko przy luminancji i włącz lub wyłącz odblokowywanie pionowe
automatycznie w zależności od dostępnego czasu procesora:

pp=hb|y/vb|a

pp7
Apply Przetwarzanie końcowe filtr 7. Jest to wariant spp filtr, podobny do spp = 6 z 7
punkt DCT, gdzie po IDCT używana jest tylko próbka środkowa.

Filtr akceptuje następujące opcje:

qp Wymuś stały parametr kwantyzacji. Przyjmuje liczbę całkowitą z zakresu od 0 do 63. Jeśli
nie ustawiono, filtr użyje QP ze strumienia wideo (jeśli jest dostępny).

tryb
Ustaw tryb progowania. Dostępne tryby to:

ciężko
Ustaw twardy próg.

miękki
Ustaw miękkie progi (lepszy efekt wygładzania, ale prawdopodobnie bardziej rozmyty).

średni
Ustaw średni próg (dobre wyniki, domyślnie).

psnr
Uzyskaj średni, maksymalny i minimalny współczynnik PSNR (współczynnik szczytowego sygnału do szumu) między dwoma
wideo wejściowe.

Ten filtr pobiera dwa wejściowe filmy wideo, pierwsze wejście jest uważane za „główne”
source i jest przekazywany bez zmian do wyjścia. Drugie wejście jest używane jako „odniesienie”
wideo do obliczania PSNR.

Aby ten filtr działał, oba wejścia wideo muszą mieć tę samą rozdzielczość i format pikseli
prawidłowo. Zakłada również, że oba wejścia mają tę samą liczbę ramek, które są
porównywane jeden po drugim.

Uzyskany średni PSNR jest drukowany przez system rejestrowania.

Filtr przechowuje skumulowany MSE (błąd średniokwadratowy) każdej ramki, a na końcu
przetwarzania jest uśredniany we wszystkich klatkach jednakowo, a następujący wzór to
wniosek o uzyskanie PSNR:

PSNR = 10*log10(MAX^2/MSE)

Gdzie MAX to średnia z maksymalnych wartości każdego składnika obrazu.

Poniżej znajduje się opis akceptowanych parametrów.

plik_statystycznych, f
Jeśli zostanie określony, filtr użyje nazwanego pliku do zapisania PSNR każdej osoby
rama.

Plik wydrukowany, jeśli plik_statystycznych jest zaznaczone, zawiera sekwencję par klucz/wartość
Nasz formularz klucz:wartość dla każdej porównywanej pary klatek.

Poniżej znajduje się opis każdego pokazanego parametru:

n kolejny numer ramki wejściowej, zaczynając od 1

mse_śr
Błąd średniej kwadratowej średnia różnica piksel po pikselu porównywanych klatek, uśredniona
nad wszystkimi składnikami obrazu.

mse_y, mse_u, mse_v, mse_r, mse_g, mse_g, mse_a
Błąd średniokwadratowy średnia różnica piksel po pikselu porównywanych klatek dla
składnik określony przyrostkiem.

psnr_y, psnr_u, psnr_v, psnr_r, psnr_g, psnr_b, psnr_a
Szczytowy stosunek sygnału do szumu porównywanych klatek dla składnika określonego przez
przyrostek.

Na przykład:

film=ref_movie.mpg, setpts=PTS-STARTPTS [główne];
[main][ref] psnr="stats_file=stats.log" [out]

W tym przykładzie przetwarzany plik wejściowy jest porównywany z plikiem referencyjnym
ref_film.mpg. PSNR każdej pojedynczej ramki jest przechowywany w statystyki.log.

podciąganie
Filtr odwracania pulldown (odwrócone telecine), zdolny do obsługi mieszanego twardego telecine,
Progresywna zawartość 24000/1001 kl./s i progresywna 30000/1001 kl./s.

Filtr pullup został zaprojektowany, aby wykorzystać przyszły kontekst przy podejmowaniu decyzji.
Ten filtr jest bezstanowy w tym sensie, że nie blokuje się na wzorcu do naśladowania, ale
zamiast tego oczekuje na następujące pola w celu zidentyfikowania dopasowań i przebudowy
progresywne ramki.

Aby tworzyć treści z równomierną liczbą klatek na sekundę, wstaw filtr fps po podciągnięciu, użyj
„fps=24000/1001”, jeśli szybkość klatek wejściowych wynosi 29.97 kl./s, „fps=24” dla 30 kl./s, a (rzadko)
wejście telecine 25fps.

Filtr akceptuje następujące opcje:

jl
jr
jt
jb Te opcje określają ilość „śmieci” do zignorowania po lewej, prawej stronie, na górze i na dole
odpowiednio obrazu. Lewy i prawy są w jednostkach 8 pikseli, natomiast góra i
dół w jednostkach po 2 linie. Wartość domyślna to 8 pikseli z każdej strony.

sb Ustaw ścisłe przerwy. Ustawienie tej opcji na 1 zmniejszy szanse filtrowania
generowanie od czasu do czasu niedopasowanej ramki, ale może to również powodować nadmierną liczbę
klatek, które mają zostać porzucone podczas sekwencji o dużym natężeniu ruchu. I odwrotnie, ustawiając go na -1
ułatwi filtrowanie pól dopasowania. Może to pomóc w przetwarzaniu wideo, w którym
między polami jest niewielkie rozmycie, ale może również powodować przeplot
ramki w danych wyjściowych. Wartość domyślna to 0.

mp Ustaw płaszczyznę metryczną do użycia. Przyjmuje następujące wartości:

l Użyj płaszczyzny luma.

u Użyj płaszczyzny chroma blue.

v Użyj płaszczyzny chroma red.

Ta opcja może być ustawiona tak, aby używać płaszczyzny barwy zamiast domyślnej płaszczyzny luma do robienia
obliczenia filtra. Może to poprawić dokładność na bardzo czystym materiale źródłowym, ale
bardziej prawdopodobne, że zmniejszy celność, zwłaszcza jeśli występuje szum chroma (tęcza
efekt) lub dowolny film w skali szarości. Głównym celem ustawienia mp do płaszczyzny barwy jest
aby zmniejszyć obciążenie procesora i uczynić pullup użytecznym w czasie rzeczywistym na wolnych maszynach.

Aby uzyskać najlepsze wyniki (bez zduplikowanych klatek w pliku wyjściowym) konieczna jest zmiana
wyjściowa liczba klatek na sekundę. Na przykład, aby odwrócić wejście telecine NTSC:

ffmpeg -i wejście -vf pullup -r 24000/1001...

qp
Zmień parametry kwantyzacji wideo (QP).

Filtr akceptuje następującą opcję:

qp Ustaw wyrażenie dla parametru kwantyzacji.

Wyrażenie jest oceniane przez eval API i może zawierać m.in
następujące stałe:

znany
1 jeśli indeksem nie jest 129, 0 w przeciwnym wypadku.

qp Indeks sekwencyjny od -129 do 128.

Przykłady

· Niektóre równania, takie jak:

qp=2+2*sin(PI*qp)

przypadkowy
Opróżnij klatki wideo z wewnętrznej pamięci podręcznej klatek w losowej kolejności. Brak ramki
odrzucone. Zainspirowany przez frei0r filtr nerwowy.

Ramy
Ustaw rozmiar w ilości ramek wewnętrznej pamięci podręcznej, w zakresie od 2 do 512. Domyślnie 30.

nasienie
Ustaw ziarno dla generatora liczb losowych, musi być liczbą całkowitą zawartą między 0 a
„UINT32_MAX”. Jeśli nie zostanie określony lub zostanie jawnie ustawiony na mniej niż 0, filtr będzie:
spróbuj użyć dobrego losowego materiału siewnego na zasadzie najlepszych starań.

usuń ziarno
Filtr removegrain to odszumiacz przestrzenny dla progresywnego wideo.

m0 Ustaw tryb dla pierwszego samolotu.

m1 Ustaw tryb dla drugiego samolotu.

m2 Ustaw tryb dla trzeciej płaszczyzny.

m3 Ustaw tryb dla czwartej płaszczyzny.

Zakres trybu wynosi od 0 do 24. Opis każdego trybu jest następujący:

0 Pozostaw płaszczyznę wejściową niezmienioną. Domyślna.

1 Przycina piksel z minimum i maksimum z 8 sąsiednich pikseli.

2 Przycina piksel z drugim minimum i maksimum z 8 sąsiednich pikseli.

3 Przycina piksel z trzecim minimum i maksimum z 8 sąsiednich pikseli.

4 Przycina piksel z czwartym minimum i maksimum z 8 sąsiednich pikseli. Ten
jest odpowiednikiem filtru mediany.

5 Przycinanie wrażliwe na linie dające minimalną zmianę.

6 Przycinanie wrażliwe na żyłkę, pośrednie.

7 Przycinanie wrażliwe na żyłkę, pośrednie.

8 Przycinanie wrażliwe na żyłkę, pośrednie.

9 Przycinanie zależne od linii na linii, w której sąsiednie piksele są najbliżej.

10 Zastępuje piksel docelowy najbliższym sąsiadem.

11 [1 2 1] poziome i pionowe rozmycie jądra.

12 Tak samo jak w trybie 11.

13 Tryb Boba, interpoluje górne pole od linii, w której sąsiednie piksele są
najbliższy.

14 Tryb Boba, interpoluje dolne pole od linii, w której sąsiednie piksele są
najbliższy.

15 Tryb Boba, interpoluje górne pole. To samo co 13, ale z bardziej skomplikowaną interpolacją
formuła.

16 Tryb Boba, interpoluje dolne pole. Taki sam jak 14, ale z bardziej skomplikowanym
formuła interpolacji.

17 Przycina piksel z minimum i maksimum odpowiednio maksimum i minimum
każdej pary przeciwległych sąsiednich pikseli.

18 Przycinanie zależne od linii przy użyciu przeciwległych sąsiadów, których największa odległość od
bieżący piksel jest minimalny.

19 Zastępuje piksel średnią z jego 8 sąsiadów.

20 Uśrednia 9 pikseli ([1 1 1] rozmycie w poziomie iw pionie).

21 Przycina piksele przy użyciu średnich z przeciwnego sąsiada.

22 Taki sam jak tryb 21, ale prostszy i szybszy.

23 Małe usuwanie krawędzi i aureoli, ale podobno bezużyteczne.

24 Podobnie jak 23.

usuńlogo
Pomiń logo stacji telewizyjnej, używając pliku obrazu, aby określić, które piksele składają się na
logo. Działa poprzez wypełnienie pikseli, które składają się na logo, sąsiednimi pikselami.

Filtr akceptuje następujące opcje:

Nazwa pliku, f
Ustaw plik bitmapy filtra, który może być dowolnym formatem obrazu obsługiwanym przez libavformat.
Szerokość i wysokość pliku obrazu muszą odpowiadać tym ze strumienia wideo, który jest
obrobiony.

Piksele w dostarczonym obrazie bitmapowym o wartości zero nie są uważane za część
logo, niezerowe piksele są uważane za część logo. Jeśli używasz białego (255) jako logo
i czarny (0) dla reszty, będziesz bezpieczny. Do tworzenia bitmapy filtra jest
zaleca się wykonanie zrzutu ekranu czarnej ramki z widocznym logo, a następnie
użycie filtra progowego, a następnie filtra erozyjnego raz lub dwa razy.

W razie potrzeby małe plamy można naprawić ręcznie. Pamiętaj, że jeśli piksele logo nie są
objętych, jakość filtra będzie znacznie obniżona. Zaznaczanie zbyt wielu pikseli w ramach
logo nie boli tak bardzo, ale zwiększy ilość rozmycia potrzebną do pokrycia
nad obrazem i zniszczy więcej informacji niż to konieczne, a dodatkowe piksele będą
zwolnij tempo na dużym logo.

pola powtarzalne
Ten filtr używa flagi repeat_field z nagłówków Video ES i pól twardych powtórzeń
w oparciu o jego wartość.

odwrócić, są odwrotne
Odwróć klip.

Ostrzeżenie: ten filtr wymaga pamięci do buforowania całego klipu, dlatego sugeruje się przycinanie.

Przykłady

· Weź pierwsze 5 sekund klipu i odwróć go.

przycięcie=koniec=5,odwrotny

obracać
Obróć wideo o dowolny kąt wyrażony w radianach.

Filtr akceptuje następujące opcje:

Poniżej znajduje się opis parametrów opcjonalnych.

kąt, a
Ustaw wyrażenie określające kąt, o jaki ma zostać obrócony sygnał wideo zgodnie z ruchem wskazówek zegara,
wyrażona jako liczba radianów. Wartość ujemna spowoduje przeciwnie do ruchu wskazówek zegara
obrót. Domyślnie jest ustawiony na „0”.

To wyrażenie jest oceniane dla każdej klatki.

out_w, ow
Ustaw wyrażenie szerokości wyjściowej, domyślną wartością jest "iw". To wyrażenie jest oceniane
tylko raz podczas konfiguracji.

poza_h, oh
Ustaw wyrażenie wysokości wyjściowej, domyślną wartością jest "ih". To wyrażenie jest oceniane
tylko raz podczas konfiguracji.

dwuliniowy
Włącz interpolację dwuliniową, jeśli jest ustawiona na 1, wartość 0 wyłącza ją. Wartość domyślna to
1.

kolor wypełnienia, c
Ustaw kolor używany do wypełnienia obszaru wyjściowego, którego nie obejmuje obrócony obraz. Dla
ogólną składnię tej opcji, sprawdź sekcję „Kolor” w podręczniku ffmpeg-utils.
Jeśli wybrana jest specjalna wartość "none", tło nie jest drukowane (przydatne dla
przykład, jeśli tło nigdy nie jest pokazywane).

Wartość domyślna to „czarny”.

Wyrażenia określające kąt i rozmiar wyjściowy mogą zawierać następujące stałe i
Funkcje:

n kolejny numer ramki wejściowej, zaczynając od 0. Zawsze jest to NAN przed
pierwsza klatka jest filtrowana.

t czas w sekundach ramki wejściowej, jest ustawiony na 0, gdy filtr jest skonfigurowany. To
jest zawsze NAN przed filtrowaniem pierwszej klatki.

hsub
vssub
wartości podpróbki chrominancji poziomej i pionowej. Na przykład dla formatu pikseli
"yuv422p" hsub to 2 i vssub to 1.

w_w, iw
w_h, ih
szerokość i wysokość wejściowego wideo

out_w, ow
poza_h, oh
szerokość i wysokość wyjściową, czyli rozmiar obszaru dopełnionego określony przez
szerokość i wysokość wyrażeń

rotw(a)
roth(a)
minimalna szerokość/wysokość wymagana do całkowitego zamieszczenia wejściowego wideo obróconego o
a radiany.

Są one dostępne tylko podczas obliczania out_w i wyjście_h wyrażenia.

Przykłady

· Obróć wejście o PI/6 radianów zgodnie z ruchem wskazówek zegara:

obróć=PI/6

· Obróć wejście o PI/6 radianów w kierunku przeciwnym do ruchu wskazówek zegara:

obróć=-PI/6

· Obróć wejście o 45 stopni w prawo:

obrót=45*PI/180

· Zastosuj stały obrót z okresem T, zaczynając od kąta PI/3:

obrót=PI/3+2*PI*t/T

· Spraw, aby rotacja sygnału wejściowego wideo oscylowała z okresem T sekund i amplitudą
radianów A:

obrót=A*sin(2*PI/T*t)

· Obróć wideo, rozmiar wyjściowy jest tak dobrany, że całe obracające się wideo wejściowe jest
zawsze całkowicie zawarte w danych wyjściowych:

rotate='2*PI*t:ow=hypot(iw,ih):oh=ow'

· Obróć wideo, zmniejsz rozmiar wyjściowy, aby nigdy nie było wyświetlane żadne tło:

obrót=2*PI*t:ow='min(iw,ih)/kwadrat(2)':oh=ow:c=brak

Polecenia

Filtr obsługuje następujące polecenia:

a, kąt
Ustaw wyrażenie kąta. Polecenie akceptuje tę samą składnię odpowiedniego
opcja.

Jeśli podane wyrażenie jest niepoprawne, jest zachowywane z bieżącą wartością.

sab
Zastosuj rozmycie adaptacyjne do kształtu.

Filtr akceptuje następujące opcje:

luma_promień, lr
Ustaw siłę filtra rozmycia luma, musi mieścić się w zakresie 0.1-4.0, domyślna wartość to 1.0.
Większa wartość spowoduje bardziej rozmyty obraz i wolniejsze przetwarzanie.

luma_pre_filter_radius, lpfr
Ustaw promień luma filtra wstępnego, musi być wartością z zakresu 0.1-2.0, wartość domyślna to
1.0.

luma_siła, ls
Ustaw maksymalną różnicę luma między pikselami, która ma być uwzględniona, musi być wartością w
w zakresie 0.1-100.0, domyślna wartość to 1.0.

promień_koloru, cr
Ustaw siłę filtra rozmycia chrominancji, musi mieścić się w zakresie 0.1-4.0. Większa wartość
spowoduje bardziej rozmyty obraz i wolniejsze przetwarzanie.

chroma_pre_filter_radius, kpfr
Ustaw promień wstępnego filtru chrominancji, musi być wartością z zakresu 0.1-2.0.

siła_koloru, cs
Ustaw maksymalną różnicę chrominancji między pikselami, która ma być uwzględniona, musi być wartością
w przedziale 0.1-100.0.

Każda wartość opcji chroma, jeśli nie została wyraźnie określona, ​​jest ustawiana na odpowiednią wartość luma
Wartość opcji.

skala
Skaluj (zmień rozmiar) wejściowego wideo za pomocą biblioteki libswscale.

Filtr skali wymusza, aby wyjściowe proporcje wyświetlania były takie same jak wejściowe, o
zmiana proporcji wyjściowej próbki.

Jeśli format obrazu wejściowego różni się od formatu wymaganego przez następny filtr,
filtr skali przekonwertuje dane wejściowe do żądanego formatu.

Opcje

Filtr akceptuje następujące opcje lub dowolne opcje obsługiwane przez
skaler libswscale.

See dotychczasowy ffmpeg-skaler podręcznik aby zapoznać się z pełną listą opcji skalera.

szerokość, w
wysokość, h
Ustaw wyrażenie wyjściowego wymiaru wideo. Wartość domyślna to wymiar wejściowy.

Jeśli wartość wynosi 0, dla danych wyjściowych jest używana szerokość wejściowa.

Jeśli jedna z wartości wynosi -1, filtr skali użyje wartości, która utrzyma
proporcje obrazu wejściowego, obliczone z innego określonego wymiaru. Jeśli
oba mają wartość -1, używany jest rozmiar wejściowy

Jeśli jedną z wartości jest -n z n > 1, filtr skali użyje również wartości, która
zachowuje proporcje obrazu wejściowego, obliczone na podstawie innych określonych
wymiar. Po tym jednak upewni się, że obliczony wymiar jest
podzielne przez n i w razie potrzeby dostosuj wartość.

Zobacz poniżej listę stałych akceptowanych do użycia w wyrażeniu wymiaru.

interweniować
Ustaw tryb przeplotu. Przyjmuje następujące wartości:

1 Wymuś świadome skalowanie z przeplotem.

0 Nie stosować skalingu z przeplotem.

-1 Wybierz świadome skalowanie z przeplotem w zależności od tego, czy ramki źródłowe są oflagowane
z przeplotem czy nie.

Wartość domyślna to 0.

Flagi
Ustaw flagi skalowania libswscale. Widzieć dotychczasowy ffmpeg-skaler podręcznik aby zobaczyć pełną listę
wartości. Jeśli nie określono wyraźnie, filtr stosuje domyślne flagi.

rozmiar, s
Ustaw rozmiar wideo. Aby poznać składnię tej opcji, sprawdź "Wideo rozmiar" Sekcja in
dotychczasowy narzędzia ffmpeg podręcznik.

w_macierzy_kolorów
out_color_matrix
Ustaw typ przestrzeni kolorów wejścia/wyjścia YCbCr.

Pozwala to na nadpisanie wartości wykrytej automatycznie, a także umożliwia wymuszenie
określona wartość używana dla wyjścia i enkodera.

Jeśli nie zostanie określony, typ przestrzeni kolorów zależy od formatu pikseli.

Możliwa wartość:

samochód
Wybierz automatycznie.

bt709
Format zgodny z zaleceniem Międzynarodowego Związku Telekomunikacyjnego (ITU)
BT.709.

Fcc Ustaw przestrzeń kolorów zgodnie z Federalną Komisją Łączności Stanów Zjednoczonych
(FCC) Kodeks Przepisów Federalnych (CFR) Tytuł 47 (2003) 73.682 (a).

bt601
Ustaw przestrzeń kolorów zgodnie z:

· Zalecenie Sektora Radiokomunikacji ITU (ITU-R) BT.601

· Zalecenia ITU-R BT.470-6 (1998) Systemy B, B1 i G

· Stowarzyszenie Inżynierów Filmowych i Telewizyjnych (SMPTE) ST 170:2004

smte240m
Ustaw przestrzeń kolorów zgodnie z SMPTE ST 240:1999.

w zakresie
poza zasięgiem
Ustaw zakres próbkowania wejścia/wyjścia YCbCr.

Pozwala to na nadpisanie wartości wykrytej automatycznie, a także umożliwia wymuszenie
określona wartość używana dla wyjścia i enkodera. Jeśli nie określono, zakres zależy od
format pikseli. Możliwa wartość:

samochód
Wybierz automatycznie.

jpeg/pełny/szt
Ustaw pełny zakres (0-255 w przypadku 8-bitowej lumy).

mpeg/telewizja
Ustaw zakres „MPEG” (16-235 w przypadku 8-bitowej lumy).

force_original_aspect_ratio
W razie potrzeby włącz zmniejszanie lub zwiększanie szerokości lub wysokości wyjściowego wideo, aby zachować
oryginalne proporcje. Możliwa wartość:

wyłączyć
Skaluj wideo zgodnie z opisem i wyłącz tę funkcję.

spadek
W razie potrzeby wymiary wyjściowego wideo zostaną automatycznie zmniejszone.

zwiększać
W razie potrzeby wymiary wyjściowego wideo zostaną automatycznie zwiększone.

Jednym z przydatnych przykładów tej opcji jest to, że gdy znasz maksimum konkretnego urządzenia
dozwoloną rozdzielczość, możesz użyć tej opcji, aby ograniczyć wyjściowe wideo do tej, podczas gdy
zachowując proporcje. Na przykład urządzenie A umożliwia odtwarzanie w rozdzielczości 1280x720, a Twój
wideo ma rozdzielczość 1920x800. Używając tej opcji (ustaw ją na zmniejszenie) i określając 1280x720 na
wiersz poleceń daje wynik 1280x533.

Pamiętaj, że jest to coś innego niż określenie -1 dla w or h, ty wciąż
Aby ta opcja działała, należy określić rozdzielczość wyjściową.

Wartości w i h opcje to wyrażenia zawierające następujące stałe:

w_w
w_h
Szerokość i wysokość wejściowa

iw
ih Są takie same jak w_w i w_h.

out_w
wyjście_h
Wyjściowa (skalowana) szerokość i wysokość

ow
oh Są takie same jak out_w i wyjście_h

a Taki sam jak iw / ih

sar wejściowy współczynnik proporcji próbki

dar Format obrazu wejściowego. Oblicza się z „(iw / ih) * sar”.

hsub
vssub
poziome i pionowe wejściowe wartości podpróbki chrominancji. Na przykład dla piksela
format „yuv422p” hsub to 2 i vssub to 1.

osub
owsub
wartości podpróbki poziomej i pionowej barwy wyjściowej. Na przykład dla piksela
format „yuv422p” hsub to 2 i vssub to 1.

Przykłady

· Skalowanie wejściowego wideo do rozmiaru 200x100

skala=sz=200:h=100

Odpowiada to:

skala=200:100

lub:

skala=200x100

· Określ skrót rozmiaru dla rozmiaru wyjściowego:

skala=qcif

który można również zapisać jako:

skala=rozmiar=qcif

· Skaluj wejście do 2x:

skala=w=2*iw:h=2*ih

· Powyższe jest takie samo jak:

skala=2*w_w:2*w_h

· Skalowanie wejścia do 2x z wymuszonym skalowaniem z przeplotem:

skala=2*iw:2*ih:interl=1

· Skaluj dane wejściowe do połowy rozmiaru:

skala=w=iw/2:h=ih/2

· Zwiększ szerokość i ustaw wysokość na ten sam rozmiar:

skala=3/2*iw:ow

· Szukaj greckiej harmonii:

skala=iw:1/PHI*iw
skala=ih*PHI:ih

· Zwiększ wysokość i ustaw szerokość na 3/2 wysokości:

skala=w=3/2*oh:h=3/5*ih

· Zwiększ rozmiar, czyniąc go wielokrotnością wartości podpróbki chroma:

scale="trunc(3/2*iw/hsub)*hsub:trunc(3/2*ih/vsub)*vsub"

· Zwiększ szerokość do maksymalnie 500 pikseli, zachowując ten sam współczynnik proporcji, co
wkład:

scale=w='min(500\, iw*3/2):h=-1'

Polecenia

Ten filtr obsługuje następujące polecenia:

szerokość, w
wysokość, h
Ustaw wyrażenie wyjściowego wymiaru wideo. Polecenie akceptuje tę samą składnię co
odpowiednią opcję.

Jeśli podane wyrażenie jest niepoprawne, jest zachowywane z bieżącą wartością.

skala2ref
Skaluj (zmień rozmiar) wejściowego wideo na podstawie referencyjnego wideo.

Zobacz filtr skali dla dostępnych opcji, scale2ref obsługuje to samo, ale używa
jako podstawę wideo referencyjne zamiast głównego wejścia.

Przykłady

· Skalowanie strumienia napisów, aby dopasować rozmiar głównego wideo przed nałożeniem

'scale2ref[b][a];[a][b]nakładka'

oddzielne pola
„Separatefields” pobiera dane wejściowe wideo oparte na klatkach i dzieli każdą klatkę na jej
pola komponentów, tworząc nowy klip o połowie wysokości z dwukrotnie większą liczbą klatek na sekundę i dwukrotnie
liczba klatek.

Ten filtr wykorzystuje informacje o dominacji pola w ramce, aby zdecydować, która z każdej pary
pola do umieszczenia jako pierwsze w danych wyjściowych. Jeśli zrobi to źle, użyj ustawione pole filtruj przed
filtr „oddzielne pola”.

setar, setar
Filtr „setdar” ustawia współczynnik kształtu obrazu dla wyjściowego wideo filtra.

Odbywa się to poprzez zmianę określonego współczynnika proporcji próbki (aka piksela), zgodnie z
następujące równanie:

= / *

Pamiętaj, że filtr „setdar” nie modyfikuje wymiarów wideo w pikselach
ramka. Również proporcje wyświetlania ustawione przez ten filtr mogą zostać zmienione przez późniejsze filtry
w łańcuchu filtrów, np. w przypadku skalowania lub jeśli inny filtr „setdar” lub „setsar” jest
stosowany.

Filtr „setsar” ustawia współczynnik proporcji próbki (aka Pixel) dla wyjściowego wideo filtra.

Zauważ, że w wyniku zastosowania tego filtra, aspekt wyświetlania danych wyjściowych
stosunek zmieni się zgodnie z powyższym równaniem.

Należy pamiętać, że przykładowe proporcje ustawione przez filtr „setsar” mogą zostać zmienione przez
późniejsze filtry w łańcuchu filtrów, np. jeśli inny filtr „setsar” lub „setdar” jest
stosowany.

Przyjmuje następujące parametry:

r, stosunek, dar ("setdar" tylko), sar ("setsar" tylko)
Ustaw proporcje używane przez filtr.

Parametr może być ciągiem liczb zmiennoprzecinkowych, wyrażeniem lub ciągiem znaków
Nasz formularz num:dzień, Gdzie num i dzień są licznikiem i mianownikiem proporcji.
Jeżeli parametr nie jest określony, przyjmuje się wartość „0”. W przypadku formularza
"num:dzieńużywane jest ", znak ":" powinien zostać zmieniony.

max Ustaw maksymalną wartość całkowitą, która będzie używana do wyrażenia licznika i mianownika, gdy
zmniejszenie wyrażonych proporcji do racjonalnych. Wartość domyślna to 100.

Parametr sar to wyrażenie zawierające następujące stałe:

E, LICZBA PI, PHI
Są to przybliżone wartości stałych matematycznych e (liczba Eulera), pi
(greckie pi) i phi (złoty podział).

w, h
Wejściowa szerokość i wysokość.

a Są takie same jak w / h.

sar Wejściowy współczynnik proporcji próbki.

dar Format obrazu wejściowego. To to samo co (w / h) * sar.

hsub, vssub
Poziome i pionowe wartości podpróbki chrominancji. Na przykład dla formatu pikseli
"yuv422p" hsub to 2 i vssub to 1.

Przykłady

· Aby zmieni proporcje wywietlacza na 16:9, naley okreli jedno z nastpujcych:

setdar=dar=1.77777
setdar=dar=16/9
setdar=dar=1.77777

· Aby zmienić proporcje próbki na 10:11, określ:

ustawiasar=sar=10/11

· Aby ustawić współczynnik proporcji ekranu 16:9 i określić maksymalną wartość całkowitą 1000 cali
zmniejszenie proporcji, użyj polecenia:

setdar=stosunek=16/9:max=1000

ustawione pole
Pole siłowe dla wyjściowej klatki wideo.

Filtr "setfield" oznacza pole typu przeplotu dla klatek wyjściowych. To nie
zmienić ramkę wejściową, ale ustawia tylko odpowiednią właściwość, która wpływa na to, jak
Ramka jest traktowana przez następujące filtry (np. "fieldorder" lub "yadif").

Filtr akceptuje następujące opcje:

tryb
Dostępne wartości to:

samochód
Zachowaj tę samą właściwość pola.

bff Oznacz ramkę jako najpierw dolne pole.

tff Oznacz ramkę jako pierwszą w górnym polu.

żarcie
Oznacz ramkę jako progresywną.

showinfo
Pokaż linię zawierającą różne informacje dla każdej wejściowej klatki wideo. Wejście wideo jest
niezmodyfikowany.

Pokazany wiersz zawiera sekwencję par klucz/wartość formularza klucz:wartość.

Na wyjściu pokazane są następujące wartości:

n Numer (sekwencyjny) ramki wejściowej, zaczynając od 0.

pkt Znacznik czasu prezentacji ramki wejściowej, wyrażony jako liczba podstaw czasu
jednostki. Podstawa czasu zależy od wkładki wejściowej filtra.

pts_czas
Znacznik czasu prezentacji ramki wejściowej wyrażony jako liczba sekund.

pisać Pozycja ramki w strumieniu wejściowym lub -1, jeśli ta informacja jest
niedostępne i/lub bez znaczenia (na przykład w przypadku wideo syntetycznego).

fmt Nazwa formatu pikseli.

sar Przykładowe proporcje klatki wejściowej wyrażone w postaci num/dzień.

s Rozmiar ramki wejściowej. Aby poznać składnię tej opcji, sprawdź "Wideo rozmiar"
Sekcja in dotychczasowy narzędzia ffmpeg podręcznik.

i Rodzaj trybu z przeplotem („P” dla „progresywnego”, „T” dla pierwszego pola, „B” dla
najpierw dolne pole).

to klucz
To jest 1, jeśli ramka jest klatką kluczową, 0 w przeciwnym razie.

rodzaj
Typ obrazu ramki wejściowej („I” dla I-ramki, „P” dla P-ramki, „B” dla
Ramka B lub „?” dla nieznanego typu). Zapoznaj się również z dokumentacją
Wyliczenie „AVPictureType” i funkcja „av_get_picture_type_char” zdefiniowana w
libavutil/avutil.h.

suma kontrolna
Suma kontrolna Adlera-32 (wydrukowana szesnastkowo) wszystkich płaszczyzn ramki wejściowej.

samolot_suma kontrolna
Suma kontrolna Adler-32 (wydrukowana w systemie szesnastkowym) każdej płaszczyzny ramki wejściowej,
wyrażone w postaci „[c0 c1 c2 c3]".

paleta pokazowa
Wyświetla paletę 256 kolorów każdej klatki. Ten filtr dotyczy tylko pal8 piksel
ramki formatu.

Akceptuje następującą opcję:

s Ustaw rozmiar pola używanego do reprezentowania jednego wpisu koloru palety. Wartość domyślna to 30 (dla
pudełko „30x30” pikseli).

samoloty tasowe
Zmień kolejność i/lub zduplikuj samoloty wideo.

Przyjmuje następujące parametry:

map0
Indeks płaszczyzny wejściowej, która ma być używana jako pierwsza płaszczyzna wyjściowa.

map1
Indeks płaszczyzny wejściowej, która ma być używana jako druga płaszczyzna wyjściowa.

map2
Indeks płaszczyzny wejściowej, która ma być używana jako trzecia płaszczyzna wyjściowa.

map3
Indeks płaszczyzny wejściowej, która ma być używana jako czwarta płaszczyzna wyjściowa.

Pierwsza płaszczyzna ma indeks 0. Domyślnie dane wejściowe pozostają niezmienione.

Zamień drugą i trzecią płaszczyznę wejścia:

ffmpeg -i WEJŚCIE -vf shuffleplanes=0:2:1:3 WYJŚCIE

statystyki sygnału
Oceń różne wskaźniki wizualne, które pomagają w określeniu problemów związanych z
digitalizacja analogowych mediów wideo.

Domyślnie filtr rejestruje te wartości metadanych:

YMIN
Wyświetla minimalną wartość Y zawartą w ramce wejściowej. Wyrażony w zakresie
[0-255].

ŻÓŁTY
Wyświetl wartość Y na poziomie 10% w ramce wejściowej. Wyrażony w zakresie
z [0-255].

YAVG
Wyświetl średnią wartość Y w ramce wejściowej. Wyrażony w zakresie [0-255].

WYSOKI
Wyświetl wartość Y na poziomie 90% w ramce wejściowej. Wyrażony w zakresie
z [0-255].

YMAX
Wyświetla maksymalną wartość Y zawartą w ramce wejściowej. Wyrażony w zakresie
[0-255].

UMIN
Wyświetla minimalną wartość U zawartą w ramce wejściowej. Wyrażony w zakresie
[0-255].

UŁÓW
Wyświetl wartość U na poziomie 10% w ramce wejściowej. Wyrażony w zakresie
z [0-255].

UAVG
Wyświetl średnią wartość U w ramce wejściowej. Wyrażony w zakresie [0-255].

WYSOKI
Wyświetl wartość U na poziomie 90% w ramce wejściowej. Wyrażony w zakresie
z [0-255].

UMAX
Wyświetla maksymalną wartość U zawartą w ramce wejściowej. Wyrażony w zakresie
[0-255].

VMIN
Wyświetla minimalną wartość V zawartą w ramce wejściowej. Wyrażony w zakresie
[0-255].

VLOW
Wyświetl wartość V na 10% percentylu w ramce wejściowej. Wyrażony w zakresie
z [0-255].

VAVG
Wyświetl średnią wartość V w ramce wejściowej. Wyrażony w zakresie [0-255].

WYSOKI
Wyświetl wartość V na 90% percentylu w ramce wejściowej. Wyrażony w zakresie
z [0-255].

Rozszerzenie VMAX
Wyświetla maksymalną wartość V zawartą w ramce wejściowej. Wyrażony w zakresie
[0-255].

SATMINA
Wyświetla minimalną wartość nasycenia zawartą w ramce wejściowej. Wyrażone w
zakres [0-~181.02].

SABIE
Wyświetl wartość nasycenia na poziomie 10% w ramce wejściowej. Wyrażone
w zakresie [0-~181.02].

SATAVG
Wyświetla średnią wartość nasycenia w ramce wejściowej. Wyrażony w zakresie
[0-~181.02].

SATIGH
Wyświetl wartość nasycenia na poziomie 90% w ramce wejściowej. Wyrażone
w zakresie [0-~181.02].

SATMAX
Wyświetla maksymalną wartość nasycenia zawartą w ramce wejściowej. Wyrażone w
zakres [0-~181.02].

HUEMED
Wyświetl medianę barwy w ramce wejściowej. Wyrażony w zakresie
[0-360].

HUAVG
Wyświetl średnią wartość odcienia w ramce wejściowej. Wyrażony w zakresie
[0-360].

YDIF
Wyświetl średnią różnicę wartości próbki między wszystkimi wartościami płaszczyzny Y w
bieżąca ramka i odpowiadające jej wartości poprzedniej ramki wejściowej. Wyrażone w
zakres [0-255].

UDIF
Wyświetl średnią różnicy wartości próbki między wszystkimi wartościami płaszczyzny U w
bieżąca ramka i odpowiadające jej wartości poprzedniej ramki wejściowej. Wyrażone w
zakres [0-255].

VDIF
Wyświetl średnią różnicę wartości próbki między wszystkimi wartościami płaszczyzny V w
bieżąca ramka i odpowiadające jej wartości poprzedniej ramki wejściowej. Wyrażone w
zakres [0-255].

Filtr akceptuje następujące opcje:

stan
na zewnątrz stan określić dodatkową formę analizy obrazu. na zewnątrz wyprowadź wideo za pomocą
określony typ podświetlonego piksela.

Obie opcje akceptują następujące wartości:

wszystko
Zidentyfikować czasowy wartości odstające piksele. A czasowy odstające jest pikselem w przeciwieństwie do
sąsiednie piksele tego samego pola. Przykłady czasowych wartości odstających obejmują
wyniki przerw w odtwarzaniu wideo, zatkania głowy lub problemów ze śledzeniem taśmy.

wrz
Zidentyfikować pionowy linia powtarzanie. Pionowe powtórzenie linii obejmuje podobne rzędy
pikseli w ramce. W urodzonym cyfrowym wideo powtarzanie linii pionowej jest
powszechne, ale ten wzorzec jest rzadki w przypadku wideo przetworzonego na postać cyfrową ze źródła analogowego.
Gdy pojawia się w filmie, który wynika z cyfryzacji źródła analogowego, to
może wskazywać na ukrycie przed kompensatorem zaniku.

Brng
Identyfikuj piksele, które wykraczają poza legalny zasięg transmisji.

kolor, c
Ustaw kolor podświetlenia dla na zewnątrz opcja. Domyślny kolor to żółty.

Przykłady

· Dane wyjściowe różnych metryk wideo:

ffprobe -f lavfi film=przykład.mov,signalstats="stat=tout+vrep+brng" -show_frames

· Wyprowadź określone dane dotyczące minimalnych i maksymalnych wartości płaszczyzny Y na klatkę:

ffprobe -f lavfi film=przykład.mov,signalstats -show_entriesframe_tags=lavfi.signalstats.YMAX,lavfi.signalstats.YMIN

· Odtwarzaj wideo, podświetlając na czerwono piksele znajdujące się poza zasięgiem transmisji.

ffplay example.mov -vf signalstats="out=brng:color=red"

· Odtwarzaj wideo z metadanymi statystycznymi sygnału narysowanymi na ramce.

ffplay przykład.mov -vf Signalstats=stat=brng+vrep+tout,drawtext=fontfile=FreeSerif.ttf:textfile=signalstat_drawtext.txt

Zawartość pliku signalstat_drawtext.txt użytego w poleceniu to:

czas %{pts:hms}
T (%{metadane:lavfi.signalstats.YMIN}-%{metadane:lavfi.signalstats.YMAX})
U (%{metadane:lavfi.signalstats.UMIN}-%{metadane:lavfi.signalstats.UMAX})
V (%{metadane:lavfi.signalstats.VMIN}-%{metadane:lavfi.signalstats.VMAX})
maksymalne nasycenie: %{metadata:lavfi.signalstats.SATMAX}

inteligentne rozmycie
Rozmyj wideo wejściowe bez wpływu na kontury.

Akceptuje następujące opcje:

luma_promień, lr
Ustaw promień światła. Wartość opcji musi być liczbą zmiennoprzecinkową z zakresu [0.1,5.0]
który określa wariancję filtra Gaussa używanego do rozmycia obrazu (wolniej, jeśli
większy). Wartość domyślna to 1.0.

luma_siła, ls
Ustaw siłę luma. Wartość opcji musi być liczbą zmiennoprzecinkową z zakresu [-1.0,1.0]
który konfiguruje rozmycie. Wartość zawarta w [0.0,1.0] spowoduje rozmycie obrazu
natomiast wartość zawarta w [-1.0,0.0] wyostrzy obraz. Wartość domyślna to 1.0.

próg_lumy, lt
Ustaw próg jasności używany jako współczynnik, aby określić, czy piksel powinien być
zamazane lub nie. Wartość opcji musi być liczbą całkowitą z zakresu [-30,30]. Wartość
0 przefiltruje cały obraz, wartość zawarta w [0,30] przefiltruje płaskie obszary, a a
wartość zawarta w [-30,0] odfiltruje krawędzie. Wartość domyślna to 0.

promień_koloru, cr
Ustaw promień chrominancji. Wartość opcji musi być liczbą zmiennoprzecinkową z zakresu [0.1,5.0]
który określa wariancję filtra Gaussa używanego do rozmycia obrazu (wolniej, jeśli
większy). Wartość domyślna to 1.0.

siła_koloru, cs
Ustaw siłę chromatyczną. Wartość opcji musi być liczbą zmiennoprzecinkową z zakresu
[-1.0,1.0], który konfiguruje rozmycie. Wartość zawarta w [0.0,1.0] spowoduje rozmycie
obraz, podczas gdy wartość zawarta w [-1.0,0.0] wyostrzy obraz. Wartość domyślna to
1.0.

próg_koloru, ct
Ustaw próg chrominancji używany jako współczynnik, aby określić, czy piksel powinien być
zamazane lub nie. Wartość opcji musi być liczbą całkowitą z zakresu [-30,30]. Wartość
0 przefiltruje cały obraz, wartość zawarta w [0,30] przefiltruje płaskie obszary, a a
wartość zawarta w [-30,0] odfiltruje krawędzie. Wartość domyślna to 0.

Jeśli opcja chroma nie jest jawnie ustawiona, ustawiana jest odpowiadająca jej wartość luma.

sim
Uzyskaj SSIM (miara podobieństwa strukturalnego) między dwoma wejściowymi filmami wideo.

Ten filtr pobiera dwa wejściowe filmy wideo, pierwsze wejście jest uważane za „główne”
source i jest przekazywany bez zmian do wyjścia. Drugie wejście jest używane jako „odniesienie”
wideo do obliczania SSIM.

Aby ten filtr działał, oba wejścia wideo muszą mieć tę samą rozdzielczość i format pikseli
prawidłowo. Zakłada również, że oba wejścia mają tę samą liczbę ramek, które są
porównywane jeden po drugim.

Filtr przechowuje obliczony SSIM każdej ramki.

Poniżej znajduje się opis akceptowanych parametrów.

plik_statystycznych, f
Jeśli zostanie określony, filtr użyje nazwanego pliku do zapisania SSIM każdej osoby
rama.

Plik wydrukowany, jeśli plik_statystycznych jest zaznaczone, zawiera sekwencję par klucz/wartość
Nasz formularz klucz:wartość dla każdej porównywanej pary klatek.

Poniżej znajduje się opis każdego pokazanego parametru:

n kolejny numer ramki wejściowej, zaczynając od 1

Y, U, V, R, G, B
SSIM porównywanych ramek dla składnika określonego przez sufiks.

Wszystkie kategorie SSIM porównywanych ramek dla całej ramki.

dB Tak samo jak powyżej, ale w reprezentacji dB.

Na przykład:

film=ref_movie.mpg, setpts=PTS-STARTPTS [główne];
[main][ref] ssim="stats_file=stats.log" [out]

W tym przykładzie przetwarzany plik wejściowy jest porównywany z plikiem referencyjnym
ref_film.mpg. SSIM każdej pojedynczej ramki jest przechowywany w statystyki.log.

Kolejny przykład z psnr i ssim w tym samym czasie:

ffmpeg -i main.mpg -i ref.mpg -lavfi "ssim;[0:v][1:v]psnr" -f null -

stereo3d
Konwersja między różnymi formatami obrazów stereoskopowych.

Filtry akceptują następujące opcje:

in Ustaw stereoskopowy format obrazu wejściowego.

Dostępne wartości dla wejściowych formatów obrazu to:

sbsl
obok siebie równolegle (lewe oko lewe, prawe oko)

sbsr
obok siebie crosseye (prawe oko lewe, lewe oko prawe)

sbs2l
obok siebie równolegle z rozdzielczością połowy szerokości (lewe oko lewe, prawe oko)

sbs2r
obok siebie crosseye z rozdzielczością połowy szerokości (prawe oko lewe, lewe oko prawe)

abl powyżej-dolny (lewe oko powyżej, prawe oko poniżej)

Kwiecień powyżej-poniżej (prawe oko powyżej, lewe oko poniżej)

ab2l
powyżej i poniżej z rozdzielczością połowy wysokości (lewe oko powyżej, prawe oko poniżej)

ab2r
powyżej i poniżej z rozdzielczością połowy wysokości (prawe oko powyżej, lewe oko poniżej)

al naprzemienne ramki (lewe oko jako pierwsze, prawe oko jako drugie)

ar naprzemienne ramki (pierwsze prawe oko, drugie lewe)

Wartość domyślna to sbsl.

na zewnątrz Ustaw stereoskopowy format obrazu wyjściowego.

Dostępne wartości dla formatów obrazu wyjściowego to wszystkie formaty wejściowe oraz:

arbg
anaglif czerwony/niebieski szary (czerwony filtr na lewym oku, niebieski filtr na prawym oku)

argumentować
anaglif czerwony/zielony szary (czerwony filtr na lewym oku, zielony filtr na prawym oku)

łuk
anaglif czerwony/cyjan szary (czerwony filtr na lewym oku, cyjan filtr na prawym oku)

łuk
anaglif czerwony/cyjan w połowie kolorowy (czerwony filtr na lewym oku, cyjan filtr na prawym oku)

łuk
kolor anaglifowy czerwony/cyjan (czerwony filtr na lewym oku, cyjan filtr na prawym oku)

łuk
anaglyph czerwony/cyjan kolor zoptymalizowany z odwzorowaniem najmniejszych kwadratów dubois (czerwony
filtr na lewym oku, filtr cyjan na prawym oku)

Agmg
anaglif zielony/magenta szary (zielony filtr na lewym oku, filtr magenta na prawym)
oko)

ahhh
anaglif zielony/magenta w połowie kolorowy (zielony filtr na lewym oku, filtr magenta włączony)
prawe oko)

AGMC
anaglif w kolorze zielonym/magenta (zielony filtr na lewym oku, filtr magenta na prawym)
oko)

Agmd
anaglyph green/magenta kolor zoptymalizowany z odwzorowaniem najmniejszych kwadratów dubois
(zielony filtr na lewym oku, magenta na prawym oku)

ajbg
anaglif żółty/niebieski szary (żółty filtr na lewym oku, niebieski na prawym oku)

ajbha
anaglif żółty/niebieski w połowie kolorowy (żółty filtr na lewym oku, niebieski filtr na prawym)
oko)

aybc
anaglif żółto/niebieski kolor (żółty filtr na lewym oku, niebieski filtr na prawym oku)

tak
anaglif żółty/niebieski kolor zoptymalizowany z odwzorowaniem najmniejszych kwadratów dubois
(żółty filtr na lewym oku, niebieski na prawym oku)

Irl przeplatane rzędy (lewe oko ma górny rząd, prawe zaczyna się od następnego)

irra przeplatane rzędy (prawe oko ma górny rząd, lewe zaczyna się od następnego)

ml wyjście mono (tylko lewe oko)

mr wyjście mono (tylko prawe oko)

Wartość domyślna to łuk.

Przykłady

· Konwertuj wideo wejściowe obok siebie równolegle do anaglifowego żółtego/niebieskiego dubois:

stereo3d=sbsl:aybd

· Konwertuj wideo wejściowe z góry i dołu (lewe oko powyżej, prawe oko poniżej) na obok siebie
zez.

stereo3d=abl:sbsr

spp
Zastosuj prosty filtr przetwarzania końcowego, który kompresuje i dekompresuje obraz kilka razy
(lub - w przypadku jakość poziom 6 - wszystkie) zmiany i uśrednianie wyników.

Filtr akceptuje następujące opcje:

jakość
Ustaw jakość. Ta opcja określa liczbę poziomów do uśredniania. Akceptuje i
liczba całkowita z zakresu 0-6. Jeśli jest ustawiony na 0, filtr nie będzie działał. Wartość 6
oznacza wyższą jakość. Z każdym wzrostem tej wartości prędkość spada o współczynnik
około 2. Wartość domyślna to 3.

qp Wymuś stały parametr kwantyzacji. Jeśli nie zostanie ustawione, filtr użyje QP z
strumień wideo (jeśli jest dostępny).

tryb
Ustaw tryb progowania. Dostępne tryby to:

ciężko
Ustaw twardy próg (domyślnie).

miękki
Ustaw miękkie progi (lepszy efekt wygładzania, ale prawdopodobnie bardziej rozmyty).

użyj_bframe_qp
Włącz korzystanie z QP z ramek B, jeśli jest ustawione na 1. Użycie tej opcji może spowodować:
migotanie, ponieważ ramki B mają często większe QP. Wartość domyślna to 0 (nie włączone).

napisy na filmie obcojęzycznym
Narysuj napisy na wejściu wideo, korzystając z biblioteki libass.

Aby włączyć kompilację tego filtra, musisz skonfigurować FFmpeg z "--enable-libass".
Ten filtr wymaga również kompilacji z libavcodec i libavformat do konwersji przekazanych
plik napisów do formatu napisów ASS (Advanced Substation Alpha).

Filtr akceptuje następujące opcje:

Nazwa pliku, f
Ustaw nazwę pliku napisów do odczytu. Musi być określony.

oryginalny rozmiar
Określ rozmiar oryginalnego wideo, wideo, dla którego skomponowano plik ASS.
Aby poznać składnię tej opcji, sprawdź "Wideo rozmiar" Sekcja in dotychczasowy narzędzia ffmpeg
podręcznik. Z powodu błędnego zaprojektowania arytmetyki proporcji ASS, jest to konieczne, aby:
poprawnie skalować czcionki, jeśli zmieniono proporcje.

katalog czcionek
Ustaw ścieżkę katalogu zawierającą czcionki, których może używać filtr. Te czcionki
będą używane oprócz tego, co używa dostawca czcionki.

charenc
Ustaw kodowanie znaków wejściowych napisów. Tylko filtr „napisy”. Przydatne tylko, jeśli nie
UTF-8.

strumień_indeks, si
Ustaw indeks strumienia napisów. Tylko filtr „napisy”.

styl_wymuszony
Zastąp domyślny styl lub parametry informacji o skrypcie napisów. Przyjmuje ciąg
zawierające pary w stylu ASS „KLUCZ=WARTOŚĆ” rozdzielone znakiem „”.

Jeśli pierwszy klucz nie jest określony, zakłada się, że pierwsza wartość określa
filename.

Na przykład, aby wyrenderować plik sub.srt na wierzchu wejściowego wideo użyj polecenia:

napisy=sub.srt

co jest równoznaczne z:

napisy=nazwa pliku=sub.srt

Aby renderować domyślny strumień napisów z pliku wideo.mkv, posługiwać się:

napisy=wideo.mkv

Aby wyrenderować drugi strumień napisów z tego pliku, użyj:

napisy=wideo.mkv:si=1

Aby napisy były przesyłane strumieniowo z sub.srt pojawiają się w przezroczystym zielonym "DejaVu Serif", użyj:

subtitles=sub.srt:force_style='FontName=DejaVu Serif,PrimaryColour=&HAA00FF00'

super2xsai
Skaluj wejście 2x i wygładzaj, korzystając z grafiki pikselowej Super2xSaI (skalowanie i interpolacja)
algorytm skalowania.

Przydatne do powiększania obrazów pixel art bez zmniejszania ostrości.

zamiana
Zamień płaszczyznę U i V.

telekine
Zastosuj proces telecine do wideo.

Ten filtr akceptuje następujące opcje:

pierwsze_pole
Top, t
najpierw górne pole

dolny, b
najpierw dolne pole Wartość domyślna to „top”.

wzorzec
Ciąg liczb reprezentujący rozwijany wzór, który chcesz zastosować. Domyślny
wartość wynosi 23.

Kilka typowych wzorów:

Wyjście NTSC (30i):
27.5p: 32222
24p: 23 (klasyczny)
24p: 2332 (preferowane)
20p: 33
18p: 334
16p: 3444

Wyjście PAL (25i):
27.5p: 12222
24p: 222222222223 („Rozwijanie euro”)
16.67p: 33
16p: 33333334

miniatur
Wybierz najbardziej reprezentatywną klatkę w danej sekwencji kolejnych klatek.

Filtr akceptuje następujące opcje:

n Ustaw wielkość partii ramek do analizy; w zestawie n ramki, filtr wybierze jedną
z nich, a następnie obsłużyć następną partię n ramki do końca. Wartość domyślna to 100.

Ponieważ filtr śledzi całą sekwencję klatek, większy n wartość spowoduje
większe zużycie pamięci, więc wysoka wartość nie jest zalecana.

Przykłady

· Wyodrębnij jedno zdjęcie na każde 50 klatek:

miniatura = 50

· Kompletny przykład tworzenia miniatury za pomocą ffmpeg:

ffmpeg -i in.avi -vf miniatura, skala=300:200 -ramki:v 1 out.png

dachówka
Ułóż kilka kolejnych ramek razem.

Filtr akceptuje następujące opcje:

układ
Ustaw rozmiar siatki (tzn. liczbę wierszy i kolumn). Dla składni tego
opcję, zaznacz "Wideo rozmiar" Sekcja in dotychczasowy narzędzia ffmpeg podręcznik.

nb_ramek
Ustaw maksymalną liczbę klatek do renderowania w danym obszarze. Musi być mniejsza niż lub
równy wxh. Wartość domyślna to 0, co oznacza, że ​​zostanie wykorzystany cały obszar.

margines
Ustaw zewnętrzny margines obramowania w pikselach.

wyściółka
Ustaw wewnętrzną grubość obramowania (tzn. liczbę pikseli między ramkami). Więcej
zaawansowane opcje dopełnienia (takie jak posiadanie różnych wartości dla krawędzi), patrz
pad filtr wideo.

kolor
Określ kolor nieużywanego obszaru. Aby sprawdzić składnię tej opcji, sprawdź „Kolor”
w podręczniku ffmpeg-utils. Domyślna wartość kolor jest czarne".

Przykłady

· Produkcja kafelków 8x8 PNG wszystkich klatek kluczowych (-pomiń ramkę brak klucza) w filmie:

ffmpeg -skip_frame nokey -i file.avi -vf 'scale=128:72,tile=8x8' -an -vsync 0 keyframes%03d.png

Połączenia -vsync 0 jest konieczne, aby zapobiec ffmpeg od zduplikowania każdej klatki wyjściowej do
dostosować pierwotnie wykrytą liczbę klatek na sekundę.

· Wyświetl 5 zdjęć w obszarze ramek „3x2”, z 7 pikselami między nimi i 2
piksele początkowego marginesu, używając mieszanych opcji płaskich i nazwanych:

tile=3x2:nb_frames=5:padding=7:margin=2

mikołajek
Wykonuj różne rodzaje czasowego przeplotu pól.

Klatki są liczone począwszy od 1, więc pierwsza ramka wejściowa jest uważana za nieparzystą.

Filtr akceptuje następujące opcje:

tryb
Określ tryb przeplotu. Ta opcja może być również określona jako wartość
sam. Zobacz poniżej listę wartości dla tej opcji.

Dostępne wartości to:

łączyć, 0
Przenieś nieparzyste klatki do górnego pola, a nawet do dolnego, generując a
ramka o podwójnej wysokości przy połowie szybkości klatek.

------> czas
Wejście:
Klatka 1 Klatka 2 Klatka 3 Klatka 4

11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444

Wyjście:
11111 33333
22222 44444
11111 33333
22222 44444
11111 33333
22222 44444
11111 33333
22222 44444

nieparzyste, 1
Wyprowadza tylko parzyste ramki, nieparzyste ramki są odrzucane, generując ramkę bez zmian
wysokość przy połowie szybkości klatek.

------> czas
Wejście:
Klatka 1 Klatka 2 Klatka 3 Klatka 4

11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444

Wyjście:
22222 44444
22222 44444
22222 44444
22222 44444

spadek_nawet, 2
Wyprowadza tylko nieparzyste ramki, parzyste ramki są odrzucane, generując ramkę bez zmian
wysokość przy połowie szybkości klatek.

------> czas
Wejście:
Klatka 1 Klatka 2 Klatka 3 Klatka 4

11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444

Wyjście:
11111 33333
11111 33333
11111 33333
11111 33333

Podkładka, 3
Rozszerz każdą klatkę do pełnej wysokości, ale dopełnij naprzemienne linie kolorem czarnym, generując
ramka o podwójnej wysokości przy tej samej wejściowej liczbie klatek na sekundę.

------> czas
Wejście:
Klatka 1 Klatka 2 Klatka 3 Klatka 4

11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444

Wyjście:
11111..... 33333.....
..... 22222..... 44444
11111..... 33333.....
..... 22222..... 44444
11111..... 33333.....
..... 22222..... 44444
11111..... 33333.....
..... 22222..... 44444

przeplot_top, 4
Przeplataj górne pole z klatek nieparzystych z dolnym polem z klatek parzystych,
generowanie klatki o niezmienionej wysokości przy połowie szybkości klatek.

------> czas
Wejście:
Klatka 1 Klatka 2 Klatka 3 Klatka 4

11111<- 22222 33333<- 44444
11111 22222<- 33333 44444<-
11111<- 22222 33333<- 44444
11111 22222<- 33333 44444<-

Wyjście:
11111 33333
22222 44444
11111 33333
22222 44444

przeplot_dół, 5
Przeplataj dolne pole z klatek nieparzystych z górnym polem z klatek parzystych,
generowanie klatki o niezmienionej wysokości przy połowie szybkości klatek.

------> czas
Wejście:
Klatka 1 Klatka 2 Klatka 3 Klatka 4

11111 22222<- 33333 44444<-
11111<- 22222 33333<- 44444
11111 22222<- 33333 44444<-
11111<- 22222 33333<- 44444

Wyjście:
22222 44444
11111 33333
22222 44444
11111 33333

przeplotex2, 6
Podwójna liczba klatek na sekundę przy niezmienionej wysokości. Wstawiane są ramki, z których każda zawiera
drugie pole czasowe z poprzedniej ramki wejściowej i pierwsze pole czasowe
z następnej ramki wejściowej. Ten tryb opiera się na fladze top_field_first. Użyteczne
do wyświetlaczy wideo z przeplotem bez synchronizacji pola.

------> czas
Wejście:
Klatka 1 Klatka 2 Klatka 3 Klatka 4

11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444

Wyjście:
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

Wartości liczbowe są przestarzałe, ale są akceptowane ze względu na zgodność z poprzednimi wersjami.

Tryb domyślny to „scalanie”.

Flagi
Określ flagi wpływające na proces filtrowania.

Dostępna wartość dla Flagi jest:

Filtr dolnoprzepustowy, vlfp
Włącz pionowe filtrowanie dolnoprzepustowe w filtrze. Pionowe filtrowanie dolnoprzepustowe jest
wymagane podczas tworzenia miejsca docelowego z przeplotem z progresywnego źródła, które
zawiera pionowe szczegóły o wysokiej częstotliwości. Filtrowanie zmniejszy „twitter” z przeplotem
i wzór mory.

Pionowe filtrowanie dolnoprzepustowe można włączyć tylko dla tryb przeplot_top i
przeplot_dół.

transponować
Transponuj wiersze z kolumnami w wejściowym wideo i opcjonalnie je odwróć.

Przyjmuje następujące parametry:

reż Określ kierunek transpozycji.

Może przyjąć następujące wartości:

0, 4, zegar_przerzucanie
Obróć o 90 stopni w kierunku przeciwnym do ruchu wskazówek zegara i odwróć w pionie (domyślnie), czyli:

LR Ll
. . -> . .
lr rr

1, 5, zegar
Obróć o 90 stopni zgodnie z ruchem wskazówek zegara, czyli:

LR lL
. . -> . .
lr rR

2, 6, zegar
Obróć o 90 stopni w lewo, czyli:

LR Rr
. . -> . .
lr Ll

3, 7, zegar_przerzucanie
Obróć o 90 stopni zgodnie z ruchem wskazówek zegara i odwróć w pionie, czyli:

LR rR
. . -> . .
lr lL

W przypadku wartości między 4-7 transpozycja jest wykonywana tylko wtedy, gdy geometria wejściowego wideo to
portret, a nie krajobraz. Te wartości są przestarzałe, opcja „przekazywanie”
powinien być użyty zamiast tego.

Wartości liczbowe są przestarzałe i należy je odrzucić na rzecz stałych symbolicznych.

Przejść przez
Nie stosuj transpozycji, jeśli geometria wejściowa jest zgodna z geometrią określoną przez
określona wartość. Przyjmuje następujące wartości:

Żaden
Zawsze stosuj transpozycję.

portret
Zachowaj geometrię pionową (gdy wysokość >= szerokość).

krajobraz
Zachowaj geometrię krajobrazu (kiedy szerokość >= wysokość).

Wartość domyślna to „brak”.

Na przykład, aby obrócić o 90 stopni zgodnie z ruchem wskazówek zegara i zachować układ pionowy:

transpose=dir=1:passthrough=portret

Powyższe polecenie można również określić jako:

transpozycja=1:portret

trym
Przytnij dane wejściowe tak, aby dane wyjściowe zawierały jedną ciągłą podczęść danych wejściowych.

Przyjmuje następujące parametry:

początek
Określ czas rozpoczęcia zachowanej sekcji, czyli klatkę ze znacznikiem czasu
początek będzie pierwszą klatką na wyjściu.

zakończenia Określ czas pierwszej klatki, która zostanie pominięta, tj. klatka natychmiast
poprzedzające tę z sygnaturą czasową zakończenia będzie ostatnią klatką na wyjściu.

punkty_początkowe
To to samo co początek, z wyjątkiem tego, że ta opcja ustawia znacznik czasu rozpoczęcia w podstawie czasu
jednostki zamiast sekund.

koniec_pts
To to samo co zakończenia, z wyjątkiem tej opcji ustawia znacznik czasu zakończenia w jednostkach podstawy czasu
zamiast sekund.

czas trwania
Maksymalny czas trwania wyjścia w sekundach.

ramka_początkowa
Numer pierwszej klatki, która powinna zostać przekazana do wyjścia.

ramka_końcowa
Numer pierwszej klatki, która powinna zostać usunięta.

początek, zakończenia, czas trwania są wyrażone jako specyfikacje czasu trwania; zobaczyć dotychczasowy Czas
czas trwania Sekcja in dotychczasowy narzędzia ffmpeg(1) podręcznik dla przyjętej składni.

Zwróć uwagę, że pierwsze dwa zestawy opcji początku/końca oraz czas trwania opcja spójrz na
znacznik czasu ramki, podczas gdy warianty _frame po prostu liczą ramki, które przechodzą przez
filtr. Należy również pamiętać, że ten filtr nie modyfikuje znaczników czasu. Jeśli chcesz
wyjściowe znaczniki czasu, aby zaczynały się od zera, wstaw filtr setpts po filtrze przycinania.

Jeśli ustawionych jest wiele opcji rozpoczęcia lub zakończenia, ten filtr stara się być zachłanny i zachować wszystkie
ramki, które pasują do co najmniej jednego z określonych ograniczeń. Aby zachować tylko tę część, która
dopasowuje wszystkie ograniczenia jednocześnie, łączy wiele filtrów przycinania.

Wartości domyślne są takie, że wszystkie dane wejściowe są zachowywane. Można więc ustawić np. tylko
wartości końcowe, aby zachować wszystko przed określonym czasem.

Przykłady:

· Porzuć wszystko oprócz drugiej minuty wprowadzania danych:

ffmpeg -i WEJŚCIE -vf przycinanie=60:120

· Zachowaj tylko pierwszą sekundę:

ffmpeg -i WEJŚCIE -vf przycinanie=czas trwania=1

wyostrz
Wyostrz lub rozmyj wideo wejściowe.

Przyjmuje następujące parametry:

luma_mrozmiar_x, lx
Ustaw poziomą wielkość luma matrix. Musi to być liczba nieparzysta z przedziału od 3 do 63
wartość domyślna to 5.

luma_mrozmiar_y, ly
Ustaw pionowy rozmiar matrycy luma. Musi to być liczba nieparzysta z przedziału od 3 do 63
wartość domyślna to 5.

luma_ilość, la
Ustaw siłę efektu luma. Musi to być liczba zmiennoprzecinkowa, rozsądne wartości
leżał między -1.5 a 1.5.

Wartości ujemne spowodują rozmycie wejściowego wideo, a wartości dodatnie go wyostrzą, a
wartość zero wyłączy efekt.

Wartość domyślna to 1.0.

kolor_mrozmiar_x, cx
Ustaw rozmiar poziomy matrycy chromatycznej. Musi to być liczba nieparzysta z przedziału od 3 do 63
wartość domyślna to 5.

chroma_mrozmiar_y, cy
Ustaw pionowy rozmiar matrycy chromatycznej. Musi to być liczba nieparzysta z przedziału od 3 do 63
wartość domyślna to 5.

ilość_koloru, ca
Ustaw siłę efektu chromatycznego. Musi to być liczba zmiennoprzecinkowa, rozsądne wartości
leżał między -1.5 a 1.5.

Wartości ujemne spowodują rozmycie wejściowego wideo, a wartości dodatnie go wyostrzą, a
wartość zero wyłączy efekt.

Wartość domyślna to 0.0.

otwórzcl
Jeśli ustawiono na 1, określ za pomocą funkcji OpenCL, dostępne tylko wtedy, gdy FFmpeg był
skonfigurowany z "--enable-opencl". Wartość domyślna to 0.

Wszystkie parametry są opcjonalne i domyślnie odpowiadają ciągowi „5:5:1.0:5:5:0.0”.

Przykłady

· Zastosuj mocny efekt wyostrzenia lumy:

unsharp=luma_msize_x=7:luma_msize_y=7:luma_amount=2.5

· Zastosuj silne rozmycie zarówno parametrów luma, jak i chroma:

unsharp=7:7:-2:7:7:-2

usp
Zastosuj ultra wolny/prosty filtr przetwarzania końcowego, który kompresuje i dekompresuje obraz
na kilka (lub - w przypadku jakość poziom 8 - wszystkie) zmiany i uśrednianie wyników.

Sposób, w jaki różni się to od zachowania spp, polega na tym, że uspp faktycznie koduje i dekoduje każdy
przypadek z libavcodec Snow, podczas gdy spp używa uproszczonego intra tylko 8x8 DCT podobne do
MJPEG.

Filtr akceptuje następujące opcje:

jakość
Ustaw jakość. Ta opcja określa liczbę poziomów do uśredniania. Akceptuje i
liczba całkowita z zakresu 0-8. Jeśli jest ustawiony na 0, filtr nie będzie działał. Wartość 8
oznacza wyższą jakość. Z każdym wzrostem tej wartości prędkość spada o współczynnik
około 2. Wartość domyślna to 3.

qp Wymuś stały parametr kwantyzacji. Jeśli nie zostanie ustawione, filtr użyje QP z
strumień wideo (jeśli jest dostępny).

wektoskop
Wyświetl 2 wartości składowych kolorów na dwuwymiarowym wykresie (nazywanym a
wektoroskop).

Ten filtr akceptuje następujące opcje:

tryb, m
Ustaw tryb wektoroskopu.

Przyjmuje następujące wartości:

szary
Wartości szarości są wyświetlane na wykresie, wyższa jasność oznacza, że ​​więcej pikseli ma to samo
wartość koloru składnika w lokalizacji na wykresie. To jest tryb domyślny.

kolor
Wartości szarości są wyświetlane na wykresie. Wartości otaczających pikseli, które nie są
obecne w ramce wideo są rysowane w gradiencie 2 ustawionych składowych kolorów
przez opcję "x" i "y".

color2
Rzeczywiste wartości składowych kolorów obecnych w klatce wideo są wyświetlane na wykresie.

color3
Podobnie jak color2, ale wyższa częstotliwość tych samych wartości „x” i „y” na wykresie
zwiększa wartość innego składnika koloru, jakim jest domyślna luminancja
z „x” i „y”.

color4
Aktualne kolory obecne w kadrze wideo są wyświetlane na wykresie. Jeśli dwa różne
kolory mapują się do tej samej pozycji na wykresie niż kolor z wyższą wartością składnika nie
obecny na wykresie jest wybierany.

x Ustaw, który składnik koloru będzie reprezentowany na osi X. Wartość domyślna to 1.

y Ustaw, który składnik koloru będzie reprezentowany na osi Y. Wartość domyślna to 2.

intensywność, i
Ustaw intensywność, używaną przez tryby: szary, kolor i kolor3 w celu zwiększenia jasności
składnik koloru, który reprezentuje częstotliwość lokalizacji (X, Y) na wykresie.

koperta, e
Żaden
Brak koperty, to jest ustawienie domyślne.

natychmiastowy
Natychmiastowa koperta, nawet najciemniejszy pojedynczy piksel będzie wyraźnie podświetlony.

szczyt
Utrzymuj maksymalne i minimalne wartości przedstawione na wykresie w czasie. W ten sposób możesz
nadal wykrywa wartości poza zakresem bez ciągłego patrzenia na wektoroskop.

szczyt+natychmiastowy
Obwiednia szczytowa i natychmiastowa połączone razem.

vidstabdetect
Przeanalizuj stabilizację wideo/otrząsanie się. Wykonaj przejście 1 z 2, zobacz vidstabtransformacja za przepustkę
2.

Ten filtr generuje plik z informacjami o względnym przesunięciu i przekształceniu obrotu
o kolejnych klatkach, które są następnie wykorzystywane przez vidstabtransformacja filtr.

Aby umożliwić kompilację tego filtra musisz skonfigurować FFmpeg za pomocą
„--włącz-libvidstab”.

Ten filtr akceptuje następujące opcje:

dalsze
Ustaw ścieżkę do pliku używanego do zapisywania informacji o przekształceniach. Wartość domyślna to
transformuje.trf.

drżenie
Ustaw, jak chwiejny jest film i jak szybki jest aparat. Przyjmuje liczbę całkowitą w
zakres 1-10, wartość 1 oznacza małą drżenie, wartość 10 oznacza silne drżenie.
Wartość domyślna to 5.

precyzja
Ustaw dokładność procesu wykrywania. Musi to być wartość z zakresu 1-15. A
wartość 1 oznacza niską dokładność, wartość 15 oznacza wysoką dokładność. Wartość domyślna to 15.

Rozmiar kroku
Ustaw wielkość kroku procesu wyszukiwania. Obszar wokół minimum jest skanowany z 1 pikselem
Rezolucja. Wartość domyślna to 6.

minimalny kontrast
Ustaw minimalny kontrast. Poniżej tej wartości lokalne pole pomiaru jest odrzucane. Musi być
wartość zmiennoprzecinkowa w zakresie 0-1. Wartość domyślna to 0.3.

statyw
Ustaw numer klatki odniesienia dla trybu statywu.

Jeśli ta opcja jest włączona, ruch ramek jest porównywany z ramką odniesienia w filtrowanym
strumień, identyfikowany przez określony numer. Chodzi o to, aby skompensować wszystkie ruchy w
mniej lub bardziej statyczną scenę i utrzymuj widok z kamery absolutnie nieruchomo.

Jeśli jest ustawiony na 0, jest wyłączony. Klatki liczone są od 1.

pokazać
Pokaż pola i przekształcenia w wynikowych ramkach. Przyjmuje liczbę całkowitą z zakresu
0-2. Wartość domyślna to 0, co wyłącza dowolną wizualizację.

Przykłady

· Użyj wartości domyślnych:

vidstabdetect

· Analizuj mocno drżący film i umieść wyniki w pliku mojetransformacje.trf:

vidstabdetect=drżenie=10:dokładność=15:result="mytransforms.trf"

· Wizualizuj wynik wewnętrznych przekształceń w powstałym filmie:

vidstabdetect=pokaż=1

· Analizuj wideo ze średnią drżeniem, używając ffmpeg:

ffmpeg -i input -vf vidstabdetect=shakiness=5:show=1 manekin.avi

vidstabtransformacja
Stabilizacja wideo/otrząsanie się: przejście 2 z 2, patrz vidstabdetect za przepustkę 1.

Przeczytaj plik z informacjami o transformacji dla każdej klatki i zastosuj/skompensuj je. Razem
z vidstabdetect filtr, który może służyć do rozbijania filmów. Zobacz też
<http://public.hronopik.de/vid.stab>. Ważne jest również, aby używać wyostrz filtr, patrz
poniżej.

Aby umożliwić kompilację tego filtra musisz skonfigurować FFmpeg za pomocą
„--włącz-libvidstab”.

Opcje

wkład
Ustaw ścieżkę do pliku używanego do odczytu przekształceń. Wartość domyślna to transformuje.trf.

wygładzanie
Ustaw liczbę klatek (wartość*2 + 1) używanych do filtrowania dolnoprzepustowego kamery
ruchy. Wartość domyślna to 10.

Na przykład liczba 10 oznacza, że ​​używanych jest 21 klatek (10 w przeszłości i 10 w okresie
przyszłości), aby wygładzić ruch w filmie. Większa wartość prowadzi do płynniejszego wideo,
ale ogranicza przyspieszenie kamery (ruchy pan/tilt). 0 to przypadek szczególny
gdzie symulowana jest kamera statyczna.

optalgo
Ustaw algorytm optymalizacji ścieżki kamery.

Akceptowane wartości to:

gaus
filtr dolnoprzepustowy jądra Gaussa przy ruchu kamery (domyślnie)

Średnia uśrednianie na przekształceniach

maksymalna zmiana
Ustaw maksymalną liczbę pikseli do przetłumaczenia klatek. Wartość domyślna to -1, co oznacza nie
limit.

maksymalny kąt
Ustaw maksymalny kąt w radianach (stopnie*PI/180), aby obrócić klatki. Wartość domyślna to -1,
co oznacza brak limitu.

wole
Określ, jak radzić sobie z granicami, które mogą być widoczne z powodu kompensacji ruchu.

Dostępne wartości to:

zachować
zachowaj informacje o obrazie z poprzedniej klatki (domyślnie)

czarny
wypełnij czarne obramowanie

odwracać
Odwróć transformacje, jeśli jest ustawione na 1. Wartość domyślna to 0.

względny
Rozważ transformacje jako względne w stosunku do poprzedniej klatki, jeśli jest ustawione na 1, bezwzględne, jeśli ustawione na 0.
Wartość domyślna to 0.

zoom
Ustaw procent do powiększenia. Wartość dodatnia spowoduje efekt powiększenia, a ujemna
wartość w efekcie oddalenia. Wartość domyślna to 0 (bez powiększenia).

zoom optyczny
Ustaw optymalne powiększanie, aby uniknąć obramowań.

Akceptowane wartości to:

0 niepełnosprawny

1 określana jest optymalna wartość zoomu statycznego (tylko bardzo silne ruchy prowadzą do
widoczne granice) (domyślnie)

2 określana jest optymalna wartość zoomu adaptacyjnego (brak będzie widocznych granic), patrz
prędkość zoomu

Zauważ, że wartość podana przy powiększeniu jest dodawana do obliczonej tutaj.

prędkość zoomu
Ustaw procent, aby maksymalnie powiększyć każdą klatkę (włączone, gdy zoom optyczny jest ustawiony na 2). Zakres to
od 0 do 5, domyślna wartość to 0.25.

interpol
Określ typ interpolacji.

Dostępne wartości to:

Nie bez interpolacji

liniowy
liniowa tylko pozioma

dwuliniowy
liniowy w obu kierunkach (domyślnie)

dwusześcienny
sześcienny w obu kierunkach (wolno)

statyw
Włącz tryb wirtualnego statywu, jeśli jest ustawiony na 1, co odpowiada
„względny=0:wygładzanie=0”. Wartość domyślna to 0.

Użyj również opcji „statyw” z vidstabdetect.

debug
Zwiększ szczegółowość dziennika, jeśli jest ustawiona na 1. Również wykryte ruchy globalne są zapisywane w
plik tymczasowy global_motions.trf. Wartość domyślna to 0.

Przykłady

· Posługiwać się ffmpeg dla typowej stabilizacji z wartościami domyślnymi:

ffmpeg -i inp.mpeg -vf vidstabtransform,unsharp=5:5:0.8:3:3:0.4 inp_stabilized.mpeg

Zwróć uwagę na użycie wyostrz filtr, który jest zawsze zalecany.

· Powiększ trochę i załaduj dane transformacji z danego pliku:

vidstabtransform=zoom=5:input="mojetransformacje.trf"

· Wygładź wideo jeszcze bardziej:

vidstabtransform=wygładzanie=30

vflip
Odwróć wejściowy obraz wideo w pionie.

Na przykład, aby obrócić wideo w pionie za pomocą ffmpeg:

ffmpeg -i in.avi -vf "vflip" out.avi

winieta
Stwórz lub odwróć naturalny efekt winietowania.

Filtr akceptuje następujące opcje:

kąt, a
Ustaw wyrażenie kąta obiektywu jako liczbę radianów.

Wartość jest obcinana w zakresie „[0,PI/2]”.

Wartość domyślna: „PI/5”

x0
y0 Ustaw wyrażenia współrzędnych środka. Odpowiednio „w/2” i „h/2” domyślnie.

tryb
Ustaw tryb do przodu/do tyłu.

Dostępne tryby to:

Naprzód
Im większa odległość od centralnego punktu, tym ciemniejszy staje się obraz.

do tyłu
Im większa odległość od centralnego punktu, tym jaśniejszy obraz.
Można to wykorzystać do odwrócenia efektu winiety, chociaż nie ma automatycznego
wykrywanie w celu wyjęcia soczewki kąt i inne ustawienia (jeszcze). Może być również używany
aby stworzyć efekt spalania.

Wartość domyślna to Naprzód.

eval
Ustaw tryb oceny dla wyrażeń (kąt, x0, y0).

Przyjmuje następujące wartości:

startowych
Oceń wyrażenia tylko raz podczas inicjowania filtru.

rama
Oceń wyrażenia dla każdej przychodzącej ramki. To jest o wiele wolniejsze niż startowych
tryb, ponieważ wymaga ponownego przeliczenia wszystkich skalerów, ale umożliwia zaawansowane
wyrażenia dynamiczne.

Wartość domyślna to startowych.

dither
Ustaw dithering, aby zredukować efekty kołowych pasm. Wartość domyślna to 1 (włączone).

aspekt
Ustaw aspekt winiety. To ustawienie pozwala dostosować kształt winiety.
Ustawienie tej wartości na SAR wejścia spowoduje winietowanie prostokątne
zgodnie z wymiarami wideo.

Wartość domyślna to „1/1”.

Expressions

Połączenia alfa, x0 i y0 wyrażenia mogą zawierać następujące parametry.

w
h szerokość i wysokość wejściowa

n liczba klatek wejściowych, zaczynając od 0

pkt czas PTS (Presentation TimeStamp) przefiltrowanej klatki wideo, wyrażony w TB
jednostki, NAN jeśli nieokreślone

r liczba klatek na sekundę wejściowego wideo, NAN, jeśli liczba klatek na sekundę wejściowa jest nieznana

t PTS (Presentation TimeStamp) przefiltrowanej klatki wideo, wyrażony w sekundach,
NAN, jeśli nieokreślony

tb podstawa czasu wejściowego wideo

Przykłady

· Zastosuj prosty, mocny efekt winietowania:

winieta=PI/4

· Zrób migoczące winietowanie:

winieta='PI/4+przypadkowy(1)*PI/50':ocena=ramka

vsstack
Ułóż wideo wejściowe w pionie.

Wszystkie strumienie muszą mieć ten sam format pikseli i tę samą szerokość.

Pamiętaj, że ten filtr jest szybszy niż używanie narzuta i ścieżka filtr, aby utworzyć ten sam wynik.

Filtr akceptuje następującą opcję:

nb_wejść
Ustaw liczbę strumieni wejściowych. Wartość domyślna to 2.

w3fdif
Usuń przeplot wideo wejściowego („w3fdif” oznacza „Weston 3 Field Deinterlacing Filter”).

W oparciu o proces opisany przez Martina Westona dla BBC R&D i wdrożony w oparciu o
algorytm usuwania przeplotu napisany przez Jima Easterbrooka dla BBC R&D, pole Weston 3
filtr usuwania przeplotu wykorzystuje współczynniki filtru obliczone przez BBC R&D.

Istnieją dwa zestawy współczynników filtra, tzw. „prosty” i „złożony”. Który zestaw
stosowane współczynniki filtra można ustawić, przekazując opcjonalny parametr:

filtrować
Ustaw współczynniki filtra przeplotu. Akceptuje jedną z następujących wartości:

prosty
Prosty zestaw współczynników filtra.

kompleks
Bardziej złożony zestaw współczynników filtra.

Wartość domyślna to kompleks.

det
Określ, które klatki usunąć z przeplotu. Zaakceptuj jedną z następujących wartości:

cała kolekcja Usuń przeplot ze wszystkich klatek,

z przeplotem
Usuwaj tylko klatki oznaczone jako z przeplotem.

Wartość domyślna to cała kolekcja.

kształt fali
Monitor przebiegu wideo.

Monitor przebiegu kreśli intensywność składowej koloru. Domyślnie tylko luminancja. Każdy
kolumna przebiegu odpowiada kolumnie pikseli w źródłowym wideo.

Akceptuje następujące opcje:

tryb, m
Może być „wierszem” lub „kolumną”. Domyślnie jest to „kolumna”. W trybie wiersza wykres na
lewa strona reprezentuje wartość składową koloru 0, a prawa strona reprezentuje wartość =
255. W trybie kolumnowym górna strona reprezentuje wartość składowej koloru = 0, a dolna strona
reprezentuje wartość = 255.

intensywność, i
Ustaw intensywność. Mniejsze wartości są przydatne, aby dowiedzieć się, ile wartości tego samego
luminancja jest rozłożona na wejściowe wiersze/kolumny. Wartość domyślna to 0.04. Dozwolony
zakres to [0, 1].

lustro, r
Ustaw tryb dublowania. 0 oznacza bez dublowania, 1 oznacza dublowanie. W trybie lustrzanym, wyższa
wartości będą reprezentowane po lewej stronie dla trybu „wiersz” i na górze dla „kolumny”
tryb. Wartość domyślna to 1 (dublowane).

wyświetlacz, d
Ustaw tryb wyświetlania. Przyjmuje następujące wartości:

narzuta
Przedstawia informacje identyczne jak w „paradzie”, z tym wyjątkiem, że wykresy
reprezentujące składniki kolorów nakładają się bezpośrednio na siebie.

Ten tryb wyświetlania ułatwia dostrzeżenie względnych różnic lub podobieństw w
nakładające się na siebie obszary składowych koloru, które mają być identyczne, np.
jako neutralne biele, szarości lub czernie.

parada
Wyświetl osobny wykres dla składników koloru obok siebie w trybie „wiersz” lub jeden
poniżej drugiego w trybie „kolumny”.

Korzystanie z tego trybu wyświetlania ułatwia dostrzeżenie przebarwień w obszarach prześwietlonych i
cienie obrazu, porównując kontury górnego i dolnego wykresu
każdy przebieg. Ponieważ biele, szarości i czernie charakteryzują się dokładnie równymi
ilość czerwonych, zielonych i niebieskich, neutralnych obszarów obrazu powinna wyświetlać trzy
przebiegi o mniej więcej równej szerokości/wysokości. Jeśli nie, korekta jest łatwa do wykonania
dokonując regulacji poziomu trzech przebiegów.

Domyślnie jest to „parada”.

składniki, c
Ustaw, które składniki kolorów mają być wyświetlane. Wartość domyślna to 1, co oznacza tylko luminancję lub czerwień
składnik koloru, jeśli wejście jest w przestrzeni kolorów RGB. Jeśli jest ustawiony na przykład na 7, będzie
wyświetl wszystkie 3 (jeśli) dostępne składniki kolorów.

koperta, e
Żaden
Brak koperty, to jest ustawienie domyślne.

natychmiastowy
Natychmiastowa koperta, wartości minimalne i maksymalne prezentowane na wykresie będą łatwe
widoczne nawet przy małej wartości „kroku”.

szczyt
Utrzymuj minimalne i maksymalne wartości przedstawione na wykresie w czasie. W ten sposób możesz
nadal wykrywa wartości poza zakresem bez ciągłego patrzenia na przebiegi.

szczyt+natychmiastowy
Obwiednia szczytowa i natychmiastowa połączone razem.

filtr, f
dolnoprzepustowy
Brak filtrowania, jest to ustawienie domyślne.

mieszkanie
Luma i chroma połączone razem.

mieszkanie
Podobnie jak powyżej, ale pokazuje różnicę między kolorem niebieskim i czerwonym.

chroma
Wyświetla tylko kolor.

achromia
Podobnie jak powyżej, ale pokazuje różnicę między kolorem niebieskim i czerwonym.

kolor
Wyświetla aktualną wartość koloru na przebiegu.

xbr
Zastosuj wysokiej jakości filtr powiększenia xBR, który jest przeznaczony do sztuki pikselowej. To
przestrzega zestawu reguł wykrywania krawędzi, patrz
<http://www.libretro.com/forums/viewtopic.php?f=6&t=134>.

Akceptuje następującą opcję:

n Ustaw wymiar skalowania: 2 dla „2xBR”, 3 dla „3xBR” i 4 dla „4xBR”. Wartość domyślna to 3.

jadif
Usuń przeplot z wejściowego wideo („yadif” oznacza „jeszcze inny filtr usuwający przeplot”).

Przyjmuje następujące parametry:

tryb
Tryb przeplotu do przyjęcia. Przyjmuje jedną z następujących wartości:

0, wyślij ramkę
Wyprowadza jedną klatkę na każdą klatkę.

1, pole_wyslij
Wyprowadza jedną ramkę dla każdego pola.

2, send_frame_nospatial
Podobnie jak „send_frame”, ale pomija sprawdzanie przeplotu przestrzennego.

3, send_field_nospatial
Podobnie jak „send_field”, ale pomija sprawdzanie przeplotu przestrzennego.

Wartość domyślna to „send_frame”.

parytet
Parzystość pola obrazu przyjęta dla wejściowego wideo z przeplotem. Przyjmuje jedną z
następujące wartości:

0, tff
Załóżmy, że górne pole jest pierwsze.

1, bff
Załóżmy, że dolne pole jest pierwsze.

-1, samochód
Włącz automatyczne wykrywanie parzystości pola.

Wartość domyślna to „auto”. Jeśli przeplot jest nieznany lub dekoder nie
eksportuj te informacje, jako pierwsze zostanie przyjęte górne pole.

det
Określ, które klatki usunąć z przeplotu. Zaakceptuj jedną z następujących wartości:

0, cała kolekcja
Usuń przeplot ze wszystkich klatek.

1, z przeplotem
Usuwaj tylko klatki oznaczone jako z przeplotem.

Wartość domyślna to „wszystkie”.

przybliżenie
Zastosuj efekt powiększania i panoramowania.

Ten filtr akceptuje następujące opcje:

Powiększenie, z
Ustaw wyrażenie powiększenia. Wartość domyślna to 1.

x
y Ustaw wyrażenie x i y. Wartość domyślna to 0.

d Ustaw wyrażenie czasu trwania w liczbie klatek. Ustawia to ile
Efekt klatek będzie trwał dla pojedynczego obrazu wejściowego.

s Ustaw rozmiar obrazu wyjściowego, domyślnie jest to „hd720”.

Każde wyrażenie może zawierać następujące stałe:

w_w, iw
Szerokość wejściowa.

w_h, ih
Wysokość wejściowa.

out_w, ow
Szerokość wyjściowa.

poza_h, oh
Wysokość wyjściowa.

in Liczba klatek wejściowych.

on Liczba klatek wyjściowych.

x
y Ostatnio obliczona pozycja 'x' i 'y' z wyrażenia 'x' i 'y' dla bieżącego wejścia
rama.

px
py 'x' i 'y' ostatniej ramki wyjściowej poprzedniej ramki wejściowej lub 0, gdy jeszcze nie było
taka ramka (pierwsza ramka wejściowa).

zoom
Ostatnio obliczone powiększenie z wyrażenia „z” dla bieżącej klatki wejściowej.

pzoom
Ostatnie obliczone powiększenie ostatniej klatki wyjściowej poprzedniej klatki wejściowej.

czas trwania
Liczba ramek wyjściowych dla bieżącej ramki wejściowej. Obliczone na podstawie wyrażenia „d” dla
każdą ramkę wejściową.

czas trwania
liczba ramek wyjściowych utworzonych dla poprzedniej ramki wejściowej

a Liczba wymierna: szerokość wejściowa / wysokość wejściowa

sar przykładowe proporcje

dar proporcje wyświetlacza

Przykłady

· Powiększ do 1.5 i jednocześnie przesuń do jakiegoś miejsca w pobliżu środka obrazu:

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

· Powiększanie do 1.5 i panoramowanie zawsze na środku obrazu:

zoompan=z='min(zoom+0.0015,1.5)':d=700:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)'

VIDEO ŹRÓDŁA


Poniżej znajduje się opis aktualnie dostępnych źródeł wideo.

bufor
Buforuj klatki wideo i udostępniaj je w łańcuchu filtrów.

To źródło jest przeznaczone głównie do użytku programistycznego, w szczególności za pośrednictwem interfejsu
zdefiniowane w libavfilter/vsrc_buffer.h.

Przyjmuje następujące parametry:

rozmiar wideo
Określ rozmiar (szerokość i wysokość) buforowanych klatek wideo. Dla składni
tę opcję, sprawdź "Wideo rozmiar" Sekcja in dotychczasowy narzędzia ffmpeg podręcznik.

szerokość
Wejściowa szerokość wideo.

wysokość
Wejściowa wysokość wideo.

pix_fmt
Ciąg reprezentujący format pikseli buforowanych klatek wideo. To może być
liczba odpowiadająca formatowi piksela lub nazwa formatu piksela.

podstawa czasu
Określ podstawę czasu przyjmowaną przez sygnatury czasowe buforowanych ramek.

częstotliwość wyświetlania klatek
Określ oczekiwaną liczbę klatek na sekundę dla strumienia wideo.

piksel_aspekt, sar
Współczynnik proporcji próbki (pikseli) wejściowego wideo.

sws_param
Określ opcjonalne parametry, które mają być używane dla filtra skali, który jest automatycznie
wstawiany, gdy zostanie wykryta zmiana rozmiaru wejściowego lub formatu wejściowego.

Na przykład:

buffer=width=320:height=240:pix_fmt=yuv410p:time_base=1/24:sar=1

poinstruuje źródło, aby akceptowało klatki wideo o rozmiarze 320x240 i formacie
"yuv410p", przy założeniu, że podstawą czasową sygnatury czasowej jest 1/24 i kwadratowymi pikselami (przykładowy aspekt 1:1)
stosunek). Ponieważ format piksela o nazwie „yuv410p” odpowiada liczbie 6 (sprawdź
enum AVPixelFormat definicja w libavutil/pixfmt.h), ten przykład odpowiada:

buffer=size=320x240:pixfmt=6:time_base=1/24:pixel_aspect=1/1

Alternatywnie opcje można określić jako płaski ciąg, ale ta składnia to
przestarzałe:

szerokość:wysokość:pix_fmt:podstawa_czasu.liczba:baza_czasu.den:piksel_aspekt.num:piksel_aspekt.den[:sws_param]

komórka
Utwórz wzór wygenerowany przez elementarny automat komórkowy.

Początkowy stan automatu komórkowego można określić za pomocą filename,
wzorzec opcje. Jeśli takie opcje nie zostaną określone, stan początkowy jest tworzony losowo.

W każdej nowej klatce nowy wiersz w filmie jest wypełniany wynikiem komórkowym
automat nowej generacji. Zachowanie, gdy cała ramka jest wypełniona, jest określone przez
przewijać opcja.

To źródło akceptuje następujące opcje:

Nazwa pliku, f
Odczytaj początkowy stan automatu komórkowego, tj. początkowy wiersz, z podanego
plik. W pliku każdy znak inny niż biały jest uważany za żywą komórkę, a
znak nowej linii zakończy wiersz, a dalsze znaki w pliku zostaną zignorowane.

wzór, p
Odczytaj początkowy stan automatu komórkowego, tj. początkowy wiersz, z podanego
ciąg.

Każdy znak inny niż biały w łańcuchu jest uważany za żywą komórkę, znak nowej linii
zakończy wiersz, a dalsze znaki w ciągu zostaną zignorowane.

oceniać, r
Ustaw szybkość wideo, czyli liczbę klatek generowanych na sekundę. Wartość domyślna to 25.

współczynnik_losowego_wypełnienia, stosunek
Ustaw losowy współczynnik wypełnienia dla początkowego wiersza automatu komórkowego. To jest unoszące się
wartość numeru punktu w zakresie od 0 do 1, domyślnie 1/PHI.

Ta opcja jest ignorowana, gdy określony jest plik lub wzorzec.

losowe_ziarno, nasienie
Ustaw ziarno do losowego wypełnienia początkowego rzędu, musi być liczbą całkowitą zawartą między
0 i UINT32_MAX. Jeśli nie zostanie określony lub zostanie jawnie ustawiony na -1, filtr spróbuje
użyj dobrego losowego materiału siewnego na zasadzie najlepszych starań.

rządzić
Ustaw regułę automatu komórkowego, jest to liczba z zakresu od 0 do 255. Wartość domyślna
to 110.

rozmiar, s
Ustaw rozmiar wyjściowego wideo. Aby poznać składnię tej opcji, sprawdź "Wideo
rozmiar" Sekcja in dotychczasowy narzędzia ffmpeg podręcznik.

If filename or wzorzec jest określony, rozmiar jest domyślnie ustawiony na szerokość
określony wiersz stanu początkowego, a wysokość jest ustawiona na szerokość *PHI.

If rozmiar jest ustawiony, musi zawierać szerokość określonego ciągu wzorcowego, a
określony wzór zostanie wyśrodkowany w większym rzędzie.

Jeśli nie określono nazwy pliku lub ciągu wzorca, wartość domyślna rozmiaru to
„320x518” (używany do losowo generowanego stanu początkowego).

przewijać
Jeśli ustawiono na 1, przewiń dane wyjściowe w górę, gdy wszystkie wiersze w danych wyjściowych zostały
już wypełnione. Jeśli ustawione na 0, nowy wygenerowany wiersz zostanie nadpisany nad wierszem górnym
zaraz po wypełnieniu dolnego rzędu. Domyślnie 1.

początek_pełny, pełny
Jeśli jest ustawiony na 1, całkowicie wypełnij dane wyjściowe wygenerowanymi wierszami przed wysłaniem
pierwsza klatka. Jest to domyślne zachowanie, aby wyłączyć, należy ustawić wartość na 0.

ścieg
Jeśli ustawiono na 1, zszyj razem lewy i prawy brzeg rzędu. To jest ustawienie domyślne
zachowanie, aby wyłączyć, ustaw wartość na 0.

Przykłady

· Odczytaj stan początkowy z wzorzeci określ dane wyjściowe o rozmiarze 200x400.

cellauto=f=wzór:s=200x400

· Wygeneruj losowy początkowy wiersz o szerokości 200 komórek, ze współczynnikiem wypełnienia 2/3:

cellauto=stosunek=2/3:s=200x200

· Utwórz wzór wygenerowany przez regułę 18, zaczynając od pojedynczej żywej komórki wyśrodkowanej na
początkowy rząd o szerokości 100:

cellauto=p=@s=100x400:full=0:rule=18

· Określ bardziej rozbudowany wzorzec początkowy:

cellauto=p='@@ @ @@':s=100x400:full=0:rule=18

mandelbrota
Wygeneruj fraktal zbioru Mandelbrota i stopniowo zbliżaj się do punktu określonego za pomocą
początek_x i początek_y.

To źródło akceptuje następujące opcje:

koniec_pts
Ustaw wartość terminala pts. Wartość domyślna to 400.

skala_końcowa
Ustaw wartość skali terminala. Musi być wartością zmiennoprzecinkową. Wartość domyślna to 0.3.

wewnętrzny
Ustaw tryb kolorowania wewnętrznego, czyli algorytm używany do rysowania fraktala Mandelbrota
region wewnętrzny.

Przyjmuje jedną z następujących wartości:

czarny
Ustaw tryb czarny.

konwergencja
Pokaż czas do zbieżności.

mincola
Ustaw kolor na podstawie punktu znajdującego się najbliżej początku iteracji.

okres
Ustaw tryb okresu.

Wartość domyślna to mincola.

ratunkowy
Ustaw wartość ratowania. Wartość domyślna to 10.0.

maksiter
Ustaw maksymalną liczbę iteracji wykonywanych przez algorytm renderowania. Wartość domyślna to
7189.

zewnętrzny
Ustaw tryb kolorowania zewnętrznego. Przyjmie jedną z następujących wartości:

liczba_iteracji
Ustaw tryb licznika iteracji.

znormalizowana_liczba_iteracji
ustaw znormalizowany tryb liczenia iteracji.

Wartość domyślna to znormalizowana_liczba_iteracji.

oceniać, r
Ustaw liczbę klatek wyrażoną jako liczba klatek na sekundę. Wartość domyślna to „25”.

rozmiar, s
Ustaw rozmiar ramki. Aby zapoznać się ze składnią tej opcji, sprawdź sekcję „Rozmiar wideo” w
instrukcja ffmpeg-utils. Wartość domyślna to „640x480”.

start_skala
Ustaw początkową wartość skali. Wartość domyślna to 3.0.

początek_x
Ustaw początkową pozycję x. Musi być wartością zmiennoprzecinkową z zakresu od -100 do 100.
Wartość domyślna to -0.743643887037158704752191506114774.

początek_y
Ustaw początkową pozycję y. Musi być wartością zmiennoprzecinkową z zakresu od -100 do 100.
Wartość domyślna to -0.131825904205311970493132056385139.

mptestsrc
Generuj różne wzorce testowe, generowane przez filtr testowy MPlayera.

Rozmiar wygenerowanego wideo jest stały i wynosi 256x256. To źródło jest przydatne w
szczególnie do testowania funkcji kodowania.

To źródło akceptuje następujące opcje:

oceniać, r
Określ szybkość klatek źródła wideo jako liczbę klatek wygenerowanych na
druga. Musi to być ciąg w formacie liczba_szybkości_klatek/liczba_ramek_den, Liczba całkowita
liczba, liczba zmiennoprzecinkowa lub poprawny skrót szybkości klatek wideo. Domyślny
wartość to „25”.

Trwanie, d
Ustaw czas trwania źródłowego wideo. Widzieć dotychczasowy Czas czas trwania Sekcja in dotychczasowy
narzędzia ffmpeg(1) podręcznik dla przyjętej składni.

Jeśli nie określono lub podany czas trwania jest ujemny, wideo powinno być
generowane na zawsze.

test t
Ustaw numer lub nazwę testu do wykonania. Obsługiwane testy to:

dc_luma
dc_chroma
częstotliwość_luma
częstotliwość_chromatyczna
amp_luma
amp_chroma
cbp
mv
ring1
ring2
cała kolekcja

Wartość domyślna to „all”, co spowoduje przechodzenie przez listę wszystkich testów.

Kilka przykładów:

mptestsrc=t=dc_luma

wygeneruje wzór testowy „dc_luma”.

frei0r_src
Podaj darmowe źródło.

Aby umożliwić kompilację tego filtra, musisz zainstalować nagłówek frei0r i skonfigurować
FFmpeg z "--enable-frei0r".

To źródło akceptuje następujące parametry:

rozmiar
Rozmiar filmu do wygenerowania. Aby poznać składnię tej opcji, sprawdź "Wideo
rozmiar" Sekcja in dotychczasowy narzędzia ffmpeg podręcznik.

framerate
Liczba klatek na sekundę wygenerowanego wideo. Może to być ciąg postaci num/dzień lub
skrót liczby klatek na sekundę.

nazwa_filtra
Nazwa frei0r źródła do załadowania. Aby uzyskać więcej informacji na temat frei0r i jak
aby ustawić parametry, przeczytaj frei0r w dokumentacji filtrów wideo.

parametry_filtra
Rozdzielona '|' lista parametrów do przekazania do źródła frei0r.

Na przykład, aby wygenerować źródło frei0r partik0l o rozmiarze 200x200 i szybkości klatek 10
który jest nałożony na główne wejście filtra nakładki:

frei0r_src=size=200x200:framerate=10:filter_name=partik0l:filter_params=1234 [nakładka]; [w][nakładce] nakładki

życie
Wygeneruj wzór życia.

To źródło jest oparte na uogólnieniu gry życiowej Johna Conwaya.

Dane wejściowe reprezentują siatkę życia, każdy piksel reprezentuje komórkę, która może być w jednym
dwóch możliwych stanów, żywy lub martwy. Każda komórka współdziała z ośmioma sąsiadami,
które są komórkami przylegającymi poziomo, pionowo lub po przekątnej.

Przy każdej interakcji siatka ewoluuje zgodnie z przyjętą regułą, która określa
liczba sąsiadujących żywych komórek, która sprawi, że komórka pozostanie przy życiu lub narodzi się. ten rządzić opcja
pozwala określić regułę do przyjęcia.

To źródło akceptuje następujące opcje:

Nazwa pliku, f
Ustaw plik, z którego ma zostać odczytany początkowy stan siatki. W aktach każdy nie-
biały znak jest uważany za żywą komórkę, a znak nowej linii jest używany do rozgraniczenia
koniec każdego rzędu.

Jeśli ta opcja nie zostanie określona, ​​początkowa siatka jest generowana losowo.

oceniać, r
Ustaw szybkość wideo, czyli liczbę klatek generowanych na sekundę. Wartość domyślna to 25.

współczynnik_losowego_wypełnienia, stosunek
Ustaw losowy współczynnik wypełnienia dla początkowej losowej siatki. Jest to liczba zmiennoprzecinkowa
wartość w zakresie od 0 do 1, domyślnie 1/PHI. Jest ignorowany, gdy określony jest plik.

losowe_ziarno, nasienie
Ustaw ziarno do wypełnienia początkowej losowej siatki, musi być liczbą całkowitą zawartą między
0 i UINT32_MAX. Jeśli nie zostanie określony lub zostanie jawnie ustawiony na -1, filtr spróbuje
użyj dobrego losowego materiału siewnego na zasadzie najlepszych starań.

rządzić
Ustaw zasadę życia.

Regułę można określić za pomocą kodu typu „SNS/BNB", gdzie NS i NB jest
ciągi liczb z zakresu 0-8, NS określa liczbę żywych sąsiednich komórek
które sprawiają, że żywa komórka pozostaje żywa i NB liczba żywych sąsiednich komórek, które
zrobić martwą komórkę, aby stała się żywa (tj. „urodziła się”). „s” i „b” mogą być użyte w miejscu
odpowiednio „S” i „B”.

Alternatywnie regułę można określić za pomocą 18-bitowej liczby całkowitej. 9 bitów wysokiego rzędu to
służy do kodowania następnego stanu komórki, jeśli jest żywa dla każdej liczby żywych sąsiadów
komórki, bity niższego rzędu określają zasadę „rodzenia” nowych komórek. Bity wyższego rzędu
koduje dla większej liczby sąsiednich komórek. Na przykład liczba 6153 =
"(12<<9)+9" określa zasadę pozostania przy życiu o wartości 12 i urodzoną zasadę 9, co odpowiada
do "S23/B03".

Domyślna wartość to „S23/B3”, która jest oryginalną zasadą gry życia Conwaya i będzie
utrzymać komórkę przy życiu, jeśli ma 2 lub 3 sąsiednie żywe komórki i urodzi nową komórkę, jeśli
wokół martwej komórki znajdują się trzy żywe komórki.

rozmiar, s
Ustaw rozmiar wyjściowego wideo. Aby poznać składnię tej opcji, sprawdź "Wideo
rozmiar" Sekcja in dotychczasowy narzędzia ffmpeg podręcznik.

If filename jest określony, rozmiar jest domyślnie ustawiony na ten sam rozmiar danych wejściowych
plik. Gdyby rozmiar jest ustawiony, musi zawierać rozmiar określony w pliku wejściowym, a
początkowa siatka zdefiniowana w tym pliku jest wyśrodkowana w większym obszarze wynikowym.

Jeśli nazwa pliku nie jest określona, ​​wartość domyślna rozmiaru to „320x240” (używana do
losowo wygenerowana początkowa siatka).

ścieg
Jeśli ustawiono na 1, zszyj razem lewą i prawą krawędź siatki oraz górną i dolną część
krawędzie również. Domyślnie 1.

pleśń
Ustaw prędkość formy komórkowej. Jeśli ustawione, martwa komórka wyjdzie kolor_śmierci do kolor_formy z
krok pleśń. pleśń może mieć wartość od 0 do 255.

kolor_życia
Ustaw kolor żywych (lub nowo narodzonych) komórek.

kolor_śmierci
Ustaw kolor martwych komórek. Jeśli pleśń jest ustawiony, jest to pierwszy kolor używany do reprezentowania
martwa komórka.

kolor_formy
Ustaw kolor pleśni, dla zdecydowanie martwych i spleśniałych komórek.

Aby zapoznać się ze składnią tych 3 opcji kolorów, sprawdź sekcję „Kolor” w ffmpeg-utils
– instrukcja obsługi.

Przykłady

· Odczytaj siatkę z wzorzeci wyśrodkuj go na siatce o wymiarach 300x300 pikseli:

życie=f=wzór:s=300x300

· Generuj losową siatkę o rozmiarze 200x200 ze współczynnikiem wypełnienia 2/3:

życie=stosunek=2/3:s=200x200

· Określ niestandardową regułę rozwoju losowo generowanej siatki:

życie=reguła=S14/B34

· Pełny przykład z efektem powolnej śmierci (pleśń) przy użyciu 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

całyrgb, alluw, kolor, haldclutsrc, nullsrc, rgbtestsrc, smakołyki, smptehdbary, testyr
Źródło "allrgb" zwraca klatki o rozmiarze 4096x4096 we wszystkich kolorach rgb.

Źródło "allyuv" zwraca klatki o rozmiarze 4096x4096 wszystkich kolorów yuv.

Źródło „koloru” zapewnia jednolicie zabarwiony sygnał wejściowy.

Źródło "haldclutsrc" zapewnia tożsamość Hald CLUT. Zobacz też halucynacja filtr.

Źródło „nullsrc” zwraca nieprzetworzone klatki wideo. Przydaje się głównie do zatrudnienia
w narzędziach do analizy/debugowania lub jako źródło filtrów ignorujących dane wejściowe.

Źródło „rgbtestsrc” generuje wzór testowy RGB przydatny do wykrywania RGB vs BGR
zagadnienia. Powinieneś zobaczyć czerwony, zielony i niebieski pasek od góry do dołu.

Źródło „smptebars” generuje wzór pasków kolorów w oparciu o inżynierię SMPTE
Wytyczne EG 1-1990.

Źródło "smptehdbars" generuje wzór pasków kolorów, oparty na SMPTE RP 219-2002.

Źródło "testsrc" generuje testowy wzór wideo, pokazując wzór koloru, przewijanie
gradient i znacznik czasu. Jest to przeznaczone głównie do celów testowych.

Źródła przyjmują następujące parametry:

kolor, c
Określ kolor źródła, dostępny tylko w źródle „kolor”. Dla składni
tej opcji, sprawdź sekcję „Kolor” w podręczniku ffmpeg-utils.

poziom
Określ poziom Hald CLUT, dostępny tylko w źródle "haldclutsrc". A
poziom "N" generuje obraz "N*N*N" na "N*N*N" pikseli do wykorzystania jako tożsamość
macierz tabel przeglądowych 3D. Każdy składnik jest kodowany w skali „1/(N*N)”.

rozmiar, s
Określ rozmiar źródłowego wideo. Aby poznać składnię tej opcji, sprawdź "Wideo
rozmiar" Sekcja in dotychczasowy narzędzia ffmpeg podręcznik. Domyślna wartość to „320x240”.

Ta opcja nie jest dostępna z filtrem „haldclutsrc”.

oceniać, r
Określ szybkość klatek źródła wideo jako liczbę klatek wygenerowanych na
druga. Musi to być ciąg w formacie liczba_szybkości_klatek/liczba_ramek_den, Liczba całkowita
liczba, liczba zmiennoprzecinkowa lub poprawny skrót szybkości klatek wideo. Domyślny
wartość to „25”.

sar Ustaw przykładowe proporcje źródła wideo.

Trwanie, d
Ustaw czas trwania źródłowego wideo. Widzieć dotychczasowy Czas czas trwania Sekcja in dotychczasowy
narzędzia ffmpeg(1) podręcznik dla przyjętej składni.

Jeśli nie określono lub podany czas trwania jest ujemny, wideo powinno być
generowane na zawsze.

ułamki dziesiętne, n
Ustaw liczbę miejsc dziesiętnych, które mają być wyświetlane w sygnaturze czasowej, dostępne tylko w „testsrc”
źródło.

Wyświetlana wartość znacznika czasu będzie odpowiadać oryginalnej wartości znacznika czasu
pomnożone przez potęgę 10 określonej wartości. Wartość domyślna to 0.

Na przykład następujące:

testrc=czas trwania=5.3:rozmiar=qcif:częstotliwość=10

wygeneruje wideo o czasie trwania 5.3 sekundy, o rozmiarze 176x144 i liczbie klatek
10 klatek na sekundę.

Poniższy opis wykresu wygeneruje czerwone źródło o nieprzezroczystości 0.2, z
rozmiar „qcif” i szybkość odtwarzania 10 klatek na sekundę.

kolor=c=[email chroniony]:s=qcif:r=10

Jeśli treść wejściowa ma być ignorowana, można użyć "nullsrc". Następujące polecenie
generuje szum w płaszczyźnie luminancji, wykorzystując filtr „geq”:

nullsrc=s=256x256, geq=przypadkowy(1)*255:128:128

Polecenia

Źródło „kolor” obsługuje następujące polecenia:

c, kolor
Ustaw kolor tworzonego obrazu. Akceptuje tę samą składnię odpowiedniego kolor
opcja.

VIDEO ZLEWY


Poniżej znajduje się opis aktualnie dostępnych umywalek wideo.

zlew buforowy
Buforuj klatki wideo i udostępniaj je na końcu wykresu filtra.

Ten zlew jest przeznaczony głównie do użytku programistycznego, w szczególności za pośrednictwem interfejsu
zdefiniowane w libavfilter/buffersink.h lub system opcji.

Przyjmuje wskaźnik do struktury AVBufferSinkContext, która definiuje przychodzące
formaty buforów, które mają być przekazane jako parametr nieprzezroczysty do "avfilter_init_filter" dla
inicjalizacja.

nullsink
Null video sink: nie rób absolutnie nic z wejściowym wideo. Przydaje się głównie jako
szablon i do wykorzystania w narzędziach do analizy / debugowania.

MULTIMEDIA FILTRY


Poniżej znajduje się opis aktualnie dostępnych filtrów multimedialnych.

afazometr
Konwertuj wejściowy dźwięk na wyjście wideo, wyświetlając fazę dźwięku.

Filtr akceptuje następujące opcje:

oceniać, r
Ustaw wyjściową liczbę klatek na sekundę. Wartość domyślna to 25.

rozmiar, s
Ustaw rozmiar wideo dla wyjścia. Aby poznać składnię tej opcji, sprawdź "Wideo
rozmiar" Sekcja in dotychczasowy narzędzia ffmpeg podręcznik. Wartość domyślna to „800x400”.

rc
gc
bc Określ kontrast czerwony, zielony, niebieski. Wartości domyślne to 2, 7 i 1. Dozwolony zakres
to „[0, 255]”.

MPC Ustaw kolor, który będzie używany do rysowania fazy mediany. Jeśli kolor to „brak”, co oznacza
domyślnie nie zostanie narysowana żadna mediana wartości fazy.

Filtr eksportuje również metadane ramki „lavfi.aphasemeter.phase”, które reprezentują średnią
faza bieżącej ramki audio. Wartość należy do zakresu „[-1, 1]”. „-1” oznacza lewą i prawą stronę
kanały są całkowicie poza fazą, a 1 oznacza, że ​​kanały są w fazie.

awektoroskop
Konwertuj wejściowy dźwięk na wyjście wideo, reprezentujące zakres wektora audio.

Filtr służy do pomiaru różnicy między kanałami strumienia dźwięku stereo. A
sygnał monofoniczny, składający się z identycznego sygnału lewego i prawego, daje w wyniku prosty
pionowa linia. Każda separacja stereo jest widoczna jako odchylenie od tej linii, tworzące
Postać Lissajous. Jeśli linia prosta (lub odchylenie od niej), ale pozioma pojawia się to
wskazuje, że lewy i prawy kanał są w przeciwfazie.

Filtr akceptuje następujące opcje:

tryb, m
Ustaw tryb wektoroskopu.

Dostępne wartości to:

Lissajous
Lissajous obrócony o 45 stopni.

lissajous_xy
Tak samo jak powyżej, ale nie obrócony.

polarny
Kształt przypominający pół koła.

Wartość domyślna to Lissajous.

rozmiar, s
Ustaw rozmiar wideo dla wyjścia. Aby poznać składnię tej opcji, sprawdź "Wideo
rozmiar" Sekcja in dotychczasowy narzędzia ffmpeg podręcznik. Wartość domyślna to „400x400”.

oceniać, r
Ustaw wyjściową liczbę klatek na sekundę. Wartość domyślna to 25.

rc
gc
bc
ac Określ kontrast czerwony, zielony, niebieski i alfa. Wartości domyślne to 40, 160, 80 i
255. Dozwolony zakres to „[0, 255]”.

rf
gf
bf
af Określ zanikanie koloru czerwonego, zielonego, niebieskiego i alfa. Wartości domyślne to 15, 10, 5 i 5.
Dozwolony zakres to „[0, 255]”.

zoom
Ustaw współczynnik powiększenia. Wartość domyślna to 1. Dozwolony zakres to „[1, 10]”.

Przykłady

· Kompletny przykład przy użyciu 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]'

konkat
Łącz strumienie audio i wideo, łącząc je jeden po drugim.

Filtr działa na segmentach zsynchronizowanych strumieni wideo i audio. Wszystkie segmenty muszą
mieć taką samą liczbę strumieni każdego typu i będzie to również liczba strumieni
na wyjściu.

Filtr akceptuje następujące opcje:

n Ustaw liczbę segmentów. Wartość domyślna to 2.

v Ustaw liczbę wyjściowych strumieni wideo, czyli również liczbę strumieni wideo w
każdy segment. Wartość domyślna to 1.

a Ustaw liczbę wyjściowych strumieni audio, czyli również liczbę strumieni audio w
każdy segment. Wartość domyślna to 0.

niezabezpieczonym
Aktywuj tryb niebezpieczny: nie zawiedź, jeśli segmenty mają inny format.

Filtr ma v+a wyjścia: pierwsze v wyjścia wideo, to a wyjścia audio.

Tam są nx(v+a) wejścia: najpierw wejścia dla pierwszego segmentu, w tej samej kolejności co
wyjścia, następnie wejścia dla drugiego segmentu itd.

Powiązane strumienie nie zawsze mają dokładnie taki sam czas trwania z różnych powodów
w tym rozmiar ramki kodeka lub niechlujny autoring. Z tego powodu powiązane zsynchronizowane
strumienie (np. wideo i ścieżka dźwiękowa) powinny być łączone jednocześnie. Concat
filtr użyje czasu trwania najdłuższego strumienia w każdym segmencie (poza ostatnim),
i jeśli to konieczne, pad krótsze strumienie audio z ciszą.

Aby ten filtr działał poprawnie, wszystkie segmenty muszą zaczynać się od sygnatury czasowej 0.

Wszystkie odpowiadające strumienie muszą mieć te same parametry we wszystkich segmentach; filtrowanie
system automatycznie wybierze typowy format pikseli dla strumieni wideo i typowy
format próbki, częstotliwość próbkowania i układ kanałów dla strumieni audio, ale inne ustawienia, takie jak
jako rozdzielczość, musi zostać wyraźnie przekonwertowana przez użytkownika.

Dopuszczalne są różne szybkości klatek, ale skutkują one zmienną szybkością klatek na wyjściu; być
pamiętaj, aby skonfigurować plik wyjściowy, aby go obsłużyć.

Przykłady

· Połącz początek, odcinek i zakończenie, wszystko w wersji dwujęzycznej (wideo w
strumień 0, audio w strumieniach 1 i 2):

ffmpeg -i opening.mkv -i odcinek.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

· Połącz dwie części, obsługując osobno dźwięk i wideo, używając (a)filmu
źródła i dostosowanie rozdzielczości:

film=część1.mp4, skala=512:288 [v1] ; amovie=część1.mp4 [a1] ;
film=część2.mp4, skala=512:288 [v2] ; amovie=część2.mp4 [a2] ;
[v1] [v2] konkat [outv] ; [a1] [a2] concat=v=0:a=1 [outa]

Pamiętaj, że desynchronizacja nastąpi w ściegu, jeśli strumienie audio i wideo nie zostaną
mieć dokładnie taki sam czas trwania w pierwszym pliku.

ebur128
Filtr skanera EBU R128. Ten filtr pobiera strumień audio jako wejście i wyprowadza go
bez zmian. Domyślnie rejestruje wiadomość z częstotliwością 10 Hz za pomocą funkcji Chwilowy
głośność (oznaczona przez „M”), krótkotrwała głośność („S”), zintegrowana głośność („I”) i
Zakres głośności („LRA”).

Filtr posiada również wyjście wideo (patrz wideo opcja) z wykresem w czasie rzeczywistym do
obserwuj ewolucję głośności. Grafika zawiera zalogowaną wiadomość, o której mowa powyżej,
więc nie jest już drukowany, gdy ta opcja jest ustawiona, chyba że ustawiono szczegółowe rejestrowanie.
Główny obszar wykresów zawiera krótkotrwałą głośność (3 sekundy analizy), a
wskaźnik po prawej stronie dotyczy chwilowej głośności (400 milisekund).

Więcej informacji na temat Rekomendacji Głośności EBU R128 na
<http://tech.ebu.ch/loudness>.

Filtr akceptuje następujące opcje:

wideo
Aktywuj wyjście wideo. Strumień audio jest przekazywany bez zmian, niezależnie od tego, czy ta opcja jest
ustawić lub nie. Strumień wideo będzie pierwszym strumieniem wyjściowym, jeśli zostanie aktywowany. Wartość domyślna to
0.

rozmiar
Ustaw rozmiar wideo. Ta opcja dotyczy tylko wideo. Dla składni tej opcji
Sprawdź "Wideo rozmiar" Sekcja in dotychczasowy narzędzia ffmpeg podręcznik. Domyślna i minimalna
rozdzielczość to „640x480”.

metr
Ustaw miernik skali EBU. Wartość domyślna to 9. Typowe wartości to 9 i 18, odpowiednio dla
Miernik skali EBU +9 i Miernik skali EBU +18. Dowolna inna wartość całkowita z tego zakresu
jest dozwolone.

metadanych
Ustaw wstrzykiwanie metadanych. Jeśli ustawiono na 1, wejście audio zostanie podzielone na 100 ms
ramki wyjściowe, z których każda zawiera różne informacje o głośności w metadanych. Wszystkie
klucze metadanych mają przedrostek „lavfi.r128.”.

Wartość domyślna to 0.

dziennik ramek
Wymuś poziom rejestrowania ramki.

Dostępne wartości to:

Informacje
poziom logowania informacji

gadatliwy
szczegółowy poziom rejestrowania

Domyślnie poziom rejestrowania jest ustawiony na Informacje, Jeśli wideo albo metadanych opcje są
ustawiony, przełącza się na gadatliwy.

szczyt
Ustaw tryby szczytowe.

Dostępne tryby można kumulować (opcja jest typu „flaga”). Możliwe wartości to:

Żaden
Wyłącz dowolny tryb szczytowy (domyślny).

próba
Włącz tryb szczytowy próbki.

Prosty tryb pików poszukujący wyższej wartości próbki. Rejestruje wiadomość dla
sample-peak (oznaczany przez „SPK”).

prawdziwy
Włącz tryb true-peak.

Jeśli włączone, wyszukiwanie szczytów odbywa się na nadmiernie próbkowanej wersji strumienia wejściowego
dla lepszej dokładności pików. Rejestruje wiadomość dla true-peak. (oznaczony przez „TPK”)
i true-peak na ramkę (oznaczane przez „FTPK”). Ten tryb wymaga kompilacji z
"libswresample".

Przykłady

· Wykres w czasie rzeczywistym przy użyciu ffplay, z miernikiem skali EBU +18:

ffplay -f lavfi -i "amovie=input.mp3,ebur128=video=1:meter=18 [out0][out1]"

· Przeprowadź analizę z ffmpeg:

ffmpeg -nostats -i input.mp3 -filter_complex ebur128 -f null -

przekładać, przeplatać
Przeplataj czasowo ramki z kilku wejść.

„interleave” działa z wejściami wideo, „ainterleave” z dźwiękiem.

Filtry te odczytują ramki z kilku wejść i wysyłają najstarszą ramkę w kolejce do
wyjście.

Strumienie wejściowe muszą mieć dobrze zdefiniowane, monotonicznie rosnące wartości znaczników czasu klatek.

Aby przesłać jedną klatkę do wyjścia, filtry te muszą umieścić w kolejce co najmniej jedną klatkę
dla każdego wejścia, więc nie mogą działać w przypadku, gdy jedno wejście nie zostało jeszcze zakończone i nie będzie
odbierać przychodzące ramki.

Rozważmy na przykład przypadek, gdy jedno wejście jest filtrem „wybierz”, który zawsze odrzuca dane wejściowe
ramki. Filtr „przeplatający” będzie nadal odczytywał dane wejściowe, ale nigdy nie będzie
możliwość wysyłania nowych ramek do wyjścia, dopóki wejście nie wyśle ​​sygnału końca strumienia.

Ponadto, w zależności od synchronizacji wejść, filtry pominą ramki w przypadku jednego wejścia
otrzymuje więcej ramek niż pozostałe, a kolejka jest już wypełniona.

Te filtry akceptują następujące opcje:

nb_wejścia, n
Ustaw liczbę różnych wejść, domyślnie jest to 2.

Przykłady

· Przeplataj ramki należące do różnych strumieni za pomocą ffmpeg:

ffmpeg -i bambi.avi -i pr0n.mkv -filter_complex "[0:v][1:v] przeplot" out.avi

· Dodaj efekt migotania rozmycia:

select='jeśli(gt(przypadkowy(0), 0.2), 1, 2)':n=2 [tmp], boxblur=2:2, [tmp] przeplot

ondulacje, apermy
Ustaw uprawnienia do odczytu/zapisu dla ramek wyjściowych.

Filtry te są przeznaczone głównie dla programistów do testowania bezpośredniej ścieżki w następującym filtrze
na wykresie filtra.

Filtry akceptują następujące opcje:

tryb
Wybierz tryb uprawnień.

Przyjmuje następujące wartości:

Żaden
Nic nie robić. To jest ustawienie domyślne.

ro Ustaw wszystkie ramki wyjściowe tylko do odczytu.

rw Ustaw wszystkie ramki wyjściowe bezpośrednio do zapisu.

przełącznik
Ustaw ramkę tylko do odczytu, jeśli jest zapisywalna, i zapisywalną, jeśli jest tylko do odczytu.

przypadkowy
Ustaw losowo każdą ramkę wyjściową tylko do odczytu lub do zapisu.

nasienie
Ustaw ziarno dla przypadkowy tryb, musi być liczbą całkowitą zawartą między 0 a
„UINT32_MAX”. Jeśli nie zostanie określony lub zostanie jawnie ustawiony na „-1”, filtr spróbuje
użyj dobrego losowego materiału siewnego na zasadzie najlepszych starań.

Uwaga: w przypadku automatycznego wstawiania filtra między filtrem uprawnień a następnym,
uprawnienie może nie zostać odebrane zgodnie z oczekiwaniami w tym następującym filtrze. Wstawianie
format or format filtr przed filtrem zezwoleń/apermów może uniknąć tego problemu.

Wybierz, wybierz
Wybierz klatki do przekazania na wyjściu.

Ten filtr akceptuje następujące opcje:

wyraż, e
Ustaw wyrażenie, które jest oceniane dla każdej ramki wejściowej.

Jeśli wyrażenie ma wartość zero, ramka jest odrzucana.

Jeśli wynik oceny jest ujemny lub NaN, ramka jest wysyłana na pierwsze wyjście;
w przeciwnym razie jest wysyłany na wyjście z indeksem „ceil(val)-1”, zakładając, że wejście
indeks zaczyna się od 0.

Na przykład wartość 1.2 odpowiada wyjściu o indeksie „ceil(1.2)-1 = 2-1 =
1”, czyli drugie wyjście.

wyjścia, n
Ustaw liczbę wyjść. Dane wyjściowe, do których należy wysłać wybraną ramkę, są oparte na
wynik oceny. Wartość domyślna to 1.

Wyrażenie może zawierać następujące stałe:

n Numer (sekwencyjny) przefiltrowanej ramki, zaczynając od 0.

wybrane_n
Numer (sekwencyjny) wybranej ramki, zaczynając od 0.

prev_selected_n
Numer sekwencyjny ostatniej wybranej klatki. Jest to NAN, jeśli nie jest zdefiniowany.

TB Podstawa czasowa wejściowych znaczników czasu.

pkt PTS (sygnatura czasowa prezentacji) przefiltrowanej klatki wideo, wyrażona w TB jednostek.
Jest to NAN, jeśli nie jest zdefiniowany.

t PTS przefiltrowanej klatki wideo wyrażony w sekundach. Jest to NAN, jeśli nie jest zdefiniowany.

poprzedni_pts
PTS poprzednio przefiltrowanej klatki wideo. Jest to NAN, jeśli nie jest zdefiniowany.

prev_selected_pts
PTS ostatniej wcześniej filtrowanej klatki wideo. Jest to NAN, jeśli nie jest zdefiniowany.

prev_selected_t
PTS ostatniej wybranej klatki wideo. Jest to NAN, jeśli nie jest zdefiniowany.

punkty_początkowe
PTS pierwszej klatki wideo w filmie. Jest to NAN, jeśli nie jest zdefiniowany.

początek_t
Czas pierwszej klatki wideo w filmie. Jest to NAN, jeśli nie jest zdefiniowany.

typ_obrazu (wideo tylko)
Typ przefiltrowanej ramki. Może przyjąć jedną z następujących wartości:

I
P
B
S
SI
SP
BI
typ_przeplatania (wideo tylko)
Typ z przeplotem ramek. Może przyjąć jedną z następujących wartości:

PROGRESYWNY
Ramka jest progresywna (bez przeplotu).

TOP PIERWSZY
Rama jest na pierwszym miejscu.

NA DOLE
Ramka jest najpierw dolna.

used_sample_n (audio tylko)
liczba wybranych próbek przed bieżącą klatką

próbki_n (audio tylko)
liczba próbek w bieżącej ramce

próbna stawka (audio tylko)
częstotliwość próbkowania wejściowego

klucz Jest to 1, jeśli filtrowana klatka jest klatką kluczową, 0 w przeciwnym razie.

pisać pozycja w pliku przefiltrowanej ramki, -1 jeśli informacja nie jest dostępna
(np. dla wideo syntetycznego)

scena (wideo tylko)
wartość od 0 do 1, aby wskazać nową scenę; niska wartość odzwierciedla małe prawdopodobieństwo
dla bieżącej klatki, aby wprowadzić nową scenę, natomiast wyższa wartość oznacza bieżącą
ramka jest bardziej prawdopodobna (patrz przykład poniżej)

Domyślna wartość wyrażenia select to „1”.

Przykłady

· Wybierz wszystkie klatki w wejściu:

wybierać

Powyższy przykład jest taki sam jak:

wybierz=1

· Pomiń wszystkie klatki:

wybierz=0

· Wybierz tylko I-ramki:

select='eq(typ_obrazu\,I)'

· Wybierz jedną klatkę co 100:

select='not(mod(n\,100))'

· Wybierz tylko klatki zawarte w przedziale czasowym 10-20:

select=pomiędzy(t\,10\,20)

· Wybierz tylko I klatki zawarte w przedziale czasowym 10-20:

wybierz=pomiędzy(t\,10\,20)*eq(pict_type\,I)

· Wybierz klatki o minimalnej odległości 10 sekund:

select='isnan(prev_selected_t)+gte(t-prev_selected_t\,10)'

· Użyj aselect, aby wybrać tylko klatki audio z liczbą próbek > 100:

aselect='gt(samples_n\,100)'

· Stwórz mozaikę pierwszych scen:

ffmpeg -i video.avi -vf select='gt(scena\,0.4)',scale=160:120,kafelek -frames:v 1 podgląd.png

Porównując scena w stosunku do wartości od 0.3 do 0.5 jest na ogół rozsądnym wyborem.

· Wysyłaj ramki parzyste i nieparzyste do oddzielnych wyjść i komponuj je:

select=n=2:e='mod(n, 2)+1' [nieparzysty][parzysty]; [nieparzysty] pad=h=2*ih [tmp]; [tmp][even] overlay=y=h

wyślij cmd, asendcmd
Wysyłaj polecenia do filtrów na wykresie filtrów.

Filtry te odczytują polecenia, które mają być wysłane do innych filtrów na wykresie filtrów.

„sendcmd” musi być wstawione między dwa filtry wideo, „asendcmd” musi być wstawione między
dwa filtry audio, ale poza tym działają tak samo.

Specyfikację poleceń można podać w argumentach filtra z Polecenia
opcji lub w pliku określonym przez filename opcja.

Te filtry akceptują następujące opcje:

polecenia, c
Ustaw polecenia, które mają być odczytywane i wysyłane do innych filtrów.

Nazwa pliku, f
Ustaw nazwę pliku poleceń, które mają być odczytywane i wysyłane do innych filtrów.

Polecenia składnia

Opis poleceń składa się z sekwencji specyfikacji interwałów, zawierającej
lista poleceń do wykonania, gdy wystąpi określone zdarzenie związane z tym interwałem.
Występujące zdarzenie to zazwyczaj czas wejścia lub wyjścia bieżącej klatki w określonym czasie
interwał.

Interwał określa następująca składnia:

[- ] ;

Przedział czasu jest określony przez START i KONIEC razy. KONIEC jest opcjonalne i domyślne
do maksymalnego czasu.

Bieżący czas klatek jest uważany za mieszczący się w określonym przedziale, jeśli jest uwzględniony w
przerwa [START, KONIEC), czyli gdy czas jest większy lub równy START i jest
Mniej niż KONIEC.

POLECENIA składa się z sekwencji jednej lub więcej specyfikacji poleceń, oddzielonych znakami ",",
odnoszące się do tego przedziału. Składnia specyfikacji polecenia jest podana przez:

[ ]

FLAGI jest opcjonalny i określa rodzaj zdarzeń odnoszących się do przedziału czasowego, który
włączyć wysyłanie określonego polecenia i musi być niezerową sekwencją flag identyfikatorów
oddzielone znakami „+” lub „|” i ujęte między "[" i "]".

Rozpoznawane są następujące flagi:

wchodzić
Polecenie jest wysyłane, gdy znacznik czasu bieżącej ramki wejdzie w określony interwał. w
innymi słowy, polecenie jest wysyłane, gdy znacznik czasu poprzedniej ramki nie znajdował się w
podany przedział, a prąd jest.

pozostawiać
Polecenie jest wysyłane, gdy znacznik czasu bieżącej ramki opuszcza określony interwał. w
innymi słowy, polecenie jest wysyłane, gdy poprzedni znacznik czasu ramki był w podanym
interwał, a prąd nie.

If FLAGI nie jest określony, przyjmowana jest domyślna wartość „[enter]”.

TARGET określa cel polecenia, zwykle nazwę klasy filtra lub a
konkretna nazwa instancji filtra.

COMMAND określa nazwę polecenia dla filtra docelowego.

ARG jest opcjonalny i określa opcjonalną listę argumentów dla danego COMMAND.

Między jedną specyfikacją interwału a drugą spacje lub sekwencje znaków
zaczynające się od "#" aż do końca linii, są ignorowane i mogą być używane do opisywania komentarzy.

Uproszczony opis składni specyfikacji poleceń BNF jest następujący:

::= "wejdź" | "opuszczać"
::= [(+|"|") ]
::= ["[" "]"] [ ]
::= [, ]
::= [- ]
::= [; ]

Przykłady

· Określ zmianę tempa dźwięku w drugiej 4:

asendcmd=c='4.0 tempo tempa 1.5',tempo

· Określ listę poleceń tekstu rysunkowego i odcienia w pliku.

# pokaż tekst w przedziale 5-10
5.0-10.0 [enter] drawtext reinit 'fontfile=FreeSerif.ttf:text=hello world',
[pozostaw] drawtext reinit 'fontfile=FreeSerif.ttf:text=';

# desaturuj obraz w przedziale 15-20
15.0-20.0 [wpisz] barwa s 0,
[enter] drawtext reinit 'fontfile=FreeSerif.ttf:text=nocolor',
[pozostaw] odcień s 1,
[pozostaw] drawtext reinit 'fontfile=FreeSerif.ttf:text=color';

# zastosuj wykładniczy efekt zanikania nasycenia, zaczynając od 25
25 [enter] hue s exp (25-t)

Wykres filtra pozwalający na odczytanie i przetworzenie powyższej listy poleceń zapisanej w pliku
test. cmd, można określić za pomocą:

sendcmd=f=test.cmd,drawtext=fontfile=FreeSerif.ttf:text='',hue

setpty, atuty
Zmień PTS (sygnaturę czasową prezentacji) ramek wejściowych.

"setpts" działa na ramkach wideo, "asetpts" na ramkach audio.

Ten filtr akceptuje następujące opcje:

expr
Wyrażenie, które jest oceniane dla każdej klatki w celu skonstruowania jej znacznika czasu.

Wyrażenie jest oceniane przez eval API i może zawierać następujące stałe:

CZĘSTOTLIWOŚĆ WYŚWIETLANIA KLATEK
liczba klatek na sekundę, zdefiniowana tylko dla filmów ze stałą liczbą klatek na sekundę

PTS Znacznik czasu prezentacji na wejściu

N Liczba klatek wejściowych wideo lub liczba wykorzystanych próbek, nie
w tym bieżącą ramkę dla dźwięku, zaczynając od 0.

NB_CONSUMED_SAMPLES
Liczba zużytych próbek, nie wliczając bieżącej klatki (tylko audio)

NB_PRÓBKI, S
Liczba próbek w bieżącej ramce (tylko audio)

PRÓBNA STAWKA, SR
Częstotliwość próbkowania dźwięku.

POCZĄTKOWE
PTS pierwszej klatki.

ROZPOCZNIJ
czas w sekundach pierwszej klatki

Z PRZEPLOTEM
Określ, czy bieżąca ramka jest z przeplotem.

T czas w sekundach bieżącej klatki

POS oryginalna pozycja w pliku ramki lub niezdefiniowana, jeśli nie jest zdefiniowana dla bieżącego
rama

POPRZEDNIE_INPTS
Poprzednie wejście PTS.

POPRZEDNI_INT
poprzedni czas wprowadzania w sekundach

POPRZEDNIE_WYJŚCIA
Poprzednie wyjście PTS.

POPRZEDNIE_WYJ
poprzedni czas wyjścia w sekundach

CZAS RTC
Czas zegara ściennego (RTC) w mikrosekundach. To jest przestarzałe, użyj czas(0) zamiast tego.

RTCSTART
Zegar ścienny (RTC) na początku filmu w mikrosekundach.

TB Podstawa czasowa wejściowych znaczników czasu.

Przykłady

· Rozpocznij liczenie PTS od zera

setpts=PTS-STARTPTS

· Zastosuj efekt szybkiego ruchu:

setpts=0.5*PTS

· Zastosuj efekt zwolnionego tempa:

setpts=2.0*PTS

· Ustaw stałą szybkość 25 klatek na sekundę:

nastawy=N/(25*TB)

· Ustaw stałą szybkość 25 fps z pewnym jitterem:

setpts='1/(25*TB) * (N + 0.05 * sin(N*2*PI/25))'

· Zastosuj 10-sekundowe przesunięcie do wejściowego PTS:

setpts=PTS+10/TB

· Generowanie znaczników czasu z „źródła na żywo” i ponowne bazowanie na bieżącej podstawie czasu:

setpts='(RTCTIME - RTCSTART) / (TB * 1000000)'

· Generowanie znaczników czasu poprzez zliczanie próbek:

aktywa=N/SR/TB

setb, zasób
Ustaw podstawę czasową używaną dla znaczników czasu klatek wyjściowych. Przydaje się głównie do testowania
konfiguracja podstawy czasu.

Przyjmuje następujące parametry:

wyraż, tb
Wyrażenie, które jest oceniane w wyjściowej podstawie czasu.

Wartość dla tb jest wyrażeniem arytmetycznym reprezentującym wymierność. Wyrażenie może
zawierać stałe "AVTB" (domyślna podstawa czasu), "intb" (wejściowa podstawa czasu) i "sr"
(częstotliwość próbkowania, tylko dźwięk). Wartość domyślna to "intb".

Przykłady

· Ustaw podstawę czasu na 1/25:

settb=wyraż=1/25

· Ustaw podstawę czasu na 1/10:

settb=wyraż=0.1

· Ustaw podstawę czasu na 1001/1000:

setb=1+0.001

· Ustaw podstawę czasu na 2*intb:

settb=2*intb

· Ustaw domyślną wartość podstawy czasu:

settb=AVTB

pokażcqt
Konwertuj wejściowy dźwięk na wyjście wideo reprezentujące logarytmicznie widmo częstotliwości
(przy użyciu stałej transformacji Q z algorytmem Browna-Puckette), z muzyczną skalą tonów, od
E0 do D#10 (10 oktaw).

Filtr akceptuje następujące opcje:

Tom
Określ wyrażenie objętości transformacji (mnożnika). Wyrażenie może zawierać
zmienne:

częstotliwość, często, f
częstotliwość, w której oceniana jest transformacja

chronometr, tc
wartość opcji timeclamp

i funkcje:

a_ważenie(f)
Ważenie A równej głośności

b_ważenie(f)
Ważenie B równej głośności

c_waga(f)
Ważenie C równej głośności

Wartość domyślna to 16.

długość
Określ wyrażenie długości transformacji. Wyrażenie może zawierać zmienne:

częstotliwość, często, f
częstotliwość, w której oceniana jest transformacja

chronometr, tc
wartość opcji timeclamp

Wartość domyślna to „384/f*tc/(384/f+tc)”.

czasomierz
Określ czas przekształcenia. Przy niskiej częstotliwości występuje kompromis między dokładnością
w dziedzinie czasu i częstotliwości. Jeśli timeclamp jest niższy, zdarzenie w dziedzinie czasu jest
reprezentowane dokładniej (np. szybki bęben basowy), w przeciwnym razie zdarzenie w częstotliwości
domena jest reprezentowana dokładniej (np. gitara basowa). Dopuszczalna wartość to [0.1,
1.0]. Wartość domyślna to 0.17.

współzacisk
Określ coeffclamp transformacji. Jeśli coeffclamp jest niższy, transformacja jest dokładniejsza,
w przeciwnym razie transformacja jest szybsza. Dopuszczalna wartość to [0.1, 10.0]. Wartość domyślna to 1.0.

gamma
Określ gamma. Niższa gamma sprawia, że ​​widmo jest bardziej kontrastowe, wyższa gamma sprawia, że
widmo o większym zasięgu. Dopuszczalna wartość to [1.0, 7.0]. Wartość domyślna to 3.0.

gamma2
Określ gamma bargrafu. Dopuszczalna wartość to [1.0, 7.0]. Wartość domyślna to 1.0.

plik czcionek
Określ plik czcionki do użytku z freetype. Jeśli nie określono, użyj osadzonej czcionki.

kolor czcionki
Określ wyrażenie koloru czcionki. To jest wyrażenie arytmetyczne, które powinno zwrócić
wartość całkowita 0xRRGGBB. Wyrażenie może zawierać zmienne:

częstotliwość, często, f
częstotliwość, w której oceniana jest transformacja

chronometr, tc
wartość opcji timeclamp

i funkcje:

midi (k)
liczba midi częstotliwości f, niektóre liczby midi: E0(16) C1(24) C2(36) A4(69)

r(x), g(x), b(x)
czerwona, zielona i niebieska wartość natężenia x

Wartość domyślna to "st(0, (midi(f)-59.5)/12); st(1, if(między(ld(0),0,1),
0.5-0.5*cos(2*PI*ld(0)), 0)); R(1-ld(1)) + b(ld(1))"

FullHD
Jeśli jest ustawiony na 1 (domyślnie), rozmiar wideo to 1920x1080 (full HD), jeśli jest ustawiony na 0,
rozmiar wideo to 960x540. Użyj tej opcji, aby zmniejszyć zużycie procesora.

fps Określ fps wideo. Wartość domyślna to 25.

liczyć
Określ liczbę przekształceń na klatkę, aby liczba przekształceń fps*liczyła się na sekundę.
Zauważ, że szybkość transmisji danych audio musi być podzielna przez fps*count. Wartość domyślna to 6.

Przykłady

· Odtwarzanie dźwięku podczas pokazywania widma:

ffplay -f lavfi 'amovie=a.mp3, asplit [a][out1]; [a] showcqt [out0]'

· Tak samo jak powyżej, ale z szybkością 30 kl./s:

ffplay -f lavfi 'amovie=a.mp3, asplit [a][out1]; [a] showcqt=fps=30:count=5 [out0]'

· Gra w rozdzielczości 960x540 i niższym zużyciu procesora:

ffplay -f lavfi 'amovie=a.mp3, asplit [a][out1]; [a] showcqt=fullhd=0:count=3 [out0]'

· A1 i jego harmoniczne: A1, A2, (blisko)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]'

· Tak samo jak powyżej, ale z większą dokładnością w dziedzinie częstotliwości (i wolniej):

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]'

· Ważenie B równej głośności

objętość=16*b_waga(f)

· Niższy współczynnik Q

tdługość=100/k*tc/(100/k+tc)

· Niestandardowy kolor czcionki, C-note jest w kolorze zielonym, inne w kolorze niebieskim

fontcolor='if(mod(podłoga(midi(f)+0.5),12), 0x0000FF, g(1))”

· Niestandardowa gamma, teraz widmo jest liniowe do amplitudy.

gamma=2:gamma2=2

pokazujczęstości
Konwertuj wejście audio na wyjście wideo reprezentujące widmo mocy dźwięku. Audio
amplituda jest na osi Y, a częstotliwość na osi X.

Filtr akceptuje następujące opcje:

rozmiar, s
Określ rozmiar wideo. Aby poznać składnię tej opcji, sprawdź "Wideo rozmiar" Sekcja
in dotychczasowy narzędzia ffmpeg podręcznik. Wartość domyślna to „1024x512”.

tryb
Ustaw tryb wyświetlania. Ustawia to, w jaki sposób będzie reprezentowany każdy przedział częstotliwości.

Przyjmuje następujące wartości:

linia
bar
kropka

Domyślnie jest to „bar”.

skala
Ustaw skalę amplitudy.

Przyjmuje następujące wartości:

lin Skala liniowa.

kwadrat
Skala pierwiastka kwadratowego.

cbrt
Skala pierwiastka sześciennego.

log Skala logarytmiczna.

Wartość domyślna to „log”.

fskala
Ustaw skalę częstotliwości.

Przyjmuje następujące wartości:

lin Skala liniowa.

log Skala logarytmiczna.

rlog
Odwrócona skala logarytmiczna.

Domyślnie jest to „lin”.

wygrana_rozmiar
Ustaw rozmiar okna.

Przyjmuje następujące wartości:

w16
w32
w64
w128
w256
w512
w1024
w2048
w4096
w8192
w16384
w32768
w65536

Wartość domyślna to „w2048”

win_funkcja
Ustaw funkcję okienkowania.

Przyjmuje następujące wartości:

rect
Bartlett
Hanning
łomotanie
czarnoskóry
welch
płaskowyż
Bharris
okropnie
Bhann
sinus
orzechowy

Wartość domyślna to „hanning”.

zakładka
Ustaw nakładanie się okien. W zakresie „[0, 1]”. Wartość domyślna to 1, co oznacza optymalne nakładanie się dla
wybrana funkcja okna zostanie wybrana.

średnio
Ustaw uśrednianie czasu. Ustawienie tego na 0 spowoduje wyświetlenie bieżących maksymalnych szczytów. Wartość domyślna to
1, co oznacza, że ​​uśrednianie czasu jest wyłączone.

kolor
Określ listę kolorów oddzielonych spacją lub znakiem „|” który zostanie użyty do narysowania kanału
częstotliwości. Nierozpoznane lub brakujące kolory zostaną zastąpione kolorem białym.

showspektrum
Konwertuj wejściowy dźwięk na wyjście wideo, reprezentujące widmo częstotliwości dźwięku.

Filtr akceptuje następujące opcje:

rozmiar, s
Określ rozmiar wideo dla wyjścia. Aby poznać składnię tej opcji, sprawdź "Wideo
rozmiar" Sekcja in dotychczasowy narzędzia ffmpeg podręcznik. Wartość domyślna to „640x512”.

ślizgać się
Określ, jak widmo powinno przesuwać się w oknie.

Przyjmuje następujące wartości:

obsługi produkcji rolnej, która zastąpiła
próbki zaczynają się ponownie po lewej stronie, gdy dotrą do prawej

przewijać
próbki przewijają się od prawej do lewej

pełna ramka
ramki są produkowane tylko wtedy, gdy próbki docierają w prawo

Wartość domyślna to „zamień”.

tryb
Określ tryb wyświetlania.

Przyjmuje następujące wartości:

połączony
wszystkie kanały są wyświetlane w tym samym wierszu

oddzielny
wszystkie kanały są wyświetlane w osobnych wierszach

Wartość domyślna to połączony.

kolor
Określ tryb wyświetlania kolorów.

Przyjmuje następujące wartości:

kanał
każdy kanał jest wyświetlany w osobnym kolorze

intensywność
każdy kanał jest wyświetlany w tym samym schemacie kolorów

Wartość domyślna to kanał.

skala
Określ skalę używaną do obliczania wartości intensywności kolorów.

Przyjmuje następujące wartości:

lin liniowy

kwadrat
pierwiastek kwadratowy, domyślnie

cbrt
korzeń sześcienny

log logarytmiczna

Wartość domyślna to kwadrat.

nasycenie
Ustaw modyfikator nasycenia dla wyświetlanych kolorów. Wartości ujemne stanowią alternatywę
schemat kolorów. 0 to w ogóle brak nasycenia. Nasycenie musi mieścić się w zakresie [-10.0, 10.0].
Wartość domyślna to 1.

win_funkcja
Ustaw funkcję okna.

Przyjmuje następujące wartości:

Żaden
Brak wstępnego przetwarzania próbek (nie oczekuj, że będzie to szybsze)

Hanna
Okno Hanna

łomotanie
Okno Hamminga

czarnoskóry
Okno Blackmana

Wartość domyślna to „hann”.

Użycie jest bardzo podobne do filtra showwaves; zobacz przykłady w tej sekcji.

Przykłady

· Duże okno z logarytmicznym skalowaniem kolorów:

showspectrum=s=1280x480:scale=log

· Kompletny przykład dla kolorowego i przesuwającego się widma na kanał przy użyciu ffplay:

ffplay -f lavfi 'amovie=input.mp3, asplit [a][out1];
[a] showspectrum=mode=separate:color=intensity:slide=1:scale=cbrt [out0]'

pokaż głośność
Konwertuj wejściową głośność audio na wyjście wideo.

Filtr akceptuje następujące opcje:

oceniać, r
Ustaw szybkość wideo.

b Ustaw szerokość obramowania, dozwolony zakres to [0, 5]. Wartość domyślna to 1.

w Ustaw szerokość kanału, dozwolony zakres to [40, 1080]. Wartość domyślna to 400.

h Ustaw wysokość kanału, dozwolony zakres to [1, 100]. Wartość domyślna to 20.

f Ustaw zanikanie, dozwolony zakres to [1, 255]. Wartość domyślna to 20.

c Ustaw ekspresję koloru głośności.

Wyrażenie może używać następujących zmiennych:

TOM
Aktualna maksymalna głośność kanału w dB.

CHANNEL
Aktualny numer kanału, zaczynając od 0.

t Jeśli ustawione, wyświetla nazwy kanałów. Domyślnie jest włączone.

Pokaż fale
Konwertuj wejściowy dźwięk na wyjście wideo, reprezentujące fale próbek.

Filtr akceptuje następujące opcje:

rozmiar, s
Określ rozmiar wideo dla wyjścia. Aby poznać składnię tej opcji, sprawdź "Wideo
rozmiar" Sekcja in dotychczasowy narzędzia ffmpeg podręcznik. Wartość domyślna to „600x240”.

tryb
Ustaw tryb wyświetlania.

Dostępne wartości to:

punkt
Narysuj punkt dla każdej próbki.

linia
Narysuj pionową linię dla każdej próbki.

p2p Narysuj punkt dla każdej próbki i linię między nimi.

Cline
Narysuj wyśrodkowaną linię pionową dla każdej próbki.

Wartość domyślna to „punkt”.

n Ustaw liczbę próbek, które są drukowane w tej samej kolumnie. Większa wartość będzie
zmniejszyć liczbę klatek na sekundę. Musi być dodatnią liczbą całkowitą. Tę opcję można ustawić tylko wtedy, gdy
wartość dla stawka nie jest wyraźnie określony.

oceniać, r
Ustaw (przybliżoną) wyjściową szybkość klatek. Odbywa się to poprzez ustawienie opcji n. Domyślna
wartość to „25”.

podzielone_kanały
Ustaw, czy kanały mają być rysowane osobno, czy nakładają się. Wartość domyślna to 0.

Przykłady

· Jednoczesne wysyłanie audio pliku wejściowego i odpowiedniej reprezentacji wideo
czas:

amovie=a.mp3,asplit[out0],showwaves[out1]

· Stwórz syntetyczny sygnał i pokaż go za pomocą fal pokazowych, wymuszając szybkość klatek 30
klatki na sekundę:

aevalsrc=sin(1*2*PI*t)*sin(880*2*PI*t):cos(2*PI*200*t),asplit[out0],showwaves=r=30[out1]

pokażwavespic
Konwertuj dźwięk wejściowy na pojedynczą klatkę wideo, reprezentującą fale próbek.

Filtr akceptuje następujące opcje:

rozmiar, s
Określ rozmiar wideo dla wyjścia. Aby poznać składnię tej opcji, sprawdź "Wideo
rozmiar" Sekcja in dotychczasowy narzędzia ffmpeg podręcznik. Wartość domyślna to „600x240”.

podzielone_kanały
Ustaw, czy kanały mają być rysowane osobno, czy nakładają się. Wartość domyślna to 0.

Przykłady

· Wyodrębnij reprezentację podzielonego kanału z kształtu fali całej ścieżki audio w
Obraz 1024x800 przy użyciu ffmpeg:

ffmpeg -i audio.flac -lavfi showwavespic=split_channels=1:s=1024x800 waveform.png

podział, rozłam
Podziel wejście na kilka identycznych wyjść.

„asplit” działa z wejściem audio, „split” z wideo.

Filtr akceptuje pojedynczy parametr określający liczbę wyjść. Jeśli
nieokreślony, domyślnie 2.

Przykłady

· Utwórz dwa oddzielne wyjścia z tego samego wejścia:

[wejście] podział [wyjście0][wyjście1]

· Aby utworzyć 3 lub więcej wyjść, musisz określić liczbę wyjść, jak w:

[wejście] asplit=3 [wyjście0][wyjście1][wyjście2]

· Utwórz dwa oddzielne wyjścia z tego samego wejścia, jedno przycięte, a drugie dopełnione:

[w] split [splitout1][splitout2];
[splitout1] crop=100:100:0:0 [cropout];
[splitout2] pad=200:200:100:100 [padout];

· Utwórz 5 kopii wejściowego dźwięku za pomocą ffmpeg:

ffmpeg -i WEJŚCIE -filter_kompleks asplit=5 WYJŚCIE

zmq, Azmq
Odbieraj polecenia wysyłane przez klienta libzmq i przesyłaj je do filtrów w
wykres filtra.

„zmq” i „azmq” działają jako filtry tranzytowe. „zmq” należy wstawić między dwa filmy
filtry, „azmq” między dwoma filtrami audio.

Aby włączyć te filtry, musisz zainstalować bibliotekę libzmq i nagłówki oraz skonfigurować
FFmpeg z "--enable-libzmq".

Aby uzyskać więcej informacji o libzmq zobacz:http://www.zeromq.org/>

Filtry "zmq" i "azmq" działają jako serwer libzmq, który odbiera wiadomości wysyłane przez
interfejs sieciowy zdefiniowany przez adres_powiązania opcja.

Otrzymana wiadomość musi mieć postać:

[ ]

TARGET określa cel polecenia, zwykle nazwę klasy filtra lub a
konkretna nazwa instancji filtra.

COMMAND określa nazwę polecenia dla filtra docelowego.

ARG jest opcjonalny i określa opcjonalną listę argumentów dla danego COMMAND.

Po odebraniu wiadomość jest przetwarzana, a odpowiednie polecenie jest wstrzykiwane do
wykres filtra. W zależności od wyniku filtr wyśle ​​odpowiedź do klienta,
przyjęcie formatu:




MESSAGE jest opcjonalne.

Przykłady

Spójrz na narzędzia/zmqsend na przykład klienta zmq, który może być używany do wysyłania poleceń
przetwarzane przez te filtry.

Rozważ poniższy wykres filtra wygenerowany przez ffplay

ffplay -dumpgraph 1 -f lavfi "
kolor=s=100x100:c=czerwony [l];
kolor=s=100x100:c=niebieski [r];
nullsrc=s=200x100, zmq [bg];
[bg][l] nakładka [bg+l];
[bg+l][r] nakładka=x=100 "

Aby zmienić kolor lewej strony wideo, można użyć następującego polecenia:

echo Parsed_color_0 c żółty | narzędzia/zmqsend

Aby zmienić prawą stronę:

echo Parsed_color_1 c różowy | narzędzia/zmqsend

MULTIMEDIA ŹRÓDŁA


Poniżej znajduje się opis aktualnie dostępnych źródeł multimediów.

film
To to samo co film źródło, z wyjątkiem tego, że domyślnie wybiera strumień audio.

film
Czytaj strumienie audio i/lub wideo z kontenera filmów.

Przyjmuje następujące parametry:

filename
Nazwa zasobu do odczytu (niekoniecznie plik; może to być również urządzenie lub
strumień dostępny za pośrednictwem pewnego protokołu).

nazwa_formatu, f
Określa format przyjęty do odczytania filmu i może być nazwą
pojemnik lub urządzenie wejściowe. Jeśli nie określono, format jest odgadywany z nazwa_filmu
lub przez sondowanie.

szukaj_punktu, sp
Określa punkt wyszukiwania w sekundach. Ramki będą wyprowadzane począwszy od tego wyszukiwania
punkt. Parametr jest oceniany za pomocą „av_strtod”, więc wartość liczbowa może być
z przyrostkiem IS. Wartość domyślna to „0”.

strumienie, s
Określa strumienie do odczytu. Można określić kilka strumieni, oddzielonych znakiem „+”. ten
source będzie wtedy mieć tyle samo wyjść w tej samej kolejności. Składnia jest wyjaśniona w
sekcja ``Specyfikatory strumienia'' w podręczniku ffmpeg. Dwie specjalne nazwy, „dv” i
„da” określa odpowiednio domyślny (najlepiej dopasowany) strumień wideo i audio. Wartość domyślna to
„dv” lub „da”, jeśli filtr nazywa się „amovie”.

strumień_indeks, si
Określa indeks strumienia wideo do odczytania. Jeśli wartość wynosi -1, najbardziej odpowiednia
strumień wideo zostanie wybrany automatycznie. Wartość domyślna to „-1”. Przestarzałe. Jeśli
filtr nazywa się „amovie”, wybierze dźwięk zamiast wideo.

pętla
Określa, ile razy należy kolejno odczytać strumień. Jeśli wartość jest mniejsza niż 1,
strumień będzie czytany raz za razem. Wartość domyślna to „1”.

Zwróć uwagę, że gdy film jest zapętlony, znaczniki czasu źródła nie są zmieniane, więc będzie
generować niemonotonicznie rosnące znaczniki czasu.

Pozwala na nałożenie drugiego wideo na główne wejście wykresu filtra, jak pokazano na
ten wykres:

wejście -----------> deltapts0 --> nakładka --> wyjście
^
|
film --> skala --> deltapts1 -------+

Przykłady

· Pomiń 3.2 sekundy od początku pliku AVI in.avi i nałóż go na
wejście oznaczone "in":

movie=in.avi:seek_point=3.2, scale=180:-1, setpts=PTS-STARTPTS [ponad];
[w] setpts=PTS-STARTPTS [główne];
[główny][nad] nakładka=16:16 [na zewnątrz]

· Czytaj z urządzenia video4linux2 i nałóż na wejście oznaczone "in":

movie=/dev/video0:f=video4linux2, scale=180:-1, setpts=PTS-STARTPTS [ponad];
[w] setpts=PTS-STARTPTS [główne];
[główny][nad] nakładka=16:16 [na zewnątrz]

· Odczytaj pierwszy strumień wideo i strumień audio o identyfikatorze 0x81 z pliku dvd.vob; wideo
jest podłączony do pada o nazwie „wideo”, a dźwięk jest podłączony do pada o nazwie
"audio":

film=dvd.vob:s=v:0+#0x81 [wideo] [dźwięk]

Korzystaj z ffplay-all online, korzystając z usług onworks.net


Darmowe serwery i stacje robocze

Pobierz aplikacje Windows i Linux

  • 1
    Phaser
    Phaser
    Phaser to szybka, darmowa i zabawna gra otwarta
    źródłowa struktura gry HTML5, która oferuje
    Renderowanie WebGL i Canvas w poprzek
    przeglądarek internetowych na komputery i urządzenia mobilne. Gry
    może być współ...
    Pobierz Phaser
  • 2
    Silnik WASAL
    Silnik WASAL
    VASSAL to silnik gry do tworzenia
    elektroniczne wersje tradycyjnej tablicy
    i gry karciane. Zapewnia wsparcie dla
    renderowanie elementów gry i interakcja,
    i ...
    Pobierz silnik VASSAL
  • 3
    OpenPDF — rozwidlenie iText
    OpenPDF — rozwidlenie iText
    OpenPDF to biblioteka Java do tworzenia
    i edycji plików PDF z LGPL i
    Licencja open source MPL. OpenPDF to
    LGPL/MPL open source następca iText,
    w ...
    Pobierz OpenPDF — rozwidlenie iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - System do Automatyzacji
    Analizy geologiczne - to geografia
    Oprogramowanie systemu informacyjnego (GIS) z
    ogromne możliwości geodanych
    przetwarzanie i an...
    Pobierz SAGA GIS
  • 5
    Przybornik dla Java/JTOOpen
    Przybornik dla Java/JTOOpen
    IBM Toolbox for Java / JTOpen to
    biblioteka klas Java obsługująca
    klient/serwer i programowanie internetowe
    modeli do systemu z systemem OS/400,
    i5/OS, lub...
    Pobierz Zestaw narzędzi dla języka Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (lub D3 dla dokumentów opartych na danych)
    to biblioteka JavaScript, która pozwala
    do tworzenia dynamicznych, interaktywnych danych
    wizualizacje w przeglądarkach internetowych. Z D3
    ty...
    Pobierz plik D3.js
  • więcej »

Komendy systemu Linux

Ad