Open Bug 1706229 Opened 4 years ago Updated 4 years ago

MediaRecorder keyframe intervals are too long for live streaming video content

Categories

(Core :: Audio/Video: Recording, enhancement)

Firefox 87
enhancement

Tracking

()

UNCONFIRMED

People

(Reporter: slindauer, Unassigned)

References

Details

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.128 Safari/537.36

Steps to reproduce:

With the latest changes in v87 (presumably due to bug #1577198), keyframes are now generated much less frequently. When capturing output from a MediaRecorder and packaging the vp8 into DASH segments for Live streaming video, this now creates ~6-7 sec segments. (Previously behavior was ~1s segments which are ideal for live streaming.) Reading the release notes in https://hg.mozilla.org/releases/mozilla-release/rev/7dfc286be92186e57342b6f3f90684b9b9e7fa27, it seems at least part of the goal was to decrease latency, but this actually now increases latency when streaming (increase of ~5s).

Steps to repro:

  • Capture output from MediaRecorder
  • Split output on EBML clusters/keyframes
  • This creates nicely packaged DASH segments that can be sent to create a live streaming service

Actual results:

Keyframes are generated about every 200 video frames, as opposed to every 1s previously.

Expected results:

If the above mentioned bug/change are not revertible, can we introduce new behavior to specify the keyframe interval on MediaEncoder/MediaRecorder initialization? Or more generically, can we expose more control over the MediaEncoder itself for power users who desire more control?

The Bugbug bot thinks this bug should belong to the 'Core::Audio/Video: Recording' component, and is moving the bug to that component. Please revert this change in case you think the bot is wrong.

Component: Untriaged → Audio/Video: Recording
Product: Firefox → Core
See Also: → 1563675
You need to log in before you can comment on or make changes to this bug.