How do I install FFmpeg
on Debian?
9 Answers
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
-
2+10 points. This answer should be up the top, as it's the most current.– MintMay 10, 2015 at 23:58
-
2Sadly, 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.– TinoOct 3, 2015 at 19:43
-
2they have switched back to ffmpeg in sid now: lwn.net/Articles/650495 Oct 29, 2015 at 16:25
-
1Your from-source instructions work on Debian Jessie (from master 4c2244127631da592cb4d6bbdab1d6b050ff98cb). However, the
checkinstall
procedure seems to have changed. I had to runsudo 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 runsudo dpkg -i
. Otherwise fine.– user281318Apr 11, 2016 at 18:35 -
1One should use
apt-get update -oAcquire::AllowInsecureRepositories=true
instead ofsudo apt-get update
otherwise you won't be able to installdeb-multimedia-keyring
when downloading from deb-multimedia.org. You just need this once.– TCB13Jan 17, 2019 at 11:36
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
-
Nice. I'm creating a Docker image, and it's already pretty complex. This method is the cleanest possible. Sep 3, 2016 at 20:10
-
4cheers, 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
Oct 10, 2016 at 23:24
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
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
-
-
You can use
~/bin
or/usr/local/bin
instead of~/src
and not need to mess around with thePATH
. (For~/bin
you will need to re-login or runsource ~/.profile
however).– lloganNov 18, 2017 at 17:59 -
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
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
-
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.– lloganNov 17, 2017 at 18:05
This repository gives you the package:
sudo add-apt-repository ppa:mc3man/trusty-media
Then
sudo apt-get update
sudo apt-get install ffmpeg
-
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.
-
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.– jpaughJun 7, 2017 at 23:18
ffmpeg
on my Raspberry Pi (XBian, Raspbian),but now I see that Debian itself has the issue.