Contact emails:
Explainer:
TAG review:
N/A, small incremental change
Summary:
The `MediaRecorder` spec was recently updated to allow users to configure video keyframe generation parameters of the encoder. Previously there was no such support, and no spec requirements related to keyframe generation existed, leading to recorded streams that sometimes contain a single keyframe at the beginning of the stream. When played back those streams are inefficient to seek in, and it’s impossible to excise segments from them without resorting to transcoding. These problems present significant hurdles to use the MR API for some applications.
Link to “Intent to Prototype”
N/A, small incremental change and going directly for shipping.
Risks
Interoperability and Compatibility
This is now in the editors draft https://w3c.github.io/mediacapture-record/#mediarecorder-api
Gecko: No signal
WebKit: No signal
Web developers: No signals
The pull request adding this feature was reviewed and approved by the WebRTC WG containing representatives from Apple, Microsoft, and Mozilla. Feedback was addressed in the spec PR. But we have not reached out for comments on signals.
Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
Yes.
Is this feature fully tested by web-platform-tests?
Testability requires muxer parsers which MediaRecorder WPTs are currently lacking. https://github.com/web-platform-tests/wpt/issues/39642 has been filed to ensure WPTs are added when this is fixed.
Tracking bug
Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5117302963437568
Contact emails:
Explainer:
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJjiFfHABg0DrRviiT5HXAidwynN5ti%2BTyE7Go4ZWUViQg-shg%40mail.gmail.com.
On Fri, Apr 21, 2023 at 6:48 PM 'Markus Handell' via blink-dev <blin...@chromium.org> wrote:Contact emails:
Explainer:
I think that a real explainer that outlines the API shape and how developers would be using it would really help here with reviewing this.
Thanks for filing
https://github.com/web-platform-tests/wpt/issues/39642, I've asked
there for more details on what it would take to test this.
The spec change added two dictionary members to
https://w3c.github.io/mediacapture-record/#mediarecorderoptions-section
which means that it would at least be possible to add a test for
videoKeyFrameIntervalDuration and videoKeyFrameIntervalCount being
present. Can you write such a test?
Also, I think vendor signals here aren't needed given the reviews on
https://github.com/w3c/mediacapture-record/pull/216, but can you file
bugs for Gecko and WebKit?
Thanks for filing
https://github.com/web-platform-tests/wpt/issues/39642, I've asked
there for more details on what it would take to test this.I added some more detail there.The spec change added two dictionary members to
https://w3c.github.io/mediacapture-record/#mediarecorderoptions-section
which means that it would at least be possible to add a test for
videoKeyFrameIntervalDuration and videoKeyFrameIntervalCount being
present. Can you write such a test?Yes!
Also, I think vendor signals here aren't needed given the reviews on
https://github.com/w3c/mediacapture-record/pull/216, but can you file
bugs for Gecko and WebKit?Bugs filed:
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAARdPYf5CAXSME%2B4nmBT%2B2upB-2-hGh3MMJUn8j1M5%3DV4EYLxQ%40mail.gmail.com.
The spec says that both the duration and frame count refer to the interval "between key frames".
Hi Peter, from the spec text:"If videoKeyFrameIntervalCount is not null ... the video encoder produces a keyframe on the first frame arriving after videoKeyFrameIntervalCount frames passed since the last key frame"It sounds to me like the blink impl is correctly implementing the spec meaning. If videoKeyFrameIntervalCount is 0, the spec text implies every frame should be a key frame. If your alternative interpretation were true, what would a value of 0 mean?
You're welcome to file a bug in the mediarecorder - not sure I think the issue raised here is terribly important but I could support the implementation doing > instead of >= when it comes to duration.