How to install FFmpeg on Debian?

Current Debian (starting from stretch and also in jessie-backports) includes an ffmpeg package:

sudo apt-get update
sudo apt-get install ffmpeg

However, this version of ffmpeg not always be up-to-date. If you want a more recent version, you have 3 options for installing ffmpeg. I'd suggest trying Options 1 or 2 before attempting Option 3.

Option 1: Use the static build

Download a static build from this website:

http://johnvansickle.com/ffmpeg/

Place the binaries in /usr/local/bin and you're ready to go.

Option 2: Install ffmpeg from deb-multimedia.org

To install ffmpeg, edit /etc/apt/sources.list and add the appropriate line for your distribution as listed here: http://www.deb-multimedia.org/

To add debian testing, either manually edit the file or run..

Example for debian testing only:

sudo echo deb http://www.deb-multimedia.org testing main non-free \
                  >>/etc/apt/sources.list

After adding the line for deb-multimedia, update the package, add the keyring, and install ffmpeg.

sudo apt-get update
sudo apt-get install deb-multimedia-keyring
sudo apt-get update
sudo apt-get install ffmpeg

You will have to install the keyring as an unauthenticated package using this method.

Option 3: Install ffmpeg from source

Alternatively, you can install from source. This is how to create a .deb file using checkinstall which can then be uninstalled again. Install these packages, yasm or nasm is needed for ffmpeg specifically, the others are generally useful for building packages:

sudo apt-get install yasm nasm \
                build-essential automake autoconf \
                libtool pkg-config libcurl4-openssl-dev \
                intltool libxml2-dev libgtk2.0-dev \
                libnotify-dev libglib2.0-dev libevent-dev \
                checkinstall

Next, clone the ffmpeg package or download the latest snapshot:

git clone git://git.videolan.org/ffmpeg.git

or

wget https://www.ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
tar jxvf ffmpeg-snapshot.tar.bz2

Compile ffmpeg:

cd ffmpeg
./configure --prefix=/usr
time make -j 8
cat RELEASE
sudo checkinstall

Most of the checkinstall defaults are fine, but a version number is required. The current version is displayed by "cat RELEASE". This should create a deb file in the current directory.

Finally, install the deb file you made using dpkg:

sudo dpkg --install ffmpeg_*.deb

It is now available for Jessy as a backport: https://packages.debian.org/jessie-backports/ffmpeg

Add something like this to /etc/apt/sources.list (with your preferred mirror):

deb http://ftp.uk.debian.org/debian jessie-backports main

Then

apt-get update
apt-get install ffmpeg

You can install it via apt-get. If the package is simply called "ffmpeg".

sudo apt-get update
sudo apt-get install ffmpeg

If that doesn't work, you can try searching for it:

sudo apt-cache search ffmpeg

Note that this will install the packaged version of FFmpeg, therefore it will always be a little outdated. In case you experience bugs, please compile FFmpeg from source.


FFMPEG uses git so you will need to use the terminal. See here for the current location

There's a pretty comprehensive walkthrough on doing it here. Have extracted pertinent code for the lazy (myself included).

One thing to note, you may get some errors when configuring that you are missing packages. I needed to use RPM to get a couple of them when running Fedora 14 but your mileage may vary on Debian.

Checkout FFmpeg:

git clone git://git.videolan.org/ffmpeg.git
cd ffmpeg

Configure [add your own preferences if you want]

./configure

Build and install

make
sudo make install