Какие все кодеки и форматы поддерживаются FFmpeg?

135

Мне нужен список кодеков и форматов, поддерживаемых FFmpeg. Где я могу найти его?

poobalan
источник
Должен быть сайт SE для FFmpeg. Пожалуйста, следуйте и проверьте свою электронную почту, чтобы проголосовать!
Шимми Вайцхандлер
На мой похожий вопрос был получен хороший ответ: stackoverflow.com/questions/8727992/…
Sugrue

Ответы:

171

Правильные кодеки:

ffmpeg -codecs

Форматы:

ffmpeg -formats
Мэтью Флэшен
источник
4
Это будет только список форматов, поддерживаемых конкретной сборкой / установкой FFmpeg. Существует очень широкий спектр используемых сборок FFmpeg.
Микероби
19
Да, если вы заинтересованы в этом абстрактно, вы можете обратиться к исходному коду и более широкой документации. Тем не менее, большинство людей изначально будут заинтересованы в их ffmpeg.
Мэтью Флэшен
1
Я предполагаю, что это зависит от намерения спрашивающего, но я не считаю это абстрактным. Если клиент звонит и просит меня поддержать Purple Unicorn Codec 2.718, мне не придет в голову ffmpeg -formats.
Микероби
FWIW, опция -codec недоступна для ffmpeg версии SVN-r0.5.10 и (предположительно) ранее.
Копатель
@ Matthew Не обязательно ... Основная причина, по которой мне интересно узнать, поддерживается ли кодек, заключается в том, что я уже получил сообщение "Unsupported codec" от моего ffprobe и хочу узнать, связано ли это с моей локальной установкой ....
нтг,
120

В форматах и кодеки , поддерживаемые вашей сборка ffmpegмогут изменяться в зависимости от версии, как он был составлен, и если какие - либо внешние библиотеки, такие как libx264, были поддержаны во время компиляции.

Форматы (мультиплексоры и демультиплексоры):

Список всех форматов:

ffmpeg -formats

Показать параметры, относящиеся к конкретному мультиплексору, и информацию о нем:

ffmpeg -h muxer=matroska

Показать параметры, относящиеся к конкретному демультиплексору, и информацию о нем:

ffmpeg -h demuxer=gif

Кодеки (кодеры и декодеры):

Список всех кодеков:

ffmpeg -codecs

Список всех кодировщиков:

ffmpeg -encoders

Список всех декодеров:

ffmpeg -decoders

Отобразите параметры, относящиеся к конкретному кодеру, и информацию о нем:

ffmpeg -h encoder=mpeg4

Параметры отображения, относящиеся к конкретному декодеру и информация о нем:

ffmpeg -h decoder=aac

Чтение результатов

В верхней части вывода есть ключ, который описывает каждую букву, которая предшествует названию формата, кодеру, декодеру или кодеку:

$ 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

В этом примере V.S...указывается, что кодер mpeg4является Vидеальным кодером и поддерживаетS многопоточность на уровне вшей.

Также см

Что такое кодек и чем он отличается от формата?

llogan
источник
Большое спасибо llogan за эти дополнительные опции фильтрации. Можно ли пойти дальше и, например, попросить FFMPEG перечислить все кодеры / декодеры, которые предназначены только для видео или только для аудио?
космонавт
1
@spaceman Вы можете сделать это с некоторой дополнительной обработкой. Пример использования grepв Linux:ffmpeg -encoders | grep "^ V"
llogan
59
ffmpeg -codecs

должен дать вам всю информацию о доступных кодеках.

Рядом с кодеками вы увидите несколько букв:

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
источник