ffmpeg

Differences between revisions 2 and 37 (spanning 35 versions)
Revision 2 as of 2006-05-14 13:44:09
Size: 1870
Editor: user-12lcj15
Comment:
Revision 37 as of 2008-09-22 18:47:38
Size: 6054
Editor: gw1
Comment:
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:

== Compiling ffmpeg from version in the repositories ==
Line 10: Line 12:
On pre-8.04:
Line 11: Line 14:
sudo apt-get install liblame-dev libfaad2-dev libfaac-dev libxvidcore4-dev liba52-0.7.4 liba52-0.7.4-dev sudo apt-get install liblame-dev libfaad2-dev libfaac-dev libxvidcore4-dev liba52-0.7.4 liba52-0.7.4-dev libdts-dev checkinstall
Line 13: Line 16:

On 8.04:
{{{
sudo apt-get install liblame-dev libfaad-dev libx264-dev libfaac-dev libxvidcore4-dev liba52-0.7.4 liba52-0.7.4-dev libdts-dev checkinstall
}}}
As there is only a dummy package with libfaad2-dev, it is now replaced with libfaad-dev.
Line 22: Line 31:
*This is all in a one line: In pre-7.10 releases (these should be all on one line):
Line 24: Line 34:
./configure --enable-gpl --enable-pp --enable-zlib --enable-vorbis \
        
--enable-libogg --enable-theora --enable-a52 --enable-dts \
       
--enable-dc1394 --enable-libgsm --disable-debug --enable-mp3lame \
        
--enable-faad --enable-faac --enable-xvid
./configure --enable-gpl --enable-pp --enable-vorbis --enable-libogg --enable-a52 --enable-dts --enable-dc1394 --enable-libgsm --disable-debug --enable-mp3lame --enable-faad --enable-faac --enable-xvid --enable-shared
Line 29: Line 36:

Or, on 7.10:

{{{
./configure --enable-gpl --enable-pp --enable-libvorbis --enable-libogg --enable-liba52 --enable-libdts --enable-dc1394 --enable-libgsm --disable-debug --enable-libmp3lame --enable-libfaad --enable-libfaac --enable-xvid --enable-shared
}}}

On 8.04:
{{{
./configure --enable-liba52 --disable-debug --enable-libfaad --enable-libfaac --enable-gpl --enable-amr_nb --enable-amr_wb --enable-x264 --enable-xvid --enable-libdts --enable-pthreads --enable-libvorbis --enable-pp --enable-libtheora --enable-libogg --enable-libgsm --disable-debug --enable-shared --prefix=/usr
}}}

On later versions of 8.04:
{{{
./configure --enable-liba52 --disable-debug --enable-libfaad --enable-libfaac --enable-gpl --enable-x264 --enable-xvid --enable-pthreads --enable-libvorbis --enable-pp --enable-libtheora --enable-libogg --enable-libgsm --enable-swscaler --disable-debug --enable-shared --prefix=/usr
}}}

'''AMR requires codecs available in [[http://ubuntuforums.org/showthread.php?t=762399|Medibuntu]] repositories.'''


Then compile:
Line 38: Line 66:
*Only!!! If thet above command doesn't work try, reasons are explained below: *Only!!! If the above command doesn't work try this (reasons are explained below):
Line 43: Line 71:
*If you get these errors in 8.04:
{{{
install:`cannot stat 'doc/ffmpeg.1' No such file or directory
.. ffplay.1 ..
.. ffserver.1..
make: *** Error 1
**** Installation failed. Aborting package creation
Cleaning up...OK
Bye.
}}}
Then you should run this command:
{{{
sudo apt-get install libx264-dev checkinstall
}}}
And then repeat the steps above preceeding the error message.
Line 45: Line 88:


== Compiling ffmpeg from upstream svn snapshots ==

 /!\ Compiling from upstream may currently be broken if you choose to compile in support for "H264" (--enable-x264 option) due to ffmpeg requiring a more up to date version of libx264. See this http://article.gmane.org/gmane.comp.video.mplayer.user/56828. The error message you might see includes "'X264_ME_TESA' undeclared (first use in this function)"

=== Remove ffmpeg ===

{{{
sudo apt-get remove ffmpeg
}}}

=== Get pre-requisites ===

{{{
sudo apt-get install liba52-dev libdts-dev libgsm1-dev libvorbis-dev libxvidcore4 libxvidcore-dev libdc1394-dev libfaac-dev liblame-dev libx264-dev libfaad2-dev libtheora-dev libsdl1.2-dev
}}}
=== Grab the ffmpeg source ===

{{{
wget http://ffmpeg.mplayerhq.hu/ffmpeg-export-snapshot.tar.bz2
tar jxvf ffmpeg-export-snapshot.tar.bz2
cd ffmpeg-export-*}}}

or checkout the latest version from svn
{{{
svn co svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
cd ffmpeg
}}}

=== Configure ===

{{{
./configure --prefix=/usr/local --disable-debug --enable-shared --enable-gpl --enable-postproc --enable-swscale --enable-pthreads --enable-x11grab --enable-liba52 --enable-libdc1394 --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid
}}}
=== Compile ===

{{{
make
}}}

=== Install ===

{{{
sudo make install
}}}

=== Test ===

{{{
export LD_LIBRARY_PATH=/usr/local/lib/
 ffmpeg -version
FFmpeg version SVN-r9450, Copyright (c) 2000-2007 Fabrice Bellard, et al.
  configuration: --enable-gpl --enable-pp --enable-pthreads --enable-vorbis --enable-libogg --enable-a52 --enable-libgsm --enable-dc1394 --disable-debug --enable-shared --enable-xvid --enable-faac --enable-mp3lame --enable-x264 --enable-faad --enable-x11grab --enable-swscaler --prefix=/usr/local
  libavutil version: 49.4.1
  libavcodec version: 51.40.4
  libavformat version: 51.12.1
  built on Jul 4 2007 21:14:05, gcc: 4.1.3 20070629 (prerelease) (Ubuntu 4.1.2-13ubuntu2)
ffmpeg SVN-r9450
libavutil 3212289
libavcodec 3352580
libavformat 3345409
}}}

== Medibuntu ==

Another option could be to add the [[http://www.medibuntu.org/|medibuntu]] repository to your ''sources''. More details [[https://help.ubuntu.com/community/Medibuntu|here]].
----
CategoryDocumentation

Fixing ffmpeg on Ubuntu

For a litany of legal reasons, ffmpeg does not come with all of the necessary things enabled for you to encode video for the iPod Video by default. Therefore, we need to build it from source and install some other libraries and programs, as well. Make sure you have multiverse and universe enabled.

Compiling ffmpeg from version in the repositories

In the terminal, run:

sudo apt-get build-dep ffmpeg

On pre-8.04:

sudo apt-get install liblame-dev libfaad2-dev libfaac-dev libxvidcore4-dev liba52-0.7.4 liba52-0.7.4-dev libdts-dev checkinstall

On 8.04:

sudo apt-get install liblame-dev libfaad-dev libx264-dev libfaac-dev libxvidcore4-dev liba52-0.7.4 liba52-0.7.4-dev libdts-dev checkinstall

As there is only a dummy package with libfaad2-dev, it is now replaced with libfaad-dev.

apt-get source ffmpeg

cd ffmpeg-*/

In pre-7.10 releases (these should be all on one line):

./configure --enable-gpl --enable-pp --enable-vorbis --enable-libogg --enable-a52 --enable-dts --enable-dc1394 --enable-libgsm --disable-debug --enable-mp3lame --enable-faad --enable-faac --enable-xvid --enable-shared

Or, on 7.10:

./configure --enable-gpl --enable-pp --enable-libvorbis --enable-libogg --enable-liba52 --enable-libdts --enable-dc1394 --enable-libgsm --disable-debug --enable-libmp3lame --enable-libfaad --enable-libfaac --enable-xvid --enable-shared

On 8.04:

./configure --enable-liba52 --disable-debug --enable-libfaad --enable-libfaac --enable-gpl --enable-amr_nb --enable-amr_wb --enable-x264 --enable-xvid --enable-libdts --enable-pthreads --enable-libvorbis --enable-pp --enable-libtheora --enable-libogg --enable-libgsm --disable-debug --enable-shared --prefix=/usr

On later versions of 8.04:

./configure --enable-liba52 --disable-debug --enable-libfaad --enable-libfaac --enable-gpl --enable-x264 --enable-xvid --enable-pthreads --enable-libvorbis --enable-pp --enable-libtheora --enable-libogg --enable-libgsm --enable-swscaler --disable-debug --enable-shared --prefix=/usr

AMR requires codecs available in Medibuntu repositories.

Then compile:

make

sudo checkinstall -D make install

*Only!!! If the above command doesn't work try this (reasons are explained below):

sudo make install

*If you get these errors in 8.04:

install:`cannot stat 'doc/ffmpeg.1' No such file or directory
.. ffplay.1 ..
.. ffserver.1..
make: *** Error 1
**** Installation failed. Aborting package creation
Cleaning up...OK
Bye.

Then you should run this command:

sudo apt-get install libx264-dev checkinstall

And then repeat the steps above preceeding the error message.

It will go through a bunch of stuff and prompt you on the last command for a few things. First, hit y to create docs, then just hit enter at the EOF question. Next, it will take you to the name and version. Edit #2 (name) to be ffmpeg, then edit #3 (version) to be something newer than what it is...so, either 1.cvsxxxxxx or some other way. If your installation fails because it claims that it was downgrading ffmpeg, you may use "sudo make install" instead of "sudo checkinstall -D make install", but you will not have a dpkg for it. If you go thise route, you can always uninstall by returning to this directory and typing "sudo make uninstall". If you don't mind not having a dpkg for it, then I'd recommend going straight to a sudo make install. Now, ffmpeg is fixed, time to move onto gtkpod's abilities.

Compiling ffmpeg from upstream svn snapshots

  • Warning /!\ Compiling from upstream may currently be broken if you choose to compile in support for "H264" (--enable-x264 option) due to ffmpeg requiring a more up to date version of libx264. See this http://article.gmane.org/gmane.comp.video.mplayer.user/56828. The error message you might see includes "'X264_ME_TESA' undeclared (first use in this function)"

Remove ffmpeg

sudo apt-get remove ffmpeg

Get pre-requisites

sudo apt-get install liba52-dev libdts-dev libgsm1-dev libvorbis-dev  libxvidcore4 libxvidcore-dev libdc1394-dev libfaac-dev liblame-dev libx264-dev libfaad2-dev libtheora-dev libsdl1.2-dev 

Grab the ffmpeg source

wget http://ffmpeg.mplayerhq.hu/ffmpeg-export-snapshot.tar.bz2
tar jxvf ffmpeg-export-snapshot.tar.bz2
cd ffmpeg-export-*

or checkout the latest version from svn

svn co svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
cd ffmpeg

Configure

./configure --prefix=/usr/local --disable-debug --enable-shared --enable-gpl --enable-postproc --enable-swscale --enable-pthreads --enable-x11grab --enable-liba52 --enable-libdc1394 --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid

Compile

make

Install

sudo make install

Test

export LD_LIBRARY_PATH=/usr/local/lib/
 ffmpeg -version
FFmpeg version SVN-r9450, Copyright (c) 2000-2007 Fabrice Bellard, et al.
  configuration: --enable-gpl --enable-pp --enable-pthreads --enable-vorbis --enable-libogg --enable-a52 --enable-libgsm --enable-dc1394 --disable-debug --enable-shared --enable-xvid --enable-faac --enable-mp3lame --enable-x264 --enable-faad  --enable-x11grab --enable-swscaler --prefix=/usr/local
  libavutil version: 49.4.1
  libavcodec version: 51.40.4
  libavformat version: 51.12.1
  built on Jul  4 2007 21:14:05, gcc: 4.1.3 20070629 (prerelease) (Ubuntu 4.1.2-13ubuntu2)
ffmpeg      SVN-r9450
libavutil   3212289
libavcodec  3352580
libavformat 3345409

Medibuntu

Another option could be to add the medibuntu repository to your sources. More details here.


CategoryDocumentation

ffmpeg (last edited 2011-08-23 22:36:00 by 98-65-174-206)