I’d like to support including the abs-capture-time extension in RTP payloads to Janus and those be forwarded to all peers. The use case is returning the most recent capture timestamp to the source to validate that a message was produced by a peer while an up-to-date timestamped frame was on the screen to make guarantees about end-to-end latency in teleoperation.
My understanding is the extension is supported in Chrome 107, and I’ve implemented adding the extension from the source, now I only need to bridge the gap in Janus.
My understanding is that because plain RTP to Janus does not have an SDP, any extensions in the RTP headers can not be mapped. I would intend to add a configuration key to the streaming plugin to specify which extension ID is abs-capture-time to work around this.
From there I expect I can add abs-capture-time to the SDP for WebRTC peers and include the timestamps. Like the other abs-capture-time PR currently outstanding, I intend to only forward these values with no interpolation. I will likely build on top of that other PR since it adds some support for the extension.
Does this approach make sense? Does it sound like something that would be accepted upstream? Is there a better way to do this?
Ref: docs/native-code/rtp-hdrext/abs-capture-time - src - Git at Google.