FFmpeg
| FFmpeg | |
| Тип |
Мультимедийная библиотека |
|---|---|
| Написана на | |
| Операционная система | |
| Последняя версия | |
| Лицензия | |
| Сайт | |
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 были подвергнуты обратной разработке и/или реализованы следующие кодеки и форматы:
[править] Кодеки
- ATRAC3[2]
- H.261[2], H.263[2] и H.264[2]
- Intel Indeo 2 и 3[2]
- QDesign Music Codec 2, используемый в QuickTime до QuickTime 7
- Sorenson 3 Codec используемый в QuickTime
- Theora (вместе с Vorbis используется в контейнере Ogg)
- Truespeech
- TXD[3]
- VP5[2], VP6[2] и VP8[2]
- Vorbis
- Windows Media Audio (WMA1, WMA2 и WMA Pro)
- Некоторые кодеки, связанные с Windows Media Player (Microsoft RLE, Microsoft Video 1, Cinepak, Indeo 2, 3 и 5, Motion JPEG, Microsoft MPEG-4 v1, v2 и v3, WMV1, WMV2 and WMV3 (или VC-1))
[править] Форматы
[править] Расширения для работы с 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
[править] См. также
[править] Примечания
[править] Ссылки
- Официальный сайт
- man-cтраница FFmpeg
- Неофициальные сборки под windows Также в вики доступны ссылки на сборки других людей
- Собственное видеосообщество с помощью Lighttpd и FlowPlayer
- Установка php-ffmpeg на Linux CentOS
|
|
|||||||||
|---|---|---|---|---|---|---|---|---|---|
| Сжатие видео (Сравнение) |
|
||||||||
| Сжатие аудио (Сравнение) |
|
||||||||
| Архиваторы и компрессоры (Сравнение) |
|
||||||||
| См. также: Методы сжатия • Стандарты и форматы сжатия | |||||||||
- Свободное программное обеспечение для редактирования видео
- Свободное программное обеспечение, написанное на Си
- Кроссплатформенное программное обеспечение
- Программное обеспечение для Mac OS X
- Программное обеспечение для Linux
- Программное обеспечение для Windows
- Свободные библиотеки программ
- Мультимедийные фреймворки
- Библиотеки Си
- Кодеки
- Программное обеспечение с лицензией GNU LGPL

