Tất cả các codec và định dạng được FFmpeg hỗ trợ là gì?


Câu trả lời:


171

Codecs thích hợp:

ffmpeg -codecs

Các định dạng:

ffmpeg -formats

4
Đó sẽ chỉ là một danh sách các định dạng được hỗ trợ bởi một bản dựng / cài đặt cụ thể của FFmpeg. Có rất nhiều bản dựng FFmpeg đang được sử dụng.
mikerobi

19
Có, nếu bạn quan tâm đến nó một cách trừu tượng, bạn có thể tham khảo mã nguồn và tài liệu rộng hơn. Tuy nhiên, hầu hết mọi người ban đầu sẽ quan tâm đến ffmpeg của họ .
Matthew Flaschen

1
Tôi đoán nó phụ thuộc vào ý định của người hỏi, nhưng tôi không coi đó là trừu tượng. Nếu một khách hàng gọi và yêu cầu tôi hỗ trợ Purple Unicorn Codec 2.718, điều đó sẽ không xảy ra với tôi ffmpeg -formats.
mikerobi

FWIW, tùy chọn "-codec" không khả dụng cho phiên bản ffmpeg SVN-r0.5.10 và (có lẽ) trước đó.
Thợ lặn

@Matthew Không nhất thiết ... Lý do chính khiến tôi quan tâm xem liệu codec có được hỗ trợ hay không là tôi đã nhận được thông báo "Codec không được hỗ trợ" từ ffprobe của tôi và muốn xem liệu đây có phải là do cài đặt cục bộ của tôi không ....
ntg

120

Các định dạngcodec được hỗ trợ bởi bản dựng của bạn ffmpegcó thể thay đổi do phiên bản, cách nó được biên dịch và nếu bất kỳ thư viện bên ngoài nào, như libx264, được hỗ trợ trong quá trình biên dịch.

Các định dạng (muxers và demuxers):

Liệt kê tất cả các định dạng:

ffmpeg -formats

Hiển thị các tùy chọn cụ thể và thông tin về một muxer cụ thể:

ffmpeg -h muxer=matroska

Hiển thị các tùy chọn cụ thể và thông tin về, một bộ giải cụ thể:

ffmpeg -h demuxer=gif

Codec (bộ mã hóa và giải mã):

Liệt kê tất cả các codec:

ffmpeg -codecs

Liệt kê tất cả các bộ mã hóa:

ffmpeg -encoders

Liệt kê tất cả các bộ giải mã:

ffmpeg -decoders

Hiển thị các tùy chọn cụ thể và thông tin về một bộ mã hóa cụ thể:

ffmpeg -h encoder=mpeg4

Hiển thị các tùy chọn cụ thể và thông tin về một bộ giải mã cụ thể:

ffmpeg -h decoder=aac

Đọc kết quả

Có một khóa ở gần đầu ra mô tả mỗi chữ cái đứng trước tên của định dạng, bộ mã hóa, bộ giải mã hoặc 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

Trong ví dụ này V.S...chỉ ra rằng bộ mã hóa mpeg4là một Vbộ mã hóa ideo và hỗ trợ Sđa luồng cấp độ chấy.

Cũng thấy

Codec là gì và nó khác với định dạng như thế nào?


Cảm ơn bạn rất nhiều llogan cho các tùy chọn lọc thêm. Có thể đi xa hơn không, và ví dụ, yêu cầu FFMPEG liệt kê tất cả Bộ mã hóa / Bộ giải mã chỉ dành cho Video hoặc chỉ dành cho Âm thanh?
phi công

1
@spaceman Bạn có thể làm điều đó với một số xử lý bổ sung. Ví dụ sử dụng greptrên Linux:ffmpeg -encoders | grep "^ V"
llogan

59
ffmpeg -codecs

sẽ cung cấp cho bạn tất cả các thông tin về các codec có sẵn.

Bạn sẽ thấy một số chữ cái bên cạnh 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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.