Apa semua codec dan format yang didukung oleh FFmpeg?

138

Saya memerlukan daftar codec dan format yang didukung oleh FFmpeg. Dimana saya bisa menemukannya?

poobalan
sumber
Harus ada situs SE untuk FFmpeg. Silakan ikuti dan verifikasi email Anda untuk pemain Anda memilih!
Shimmy Weitzhandler
Pertanyaan serupa saya mendapat jawaban yang bagus: stackoverflow.com/questions/8727992/…
Sugrue

Jawaban:

174

Codec yang tepat:

ffmpeg -codecs

Format:

ffmpeg -formats
Matthew Flaschen
sumber
4
Itu hanya akan menjadi daftar format yang didukung oleh build / instalasi FFmpeg tertentu. Ada berbagai macam build FFmpeg yang digunakan.
mikerobi
21
Ya, jika Anda tertarik secara abstrak, Anda dapat melihat kode sumber dan dokumentasi yang lebih luas. Namun, kebanyakan orang awalnya akan tertarik dengan ffmpeg mereka .
Matthew Flaschen
1
Saya kira itu tergantung pada maksud si penanya, tapi saya tidak menganggapnya abstrak. Jika klien menelepon dan meminta saya untuk mendukung Purple Unicorn Codec 2.718, saya tidak akan terpikir untuk melakukannya ffmpeg -formats.
mikerobi
FWIW, opsi "-codec" tidak tersedia untuk ffmpeg versi SVN-r0.5.10 dan (mungkin) sebelumnya.
Penggali
@Matthew Belum tentu ... Alasan utama saya tertarik untuk melihat apakah ada codec yang didukung adalah karena saya sudah mendapat pesan "Codec tidak didukung" dari ffprobe saya dan ingin melihat apakah ini karena instalasi lokal saya ....
ntg
124

The format dan codec yang didukung oleh membangun Anda ffmpegdapat bervariasi karena versi, bagaimana itu disusun, dan jika ada perpustakaan eksternal, seperti libx264, didukung selama kompilasi.

Format (muxers dan demuxers):

Cantumkan semua format:

ffmpeg -formats

Menampilkan opsi khusus untuk, dan informasi tentang, muxer tertentu:

ffmpeg -h muxer=matroska

Menampilkan opsi khusus untuk, dan informasi tentang, demuxer tertentu:

ffmpeg -h demuxer=gif

Codec (encoder dan decoder):

Cantumkan semua codec:

ffmpeg -codecs

Cantumkan semua pembuat enkode:

ffmpeg -encoders

Cantumkan semua decoder:

ffmpeg -decoders

Menampilkan opsi khusus untuk, dan informasi tentang, pembuat enkode tertentu:

ffmpeg -h encoder=mpeg4

Menampilkan opsi khusus untuk, dan informasi tentang, decoder tertentu:

ffmpeg -h decoder=aac

Membaca hasilnya

Ada kunci di dekat bagian atas keluaran yang mendeskripsikan setiap huruf yang mendahului nama format, encoder, decoder, atau 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

Dalam contoh ini V.S...menunjukkan bahwa pembuat enkode mpeg4adalah Vpembuat enkode ideo dan mendukung Smultithreading tingkat kutu.

Lihat juga

Apa itu codec dan apa bedanya dengan format?

llogan.dll
sumber
Terima kasih banyak llogan untuk opsi pemfilteran ekstra itu. Apakah mungkin untuk melangkah lebih jauh, dan misalnya meminta FFMPEG untuk membuat daftar semua Encoder / Decoder yang hanya untuk Video, atau hanya untuk Audio?
spaceman
1
@spaceman Anda dapat melakukannya dengan beberapa pemrosesan tambahan. Contoh penggunaan grepdi Linux:ffmpeg -encoders | grep "^ V"
llogan
59
ffmpeg -codecs

harus memberi Anda semua info tentang codec yang tersedia.

Anda akan melihat beberapa huruf di samping 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
suja
sumber