В данной статье попробуем «на пальцах» объяснить, что такое FFmpeg для начинающих пользователей Linux (да и Windows тоже). FFmpeg популярный набор программ и библиотек среди multimedia и web разработчиков. На базе FFmpeg сделано множество программ по конвертированию видео из одного формата в другой. Популярность этой программы крайне высока. Почему он так популярен? Для чего его чаще используют? Как установить и как запустить? Итак, основные фишки FFmpeg, которые могут привлечь внимание неискушенного Linux пользователя, только-только начавшего изучать Ubuntu:
- FFMpeg — бесплатный.
- Есть во всех Linux дистрибутивах.
- Можно просмотреть любой фильм.
- Работает со всевозможными видеоформатами.
- Позволяет сконвертировать видео из одного формата в другой.
- Поддерживает параллельное кодирование на нескольких процессорах.
- Ускорения кодирования на NVidia картах.
- Можете использовать FFmpeg в своих программах, а потом продавать их.
FFmpeg доступен на Linux, Windows, Mac Os. И везде работает одинаково. Так что, если вы научились работать с FFmpeg под Windows, то точно так же его надо запускать и в Linux и наоборот.
FFmpeg абсолютно самодостаточен. Для того чтобы посмотреть фильм нет необходимости искать в сети, скачивать и устанавливать кодеки. Достаточно всего лишь одного файла (ffplay.exe), все кодеки содержатся внутри этого файла.
FFmpeg — бесплатный софт (лицензии GPL 2.0 и LGPL 2.1) и вы можете использовать его код в своих проектах, как в коммерческих, так и в свободно-распространяемых.
Из чего состоит FFmpeg
Как было уже сказано, FFmpeg — это набор программ. Что значит “набор программ”? Нужно все программы качать или можно по отдельности? Что там внутри? На эти вопросы мы сейчас и постараемся ответить.
Но для начала определимся с термином FFmpeg — это сокращенное от Fast Forward Mpeg. Когда говорим о FFmpeg, как о наборе программ, то первые две буквы «F» должны быть большие (FF).
Итак, FFmpeg состоит из следующих инструментов (tools): ffmpeg, ffplay, ffserver, ffprobe (заметьте, все с маленькой буквы). Для Windows это обычные exe файлы. Причем размер у них очень внушительный. Все дело в том, что все видео и аудио кодеки уже находятся внутри них. Если вам нужно посмотреть фильм, то просто скачайте из сети ffplay.exe, больше ничего не потребуется. Никаких инсталляторов, никаких кодеков, права Administrator не нужны. Скачали, разархивировали, можете приступать к просмотру фильма.
FFmpeg в Windows, размер каждого файла 38-39Mb, все кодеки скомпилированы и прилинкованы «внутрь» исполняемого файла.
ffmpeg
С помощью этой программы можно конвертировать видео из одного формата в другой. Склеивать несколько видеороликов в один. Разбирать видео на отдельные кадры (изображения), а потом склеивать обратно. Ускорять/замедлять, масштабировать, добавлять субтитры и несколько звуковых дорожек. И еще 100500 полезных действий.
Список доступных опций этой команды занимает 203 страницы:
Впечатляет, не так ли?
ffplay
Используется для просмотра фильмов. Если вы начинаете знакомство с FFmpeg с просмотра фильмов, то ffplay, то что вам нужно. На начальном этапе весь пакет FFmpeg для начинающих сводится к использованию лишь этой программы.
ffserver
Если вам вдруг захотелось создать свой видео хостинг похожий на YouTube, то используйте ffserver.
ffprobe
Волшебная программа, расскажет вам все о фильме, который вы скачали (формат, продолжительность, сколько звуковых дорожек и многое другое). Выдаст на экран столько информации о фильме, что потребуется полдня, чтобы все это прочитать.
Помимо четырех программ в пакет FFmpeg входит еще и набор свободно-распространяемых библиотек (из которых вышеприведенные программы и собраны):
- libavutil — набор вспомогательных функций;
- libavcodec — аудио/видео кодеки;
- libavformat — библиотека по работе с контейнерами;
- libavdevice — работа с устройствами поставляющими медиа контент;
- libavfilter — различные фильтры;
- libswscale — библиотека масштабирования, работа с цветовыми пространствами;
- libswresample — библиотека обработки звука.
В принципе, из-за этих библиотек весь проект FFmpeg и затевался, а программы уже так, бонусом пошли