Sysadmin: How to install latest ffmpeg on Centos

Ffmpeg_new_logo
I had a request to install latest ffmpeg on one of our Cnetos 5 servers the other day. Since I’m trying to stick the the proper package management I’ve had to look for the most recent ffmpeg RPM package on the pkgs.org site. As in most cases the search pointed me towards atrpms.net repository. Pkgs.org contains pretty detailed instruction on how to add the repository that contains the package you require but unfortunately it was not all that straightforward with atrpms.net

  • First step is to add atrpms siging GPG key and repository package to the system

    since it’s 32-bit OS.

  • Since atrpms is pretty dangerous repository – it might try to replace some of your base OS packages with less compatible versions I would recommend to disable this repository by default (edit the file /etc/yum.repos.d/atrpms.repo and in the [atrpms] section set enabled=0
  • Next step we will just try to install ffmpeg package from this repository

    And there where it gets “interesting”.

  • the challenge is that ffmpeg depends on libtheoraenc1 and libtheoradec1 packages that are not in atrpms (stable) repository but in atrpms-testing, that does not have section in repository file along with libogg0 and libvorbis0 and libvorbisenc2 from the same atrpms-testing (what is the logic behind stable package being dependent on testing packages is totally beyond me) that is also conflicting with the base repository libogg and libvorbis packages, so in order to get ffmpeg installed we need to go through some preliminary steps
  • First we have to add atrpms-testing section in atrpms.repo file (also disabled by default). Now /etc/yum.repos.d/atrpms.repo will look like this

    Section [atrpms-testing] was added manually.

  • after that, to satisfy the prerequisites

    In order to avoid the conflict with the base repository packages we will have to add some exclude configuration to the yum.conf file

  • And now to the main event:

Enjoy your new ffmpeg

Share Button
  1. Kevin J Walters

    Useful blog post, just saved me some time working out what’s going on and the tip for enabled=0 as a default for atrpms and friends is a sensible one.

Leave a Comment

NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">