FFmpeg: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Метки: с мобильного устройства через мобильное приложение через приложение для Android
https://www.gnu.org/gnu/linux-and-gnu.html
 
(не показано 6 промежуточных версий 4 участников)
Строка 1: Строка 1:
{{Карточка программы
{{Карточка программы}}
| последняя версия = 4.4
| дата последней версии = 8 апреля 2021
}}


'''FFmpeg''' — набор [[Свободное программное обеспечение|свободных]] библиотек с [[Открытое программное обеспечение|открытым исходным кодом]], которые позволяют записывать, конвертировать и передавать цифровые [[Цифровой звук|аудио]]- и [[видео]]записи в различных форматах. Он включает [[libavcodec]] — библиотеку [[Кодек|кодирования]] и декодирования аудио и видео, и libavformat — библиотеку [[Мультиплексирование|мультиплексирования]] и демультиплексирования в [[медиаконтейнер]]. Название происходит от названия экспертной группы MPEG и FF, означающего «fast forward»<ref>{{cite web|url=http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2006-February/007707.html|title=FFmpeg naming and logo|author=|website=|date=|publisher=|deadlink=yes|accessdate=2019-03-15|archiveurl=https://web.archive.org/web/20070930015526/http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2006-February/007707.html|archivedate=2007-09-30}}</ref>.
'''FFmpeg''' — набор [[Свободное программное обеспечение|свободных]] библиотек с [[Открытое программное обеспечение|открытым исходным кодом]], которые позволяют записывать, конвертировать и передавать цифровые [[Цифровой звук|аудио]]- и [[видео]]записи в различных форматах. Он включает [[libavcodec]] — библиотеку [[Кодек|кодирования]] и декодирования аудио и видео, и libavformat — библиотеку [[Мультиплексирование|мультиплексирования]] и демультиплексирования в [[медиаконтейнер]]. Название происходит от названия экспертной группы MPEG и FF, означающего «fast forward»<ref>{{cite web|url=http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2006-February/007707.html|title=FFmpeg naming and logo|author=|website=|date=|publisher=|deadlink=yes|accessdate=2019-03-15|archiveurl=https://web.archive.org/web/20070930015526/http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2006-February/007707.html|archivedate=2007-09-30}}</ref>.
Строка 8: Строка 5:
Проект основал [[Беллар, Фабрис|Фабрис Беллар]] (под псевдонимом Жерар Ланто ({{lang-fr|Gerard Lantau}})) и до января 2011 года руководство им осуществлял Михаэль Нидермайер ({{lang-de|Michael Niedermayer}}). Многие разработчики FFmpeg принимали участие в проекте [[MPlayer]], и FFmpeg располагался на сервере MPlayer. 18 января группа разработчиков внезапно отстранила Нидермайера от руководства и, объясняя захват необходимостью борьбы со стагнацией и разногласиями, попыталась взять управление проектом в свои руки. Но в итоге власть всё равно осталась в руках Нидермайера, а результатом бурных споров явилось создание отдельной ветви проекта, в которой участвовали недовольные положением вещей разработчики. Позже, из-за продолжающихся разногласий с основной группой, они основали новый проект под названием {{не переведено|Libav||en|Libav}}.
Проект основал [[Беллар, Фабрис|Фабрис Беллар]] (под псевдонимом Жерар Ланто ({{lang-fr|Gerard Lantau}})) и до января 2011 года руководство им осуществлял Михаэль Нидермайер ({{lang-de|Michael Niedermayer}}). Многие разработчики FFmpeg принимали участие в проекте [[MPlayer]], и FFmpeg располагался на сервере MPlayer. 18 января группа разработчиков внезапно отстранила Нидермайера от руководства и, объясняя захват необходимостью борьбы со стагнацией и разногласиями, попыталась взять управление проектом в свои руки. Но в итоге власть всё равно осталась в руках Нидермайера, а результатом бурных споров явилось создание отдельной ветви проекта, в которой участвовали недовольные положением вещей разработчики. Позже, из-за продолжающихся разногласий с основной группой, они основали новый проект под названием {{не переведено|Libav||en|Libav}}.


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


== Компоненты ==
== Компоненты ==
Строка 15: Строка 12:
* ''ffmpeg'' — утилита командной строки для конвертирования видеофайла из одного формата в другой. С её помощью можно также захватывать видео в реальном времени с TV-карты.
* ''ffmpeg'' — утилита командной строки для конвертирования видеофайла из одного формата в другой. С её помощью можно также захватывать видео в реальном времени с TV-карты.
* ''ffplay'' — простой медиаплеер, основанный на [[Simple DirectMedia Layer|SDL]] и библиотеках FFmpeg.
* ''ffplay'' — простой медиаплеер, основанный на [[Simple DirectMedia Layer|SDL]] и библиотеках FFmpeg.
* ''ffprobe'' — консольная утилита, позволяющая собирать и отображать информацию о медиафайлах (как [[MediaInfo]]) и мультимедиапотоках, доступных устройствах, кодеках, форматах, протоколах и др.<ref>{{Cite web|url=http://ffmpeg.org/ffprobe.html|title=ffprobe Documentation|author=|website=FFmpeg|date=|publisher=|lang=en|accessdate=2019-03-15}}</ref>
* ''ffprobe'' — консольная утилита, позволяющая собирать и отображать информацию о медиафайлах (как [[MediaInfo]]) и мультимедиапотоках, доступных устройствах, кодеках, форматах, протоколах и др.<ref>{{Cite web|url=http://ffmpeg.org/ffprobe.html|title=ffprobe Documentation|author=|website=FFmpeg|date=|publisher=|lang=en|accessdate=2019-03-15|archive-date=2019-03-01|archive-url=https://web.archive.org/web/20190301070951/http://www.ffmpeg.org/ffprobe.html|deadlink=no}}</ref>
* ''ffserver'' — [[HTTP]]- ([[RTSP]] в настоящее время разрабатывается) потоковый сервер для видео- или радиовещания.
* ''ffserver'' — [[HTTP]]- ([[RTSP]] в настоящее время разрабатывается) потоковый сервер для видео- или радиовещания.
* ''[[libavcodec]]'' — библиотека со всеми аудио/видеокодеками. Большинство кодеков было разработано «с нуля» для обеспечения наилучшей производительности.
* ''[[libavcodec]]'' — библиотека со всеми аудио/видеокодеками. Большинство кодеков было разработано «с нуля» для обеспечения наилучшей производительности.
Строка 46: Строка 43:


=== Контейнеры ===
=== Контейнеры ===
* [[Advanced Systems Format|ASF]], и через него оригинальную версию [[DivX]]
* [[Advanced Systems Format|ASF]], и через его оригинальную версию [[DivX]]
* [[Audio Video Interleave|AVI]]
* [[Audio Video Interleave|AVI]]
* [[Flash Video|FLV]]
* [[Flash Video|FLV]]
Строка 54: Строка 51:


== Расширения для работы с FFmpeg ==
== Расширения для работы с FFmpeg ==
FFMpeg-php — устаревшее расширение (модуль) для PHP, который добавляет удобный [[Объектно-ориентированное программирование|объектно-ориентированный]] [[API]] для доступа и поиска информации из видео- и аудиофайлов через FFmpeg.<ref>[http://ffmpeg-php.sourceforge.net/ ffmpeg-php]</ref>
FFMpeg-php — устаревшее расширение (модуль) для PHP, который добавляет удобный [[Объектно-ориентированное программирование|объектно-ориентированный]] [[API]] для доступа и поиска информации из видео- и аудиофайлов через FFmpeg.<ref>{{Cite web |url=http://ffmpeg-php.sourceforge.net/ |title=ffmpeg-php |access-date=2008-12-17 |archive-date=2008-12-17 |archive-url=https://web.archive.org/web/20081217025839/http://ffmpeg-php.sourceforge.net/ |deadlink=no }}</ref>


Fluent-ffmpeg — [https://www.npmjs.com/package/fluent-ffmpeg Модуль] для Node.js.
Fluent-ffmpeg — [https://www.npmjs.com/package/fluent-ffmpeg Модуль] для Node.js.

Текущая версия от 09:32, 15 февраля 2024

FFmpeg
Логотип программы FFmpeg
Скриншот программы FFmpeg
Тип мультимедийный фреймворк
Автор Фабрис Беллар[9]
Разработчик Фабрис Беллар
Написана на Си[10], язык ассемблера[11] и C++[11]
Операционные системы GNU/Linux, macOS, Windows, Android[12] и BSD[вд]
Первый выпуск 20 декабря 2000[1]
Аппаратные платформы X86, ARM, PowerPC, MIPS, DEC Alpha, Blackfin[вд], AVR32 и SPARC
Последняя версия
Репозиторий git.ffmpeg.org/ffmpeg.git
Лицензия LGPLv2.1+[вд][13][14]
Сайт ffmpeg.org (англ.)
Логотип Викисклада Медиафайлы на Викискладе

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

Проект основал Фабрис Беллар (под псевдонимом Жерар Ланто (фр. 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) и мультимедиапотоках, доступных устройствах, кодеках, форматах, протоколах и др.[16]
  • 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.[19]

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

Примечания

[править | править код]
  1. http://git.videolan.org/?p=ffmpeg.git;a=commit;h=9aeeeb63f7e1ab7b0b7bb839a5f258667a2d2d78
  2. FFmpeg 7.1 "Péter" — 2024.
  3. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 FFmpeg Formats Documentation
  4. Just Solve the File Format Problem — 2012.
  5. https://directory.fsf.org/wiki/Category/Works-with-format/FLAC
  6. https://github.com/usnationalarchives/digital-preservation/blob/master/Moving%20Image%20Formats/NARA_PreservationActionPlan_DigitalCinema_20190801.pdf
  7. 1 2 https://github.com/usnationalarchives/digital-preservation/blob/master/Digital%20Audio%20Formats/NARA_PreservationActionPlan_DigitalAudio_20190801.pdf
  8. https://www.ffmpeg.org/ffmpeg-formats.html
  9. FFmpeg License and Legal Considerations
  10. The ffmpeg Open Source Project on Open Hub: Languages Page — 2006.
  11. 1 2 The ffmpeg Open Source Project on Open Hub: Languages Page
  12. FFmpeg Media Encoder
  13. https://ffmpeg.org/legal.html
  14. The ffmpeg Open Source Project on Open Hub: Licenses Page — 2006.
  15. FFmpeg naming and logo. Дата обращения: 15 марта 2019. Архивировано из оригинала 30 сентября 2007 года.
  16. ffprobe Documentation (англ.). FFmpeg. Дата обращения: 15 марта 2019. Архивировано 1 марта 2019 года.
  17. 1 2 3 4 5 6 7 8 Changelog. Дата обращения: 16 августа 2010. Архивировано 3 марта 2012 года.
  18. 1 2 FFmpeg development mailing list (7 мая 2007). Дата обращения: 20 января 2008. Архивировано 30 сентября 2007 года.
  19. ffmpeg-php. Дата обращения: 17 декабря 2008. Архивировано 17 декабря 2008 года.