Johannes Kron 73ff1ffd0f Move spec of experimental RTP header extensions to source repository
The specification of experiemental RTP header extensions have previously
been located at Github. Move the specs here and folloup with redirection
of the new website to this place to make sure that the existing URLs on
the format webrtc.org/experiements/rtp_hdrext continue to work.

Bug: webrtc:11335
Change-Id: I7735e259a7dd6cd2fa7bbc09fa3c0ff460057e52
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168126
Commit-Queue: Johannes Kron <kron@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30447}
2020-02-03 13:57:17 +00:00

1.4 KiB

The Absolute Send Time extension is used to stamp RTP packets with a timestamp showing the departure time from the system that put this packet on the wire (or as close to this as we can manage). Contact solenberg@google.com for more info.

Name: "Absolute Sender Time" ; "RTP Header Extension for Absolute Sender Time"

Formal name: http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time

SDP "a= name": "abs-send-time" ; this is also used in client/cloud signaling.

Not unlike RTP with TFRC

Wire format: 1-byte extension, 3 bytes of data. total 4 bytes extra per packet (plus shared 4 bytes for all extensions present: 2 byte magic word 0xBEDE, 2 byte # of extensions). Will in practice replace the "toffset" extension so we should see no long term increase in traffic as a result.

Encoding: Timestamp is in seconds, 24 bit 6.18 fixed point, yielding 64s wraparound and 3.8us resolution (one increment for each 477 bytes going out on a 1Gbps interface).

Relation to NTP timestamps: abs_send_time_24 = (ntp_timestamp_64 >> 14) & 0x00ffffff ; NTP timestamp is 32 bits for whole seconds, 32 bits fraction of second.

Notes: Packets are time stamped when going out, preferably close to metal. Intermediate RTP relays (entities possibly altering the stream) should remove the extension or set its own timestamp.