Перейти к содержанию

FFmpeg

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
FFmpeg

FFmpeg — набор свободных библиотек с открытым исходным кодом, которые позволяют записывать, конвертировать и передавать цифровые аудио- и видеозаписи в различных форматах. Он включает libavcodec — библиотеку кодирования и декодирования аудио и видео, и libavformat — библиотеку мультиплексирования и демультиплексирования в медиаконтейнер. Название происходит от названия экспертной группы MPEG и FF, означающего «fast forward»[1].

Проект основал Фабрис Беллар (под псевдонимом Жерар Ланто (фр. Gerard Lantau)) и до января 2011 года руководство им осуществлял Михаэль Нидермайер (нем. Michael Niedermayer). Многие разработчики FFmpeg принимали участие в проекте MPlayer, и FFmpeg располагался на сервере MPlayer. 18 января группа разработчиков внезапно отстранила Нидермайера от руководства и, объясняя захват необходимостью борьбы со стагнацией и разногласиями, попыталась взять управление проектом в свои руки. Но в итоге власть всё равно осталась в руках Нидермайера, а результатом бурных споров явилось создание отдельной ветви проекта, в которой участвовали недовольные положением вещей разработчики. Позже, из-за продолжающихся разногласий с основной группой, они основали новый проект под названием Libav[англ.].

FFmpeg разработан под ОС на основе Linux, однако, может быть скомпилирован под многие другие операционные системы. Распространяется по лицензиям GNU LGPL или GNU GPL.

Компоненты

ffmpeg состоит из следующих компонентов:

  • ffmpeg — утилита командной строки для конвертирования видеофайла из одного формата в другой. С её помощью можно также захватывать видео в реальном времени с TV-карты.
  • ffplay — простой медиаплеер, основанный на SDL и библиотеках FFmpeg.
  • ffprobe — консольная утилита, позволяющая собирать и отображать информацию о медиафайлах (как MediaInfo) и мультимедиапотоках, доступных устройствах, кодеках, форматах, протоколах и др.[2]
  • ffserver — HTTP- (RTSP в настоящее время разрабатывается) потоковый сервер для видео- или радиовещания.
  • libavcodec — библиотека со всеми аудио/видеокодеками. Большинство кодеков было разработано «с нуля» для обеспечения наилучшей производительности.
  • libavformat — библиотека с мультиплексорами и демультиплексорами для различных аудио- и видеоформатов.
  • libavutil — вспомогательная библиотека со стандартными общими подпрограммами для различных компонентов ffmpeg. Включает Adler-32, CRC, MD5, SHA1, LZO-декомпрессор, Base64-кодер/декодер, DES-шифровальщик/расшифровщик, RC4-шифровальщик/расшифровщик и AES-шифровальщик/расшифровщик.
  • libpostproc — библиотека стандартных подпрограмм обработки видео.
  • libswscale — библиотека для масштабирования видео.
  • libavfilter — замена vhook, которая позволяет изменять видеопоток между декодером и кодером «на лету».

Поддерживаемые кодеки и форматы

Участниками проекта FFmpeg были подвергнуты обратной разработке и/или реализованы следующие кодеки и форматы:

Кодеки

Контейнеры

Расширения для работы с FFmpeg

FFMpeg-php — устаревшее расширение (модуль) для PHP, который добавляет удобный объектно-ориентированный API для доступа и поиска информации из видео- и аудиофайлов через FFmpeg.[5]

Fluent-ffmpeg — Модуль для Node.js.

См. также

Примечания

  1. FFmpeg naming and logo (недоступная ссылка). Дата обращения: 15 марта 2019. Архивировано 30 сентября 2007 года.
  2. ffprobe Documentation (англ.). FFmpeg. Дата обращения: 15 марта 2019. Архивировано 1 марта 2019 года.
  3. 3,0 3,1 3,2 3,3 3,4 3,5 3,6 3,7 Changelog. Дата обращения: 16 августа 2010. Архивировано 3 марта 2012 года.
  4. 4,0 4,1 FFmpeg development mailing list (недоступная ссылка) (7 мая 2007). Дата обращения: 20 января 2008. Архивировано 30 сентября 2007 года.
  5. ffmpeg-php. Дата обращения: 17 декабря 2008. Архивировано 17 декабря 2008 года.

Ссылки