See more Real time Transport Protocol articles on AOD.

Powered by
TTSReader
Share this page on
Article provided by Wikipedia


( => ( => ( => Real-time Transport Protocol [pageid] => 26163 ) =>

The Real-time Transport Protocol (RTP) is a "network protocol for delivering audio and video over "IP networks. RTP is used extensively in communication and entertainment systems that involve "streaming media, such as "telephony, "video teleconference applications including "WebRTC, "television services and web-based "push-to-talk features.

RTP typically runs over "User Datagram Protocol (UDP). RTP is used in conjunction with the "RTP Control Protocol (RTCP). While RTP carries the media streams (e.g., audio and video), RTCP is used to monitor transmission statistics and "quality of service (QoS) and aids "synchronization of multiple streams. RTP is one of the technical foundations of "Voice over IP and in this context is often used in conjunction with a "signaling protocol such as the "Session Initiation Protocol (SIP) which establishes connections across the network.

RTP was developed by the Audio-Video Transport Working Group of the "Internet Engineering Task Force (IETF) and first published in 1996 as "RFC 1889, superseded by "RFC 3550 in 2003.

Contents

Overview[edit]

RTP is designed for "end-to-end, "real-time, transfer of "streaming media. The protocol provides facilities for "jitter compensation and detection of out of sequence arrival in data, which are common during transmissions on an IP network. RTP allows data transfer to multiple destinations through "IP multicast.[1] RTP is regarded as the primary standard for audio/video transport in IP networks and is used with an associated profile and payload format.[2]

Real-time "multimedia streaming applications require timely delivery of information and often can tolerate some packet loss to achieve this goal. For example, loss of a packet in audio application may result in loss of a fraction of a second of audio data, which can be made unnoticeable with suitable "error concealment algorithms.[3] The "Transmission Control Protocol (TCP), although standardized for RTP use,[4] is not normally used in RTP applications because TCP favors reliability over timeliness. Instead the majority of the RTP implementations are built on the "User Datagram Protocol (UDP).[3] Other transport protocols specifically designed for multimedia sessions are "SCTP[5] and "DCCP,[6] although, as of 2012, they are not in widespread use.[7]

RTP was developed by the Audio/Video Transport working group of the IETF standards organization. RTP is used in conjunction with other protocols such as "H.323 and "RTSP.[2] The RTP standard defines a pair of protocols: RTP and RTCP. RTP is used for transfer of multimedia data, and the RTCP is used to periodically send control information and QoS parameters.[8]

The RTP specification describes two sub-protocols, RTP and RTCP. The data transfer protocol, RTP, facilitates the transfer of real-time data. Information provided by this protocol include timestamps (for synchronization), sequence numbers (for packet loss and reordering detection) and the payload format which indicates the encoded format of the data.[9] The control protocol, RTCP, is used for quality of service (QoS) feedback and synchronization between the media streams. The bandwidth of RTCP traffic compared to RTP is small, typically around 5%.[9][10]

RTP sessions are typically initiated between communicating peers using a signaling protocol, such as "H.323, the "Session Initiation Protocol (SIP), "RTSP, or "Jingle ("XMPP). These protocols may use the "Session Description Protocol to negotiate the parameters for the sessions.[11]

An RTP session is established for each multimedia stream. A session consists of an "IP address with a pair of ports for RTP and RTCP. For example, audio and video streams use separate RTP sessions, enabling a receiver to selectively receive components of a particular stream.[12]

The specification recommends that RTP port numbers are chosen to be even and that each associated RTCP port be the next higher odd number.[13]:68 However, a single port is chosen for RTP and RTCP in applications that multiplex the protocols.[14] RTP and RTCP typically use unprivileged UDP ports (1024 to 65535),[15] but may also use other transport protocols, most notably, "SCTP and "DCCP, as the protocol design is transport independent.

Profiles and payload formats[edit]

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.[8] For each class of application (e.g., audio, video), RTP defines a profile and one or more associated payload formats.[8] A complete specification of RTP for a particular application usage requires profile and payload format specifications.[13]: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.[2] 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-1/"MPEG-2.[16] The mapping of "MPEG-4 audio/video streams to RTP packets is specified in "RFC 3016, and H.263 video payloads are described in "RFC 2429.[17]

Examples of RTP Profiles include:

Packet header[edit]

RTP packet header
Offsets Octet 0 1 2 3
Octet Bit [a] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 0 Version P X CC M PT Sequence number
4 32 Timestamp
8 64 SSRC identifier
12 96 CSRC identifiers
...
12+4×CC 96+32×CC Profile-specific extension header ID Extension header length
16+4×CC 128+32×CC Extension header
...

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.[20] The fields in the header are as follows:

RTP-based systems[edit]

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.[24]

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.[24]

Standards documents[edit]

See also[edit]

Notes[edit]

  1. ^ 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.

References[edit]

  1. ^ a b Daniel Hardy (2002). Network. De Boeck Université. p. 298. 
  2. ^ a b c Perkins 2003, p. 55
  3. ^ a b Perkins 2003, p. 46
  4. ^ "RFC 4571
  5. ^ Farrel, Adrian (2004). The Internet and its protocols. Morgan Kaufmann. p. 363. "ISBN "978-1-55860-913-6. 
  6. ^ Ozaktas, Haldun M.; Levent Onural (2007). THREE-DIMENSIONAL TELEVISION. Springer. p. 356. "ISBN "978-3-540-72531-2. 
  7. ^ Hogg, Scott. "What About Stream Control Transmission Protocol (SCTP)?". Network World. Retrieved 2017-10-04. 
  8. ^ a b c Larry L. Peterson (2007). Computer Networks. Morgan Kaufmann. p. 430. "ISBN "1-55860-832-X. 
  9. ^ a b Perkins 2003, p. 56
  10. ^ Peterson 2007, p. 435
  11. ^ "RFC 4566: SDP: Session Description Protocol, M. Handley, V. Jacobson, C. Perkins, IETF (July 2006)
  12. ^ Zurawski, Richard (2004). "RTP, RTCP and RTSP protocols". The industrial information technology handbook. CRC Press. pp. 28–7. "ISBN "978-0-8493-1985-3. 
  13. ^ a b c d e f g h i "RFC 3550
  14. ^ 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. 
  15. ^ Collins, Daniel (2002). "Transporting Voice by using IP". Carrier grade voice over IP. McGraw-Hill Professional. pp. 47. "ISBN "0-07-136326-2. 
  16. ^ Perkins 2003, p. 60
  17. ^ Chou, Philip A.; Mihaela van der Schaar (2007). Multimedia over IP and wireless networks. Academic Press. pp. 514. "ISBN "0-12-088480-1. 
  18. ^ Perkins 2003, p. 367
  19. ^ Breese, Finley (2010). Serial Communication over RTP/CDP. BoD - Books on Demand. pp. [1]. "ISBN "978-3-8391-8460-8. 
  20. ^ Peterson 2007, p. 430
  21. ^ a b c Peterson 2007, p. 431
  22. ^ Perkins 2003, p. 59
  23. ^ a b Peterson, p.432
  24. ^ a b Perkins 2003, pp. 11–13

External links[edit]

) )