Установка ffmpeg на Debian Squeeze

Устанавливаем популярный и не менее надежный многоформатный видеоконвертер 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.

10 комментариев

  1. 0

    0

    ВЫ СПАСИТЕЛЬ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    СПАСИБО ОГРОМЕННЕЙШЕЕЕЕЕЕ ЗА ЭТУ СТАТЬЮ!!!!!!!
    ВЫ СПАСЛИ МОЙ МОЦК ОТ РАЗРУШЕНИЯ…
    я никак не мог найти как из чёртового flv достать mp3…. а ffmpeg говорил: я не знаю что такое mp3lame

  2. 0

    0

    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

  3. 0

    0

    Ставил на пачку серверов на 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

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *