Насущная проблема:
1. FAAC Support missing() AdultVideoScript, iphone video conversion fail
2. Mencoder при сборке не видит x264
Удаляем старое
sudo apt-get purge ffmpeg x264 libx264-dev libmp3lame-dev mencoder mplayer
Также удаляем
sudo apt-get --purge remove libav-tools sudo apt-get --purge autoremove
— Если включено автообновление пакетов в системе, запрещаем обновлять пакет ffmpeg:
Если файл «/etc/apt/apt.conf.d/50unattended-upgrades» существует то прописываем в секцию «Package-Blacklist» пакет ffmpeg, если файла нет, создаем его:
Савим yasm если его нет или версия меньше 1.2.0
yasm --version
apt-get remove yasm wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz tar xvfz yasm-1.2.0.tar.gz cd yasm-1.2.0 ./configure --prefix=/usr/local make sudo make install yasm --version
Получаем зависимые пакеты необходимые для установки ffmpeg и x264:
sudo apt-get update sudo apt-get install build-essential subversion texi2html libfaac-dev libfaad-dev libmp3lame-dev libtheora-dev quilt libsdl1.2-dev libogg-dev libvorbis-dev liba52-dev libdts-dev libimlib2-dev libraw1394-dev libdc1394-22-dev libtheora-dev libgsm1-dev libfaac-dev libfaad-dev git-core checkinstall yasm libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libx11-dev libxfixes-dev zlib1g-dev nasm python-chardet
Ставим x264 из исходников
mkdir ~/src; cd ~/src git clone git://git.videolan.org/x264.git cd ./x264/ ./configure --prefix=/usr/local --enable-shared make sudo checkinstall --pkgname=x264 --pkgversion "2:0.`grep X264_BUILD x264.h -m1 | cut -d' ' -f3`.`git rev-list HEAD | wc -l`+git`git rev-list HEAD -n 1 | head -c 7`" --backup=no --deldoc=yes --fstrans=no --default
Проверяем
sudo checkinstall --pkgname=x264 --pkgversion "2:0.`grep X264_BUILD x264.h -m1 | cut -d' ' -f3`.`git rev-list HEAD | wc -l`+git`git rev-list HEAD -n 1 | head -c 7`" --backup=no --default
sudo make install-lib-dev && sudo cp libx264.a /usr/local/lib/
Ставим lame
cd ~/src sudo mkdir -p /usr/local/share/doc/lame wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz tar xzvf lame-3.99.5.tar.gz cd lame-3.99.5 ./configure --enable-nasm --disable-shared make sudo checkinstall --pkgname=lame-ffmpeg --pkgversion="3.99.5" --backup=no --default --deldoc=yes
Ставим libxvid из исходников
cd ~/src wget http://downloads.xvid.org/downloads/xvidcore-1.3.3.tar.gz tar xzvf xvidcore-1.3.3.tar.gz cd ./xvidcore/build/generic ./configure --prefix=/usr/local make sudo make install
apt-get install libopencore-amrnb-dev libopencore-amrwb-dev libgsm1-dev libfaac-dev libtheora-dev libvorbis-dev libx264-dev libdc1394-22-dev libxext-dev libxfixes-dev
Ставим необходимые утилиты кодирования
sudo apt-get install mkvtoolnix gpac mencoder dvdrip avidemux
Проверим установку
which ffmpeg
Собираем ffmpeg
cd ~/src git clone git://git.videolan.org/ffmpeg.git cd ffmpeg/ export TMPDIR=~/tmp-ffmpeg mkdir $TMPDIR ./configure --prefix=/usr/local --enable-gpl --enable-postproc --enable-swscale --enable-pthreads --enable-x11grab --enable-libdc1394 --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-nonfree --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-shared make sudo checkinstall --pkgname=ffmpeg --pkgversion="7:$(date +%Y%m%d%H%M)-git" --backup=no --deldoc=yes --fstrans=no --default hash x264 ffmpeg ffplay ffprobe ldconfig -v rm -rf $TMPDIR export TMPDIR=
Mencoder+faac+ffmpeg https://help.ubuntu.com/community/Compiling%20MPlayer
Build tools
sudo apt-get -y install build-essential subversion checkinstall git-core \ docbook-xml docbook-xsl xsltproc libxml2-utils && \ mkdir -pv $HOME/mplayer_build
Dev’s
sudo apt-get -y install libaa1-dev libasound2-dev libcaca-dev libcdparanoia-dev libdca-dev \ libdirectfb-dev libggi-target-fbdev libenca-dev libesd0-dev libfontconfig1-dev libfreetype6-dev \ libfribidi-dev libgif-dev libgl1-mesa-dev libjack-jackd2-dev libopenal1 libpulse-dev \ libsdl1.2-dev libsvga1-dev libvdpau-dev libxinerama-dev libxv-dev libxvmc-dev libxxf86dga-dev \ libxxf86vm-dev librtmp-dev libsctp-dev libass-dev libfaac-dev libsmbclient-dev libtheora-dev \ libogg-dev libxvidcore-dev libspeex-dev libvpx-dev libschroedinger-dev libdirac-dev libdv4-dev \ libopencore-amrnb-dev libopencore-amrwb-dev libmp3lame-dev liblivemedia-dev libtwolame-dev \ libmad0-dev libgsm1-dev libbs2b-dev liblzo2-dev ladspa-sdk libopenjpeg-dev libfaad-dev \ libmpg123-dev libbluray-dev libaacs-dev
Кодеки
cd $HOME/mplayer_build && \ sudo mkdir -pv /usr/local/lib/codecs && \ if [ "$(uname -m)" = "x86_64" ]; then wget http://www.mplayerhq.hu/MPlayer/releases/codecs/essential-amd64-20071007.tar.bz2 tar xjvf essential-amd64-20071007.tar.bz2 sudo cp -v essential-amd64-20071007/* /usr/local/lib/codecs else wget http://www.mplayerhq.hu/MPlayer/releases/codecs/all-20110131.tar.bz2 tar xjvf all-20110131.tar.bz2 sudo cp -v all-20110131/* /usr/local/lib/codecs fi
Тут нужно сделать отступление. При конфигурировании x264 БЕЗ параметра —enable-shared библиотека будет инсталлироваться в каталог по умолчанию (у меня это /usr/local/bin) и при запуске ffmpeg будет выдавать ошибку о неизвестном местоположении библиотеки libx264:
ERROR: libx264 not found
x264
if [ "$(uname -m)" = "x86_64" ]; then ARCHOPTS="--enable-pic" else ARCHOPTS="" fi && \ cd $HOME/mplayer_build && \ git clone git://git.videolan.org/x264.git --depth 1 && \ cd x264 && \ ./configure --prefix=$HOME/mplayer_build/mplayer_deps/usr \ --enable-shared --disable-cli $ARCHOPTS && \ make && make install
Собираем Mplayer / Mcoder
cd $HOME/mplayer_build && \ svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer && \ cd mplayer && \ PKG_CONFIG_PATH="$HOME/mplayer_build/mplayer_deps/usr/lib/pkgconfig" \ ./configure \ --extra-cflags="-I$HOME/mplayer_build/mplayer_deps/usr/include" \ --extra-ldflags="-L$HOME/mplayer_build/mplayer_deps/usr/lib" \ --confdir=/etc/mplayer \ --codecsdir=/usr/local/lib/codecs && \ make -j 2 && make html-chunked && \ mkdir -vp doc-pak && \ cp -v DOCS/HTML/*/* AUTHORS Changelog LICENSE README doc-pak && \ sudo checkinstall -D --install=yes --fstrans=no --pakdir "$HOME/mplayer_build" \ --pkgname mplayer --backup=no --deldoc=yes --deldesc=yes --delspec=yes --default \ --pkgversion "2:1.0~svn$(LC_ALL=C svn info 2> /dev/null | \ grep Revision | cut -d' ' -f2)" --provides "mplayer,mencoder" && \ make distclean && sudo ldconfig
Обновление Собираем Mplayer / Mcoder
cd $HOME/mplayer_build/mplayer && \ svn up && \ PKG_CONFIG_PATH="$HOME/mplayer_build/mplayer_deps/usr/lib/pkgconfig" \ ./configure \ --extra-cflags="-I$HOME/mplayer_build/mplayer_deps/usr/include" \ --extra-ldflags="-L$HOME/mplayer_build/mplayer_deps/usr/lib" \ --confdir=/etc/mplayer \ --codecsdir=/usr/local/lib/codecs && \ make -j 2 && make html-chunked && \ mkdir -vp doc-pak && \ cp -v DOCS/HTML/*/* AUTHORS Changelog LICENSE README doc-pak && \ sudo checkinstall -D --install=yes --fstrans=no --pakdir "$HOME/mplayer_build" \ --pkgname mplayer --backup=no --deldoc=yes --deldesc=yes --delspec=yes --default \ --pkgversion "2:1.0~svn$(LC_ALL=C svn info 2> /dev/null | \ grep Revision | cut -d' ' -f2)" --provides "mplayer,mencoder" && \ make distclean && sudo ldconfig