Why does the Synaptic Package Manager not show the latest versions?
From Ubuntu Wiki – Stable Release Updates:
Once an Ubuntu release has been completed and published, updates for it are only released under certain circumstances, and must follow a special procedure called a "stable release update" or SRU.
This means that packages are often not kept up-to-date with active upstream sources.
Can I do something to fix it?
You can compile and install your own recent version of ffmpeg and its libraries by following a step-by-step guide: Compile FFmpeg on Ubuntu, Debian, or Mint. This guide performs a local installation, so it will not interfere with repository packages or system files, but if you are compiling something that depends on the new libraries you may have to tell it where your new ffmpeg libraries are located.
If you are compiling many programs, or need several more recent packages than what is provided, then Ubuntu may not be the most efficient distro for you in the long run.
How can I find the version of the libraries that are already installed on my system?
The major version is present in the package name, such as libavcodec53
.
I am trying to delete the older version ENTIRELY and again install the new libraries from source.
If you want to perform a system installation that replaces the ffmpeg or libav-tools package and/or libraries then you can simply remove the existing packages, then compile ffmpeg, then install to system with checkinstall
or some other method. See this old version of the previously mentioned guide that does all of that, but be aware that it is outdated and at the very least you may have to add --extra-libs=-ldl
to your ffmpeg configure line.
If you want to perform a local installation then follow the current version of the compile guide.
Misleading package names
You should be aware that the so-called "ffmpeg" from the repository is not actually from FFmpeg, but from a fork called libav. See Who can tell me the difference and relation between ffmpeg, libav, and avconv?
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.
- 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.)
- Click the appropriate (32- or 64-bit) and
desired (snapshot or numbered) release to download. (Snapshot is recommended.)
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.*
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.
Best Answer
You can perform a system installation. This was the previous method used by the Compile FFmpeg on Ubuntu Guide that you refered to, but it was changed to perform a "local" install so it does not interfere with packages from the repository that depend on the old, so-called "ffmpeg" package from the repository (for more on that see Who can tell me the difference and relation between ffmpeg, libav, and avconv?).
You can still perform a system install if you prefer. You can follow the guide as is, but you will have to make some modifications.
0. Remove the conflicting packages
Before you start, and because you want to install to the system, you have the additional step of removing any packages that will conflict with your new ffmpeg.
1. Follow the guide until...
When you get to the ffmpeg configure step you will need to make a few changes:
--prefix="$HOME/ffmpeg_build"
--bindir="$HOME/bin"
Resulting in:
Now run
make
as shown in the guide.2.
checkinstall
Instead of issuing
make install
for ffmpeg to install locally, you will usecheckinstall
to install to the system.checkinstall
will keep track of the installed files so you can easily remove them later with your package management system.3. Done
Now you can use your system-wide ffmpeg. Note that it now says
FFmpeg developers
. If it mentionslibav
then something went wrong and you're using the version from the repository.4. Undo
If you want to uninstall simply run:
Using
$PATH
Alternatively you could install ffmpeg anywhere you want (including being lazy and using an already compiled ffmpeg binary) and modify the
$PATH
for any or all users, but that's beyond this answer. See How to add a directory to my path? for more info.