Quali sono tutti i codec e i formati supportati da FFmpeg?


Risposte:


171

Codec propri:

ffmpeg -codecs

formati:

ffmpeg -formats

4
Sarebbe solo un elenco di formati supportati da una build / installazione specifica di FFmpeg. Sono in uso una gamma molto ampia di build FFmpeg.
mikerobi,

19
Sì, se ti interessa in modo astratto, puoi consultare il codice sorgente e una documentazione più ampia. Tuttavia, la maggior parte delle persone saranno inizialmente interessate al loro ffmpeg.
Matthew Flaschen,

1
Immagino che dipenda dall'intento dell'interrogatore, ma non lo considero astratto. Se un cliente mi chiama e mi chiede di supportare Purple Unicorn Codec 2.718, non mi verrebbe in mente di farlo ffmpeg -formats.
mikerobi,

FWIW, l'opzione "-codec" non è disponibile per la versione ffmpeg SVN-r0.5.10 e (presumibilmente) in precedenza.
Digger

@Matthew Non necessariamente ... Il motivo principale per cui sono interessato a vedere se un codec è supportato è che ho già ricevuto un messaggio "Codec non supportato" dal mio ffprobe e voglio vedere se questo è dovuto alla mia installazione locale ....
ntg

120

I formati e i codec supportati dalla tua build ffmpegpossono variare in base alla versione, al modo in cui è stata compilata e se eventuali librerie esterne, come libx264, sono state supportate durante la compilazione.

Formati (muxer e demuxer):

Elenca tutti i formati:

ffmpeg -formats

Visualizza opzioni specifiche e informazioni su un particolare muxer:

ffmpeg -h muxer=matroska

Mostra opzioni specifiche e informazioni su un particolare demuxer:

ffmpeg -h demuxer=gif

Codec (codificatori e decodificatori):

Elenca tutti i codec:

ffmpeg -codecs

Elenca tutti gli encoder:

ffmpeg -encoders

Elenca tutti i decodificatori:

ffmpeg -decoders

Visualizza opzioni specifiche e informazioni su un particolare codificatore:

ffmpeg -h encoder=mpeg4

Mostra opzioni specifiche e informazioni su un particolare decodificatore:

ffmpeg -h decoder=aac

Lettura dei risultati

C'è una chiave nella parte superiore dell'output che descrive ogni lettera che precede il nome del formato, codificatore, decodificatore o codec:

$ 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

In questo esempio V.S...indica che l'encoder mpeg4è un Vcodificatore video e supporta il Smultithreading a livello di pidocchi.

Vedi anche

Che cos'è un codec e in che cosa differisce da un formato?


Grazie mille a Llogan per quelle opzioni di filtro extra. È possibile andare oltre e, ad esempio, chiedere a FFMPEG di elencare tutti gli encoder / decodificatori che sono solo per il video o solo per l'audio?
astronauta

1
@spaceman Puoi farlo con qualche elaborazione aggiuntiva. Esempio usando grepsu Linux:ffmpeg -encoders | grep "^ V"
llogan

59
ffmpeg -codecs

dovrebbe darti tutte le informazioni sui codec disponibili.

Vedrai alcune lettere accanto ai codec:

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.