Why is FFmpeg stuck at version 5.1.6 in Rocky Linux repositories? Can't we get the latest (7.1.1)?

Hi everyone,

I’m running Rocky Linux and recently checked my FFmpeg installation using ffmpeg -version. It shows version 5.1.6, built with GCC 11 and a bunch of enabled features (full output below for reference). However, the latest stable FFmpeg release is 7.1.1, which has significant updates like better codec support, performance improvements, and bug fixes.

I know Rocky Linux is designed for stability and compatibility with RHEL, so older packages make sense for enterprises. But I’m wondering why FFmpeg hasn’t been updated in the official repos, is it due to dependency issues, licensing concerns, backporting policies, or something else? Are there plans to include newer versions in future updates?

In the meantime, what’s the best/safest way to get a more recent FFmpeg on Rocky? Compiling from source? Using third-party repos like RPM Fusion or EPEL? Or is there an official recommendation?

Here’s my current ffmpeg -version output for context:

ffmpeg version 5.1.6 Copyright (c) 2000-2024 the FFmpeg developers
built with gcc 11 (GCC)
configuration: --arch=x86_64 --bindir=/usr/bin --datadir=/usr/share/ffmpeg --disable-static --disable-stripping --enable-amf --enable-avcodec --enable-avdevice --enable-avfilter --enable-avformat --enable-alsa --enable-bzlib --enable-chromaprint --enable-decklink --enable-frei0r --enable-gcrypt --enable-gmp --enable-gpl --enable-gray --enable-iconv --enable-ladspa --enable-libass --enable-libaom --enable-libaribb24 --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdc1394 --enable-libdav1d --enable-libdavs2 --enable-libdrm --enable-libfdk-aac --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libiec61883 --enable-libilbc --enable-libjack --enable-libjxl --enable-libklvanc --enable-libkvazaar --enable-libmodplug --enable-libmp3lame --enable-libmysofa --enable-libndi_newtek --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librav1e --enable-librist --enable-librsvg --enable-librtmp --enable-librubberband --enable-libsmbclient --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtesseract --enable-libtheora --enable-libtwolame --enable-libuavs3d --enable-libv4l2 --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxavs2 --enable-libxcb --enable-libxcb-shape --enable-libxcb-shm --enable-libxcb-xfixes --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-lzma --enable-nonfree --enable-openal --enable-opencl --enable-opengl --enable-openssl --enable-postproc --enable-sdl2 --enable-shared --enable-swresample --enable-swscale --enable-v4l2-m2m --enable-vaapi --enable-vapoursynth --enable-version3 --enable-vdpau --enable-vulkan --enable-xlib --enable-zlib --extra-ldflags='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 ' --incdir=/usr/include --libdir=/usr/lib64 --mandir=/usr/share/man --optflags='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' --prefix=/usr --shlibdir=/usr/lib64 --enable-cuda-nvcc --enable-cuvid --enable-ffnvcodec --enable-libnpp --enable-nvdec --enable-nvenc --extra-cflags=-I/usr/include/cuda --enable-libsvtav1 --enable-libsvthevc --enable-libsvtvp9 --enable-libvmaf --enable-libvpl
libavutil      57. 28.100 / 57. 28.100
libavcodec     59. 37.100 / 59. 37.100
libavformat    59. 27.100 / 59. 27.100
libavdevice    59.  7.100 / 59.  7.100
libavfilter     8. 44.100 /  8. 44.100
libswscale      6.  7.100 /  6.  7.100
libswresample   4.  7.100 /  4.  7.100
libpostproc    56.  6.100 / 56.  6.100

Thanks in advance for any explanations or advice!

Best regards,
Steve

AFAIK, RHEL/Rocky/etc does not have ffmpeg. RPM Fusion does.

Check where you got yours: dnf list ffmpeg
If it says as I suspect – “@rpmfusion-free-updates” – then you have to ask from RPM Fusion.

1 Like

Perhaps use Rocky 10, as rpmfusion has 7.x:

root@rocky10:/home/ian# dnf list *ffmpeg*
Installed Packages
ffmpeg-libs.x86_64                                 7.1.1-1.el10                                  @rpmfusion-free-updates
Available Packages
ffmpeg.x86_64                                      7.1.1-1.el10                                  rpmfusion-free-updates 
ffmpeg-devel.x86_64                                7.1.1-1.el10                                  rpmfusion-free-updates 
ffmpeg-free.x86_64                                 7.1-1.el10_0                                  epel                   
ffmpeg-free-devel.x86_64                           7.1-1.el10_0                                  epel                   
ffmpegthumbs.x86_64                                24.12.3-1.el10_0                              epel                   
vlc-plugin-ffmpeg.x86_64                           1:3.0.21-16.el10_0                            epel

In Rocky 9 it has 5.1.4 from epel or 5.1.6 from rpmfusion. So unless epel or rpmfusion build 7.x for earlier EL releases, then unfortunately you are stuck with that version, or as already mentioned, use Rocky 10 instead which has it.

Sure you can try and build it from source using Fedora source RPM’s and build with mock, but it doesn’t always work due to dependency issues being newer versions than what is available in Rocky 9 for example.

2 Likes

Thanks so much I got it!

The (third-party) repo maintainers do have the same challenge: dependency issues. They build what they can.
Red Hat could have resources to (back)port upstream application to work with RHEL. Quite understandably they do that only for select applications (and ffmpeg is not one of those).


One has to note that the ffmpeg and ffmpeg-free packages do have basically same content; they are mutually exclusive. This is an example of two third-party repos offering same thing for EL. If one does use both repos, then one can occasionally get package conflicts (particularly on dnf up).

If seems like EPEL has started to build some applications that previously RPM Fusion (free) had.

Another note is that while 5.1.6 is clearly possible for el9, the EPEL maintainer has not built it. The third party repos build what they build when they can, unlike RHEL/Rocky that essenitally build their whole repo at a time (aka “point updates”).

I solved all the issues by using ffmpeg on apple silicon mac. I get the latest version through homebrew and I have access to the licensing of apple codecs.