37

How do I install FFmpeg on Debian?

70

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
| improve this answer | |
  • 2
    +10 points. This answer should be up the top, as it's the most current. – Mint May 10 '15 at 23:58
  • 2
    Sadly, avconv which comes with Jessie often cannot replace ffmpeg as it lacks many important features of ffmpeg. So if you want to avoid installing from source the only valid option is to get it from deb-multimedia, which is a bit sad as the deb-multimedia-keyring is not distributed by Debain, so the trust chain is broken. – Tino Oct 3 '15 at 19:43
  • 2
    they have switched back to ffmpeg in sid now: lwn.net/Articles/650495 – Sam Watkins Oct 29 '15 at 16:25
  • 1
    Your from-source instructions work on Debian Jessie (from master 4c2244127631da592cb4d6bbdab1d6b050ff98cb). However, the checkinstall procedure seems to have changed. I had to run sudo mkdir /usr/share/ffmpeg first to avoid it aborting. Then after successful run, it automatically installed the packages itself, so there is no need to run sudo dpkg -i. Otherwise fine. – 0__ Apr 11 '16 at 18:35
  • 1
    One should use apt-get update -oAcquire::AllowInsecureRepositories=true instead of sudo apt-get update otherwise you won't be able to install deb-multimedia-keyring when downloading from deb-multimedia.org. You just need this once. – TCB13 Jan 17 '19 at 11:36
26

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
| improve this answer | |
  • Nice. I'm creating a Docker image, and it's already pretty complex. This method is the cleanest possible. – gustavohenke Sep 3 '16 at 20:10
  • 4
    cheers, this works great and is the most current answer. just posting the debian 8 jessy message so others can find this Googling Package ffmpeg is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source E: Package 'ffmpeg' has no installation candidate – georgiecasey Oct 10 '16 at 23:24
8

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.

| improve this answer | |
7

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
| improve this answer | |
3

static builds (works)

Go to this page and pick the build for your architecture:

http://johnvansickle.com/ffmpeg/

Grab the url to the build file

# download it
wget <url>
# unpack it
tar xf <file>

# add path to $PATH
vi ~/.bashrc

# add the path to your unpacked build
export PATH="~/src/ffmpeg-2.8.3-src:$PATH"

# source your bashrc to update your path
. ~/.bashrc
| improve this answer | |
  • pretty common knowledge bash here. but i added some comments – chovy Dec 2 '15 at 2:22
  • You can use ~/bin or /usr/local/bin instead of ~/src and not need to mess around with the PATH. (For ~/bin you will need to re-login or run source ~/.profile however). – llogan Nov 18 '17 at 17:59
  • or just ln -s /unpacked/ffmpeg /usr/bin/ffmpeg – Hayden Thring Jan 23 '18 at 20:39
1

I downloaded the latest snapshot of ffmpeg from here http://ffmpeg.org/download.html. Then I followed Kdenlive's ffmpeg build instructions http://www.kdenlive.org – but run

sudo apt-get update

before installing dependencies. They are:

sudo apt-get install subversion git cmake build-essential yasm libqt4-dev kdelibs5-dev libsdl1.2-dev libsdl-image1.2-dev libxml2-dev libx264-dev libtheora-dev libxvidcore-dev libogg-dev libvorbis-dev libschroedinger-dev libmp3lame-dev libfaac-dev libfaad-dev libgsm1-dev libopencore-amrnb-dev libopencore-amrwb-dev libsamplerate0-dev libjack-dev libsox-dev ladspa-sdk swh-plugins libmad0-dev libpango1.0-dev
| improve this answer | |
0

This is what I did by nov-2017:

 apt-get update
 apt-get install libav-tools


#List all plugins associated with ffmpeg
apt-cache search ffmpeg 

#cmus-plugin-ffmpeg - lightweight ncurses audio player (FFmpeg plugin)
apt-get install -y cmus

#ffmpeg2theora - Theora video encoder using ffmpeg
apt-get install -y ffmpeg2theora

#ffmpegthumbnailer - fast and lightweight video thumbnailer
apt-get install -y ffmpegthumbnailer

#ffmpegthumbnailer-dbg - debugging informations for ffmpegthumbnailer
apt-get install -y ffmpegthumbnailer-dbg

#libffmpegthumbnailer-dev - development files for ffmpegthumbnailer
apt-get install -y libffmpegthumbnailer-dev

#libffmpegthumbnailer4 - shared library for ffmpegthumbnailer
apt-get install -y libffmpegthumbnailer4

#ffmpegthumbs - video thumbnail generator using ffmpeg
apt-get install -y ffmpegthumbs

#libffms2-3 - Cross platform ffmpeg wrapper library
apt-get install -y libffms2-3

#gmerlin-encoders-ffmpeg - ffmpeg encoders for Gmerlin
apt-get install -y gmerlin-encoders-ffmpeg

#libpostproc-dev - FFmpeg derived postprocessing library - development headers
apt-get install -y libpostproc-dev

#libpostproc52 - FFmpeg derived postprocessing library
apt-get install -y libpostproc52

#moc-ffmpeg-plugin - ncurses based console audio player - ffmpeg plugin
apt-get install -y moc-ffmpeg-plugin

#libtaoframework-ffmpeg-cil-dev - Tao CLI binding for FFmpeg - development files
apt-get install -y libtaoframework-ffmpeg-cil-dev

#libtaoframework-ffmpeg0.4-cil - Tao CLI binding for FFmpeg
apt-get install -y libtaoframework-ffmpeg0.4-cil

#winff - graphical video and audio batch converter using ffmpeg or avconv
apt-get install -y winff

#libxine2-ffmpeg - MPEG-related plugins for libxine2
apt-get install -y libxine2-ffmpeg
| improve this answer | |
  • For Jessie oldstable and older libav-tools refers to tools offered by the fork Libav, not FFmpeg. One of those tools was called "ffmpeg" (now dead and gone upstream) but it's not the ffmpeg from FFmpeg. For newer Debian libav-tools is a transitional package and you can just use the ffmpeg package instead. – llogan Nov 17 '17 at 18:05
-1

This repository gives you the package:

sudo add-apt-repository ppa:mc3man/trusty-media

Then

sudo apt-get update
sudo apt-get install ffmpeg
| improve this answer | |
  • 1
    That's specifically for Ubuntu 14.04. – llogan Jun 24 '16 at 17:45
-1

I see this is a pretty old thread but since I just ran across it I will try to add some clarity. I used a combination of answers already stated to get ffmpeg installed. I edited the /etc/apt/sources.list adding deb http://ftp.uk.debian.org/debian jessie-backports main. Then apt-get update. Then apt-get install ffmpeg.

That worked for me.

| improve this answer | |
  • Welcome to Super User! This is a useful comment, but not really an answer. Once you have enough rep, you'll be able to leave comments on the exsiting answers or question, instead of adding non-answers. – jpaugh Jun 7 '17 at 23:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy