Multimedia on Fedora
Once RPM Fusion is configured (see https://rpmfusion.org/Configuration)
Switch to full ffmpeg
Fedora ffmpeg-free works most of the time, but one will experience version missmatch from time to time. Switch to the rpmfusion provided ffmpeg build that is better supported. You will still need to follow the next section for additional codecs or plugins related to packages you might have installed.
sudo dnf swap ffmpeg-free ffmpeg --allowerasing
There you don't need libavcodec-freeworld that is only meant to complement the ffmpeg-free package (and related libraries).
Install additional codec
This will allows the application using the gstreamer framework and other multimedia software, to play others restricted codecs:
The following command will install the complements multimedia packages needed by gstreamer enabled applications:
sudo dnf groupupdate multimedia --setop="install_weak_deps=False" --exclude=PackageKit-gstreamer-plugin
The following command will install the sound-and-video complement packages needed by some applications:
sudo dnf groupupdate sound-and-video
Hardware Accelerated Codec
# Using the rpmfusion-nonfree section
sudo dnf install intel-media-driver
# Using the rpmfusion-free section
sudo dnf install libva-intel-driver
Hardware codecs with AMD (mesa)
# Using the rpmfusion-free section This is needed since Fedora 37 and later... and mainly concern AMD hardware since NVIDIA hardware with nouveau doesn't work well
sudo dnf swap mesa-va-drivers mesa-va-drivers-freeworld sudo dnf swap mesa-vdpau-drivers mesa-vdpau-drivers-freeworld
If using i686 compat libraries (for steam or alikes):
sudo dnf swap mesa-va-drivers.i686 mesa-va-drivers-freeworld.i686 sudo dnf swap mesa-vdpau-drivers.i686 mesa-vdpau-drivers-freeworld.i686
Hardware codecs with NVIDIA
The Nvidia proprieatary driver doesn't support VAAPI, but there is a wrapper that can bridge NVDEC/NVENC with VAAPI
sudo dnf install nvidia-vaapi-driver
Play a DVD
You need to have the libdvdcss package, to install libdvdcss you need enable tainted repos.
Tainted free is dedicated for FLOSS packages where some usages might be restricted in some countries.
sudo dnf install rpmfusion-free-release-tainted sudo dnf install libdvdcss
Tainted nonfree is dedicated to non-FLOSS packages without a clear redistribution status by the copyright holder. But is allowed as part of hardware inter-operability between operating systems in some countries :
sudo dnf install rpmfusion-nonfree-release-tainted sudo dnf --repo=rpmfusion-nonfree-tainted install "*-firmware"