Contact emails
chcunn...@chromium.org, mlam...@chromium.org, hben...@chromium.org
Explainer
Link to explainer (and readme)
Spec
https://wicg.github.io/media-capabilities/
This intent to ship is only for the decoding capabilities pieces of the API.
Link to tag review.
Summary
The API allows websites to get more information about the decoding abilities of the client. This enables more informed selection of media streams for the user, avoiding scenarios where the client is unable to smoothly and power efficiently decode a resolution that might have been picked based only on available bandwidth and screen size, for example.
Link to “Intent to Implement” blink-dev discussion
https://groups.google.com/a/chromium.org/d/msg/blink-dev/EAqWCAdw1lI/zk3MvsBbCQAJ
Origin Trial feedback summary
YouTube, the only origin trial user that provided feedback, shared that they observed a non-trivial improvement in the mean time between rebuffers (MTBR) for the experimental group that used the Media Capabilities API to inform the adaptive bitrate stream resolution cap, compared to the control group.
Is this feature supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
Yes.
Demo link
Risks
Interoperability and Compatibility
No compatibility risk. The API does not have a direct impact on other aspects of video playback. It is purely about helping web authors choose which videos to play.
Interoperability risk is moderate: Chrome is the first to implement but we have wide interest and support from other browser vendors.
Edge: No public signals
Firefox: Discussed at FOMS conference
Safari: In development (https://bugs.webkit.org/show_bug.cgi?id=181064)
Web developers: Strong public support (eg. Netflix contributes directly to the specification and YouTube ran an Origin Trial).
Ergonomics
Video streaming sites will use the Media Capabilities decodingInfo() API to decide which format and resolution (e.g. VP9 at 1080p) to play.
Sites may use the CSSOM View Screen interface in tandem with MediaCapabilities to decide what resolution of video is appropriate.
Sites may use the the powerEfficient value from a resolved decodingInfo() promise in coordination with the Battery Status API to decide when to prioritize power efficient formats and resolutions.
Once a format is selected, sites will often use Media Source Extensions to playback the stream.
The default usage of the API does not impact Chrome performance. The API is asynchronous and responding to the API queries is not resource intensive. There are no inherent process/thread requirements.
Activation
The inputs to the API are fairly low level descriptions of video formats. The target audience (streaming sites with number of formats available for any one video) is savvy about these details and can begin using the API immediately as-is.
Is this feature fully tested by web-platform-tests? Link to test suite results from wpt.fyi.
The web platform tests are here:
https://github.com/w3c/web-platform-tests/blob/master/media-capabilities/decodingInfo.html
The WPT cases cover validation of the inputs and resolution of the returned promise (either successfully or with appropriate error state).
In tests where the promise successfully resolves to produce a MediaCapabilitiesInfo object, the contents of that object (e.g. boolean powerEfficient) are not inspected because the values inside the MediaCapabilitiesInfo object are subject to change depending on the UA and the device running the tests.
Link to entry on the feature dashboard
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMN6X7GG-Fw4-_%2BJYLHM9rPHbVCNLCPeNuCCwRaxKu-qzi99g%40mail.gmail.com.
Testing that, I also noticed that video.canPlayType("video/webm; codecs=vp9.0") is "probably", and yet navigator.mediaCapabilities.decodingInfo with the same string or variations thereof return false, type 'file' and 'media-source'. That seems like a bug, is it a known issue?
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/9a657faf-87cd-4456-97c1-a5a92c82acfc%40chromium.org.
> an email to blink-dev+unsubscribe@chromium.org.
> 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/CALjhuicsJ5%2Bre8ZsbiSbvuRP1R6nsQao85ictyNJ%2BF%2Bs2nCo_w%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/407b1da5-92e9-4f5c-b0a1-0e8b57813c96%40chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALjhuif8wP%2BuETokfJwRZKqsaScuxhkecmkr%2B7nUGvHM2AJcsg%40mail.gmail.com.