In addition, in order to support WebRTC with H.264, QtWebEngine (and Chromium too, I suppose) needs to link against OpenH264 at compile time. Dlopening it, as Firefox apparently does, is not supported. As I understand it, this is also not allowed in Fedora. qt5-qtwebengine-freeworld is linked against a bundled copy of OpenH264 which is ripped out of the tarball in the Fedora qt5-qtwebengine. Hence, qt5-qtwebengine-freeworld cannot go away even if we link it against system FFmpeg.
So the swappable FFmpeg just makes a mess for Chromium and QtWebEngine and does not help at all.
There is no way this can work properly for Chromium and QtWebEngine because Chromium hardcodes the list of supported codecs at compile time, based on whether the use_proprietary_codecs (where by "proprietary", they really mean patent-encumbered) flag is set at compile time or not. (And this is a boolean toggle between 2 hardcoded lists, there is no attempt at determining what codecs the linked FFmpeg actually supports, neither at compile time, nor at runtime.) So if you sneakily swap the FFmpeg used at build time for another one at runtime, you end up with websites getting told a wrong list of supported codecs, leading to broken websites.
So I see building both qt5-qtwebengine and qt5-qtwebengine-freeworld with bundled FFmpeg (whereas previously, -freeworld was built with system FFmpeg from RPM Fusion) as the only way forward. (It is currently the only thing that will build anyway, because FFmpeg 5 is not supported. But even if that is fixed, using swappable FFmpeg will break things.)
I am not convinced that this is a useful thing to ship in Fedora. It is only going to make the work for RPM Fusion more complicated and provides no real value. The F36 package also "upgrades" the RPM Fusion version (which is FFmpeg 4.4) to FFmpeg 5 (a source- and binary-incompatible version) with crippled codec support, breaking almost all packages in RPM Fusion.
RPM Fusion has FFmpeg 5 only in Rawhide so far, not F36 (and several things do not yet build against FFmpeg 5, so they are also working on a compatibility package). There was also no discussion whatsoever about moving the RPM Fusion package to ffmpeg-freeworld. I consider it entirely unacceptable to squat the name of probably the most high-profile third-party-repository package without even talking to that repository's mailing list about it first.
Hmmm… I would have loved to give RPM Fusion a chance to push the -freeworld build at least to testing before this goes out to stable in Fedora, and the F34 update is also still stuck with no karma. On the other hand, this fixes 64 security vulnerabilities, so I do not want to sit on it for too long.
Note that this was fixed in 20.04.2, but the kdepim stack was never upgraded from 19.12.2 (which is now almost 1 year old, it was released on 2020-02-04) in F32.
I am building kf5-messagelib-19.12.2-2.fc32 with a backported fix now and will edit it into this update.
Looks like it is still stuck in the RPM Fusion queue.
I am now building qt5-qtwebengine-5.15.2-8.fc33 which adds a versioned Conflicts to the Fedora update to force -freeworld to be upgraded as well, and I will edit this update with that.
In addition, I have also set the "suggest logout" flag on the update.
Please: 1. Close all applications using QtWebEngine. If you are unsure, just restart your session (log out and back in) or reboot altogether. Rationale: QtWebEngine forks background processes from a "zygote" process. If the "zygote" process is old, it may still be built against the bundled ICU and look for the bundled data file, which is gone now that we switched back to the system ICU. 2. If you have qt5-qtwebengine-freeworld installed, upgrade it to qt5-qtwebengine-freeworld-5.15.2-2.fc33. Rationale: -2 is the corresponding version, built against the system ICU as well. -1 was built against the bundled ICU and wants the data file from the non-freeworld package.
Does that fix your issue?