Ubuntu — Установка последней версии FFmpeg и x264 (и обновление)
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, то их нужно удалить. Открываем терминал и выполняем следующий код:
2. Затем установим все пакеты, неаобходимые для компиляции FFmpeg и x264 (для их установки вам необходимо включить репозитории universe и multiverse ):
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-архива.
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, тогда можно скачать ежедневный снимок.
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 если планируете обновлять исходные коды.
Обновление
Когда-нибудь вы захотите обновиться до последней версии:
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, а также всё что было сделано:
Напоследок - удалите директории ffmpeg и x264 из домашней папки.
12 мая, 2010 - 00:15
Зачем? В финале же ставится как deb-пакет, с помощью checkinstall а не через make install.
Не буду настаивать на том, что не нужно этого делать, но хотелось бы услышать обоснование.
Или просто «традиционно» взят первый пункт из инструкций для других систем?
12 мая, 2010 - 02:27
Как такового обоснования не приведу. Вы конечно правы, но как показывает практика — если устанавливается что-то заменяющее компоненты системы то лучше эти самые компоненты заблаговременно удалить. Иначе могут быть разные последствия.
12 мая, 2010 - 10:45
Согласен) Лучше перестраховаться.
А вообще хорошая инструкция именно под ubuntu, только я бы еще добавил для х264 параметр —enable-shared к ./configure , т.к. при сборке mplayer, например, может пригодиться тоже.
12 мая, 2010 - 12:18
😉
15 июля, 2010 - 17:56
В свете последних событий, —enable-libvpx наверное стоит добавить, для поддержки расширения .webm (видеокодек vp8 и аудиокодек vorbis).
При условии если libvpx конечно установлен в системе (доступен в репозитарии).
За статью сспасибо, как раз собираю сижу ffmpeg и при сборке пожаловался он на устаревший x.264
7 октября, 2010 - 06:31
А можно просто поверить одному американскому ментейнеру и подключить дополнительный репозиторий, ppa:n-muench/vlc он включает себя VLC плеер, кодеки x264 и кое что ещё, и как я заметил обновляется достаточно часто.
7 октября, 2010 - 10:56
Можно, но это уже не gentoo way 🙂
К тому же при конфигурировании Вы можете сами выбирать — что нужно включить, а что нет. Конечно, если в пакете всё что нужно, то проще поставить его, а если нет?
7 октября, 2010 - 15:58
Дмитрий, на сколько я понял инструкция это к пакетному дистрибутиву Ubuntu. Если так интересно с исходниками колупаться, и абсолютно с каждой программой, то Ubuntu не очень удачная идея. Намекаете на Генту? А с чего вообще вы об этом говорите в рамкой этой статьи? В общем можно следовать инструкциям этой статьи, а можно, как и принято в Ubuntu, просто подключить репозиторий и автоматически обновлять кодеки. АВТОМАТИЧЕСКИ, мой комментарий привнёс читателям возможность выбора, и это здорово.
7 октября, 2010 - 16:20
Кто бы спорил. 99,99% программ именно так и ставлю, но есть тот самый 0,01% который по тем или иным причинам либо отсутствует в репозитории совсем, либо присутствует но не в том виде который нужен для решения тех или иных задач.
Собственно эта инструкция представляет собой не руководство к действию, а всего лишь помощь если нужно, а не знаете как…
15 сентября, 2011 - 19:18
выполняю make и имею:
Makefile:2: config.mak: Нет такого файла или каталога
Makefile:44: /common.mak: Нет такого файла или каталога
Makefile:81: /libavutil/Makefile: Нет такого файла или каталога
Makefile:147: /doc/Makefile: Нет такого файла или каталога
Makefile:148: /tests/Makefile: Нет такого файла или каталога
make: *** Нет правила для сборки цели `/tests/Makefile’. Останов.
как с эти бороться?? 🙁
16 сентября, 2011 - 10:21
Какая у Вас версия Ubuntu?
23 октября, 2014 - 00:18
Спасибо. Нашел подобную статью со зборкой ffmpeg-a под Ubuntu 12.04, где добавлено поддержку всех возможных (поддерживаемых) аудио и видео форматов (в том чесле webm, ogv, arm,ogg) —http://sysadm.pp.ua/linux/video-streaming/ffmpeg-build.html . Может пригодиться.
18 ноября, 2015 - 00:34
x264 и libx264
В чем разница ? Применительно к убунте и не только..
18 ноября, 2015 - 09:05
Раньше возможности x264 были больше нежели libx264, как обстоят дела сейчас не знаю.