RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
В этой заметке я хотел бы поделиться парой полезных примеров использования ffmpeg. Если кто-то вдруг не в теме, ffmpeg — это набор библиотек с открытым исходным кодом для кодирования/декодирования аудио и видео. В моей любимой ОС FreeBSD его можно поставить из портов — /usr/ports/multimedia/ffmpeg/, как это сделать под Вашей операционкой — не знаю, но думаю, Вы без меня разберетесь :) Давайте перейдем к примерам.
1. Вырезать припев из аудио-файла.
С помощью этого приема я делаю рингтоны для своего мобильного из mp3-файлов.
Я думаю, какой аргумент для чего нужен, тут понятно без описания. Самое сложное в создании рингтона — определить начало и конец отрывка песни, который мы хотим вырезать. Я для этого использую mplayer, но возможно, что подойдет и Ваш любимый проигрыватель.
2. Вырезать звук из видео-файла.
Как-то раз я скачал с YouTube видео с metal-версией темы из «Пиратов карибского моря». Кому интересно, это видео где-то здесь, точно не помню. Кстати, для скачивания видео с YouTube, я пользуюсь утилитой youtube-dl, но это тема для отдельного поста :) Мне очень захотелось сохранить музыку себе на плеер, что я и сделал следующей командой:
Мне повезло, звук уже хранится в mp3, так что перекодировать его не придется (потому говорим -acodec copy), а следовательно качество не будет потеряно. Действительно, 64 kbps — качество так себе, после перекодирования звук мог получиться вообще ни на что не годным. Если звук хранится не в mp3, его можно перекодировать, сказав "-acodec libmp3lame" вместо "-acodec copy".
3. Преобразуем .flv в .avi.
А теперь мы хотим передать это видео друзьям. По почте или на флешку скопировать. Скорее всего их плеер без труда откроет .flv файл, но лучше все-таки перестраховаться:
Тут мы перекодируем видео, используя кодек mpeg4. По-моему, все предельно просто. Кстати, после перекодирования, видео-ролик занимает чуть поменьше места на диске:
ls -la pirates-metal.*
-rw-r--r-- 1 eax eax 6078844 31 май 11:50 pirates-metal.avi
-rw-r--r-- 1 eax eax 6417206 26 май 13:17 pirates-metal.flv
-rw-r--r-- 1 eax eax 1264724 31 май 11:00 pirates-metal.mp3
Можно ужать его еще сильнее, указав меньший битрейт, правда от этого может пострадать качество видео. Подробнее о вычислении битрейта можно прочитать вот в этой замечательной статье. Еще пара интересных примеров использования ffmpeg есть в Википедии.