7

My installation of Debian Jessie is seemingly doing everything it can to prevent me from installing ffmpeg.

I have read How to install FFmpeg on Debian?, but avconv is not an option and adding deb http://www.deb-multimedia.org stable main non-free to my sources.list didn't really help. I did apt-get install libav-tools, thinking it would get rid of ffmpeg's dependency problems.

Here's what trying to install ffmpeg gets me now:

    $ sudo apt-get install ffmpeg
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 ffmpeg : Depends: libavcodec56 (>= 10:2.6.8) but 6:11.6-1~deb8u1 is to be installed
          Depends: libavdevice56 (>= 10:2.6.8) but it is not going to be installed
          Depends: libavfilter5 (>= 10:2.6.8) but 6:11.6-1~deb8u1 is to be installed
          Depends: libavformat56 (>= 10:2.6.8) but 6:11.6-1~deb8u1 is to be installed
          Depends: libavresample2 (>= 10:2.6.8) but 6:11.6-1~deb8u1 is to be installed
          Depends: libavutil54 (>= 10:2.6.8) but 6:11.6-1~deb8u1 is to be installed
          Depends: libpostproc53 (>= 10:2.6.8) but it is not going to be installed
          Depends: libswresample1 (>= 10:2.6.8) but it is not going to be installed
          Depends: libswscale3 (>= 10:2.6.8) but 6:11.6-1~deb8u1 is to be installed
E: Unable to correct problems, you have held broken packages.

What is apt-get trying to tell me and how do I get rid of this problem?

3

Try using aptitude to install it because it will give you possible solutions. Just make sure you look over each one carefully.

sudo aptitude install ffmpeg
24

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
  • 1
    From GAD3R's answer, you might also need: deb http://www.deb-multimedia.org jessie main non-free and apt-get install deb-multimedia-keyring to get over the NO_PUBKEY 5C808C2B65558117 APT error. – Sz. Aug 6 '17 at 20:01
3

Fix broken package

sudo apt-get install -f

Add the following lines to /etc/apt/sources.list

deb http://www.deb-multimedia.org jessie main non-free
deb-src http://www.deb-multimedia.org jessie main non-free

Update:

apt-get update

Add the key

apt-get install deb-multimedia-keyring

update

apt-get update

Remove ffmpeg Debian packge

apt-get remove ffmpeg

As root Install library packages and build tools:

apt-get install build-essential libmp3lame-dev libvorbis-dev libtheora-dev libspeex-dev yasm pkg-config libfaac-dev libopenjpeg-dev libx264-dev

Download the latest ffmpeg from here

wget https://ffmpeg.org/releases/ffmpeg-3.0.2.tar.bz2

Extract it

tar xvjf ffmpeg-3.0.2.tar.bz2

Move into the directory

cd ffmpeg-3.0.2

Configure, build and install:

./configure --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libx264 --enable-libspeex --enable-shared --enable-pthreads --enable-libopenjpeg --enable-libfaac --enable-nonfree
make -j 16
sudo make install
2

Why no one use original debian recommendation ?? It is simple !

Just add

deb http://httpredir.debian.org/debian jessie-backports main non-free
deb-src http://httpredir.debian.org/debian jessie-backports main non-free

to

/etc/apt/sources.list

and run update:

apt-get update && apt-get install ffmpeg && ffmpeg -i

ffmpeg -i
ffmpeg version 2.6.9 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 4.9.2 (Debian 4.9.2-10)
  configuration: --prefix=/usr --extra-cflags='-g -O2 -fstack-protector-strong -Wformat -Werror=format-security ' --extra-ldflags='-Wl,-z,relro' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-libvpx --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-librtmp --enable-avfilter --enable-libfreetype --enable-libvo-aacenc --disable-decoder=amrnb --enable-libvo-amrwbenc --enable-libaacplus --libdir=/usr/lib/x86_64-linux-gnu --disable-vda --enable-libbluray --enable-libcdio --enable-gnutls --enable-frei0r --enable-openssl --enable-libass --enable-libopus --enable-fontconfig --enable-libpulse --disable-mips32r2 --disable-mipsdspr1 --disable-mipsdspr2 --enable-libvidstab --enable-libzvbi --enable-avresample --disable-htmlpages --disable-podpages --enable-libutvideo --enable-libfdk-aac --enable-libx265 --enable-libiec61883 --enable-vaapi --enable-libdc1394 --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu
  libavutil      54. 20.100 / 54. 20.100
  libavcodec     56. 26.100 / 56. 26.100
  libavformat    56. 25.101 / 56. 25.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 11.102 /  5. 11.102
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
  • 1
    This is a duplicate of other answers. – fixer1234 Nov 3 '16 at 14:48
  • it doesn't work for Debian GNU/Linux 8 (jessie) PRETTY_NAME="Debian GNU/Linux 8 (jessie)" NAME="Debian GNU/Linux" VERSION_ID="8" VERSION="8 (jessie)" – yuklia Feb 13 '18 at 17:25
1

A simple option is to download an already compiled executable of ffmpeg.

Once you download and extract it you have several options to run it:

  • Navigate to the directory containing the executable and run ./ffmpeg -i ... (note the ./ prefix).

  • Provide the full path to the executable, such as /home/user/Downloads/ffmpeg -i ...

  • Place it somewhere in your PATH, such as ~/bin. Then run source ~/.profile or simply log out then log in. Now you can just run the ffmpeg command from anywhere without needing to use the two previous methods.

The downloadable executable is compiled daily and is always more up-to-date the what is available in the repository.

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.