Share this page on
Article provided by Wikipedia
See also: "RTP audio video profile
One of the design considerations of RTP is to carry a range of multimedia formats and allow new formats without revising the RTP standard. The design of RTP is based on the architectural principle known as "application level framing (ALF). The information required by a specific application's needs is not included in the generic RTP header, but is instead provided through RTP profiles and payload formats. For each class of application (e.g., audio, video), RTP defines a profile and one or more associated payload formats. A complete specification of RTP for a particular application usage requires profile and payload format specifications.:71
The profile defines the codecs used to encode the payload data and their mapping to payload format codes in the field Payload Type (PT) of the RTP header. Each profile is accompanied by several payload format specifications, each of which describes the transport of a particular encoded data. The audio payload formats include "G.711, "G.723, "G.726, "G.729, "GSM, "QCELP, "MP3, and "DTMF, and the video payload formats include "H.261, "H.263, "H.264, and "MPEG-4.
Examples of RTP Profiles include:
RTP packet header
||Profile-specific extension header ID
||Extension header length
The RTP header has a minimum size of 12 bytes. After the header, optional header extensions may be present. This is followed by the RTP payload, the format of which is determined by the particular class of application. The fields in the header are as follows:
- Version: (2 bits) Indicates the version of the protocol. Current version is 2.
- P (Padding): (1 bit) Used to indicate if there are extra padding bytes at the end of the RTP packet. A padding might be used to fill up a block of certain size, for example as required by an encryption algorithm. The last byte of the padding contains the number of padding bytes that were added (including itself).:12
- X (Extension): (1 bit) Indicates presence of an Extension header between standard header and payload data. This is application or profile specific.
- CC (CSRC count): (4 bits) Contains the number of CSRC identifiers (defined below) that follow the fixed header.:12
- M (Marker): (1 bit) Used at the application level and defined by a profile. If it is set, it means that the current data has some special relevance for the application.:13
- PT (Payload type): (7 bits) Indicates the format of the payload and determines its interpretation by the application. This is specified by an RTP profile. For example, see RTP Profile for audio and video conferences with minimal control ("RFC 3551).
- Sequence number: (16 bits) The sequence number is incremented by one for each RTP data packet sent and is to be used by the receiver to detect packet loss and to restore packet sequence. The RTP does not specify any action on packet loss; it is left to the application to take appropriate action. For example, video applications may play the last known frame in place of the missing frame. According to "RFC 3550, the initial value of the sequence number should be random to make "known-plaintext attacks on "encryption more difficult.:13 RTP provides no guarantee of delivery, but the presence of sequence numbers makes it possible to detect missing packets.
- Timestamp: (32 bits) Used to enable the receiver to play back the received samples at appropriate intervals. When several media streams are present, the timestamps are independent in each stream, and may not be relied upon for media synchronization. The granularity of the timing is application specific. For example, an audio application that samples data once every 125 µs (8 kHz, a common sample rate in digital telephony) would use that value as its clock resolution. The clock granularity is one of the details that is specified in the RTP profile for an application.
- SSRC: (32 bits) Synchronization source identifier uniquely identifies the source of a stream. The synchronization sources within the same RTP session will be unique.:15
- CSRC: (32 bits each) Contributing source IDs enumerate contributing sources to a stream which has been generated from multiple sources.:15
- Header extension: (optional) The first 32-bit word contains a profile-specific identifier (16 bits) and a length specifier (16 bits) that indicates the length of the extension (EHL = extension header length) in 32-bit units, excluding the 32 bits of the extension header.:17
A functional network-based system includes other protocols and standards in conjunction with RTP. Protocols such as SIP, "Jingle, RTSP, "H.225 and "H.245 are used for session initiation, control and termination. Other standards, such as H.264, MPEG and H.263, are used to encode the payload data as specified via RTP Profile.
An RTP sender captures the multimedia data, then encodes, frames and transmits it as RTP packets with appropriate timestamps and increasing sequence numbers. Depending on the RTP profile in use, the sender may set the Payload Type field. The RTP receiver captures the RTP packets, detects missing packets, and may reorder packets. It decodes the frames according to the payload format and presents the stream to its user.
- "RFC 1889, RTP: A Transport Protocol for Real-Time Applications, Obsoleted by "RFC 3550.
- "RFC 3550, Standard 64, RTP: A Transport Protocol for Real-Time Applications
- "RFC 3551, Standard 65, RTP Profile for Audio and Video Conferences with Minimal Control
- "RFC 3190, RTP Payload Format for 12-bit DAT Audio and 20- and 24-bit Linear Sampled Audio
- "RFC 6184, RTP Payload Format for H.264 Video
- "RFC 4103, RTP Payload Format for Text Conversation
- "RFC 3640, RTP Payload Format for Transport of MPEG-4 Elementary Streams
- "RFC 6416, RTP Payload Format for MPEG-4 Audio/Visual Streams
- "RFC 2250, RTP Payload Format for MPEG1/MPEG2 Video
- "RFC 4175, RTP Payload Format for Uncompressed Video
- "RFC 6295, RTP Payload Format for MIDI
- "RFC 4696, An Implementation Guide for RTP MIDI
- "RFC 7587, RTP Payload Format for the Opus Speech and Audio Codec
- "RFC 7656, A Taxonomy of Semantics and Mechanisms for Real-Time Transport Protocol (RTP) Sources
- ^ Bits are ordered most significant to least significant; bit offset 0 is the most significant bit of the first octet. Octets are transmitted in "network order. Bit transmission order is medium dependent.
- ^ a b Daniel Hardy (2002). Network. De Boeck Université. p. 298.
- ^ a b c Perkins 2003, p. 55
- ^ a b Perkins 2003, p. 46
- ^ "RFC 4571
- ^ Farrel, Adrian (2004). The Internet and its protocols. Morgan Kaufmann. p. 363. "ISBN "978-1-55860-913-6.
- ^ Ozaktas, Haldun M.; Levent Onural (2007). THREE-DIMENSIONAL TELEVISION. Springer. p. 356. "ISBN "978-3-540-72531-2.
- ^ a b c Larry L. Peterson (2007). Computer Networks. Morgan Kaufmann. p. 430. "ISBN "1-55860-832-X.
- ^ a b Perkins 2003, p. 56
- ^ Peterson 2007, p. 435
- ^ Zurawski, Richard (2004). "RTP, RTCP and RTSP protocols". The industrial information technology handbook. CRC Press. pp. 28–7. "ISBN "978-0-8493-1985-3.
- ^ "RFC 4566: SDP: Session Description Protocol, M. Handley, V. Jacobson, C. Perkins, IETF (July 2006)
- ^ a b c d e f g h i "RFC 3550
- ^ Multiplexing RTP Data and Control Packets on a Single Port. IETF. April 2010. RFC 5761. https://tools.ietf.org/html/rfc5761. Retrieved November 21, 2015.
- ^ Collins, Daniel (2002). "Transporting Voice by using IP". Carrier grade voice over IP. McGraw-Hill Professional. pp. 47. "ISBN "0-07-136326-2.
- ^ a b Chou, Philip A.; Mihaela van der Schaar (2007). Multimedia over IP and wireless networks. Academic Press. pp. 514. "ISBN "0-12-088480-1.
- ^ Perkins 2003, p. 60
- ^ Perkins 2003, p. 367
- ^ Breese, Finley (2010). Serial Communication over RTP/CDP. BoD - Books on Demand. pp. . "ISBN "978-3-8391-8460-8.
- ^ Peterson 2007, p. 430
- ^ a b c Peterson 2007, p. 431
- ^ Perkins 2003, p. 59
- ^ a b Peterson, p.432
- ^ a b Perkins 2003, pp. 11–13
- Perkins, Colin (2003), RTP, Addison-Wesley, "ISBN "978-0-672-32249-5
- Peterson, Larry L.; Davie, Bruce S. (2007), Computer Networks (4 ed.), Morgan Kaufmann, "ISBN "978-0-12-374013-7
- "RTP". Network Protocols Handbook. Javvin Technologies. 2005. "ISBN "978-0-9740945-2-6.
- "RTP". Broadband Networks. Ministry of Human resources, India. 2008.