However, when I try to install ffmpeg via sudo dnf install ffmpeg I get this error:
Error:
Problem: package ffmpeg-6.0.1-3.fc39.x86_64 from rpmfusion-free-updates requires ffmpeg-libs(x86-64) = 6.0.1-3.fc39, but none of the providers can be installed
- conflicting requests
- nothing provides libx264.so.164()(64bit) needed by ffmpeg-libs-6.0.1-3.fc39.x86_64 from rpmfusion-free-updates
- nothing provides libx265.so.199()(64bit) needed by ffmpeg-libs-6.0.1-3.fc39.x86_64 from rpmfusion-free-updates
(try to add '--skip-broken' to skip uninstallable packages)
What could be the cause of this? Thank you in advance.
Hi, Fedora Linux comes with free codec that conflicts with ffmpeg-libs. You have two options: You can install ffmpeg-free and libavcodec-freeworld using sudo dnf install ffmpeg-free libavcodec-freeworld, or you can replace the free codec with ffmpeg by using sudo dnf install ffmpeg --allowerasing.
However, I’m confused about the error message you’re encountering. Typically, you should see an error like this:
Error:
Problem: problem with installed package libswscale-free-6.0-11.fc39.x86_64
- package ffmpeg-libs-6.0-16.fc39.x86_64 from rpmfusion-free conflicts with libswscale-free provided by libswscale-free-6.0-11.fc39.x86_64 from @System
- package ffmpeg-libs-6.0-16.fc39.x86_64 from rpmfusion-free conflicts with libswscale-free provided by libswscale-free-6.0-11.fc39.x86_64 from fedora
- package ffmpeg-libs-6.0-16.fc39.x86_64 from rpmfusion-free conflicts with libswscale-free provided by libswscale-free-6.0.1-2.fc39.x86_64 from updates
- package ffmpeg-6.0-16.fc39.x86_64 from rpmfusion-free requires ffmpeg-libs(x86-64) = 6.0-16.fc39, but none of the providers can be installed
- conflicting requests
- package ffmpeg-6.0.1-3.fc39.x86_64 from rpmfusion-free-updates requires ffmpeg-libs(x86-64) = 6.0.1-3.fc39, but none of the providers can be installed
- package ffmpeg-libs-6.0.1-3.fc39.x86_64 from rpmfusion-free-updates conflicts with libswscale-free provided by libswscale-free-6.0-11.fc39.x86_64 from @System
- package ffmpeg-libs-6.0.1-3.fc39.x86_64 from rpmfusion-free-updates conflicts with libswscale-free provided by libswscale-free-6.0-11.fc39.x86_64 from fedora
- package ffmpeg-libs-6.0.1-3.fc39.x86_64 from rpmfusion-free-updates conflicts with libswscale-free provided by libswscale-free-6.0.1-2.fc39.x86_64 from updates
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages)
This probably comes from not having the fedora-cisco-openh264 repo enabled.
Is that not one of the repos that is enabled when a user enables the 3rd party repos during first boot but is disabled by default?
To check the status of that repo one could use dnf repolist to list the enabled repos or dnf repolist all to show the status of all repos that are installed.
A simple way to enable that repo if it is currently disabled would be to use the command sudo dnf config-manager --enable fedora-cisco-openh264
It appears that disabling the fedora-cisco-openh264 repository leads to this error, which I can confirm by reproducing the error after disabling it.
fedora-cisco-openh264 is always enabled by default, even if users opt out of enabling third-party repositories during setup. Testing on a virtual machine indicates that opting out only affects PyCharm, Google Chrome, Nvidia drivers, Steam, and Flathub.
Please ensure the fedora-cisco-openh264 repository is enabled before installing related codecs. You can also enable it from software center → software repositories.
You might have a previous (broken) installation of the rpmfusion repository or you might have disabled the rpmfusion-free repository where x264/x265 packages are provided (along rpmfusion-free-updates).
The fedora openh264 repository is also mandatory to provide the openh264 library but isn’t related to libx264/libx265 at all.
It seems that only -updates repos were installed somehow; however most likely it was I who removed non-updates files from yum.repos.d and forgot.
I managed to resolve the issue by removing trailing repos via sudo yum remove rpmfusion-free-release rpmfusion-nonfree-release and installing them again. Then I installed ffmpeg by running sudo dnf swap ffmpeg-free ffmpeg --allowerasing. Thanks again everyone
I installed the RPM Fusion Free and the /etc/yum.repos.d/rpmfusion-free.repo was disabled by default.
To fix, use sudo nano /etc/yum.repos.d/rpmfusion-free.repo and change the “enabled=0” to “enabled=1” then press ctrl+s to save and crtl+x to exit.
I would guess this may be related to how you installed those repo packages.
When installing them following the instructions at rpmfusion they have always been enabled by default for me.