• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Video Timing
2
3The Video Timing extension is used to communicate a timing information on
4per-frame basis to receiver of rtp video stream. Contact <ilnik@google.com> for
5more info. It may be generalized to audio frames as well in the future.
6
7Name: "Video Timing" ; "RTP Header Extension for Video timing"
8
9Formal name: <http://www.webrtc.org/experiments/rtp-hdrext/video-timing>
10
11SDP "a= name": "video-timing" ; this is also used in client/cloud signaling.
12
13Wire format: 1-byte extension, 13 bytes of data. Total 14 bytes extra per packet
14(plus 1-3 padding byte in some cases, plus shared 4 bytes for all extensions
15present: 2 byte magic word 0xBEDE, 2 byte # of extensions).
16
17First byte is a flags field. Defined flags:
18
19  * 0x01 - extension is set due to timer.
20  * 0x02 - extension is set because the frame is larger than usual.
21
22Both flags may be set at the same time. All remaining 6 bits are reserved and
23should be ignored.
24
25Next, 6 timestamps are stored as 16-bit values in big-endian order, representing
26delta from the capture time of a packet in ms.
27Timestamps are, in order:
28
29  * Encode start.
30  * Encode finish.
31  * Packetization complete.
32  * Last packet left the pacer.
33  * Reserved for network.
34  * Reserved for network (2).
35
36Pacer timestamp should be updated inside the RTP packet by pacer component when
37the last packet (containing the extension) is sent to the network. Last two,
38reserved timstamps, are not set by the sender but are reserved in packet for any
39in-network RTP stream processor to modify.
40
41Notes: Extension shoud be present only in the last packet of video frames. If
42attached to other packets it should be ignored.
43