FFmpeg — набор свободных библиотек с открытым исходным кодом, которые позволяют записывать, конвертировать и передавать цифровые аудио- и видеозаписи в различных форматах. Он включает libavcodec — библиотеку кодирования и декодирования аудио и видео, и libavformat — библиотеку мультиплексирования и демультиплексирования в медиаконтейнер. Название происходит от названия экспертной группы MPEG и FF, означающего «fast forward»[14].
Краткие факты Тип, Автор ...
FFmpeg |
---|
|
|
Тип |
мультимедийный фреймворк |
Автор |
Фабрис Беллар[1] |
Разработчик |
Фабрис Беллар |
Написана на |
Си[2], язык ассемблера[3] и C++[3] |
Операционные системы
|
GNU/Linux, macOS, Windows, Android[4] и BSD[вд] |
Первый выпуск |
20 декабря 2000[5] |
Аппаратные платформы
|
x86, ARM, PowerPC, MIPS, DEC Alpha, Blackfin[вд], AVR32 и SPARC |
Последняя версия |
|
Репозиторий |
git.ffmpeg.org/ffmpeg.git |
Audible Audiobook[вд][7], APNG[7], Advanced Systems Format[7], FLV[вд][7], GIF[7], формат QuickTime[вд][7], MPEG-TS[7], 4X IMA ADPCM[вд][8], FLAC[9], NUT Container[вд], Bink Video, version 1[вд], Bink Video, version 2[вд], Indeo, DPX[вд][10], AMR[11] и Audio Interchange File Format[11] |
|
Audio Interchange File Format[7], Advanced Systems Format[7], FLV[вд][7], GIF[7], ICO[7], Matroska[7], WebM[7], формат QuickTime[вд][7], Audible Audiobook[вд][7], MP3[7], MPEG-TS[7], MXF[7], Ogg[7], FLAC и MPEG-4 Part 14 |
|
Лицензия |
LGPLv2.1+[вд][12][13] |
Сайт |
ffmpeg.org (англ.) |
Медиафайлы на Викискладе |
Закрыть
Проект основал Фабрис Беллар (под псевдонимом Жерар Ланто (фр. Gerard Lantau)) и до января 2011 года руководство им осуществлял Михаэль Нидермайер (нем. Michael Niedermayer). Многие разработчики FFmpeg принимали участие в проекте MPlayer, и FFmpeg располагался на сервере MPlayer. 18 января группа разработчиков внезапно отстранила Нидермайера от руководства и, объясняя захват необходимостью борьбы со стагнацией и разногласиями, попыталась взять управление проектом в свои руки. Но в итоге власть всё равно осталась в руках Нидермайера, а результатом бурных споров явилось создание отдельной ветви проекта, в которой участвовали недовольные положением вещей разработчики. Позже, из-за продолжающихся разногласий с основной группой, они основали новый проект под названием Libav[англ.].
FFmpeg разработан под ОС на основе GNU/Linux, однако, может быть скомпилирован под многие другие операционные системы. Распространяется по лицензиям GNU LGPL или GNU GPL.
ffmpeg состоит из следующих компонентов:
- ffmpeg — утилита командной строки для конвертирования видеофайла из одного формата в другой. С её помощью можно также захватывать видео в реальном времени с TV-карты.
- ffplay — простой медиаплеер, основанный на SDL и библиотеках FFmpeg.
- ffprobe — консольная утилита, позволяющая собирать и отображать информацию о медиафайлах (как MediaInfo) и мультимедиапотоках, доступных устройствах, кодеках, форматах, протоколах и др.[15]
- ffserver — HTTP- (RTSP в настоящее время разрабатывается) потоковый сервер для видео- или радиовещания.
- libavcodec — библиотека со всеми аудио/видеокодеками. Большинство кодеков было разработано «с нуля» для обеспечения наилучшей производительности.
- libavformat — библиотека с мультиплексорами и демультиплексорами для различных аудио- и видеоформатов.
- libavutil — вспомогательная библиотека со стандартными общими подпрограммами для различных компонентов ffmpeg. Включает Adler-32, CRC, MD5, SHA1, LZO-декомпрессор, Base64-кодер/декодер, DES-шифровальщик/расшифровщик, RC4-шифровальщик/расшифровщик и AES-шифровальщик/расшифровщик.
- libpostproc — библиотека стандартных подпрограмм обработки видео.
- libswscale — библиотека для масштабирования видео.
- libavfilter — замена vhook, которая позволяет изменять видеопоток между декодером и кодером «на лету».
Участниками проекта FFmpeg были подвергнуты обратной разработке и/или реализованы следующие кодеки и форматы:
Кодеки
- ATRAC1, ATRAC3, ATRAC3plus[16] (только декодирование)
- H.261[16], H.263[16], H.264/AVC[16] и H.265/HEVC
- Intel Indeo 2, 3, 4 и 5[16]
- QDesign Music Codec 1/2, используемый в QuickTime до QuickTime 7
- Sorenson Video 1/3, используемый в QuickTime
- Theora (вместе с Vorbis используется в контейнере Ogg)
- Truespeech
- MP3
- AAC (LC/HE/HEv2)
- TXD[17]
- VP5[16], VP6[16]
- VP8[16]
- Vorbis
- Windows Media Audio (WMA1, WMA2, WMA Pro, WMA Lossless и WMA Speech)
- Некоторые кодеки, связанные с Windows Media Player (Microsoft RLE, Microsoft Video 1, Cinepak, Indeo 2, 3 и 5, Motion JPEG, Microsoft MPEG-4 v1, v2 и v3, WMV1, WMV2 и WMV3 (он же VC-1))
- MxPEG от Mobotix
FFMpeg-php — устаревшее расширение (модуль) для PHP, который добавляет удобный объектно-ориентированный API для доступа и поиска информации из видео- и аудиофайлов через FFmpeg.[18]
Fluent-ffmpeg — Модуль для Node.js.