I want to make an static, stand alone, single file build of FFmpeg on Ubuntu 9.04
I have done this with SVN-r16315 using the following "config" settings:
As you can see the "--extra-cflags=-static --extra-ldflags=-static" options make the magic, but now with the latest SVN doesn't work, also with the V0.5
Here I share the guide that IT WORKS but only with SVN-r16315
[1-Install needed packages]:
sudo aptitude install build-essential subversion git-core zlib1g-dev checkinstall libgpac-dev libfaad-dev libfaac-dev liblame-dev libtheora-dev libvorbis-dev gpac liba52-dev libgsm1-dev libxvidcore4-dev libschroedinger-dev libogg-dev libspeex-dev
tar xzvf yasm-0.7.1.tar.gz
[3. Get latest libx264]:
git clone git://git.videolan.org/x264.git
./configure --enable-pthread --enable-mp4-output --enable-shared
[4-Update the links to the shared libraries created by x264]:
[5. Get newest ffmpeg]:
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
ANY HELP will be apreciated
ffmpeg-user mailing list. Your instructions are dated in several ways, but you can see the differences in the guide. If you ask for help on the IRC channel or mailing list make sure to supply your FFmpeg error.
While I can only make a very uneducated guess as to why you'd want to use those flags, based on your config this would work on a current svn.
(lose the libfaad, libfaac, libvorbis and in the unlikely event you have libva-dev intalled then add a --disable-hwaccels (or specific to vaapi./configure --enable-static --extra-cflags=-static --extra-ldflags=-static --disable-shared --enable-libmp3lame --enable-gpl --enable-pthreads --enable-libxvid --enable-x11grab --enable-libgsm --enable-libx264 --enable-libtheora
One of the reasons is that FAAC is no longer considered free (because it contains code from the ISO reference encoder), and thus you have to use the --enable-nonfree option to include it.
I wouldn't be surprised in the least if that was the impetus behind the Low Complexity AAC encoder project in ffmpeg's SoC lineup in 2008.
Last edited by qyot27; September 5th, 2009 at 02:41 AM.
Several months ago I had asked about including x264's revision number in the checkinstall process in place of the date. That's been working perfectly, but I cannot seem to figure out how to do the same with ffmpeg. Any ideas?
Or there is a fairly cool version of the above using sed:Code:sudo checkinstall --fstrans=no --install=yes --pkgname=ffmpeg \ --pkgversion "3:0.svn-`grep "FFMPEG_VERSION" version.h | \ cut -d '"' -f2 | cut -d '-' -f2`-12ubuntu3" --default
My brain has always worked better with sed than cut, and I am not sure what that says about me .Code:sudo checkinstall --fstrans=no --install=yes --pkgname=ffmpeg \ --pkgversion "3:0.svn-r`grep "FFMPEG_VERSION" version.h | \ sed 's/[^0-9]//g'`-12ubuntu3" --default
Last edited by andrew.46; September 10th, 2009 at 11:16 AM. Reason: Added sed...
You think that's air you're breathing now?
Also, x264 always installs and gets listed fine, but apt put ffmpeg under the auto removable category. Which is somewhat annoying. Is that from a package numbering issue (which I hope can be resolved) or just an inherent thing?
Note: the first time I tried to install I used the cut method, but during the process everything locked up completely and I was forced to reboot, which canceled the installation. The sed method was the one that completed the install successfully, and then I noticed the auto removable thing. I don't know if that has anything to do with it, though.
Last edited by qyot27; September 11th, 2009 at 07:15 AM.