Jakie są wszystkie kodeki i formaty obsługiwane przez FFmpeg?

135

Potrzebuję listy kodeków i formatów obsługiwanych przez FFmpeg. Gdzie mogę to znaleźć?

poobalan
źródło
Powinna istnieć witryna SE dla FFmpeg. Proszę śledzić i sprawdzić pocztę do obsady głosować!
Shimmy Weitzhandler
Moje podobne pytanie dało dobrą odpowiedź: stackoverflow.com/questions/8727992/…
Sugrue

Odpowiedzi:

171

Właściwe kodeki:

ffmpeg -codecs

Formaty:

ffmpeg -formats
Matthew Flaschen
źródło
4
Byłaby to tylko lista formatów obsługiwanych przez określoną kompilację / instalację FFmpeg. W użyciu jest bardzo szeroki zakres kompilacji FFmpeg.
mikerobi
19
Tak, jeśli interesuje Cię to w sposób abstrakcyjny, możesz zapoznać się z kodem źródłowym i szerszą dokumentacją. Jednak większość ludzi będzie początkowo zainteresowana ich ffmpeg.
Matthew Flaschen,
1
Myślę, że zależy to od intencji pytającego, ale nie uważam tego za abstrakcyjne. Gdyby klient zadzwonił i poprosił mnie o wsparcie dla Purple Unicorn Codec 2.718, nie przyszłoby mi do głowy ffmpeg -formats.
mikerobi
FWIW, opcja "-codec" nie jest dostępna dla wersji SVN-r0.5.10 ffmpeg i (prawdopodobnie) wcześniejszych.
Digger
@Matthew Niekoniecznie ... Głównym powodem, dla którego interesuje mnie, czy kodek jest obsługiwany, jest to, że otrzymałem już komunikat „Nieobsługiwany kodek” z mojej sondy ffprobe i chcę sprawdzić, czy jest to spowodowane moją lokalną instalacją ....
ntg
120

Te formaty i kodeki obsługiwane przez kompilacji ffmpegmogą się różnić w zależności od wersji, jak został skompilowany, a jeśli żadnych zewnętrznych bibliotek, takich jak libx264 były obsługiwane w trakcie kompilacji.

Formaty (muksery i demuksery):

Wymień wszystkie formaty:

ffmpeg -formats

Wyświetl opcje specyficzne dla konkretnego muksera i informacje o nim:

ffmpeg -h muxer=matroska

Wyświetl opcje specyficzne dla konkretnego demultipleksera i informacje o nim:

ffmpeg -h demuxer=gif

Kodeki (kodery i dekodery):

Wymień wszystkie kodeki:

ffmpeg -codecs

Lista wszystkich koderów:

ffmpeg -encoders

Wymień wszystkie dekodery:

ffmpeg -decoders

Wyświetl opcje specyficzne dla konkretnego kodera i informacje o nim:

ffmpeg -h encoder=mpeg4

Wyświetl opcje specyficzne dla konkretnego dekodera i informacje o nim:

ffmpeg -h decoder=aac

Czytanie wyników

W górnej części danych wyjściowych znajduje się klucz opisujący każdą literę poprzedzającą nazwę formatu, kodera, dekodera lub kodeka:

$ ffmpeg -encoders
[…]
Encoders:
 V..... = Video
 A..... = Audio
 S..... = Subtitle
 .F.... = Frame-level multithreading
 ..S... = Slice-level multithreading
 ...X.. = Codec is experimental
 ....B. = Supports draw_horiz_band
 .....D = Supports direct rendering method 1
 ------
[…]
 V.S... mpeg4                MPEG-4 part 2

W tym przykładzie V.S...wskazuje, że koder mpeg4jest Vkoderem wideo i obsługuje Swielowątkowość na poziomie wszy.

Zobacz także

Co to jest kodek i czym różni się od formatu?

llogan
źródło
Bardzo dziękuję llogan za te dodatkowe opcje filtrowania. Czy można pójść dalej i na przykład poprosić FFMPEG o listę wszystkich nadajników / dekoderów, które są przeznaczone tylko dla wideo lub tylko dla dźwięku?
kosmonauta
1
@spaceman Możesz to zrobić z dodatkowym przetwarzaniem. Przykład użycia grepw systemie Linux:ffmpeg -encoders | grep "^ V"
llogan
59
ffmpeg -codecs

powinien podać wszystkie informacje o dostępnych kodekach.

Obok kodeków zobaczysz kilka liter:

Codecs:
 D..... = Decoding supported
 .E.... = Encoding supported
 ..V... = Video codec
 ..A... = Audio codec
 ..S... = Subtitle codec
 ...I.. = Intra frame-only codec
 ....L. = Lossy compression
 .....S = Lossless compression
suja
źródło