Had to uninstall ffmpeg in order to update, can't reinstall it anymore and Firefox can't load videos since

Hi.

I tried a while ago to update using rpm-ostree as usual, but was met with this error:

error: Impossible de depsolve la transaction ; 1 problème détecté :
 Problème : requêtes conflictuelles
  - le paquet ffmpeg-5.0.2-1.fc36.x86_64 nécessite ffmpeg-libs(x86-64) = 5.0.2-1.fc36, mais aucun fournisseur ne peut être installé
  - le paquet ffmpeg-5.0.1-3.fc36.x86_64 nécessite ffmpeg-libs(x86-64) = 5.0.1-3.fc36, mais aucun fournisseur ne peut être installé
  - le paquet ffmpeg-libs-5.0.2-1.fc36.x86_64 est en conflit avec libavcodec-free fourni par libavcodec-free-5.0.2-1.fc36.x86_64
  - le paquet ffmpeg-libs-5.0.1-3.fc36.x86_64 est en conflit avec libavcodec-free fourni par libavcodec-free-5.0.2-1.fc36.x86_64

(sorry my config is in French, it basically says that ffmpeg-libs packages are conflicting with libavcodec-free).

One friend of mine recently told me that I could uninstall ffmpeg, do the upgrade, and then reinstall ffmpeg afterwards; I did the first two steps but however whenever I try to reinstall ffmpeg I get the exact same error.
Is there a way to fix that or have a workaround? I can’t watch any stream or video through firefox anywhere but on Youtube anymore, and I think this might be the cause.
I tried installing ffmpeg-free instead but this doesn’t solve that issue with Firefox. I also tried using a flatpak-installed Firefox but I get the same problem.

I considered upgrading to Fedora 37 kinoite but I run into another issue if I try to rebase, although I would probably make another topic regarding that one since I have absolutely no clue if it would solve anything and I would like to keep the focus on one issue at once. That said please tell me if rebasing would actually be a good idea.

Actually you need to install libavcodec-free.

The libraries provided by ffmpeg -lib is a more complete version than the ones from libavcodec-free. There is also a ffmpeg-free package which is a crippled version of ffmpeg.

Okay so I tried that, installing libavcodec-free returns that it’s already provided by libavcodec-free-5.0.2-1.fc36.x86_64 but I can add it as an inactive request, which I did, but it does not solve any of my issues.

Also as I stated in my post, I already have installed ffmpeg-freeinstead, but it doesn’t solve my issue regarding Firefox not decoding videos.

Maybe you can try to install additional codecs

https://rpmfusion.org/Howto/Multimedia

sudo dnf groupupdate multimedia --setop="install_weak_deps=False" --exclude=PackageKit-gstreamer-plugin
sudo dnf groupupdate sound-and-video

And finally enable codec support in Firefox via extension ?

Sorry, libavcodec-free needs to be removed, as it conflicts with ffmpeg and ffmpeg-libs.

ffmpeg-free should be removed as well. If you run dnf install ffmpeg --allowerasing it should remove the crippled version of ffmpeg.

Sorry for the mistake in my reply yesterday.

thanks for the answers, although I should specify I’m using Fedora 36 Kinoite, which is an OSTree system that doesn’t use dnf but rpm-ostree instead with different options. I’m trying to find alternatives to your suggestions but i got nothing working so far.

The default installed packages are ffmpeg-free and libavcodec-free.

You should be able to run the rpm-ostree commands to install & enable the rpmfusion-nonfree and rpmfusion-free repos, then run the commands to swap out ffmpeg-free and install ffmpeg, which also will pull in the libavcodec package needed there.

rpm-ostree would layer the packages so the ones from rpmfusion would be the active packages.

Yes, I already have the rpmfusion-nonfree and rpmfusion-free repos enabled since the begining, I already removed ffmpeg-free but to no change. In fact, I had ffmpeg (the full one) installed before as a layered package, but as I said it had the same conflict with the libavcodec-free library during the latest update so I uninstalled it before updating.

To be honest, I’m really considering just reinstalling Fedora from a live USB, since I also cannot rebase it to Fedora 37 Kinoite as it have an issue with the librtmp library when I try doing it.

That is why libavcodec-free should be removed and the package ffmpeg-libs will provide the full versions of this library. The word “free” here means stuff was removed so it could be distributed directly be Fedora.

I tried that beforehand but all I get is:

error: Package/capability 'libavcodec-free' is not currently requested

Update: finally managed to rebase on Fedora 37 Kinoite, still have the same issue but with the fc37 packages of libavcodec-free, tried rpm-ostree override remove libavcodec-free-5.1.2-1.fc37.x86_64, and got met with:

 Problème : le paquet libchromaprint-1.5.1-5.fc37.x86_64 nécessite libavcodec.so.59()(64bit), mais aucun fournisseur ne peut être installé
  - le paquet libchromaprint-1.5.1-5.fc37.x86_64 nécessite libavcodec.so.59(LIBAVCODEC_59)(64bit), mais aucun fournisseur ne peut être installé
  - requêtes conflictuelles

It seems that libchromaprint prevents me from actually remove libavcodec-free, so where should I go from there?

I have the same problem. I am using Kinoite 37.

> rpm-ostree status                       
State: idle
Deployments:
● fedora:fedora/37/x86_64/kinoite
                  Version: 37.20221213.0 (2022-12-13T00:52:17Z)
               BaseCommit: d24883455e6e60ae93bf952d49f0e4bc8543fef72d96aaa6b22db44a3040f582
             GPGSignature: Valid signature by ACB5EE4E831C74BB7C168D27F55AD3FB5323552A
          LayeredPackages: akmod-nvidia distrobox xorg-x11-drv-nvidia-cuda
            LocalPackages: rpmfusion-free-release-37-1.noarch rpmfusion-nonfree-release-37-1.noarch

Now I can’t install ffmpegthumbs so that I get video thumbnails in dolphin. I get same error. Any solution?

rpm-ostree install --reboot ffmpegthumbs
Checking out tree d248834... done
Enabled rpm-md repositories: fedora-cisco-openh264 fedora-modular updates-modular updates fedora rpmfusion-free-updates rpmfusion-free rpmfusion-nonfree-updates rpmfusion-nonfree phracek-PyCharm google-chrome rpmfusion-nonfree-steam rpmfusion-nonfree-nvidia-driver updates-archive
Importing rpm-md... done
rpm-md repo 'fedora-cisco-openh264' (cached); generated: 2022-10-06T11:01:40Z solvables: 4
rpm-md repo 'fedora-modular' (cached); generated: 2022-11-10T09:23:24Z solvables: 1454
rpm-md repo 'updates-modular' (cached); generated: 2022-12-09T00:53:59Z solvables: 1457
rpm-md repo 'updates' (cached); generated: 2022-12-13T01:15:45Z solvables: 12749
rpm-md repo 'fedora' (cached); generated: 2022-11-10T09:30:00Z solvables: 66822
rpm-md repo 'rpmfusion-free-updates' (cached); generated: 2022-12-11T22:25:24Z solvables: 124
rpm-md repo 'rpmfusion-free' (cached); generated: 2022-11-11T16:54:42Z solvables: 496
rpm-md repo 'rpmfusion-nonfree-updates' (cached); generated: 2022-12-11T22:46:30Z solvables: 24
rpm-md repo 'rpmfusion-nonfree' (cached); generated: 2022-11-11T17:25:12Z solvables: 218
rpm-md repo 'phracek-PyCharm' (cached); generated: 2022-12-03T10:18:38Z solvables: 5
rpm-md repo 'google-chrome' (cached); generated: 2022-12-09T14:15:24Z solvables: 3
rpm-md repo 'rpmfusion-nonfree-steam' (cached); generated: 2022-08-24T16:15:54Z solvables: 2
rpm-md repo 'rpmfusion-nonfree-nvidia-driver' (cached); generated: 2022-12-06T18:55:13Z solvables: 30
rpm-md repo 'updates-archive' (cached); generated: 2022-12-13T01:39:38Z solvables: 11704
Resolving dependencies... done
error: Could not depsolve transaction; 1 problem detected:
 Problem: conflicting requests
  - package ffmpegthumbs-22.08.3-1.fc37.x86_64 requires ffmpeg-libs, but none of the providers can be installed
  - package ffmpegthumbs-22.08.1-1.fc37.x86_64 requires ffmpeg-libs, but none of the providers can be installed
  - package ffmpeg-libs-5.1.2-3.fc37.i686 conflicts with libavcodec-free provided by libavcodec-free-5.1.2-1.fc37.x86_64
  - package ffmpeg-libs-5.1.2-3.fc37.x86_64 conflicts with libavcodec-free provided by libavcodec-free-5.1.2-1.fc37.x86_64

Okay so I found a workaround regarding Firefox, a friend recommended me to just install the Flathub version of Firefox which works fine regardless of weither ffmpeg is installed. I had to do a few tries, but just make sure to reboot after installing it and specifically launch this one through the installer so it doesn’t start the OS issued Firefox until you pin it properly to the task manager or set whatever shortcut you use to start Firefox.

This was p-much the main issue with ffmpeg not installing, idk if I should mark this as the solution as the initial problem isn’t solved but the workaround is effective.

Does rpm-ostree override remove libavcodec-free --install ffmpeg-libs
work?

it didn’t work for me.

rpm-ostree override remove libavcodec-free --install ffmpeg-libs
Checking out tree 0154fbc... done
Enabled rpm-md repositories: fedora-cisco-openh264 fedora-modular updates-modular updates fedora rpmfusion-free-updates rpmfusion-free rpmfusion-nonfree-updates rpmfusion-nonfree updates-archive
Importing rpm-md... done
rpm-md repo 'fedora-cisco-openh264' (cached); generated: 2022-10-06T11:01:40Z solvables: 4
rpm-md repo 'fedora-modular' (cached); generated: 2022-11-10T09:23:24Z solvables: 1454
rpm-md repo 'updates-modular' (cached); generated: 2022-12-16T02:40:45Z solvables: 1460
rpm-md repo 'updates' (cached); generated: 2022-12-25T01:02:32Z solvables: 14350
rpm-md repo 'fedora' (cached); generated: 2022-11-10T09:30:00Z solvables: 66822
rpm-md repo 'rpmfusion-free-updates' (cached); generated: 2022-12-20T22:27:18Z solvables: 133
rpm-md repo 'rpmfusion-free' (cached); generated: 2022-11-11T16:54:42Z solvables: 496
rpm-md repo 'rpmfusion-nonfree-updates' (cached); generated: 2022-12-20T22:47:30Z solvables: 41
rpm-md repo 'rpmfusion-nonfree' (cached); generated: 2022-11-11T17:25:12Z solvables: 218
rpm-md repo 'updates-archive' (cached); generated: 2022-12-26T01:14:13Z solvables: 14397
Resolving dependencies... done
error: Could not depsolve transaction; 2 problems detected:
 Problem 1: package libavformat-free-5.1.2-1.fc37.x86_64 requires libavcodec-free(x86-64) = 5.1.2-1.fc37, but none of the providers can be installed
  - conflicting requests
 Problem 2: conflicting requests
  - package ffmpeg-libs-5.1.2-3.fc37.i686 conflicts with libavutil-free provided by libavutil-free-5.1.2-1.fc37.x86_64
  - package ffmpeg-libs-5.1.2-3.fc37.x86_64 conflicts with libavutil-free provided by libavutil-free-5.1.2-1.fc37.x86_64

That indicates you should remove the libavutil-free and libavcodec-free packages (and possibly libavformat-free) that seem installed by fedora to allow ffmpeg to install the needed libraries for ffmpeg.

These type conflicts seem generated by fedora choosing to provide ffmpeg-free and supporting libraries that are all modified to remove the restricted codecs fedora is not allowed to distribute.

I can’t remove those packages. Any solution?

rpm-ostree override remove libavutil-free libavformat-free
Checking out tree d6b56fa... done
Resolving dependencies... done
error: Could not depsolve transaction; 2 problems detected:
 Problem 1: package kpipewire-5.26.4-1.fc37.x86_64 requires libavformat.so.59()(64bit), but none of the providers can be installed
  - package kpipewire-5.26.4-1.fc37.x86_64 requires libavformat.so.59(LIBAVFORMAT_59)(64bit), but none of the providers can be installed
  - conflicting requests
 Problem 2: package libswscale-free-5.1.2-1.fc37.x86_64 requires libavutil.so.57()(64bit), but none of the providers can be installed
  - package libswscale-free-5.1.2-1.fc37.x86_64 requires libavutil.so.57(LIBAVUTIL_57)(64bit), but none of the providers can be installed
  - package libswscale-free-5.1.2-1.fc37.x86_64 requires libavutil-free(x86-64) = 5.1.2-1.fc37, but none of the providers can be installed
  - conflicting requests

This should probably be merged here,

Can you take a look at,
rpm-ostree ex history so we can try to see when this was installed.

Thanks

Note that I have installed libavcodec-freeworld in kinoite. Which fixes Firefox codec issue. But I am still unable to install ffmpegthumbs which I need to preview dolphin video thumbnail. Any solution is appreciated.

$ rpm-ostree ex history
NOTICE: Experimental commands are subject to change.
BootTimestamp: 2022-12-26T22:57:33Z (5h 10min left)
CreateTimestamp: 2022-12-26T16:56:26Z (50min ago)
CreateCommand: install libavcodec-freeworld

  fedora:fedora/37/x86_64/kinoite
                  Version: 37.20221226.0 (2022-12-26T00:45:10Z)
               BaseCommit: d6b56fa8078d4c7f595232531aecd550b348d5df4f98bb60e4317b40d81bfa64
             GPGSignature: Valid signature by ACB5EE4E831C74BB7C168D27F55AD3FB5323552A
          LayeredPackages: akmod-nvidia distrobox libavcodec-freeworld rpmfusion-free-release rpmfusion-nonfree-release xorg-x11-drv-nvidia-cuda

BootTimestamp: 2022-12-26T15:28:30Z (2h 18min ago)
CreateTimestamp: 2022-12-26T09:26:37Z (8h ago)
CreateCommand: upgrade

  fedora:fedora/37/x86_64/kinoite
                  Version: 37.20221226.0 (2022-12-26T00:45:10Z)
               BaseCommit: d6b56fa8078d4c7f595232531aecd550b348d5df4f98bb60e4317b40d81bfa64
             GPGSignature: Valid signature by ACB5EE4E831C74BB7C168D27F55AD3FB5323552A
          LayeredPackages: akmod-nvidia distrobox rpmfusion-free-release rpmfusion-nonfree-release xorg-x11-drv-nvidia-cuda

rpm-ostree override remove libavutil-free libswscale-free libswresample-free libavformat-free libavcodec-free --install ffmpegthumbs

:crossed_fingers: this worked after I think I reproduced the hang up…

So does this also install the full ffmpeg, inlcluding the full libavcodec ?

We really need a fix for that. I am working on a complete Kinoite/Silverblue setup script and will integrate this.