FFmpeg
FFmpeg | |||
---|---|---|---|
![]() | |||
![]() | |||
Тип | мультимедийный фреймворк | ||
Автор | Фабрис Беллар[8] | ||
Разработчик | Фабрис Беллар | ||
Написана на | Си[9], язык ассемблера[10] и C++[10] | ||
Операционные системы | GNU/Linux, macOS, Windows, Android[11] и BSD[вд] | ||
Первый выпуск | 20 декабря 2000[1] | ||
Аппаратные платформы | x86, ARM, PowerPC, MIPS, DEC Alpha, Blackfin[вд], AVR32 и SPARC | ||
Последняя версия | |||
Репозиторий | git.ffmpeg.org/ffmpeg.git | ||
| |||
| |||
Лицензия | LGPLv2.1+[вд][12][13] | ||
Сайт | ffmpeg.org (англ.) | ||
![]() |
FFmpeg — набор свободных библиотек с открытым исходным кодом, которые позволяют записывать, конвертировать и передавать цифровые аудио- и видеозаписи в различных форматах. Он включает libavcodec — библиотеку кодирования и декодирования аудио и видео, и libavformat — библиотеку мультиплексирования и демультиплексирования в медиаконтейнер. Название происходит от названия экспертной группы MPEG и FF, означающего «fast forward»[14].
Проект основал Фабрис Беллар (под псевдонимом Жерар Ланто (фр. 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
Контейнеры
- ASF, и через его оригинальную версию DivX
- AVI
- FLV
- Matroska (включая WebM)
- MPEG transport stream
- TXD[17]
Расширения для работы с FFmpeg
FFMpeg-php — устаревшее расширение (модуль) для PHP, который добавляет удобный объектно-ориентированный API для доступа и поиска информации из видео- и аудиофайлов через FFmpeg.[18]
Fluent-ffmpeg — Модуль для Node.js.
См. также
Примечания
- ↑ http://git.videolan.org/?p=ffmpeg.git;a=commit;h=9aeeeb63f7e1ab7b0b7bb839a5f258667a2d2d78
- ↑ Update for 7.0.2 — 2024.
- ↑ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 FFmpeg Formats Documentation
- ↑ Just Solve the File Format Problem — 2012.
- ↑ https://directory.fsf.org/wiki/Category/Works-with-format/FLAC
- ↑ https://github.com/usnationalarchives/digital-preservation/blob/master/Moving%20Image%20Formats/NARA_PreservationActionPlan_DigitalCinema_20190801.pdf
- ↑ 1 2 https://github.com/usnationalarchives/digital-preservation/blob/master/Digital%20Audio%20Formats/NARA_PreservationActionPlan_DigitalAudio_20190801.pdf
- ↑ FFmpeg License and Legal Considerations
- ↑ The ffmpeg Open Source Project on Open Hub: Languages Page — 2006.
- ↑ 1 2 The ffmpeg Open Source Project on Open Hub: Languages Page
- ↑ FFmpeg Media Encoder
- ↑ https://ffmpeg.org/legal.html
- ↑ The ffmpeg Open Source Project on Open Hub: Licenses Page — 2006.
- ↑ FFmpeg naming and logo (неопр.). Дата обращения: 15 марта 2019. Архивировано из оригинала 30 сентября 2007 года.
- ↑ ffprobe Documentation (англ.). FFmpeg. Дата обращения: 15 марта 2019. Архивировано 1 марта 2019 года.
- ↑ 1 2 3 4 5 6 7 8 Changelog (неопр.). Дата обращения: 16 августа 2010. Архивировано 3 марта 2012 года.
- ↑ 1 2 FFmpeg development mailing list (неопр.) (7 мая 2007). Дата обращения: 20 января 2008. Архивировано 30 сентября 2007 года.
- ↑ ffmpeg-php (неопр.). Дата обращения: 17 декабря 2008. Архивировано 17 декабря 2008 года.
Ссылки
- Официальный сайт
- man-страница FFmpeg
- Русскоязычное сообщество в Telegram