Gentoo Way Linux, Gentoo, Kubuntu, Ubuntu, Debian … компилируем всё!

10Ноя/0914

Ubuntu — Установка последней версии FFmpeg и x264 (и обновление)

FFmpeg

FFmpeg это универсальный инструмент для конвертации кодирования различных видео и аудио форматов.

x264 гораздо лучше кодирует высококачественное видео нежели другие популярыне кодеки.

Несмотря на то, что FFmpeg и x264 доступны в репозитории Ubuntu, их всё равно необходимо компилировать из исходных кодов. Например это обязателньое требование перед обращением с вопросом по возникшей ошибке в рассылку ffmpeg-user

В последнее время FFmpeg и x264 часто обновляются и, наверное, вам бы хотелось использовать новейшие версии для кодирования видео. К тому же FFmpeg и x264 в репозитории Ubuntu могут не поддерживать необходимые кодеки или форматы.

Данная иснструкция предназначена для Ubuntu Karmic Koala 9.10, Ubuntu Jaunty Jackalope 9.04, и Ubuntu Intrepid Ibex 8.10.

Устанавливаем зависимости

1. Если установлены x264, libx264-dev, и ffmpeg, то их нужно удалить. Открываем терминал и выполняем следующий код:

sudo apt-get remove ffmpeg x264 libx264-dev

2. Затем установим все пакеты, неаобходимые для компиляции FFmpeg и x264 (для их установки вам необходимо включить репозитории universe и multiverse ):

sudo apt-get update
sudo apt-get install build-essential subversion git-core checkinstall yasm texi2html libfaac-dev libfaad-dev libmp3lame-dev libsdl1.2-dev libtheora-dev libx11-dev libxvidcore4-dev zlib1g-dev

Установка x264

3. Скачайте текущие исходные коды из офицтального git репозитория x264, скомпилируйте и установите их. Вы можете выполнить "./configure --help" чтобы увидеть полный список опций которые можно включить или выключить. Если вы за файерволом или не можете использвать git, тогда можно скачать снимки в виде tar-архива.

cd
git clone git://git.videolan.org/x264.git
cd x264
./configure
make
sudo checkinstall --fstrans=no --install=yes --pkgname=x264 --pkgversion "1:0.svn`date +%Y%m%d`" --default

Установка FFmpeg

4. Скачайте текущие исходные коды из офицтального svn репозитория FFmpeg, скомпилируйте и установите их. Вы можете выполнить "./configure --help" чтобы увидеть полный список опций которые можно включить или выключить. Если вы за файерволом или не можете использвать svn, тогда можно скачать ежедневный снимок.

cd
svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
cd ffmpeg
./configure --enable-gpl --enable-nonfree --enable-pthreads --enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-libxvid --enable-x11grab
make
sudo checkinstall --fstrans=no --install=yes --pkgname=ffmpeg --pkgversion "4:0.5+svn`date +%Y%m%d`" --default

Установка окончена. Вы можете оставить директории ~/x264 и ~/ffmpeg если планируете обновлять исходные коды.

Обновление

Когда-нибудь вы захотите обновиться до последней версии:

sudo apt-get remove ffmpeg x264 libx264-dev
cd ~/x264
make distclean
git pull
./configure
make
sudo checkinstall --fstrans=no --install=yes --pkgname=x264 --pkgversion "1:0.svn`date +%Y%m%d`" --default
cd ~/ffmpeg
make distclean
svn update
./configure --enable-gpl --enable-nonfree --enable-pthreads --enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-libxvid --enable-x11grab
make
sudo checkinstall --fstrans=no --install=yes --pkgname=ffmpeg --pkgversion "4:0.5+svn`date +%Y%m%d`" --default

Помните что названия опций командной строки FFmpeg от версии к версии зачастую меняются. Также это относится к настройкам кодирования. Так что если ваш скрипт после обновления перестал работать - это первое на что стоит обратить внимание.

Отмена изменений, описанных в этой инструкции

Чтобы удалить FFmpeg/x264, а также всё что было сделано:

sudo apt-get remove x264 ffmpeg build-essential subversion git-core checkinstall yasm texi2html libfaac-dev libfaad-dev libmp3lame-dev libsdl1.2-dev libtheora-dev libx11-dev libxvidcore4-dev zlib1g-dev

Напоследок - удалите директории ffmpeg и x264 из домашней папки.

Share
Комментарии (14) Пинги (0)
  1. Если установлены x264, libx264-dev, и ffmpeg, то их нужно удалить.

    Зачем? В финале же ставится как deb-пакет, с помощью checkinstall а не через make install.
    Не буду настаивать на том, что не нужно этого делать, но хотелось бы услышать обоснование.
    Или просто «традиционно» взят первый пункт из инструкций для других систем?

    • Как такового обоснования не приведу. Вы конечно правы, но как показывает практика — если устанавливается что-то заменяющее компоненты системы то лучше эти самые компоненты заблаговременно удалить. Иначе могут быть разные последствия.

  2. Согласен) Лучше перестраховаться.
    А вообще хорошая инструкция именно под ubuntu, только я бы еще добавил для х264 параметр —enable-shared к ./configure , т.к. при сборке mplayer, например, может пригодиться тоже.

  3. Вы можете выполнить «./configure —help» чтобы увидеть полный список опций которые можно включить или выключить.

    😉

  4. В свете последних событий, —enable-libvpx наверное стоит добавить, для поддержки расширения .webm (видеокодек vp8 и аудиокодек vorbis).
    При условии если libvpx конечно установлен в системе (доступен в репозитарии).
    За статью сспасибо, как раз собираю сижу ffmpeg и при сборке пожаловался он на устаревший x.264

  5. А можно просто поверить одному американскому ментейнеру и подключить дополнительный репозиторий, ppa:n-muench/vlc он включает себя VLC плеер, кодеки x264 и кое что ещё, и как я заметил обновляется достаточно часто.

    • Можно, но это уже не gentoo way 🙂
      К тому же при конфигурировании Вы можете сами выбирать — что нужно включить, а что нет. Конечно, если в пакете всё что нужно, то проще поставить его, а если нет?

  6. Дмитрий, на сколько я понял инструкция это к пакетному дистрибутиву Ubuntu. Если так интересно с исходниками колупаться, и абсолютно с каждой программой, то Ubuntu не очень удачная идея. Намекаете на Генту? А с чего вообще вы об этом говорите в рамкой этой статьи? В общем можно следовать инструкциям этой статьи, а можно, как и принято в Ubuntu, просто подключить репозиторий и автоматически обновлять кодеки. АВТОМАТИЧЕСКИ, мой комментарий привнёс читателям возможность выбора, и это здорово.

    • Кто бы спорил. 99,99% программ именно так и ставлю, но есть тот самый 0,01% который по тем или иным причинам либо отсутствует в репозитории совсем, либо присутствует но не в том виде который нужен для решения тех или иных задач.
      Собственно эта инструкция представляет собой не руководство к действию, а всего лишь помощь если нужно, а не знаете как…

  7. выполняю make и имею:

    Makefile:2: config.mak: Нет такого файла или каталога
    Makefile:44: /common.mak: Нет такого файла или каталога
    Makefile:81: /libavutil/Makefile: Нет такого файла или каталога
    Makefile:147: /doc/Makefile: Нет такого файла или каталога
    Makefile:148: /tests/Makefile: Нет такого файла или каталога
    make: *** Нет правила для сборки цели `/tests/Makefile’. Останов.

    как с эти бороться?? 🙁

  8. Спасибо. Нашел подобную статью со зборкой ffmpeg-a под Ubuntu 12.04, где добавлено поддержку всех возможных (поддерживаемых) аудио и видео форматов (в том чесле webm, ogv, arm,ogg) — http://sysadm.pp.ua/linux/video-streaming/ffmpeg-build.html . Может пригодиться.

  9. x264 и libx264
    В чем разница ? Применительно к убунте и не только..


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


Нет обратных ссылок на эту запись.