Прежде всего, чтобы прояснить некоторые термины:
- FFmpeg представляет собой программный проект с большим количеством людей, вовлеченных, Вики, ошибка, трекер, некоторые средства и т.д.
ffmpeg
является одним из инструменты, которые они предлагают (другие - ffplay
и qt-faststart
, например).
- Libav является развилкой проекта FFmpeg, который снабжает двоичным кодом
avconv
. Они оба развиваются независимо, но FFmpeg обычно сливается с Либавом, а не наоборот. (Некоторые могут сказать, что Ливав страдает от NIH). Некоторые дистрибутивы решили отправить Libav вместо программ FFmpeg, в частности Ubuntu, что вызвало некоторую путаницу в переходный период, когда команда Libav по-прежнему была названа ffmpeg
. Теперь Ubuntu снова использует «реальный» ffmpeg
.
Инструмент ffmpeg
, как вы сказали, обертка командной строки для ряда библиотек, предназначенных для обработки мультимедийного контента. К ним относятся:
Хотя разработчики FFmpeg часто предоставляют свои собственные кодеры и декодеры, вы можете включить сторонние библиотеки, которые имеют упаковщик в кодеке для того, чтобы «клей» вместе FFmpeg и, скажем, x264, который является наиболее популярными H .264. Это часто делается, когда просто нет смысла «изобретать колесо», что было бы, если бы кто-то решил написать новый кодер H.264 с целью быть лучше, чем x264. В других случаях некоторые библиотеки не могут быть отправлены с помощью сборки ffmpeg
по причинам, связанным с лицензированием, например libfaac. В этом случае ffmpeg
предлагает собственный кодер AAC.
Общие внешние датчики включают в себя:
- libx264
- libvpx (для VP8 и VP9 видео)
- libfaac, libfdk-AAC, libvo-aacenc для AAC аудио
- libmp3lame
- libvorbis
- libxvid
Для всех тех, которые вы найдете обертки под libavcodec, например. для libx264, the file libx264.c
содержит необходимый код, чтобы вывести видео из внутреннего формата FFmpeg в кодировщик x264, а затем передать это на libavformat, чтобы записать его в файл. Фактическое кодирование выполняется через libx264.
Как уже упоминалось ранее, другие кодеры, такие как the one for MPEG-4, являются родными для FFmpeg и вообще не полагаются на внешние библиотеки.
И наконец, there are several programs, которые используют инструменты и библиотеки FFmpeg, будь то предоставление ffmpeg
исполняемого файла или выбор частей библиотек libavcodec и libavformat. Это разрешено по лицензии и делает FFmpeg самой популярной коллекцией мультимедийных инструментов сегодня.
- часть кодека h263 ffmpeg? – onmyway133
FFmpeg's H.263 кодеки являются родными, да. – slhck
Возможно, упоминается, что встроенный AAC enc теперь стабилен. – Mulvya