SR-RTP Documentation

A good overview of the SR-RTP architecture appears in this Packet Video 2001 paper.

Follow this link for installation notes.

The implementation of the user-level-application-visible SR-RTP API

An overview of the implementation architecture is shown in the following figure (click on the figure or here for a bigger picture). The server listens for requests on an RTSP port, establishes session parameters via SDP, and streams requested data to the client via RTP (over UDP) that has been extended to support application-level framing (ALF) and selective reliability. Feedback is provided to the server via RTCP receiver reports and is used to adjust the congestion window size at the server using the Congestion Manager (CM). The CM implements a TCP-friendly congestion control algorithm for the MPEG-4 streams and provides an API by which the server adapts to prevailing network conditions.

Our system supports backwards-compatible extensions to RTP/RTCP that allow for the application-level framing of the data with Application Data Units (ADUs). ADUs enable fragmentation and reassembly of independently processible units of data and also make selective recovery of application specific data units possible at the receiver. For MPEG-4, one frame of the compressed video bit-stream (separated by VOP start codes) corresponds to one ADU. These frames are packetized by the sender and then, when they are received by the receiver, are reassembled and passed to the application layer for decoding once the complete frame has been received. An ADU may involve multiple packets (or ADU fragments): each is independently named in order to efficiently request and perform selective retransmissions.

Comments or suggestions? Email videocm@nms.lcs.mit.edu.