Intent to Ship: Adding captureTimestamp and senderCaptureTimeOffset to RTCRtpContributingSource.
Contact emails
min...@chromium.org,ch...@google.com,hb...@chromium.org
Explainer
https://w3c.github.io/webrtc-extensions/#rtcrtpcontributingsource-dictionary
Design docs/spec
Specification: https://w3c.github.io/webrtc-extensions/#rtcrtpcontributingsource-dictionary
https://w3c.github.io/webrtc-extensions/#rtcrtpcontributingsource-dictionary
TAG review
Summary
Two new data, captureTimestamp and senderCaptureTimeOffset, have been proposed to WebRTC Extensions. See https://w3c.github.io/webrtc-extensions/#rtcrtpcontributingsource-dictionary. They can be used to measure A/V sync and end-to-end delay in real-time communication (RTC) systems.
Motivation
CaptureTimestamp and senderCaptureTimeOffset are introduced to overcome the difficulty of measuring A/V sync and end-to-end delay in an RTC system is that one or more RTCP-terminating sub-system are involved. In such a system, the round trip time measurement on RTCRemoteInboundRtpStreamStats only accounts for the "last hop": the connection between the receiver and the nearest RTCP-terminating sub-system that it receives RTCP packets from. This makes it hard to estimate the offset between the receiver's clock and the capturer's clock, and thus end-to-end delay.
CaptureTimestamp and senderCaptureTimeOffset, as originated from RTP Header Extension for Absolute Capture Time, see https://github.com/webrtc/webrtc-org/blob/gh-pages/experiments/rtp-hdrext/abs-capture-time/index.md can mitigate the problem.
Risks
Interoperability and Compatibility
The header extension that the two new data are based on is negotiated through SDP, and thus adding the two new data won't break Interoperability.
The two new data are mainly used for measuring the quality of an RTC system, and the risk of breaking a web application is small.
The proposal has been presented to W3C WG and browser implementers. While there is no signal from other implementers to implement this yet, the proposal has been reviewed without concerns raised.
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?
Yes, tests will be added as part of implementation efforts, can be reviewed on https://chromium-review.googlesource.com/c/chromium/src/+/2072161
Link to entry on the Chrome Platform Status
https://www.chromestatus.com/feature/5728533701722112
Shipping plan
It is planned that captureTimestamp and gets shipped in Chrome M82 and senderCaptureTimeOffset gets shipped slightly later in Chrome M83.
Intent to Ship: Adding captureTimestamp and senderCaptureTimeOffset to RTCRtpContributingSource.
Contact emails
min...@chromium.org,ch...@google.com,hb...@chromium.org
Explainer
https://w3c.github.io/webrtc-extensions/#rtcrtpcontributingsource-dictionary
Design docs/spec
Specification: https://w3c.github.io/webrtc-extensions/#rtcrtpcontributingsource-dictionary
https://w3c.github.io/webrtc-extensions/#rtcrtpcontributingsource-dictionary
TAG review
Summary
Two new data, captureTimestamp and senderCaptureTimeOffset, have been proposed to WebRTC Extensions. See https://w3c.github.io/webrtc-extensions/#rtcrtpcontributingsource-dictionary. They can be used to measure A/V sync and end-to-end delay in real-time communication (RTC) systems.
Motivation
CaptureTimestamp and senderCaptureTimeOffset are introduced to overcome the difficulty of measuring A/V sync and end-to-end delay in an RTC system is that one or more RTCP-terminating sub-system are involved. In such a system, the round trip time measurement on RTCRemoteInboundRtpStreamStats only accounts for the "last hop": the connection between the receiver and the nearest RTCP-terminating sub-system that it receives RTCP packets from. This makes it hard to estimate the offset between the receiver's clock and the capturer's clock, and thus end-to-end delay.
CaptureTimestamp and senderCaptureTimeOffset, as originated from RTP Header Extension for Absolute Capture Time, see https://github.com/webrtc/webrtc-org/blob/gh-pages/experiments/rtp-hdrext/abs-capture-time/index.md can mitigate the problem.
Risks
Interoperability and Compatibility
The header extension that the two new data are based on is negotiated through SDP, and thus adding the two new data won't break Interoperability.
The two new data are mainly used for measuring the quality of an RTC system, and the risk of breaking a web application is small.
The proposal has been presented to W3C WG and browser implementers. While there is no signal from other implementers to implement this yet, the proposal has been reviewed without concerns raised.
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?
Yes, tests will be added as part of implementation efforts, can be reviewed on https://chromium-review.googlesource.com/c/chromium/src/+/2072161
Link to entry on the Chrome Platform Status
https://www.chromestatus.com/feature/5728533701722112
Shipping plan
It is planned that captureTimestamp and gets shipped in Chrome M82 and senderCaptureTimeOffset gets shipped slightly later in Chrome M83.
--
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/e4a19d48-9c68-4c96-b9ed-efdd055e34c4%40chromium.org.
A few questions inline:On Tue, Mar 10, 2020 at 11:22 PM 'Minyue Li' via blink-dev <blin...@chromium.org> wrote:
Intent to Ship: Adding captureTimestamp and senderCaptureTimeOffset to RTCRtpContributingSource.
Contact emails
Should there be something in https://github.com/w3c/webrtc-extensions/blob/master/explainer.md for this whole spec, and these additions in particular?
An explanation of the use case and examples of use would be great. From reading the spec itself, my best guess is that this is intended for some broadcasting scenario with a bunch of equipment ("RTCP-terminating intermediate systems") but I'm also pretty sure that's not a correct guess :)Design docs/spec
Specification: https://w3c.github.io/webrtc-extensions/#rtcrtpcontributingsource-dictionary
https://w3c.github.io/webrtc-extensions/#rtcrtpcontributingsource-dictionary
TAG review
Did this spec as a whole go through TAG review in the past? I searched https://github.com/w3ctag/design-reviews/issues a bit but couldn't find anything.
Summary
Two new data, captureTimestamp and senderCaptureTimeOffset, have been proposed to WebRTC Extensions. See https://w3c.github.io/webrtc-extensions/#rtcrtpcontributingsource-dictionary. They can be used to measure A/V sync and end-to-end delay in real-time communication (RTC) systems.
Motivation
CaptureTimestamp and senderCaptureTimeOffset are introduced to overcome the difficulty of measuring A/V sync and end-to-end delay in an RTC system is that one or more RTCP-terminating sub-system are involved. In such a system, the round trip time measurement on RTCRemoteInboundRtpStreamStats only accounts for the "last hop": the connection between the receiver and the nearest RTCP-terminating sub-system that it receives RTCP packets from. This makes it hard to estimate the offset between the receiver's clock and the capturer's clock, and thus end-to-end delay.
CaptureTimestamp and senderCaptureTimeOffset, as originated from RTP Header Extension for Absolute Capture Time, see https://github.com/webrtc/webrtc-org/blob/gh-pages/experiments/rtp-hdrext/abs-capture-time/index.md can mitigate the problem.
Has that RTP header extension already been shipped, or is it part of this intent?
Risks
Interoperability and Compatibility
The header extension that the two new data are based on is negotiated through SDP, and thus adding the two new data won't break Interoperability.
The two new data are mainly used for measuring the quality of an RTC system, and the risk of breaking a web application is small.
Indeed the compat risk (for web applications) is effectively zero because this is adding members to an existing dictionary. Compat risk is more of a consideration for deprecations/removal.The interop risk, however, is the risk that this won't be implemented by most/all browsers in the long run, and so has mostly to do with buy-in from other browser vendors. See below.
(The term interoperability is also used to mean two implementations of a protocol successfully communicating, and the way we use it on the web platform is arguably weird.)The proposal has been presented to W3C WG and browser implementers. While there is no signal from other implementers to implement this yet, the proposal has been reviewed without concerns raised.
Can you link to the PR or issue where that happened? Is your expectation that others will in fact implement this?
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?
Yes, tests will be added as part of implementation efforts, can be reviewed on https://chromium-review.googlesource.com/c/chromium/src/+/2072161
Looks like you have detailed test review there :)Aside with API owners hat off: it looks like there's no testing for when captureTimestamp would be missing, somewhat related to https://github.com/w3c/webrtc-extensions/issues/34. Making sure that case is covered would be good because it should match what happens when the remote is any browser (including current Chrome) that doesn't have the RTP extension yet.
Link to entry on the Chrome Platform Status
https://www.chromestatus.com/feature/5728533701722112
Shipping plan
It is planned that captureTimestamp and gets shipped in Chrome M82 and senderCaptureTimeOffset gets shipped slightly later in Chrome M83.
--
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+unsubscribe@chromium.org.
Thanks a lot for looking into this!We'll address these issues shortly.On Thursday, March 12, 2020 at 8:42:33 PM UTC+1 sligh...@chromium.org wrote:Hey all,OWNERS met today. There seem to be some issues with this intent:
- No TAG review; we ask for these to be filed because even small changes can have large impacts
- No Intent-to-Implement cited. I can't find a previous thread on this topic and it isn't listed in the mails above.
- The link to an "explainer" is actually a link to spec text. We expect Explainers to be separate documents that use (or start with) the TAG template.
- Per Philip's note about interop risk, would like to understand better if there are counter-proposals? What is the developer interest level? The API OWNERS are generally happy to let things move forward absent other vendor support so long as we can show that we've done the homework (e.g. TAG review), are being responsible (tests, spec language), and have a strong developer need that we can demonstrate our additions resolve. Outlining the need is something an Explainer is often helpful for.
Perhaps a standalone explainer can help resolve a lot of this?Regards
On Wednesday, March 11, 2020 at 10:26:41 AM UTC-7, Henrik Boström wrote:
On Wednesday, March 11, 2020 at 3:12:52 PM UTC+1 Philip Jägenstedt wrote:
A few questions inline:On Tue, Mar 10, 2020 at 11:22 PM 'Minyue Li' via blink-dev <blin...@chromium.org> wrote:
Intent to Ship: Adding captureTimestamp and senderCaptureTimeOffset to RTCRtpContributingSource.
Contact emails
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/b1e5305f-379f-4a58-938e-b9bc0c1fbd4c%40chromium.org.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/e4a19d48-9c68-4c96-b9ed-efdd055e34c4%40chromium.org.
--
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+unsubscribe@chromium.org.
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/e4a19d48-9c68-4c96-b9ed-efdd055e34c4%40chromium.org.
--
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/b1e5305f-379f-4a58-938e-b9bc0c1fbd4c%40chromium.org.
--
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/087b78e1-cb83-41cb-827b-5c490779fe78%40chromium.org.