H264 video playback in Firefox in f40

I’m using the Fedora Silverblue 40 beta. In 39 and before, I used to layer the mozilla-openh264 package to add h264 video playback support to Firefox. mozilla-openh264 depends on openh264, but openh264 is explicitly excluded from f40 because of a new noopenh264 package that conflicts with it.

I found the source code for noopenh264, but I’m not sure I understand what is changing in f40 regarding h264 playback.

What options are there for playing h264 videos in Firefox in f40?

1 Like

Have you tried rpm-ostree override remove noopenh264 --install mozilla-openh264?

4 Likes

This worked for me.

That works for me too. Thanks!

I still wish I understood what changed in f40, why the noopenh264 package is included now, and if it’s possible to use noopenh264 with mozilla-h264.

noopenh264 is meant to act as a placeholder that is automatically replaced by openh264 from the Cisco repo on the first update. This is a clever workaround to have it installed ‘by default’ without redistributing it in the installer image (which would be illegal).

Unfortunately, this doesn’t work for Silverblue because rpm-ostree isn’t going to allow anything to automatically replace a package in the base image.

The ultimate solution is probably to move away from having Firefox in the base image, but that’s not ready yet.

2 Likes

Thank you!

Maybe, adding Firefox as flatpak only, or maybe just removing noopenh264 from the Silverblue base.

I was actually just considering that. There doesn’t seem to be any obstacle to removing it at the moment, but I think it needs to stay because libavcodec-free may start linking against noopenh264’s stub library instead of dlopening openh264 (which requires a downstream patch).

2 Likes

It makes sense. Let’s say that on a distribution that relies so much on flatpak apps having the default browser as flatpak is probably a logical solution.

1 Like

I was lucky to discover this, I spent three hours trying to figure out why ffmpegthumbnailer had stopped working on my new Fedora installation. The only workaround I found was to run the following command:

rpm-ostree override remove noopenh264 --install openh264

I kindly urge you to consider removing that package, as it can create significant issues, especially for new users. I promote Linux on YouTube, and my Fedora tutorial became outdated without my knowledge.