Bug 1894217 - Cannot play H.264 video with OpenH264
Summary: Cannot play H.264 video with OpenH264
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: firefox
Version: 33
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Martin Stransky
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-11-03 18:24 UTC by Michael Catanzaro
Modified: 2020-11-19 02:26 UTC (History)
14 users (show)

Fixed In Version: firefox-82.0.2-5.fc33 firefox-82.0.3-1.fc32
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-11-12 03:15:50 UTC
Type: Bug


Attachments (Terms of Use)
Debug log (6.08 KB, text/plain)
2020-11-03 18:24 UTC, Michael Catanzaro
no flags Details
New debug log with mozilla-openh264 installed (6.10 KB, text/plain)
2020-11-03 21:03 UTC, Michael Catanzaro
no flags Details

Description Michael Catanzaro 2020-11-03 18:24:56 UTC
Created attachment 1726342 [details]
Debug log

Description of problem: According to https://pagure.io/fedora-workstation/issue/126, Firefox 82 should support playback of MP4 video using OpenH264. However, it does not work for me.


Version-Release number of selected component (if applicable): firefox-82.0.2-1.fc33 with openh264-2.1.1-1.fc33


How reproducible: Always


Steps to Reproduce:
1. Load http://demo.nimius.net/video_test/, note the H.264 videos do not play
2. Load https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_video, remove the Ogg video source, click Run, note the video does not play

Actual results: Videos are broken. Firefox complains:

[Child 37748, MediaDecoderStateMachine #1] WARNING: Decoder=7f11d29e7c00 Decode error: NS_ERROR_DOM_MEDIA_FATAL_ERR (0x806e0005): file /builddir/build/BUILD/firefox-82.0.2/dom/media/MediaDecoderStateMachine.cpp, line 3471
[Child 37748, MediaDecoderStateMachine #1] WARNING: Decoder=7f11d29ed000 Decode error: NS_ERROR_DOM_MEDIA_FATAL_ERR (0x806e0005): file /builddir/build/BUILD/firefox-82.0.2/dom/media/MediaDecoderStateMachine.cpp, line 3471
[Child 37748, MediaDecoderStateMachine #1] WARNING: Decoder=7f11d29e6c00 Decode error: NS_ERROR_DOM_MEDIA_FATAL_ERR (0x806e0005): file /builddir/build/BUILD/firefox-82.0.2/dom/media/MediaDecoderStateMachine.cpp, line 3471


Expected results: Videos should play.


Additional info: This occurs with a fresh profile (deleted ~/.mozilla). I've attached a debug log taken with MOZ_LOG="GMP:5" firefox > log.txt 2>&1 as requested by Martin.

Comment 1 Martin Stransky 2020-11-03 18:37:05 UTC
Do you have mozilla-openh264 package installed? From the log it's not recognized by browser.

Comment 2 Michael Catanzaro 2020-11-03 21:03:17 UTC
(In reply to Martin Stransky from comment #1)
> Do you have mozilla-openh264 package installed? From the log it's not
> recognized by browser.

No. I didn't know this subpackage existed, and we haven't done anything to cause it to install itself as we have for the main openh264 package. I'll bring that up in https://pagure.io/fedora-workstation/issue/84.

Sadly, installing it does not change much. The error messages in the debug log changed slightly. I'll attach a new log.

Comment 3 Michael Catanzaro 2020-11-03 21:03:41 UTC
Created attachment 1726391 [details]
New debug log with mozilla-openh264 installed

Comment 4 Martin Stransky 2020-11-03 21:14:51 UTC
Okay, I'll look at it on a new F33 installation, works fine on my F32. We may need some additional plumbing here.

Comment 5 Martin Stransky 2020-11-04 08:08:51 UTC
Yes, I can reproduce that on F33. Works ok on F32 (at least on my boxes).

Comment 6 Martin Stransky 2020-11-04 09:43:11 UTC
Well, I installed mozilla-openh264, restart browser and it works now. Can you try to restart the browser and check again?

Comment 7 Martin Stransky 2020-11-04 10:05:40 UTC
You need to log out/log in after mozilla-openh264 installation as it sets MOZ_GMP_PATH env variable which is read by Firefox.

Comment 8 Michael Catanzaro 2020-11-04 14:28:53 UTC
(In reply to Martin Stransky from comment #7)
> You need to log out/log in after mozilla-openh264 installation as it sets
> MOZ_GMP_PATH env variable which is read by Firefox.

Ah, wow. That isn't ideal. Maybe there is a better way to set MOZ_GMP_PATH, from the Firefox package itself, so that we don't need to log out after package installation? If so, that would be nice.

Regardless, I can confirm that I now have H.264 in Firefox. This is great. We can continue to discuss how to install the package automatically in https://pagure.io/fedora-workstation/issue/84. That's really a separate issue.

Comment 9 Martin Stransky 2020-11-05 13:11:50 UTC
(In reply to Michael Catanzaro from comment #8)
> (In reply to Martin Stransky from comment #7)
> > You need to log out/log in after mozilla-openh264 installation as it sets
> > MOZ_GMP_PATH env variable which is read by Firefox.
> 
> Ah, wow. That isn't ideal. Maybe there is a better way to set MOZ_GMP_PATH,
> from the Firefox package itself, so that we don't need to log out after
> package installation? If so, that would be nice.
> 
> Regardless, I can confirm that I now have H.264 in Firefox. This is great.
> We can continue to discuss how to install the package automatically in
> https://pagure.io/fedora-workstation/issue/84. That's really a separate
> issue.

Package firefox-82.0.2-4 requires mozilla-openh264 package and recommended installation step is reboot :) I think this is one-time issue and will be solved automatically.

Comment 10 Fedora Update System 2020-11-05 13:13:08 UTC
FEDORA-2020-d9020b3054 has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2020-d9020b3054

Comment 11 Fedora Update System 2020-11-05 13:13:09 UTC
FEDORA-2020-e74410aaf3 has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2020-e74410aaf3

Comment 12 Adam Williamson 2020-11-05 16:47:39 UTC
Talking to kalev and mclasen on IRC, they think requiring the package is wrong:

<adamw> firefox has started depending on that package
<kalev> ohh!
<adamw> hence all of this fail: https://openqa.fedoraproject.org/tests/overview?distri=fedora&version=31&build=Update-FEDORA-2020-d9020b3054&groupid=2
<mclasen> that seems .... wrong ?
<kalev> I don't think it can do that right now. It should have Recommends instead, that should be fine

Comment 13 Michael Catanzaro 2020-11-05 16:49:15 UTC
It will make compose impossible too, since openh264 is not allowed into the compose. This will have to be a Recommends.

The Recommends is not actually going to work, btw. We need to find some other way to manually install this, e.g. using PackageKit D-Bus API.

Comment 14 Kalev Lember 2020-11-05 16:51:34 UTC
The issue is that the cisco repo (which is where mozilla-openh264 comes from) is not enabled when composing install media. This is because we are not allowed to redistribute openh264. Users have to download it directly from cisco. Because of that, we can't hard-Require anything that's in the cisco repo.

The repo is enabled by default for users though, starting in F32+ so it should be fine to "Recommends: mozilla-openh264" in F32+. The repo is not enabled by default in F31 so it's best to not put the Recommends there.

Comment 15 Mohan Boddu 2020-11-06 01:19:19 UTC
I untagged firefox-82.0.2-4.fc34 build from rawhide, it should be rebuilt with Recommends instead of Requires.

Comment 16 Fedora Update System 2020-11-06 02:17:40 UTC
FEDORA-2020-0da7aa3894 has been pushed to the Fedora 32 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-0da7aa3894`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-0da7aa3894

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 17 Fedora Update System 2020-11-06 02:33:53 UTC
FEDORA-2020-d9020b3054 has been pushed to the Fedora 31 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-d9020b3054`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-d9020b3054

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 18 Fedora Update System 2020-11-06 02:38:14 UTC
FEDORA-2020-e74410aaf3 has been pushed to the Fedora 33 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-e74410aaf3`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-e74410aaf3

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 19 Martin Stransky 2020-11-06 13:39:34 UTC
Ohh, sorry for that. Added Recommends to firefox-82.0.2-5.*

Comment 20 Fedora Update System 2020-11-07 15:02:21 UTC
FEDORA-2020-c162d6421b has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2020-c162d6421b

Comment 21 Fedora Update System 2020-11-07 15:02:22 UTC
FEDORA-2020-ea63ecaf8c has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2020-ea63ecaf8c

Comment 22 Fedora Update System 2020-11-08 01:55:30 UTC
FEDORA-2020-bc6214ef04 has been pushed to the Fedora 32 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-bc6214ef04`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-bc6214ef04

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 23 Fedora Update System 2020-11-08 02:00:29 UTC
FEDORA-2020-c162d6421b has been pushed to the Fedora 33 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-c162d6421b`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-c162d6421b

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 24 Fedora Update System 2020-11-08 02:15:48 UTC
FEDORA-2020-ea63ecaf8c has been pushed to the Fedora 31 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-ea63ecaf8c`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-ea63ecaf8c

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 25 Fedora Update System 2020-11-10 01:19:31 UTC
FEDORA-2020-c162d6421b has been pushed to the Fedora 33 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 26 Martin Stransky 2020-11-10 08:07:45 UTC
So there's still a problem with the weak dependency - Bug 1896259.

Comment 27 Fedora Update System 2020-11-11 02:18:36 UTC
FEDORA-2020-fc9085727a has been pushed to the Fedora 32 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-fc9085727a`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-fc9085727a

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 28 Fedora Update System 2020-11-11 02:19:36 UTC
FEDORA-2020-45d452ec44 has been pushed to the Fedora 31 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-45d452ec44`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-45d452ec44

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 29 Fedora Update System 2020-11-12 03:15:50 UTC
FEDORA-2020-fc9085727a has been pushed to the Fedora 32 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 30 Fedora Update System 2020-11-19 02:26:14 UTC
FEDORA-2020-93fd31f27d has been pushed to the Fedora 31 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-93fd31f27d`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-93fd31f27d

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.


Note You need to log in before you can comment on or make changes to this bug.