305

I tried to install ffmpeg in trusty/Ubuntu 14.04 and got the following message:

$sudo apt-get install ffmpeg

Reading package lists... Done
Building dependency tree       
Reading state information... Done
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

Why isn't the package available?

Braiam
  • 69,112
user254877
  • 3,061

10 Answers10

263

Latest news


FFmpeg and libav

libav from the Ubuntu repositories

Ubuntu started shipping the libav fork instead of FFmpeg in recent releases. If you installed the ffmpeg package, then you actually installed the libav-tools package and a program that told you to use avconv instead of ffmpeg in the future, giving the impression that ffmpeg is deprecated, which it is not.

The transitional ffmpeg package seems to have been removed from trusty/Ubuntu 14.04 (compare the package files listing for saucy and trusty of the source package).

So one option is to install the libav-tools package and use avconv instead (NB that this is not "mainline" FFmpeg but a prominent fork instead).

FFmpeg from a PPA on Launchpad

Another option is to use a PPA that provides FFmpeg. Please have a look at the FFmpeg download page for details of available PPAs and packages. You should check individual PPAs every once in a while if they are still up to date.

Related questions:

Install from source

Another option is to install FFmpeg dependency packages, then manually compile+install it from source.

Use static builds

While it may look a bit awkward from the packaging perspective, you could also use any static build from trusted sources. In my case I keep FFmpeg Windows 32-Bit and 64-Bit binaries along with x264-10-Bit binaries in a folder to run them in Wine or Windows whenever I need to.


The following is what I could find, when researching this topic. I haven't been following the development of both projects closely and it is not my intention to blame anyone. You as a reader shouldn't do either.

How did the fork happen?

Wikipedia states that the forked project as well as the initial release were announced on March 13th 2011, however there is a bit more that was going on.

Digging through Git commits

Official announcements on libav.org

The following posts are from the news section (with the oldest in last):

August 09 2011

Updated on 12.09.2011.

For consistency with our new name we have renamed ffplay to avplay, ffserver to avserver and ffprobe to avprobe. Their behavior is the same, just the names were changed.

With ffmpeg (the command line tool) we decided to use this opportunity to fix some longstanding usability problems, which involves breaking compatibility. Therefore we have added a new tool named avconv which is based on ffmpeg, but has a different (hopefully more powerful and easier to use) syntax for some options. ffmpeg will be kept in its current state for some time, so no scripts or frontends using it will break. However it will not be developed further.

Differences between avconv and ffmpeg are:

[...]

Note that the avconv interface is not considered stable yet. More incompatible changes may come in the following weeks. We will announce here when avconv is stable.

And earlier in 2011:

Mar 18, 2011

We have just pushed another point release from our 0.6 release branch: Libav 0.6.2. This is another maintenance-only release addressing two security issues.

From now on, we will be using our new project name libav. But don't worry, compared to the preceding release 0.6.1, the only functional changes are the two security fixes for the VC1 and APE decoders. This means that libav provides a painless drop-in replacement for existing FFmpeg installations.

Moreover, we are proud to accompany this source release with executables and libraries for the win32 platform. These binaries include H.264 encoding using the bundled x264 library. Enjoy!

Distributors and system integrators are encouraged to update and share their patches against our release branches.

Mar 17, 2011

We have just pushed another point release from our 0.5 release branch: FFmpeg 0.5.4. This is another maintenance-only release that addresses a number of security issues.

Distributors and system integrators are encouraged to update and share their patches against our release branches.

March 13, 2011

We, as a group of FFmpeg developers, have decided to continue developing FFmpeg under the name Libav. All existing infrastructure will be transferred to the libav.org domain.

You can update your git repository using the following command:

git remote set-url origin 'git://git.libav.org/libav'

For now we are still reachable over FFmpeg's mailing lists and IRC channels but we will migrate to libav.org counterparts. For a transition period both the website and source might still contain references to FFmpeg. These will disappear over time, except where historically relevant.

February 24, 2011

FFmpeg development has moved to Git, and the SVN repository is no longer updated. The SVN repository may be removed in a near future, so you're recommended to use a Git repository instead.

The last revision committed to SVN was r26402 on 2011-01-19 and replaced the svn:external libswscale with a standalone copy.

Note that FFmpeg development has in fact moved to a Git repository by now and that there are two Git repositories. See the corresponding projects download page.

LiveWireBT
  • 29,597
118

ffmpeg was replaced in previous releases by the avconv program from the libav project.

To install avconv you need to install the libav-tools package:

sudo apt-get install libav-tools

avconv is very similar to ffmpeg, but they also have some differences in syntax.

Edit: It seems Ubuntu 16.04LTS has again ffmpeg in their repositories, so libav-tools is a dummy package and only creates an alias avconv -> ffmpeg (and others)

Rutrus
  • 1,501
50

ffmpeg had removed repo of Ubuntu, instead of libav. you should add ppa:

sudo add-apt-repository ppa:mc3man/trusty-media
sudo apt-get update
sudo apt-get install ffmpeg gstreamer0.10-ffmpeg

watch your output

Duong
  • 509
44

You can also use this PPA: ppa:jon-severinsson/ffmpeg

Edit: This ppa has been deleted from Launchpad, I don't know why. Instead of it, you can use the samrog131 PPA (for Trusty, Utopic & Vivid)

sudo add-apt-repository ppa:samrog131/ppa
sudo apt-get update
sudo apt-get install ffmpeg-set-alternatives

The PPA also contains other packages that you may not want. Remove the ppa after installation.

sudo add-apt-repository --remove ppa:samrog131/ppa
sudo apt-get update
Guillaume
  • 2,151
8

FFMPEG package was removed since some time now from Debian repositories. There's still an ongoing debate about including the package again in the repositories. Ubuntu as Debian derivative, depends of the decitions made upstream. Since long ago, the package was just empty with an dependency to libav. This was changed in 12 May 2012 when the package was dropped and removed from the archives:

libav (6:0.8.99-1537-gacb2c79-1) experimental; urgency=low

  * New upstream snapshot
    - Drop patches applied upstream
    - Longer build libpostproc, dropped upstream
    - follow soname bump of libavcodec and libavformat 53->54
    - New library: libswresample
  * no longer build and use dirac, removed upstream in favor of libschroedinger
  * remove deprecated ffmpeg package
  * bump shlibs version

 -- Reinhard Tartler <siretart@tauware.de>  Sat, 12 May 2012 22:02:03 +0200
Braiam
  • 69,112
4

I had the same error when trying to run

sudo apt-get install ffmpeg

So I combined a few other answers, as well as the content from this site, to obtain the following recipe that worked for me:

sudo apt-get install ppa-purge
sudo ppa-purge ppa:mc3man/trusty-media  # ignore warning if not found
sudo add-apt-repository ppa:mc3man/trusty-media
sudo apt-get update
sudo apt-get dist-upgrade

sudo apt-get install ffmpeg

Now I can see that ffmpeg has been installed:

sudo find / -type f -name "ffmpeg"

returns /opt/ffmpeg/bin/ffmpeg

From the bash prompt, the command ffmpeg should now work from any folder.

larryy
  • 103
1

If you want to install ffmpeg 2.2.1 (from source) in Ubuntu 14.04, you can give it a try using the following options:

For 64-bit OS:

List of Dependencies:

yasm frei0r-plugins-dev gnutls-bin libgnutls-dev libass-dev libgsm1-dev libmp3lame-dev libopencv-dev libopenjpeg-dev libopus-dev libpulse-dev libschroedinger-dev libsoxr-dev libspeex-dev libtheora-dev libv4l-dev libvorbis-dev libvpx-dev libx264-dev libxvidcore-dev libopenal-dev libcdio-paranoia-dev

Compilation options:

./configure --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib/x86_64-linux-gnu/  --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' --enable-bzlib --disable-crystalhd --enable-frei0r --enable-gnutls --enable-libass --enable-libcdio --enable-libdc1394 --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopencv --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib/x86_64-linux-gnu/ --enable-runtime-cpudetect

For a 32 bit OS:

List of Dependencies:

yasm frei0r-plugins-dev gnutls-bin libgnutls-dev libass-dev libgsm1-dev libmp3lame-dev libopencv-dev libopenjpeg-dev libopus-dev libpulse-dev libschroedinger-dev libsoxr-dev libspeex-dev libtheora-dev libv4l-dev libvorbis-dev libvpx-dev libx264-dev libxvidcore-dev libopenal-dev libcdio-paranoia-dev libopencore-amrwb-dev libopencore-amrnb-dev

Compilation options:

./configure --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --mandir=/usr/share/man --enable-runtime-cpudetect --enable-gpl --enable-version3 --enable-postproc --enable-avfilter --enable-pthreads --enable-x11grab --enable-vdpau --disable-avisynth --enable-frei0r --enable-libdc1394 --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -grecord-gcc-switches -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables' --disable-stripping  

For more information see my youtube video.

Seth
  • 59,332
Nehal J Wani
  • 463
  • 3
  • 13
0

If you want the latest release fresh off github which satisfies the likes of errors generated from youtube-dl

ERROR: ffprobe or avprobe not found. Please install one.

then issue these cmds :

sudo apt-get build-dep ffmpeg

git clone https://github.com/FFmpeg/FFmpeg.git

cd FFmpeg

./configure   --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --enable-shared --disable-stripping --enable-avresample --enable-avisynth --enable-frei0r --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-openal --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libxvid --enable-libzvbi --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-libssh --enable-libsoxr --enable-libx264 --enable-libopencv --enable-libx265

make -j8
sudo make install

enjoy,

-1

First install avconv:

$ sudo apt-get install libav-tools

Then create a soft link to avconv named ffmpeg:

$ sudo ln -s /usr/bin/avconv /usr/bin/ffmpeg

Now you can use ffmpeg normally.

-1

I was spent 2 weeks to install newest version ffmpeg 2.8.11. This version is used for Ubuntu 16.04. I advise you should install this version. I tested on Ubuntu 12.04 and Ubuntu 14.04 and it worked well. You can install libav-tools like directions above but you will have a problem about compatibility. Because libav-tools and ffmpeg now was developed by two different group. Following my directions. If you have any problem can sent me via an email: hohaidang.khtn@gmail.com

$ sudo apt-get update
$ sudo apt-get -y install build-essential checkinstall git libfaac-dev libgpac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev librtmp-dev libtheora-dev libvorbis-dev pkg-config texi2html yasm zlib1g-dev  libavcodec-extra-53
$ sudo apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo zlib1g-dev
$ sudo apt-get install libdc1394-22 libdc1394-22-dev libgsm1 libgsm1-dev libopenjpeg-dev libschroedinger-1.0-0 libschroedinger-dev libschroedinger-doc libspeex-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev libvorbis-dev libx11-dev libxfixes-dev libxvidcore-dev libx264-dev
$ wget https://www.ffmpeg.org/releases/ffmpeg-2.8.11.tar.xz
$ tar xf ffmpeg-2.8.11.tar.xz
$ cd ffmpeg-2.8.11/
./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-x11grab --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libdc1394 --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --disable-yasm // disable yasm if you are using Ubuntu 12.04, if not --enable-yasm
$ make
$ sudo make install

Check ffmpeg, ffserver, ffplay, ffprobe in terminal. Good luck

Dang_Ho
  • 127