Ffmpeg

Устанавливаем популярный и не менее надежный многоформатный видеоконвертер ffmpeg с поддержкой кодеков h264 и AAC.

Все приведенные ниже команды необходимо выполнять под суперпользователем (root).

1. Подготовка к установке
Для дальнейшей установки необходимо добавить репозиторий debian-multimedia в систему, если у вас он не установлен, то выполняем следующие команды

echo "deb http://www.debian-multimedia.org squeeze main non-free" >> /etc/apt/sources.list
wget http://www.debian-multimedia.org/pool/main/d/debian-multimedia-keyring/debian-multimedia-keyring_2010.12.26_all.deb
dpkg -i debian-multimedia-keyring_2010.12.26_all.deb

Обновляем список пакетов в системе

apt-get update

2. Если до этого уже был установлен ffmpeg, то его и все пакеты которые к нему относятся, необходимо удалить

apt-get remove libavcodec-dev libavdevice-dev libavformat-dev \
libavutil-dev libpostproc-dev libraw1394-dev libswscale-dev \
libavcodec51 libavdevice52 libavformat52 libavutil49 \
libpostproc51 libswscale0 libxine1-ffmpeg ffmpeg

3. Устанавливаем необходимые пакеты для сборки и работы ffmpeg

apt-get install build-essential yasm libfaac-dev libgsm-dev \
libgsm1-dev libtheora-dev libvorbis-dev

4. Собираем кодек x264
Исходный код кодека любезно предоставлен компанией VideoLAN.
На момент написания статьи, версия кодека была от 20110524, ваша версия может отличаться.

cd /usr/src/
wget ftp://ftp.videolan.org/pub/videolan/x264/snapshots/last_stable_x264.tar.bz2
bzip2 -dc last_stable_x264.tar.bz2 | tar -x
cd x264-snapshot-20110524-2245-stable/
./configure --enable-shared
make
make install

5. Собираем пакет Lame
На момент написания статьи была доступна версия Lame-3.98.4

cd /usr/src
wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz
gzip -dc lame-3.98.4.tar.gz | tar -x
cd lame-3.98.4/
./configure
make
make install

6. Собираем пакет ffmpeg
Так как собирать мы будем из исходников, то последнюю версию ffmpeg мы будем скачивать из SVN

cd /usr/src/
svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg

Если выскакивает ошибка svn: command not found, то необходимо установить пакет subversion

apt-get install subversion

Собираем

cd /usr/src/ffmpeg/
./configure --enable-shared --enable-nonfree --enable-gpl \
--enable-postproc --enable-libx264 --enable-avfilter \
--enable-libmp3lame --enable-libvorbis \
--enable-libtheora --enable-libgsm --enable-libfaac
make
make install

Как вы наверно уже заметили, в процесс компиляции включены только те библиотеки, которые нужны для работы. Для подключения своих библиотек необходимо пользоваться правилом «–enable-<название библиотеки>». Так же, если какой то компонент не установлен, система напишет, чего не хватает. Так что ошибок боятся не стоит, а нужно всего лишь внимательно их читать.

Проверяем, установился ли ffmpeg

ffmpeg

Если после этого у вас появится ошибка:
error while loading shared libraries: libavdevice.so.52: cannot open shared object file: No such file or directory, то необходимо сделать следующее

cd /etc/ld.so.conf.d
#Создаем любой файл
vi any-libs.conf
#Добавляем в него строку
/usr/local/lib
#И выполняем команду
ldconfig

Запускаем ffmpeg еще раз и видим

FFmpeg version SVN-r26402, Copyright (c) 2000-2011 the FFmpeg developers
built on May 25 2011 14:41:10 with gcc 4.4.5
configuration: --enable-shared --enable-nonfree --enable-gpl --enable-postproc --enable-libx264 --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libgsm --enable-libfaac
libavutil 50.36. 0 / 50.36. 0
libavcore 0.16. 1 / 0.16. 1
libavcodec 52.108. 0 / 52.108. 0
libavformat 52.93. 0 / 52.93. 0
libavdevice 52. 2. 3 / 52. 2. 3
libavfilter 1.74. 0 / 1.74. 0
libswscale 0.12. 0 / 0.12. 0
libpostproc 51. 2. 0 / 51. 2. 0
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'

Все, на этом установка заканчивается и вы имеете в своей системе полностью готовый к работе видеоконвертер ffmpeg.