Open Bug 1827453 Opened 2 years ago Updated 1 year ago

Enable media.gmp.decoder.enabled (at least for MOZ_WIDGET_GTK) and disable media.ffmpeg.allow-openh264

Categories

(Core :: Audio/Video: Playback, task)

Desktop
Linux
task

Tracking

()

People

(Reporter: jan, Unassigned)

References

(Depends on 1 open bug, Blocks 1 open bug)

Details

(Keywords: nightly-community)

Fedora enables this pref by default.
FFmpeg (x264 or noopenh264+distro openh264) is already preferred.
In worst case, not-yet-updated gmp-openh264 1.8.1 would be tried before the decoding error is shown.

Blocks: 1755361

I could be wrong, but once we are shipping OpenH264 2.3.1, I believe we will want to enable this pref everywhere. Any user that doesn't have any other option for H264 decoding will want this as a fallback. The only question I would have is does enabling it change what content we get served -- for example, maybe we should prefer AV1, VP8, VP9, etc over OpenH264 because reasons (faster?).

Broken OpenH264 seeking (due to missing feature) should be fixed by workaround, but it's not a blocker: bug 1670333

Do you know any website that supports AV1/VP8/VP9, but still prefers H264? I don't.
If you are sure that any other h264 decoder is preferred over GMP-Openh264, then I don't see a risk.

YouTube doesn't serve h264+opus voluntarily, VP9/AV1+opus are preferred.
Twitch seems to rely on h264+aac. ffmpeg by Flatpak/Fedora/OpenSUSE supports FDK-AAC-stripped.
German public television:

Private television relies on Widevine (H264+AAC ?):

Likely Offtopic:

  • In case there is an unwanted behavior with WebRTC, Firefox would already be affected by it.
  • I think it would rather be a nice to have if Firefox could prefer specific codecs: According to about:support I have VP8 HW (via ffvpx) and H264 HW (via ffmpeg if installed), I would prefer them over SW decoding.

Tested on Debian Testing:

  1. $ MOZ_LOG="GMP:5,PlatformDecoderModule:5" mozregression --launch 2023-04-11 --pref media.gmp.decoder.enabled:true media.gmp.decoder.preferred:true media.gmp-manager.url:"https://aus5.mozilla.org/update/3/GMP/%VERSION%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/nightlytest/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/update.xml" -P stdout -a https://addons.mozilla.org/en-US/firefox/addon/enhanced-h264ify/ -a about:addons -a https://www.youtube.com/watch?v=XPnThJ5rFjo -a https://www.ardmediathek.de/video/tagesschau/tagesschau-oder-aktuelle-ausgabe/das-erste/Y3JpZDovL3RhZ2Vzc2NoYXUuZGUvdGFnZXNzY2hhdV9PTV8wMDAwMDAwNjAwYjI2MjhmX2dhbnplU2VuZHVuZw -a https://www.tvnow.de/shows/rtl-aktuell-33/2023-04/episode-101-sendung-vom-11-04-2023-2023-04-11-18-45-00-5415061
  2. Installed enhanced-h264ify, no further config needed.
  3. about:addons > Plugins > wheel icon > Search for Updates (to download GMP-OpenH264 2.3.1)
  4. Tested Youtube = GMP-Openh264 + opus.
  5. Tested ardmediathek = GMP-Openh264 + audio/mp4a-latm (which is system ffmpeg aac because it doesn't play if media.ffmpeg.enabled is false)
  6. Tested tvnow: Allowed DRM, waited, GMP Widevine was used.
Blocks: 1737113
Depends on: 1827333, 1766638
Summary: Enable media.gmp.decoder.enabled for MOZ_WIDGET_GTK → Enable media.gmp.decoder.enabled (at least for MOZ_WIDGET_GTK) and disable media.ffmpeg.allow-openh264
You need to log in before you can comment on or make changes to this bug.