How to Install FFmpeg on AlmaLinux 10
AlmaLinux 10 does not include the full FFmpeg package in its default repositories. Even if EPEL and CRB repositories are enabled, FFmpeg is still unavailable because it is provided by RPM Fusion.
This guide explains how to install the full FFmpeg package on AlmaLinux 10 and resolve common package conflicts.
Prerequisites
Enable the EPEL and CRB repositories first:
Add RPM Fusion Repositories
Install both RPM Fusion Free and Nonfree repositories:
Refresh the repository cache:
Install FFmpeg
Install FFmpeg and related development packages:
Verify the installation:
You should see version information and enabled codecs displayed.
Common Error: Package Conflict
Some AlmaLinux systems may already have the stripped-down FFmpeg packages installed.
Typical conflicting packages include:
text
ffmpeg-free
libswscale-free
These packages conflict with the full FFmpeg build provided by RPM Fusion.
Example error:
package ffmpeg conflicts with ffmpeg-free
package libswscale conflicts with libswscale-free
Fix Package Conflicts
Allow DNF to remove the conflicting packages automatically:
Alternatively, remove the conflicting packages manually:
Then install FFmpeg again:
Alternative Installation Method
If the package is not immediately available, try enabling the RPM Fusion updates repository:
Verify Codec Support
Check whether common codecs are available:
For H.264 support:
For H.265 support:
Conclusion
Installing FFmpeg on AlmaLinux 10 requires RPM Fusion because the package is not included in the default AlmaLinux repositories. If package conflicts occur, removing the existing *ffmpeg-free* packages or using the *--allowerasing* option will usually resolve the issue.
Note this:
ffmpeg-free
libswscale-free
These two cannot coexist; one must be removed.
If you have already installed ffmpeg-free (the stripped-down version provided by EPEL), the full version of ffmpeg in RPM Fusion now conflicts.
sudo dnf install -y ffmpeg ffmpeg-devel mpv --allowerasing
ffmpeg
ffmpeg version 7.1.4 Copyright (c) 2000-2026 the FFmpeg developers
built with gcc 14 (GCC)
configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --docdir=/usr/share/doc/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -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-v3 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer' --extra-ldflags='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' --extra-cflags=' -I/usr/include/rav1e' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --enable-chromaprint --enable-fontconfig --enable-frei0r --enable-gcrypt --enable-gnutls --enable-ladspa --enable-lcms2 --enable-libaom --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libass --enable-libbluray --enable-libbs2b --enable-libcodec2 --enable-libcdio --enable-libdrm --enable-libjack --enable-libjxl --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libilbc --enable-libmp3lame --enable-libmysofa --enable-nvenc --enable-openal --enable-opencl --enable-opengl --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librav1e --enable-librubberband --enable-libqrencode --enable-libsmbclient --enable-version3 --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-version3 --enable-vapoursynth --enable-libvpx --enable-libvvenc --enable-vulkan --enable-libshaderc --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libxml2 --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-avfilter --enable-libmodplug --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-lto --enable-libvpl --enable-runtime-cpudetect
libavutil 59. 39.100 / 59. 39.100
libavcodec 61. 19.101 / 61. 19.101
libavformat 61. 7.102 / 61. 7.102
libavdevice 61. 3.100 / 61. 3.100
libavfilter 10. 5.100 / 10. 5.100
libswscale 8. 3.100 / 8. 3.100
libswresample 5. 3.100 / 5. 3.100
libpostproc 58. 3.100 / 58. 3.100
It's successful at this point.
And it's already enabled:
libx264
libx265
libvpx
libaom
libsvtav1
openh264
nvenc
vulkan
libass
bluray
mp3lame
These are complete codecs.