Дмитрий Сергеевич (axshavan) wrote,
Дмитрий Сергеевич
axshavan

Какая радость этот FFmpeg!

FFmpeg - это набор утилит и библиотек с открытым исходным кодом, позволяющий записывать, воспроизводить, конвертировать и вещать аудио и видео. FFmpeg является основной частью GStreamer, VLC, MPlayer, и многих других, официально. И неизвестно, сколько проектов использует исходный код FFmpeg в своих проектах с нарушением лицензии GNU GPL (то есть говорят, что это написали они сами и продают скомпилированные бинарники без исходников).

Большинство кодеков разработчики FFmpeg переписали самостоятельно с некоторыми улучшениями, собрав таким образом две мегабиблиотеки - libavcodec и libavformat. Кроме этих двух библиотек, в проект FFmpeg входят утилиты ffmpeg - для конвертации, ffplay - для проигрывания, ffserver - для вещания, и несколько дополнительных вспомогательных библиотек.

Из всего этого богатства я пользовался только утилитой ffmpeg для конвертации файлов. Она мне настолько нравится, что я хочу об этом написать! Когда-то давным-давно, когда я ещё пользовался операционной системой MS Windows, я никогда не конвертировал ни видео, ни аудио. Потому что тогда надо было искать по всяким варезным сайтам программу для пережатия, ключ для её активации, потом она ещё оказывалась с вирусом в комплекте, а потом ещё выдавала ошибки при установке, а при удалении не очищала за собой изгаженный реестр... и я не подозревал, что бывают совершенно бесплатные неимоверно мощные, крутые и универсальные утилиты для пережатия.

FFmpeg работает из командной строки, и это круто.
ffmpeg [[infile options][-i infile]]... {[outfile options] outfile}...

Вот, к примеру, вы скачали красивую музыку в пидорском проприетарном формате *.ape, а хотите, чтоб она была, скажем, во *.flac (потому что вы не любите формат *.ape или потому что эквалайзер в audacious тормозит при воспроизведении *.ape, ну неважно). Берёте ffmpeg и разжимаете *.ape в *.wav, а потом полученный *.wav даёте на вход flac.
ffmpeg -i music.ape music.wav
flac music.wav -o music.flac


С сжатием в mp3 ещё проще, ffmpeg умеет сжимать в *.mp3 напрямую без буферного файла. У меня, правда, ни разу этого сделать не получилось, я тоже сначала создавал *.wav, а потом сжимал его с помощью lame (для примера, с битрейтом 320 кб/с):
lame -b 320 music.wav music.mp3

Или вот ещё пример. Вы скачали в HD-качестве кино, но процессор слабоват, чтоб с достаточной скоростью разжимать и показывать "матрёшку" (*.mkv). Ну, как у меня, например - всего-то два ядра по 2,13 ГГц. И вы хотите пережать кино с таким же качеством, но с битрейтом поменьше. И звук сделать стерео вместо 5.1.
ffmpeg -i hdmovie.mkv -sameq -ac 2 movie.avi
Ключ -sameq означает "same quality", -ac - количество звуковых каналов.

У вас есть кино без дубляжа и отдельно где-то скачанная звуковая дорожка, которую вы хотите впиндюрить в видеофайл:
ffmpeg -i video.avi -i sound.flac -sameq output.avi -newaudio

Выдрать звуковую дорожку из файла:
ffmpeg -i video.avi sound.wav

Захват изображения на мониторе и сохранение его в файл на лету:
ffmpeg -f x11grab -s sxga -r 25 -i :0.0 out.mpg

Сделать скриншот из фильма из ровно 1 часа:
ffmpeg -ss 1:00:00 -i PhantomMenace.avi -vframes 1 screenshot.jpg

21.20 КБ

И это только вершина айсберга...
Tags: *nix, хабр
Subscribe

  • Вилия

    В прошлом посте я выложил плёнку, отснятую на фотоаппарат «Вилия», который (которую - «Вилия» это «она») я где-то год назад или около того купил на…

  • Признание ошибок

    Иногда признавать свои ошибки очень просто. Например, моя теория о том, что я, такой молодец, по маркам восстановил историю экономической жопы в…

  • Первый день тридцать восьмого

    Настроение сегодня получше, я бы даже сказал, отличное. Про процесс сброса веса. Покрутился перед зеркалом, пофотографировался. Если я и похудел, то…

  • Post a new comment

    Error

    Comments allowed for friends only

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 7 comments