How to replace avconv with (the real) ffmpeg and have it work right?

Updated Answer for Pre-2015 Releases

Because no one is maintaining an all-inclusive ppa like Jon Severinsson's, Rmano's method of using a static build is now easiest. Note updates have to be checked and done manually.

  1. After heading to the official ffmpeg download page, click the link under Linux Static Builds. (The target may change so it's not linked directly here.)
  2. Click the appropriate (32- or 64-bit) and desired (snapshot or numbered) release to download. (Snapshot is recommended.)
  3. If the libav version of ffmpeg was installed, remove it. The two can not reside on the same machine. If libav was not previously installed, skip to 4.

    sudo apt-get remove ffmpeg  
    sudo apt-get purge libav-tools  
    # *Ignore any autoremove message that may appear.*
    
  4. Extract the files (and two directories) as follows:

    • For single-user systems: to $HOME/bin
    • For multi-user setups: to /usr/local/bin

Static build install is done and ffmpeg is ready to use.

To update: Upon checking and finding a newer release, the install folder can be sorted by date and the existing version files quickly identified and deleted. (The timestamps will all be the same as the ffmpeg binary.) The update can then be downloaded and extracted the same as the earlier release.

Should a comprehensive ffmpeg repo re-emerge, it would install as before:

# Replace avconv with the real ffmpeg
#   www.askubuntu.com/a/373509/165265
#
sudo add-apt-repository ppa:<name of ppa here>
sudo apt-get update
sudo apt-get install ffmpeg

With the real ffmpeg returning to 2015 releases and beyond, the need for this work-around will eventually fade away.

Much gratitude to the community for the help.


I have had no problem using the static build provided by the FFmpeg project. There are links in http://ffmpeg.org/download.html

Download the version/build you need (either 32 or 64 bit), then put the executable in your $PATH (for example, ~/bin). If it is placed in ~/bin you can log out then log back in, or just run . ~/.profile, for your shell to recognize that it is in the $PATH. Now you can just enter ffmpeg and the new static build will be used.

For example:

% wget http://johnvansickle.com/ffmpeg/builds/ffmpeg-git-64bit-static.tar.xz
% tar xJvf ffmpeg-git-64bit-static.tar.xz
% cd ffmpeg-git-20150427-32bit-static
% ./ffmpeg
ffmpeg version N-45164-g46778ab- http://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.9.2 (Debian 4.9.2-10)
[...]

Being completely static should have no problem with various Linux versions (to a limit, the kernel should be not too old).