Angielskifrancuskihiszpański

Ad


Ulubiona usługa OnWorks

avconv — Online w chmurze

Uruchom avconv w bezpłatnym dostawcy hostingu OnWorks w systemie Ubuntu Online, Fedora Online, emulatorze online systemu Windows lub emulatorze online systemu MAC OS

Jest to polecenie avconv, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu MAC OS

PROGRAM:

IMIĘ


ffmpeg - konwerter wideo ffmpeg

STRESZCZENIE


ffmpeg [globalne_opcje] {[opcje_pliku_wejściowego] -ja plik_wejściowy} ... {[opcje_pliku_wyjściowego]
plik wyjściowy} ...

OPIS


ffmpeg to bardzo szybki konwerter wideo i audio, który można również pobierać z audio/wideo na żywo
źródło. Może również konwertować dowolne częstotliwości próbkowania i zmieniać rozmiar wideo w locie
z wysokiej jakości filtrem polifazowym.

ffmpeg odczytuje z dowolnej liczby "plików" wejściowych (które mogą być zwykłymi plikami, potokami,
strumienie sieciowe, urządzenia przechwytujące itp.), określone przez opcję "-i", i zapisuje do
dowolna liczba "plików" wyjściowych, które są określone przez zwykłą nazwę pliku wyjściowego.
Wszystko znalezione w wierszu poleceń, które nie może być zinterpretowane jako opcja, jest brane pod uwagę
być nazwą pliku wyjściowego.

Każdy plik wejściowy lub wyjściowy może w zasadzie zawierać dowolną liczbę strumieni różnych
typy (wideo/audio/napisy/załącznik/dane). Dozwolona liczba i/lub rodzaje strumieni
może być ograniczona formatem kontenera. Wybieranie, które strumienie, z których wejść będą pochodzić
do którego dane wyjściowe są wykonywane automatycznie lub za pomocą opcji "-map" (patrz Strumień
rozdział wyboru).

Aby odwołać się do plików wejściowych w opcjach, musisz użyć ich indeksów (oparte na 0). Np. pierwszy
plik wejściowy to 0, drugi to 1 itd. Podobnie strumienie w pliku są określane przez
ich indeksy. Np. „2:3” odnosi się do czwartego strumienia w trzecim pliku wejściowym. Zobacz także
rozdział Specyfikatory strumienia.

Z reguły opcje są stosowane do następnego określonego pliku. Dlatego zamówienie jest
ważne i możesz mieć tę samą opcję w wierszu poleceń wiele razy. Każdy
wystąpienie jest następnie stosowane do następnego pliku wejściowego lub wyjściowego. Wyjątki od tej zasady
to opcje globalne (np. poziom szczegółowości), które należy określić jako pierwsze.

Nie mieszaj plików wejściowych i wyjściowych — najpierw określ wszystkie pliki wejściowe, a następnie wszystkie pliki wyjściowe.
Nie mieszaj również opcji należących do różnych plików. Wszystkie opcje mają zastosowanie WYŁĄCZNIE do
następny plik wejściowy lub wyjściowy i są resetowane między plikami.

· Aby ustawić szybkość transmisji wideo pliku wyjściowego na 64 kbit/s:

ffmpeg -i wejście.avi -b:v 64k -bufsize 64k wyjście.avi

· Aby wymusić szybkość klatek pliku wyjściowego do 24 kl./s:

ffmpeg -i wejście.avi -r 24 wyjście.avi

· Wymuszenie szybkości klatek pliku wejściowego (dotyczy tylko formatów RAW) do 1 fps i
liczba klatek pliku wyjściowego do 24 kl./s:

ffmpeg -r 1 -i wejście.m2v -r 24 wyjście.avi

Opcja formatu może być potrzebna dla surowych plików wejściowych.

SZCZEGÓŁOWE OPIS


Proces transkodowania w ffmpeg dla każdego wyjścia można opisać:
diagram:

______ ______________
| | | |
| wejście | demukser | zakodowane dane | dekoder
| plik | ---------> | pakiety | -----+
|________| |______________| |
v
_________
| |
| dekodowane |
| ramki |
| _________ |
________ ______________ |
| | | | |
| wyjście | <-------- | zakodowane dane | <----+
| plik | muxer | pakiety | koder
|________| |______________|

ffmpeg wywołuje bibliotekę libavformat (zawierającą demuksery) do odczytywania plików wejściowych i pobierania
pakiety zawierające zaszyfrowane dane z nich. Gdy istnieje wiele plików wejściowych, ffmpeg
stara się je zsynchronizować, śledząc najniższy znacznik czasu w dowolnym aktywnym strumieniu wejściowym.

Zakodowane pakiety są następnie przekazywane do dekodera (chyba że dla
strumień, patrz dalej opis). Dekoder generuje nieskompresowane ramki (surowe
wideo/PCM audio/...), które mogą być dalej przetwarzane przez filtrowanie (patrz następna sekcja). Później
filtrowanie, ramki są przekazywane do kodera, który je koduje i koduje wyjścia
pakiety. W końcu są one przekazywane do muxera, który zapisuje zakodowane pakiety do
plik wyjściowy.

Filtracja
Przed kodowaniem ffmpeg może przetwarzać nieprzetworzone klatki audio i wideo za pomocą filtrów z
biblioteka libavfilter. Kilka połączonych filtrów tworzy wykres filtra. ffmpeg rozróżnia
między dwoma typami filtrów: prostym i złożonym.

Prosty filtry

Proste filtry to takie, które mają dokładnie jedno wejście i wyjście, oba takie same
rodzaj. Na powyższym schemacie można je przedstawić, po prostu wstawiając dodatkowy krok
między dekodowaniem a kodowaniem:

__________ ______________
| | | |
| dekodowane | | zakodowane dane |
| ramki |\ _ | pakiety |
|__________| \ /||______________|
\ __________ /
prosty _\|| | / koder
wykres filtra | przefiltrowane |/
| ramki |
|__________|

Proste wykresy filtrów są konfigurowane za pomocą strumienia -filtr opcja (z -vf i -af
aliasy odpowiednio dla wideo i audio). Prosty wykres filtrowania wideo może poszukać
przykład taki:

______ ______________ _______ ________
| | | | | | | |
| wejście | ---> | usuwanie przeplotu | ---> | skala | ---> | wyjście |
|________| |____________| |________| |________|

Zwróć uwagę, że niektóre filtry zmieniają właściwości ramki, ale nie zawartość ramki. Np. „fps”
filtr w powyższym przykładzie zmienia liczbę klatek, ale nie dotyka ramki
zawartość. Innym przykładem jest filtr „setpts”, który ustawia tylko znaczniki czasu i w inny sposób
przekazuje ramki bez zmian.

Kompleks filtry

Złożone wykresy filtrów to takie, których nie można opisać jako proste przetwarzanie liniowe
łańcuch zastosowany do jednego strumienia. Dzieje się tak na przykład, gdy wykres ma więcej niż
jedno wejście i/lub wyjście lub gdy typ strumienia wyjściowego jest inny niż wejściowy. Oni mogą być
reprezentowany następującym schematem:

_________
| |
| wejście 0 |\ __________
|__________| \ | |
\ _________ /| wyjście 0 |
\ | | / |__________|
_________ \| złożony | /
| | | |/
| wejście 1 |---->| filtr |\
|__________| | | \ __________
/| wykres | \ | |
/ | | \| wyjście 1 |
__________ / |_________| |__________|
| | /
| wejście 2 |/
| _________ |

Złożone wykresy filtrów są konfigurowane za pomocą -filter_kompleks opcja. Zauważ, że to
opcja jest globalna, ponieważ złożony filtr, ze swej natury, nie może być jednoznaczny
powiązane z pojedynczym strumieniem lub plikiem.

Połączenia -lawfi opcja jest równoważna -filter_kompleks.

Trywialnym przykładem złożonego wykresu filtra jest filtr „nakładki”, który zawiera dwa filmy
wejścia i jedno wyjście wideo, zawierające jedno wideo nałożone na drugie. Jego dźwięk
odpowiednikiem jest filtr „mix”.

Strumień kopia
Kopiowanie strumienia to tryb wybierany przez podanie parametru „kopiowanie” do -kodek opcja. Ono
sprawia, że ffmpeg pomiń krok dekodowania i kodowania dla określonego strumienia, więc robi to tylko
demuxing i muxing. Przydaje się do zmiany formatu kontenera lub modyfikacji
metadane na poziomie kontenera. Powyższy diagram w tym przypadku uprości do tego:

______ ______________ ________
| | | | | |
| wejście | demukser | zakodowane dane | muxer | wyjście |
| plik | ---------> | pakiety | -------> | plik |
|________| |______________| |________|

Ponieważ nie ma dekodowania ani kodowania, jest bardzo szybki i nie powoduje utraty jakości.
Jednak w niektórych przypadkach może nie działać z powodu wielu czynników. Stosowanie filtrów to
oczywiście również niemożliwe, ponieważ filtry działają na nieskompresowanych danych.

STRUMIEŃ WYBÓR


Domyślnie ffmpeg zawiera tylko jeden obecny strumień każdego typu (wideo, dźwięk, napisy)
w plikach wejściowych i dodaje je do każdego pliku wyjściowego. Wybiera „najlepsze” z każdej bazy
według następujących kryteriów: dla wideo jest to strumień o najwyższej rozdzielczości, dla
audio, jest to strumień z największą liczbą kanałów, dla napisów jest to pierwszy napis
strumień. W przypadku, gdy kilka strumieni tego samego typu ma taką samą szybkość, strumień z
wybierany jest najniższy indeks.

Możesz wyłączyć niektóre z tych ustawień domyślnych za pomocą opcji "-vn/-an/-sn". Pełna instrukcja
kontroli, użyj opcji "-map", która wyłącza opisane właśnie ustawienia domyślne.

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
-f fmt (wejście wyjście)
Wymuś format pliku wejściowego lub wyjściowego. Format jest zwykle wykrywany automatycznie dla danych wejściowych
pliki i odgadnięte na podstawie rozszerzenia pliku dla plików wyjściowych, więc ta opcja nie jest
potrzebne w większości przypadków.

-i filename (wkład)
nazwa pliku wejściowego

-y (światowy)
Zastąp pliki wyjściowe bez pytania.

-n (światowy)
Nie nadpisuj plików wyjściowych i wyjdź natychmiast, jeśli określony plik wyjściowy już jest
istnieje.

-C[:specyfikator_strumienia] kodek (wejście/wyjście, na strumień)
-kodek[:specyfikator_strumienia] kodek (wejście/wyjście, na strumień)
Wybierz koder (jeśli jest używany przed plikiem wyjściowym) lub dekoder (jeśli jest używany przed plikiem wyjściowym)
plik wejściowy) dla jednego lub więcej strumieni. kodek to nazwa dekodera/kodera lub
wartość specjalna „copy” (tylko wyjście), aby wskazać, że strumień nie ma być ponownie
zakodowane.

Na przykład

ffmpeg -i WEJŚCIE -map 0 -c:v libx264 -c:a kopiuj WYJŚCIE

koduje wszystkie strumienie wideo za pomocą libx264 i kopiuje wszystkie strumienie audio.

Dla każdego strumienia stosowana jest ostatnia pasująca opcja „c”, więc

ffmpeg -i INPUT -map 0 -c copy -c:v:1 libx264 -c:a:137 libvorbis WYJŚCIE

skopiuje wszystkie strumienie z wyjątkiem drugiego wideo, które zostanie zakodowane w libx264,
i 138. dźwięk, który zostanie zakodowany za pomocą libvorbis.

-t czas trwania (wejście wyjście)
Gdy jest używany jako opcja wprowadzania (przed „-i”), ogranicz czas trwania danych odczytanych z
plik wejściowy.

Gdy jest używana jako opcja wyjściowa (przed nazwą pliku wyjściowego), przestań zapisywać dane wyjściowe
po jego czasie trwania osiągnie czas trwania.

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

-to i -t wykluczają się wzajemnie, a -t ma priorytet.

-do position (wydajność)
Przestań zapisywać dane wyjściowe w position. position musi być określeniem czasu trwania,
widzieć dotychczasowy Czas czas trwania Sekcja in dotychczasowy narzędzia ffmpeg(1) podręcznik.

-to i -t wykluczają się wzajemnie, a -t ma priorytet.

-fs limit_rozmiar (wydajność)
Ustaw limit rozmiaru pliku wyrażony w bajtach.

-ss position (wejście wyjście)
Gdy jest używany jako opcja wejściowa (przed "-i"), szuka w tym pliku wejściowym do position. Uwaga
że w większości formatów nie da się dokładnie wyszukać, więc ffmpeg będzie dążyć do
najbliższy punkt wyszukiwania przed position. Podczas transkodowania i -dokładne_szukanie jest włączony
(domyślnie), ten dodatkowy segment między punktem wyszukiwania a position zostanie zdekodowany
i odrzucone. Podczas kopiowania strumieniowego lub kiedy -noaccurate_seek jest używany, to będzie
zachowane.

Gdy jest używana jako opcja wyjściowa (przed nazwą pliku wyjściowego), dekoduje, ale odrzuca dane wejściowe
do momentu osiągnięcia znaczników czasu position.

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

-seof position (wejście wyjście)
Podobnie jak opcja "-ss", ale w stosunku do "końca pliku". To znaczy, że wartości ujemne to
wcześniej w pliku 0 jest w EOF.

-jego przesunięcie offset (wkład)
Ustaw przesunięcie czasu wejś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 do znaczników czasu plików wejściowych. Określanie dodatniego przesunięcia
oznacza, że ​​odpowiednie strumienie są opóźnione o czas określony w
offset.

-znak czasu dane (wydajność)
Ustaw sygnaturę czasową nagrywania w kontenerze.

dane musi być specyfikacją daty, patrz dotychczasowy Data Sekcja in dotychczasowy narzędzia ffmpeg(1) podręcznik.

-metadane[:specyfikator_metadanych] klucz=wartość (dane wyjściowe na metadane)
Ustaw parę klucz/wartość metadanych.

Opcjonalne specyfikator_metadanych mogą być podane do ustawiania metadanych w strumieniach lub rozdziałach.
Zobacz dokumentację "-map_metadata" po szczegóły.

Ta opcja zastępuje zestaw metadanych za pomocą "-map_metadata". Możliwe jest również usunięcie
metadane przy użyciu pustej wartości.

Na przykład, aby ustawić tytuł w pliku wyjściowym:

ffmpeg -i in.avi -metadata title="mój tytuł"out.flv

Aby ustawić język pierwszego strumienia audio:

ffmpeg -i WEJŚCIE -metadane:s:a:0 język=eng WYJŚCIE

-cel rodzaj (wydajność)
Określ typ pliku docelowego ("vcd", "svcd", "dvd", "dv", "dv50"). rodzaj może być przedrostkiem
z „pal-”, „ntsc-” lub „film-”, aby użyć odpowiedniego standardu. Cały format
opcje (bitrate, kodeki, rozmiary buforów) są wtedy ustawiane automatycznie. Możesz po prostu wpisać:

ffmpeg -i mójplik.avi -target vcd /tmp/vcd.mpg

Niemniej jednak możesz określić dodatkowe opcje, o ile wiesz, że tak nie jest
konflikt ze standardem, jak w:

ffmpeg -i mójplik.avi -target vcd -bf 2 /tmp/vcd.mpg

-dramki numer (wydajność)
Ustaw liczbę ramek danych do wyprowadzenia. To jest alias dla "-frames:d".

-ramki[:specyfikator_strumienia] liczba klatek (wyjście, na strumień)
Przestań pisać w strumieniu po liczba klatek ramki.

-Q[:specyfikator_strumienia] q (wyjście, na strumień)
-qskala[:specyfikator_strumienia] q (wyjście, na strumień)
Użyj stałej skali jakości (VBR). Znaczenie q/qskala zależy od kodeka. Gdyby qskala
jest używany bez specyfikator_strumienia wtedy dotyczy tylko strumienia wideo, to jest
zachować zgodność z poprzednim zachowaniem i określić ten sam kodek
konkretna wartość dla 2 różnych kodeków, czyli audio i wideo, generalnie nie jest tym, co jest
przeznaczone, gdy nie jest używany żaden stream_specifier.

-filtr[:specyfikator_strumienia] wykres filtracyjny (wyjście, na strumień)
Utwórz wykres filtra określony przez wykres filtracyjny i użyj go do filtrowania strumienia.

wykres filtracyjny to opis wykresu filtra, który należy zastosować do strumienia i musi mieć
jedno wejście i jedno wyjście tego samego typu strumienia. Na wykresie filtra
wejście jest powiązane z etykietą „in”, a wyjście z etykietą „out”. Zobacz
Podręcznik ffmpeg-filters, aby uzyskać więcej informacji o składni filtergraph.

Zobacz -filter_kompleks opcja jeśli chcesz tworzyć wykresy filtrów z wieloma danymi wejściowymi
i/lub wyjścia.

-skrypt_filtra[:specyfikator_strumienia] filename (wyjście, na strumień)
Ta opcja jest podobna do -filtr, jedyną różnicą jest to, że argumentem jest
nazwa pliku, z którego ma być odczytany opis wykresu filtra.

-przed[:specyfikator_strumienia] nazwa_ustawienia wstępnego (wyjście, na strumień)
Określ ustawienie wstępne dla pasujących strumieni.

-statystyki (światowy)
Postęp/statystyki kodowania druku. Jest domyślnie włączony, aby wyraźnie go wyłączyć
trzeba określić "-nostats".

-postęp url (światowy)
Wyślij przyjazne dla programu informacje o postępach do url.

Informacje o postępach są zapisywane mniej więcej co sekundę i pod koniec
proces kodowania. To jest zrobione z "klucz=wartość" linie. klucz składa się tylko z znaków alfanumerycznych
postacie. Ostatnim kluczem sekwencji informacji o postępie jest zawsze „postęp”.

-stdin
Włącz interakcję na standardowym wejściu. Domyślnie włączone, chyba że standardowe wejście jest używane jako
wejście. Aby jawnie wyłączyć interakcję, musisz podać "-nostdin".

Wyłączenie interakcji na standardowym wejściu jest przydatne, na przykład, jeśli ffmpeg jest w
grupa procesów w tle. Mniej więcej ten sam wynik można osiągnąć za pomocą „ffmpeg ...
/dev/null”, ale wymaga powłoki.

-debug_ts (światowy)
Wydrukuj informacje o sygnaturze czasowej. Domyślnie jest wyłączony. Ta opcja jest przydatna głównie w przypadku
celów testowania i debugowania, a format wyjściowy może zmienić się z jednej wersji na
inny, więc nie powinien być używany przez przenośne skrypty.

Zobacz także opcję "-fdebug ts".

-przytwierdzać filename (wydajność)
Dodaj załącznik do pliku wyjściowego. Jest to obsługiwane przez kilka formatów, takich jak Matroska
np. czcionki używane do renderowania napisów. Załączniki są realizowane jako specyficzne
typ strumienia, więc ta opcja doda nowy strumień do pliku. Wtedy jest to możliwe
aby używać opcji na strumień w tym strumieniu w zwykły sposób. Utworzono strumienie załączników
z tą opcją zostaną utworzone po wszystkich innych strumieniach (tzn. tych utworzonych za pomocą
"-map" lub automatyczne mapowania).

Zauważ, że dla Matroski musisz również ustawić tag metadanych mimetype:

ffmpeg -i INPUT -attach DejaVuSans.ttf -metadata:s:2 mimetype=aplikacja/x-truetype-font out.mkv

(przy założeniu, że strumień załączników będzie trzeci w pliku wyjściowym).

-dump_załącznik [:specyfikator_strumienia] filename (wejście, na strumień)
Wyodrębnij pasujący strumień załączników do pliku o nazwie filename. Jeśli filename is
puste, to zostanie użyta wartość znacznika metadanych „filename”.

Np. aby wyodrębnić pierwszy załącznik do pliku o nazwie 'out.ttf':

ffmpeg -dump_attachment:t:0 out.ttf -i WEJŚCIE

Aby wyodrębnić wszystkie załączniki do plików określonych przez znacznik „filename”:

ffmpeg -dump_attachment:t "" -i INPUT

Uwaga techniczna — załączniki są zaimplementowane jako dodatkowe dane kodeka, więc ta opcja może:
faktycznie służyć do wyodrębniania dodatkowych danych z dowolnego strumienia, a nie tylko załączników.

- bez autorotacji
Wyłącz automatyczne obracanie wideo na podstawie metadanych pliku.

Wideo Opcje
-vframe numer (wydajność)
Ustaw liczbę klatek wideo do wyprowadzenia. To jest alias dla "-frames:v".

-R[:specyfikator_strumienia] fps (wejście/wyjście, na strumień)
Ustaw liczbę klatek na sekundę (wartość Hz, ułamek lub skrót).

Jako opcję wejściową zignoruj ​​wszelkie znaczniki czasu zapisane w pliku i zamiast tego wygeneruj
znaczniki czasu przy założeniu stałej liczby klatek na sekundę fps. To nie to samo, co -częstotliwość wyświetlania klatek
opcja używana dla niektórych formatów wejściowych, takich jak image2 lub v4l2 (kiedyś była taka sama w
starsze wersje FFmpeg). W razie wątpliwości użyj -częstotliwość wyświetlania klatek zamiast opcji wprowadzania -r.

Jako opcję wyjściową zduplikuj lub upuść klatki wejściowe, aby uzyskać stałą klatkę wyjściową
stawka fps.

-S[:specyfikator_strumienia] rozmiar (wejście/wyjście, na strumień)
Ustaw rozmiar ramki.

Jako opcja wprowadzania jest to skrót do rozmiar wideo opcja prywatna, uznana
przez niektóre demuksery, dla których rozmiar ramki nie jest przechowywany w pliku lub jest
konfigurowalne – np. surowe wideo lub przechwytywacze wideo.

Jako opcję wyjściową wstawia filtr wideo „skala” do zakończenia ukończenia
odpowiedni wykres filtra. Proszę użyć filtra "skala" bezpośrednio, aby wstawić go w
początek lub w innym miejscu.

Format to szer. x wys (domyślnie - to samo co źródło).

-aspekt[:specyfikator_strumienia] aspekt (wyjście, na strumień)
Ustaw współczynnik kształtu obrazu wideo określony przez aspekt.

aspekt może być ciągiem liczb zmiennoprzecinkowych lub ciągiem postaci num:dzień, Gdzie
num i dzień są licznikiem i mianownikiem proporcji. Na przykład „4:3”,
„16:9”, „1.3333” i „1.7777” są prawidłowymi wartościami argumentów.

Jeśli jest używany razem z -vcodec kopia, wpłynie to na proporcje zapisane w
poziom kontenera, ale nie współczynnik proporcji przechowywany w zakodowanych ramkach, jeśli taki istnieje.

-wn (wydajność)
Wyłącz nagrywanie wideo.

-vcodec kodek (wydajność)
Ustaw kodek wideo. To jest alias dla "-codec:v".

-przechodzić[:specyfikator_strumienia] n (wyjście, na strumień)
Wybierz numer przepustki (1 lub 2). Służy do dwuprzebiegowego kodowania wideo. ten
statystyki wideo są zapisywane w pierwszym przejściu do pliku dziennika (zobacz także
opcja -passlogfile), a w drugim przejściu ten plik dziennika jest używany do wygenerowania
wideo z dokładną żądaną szybkością transmisji. W pierwszym przejściu możesz po prostu wyłączyć dźwięk i
ustaw wyjście na null, przykłady dla Windows i Unix:

ffmpeg -i foo.mov -c:v libxvid -pass 1 -an -f rawvideo -y NUL
ffmpeg -i foo.mov -c:v libxvid -pass 1 -an -f rawvideo -y /dev/null

-plik_hasła[:specyfikator_strumienia] prefiks (wyjście, na strumień)
Ustaw dwuprzebiegowy prefiks nazwy pliku dziennika na prefiks, domyślny prefiks nazwy pliku to
„ffmpeg2pass”. Pełna nazwa pliku będzie PREFIKS-N.log, gdzie N jest liczbą
specyficzne dla strumienia wyjściowego

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

To jest alias dla "-filter:v", zobacz -filtr opcja.

Zaawansowane Wideo Opcje
-pix_fmt[:specyfikator_strumienia] format (wejście/wyjście, na strumień)
Ustaw format pikseli. Użyj „-pix_fmts”, aby wyświetlić wszystkie obsługiwane formaty pikseli. Jeśli
nie można wybrać wybranego formatu pikseli, ffmpeg wydrukuje ostrzeżenie i wybierze
najlepszy format pikseli obsługiwany przez koder. Gdyby pix_fmt jest poprzedzony znakiem „+”, ffmpeg
zakończy się z błędem, jeśli nie można wybrać żądanego formatu pikseli, oraz
automatyczne konwersje wewnątrz wykresów filtrów są wyłączone. Gdyby pix_fmt jest pojedynczym "+",
ffmpeg wybiera ten sam format pikseli, co wejście (lub wyjście wykresu) i automatycznie
konwersje są wyłączone.

-sws_flagi Flagi (wejście wyjście)
Ustaw flagi SwScaler.

-vdt n
Odrzuć próg.

-rc_nadpisanie[:specyfikator_strumienia] Zastąp (wyjście, na strumień)
Obejście kontroli szybkości dla określonych interwałów, sformatowane jako lista "int,int,int"
oddzielone ukośnikami. Dwie pierwsze wartości to numer klatki początkowej i końcowej, ostatnia
jeden to kwantyzator, jeśli jest dodatni, lub współczynnik jakości, jeśli jest ujemny.

-Ilme
Wymuś obsługę przeplotu w koderze (tylko MPEG-2 i MPEG-4). Użyj tej opcji, jeśli
Twój plik wejściowy jest z przeplotem i chcesz zachować format z przeplotem przez minimum
straty. Alternatywą jest usunięcie przeplotu strumienia wejściowego za pomocą -usuwanie przeplotu, ale
usuwanie przeplotu wprowadza straty.

-psnr
Oblicz PSNR skompresowanych ramek.

-vstats
Zrzuć statystyki kodowania wideo do vstats_HHMMSS.log.

-plik_vstats filet
Zrzuć statystyki kodowania wideo do filet.

-szczyt[:specyfikator_strumienia] n (wyjście, na strumień)
top=1/bottom=0/auto=-1 pierwsze pole

-dc precyzja
Intra_dc_precyzja.

-vtag czterycc/tag (wydajność)
Wymuś tag wideo/fourcc. To jest alias dla „-tag:v”.

-qfist (światowy)
Pokaż histogram QP

-vbsf filtr_strumienia bitów
Przestarzałe patrz -bsf

-force_key_frames [:specyfikator_strumienia] czas[,czas...] (wyjście, na strumień)
-force_key_frames [:specyfikator_strumienia] wyraż:expr (wyjście, na strumień)
Wymuś klatki kluczowe w określonych sygnaturach czasowych, a dokładniej w pierwszych klatkach po
każdym określonym czasie.

Jeśli argument jest poprzedzony „expr:”, ciąg expr jest interpretowany jak an
wyrażenie i jest oceniane dla każdej ramki. Ramka kluczowa jest wymuszona w przypadku, gdy
ocena jest niezerowa.

Jeśli jednym z czasów jest ""rozdziały"[delta]”, jest rozszerzona na czas
początek wszystkich rozdziałów w pliku, przesunięty o delta, wyrażony jako czas w
sekundy. Ta opcja może być przydatna, aby upewnić się, że punkt wyszukiwania jest obecny w
znacznik rozdziału lub inne wyznaczone miejsce w pliku wyjściowym.

Na przykład, aby wstawić klatkę kluczową po 5 minutach oraz klatki kluczowe 0.1 sekundy przed
początek każdego rozdziału:

-force_key_frames 0:05:00,rozdziały-0.1

Wyrażenie w expr może zawierać następujące stałe:

n numer aktualnie przetwarzanej klatki, zaczynając od 0

n_wymuszone
liczba wymuszonych klatek

poprzedni_wymuszony_n
numer poprzedniej wymuszonej klatki, jest to „NAN”, gdy żadna klatka kluczowa nie została wymuszona
jeszcze

prev_forced_t
czas poprzedniej wymuszonej klatki, jest to „NAN”, gdy żadna klatka kluczowa nie została jeszcze wymuszona

t czas aktualnie przetwarzanej klatki

Na przykład, aby wymusić klatkę kluczową co 5 sekund, możesz określić:

-force_key_frames wyrażenie:gte(t,n_forced*5)

Aby wymusić klatkę kluczową 5 sekund po czasie ostatniej wymuszonej, zaczynając od
drugie 13:

-force_key_frames wyrażenie:if(isnan(prev_forced_t),gte(t,13),gte(t,prev_forced_t+5))

Zwróć uwagę, że wymuszanie zbyt dużej liczby klatek kluczowych jest bardzo szkodliwe dla algorytmów lookahead w
niektóre kodery: użycie opcji fixed-GOP lub podobnych byłoby bardziej wydajne.

-kopiujf[:specyfikator_strumienia] (wyjście, na strumień)
Podczas kopiowania strumieniowego skopiuj również klatki niekluczowe znalezione na początku.

-hwaccel[:specyfikator_strumienia] hwaccel (wejście, na strumień)
Użyj akceleracji sprzętowej, aby zdekodować pasujące strumienie. Dozwolone wartości
hwaccel należą:

Żaden
Nie używaj akceleracji sprzętowej (domyślnie).

samochód
Automatycznie wybierz metodę akceleracji sprzętowej.

życie Użyj akceleracji sprzętowej Apple VDA.

vdpau
Użyj akceleracji sprzętowej VDPAU (Video Decode and Presentation API for Unix).

dxva2
Użyj akceleracji sprzętowej DXVA2 (DirectX Video Acceleration).

Ta opcja nie działa, jeśli wybrany hwaccel nie jest dostępny lub nie jest obsługiwany przez
wybrany dekoder.

Pamiętaj, że większość metod przyspieszania jest przeznaczona do odtwarzania i nie będzie szybsza
niż dekodowanie programowe na nowoczesnych procesorach. Dodatkowo, ffmpeg zazwyczaj trzeba będzie kopiować
dekodowane klatki z pamięci GPU do pamięci systemowej, co skutkuje dalszym
utrata wydajności. Ta opcja jest więc przydatna głównie do testowania.

-hwaccel_urządzenie[:specyfikator_strumienia] hwaccel_urządzenie (wejście, na strumień)
Wybierz urządzenie, którego chcesz użyć do przyspieszenia sprzętowego.

Ta opcja ma sens tylko wtedy, gdy -hwaccel podana jest również opcja. Jego dokładny
znaczenie zależy od wybranej metody akceleracji sprzętowej.

vdpau
W przypadku VDPAU ta opcja określa używany wyświetlacz/ekran X11. Jeśli ta opcja to
nie określono, wartość DISPLAY używana jest zmienna środowiskowa

dxva2
W przypadku DXVA2 ta opcja powinna zawierać numer używanej karty graficznej.
Jeśli ta opcja nie zostanie określona, ​​używany jest adapter domyślny.

-hwaccles
Wymień wszystkie metody akceleracji sprzętowej obsługiwane w tej kompilacji ffmpeg.

Audio Opcje
-ramki numer (wydajność)
Ustaw liczbę klatek audio do wyprowadzenia. To jest alias dla "-frames:a".

-ar[:specyfikator_strumienia] częst (wejście/wyjście, na strumień)
Ustaw częstotliwość próbkowania dźwięku. Dla strumieni wyjściowych jest to domyślnie ustawione na
częstotliwość odpowiedniego strumienia wejściowego. W przypadku strumieni wejściowych ta opcja powoduje tylko
sens dla urządzeń do przechwytywania dźwięku i surowych demukserów i jest mapowany do odpowiednich
opcje demuksera.

-wodny q (wydajność)
Ustaw jakość dźwięku (specyficzne dla kodeka, VBR). To jest alias dla -q:a.

-ac[:specyfikator_strumienia] kanały (wejście/wyjście, na strumień)
Ustaw liczbę kanałów audio. Dla strumieni wyjściowych jest to domyślnie ustawione na
liczba wejściowych kanałów audio. W przypadku strumieni wejściowych ta opcja ma sens tylko dla
urządzenia do przechwytywania dźwięku i surowe demuksery i są mapowane do odpowiedniego demuksera
opcje.

-na (wydajność)
Wyłącz nagrywanie dźwięku.

-akodek kodek (wejście wyjście)
Ustaw kodek audio. To jest alias dla "-codec:a".

-przykład_fmt[:specyfikator_strumienia] próbka_fmt (wyjście, na strumień)
Ustaw format próbki audio. Użyj "-sample_fmts", aby uzyskać listę obsługiwanych próbek
formaty.

-af wykres filtracyjny (wydajność)
Utwórz wykres filtra określony przez wykres filtracyjny i użyj go do filtrowania strumienia.

To jest alias dla "-filter:a", zobacz -filtr opcja.

Zaawansowane Audio Opcje
-znacznik czterycc/tag (wydajność)
Wymuś tag audio/fourcc. To jest alias dla "-tag:a".

-absf filtr_strumienia bitów
Przestarzałe, patrz -bsf

-zgadnij_układ_maks kanały (wejście, na strumień)
Jeśli jakiś układ kanału wejściowego nie jest znany, spróbuj zgadnąć tylko, czy odpowiada at
najbardziej określoną liczbę kanałów. Na przykład 2 mówi do ffmpeg rozpoznać 1
kanał jako mono i 2 kanały jako stereo, ale nie 6 kanałów jako 5.1. Wartość domyślna to
zawsze próbuj zgadywać. Użyj 0, aby wyłączyć wszelkie zgadywanie.

Podtytuł Opcje
-skodek kodek (wejście wyjście)
Ustaw kodek napisów. To jest alias dla "-codec:s".

-SN (wydajność)
Wyłącz nagrywanie napisów.

-sbsf filtr_strumienia bitów
Przestarzałe, patrz -bsf

Zaawansowane Podtytuł Opcje
-fix_sub_duration
Napraw czas trwania napisów. Dla każdego napisu poczekaj na następny pakiet w tym samym
przesyłaj strumieniowo i dostosuj czas trwania pierwszego, aby uniknąć nakładania się. Jest to konieczne w przypadku
niektóre kodeki napisów, zwłaszcza napisy DVB, ponieważ czas trwania w oryginale
Pakiet jest tylko przybliżonym oszacowaniem, a koniec jest właściwie oznaczony pustym napisem
rama. Niezastosowanie tej opcji w razie potrzeby może spowodować wydłużenie czasu trwania
lub awarie multipleksowania spowodowane niemonotonicznymi znacznikami czasu.

Zauważ, że ta opcja opóźni wysyłanie wszystkich danych do następnego pakietu napisów
jest dekodowany: może znacznie zwiększyć zużycie pamięci i opóźnienia.

-rozmiar płótna rozmiar
Ustaw rozmiar płótna używanego do renderowania napisów.

Zaawansowane Opcje
-mapa [-]identyfikator_pliku_wejściowego[:specyfikator_strumienia][,identyfikator_pliku_synchronizacji[:specyfikator_strumienia]] | [etykieta linku]
(wydajność)
Wyznacz jeden lub więcej strumieni wejściowych jako źródło pliku wyjściowego. Każdy strumień wejściowy
jest identyfikowany przez indeks pliku wejściowego identyfikator_pliku_wejściowego i indeks strumienia wejściowego
identyfikator_strumienia_wejściowego w pliku wejściowym. Oba indeksy zaczynają się od 0. Jeśli określono,
identyfikator_pliku_synchronizacji:specyfikator_strumienia ustawia, który strumień wejściowy jest używany jako synchronizacja prezentacji
odniesienie.

Pierwsza opcja "-map" w wierszu poleceń określa źródło strumienia wyjściowego 0,
druga opcja "-map" określa źródło strumienia wyjściowego 1 itd.

Znak „-” przed identyfikatorem strumienia tworzy mapowanie „ujemne”. Ono
wyłącza pasujące strumienie z już utworzonych mapowań.

Alternatywa [etykieta linku] formularz zmapuje dane wyjściowe ze złożonych wykresów filtrów (patrz
-filter_kompleks opcja) do pliku wyjściowego. etykieta linku musi odpowiadać określonemu
etykieta łącza wyjściowego na wykresie.

Na przykład, aby zmapować WSZYSTKIE strumienie z pierwszego pliku wejściowego do wyjściowego

ffmpeg -i INPUT -mapa 0 wyjście

Na przykład, jeśli masz dwa strumienie audio w pierwszym pliku wejściowym, te strumienie są
identyfikowane przez „0:0” i „0:1”. Możesz użyć "-map", aby wybrać, które strumienie umieścić w
plik wyjściowy. Na przykład:

ffmpeg -i INPUT -map 0:1 out.wav

zmapuje strumień wejściowy w WEJŚCIE identyfikowany przez „0:1” w (pojedynczym) strumieniu wyjściowym
in out.wav.

Na przykład, aby wybrać strumień z indeksem 2 z pliku wejściowego ruch (określone przez
identyfikator „0:2”), a strumień z indeksem 6 z wejścia b.ruch (określone przez
identyfikator "1:6") i skopiuj je do pliku wyjściowego wyj.ruch:

ffmpeg -i a.mov -i b.mov -c kopiuj -mapa 0:2 -mapa 1:6 out.mov

Aby wybrać całe wideo i trzeci strumień audio z pliku wejściowego:

ffmpeg -i WEJŚCIE -map 0:v -map 0:a:2 WYJŚCIE

Aby zmapować wszystkie strumienie z wyjątkiem drugiego dźwięku, użyj ujemnych mapowań

ffmpeg -i WEJŚCIE -map 0 -map -0:a:1 WYJŚCIE

Aby wybrać angielski strumień audio:

ffmpeg -i INPUT -map 0:m:język:eng WYJŚCIE

Zauważ, że użycie tej opcji wyłącza domyślne mapowania dla tego pliku wyjściowego.

-ignore_nieznany
Ignoruj ​​strumienie wejściowe o nieznanym typie zamiast awarii, jeśli kopiowanie takich strumieni jest
próbował.

-kopia_nieznana
Zezwalaj na kopiowanie strumieni wejściowych o nieznanym typie zamiast awarii w przypadku kopiowania takich
podjęto próbę strumieni.

-mapa_kanał
[identyfikator_pliku_wejściowego.specyfikator_strumienia.ID kanału|-1][:identyfikator_pliku_wyjściowego.specyfikator_strumienia]
Mapuj kanał audio z danego wejścia na wyjście. Gdyby
identyfikator_pliku_wyjściowego.specyfikator_strumienia nie jest ustawiona, kanał audio zostanie zmapowany na wszystkich
strumienie audio.

Używając „-1” zamiast identyfikator_pliku_wejściowego.specyfikator_strumienia.ID kanału zmapuje wyciszony
kanał.

Na przykład zakładając, że: WEJŚCIE to stereofoniczny plik audio, możesz przełączyć dwa audio
kanały za pomocą następującego polecenia:

ffmpeg -i WEJŚCIE -kanał_mapy 0.0.1 -kanał_mapy 0.0.0 WYJŚCIE

Jeśli chcesz wyciszyć pierwszy kanał i zachować drugi:

ffmpeg -i WEJŚCIE -kanał_mapy -1 -kanał_mapy 0.0.1 WYJŚCIE

Kolejność opcji "-map_channel" określa kolejność kanałów w
strumień wyjściowy. Układ kanału wyjściowego jest odgadywany na podstawie liczby zmapowanych kanałów
(mono, jeśli jeden "-map_channel", stereo, jeśli dwa, itd.). Używanie „-ac” w połączeniu z
"-map_channel" powoduje, że poziomy wzmocnienia kanału zostaną zaktualizowane, jeśli kanał wejściowy i wyjściowy
układy nie pasują (na przykład dwie opcje "-map_channel" i "-ac 6").

Możesz także wyodrębnić każdy kanał z wejścia do określonych wyjść; następujące
polecenie wyodrębnia dwa kanały WEJŚCIE strumień audio (plik 0, strumień 0) do
osób WYJŚCIE_CH0 i WYJŚCIE_CH1 wyjścia:

ffmpeg -i INPUT -kanał_mapy 0.0.0 OUTPUT_CH0 -kanał_mapy 0.0.1 OUTPUT_CH1

Poniższy przykład dzieli kanały wejścia stereo na dwa oddzielne strumienie,
które są umieszczane w tym samym pliku wyjściowym:

ffmpeg -i stereo.wav -map 0:0 -map 0:0 -map_channel 0.0.0:0.0 -map_channel 0.0.1:0.1 -y out.ogg

Zwróć uwagę, że obecnie każdy strumień wyjściowy może zawierać tylko kanały z jednego wejścia
strumień; nie możesz na przykład użyć "-map_channel" do wybrania wielu wejściowych kanałów audio
zawarte w różnych strumieniach (z tego samego lub różnych plików) i scalić je w
pojedynczy strumień wyjściowy. Dlatego obecnie nie jest możliwe np. skręcanie
dwa oddzielne strumienie mono w jeden strumień stereo. Jednak dzielenie stereo
możliwe jest przesyłanie strumieniowe na dwa jednokanałowe strumienie mono.

Jeśli potrzebujesz tej funkcji, możliwym obejściem jest użycie łączyć się filtr. Do
na przykład, jeśli chcesz scalić media (tutaj wejście.mkv) z 2 strumieniami dźwięku mono do
jeden pojedynczy kanał stereofoniczny strumień audio (i zachowaj strumień wideo), możesz użyć
następujące polecenie:

ffmpeg -i input.mkv -filter_complex "[0:1] [0:2] amerge" -c:a pcm_s16le -c:v copy output.mkv

-mapa_metadane[:metadane_spec_out] w pliku[:metadane_spec_in] (dane wyjściowe na metadane)
Ustaw informacje o metadanych następnego pliku wyjściowego z w pliku. Zauważ, że są to pliki
indeksy (liczone od zera), a nie nazwy plików. Opcjonalny metadata_spec_in/out parametry
określić, które metadane skopiować. Specyfikator metadanych może mieć następujące formy:

g metadane globalne, czyli metadane, które dotyczą całego pliku

s[:specyfikacja_strumienia]
metadane na strumień. specyfikacja_strumienia jest specyfikatorem strumienia, jak opisano w Strumień
specyfikatorzy rozdział. W specyfikatorze metadanych wejściowych pierwszy pasujący strumień to
skopiowane z. W specyfikatorze metadanych wyjściowych wszystkie pasujące strumienie są kopiowane do.

c:rozdział_indeks
metadane na rozdział. rozdział_indeks jest indeksem rozdziałów liczonym od zera.

p:indeks_programu
metadane na program. indeks_programu jest indeksem programu liczonym od zera.

Jeśli specyfikator metadanych zostanie pominięty, domyślnie przyjmuje on wartość globalną.

Domyślnie globalne metadane są kopiowane z pierwszego pliku wejściowego, według strumienia i według
metadane rozdziałów są kopiowane wraz ze strumieniami/rozdziałami. Te domyślne mapowania to
wyłączone przez utworzenie dowolnego mapowania odpowiedniego typu. Negatywny indeks plików może być
służy do tworzenia mapowania fikcyjnego, które po prostu wyłącza automatyczne kopiowanie.

Na przykład, aby skopiować metadane z pierwszego strumienia pliku wejściowego do globalnego
metadane pliku wyjściowego:

ffmpeg -i in.ogg -map_metadata 0:s:0 out.mp3

Aby zrobić odwrotnie, czyli skopiuj globalne metadane do wszystkich strumieni audio:

ffmpeg -i in.mkv -map_metadata:s:a 0:g out.mkv

Zwróć uwagę, że proste 0 działałoby równie dobrze w tym przykładzie, ponieważ globalne metadane to
domyślnie zakładane.

-mapa_rozdziały plik_wejściowy_indeks (wydajność)
Skopiuj rozdziały z pliku wejściowego z indeksem plik_wejściowy_indeks do następnego pliku wyjściowego. Gdyby
nie określono mapowania rozdziałów, rozdziały są kopiowane z pierwszego pliku wejściowego
z co najmniej jednym rozdziałem. Użyj ujemnego indeksu plików, aby wyłączyć kopiowanie rozdziałów.

-znak (światowy)
Pokaż informacje porównawcze na końcu kodowania. Pokazuje używany czas procesora i
maksymalne zużycie pamięci. Maksymalne zużycie pamięci nie jest obsługiwane we wszystkich
systemów, zwykle będzie wyświetlany jako 0, jeśli nie jest obsługiwany.

-benchmark_wszystko (światowy)
Pokaż informacje porównawcze podczas kodowania. Pokazuje czas procesora używany w różnych krokach
(kodowanie/dekodowanie audio/wideo).

-limit czasu czas trwania (światowy)
Zakończ po uruchomieniu ffmpeg czas trwania towary drugiej jakości.

-wysypisko (światowy)
Zrzuć każdy pakiet wejściowy na stderr.

-klątwa (światowy)
Podczas zrzucania pakietów zrzuć także ładunek.

-re (wkład)
Odczytywanie danych wejściowych z natywną liczbą klatek na sekundę. Używany głównie do symulacji urządzenia chwytającego. lub wejście na żywo
strumień (np. podczas odczytu z pliku). Nie należy używać z rzeczywistymi urządzeniami chwytającymi lub
strumienie wejściowe na żywo (gdzie może to spowodować utratę pakietów). Domyślnie ffmpeg próby
odczytaj dane wejściowe tak szybko, jak to możliwe. Ta opcja spowolni czytanie
input(s) do natywnej szybkości klatek wejścia(s). Przydaje się do wyjścia w czasie rzeczywistym
(np. transmisja na żywo).

-wejście_pętli
Zapętl strumień wejściowy. Obecnie działa tylko dla strumieni obrazów. Ta opcja to
używany do automatycznego testowania FFserver. Ta opcja jest przestarzała, użyj -loop 1.

-wyjście_pętli kilka razy
Powtarzaj pętlę wyjścia dla formatów obsługujących zapętlanie, takich jak animowany GIF (0 będzie
zapętl wyjście w nieskończoność). Ta opcja jest przestarzała, użyj -loop.

-vsync parametr
Metoda synchronizacji wideo. Ze względu na kompatybilność stare wartości mogą być podane jako liczby.
Nowo dodane wartości będą zawsze musiały być określane jako ciągi.

0, Przejść przez
Każda ramka jest przekazywana ze swoim znacznikiem czasu z demuxera do muxera.

1, Cfr
Ramki zostaną zduplikowane i porzucone, aby osiągnąć dokładnie żądaną stałą
częstotliwość wyświetlania klatek.

2, widzieć
Ramki są przekazywane z ich sygnaturą czasową lub usuwane, aby zapobiec 2
ramki z tym samym znacznikiem czasu.

upuszczać
Jako passthrough, ale niszczy wszystkie znaczniki czasu, dzięki czemu muxer generuje świeży
znaczniki czasu na podstawie liczby klatek na sekundę.

-1, samochód
Wybiera od 1 do 2 w zależności od możliwości muxera. To jest ustawienie domyślne
Metoda.

Zauważ, że znaczniki czasu mogą być później modyfikowane przez muxer. Do
na przykład w przypadku, gdy opcja formatu unikaj_ujemnych_ts jest włączony.

Za pomocą -map możesz wybrać, z którego strumienia mają być pobierane znaczniki czasu. Możesz
pozostaw wideo lub audio bez zmian i zsynchronizuj pozostałe strumienie z
niezmieniony.

-próg_upuszczenia_ramki parametr
Próg porzucania klatek, który określa, ile czasu za klatkami wideo może znajdować się przed nimi
są upuszczane. W jednostkach liczby klatek na sekundę, więc 1.0 to jedna klatka. Wartość domyślna to -1.1. Jeden
możliwym zastosowaniem jest unikanie porzucania klatek w przypadku hałaśliwych znaczników czasu lub zwiększanie
precyzja opuszczania klatek w przypadku dokładnych znaczników czasu.

-asynchroniczny próbki_na_sekundę
Metoda synchronizacji dźwięku. „Rozciąga/ściska” strumień audio, aby pasował do znaczników czasu,
parametr to maksymalna liczba próbek na sekundę, o jaką zmienia się dźwięk. -asynchroniczny 1
to szczególny przypadek, w którym tylko początek strumienia audio jest korygowany bez żadnych
późniejsza korekta.

Zauważ, że znaczniki czasu mogą być później modyfikowane przez muxer. Do
na przykład w przypadku, gdy opcja formatu unikaj_ujemnych_ts jest włączony.

Ta opcja została wycofana. Zamiast tego użyj filtra audio „aresample”.

-kopie
Nie przetwarzaj wejściowych znaczników czasu, ale zachowaj ich wartości bez próby oczyszczenia
im. W szczególności nie należy usuwać początkowej wartości przesunięcia czasu rozpoczęcia.

Zwróć uwagę, że w zależności od vsync opcja lub na konkretnym przetwarzaniu muxera (np. w przypadku
opcja formatu unikaj_ujemnych_ts jest włączone) wyjściowe znaczniki czasu mogą się nie zgadzać
z wejściowymi znacznikami czasu, nawet jeśli ta opcja jest zaznaczona.

-start_od_zera
Kiedy jest używany z kopie, przesuń wejściowe znaczniki czasu, aby zaczynały się od zera.

Oznacza to, że użycie np. "-ss 50" spowoduje, że wyjściowe znaczniki czasu będą zaczynać się od 50 sekund,
niezależnie od tego, od jakiego znacznika czasu rozpoczął się plik wejściowy.

-kopiuj tryb
Określ, jak ustawić podstawę czasu kodera podczas kopiowania strumieniowego. tryb jest liczbą całkowitą
wartość liczbową i może przyjąć jedną z następujących wartości:

1 Użyj podstawy czasu demuksera.

Podstawa czasu jest kopiowana do kodera wyjściowego z odpowiedniego wejścia
demukser. Czasami jest to wymagane, aby uniknąć niemonotonicznego wzrostu
znaczniki czasu podczas kopiowania strumieni wideo ze zmienną liczbą klatek na sekundę.

0 Użyj podstawy czasu dekodera.

Podstawa czasu jest kopiowana do kodera wyjściowego z odpowiedniego wejścia
dekoder.

-1 Spróbuj dokonać wyboru automatycznie, aby wygenerować rozsądne wyjście.

Wartość domyślna to -1.

-najkrótszy (wydajność)
Zakończ kodowanie po zakończeniu najkrótszego strumienia wejściowego.

-dts_delta_threshold
Próg delta nieciągłości znacznika czasu.

-muxopóźnienie sekund (wkład)
Ustaw maksymalne opóźnienie dekodowania demultipleksowania.

-muxpreload sekund (wkład)
Ustaw początkowe opóźnienie dekodowania demultipleksowania.

-strumień Output-stream-index:nowa wartość (wydajność)
Przypisz nową wartość identyfikatora strumienia do strumienia wyjściowego. Należy określić tę opcję
przed nazwą pliku wyjściowego, którego dotyczy. W sytuacji, gdy wiele
istnieją pliki wyjściowe, streamid może zostać przypisany do innej wartości.

Na przykład, aby ustawić strumień 0 PID na 33 i strumień 1 PID na 36 dla wyjścia
plik mpegts:

ffmpeg -i infile -streamid 0:33 -streamid 1:36 out.ts

-bsf[:specyfikator_strumienia] filtry_strumienia bitów (wyjście, na strumień)
Ustaw filtry strumienia bitów dla pasujących strumieni. filtry_strumienia bitów jest wartością oddzieloną przecinkami
lista filtrów strumienia bitów. Użyj opcji "-bsfs", aby uzyskać listę strumienia bitów
filtry.

ffmpeg -i h264.mp4 -c:v kopiuj -bsf:v h264_mp4toannexb -an out.h264

ffmpeg -i plik.mov -an -vn -bsf:s mov2textsub -c:s copy -f rawvideo sub.txt

-etykietka[:specyfikator_strumienia] kodek_tag (wejście/wyjście, na strumień)
Wymuś tag/fourcc dla pasujących strumieni.

-kod czasowy hh:mm:ssWrześniaff
Określ kod czasowy do zapisu. Września to ':' dla kodu czasowego bez upuszczania i ';' (albo za
upuszczać.

ffmpeg -i wejście.mpg -kod czasowy 01:02:03.04 -r 30000/1001 -s ntsc wyjście.mpg

-filter_kompleks wykres filtracyjny (światowy)
Zdefiniuj złożony filtr, tj. taki z dowolną liczbą wejść i/lub wyjść.
Proste wykresy — te z jednym wejściem i jednym wyjściem tego samego typu — patrz
-filtr opcje. wykres filtracyjny to opis wykresu filtra, jak opisano w
Sekcja ``Składnia filtrów'' podręcznika ffmpeg-filters.

Etykiety linków wejściowych muszą odnosić się do strumieni wejściowych przy użyciu
Składnia „[indeks_pliku:specyfikator_strumienia]” (tj. taka sama jak -mapa zastosowań). Gdyby
specyfikator_strumienia pasuje do wielu strumieni, zostanie użyty pierwszy. Nieoznaczony
wejście zostanie połączone z pierwszym nieużywanym strumieniem wejściowym pasującego typu.

Etykiety łączy wyjściowych są określane za pomocą -mapa. Wyjścia nieoznaczone są dodawane do pierwszego
plik wyjściowy.

Zwróć uwagę, że dzięki tej opcji można używać tylko źródeł lavfi bez normalnego
pliki wejściowe.

Na przykład, aby nałożyć obraz na wideo

ffmpeg -i video.mkv -i image.png -filter_complex '[0:v][1:v]nakładka[out]' -map
„[out]” out.mkv

Tutaj „[0:v]” odnosi się do pierwszego strumienia wideo w pierwszym pliku wejściowym, który jest połączony
do pierwszego (głównego) wejścia filtra nakładkowego. Podobnie pierwszy strumień wideo w
drugie wejście jest połączone z drugim (nakładką) wejściem nakładki.

Zakładając, że w każdym pliku wejściowym znajduje się tylko jeden strumień wideo, możemy pominąć etykiety wejściowe,
więc powyższe jest równoważne

ffmpeg -i video.mkv -i image.png -filter_complex 'overlay[out]' -map
„[out]” out.mkv

Ponadto możemy pominąć etykietę wyjścia i pojedyncze wyjście z wykresu filtra
zostanie automatycznie dodany do pliku wyjściowego, więc możemy po prostu pisać

ffmpeg -i video.mkv -i image.png -filter_complex 'nakładka' out.mkv

Aby wygenerować 5 sekund czystego czerwonego wideo przy użyciu źródła „kolor” lavfi:

ffmpeg -filter_complex 'kolor=c=czerwony' -t 5 out.mkv

-lawfi wykres filtracyjny (światowy)
Zdefiniuj złożony filtr, tj. taki z dowolną liczbą wejść i/lub wyjść.
Równoważny -filter_kompleks.

-filter_złożony_skrypt filename (światowy)
Ta opcja jest podobna do -filter_kompleksjedyną różnicą jest to, że argumentem jest
nazwa pliku, z którego ma zostać odczytany złożony opis wykresu filtrowania.

-dokładne_szukanie (wkład)
Ta opcja włącza lub wyłącza dokładne wyszukiwanie w plikach wejściowych za pomocą -ss opcja.
Jest ona domyślnie włączona, więc wyszukiwanie jest dokładne podczas transkodowania. Posługiwać się
-noaccurate_seek aby go wyłączyć, co może być przydatne np. podczas kopiowania niektórych strumieni i
transkodowanie innych.

-seek_znacznik czasu (wkład)
Ta opcja włącza lub wyłącza wyszukiwanie według znacznika czasu w plikach wejściowych z -ss
opcja. Domyślnie jest wyłączona. Jeśli jest włączony, argument do -ss Jest opcja
jest uważany za rzeczywisty znacznik czasu i nie jest przesunięty o czas rozpoczęcia pliku. Ten
ma znaczenie tylko dla plików, które nie zaczynają się od znacznika czasu 0, takich jak strumienie transportowe.

-rozmiar_kolejki_wątku rozmiar (wkład)
Ta opcja ustawia maksymalną liczbę pakietów w kolejce podczas odczytu z pliku lub
urządzenie. W przypadku transmisji na żywo o niskim opóźnieniu / wysokiej szybkości pakiety mogą zostać odrzucone, jeśli:
nie są czytane w odpowiednim czasie; podniesienie tej wartości może tego uniknąć.

-override_ffserver (światowy)
Zastępuje specyfikacje wejściowe z ffserwer. Korzystając z tej opcji, możesz mapować dowolne
strumień wejściowy do ffserwer i kontrolować wiele aspektów kodowania z ffmpeg. Bez
ta opcja ffmpeg przekaże do ffserwer o co prosi ffserwer.

Ta opcja jest przeznaczona dla przypadków, w których potrzebne są funkcje, których nie można określić, aby
ffserwer ale może być ffmpeg.

-sdp_plik filet (światowy)
Wydrukuj informacje sdp dla strumienia wyjściowego do filet. Pozwala to na zrzucanie sdp
informacje, gdy co najmniej jedno wyjście nie jest strumieniem RTP. (Wymaga co najmniej jednego z
formaty wyjściowe mają być rtp).

-odrzucać (wkład)
Umożliwia odrzucanie określonych strumieni lub ramek strumieni w demukserze. Nie wszystko
wspierają to demuksery.

Żaden
Odrzuć brak ramki.

domyślnym
Domyślny, który nie odrzuca żadnych ramek.

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.

-xbłąd (światowy)
Zatrzymaj i wyjdź w przypadku błędu

Jako specjalny wyjątek możesz użyć strumienia napisów bitmapowych jako danych wejściowych: będzie
przekonwertowane na wideo o tym samym rozmiarze, co największy plik wideo w pliku lub 720x576, jeśli
brak wideo. Zauważ, że jest to rozwiązanie eksperymentalne i tymczasowe. To będzie
usunięto, gdy libavfilter ma odpowiednią obsługę napisów.

Na przykład, aby zakodować napisy na sztywno nagrania DVB-T zapisanego w formacie MPEG-TS,
opóźnienie napisów o 1 sekundę:

ffmpeg -i input.ts -filter_complex \
'[#0x2ef] setpts=PTS+1/TB [sub] ; [#0x2d0] [sub] nakładka' \
-sn -map '#0x2dc' wyjście.mkv

(0x2d0, 0x2dc i 0x2ef to identyfikatory PID MPEG-TS odpowiednio wideo, audio i
strumienie napisów; 0:0, 0:3 i 0:7 też by działały)

Preset pliki
Plik ustawień zawiera sekwencję opcja=wartość pary, po jednej dla każdej linii, określając a
sekwencja opcji, których określenie w wierszu poleceń byłoby niezręczne. Linie zaczynają się
ze znakiem hash ('#') są ignorowane i używane do umieszczania komentarzy. Sprawdź
presetów katalog w drzewie źródłowym FFmpeg dla przykładów.

Istnieją dwa typy plików ustawień wstępnych: pliki ffpreset i avpreset.

ustawienie ff pliki

Pliki ffpreset są określane opcjami "vpre", "apre", "spre" i "fpre". ten
Opcja „fpre” przyjmuje jako dane wejściowe nazwę pliku ustawienia wstępnego zamiast nazwy ustawienia wstępnego i może
być używany do każdego rodzaju kodeka. W przypadku opcji „vpre”, „apre” i „spre” opcje
określone w pliku ustawień predefiniowanych są stosowane do aktualnie wybranego kodeka tego samego typu co
opcja ustawienia wstępnego.

Argument przekazany do opcji ustawień wstępnych „vpre”, „apre” i „spre” identyfikuje ustawienie wstępne
plik do użycia zgodnie z następującymi zasadami:

Najpierw ffmpeg szuka pliku o nazwie arg.ffpreset w katalogach $FFMPEG_DATADIR (gdyby
zestaw) i $HOME/.ffmpeg, oraz w datadir zdefiniowanym w czasie konfiguracji (zazwyczaj
PREFIKS/udostępnij/ffmpeg) lub w ffpresety folder wzdłuż pliku wykonywalnego na win32, w tym
zamówienie. Na przykład, jeśli argument to „libvpx-1080p”, wyszuka plik
libvpx-1080p.ffpreset.

Jeśli nie zostanie znaleziony taki plik, ffmpeg wyszuka plik o nazwie kodek_nazwa-arg.ffpreset
w wyżej wymienionych katalogach, gdzie kodek_nazwa to nazwa kodeka, do którego
zostaną zastosowane wstępnie ustawione opcje pliku. Na przykład, jeśli wybierzesz kodek wideo za pomocą
"-vcodec libvpx" i użyj "-vpre 1080p", a następnie wyszuka plik
libvpx-1080p.ffpreset.

avpreset pliki

pliki avpreset są określone z opcją "pre". Działają podobnie do plików ffpreset,
ale pozwalają tylko na opcje specyficzne dla enkodera. Dlatego też opcja=wartość para określanie
nie można użyć enkodera.

Gdy określona jest opcja „pre”, ffmpeg będzie szukał plików z sufiksem .avpreset
w katalogach $AVCONV_DATADIR (jeśli ustawiono) i $HOME/.śr.konw, oraz w zdefiniowanym katalogu data
w czasie konfiguracji (zwykle PREFIKS/udostępnij/ffmpeg), w tej kolejności.

Najpierw ffmpeg szuka pliku o nazwie kodek_nazwa-arg.avpreset w wyżej wymienionym
katalogi, gdzie kodek_nazwa to nazwa kodeka, do którego ustawione są opcje pliku
zostaną zastosowane. Na przykład, jeśli wybierzesz kodek wideo z "-vcodec libvpx" i użyjesz
"-pre 1080p", a następnie wyszuka plik libvpx-1080p.avpreset.

Jeśli nie zostanie znaleziony taki plik, ffmpeg wyszuka plik o nazwie arg.avpreset w
te same katalogi.

PRZYKŁADY


Wideo i Audio chwytanie
Jeśli określisz format wejściowy i urządzenie, ffmpeg może bezpośrednio pobierać wideo i audio.

ffmpeg -f oss -i /dev/dsp -f video4linux2 -i /dev/video0 /tmp/out.mpg

Lub ze źródłem dźwięku ALSA (wejście mono, identyfikator karty 1) zamiast OSS:

ffmpeg -f alsa -ac 1 -i hw:1 -f video4linux2 -i /dev/video0 /tmp/out.mpg

Pamiętaj, że przed uruchomieniem ffmpeg musisz aktywować odpowiednie źródło wideo i kanał
z dowolną przeglądarką telewizyjną, taką jakhttp://linux.bytesex.org/xawtv/> przez Gerda Knorra. Masz także
aby prawidłowo ustawić poziomy nagrywania dźwięku za pomocą standardowego miksera.

X11 chwytanie
Chwyć wyświetlacz X11 za pomocą ffmpeg przez

ffmpeg -f x11grab -video_size cif -liczba klatek 25 -i :0.0 /tmp/out.mpg

0.0 to numer display.screen twojego serwera X11, taki sam jak zmienna środowiskowa DISPLAY.

ffmpeg -f x11grab -video_size cif -liczba klatek 25 -i :0.0+10,20 /tmp/out.mpg

0.0 to numer display.screen twojego serwera X11, taki sam jak zmienna środowiskowa DISPLAY.
10 to przesunięcie x, a 20 to przesunięcie y dla chwytania.

Wideo i Audio filet format konwersja
Dowolny obsługiwany format pliku i protokół mogą służyć jako dane wejściowe do ffmpeg:

Przykłady:

· Możesz użyć plików YUV jako danych wejściowych:

ffmpeg -i /tmp/test%dY /tmp/out.mpg

Wykorzysta pliki:

/tmp/test0.Y, /tmp/test0.U, /tmp/test0.V,
/tmp/test1.Y, /tmp/test1.U, /tmp/test1.V itd...

Pliki Y używają dwukrotnie większej rozdzielczości niż pliki U i V. Są to surowe pliki, bez
nagłówek. Mogą być generowane przez wszystkie przyzwoite dekodery wideo. Musisz określić rozmiar
obrazu z -s opcja, jeśli ffmpeg nie może tego odgadnąć.

· Możesz wprowadzić z nieprzetworzonego pliku YUV420P:

ffmpeg -i /tmp/test.yuv /tmp/out.avi

test.yuv to plik zawierający surowe dane planarne YUV. Każda ramka składa się z Y
płaszczyzna, a następnie płaszczyzny U i V w rozdzielczości połówkowej pionowej i poziomej.

· Możesz wyprowadzić do nieprzetworzonego pliku YUV420P:

ffmpeg -i mydivx.avi ogromny plik.yuv

· Możesz ustawić kilka plików wejściowych i plików wyjściowych:

ffmpeg -i /tmp/a.wav -s 640x480 -i /tmp/a.yuv /tmp/a.mpg

Konwertuje plik audio a.wav i surowy plik wideo YUV a.yuv na plik MPEG a.mpg.

· Możesz także wykonywać konwersje audio i wideo w tym samym czasie:

ffmpeg -i /tmp/a.wav -ar 22050 /tmp/a.mp2

Konwertuje a.wav na dźwięk MPEG z częstotliwością próbkowania 22050 Hz.

· Możesz kodować do kilku formatów jednocześnie i definiować mapowanie z wejścia
strumień do strumieni wyjściowych:

ffmpeg -i /tmp/a.wav -mapa 0:a -b:a 64k /tmp/a.mp2 -mapa 0:a -b:a 128k /tmp/b.mp2

Konwertuje a.wav na a.mp2 przy 64 kbit i b.mp2 przy 128 kbit. '-map plik:indeks'
określa, który strumień wejściowy jest używany dla każdego strumienia wyjściowego, w kolejności
definicja strumieni wyjściowych.

· Możesz transkodować odszyfrowane VOB:

ffmpeg -i snatch_1.vob -f avi -c:v mpeg4 -b:v 800k -g 300 -bf 2 -c:a libmp3lame -b:a 128k snatch.avi

To jest typowy przykład zgrywania DVD; wejście to plik VOB, wyjście to plik AVI
z wideo MPEG-4 i dźwiękiem MP3. Zauważ, że w tym poleceniu używamy ramek B, więc
Strumień MPEG-4 jest kompatybilny z DivX5, a rozmiar GOP to 300, co oznacza jedną ramkę intra
co 10 sekund dla wideo wejściowego 29.97 kl./s. Ponadto strumień audio jest
zakodowane w formacie MP3, więc musisz włączyć obsługę LAME, przekazując „--enable-libmp3lame” do
skonfigurować. Mapowanie jest szczególnie przydatne przy transkodowaniu DVD w celu uzyskania pożądanego
język audio.

UWAGA: Aby zobaczyć obsługiwane formaty wejściowe, użyj „ffmpeg -formats”.

· Możesz wyodrębnić obrazy z wideo lub utworzyć wideo z wielu obrazów:

Aby wyodrębnić obrazy z wideo:

ffmpeg -i foo.avi -r 1 -s SxW -f image2 foo-%03d.jpeg

Spowoduje to wyodrębnienie jednej klatki wideo na sekundę z wideo i wyprowadzenie ich w
pliki o nazwie foo-001.jpeg, foo-002.jpeg, itp. Obrazy zostaną przeskalowane w celu dopasowania do nowego
Wartości szer. x wys.

Jeśli chcesz wyodrębnić tylko ograniczoną liczbę klatek, możesz użyć powyższego polecenia
w połączeniu z opcją -vframes lub -t, lub w połączeniu z -ss na start
wydobywanie z określonego punktu w czasie.

Do tworzenia wideo z wielu obrazów:

ffmpeg -f obraz2 -framerate 12 -i foo-%03d.jpeg -s WxH foo.avi

Składnia „foo-%03d.jpeg” określa użycie liczby dziesiętnej składającej się z trzech cyfr
uzupełnione zerami, aby wyrazić numer sekwencji. Jest to ta sama składnia obsługiwana przez
funkcja C printf, ale odpowiednie są tylko formaty akceptujące normalne liczby całkowite.

Podczas importowania sekwencji obrazów -i obsługuje również rozszerzanie symboli wieloznacznych w stylu powłoki
wzorce (globbing) wewnętrznie, wybierając specyficzny dla image2 „-pattern_type glob”
opcja.

Na przykład do tworzenia wideo z nazw plików pasujących do wzorca glob
"foo-*.jpeg":

ffmpeg -f image2 -pattern_type glob -framerate 12 -i 'foo-*.jpeg' -s WxH foo.avi

· Na wyjściu możesz umieścić wiele strumieni tego samego typu:

ffmpeg -i test1.avi -i test2.avi -map 1:1 -map 1:0 -map 0:1 -map 0:0 -c kopiuj -y test12.nut

Wynikowy plik wyjściowy test12.nakrętka będzie zawierać pierwsze cztery strumienie z
pliki wejściowe w odwrotnej kolejności.

· Aby wymusić wyjście wideo CBR:

ffmpeg -i mójplik.avi -b 4000k -minrate 4000k -maxrate 4000k -bufsize 1835k out.m2v

· Cztery opcje lmin, lmax, mblmin i mblmax używają jednostek „lambda”, ale możesz użyć
Stała QP2LAMBDA do łatwej konwersji z jednostek 'q':

ffmpeg -i src.ext -lmax 21*QP2LAMBDA dst.ext

Korzystaj z avconv online, korzystając z usług onworks.net


Darmowe serwery i stacje robocze

Pobierz aplikacje Windows i Linux

  • 1
    libusba
    libusba
    Biblioteka, aby włączyć przestrzeń użytkownika
    programy użytkowe do komunikacji
    Urządzenia USB. Publiczność: deweloperzy, koniec
    Użytkownicy/Pulpit. Język programowania: C.
    Kategorie...
    Pobierz plik libusb
  • 2
    HAUST
    HAUST
    SWIG to narzędzie do tworzenia oprogramowania
    która łączy programy napisane w C i
    C++ z różnymi wysokopoziomowymi
    języki programowania. SWIG jest używany z
    różne...
    Pobierz SWIG
  • 3
    Motyw WooCommerce Nextjs React
    Motyw WooCommerce Nextjs React
    Motyw React WooCommerce, zbudowany z
    Następny JS, Webpack, Babel, Node i
    Express, używając GraphQL i Apollo
    Klient. Sklep WooCommerce w React(
    zawiera: Produkty...
    Pobierz motyw WooCommerce Nextjs React
  • 4
    archlabs_repo
    archlabs_repo
    Repozytorium pakietów dla ArchLabs To jest plik
    aplikacja, którą można również pobrać
    od
    https://sourceforge.net/projects/archlabs-repo/.
    Został on hostowany w OnWorks w...
    Pobierz archlabs_repo
  • 5
    Projekt Zefir
    Projekt Zefir
    Projekt Zephyr to nowa generacja
    system operacyjny czasu rzeczywistego (RTOS).
    obsługuje wiele urządzeń
    architektury. Opiera się na A
    małe jądro...
    Pobierz projekt Zephyr
  • 6
    Scons
    Scons
    SCons to narzędzie do tworzenia oprogramowania
    jest lepszą alternatywą dla
    klasyczne narzędzie do budowania „Make”.
    wszyscy znamy i kochamy. SCons jest
    wdrożył...
    Pobierz SCons
  • więcej »

Komendy systemu Linux

Ad