How to Install FFmpeg on AlmaLinux 10

Published: 2026-05-31
Google AdSense 广告位 (待申请通过后开启)

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:

sudo dnf install -y epel-release
sudo crb enable

Add RPM Fusion Repositories

Install both RPM Fusion Free and Nonfree repositories:

sudo dnf install -y \
https://download1.rpmfusion.org/free/el/rpmfusion-free-release-10.noarch.rpm \
https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-10.noarch.rpm

Refresh the repository cache:

sudo dnf clean all
sudo dnf makecache

Install FFmpeg

Install FFmpeg and related development packages:

sudo dnf install -y ffmpeg ffmpeg-devel mpv

Verify the installation:

ffmpeg -version

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:

sudo dnf install -y ffmpeg ffmpeg-devel mpv --allowerasing

Alternatively, remove the conflicting packages manually:

sudo dnf remove ffmpeg-free libswscale-free

Then install FFmpeg again:

sudo dnf install -y ffmpeg ffmpeg-devel mpv

Alternative Installation Method

If the package is not immediately available, try enabling the RPM Fusion updates repository:

sudo dnf --enablerepo=rpmfusion-free-updates install ffmpeg

Verify Codec Support

Check whether common codecs are available:

ffmpeg -codecs

For H.264 support:

ffmpeg -encoders | grep 264

For H.265 support:

ffmpeg -encoders | grep 265

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.

Explore More

Technology Guides →

Southeast Asia Insights →