Устанавливаем популярный и не менее надежный многоформатный видеоконвертер 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.
ВЫ СПАСИТЕЛЬ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
СПАСИБО ОГРОМЕННЕЙШЕЕЕЕЕЕ ЗА ЭТУ СТАТЬЮ!!!!!!!
ВЫ СПАСЛИ МОЙ МОЦК ОТ РАЗРУШЕНИЯ…
я никак не мог найти как из чёртового flv достать mp3…. а ffmpeg говорил: я не знаю что такое mp3lame
Огромное спасибо за статью. Просто сэкономили мне кучу времени!
Всегда пожалуйста
всё как вы описали сделал и нечё не пашет
вот нет её
Репозиторий не актуален — 404!
Репозиторий смените на «deb http://deb-multimedia.org squeeze main non-free»
apt-get update
apt-get install ffmpeg
+ не у всех есть bzip2
Fedor
спасибо!!!
lame теперь живёт в папке 3.99(без .5) (на момент написания коммента), т.е. делаем
wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
не забываем ставить svn
sudo apt-get install subversion
ffmpeg переехал на git, если лень ставить git — делаем
wget https://ffmpeg.org/releases/ffmpeg-snapshot-git.tar.bz2
и разархивируем
для конфигурирования ffmpeg может потребоваться ещё pkg-config, делаем
sudo apt-get install pkg-config
Ставил на пачку серверов на debian — постоянно юзаю данную статью ибо часто приходится ставить ffmpeg с кодеками. Накидал батч для быстрой установки, все файлы актуальны на 08/Jan/2016
cd /root && echo "deb http://www.deb-multimedia.org squeeze main non-free" >> /etc/apt/sources.list
wget http://www.deb-multimedia.org/pool/main/d/deb-multimedia-keyring/deb-multimedia-keyring_2015.6.1_all.deb
dpkg -i deb-multimedia-keyring_2015.6.1_all.deb
aptitude remove libavcodec-dev libavdevice-dev libavformat-dev
libavutil-dev libpostproc-dev libraw1394-dev libswscale-dev
libavcodec51 libavdevice52 libavformat52 libavutil49
libpostproc51 libswscale0 libxine1-ffmpeg ffmpeg
aptitude install git build-essential yasm libfaac-dev libtheora-dev libvorbis-dev
cd /root && wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar -xvvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure
make -j 8
make install
cd ..
wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2
bzip2 -dc last_x264.tar.bz2 | tar -x
cd x264-snapshot-20160107-2245
./configure --enable-shared
make -j 8
make install
cd..
wget http://netcologne.dl.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
tar -xvvf lame-3.99.5.tar.gz
cd lame-3.99.5
./configure
make -j 8
make install
cd ../..
git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg
cd ./ffmpeg/
export TMPDIR=~/tmp-ffmpeg
mkdir $TMPDIR
./configure --enable-shared --enable-nonfree --enable-gpl
--enable-postproc --enable-libx264 --enable-avfilter
--enable-libmp3lame --enable-libvorbis
--enable-libtheora --enable-libgsm --enable-libfaac
make -j 8
make install
echo "/usr/local/lib" > /etc/ld.so.conf.d/any-libs.conf && ldconfig
ffmpeg
ln -s /usr/local/bin/ffmpeg /usr/bin/ffmpeg