Wikia

Tovid Wiki

Installing svn ffmpeg on a Debian based distro

Talk2
95pages on
this wiki

This howto is no longer being maintained. You might want to visit: HOWTO: Install and use the latest FFmpeg for Ubuntu users: Debian users will find it extremely useful as well.

This short howto shows how to compile the latest ffmpeg from source on debian based distros such as ubuntu and of course ... debian.

It may be particularly useful to those who have discovered an ffmpeg whose vhook's are broken and who can not use -quick-menu in the todisc/todiscgui program.

It has only been tested on ubuntu feisty and debian etch, but the principles will apply on any such debian based distro. Debian sid/unstable users can change the 'etch' in the sources.list line to 'sid'.

Note: Ubuntu users may find this howto outdated - for example libfaad-dev is no longer a package name. See notes under the second section (2.). Someone who uses Ubuntu please contribute any help here, but please keep to the topic which is installing *svn* ffmpeg.

The article will show you how to:

1. install the dependancies needed for compiling.

2. download the latest source code using subversion (svn)

3. compile and install ffmpeg

4. double check your PATH and library paths are correct.

Commands preceeded by 'sudo' need root privileges: the sudo is added for the benefit of Ubuntu users. Others like Debian users will probably not use sudo but will become root before running them.

NOTE:

All commands in bold are run in a terminal.

Any commands NOT preceeded by 'sudo' are NOT run as the root user !

edit sources list and update Edit

1. edit /etc/apt/sources.list and add the following lines:

deb http://www.debian-multimedia.org etch main

deb-src http://www.debian-multimedia.org etch main

2. save your changes and run in a terminal:

sudo apt-get update

install dependencies needed for compiling Edit

sudo apt-get build-dep ffmpeg

sudo apt-get install subversion

For Ubuntu users for whom the apt-get build-dep does not work, I suggest you do a "apt-cache showsrc ffmpeg" and install the deps manually, getting the missing packages from another repository. ( for example libfaad-dev is apparently no longer in Ubuntu. )

download the ffmpeg source Edit

First, decide where you are going to do your compiling. Let's say you decide to put it in a directory called 'svn' in your home directory:

cd

mkdir svn

cd svn

Then use the subversion's 'svn' command to get the source. It will create a directory in $HOME/svn called 'ffmpeg'.

svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg

cd to the new directory it creates

cd ffmpeg

configure ffmpeg Edit

The following command will configure the source code for you:

./configure --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-libgsm --enable-postproc --enable-libxvid --enable-libfaac --enable-pthreads --enable-libvorbis --enable-libfaad --enable-gpl --enable-x11grab --enable-nonfree

compile ffmpeg Edit

Run the 'make' program to compile the beast.

make

install ffmpeg Edit

This command will install ffmpeg in /usr/local. This is the easiest place to install as /usr/local should already be in your PATH ahead of /usr/bin where debian/ubuntu install programs such as ffmpeg. This means when you type ffmpeg or it is called from a script, the ffmpeg in /usr/local/bin will be used.

sudo make install

check the library path Edit

The text file /etc/ld.so.conf contains a compiled list of possible libraries for installed programs found in the library path. Make sure /usr/local/lib is in /etc/ld.so.conf and ahead of /usr/lib. Edit /etc/ld.so.conf using sudo or as root, and add /usr/local/lib to the top of the file if it is not already there. Update the library cache by running:

sudo ldconfig -v

The '-v' is added to show the output (verbose).

test your new ffmpeg Edit

ffmpeg -version

This doesn't do anything, but should show you the flags you configured and compiled ffmpeg with, as well as versions and dates for the source and its other libraries.

Now try testing it on a video file !

Around Wikia's network

Random Wiki