Codec problem with packaged Firefox

Hi,

I’m running Rocky Linux 8 on my workstation and my laptop. I’m mainly using Mozilla Firefox to browse the web, with Chromium as a fallback for the odd problematic website.

I just started working for a new training company that uses an in-house online training application. Before that I used BigBlueButton for online video training.

I experienced a video playback problem with the application. We searched around a bit with their in-house developer, and after quite some searching we managed to identify the culprit.

When I start Firefox from within Konsole (by typing firefox) I have standard error output in my terminal. Now when I open the page with the online video platform, I get the following error message:

2023-07-03T09:29:20Z ERROR mp4parse] Found 2 nul bytes in "\0\0"

Just to check out if this is the culprit, I installed the Flatpak version of Firefox (flatpak install org.mozilla.firefox). With this version, the online learning application works perfectly.

So there’s clearly a problem with Rocky’s (or Red Hat’s) firefox package, related to MP4 codecs.

By the way, a similar problem appears with the packaged Chromium browser.

Any suggestions on how to solve this kind of problem without having to rely on a parallel install of the Flatpak version of Firefox ?

Cheers,

Niki

Mozilla’s bugzilla says: “… the mp4parse error is not a fatal error and won’t affect playback.”

I’m also getting a lot of these and payback always works.

Did you install ffmpeg-libs?

Yes :

$ rpm -q ffmpeg-libs
ffmpeg-libs-4.2.9-1.el8.x86_64

Looks more like a problem with how the package was built.

Which package? Neither firefox from RHEL/Rocky nor Chromium from EPEL includes codecs for mp4 playback. (patents …)

But firefox (not chromium) can dlopen a system-wide installation of ffmpeg at run-time to do the job.

Maybe the flatpak version of ffmpeg has more features enabled than the one from rpmfusion?

Could it be that the missing package is actually libmp4v2 ? I did a dnf search mp4, and this (uninstalled) package shows up.

OK, I just solved the problem pragmatically by installing the proprietary Google Chrome browser from Google’s repository. This browser handles MP4 streams correctly.

Since these online video classes rely heavily on Google’s infrastructure (authentication, Google Docs, Google Meet, etc.) this seems like a logical step.

I wonder if it’s because ffmpeg is at version 4 whereas current firefox expects 5 or later.
There is a dedicated option in firefox about:config media.libavcodec.allow-obsolete that can be turned to true.

That might helps.

Looking at the fedora firefox 115 package shows that allow-obsolete is for older libavcodec version than 54 (ffmpeg 4 provides libavcodec 58).

Is there anyone to reproduce ?
https://lab.html5test.com/codecs/
For me the mp4 visual doesn’t work with firefox, whereas works on chromium (and chrome) (on fc37).

Here it’s said: "Firefox doesn’t support MPEG-4 Part 2 videos, which is listed in that test as MPEG-4 Visual, but most people know those as “DivX” or “XviD”. Those are outdated and inefficient codecs anyway and very rarely used nowadays, so that’s not what is causing your issues. "

I’ve got this issue…

70% of YouTube videos play, 30% fail. ABC Australia all videos fail.

If that is what you are talking about then it has nothing to do with the package version of Firefox. I’m running the Nightly beta and the same issue occurs.

I’ve reported it in bugzilla. The solutions offered weren’t at all end user acceptable.

In the “I wonder if” department, would seem like a good idea to check this wasn’t some Wayland quirk. Something I haven’t done as yet.