Closed
Bug 1265301
Opened 9 years ago
Closed 9 years ago
openh264 plugin will not work when encoding different resolution frames
Categories
(Core :: WebRTC: Audio/Video, defect, P2)
Tracking
()
RESOLVED
FIXED
| backlog | webrtc/webaudio+ |
People
(Reporter: xpeng, Assigned: hankpeng)
References
Details
Attachments
(1 file)
|
630.08 KB,
application/x-rar
|
Details |
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586
Steps to reproduce:
module: WebRtc
Plugin : OpenH264 v1.5.3
Step 1: Sharing application' window to others with H264 codec .
Step 2: modify the size of the application's window several times with mouse.
Actual results:
firefox do not send h264 data to others. (almost 100%) , and the received h264 packet from others can not be decoded.
the dropped frames increase , the sent packages do not increase in about:webrtc page.
if we disable the openh264 plugin then enable the plugin, the plugin will work fine with both encode and decode.
we have no idea to collect the information for openh264 plugin . which we can do please tell me .thanks.
Expected results:
firefox sent h264 data to others.
Updated•9 years ago
|
Component: Untriaged → Audio/Video: Playback
Product: Firefox → Core
Updated•9 years ago
|
Component: Audio/Video: Playback → WebRTC: Audio/Video
Comment 1•9 years ago
|
||
Does this happen on every resize, or randomly after resizing a number of times?
Flags: needinfo?(xpeng)
Whiteboard: [needinfo 2016/05/12]
Comment 2•9 years ago
|
||
To the reporter - Please see comment 1. We need this additional information, or I'll need to close this bug as incomplete (due to lack of actionable info). Also, can you try to reproduce the problem and let us know if it still happens.
Whiteboard: [needinfo 2016/05/12] → [needinfo 2016/05/12 to reporter]
randomly after resizing a number of times , but how to collect the information for openh264 plugin? what information do you need ?
Could you please have a look at https://wiki.mozilla.org/Media/WebRTC/Logging, and try to capture the logs with NSPR_LOG_MODULES=gmp:5,webrtc_trace:65535,timestamp WEBRTC_TRACE_FILE=webrtc.log NSPR_LOG_FILE=nspr.log?
logs have been added into attachment
(In reply to Hank Peng from comment #4)
> Could you please have a look at
> https://wiki.mozilla.org/Media/WebRTC/Logging, and try to capture the logs
> with NSPR_LOG_MODULES=gmp:5,webrtc_trace:65535,timestamp
> WEBRTC_TRACE_FILE=webrtc.log NSPR_LOG_FILE=nspr.log?
Comment 7•9 years ago
|
||
So, the logging does indeed indicate that something has gone wrong during a re-init of the GMP encoder:
2016-06-07 08:39:49.335404 UTC - 1937838080[100530700]: [main|PeerConnectionImpl] PeerConnectionImpl.cpp:2148: Encountered media error! GMP Encode: Either init was aborted, or init failed to supply either a GMP Encoder or GMP host.
Status: UNCONFIRMED → NEW
backlog: --- → webrtc/webaudio+
Rank: 23
Ever confirmed: true
Priority: -- → P2
Whiteboard: [needinfo 2016/05/12 to reporter]
After doing some investigation, I found that this is a know issue of OpenH264 v1.5.3.
As per https://github.com/cisco/openh264/tree/v1.5.3-Firefox39: Encoder errors when resolution exceeds 3840x2160.
And according to the log, the resolution to be used is 3840x2400.
2016-06-07 08:39:49.335342 UTC - [0x10d775ed0]: D/GMP GMP Encode: resolution change from 320x240 to 3840x2400.
In the coming OpenH264 v1.6, the max supported resolution has been updated to follow the H.264 standard.
@haibozhu and @huili2, please give more detail about the change in OpenH264 v1.6 and what's the suggested solution when the captured resolution exceeds the supported one of OpenH264.
Flags: needinfo?(huili2)
Flags: needinfo?(haibozhu)
v1.6 has fixed the width/height issue with permitted max resolution defined in level 5.2, thus 3840*2400 is allowed to be encoded.
However if the resolution exceeds the data in level definition, encoder will not go on to encode.
Thanks for all your information.
Comment 10•9 years ago
|
||
As the level limit in h.264/avc standard, the width * height should less than or equal to 9437184. When input resolution is larger than it, we should set the output resolution to make it comply with the standard draft.
| Assignee | ||
Comment 11•9 years ago
|
||
Fixed in OpenH264v1.6. When the resolution is more than level 5.2, scale down the encoded output resolution: https://github.com/cisco/openh264/commit/00e89b89f0d8e9665e22826ea2ae1770fdd3ea2b.
Assignee: nobody → hankpeng
Depends on: 1223891
| Assignee | ||
Comment 12•9 years ago
|
||
Change the bug status to Resolved/Fixed as Firefox openh264 plugin v1.6 that includes the fix has been released to all supported platforms.
Status: NEW → RESOLVED
Closed: 9 years ago
Flags: needinfo?(huili2)
Flags: needinfo?(haibozhu)
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•