On Tuesday, November 14, 2023 at 8:12:41 AM UTC+1 Yoav Weiss wrote:

On Mon, Nov 13, 2023 at 4:04 PM Henrik Boström <h...@chromium.org> wrote:

Contact emails
h...@chromium.org, o...@chromium.org, h...@chromium.org

Specification
https://w3c.github.io/mediacapture-extensions/#the-
mediastreamtrackaudiostats-interface

Summary

The `track.stats` API allows an application to measure quality related to 
the capturing of a MediaStreamTrack (getUserMedia). This API has already 
shipped for video tracks (Chrome Status 
<https://chromestatus.com/feature/5087376775053312>, Intent to Ship 
<https://groups.google.com/a/chromium.org/g/blink-dev/c/ttzYv-30gY4>). This 
intent relates to the audio version of the same API, which has similar 
metrics plus input latency metrics.

The spec is actively under development. It currently contains frame counters 
<https://w3c.github.io/mediacapture-extensions/#the-mediastreamtrackaudiostats-interface>
 (like 
the video counterpart) which in the audio case allows calculating ratio of 
dropped audio which is a measure of capture glitches. There is also a PR in 
review <https://github.com/w3c/mediacapture-extensions/pull/124> which will 
add current input latency and a follow-up issue to add min/max/avg latency 
<https://github.com/w3c/mediacapture-extensions/issues/128>.

Blink component
Blink>GetUserMedia 
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EGetUserMedia>

Motivation
The motivation is similar to that of video stats 
<https://github.com/mozilla/standards-positions/issues/895>, but this time 
it is audio related.

Quality measurements are important to understand user reports that app gets 
(e.g. in Google Meet, users may file bugs containing quality dumps) and A/B 
experiments to understand how features impact quality (e.g. adding heavy 
video processing in an app may impact audio quality). Latency may be useful 
for audio processing. Together with WebRTC metrics, capture metrics help 
provide context as to which parts of the pipeline are contributing to 
quality in what way.

TAG review status
N/A small addition to existing spec and the `track.stats` API shape has 
already shipped for video.

Risks
Interoperability and Compatibility

Risk is relatively small since this is a stats API. The MediaStreamTrack 
functions whether or not you can measure quality related properties of the 
track.

*Gecko*: No signal
*WebKit*: No signal


Have we reached out?


The spec is still being worked on and I have not officially reached out, 
but representatives from both Mozilla and Apple are part of the WG 
discussions.
On the video stats side (same API shape but not the same metrics), Mozilla 
was positive <https://github.com/mozilla/standards-positions/issues/895> and 
Apple was unresponsive 
<https://github.com/WebKit/standards-positions/issues/260>.

At the moment, there is a disagreement about whether or not frame dropping 
is worth measuring 
<https://github.com/w3c/mediacapture-extensions/issues/129> but we are in 
agreement - at least Google and Mozilla - that capture input latency is 
something we want to have, but the PR needs more work to get the definition 
right before it can be merged. This sends both positive and negative 
signals, but I do not have an official statement yet.
 

 

*Web developers*: Positive


Any links?


I don't have any links but I've been told that web developers have been 
"asking for input latency metrics for years".
On behalf of Google, Google Meet web developers are asking for both dropped 
frames ratio metrics and input latency metrics, so I am developing these 
PRs together with the WebRTC audio experts who requested them.

 

*Other signals*:

WebView application risks

None


Debuggability

None

Is this feature fully tested by web-platform-tests 
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
?
Test coverage will be added as part of implementation, including which 
metrics are supported by the browser. In addition to WPTs, correctness of 
quality metrics may require browser tests e.g. for fake devices.

Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5141112910249984

-- 
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+unsubscr...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/
chromium.org/d/msgid/blink-dev/bb6c1af3-9eb3-4c6f-a136-
dee709b7f906n%40chromium.org 
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/bb6c1af3-9eb3-4c6f-a136-dee709b7f906n%40chromium.org?utm_medium=email&utm_source=footer>
.

-- 
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+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/d404e904-3a76-43e3-b9ba-c5e27d26d490n%40chromium.org.

Reply via email to