FFmpeg

Материал из Википедии — свободной энциклопедии
(перенаправлено с «Ffmpeg»)
Перейти к: навигация, поиск
FFmpeg
Ffmpeg-logo.png
Тип

Мультимедийная библиотека

Написана на

Си

Операционная система

Кроссплатформенное ПО

Последняя версия

0.10 (27 января 2012)

Лицензия

GNU LGPL

Сайт

ffmpeg.org

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

Проект основал Фабрис Беллар (под псевдонимом «Gerard Lantau»), и до января 2011 года руководство им осуществлял Michael Niedermayer с другими разработчиками, которые принимают участие в проекте MPlayer и FFmpeg располагался на сервере MPlayer. 18 января группа разработчиков внезапно отстранила Майкла Нидермаера от руководства, и, объясняя захват необходимостью борьбы со стагнацией и разногласиями, взяла управление проектом в свои руки. Она блокировала доступ к первичному репозиторию кода и провозгласила новые правила разработки.

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

Содержание

[править] Компоненты

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

  • ffmpeg — утилита командной строки для конвертирования видео файла из одного формата в другой. С её помощью можно также захватывать видео в реальном времени с TV-карты.
  • ffserver — HTTP- (RTSP в настоящее время разрабатывается) потоковый сервер для видео- или радиовещания.
  • ffplay — простой медиаплеер, основанный на SDL и библиотеках FFmpeg.
  • 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.[4]

[править] Полезные команды

Конвертирование в FLV

ffmpeg -i video.avi -ar 22050 -ab 32 -f flv -s 320x240 video.flv

Сделать скриншот размером 320×240 из 10-ой секунды файла video.avi

ffmpeg -i video.avi -an -ss 00:00:10 -r 1 -vframes 1 -s 320x240 -y -f mjpeg screenshot.jpg

Сделать DVDRip из vob файла

ffmpeg -i snatch_1.vob -f avi -vcodec mpeg4 -b 800k -g 300 -bf 2 -acodec libmp3lame -ab 128k snatch.avi

Сделать скриншот с web-камеры размером 640х480

ffmpeg -f video4linux2 -s 640x480 -i /dev/video0 -f image2 snapshot.jpg 2>/dev/null

Перекодировка всех файлов .mov в каталоге в формат .avi
Реализуется с помощью двух bat-файлов
Файл Convert.bat (для конвертации нужно вызвать его):

for %%i IN (*.mov) DO (doConvert.bat "%%i")
pause

Файл doConvert.bat (здесь прописываются параметры перекодировки):

IF EXIST "%~d1%~p1%~n1.avi" GOTO exit
ffmpeg -i "%~d1%~p1%~n1.mov" -f avi -vcodec mpeg4 -b 3500k -g 300 -bf 2 -acodec libmp3lame -ab 128k -y "%~d1%~p1%~n1.avi"
:exit

[править] См. также

[править] Примечания

  1. FFmpeg naming and logo.  ???. Проверено 20 января 2008.
  2. 1 2 3 4 5 6 7 8 Changelog. Проверено 16 августа 2010.
  3. 1 2 FFmpeg development mailing list (7 мая 2007). Проверено 20 января 2008.
  4. ffmpeg-php

[править] Ссылки

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Участие
Печать/экспорт
Инструменты
На других языках