How to install the latest FFMPEG on a Debian 4 ("Etch") server? This post encouraged me to try it, despite the fact that it needs compiling from source, and that Etch isn't even the current "stable" Debian anymore. PhillC's post helped a lot, but it still didn't work for me exactly as described there. So here is how it eventually did work for me.
# echo "deb http://www.debian-multimedia.org etch main" >>/etc/apt/sources.list
or
# echo "deb http://www.debian-multimedia.org stable main" >>/etc/apt/sources.list
(I used both, and fiddled with enabling and disabling that repository, so I'm not sure anymore which one ended up being useful).
aptitude update
gave me a GPG error, so I had to add the key it mentioned:
# gpg --keyserver hkp://wwwkeys.eu.pgp.net --recv-keys 07DC563D1F41B907 # gpg --armor --export 07DC563D1F41B907 | apt-key add - # aptitude update
The following didn't work, or only worked partially:
# apt-get build-dep ffmpeg
Reading package lists... Done Building dependency tree... Done E: Unable to find a source package for ffmpegcvsI continued anyway with the long install line of various libraries. I had to remove some of these libraries from the suggested install line. Particularly, since I had to recompile libx264 anyway, I should have removed libx264-dev at this point. It is removed in the line below:
# aptitude install liblame-dev libfaad-dev libfaac-dev libxvidcore4-dev liba52-0.7.4 liba52-0.7.4-dev build-essential subversion # cd /usr/src # svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
And so I got the current version as of March 17:
Checked out external at revision 28979.
Checked out revision 18021.
And I tried configure:
# cd /usr/src/ffmpeg # ./configure --enable-gpl --enable-pp --enable-libvorbis --enable-liba52 --enable-libdc1394 --enable-libgsm --enable-libmp3lame --enable-libfaad --enable-libfaac --enable-pthreads --enable-libx264 -enable-libxvid
After various errors, and removing options, I ended up with this error:
ERROR: libx264 version must be >= 0.65.
And trying to install that from the debian-multimedia.org repository didn't work either:
# aptitude install libx264-65
The following packages have unmet dependencies: libx264-65: Depends: libc6 (>= 2.7-1) but 2.3.6.ds1-13etch8 is installed and it is kept back.So this thread came to rescue, and I embarked on getting x264 and compiling that from source too:
# aptitude install git git-core
Trying to use Git at this point gives an error, but suggests the solution:
# update-alternatives --config git
There are 2 alternatives which provide `git'. Selection Alternative ----------------------------------------------- *+ 1 /usr/bin/git.transition 2 /usr/bin/git-scm Press enter to keep the default[*], or type selection number: 2
Next steps:
# cd /usr/src/ # git clone git://git.videolan.org/x264.git # cd x264 # ./configure --enable-shared
This gave an error about yasm, which was not the right version. I could have tried to compile that too, as shown on the Ubuntu forum, but impatiently decided to try the suggested disable option instead. So the x264 part which worked:
# ./configure --enable-shared --disable-asm # make # make install # ldconfig
And finally, ffmpeg:
# cd /usr/src/ffmpeg/ # ./configure --enable-gpl --enable-postproc --enable-pthreads --enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libx264 --enable-libxvid # make # make installI also had to remove the old ffmpeg version (
aptitude purge ffmpeg
) which I had installed some time before this, and finally did this:
# echo /usr/local/lib >> /etc/ld.so.conf.d/local.conf # ldconfig
Since I had a leftover libx264 installed with aptitude and which was too old, that caused a segmentation fault when I tried to encode with ffmpeg. After searching (aptitude search x264
), I found i had to aptitude purge libx264-54 libx264-dev
. Then, just to be sure, I re-did the ./configure
, make clean
, make
, make install
incantations for both x264 and ffmpeg.
In the end, ffmpeg is working. I suppose the --disable-asm option on x264 will make encoding slower, so it may be worth compiling yasm, and re-compiling x264 again.
Now that ffmpeg is working, the main problem is trying to understand it's myriad of incomprehensible and cryptically documented options.
Danke, best and clearest description as well as actual.
ReplyDeleteCheers
Olli
Hi,
ReplyDeleteThanks a lot! This post helped me a lot. Afert 5hours trying to install ffmpeg with libx265 i was desperate. But with your help it worked :)
Best Regards,
Christian
Thanks, I tried this way, but failed. I installed old version FFmpeg with libx264 instead of latest one. I posted my way on my page. I hope this help someone. -> http://tinyurl.com/ybhn2q2
ReplyDelete