MarketReal-time Transport Protocol
Company Profile

Real-time Transport Protocol

The Real-time Transport Protocol (RTP) is a network protocol for delivering audio and video over IP networks. RTP is used 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.

Overview
Research on audio and video over packet-switched networks dates back to the early 1970s. The Internet Engineering Task Force (IETF) published in 1977 and began developing RTP in 1992, and would go on to develop Session Announcement Protocol (SAP), the Session Description Protocol (SDP), and the Session Initiation Protocol (SIP). RTP is designed for end-to-end, real-time transfer of streaming media. The protocol provides facilities for jitter compensation and detection of packet loss and out-of-order delivery, which are common, especially during UDP transmissions on an IP network. RTP allows data transfer to multiple destinations through IP multicast. RTP is regarded as the primary standard for audio/video transport in IP networks and is used with an associated profile and payload format. The Transmission Control Protocol (TCP), although standardized for RTP use, 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). and DCCP, although, , they were not in widespread use. 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. The RTP specification describes two protocols: RTP and RTCP. RTP is used for the transfer of multimedia data, and the RTCP is used to periodically send control information and QoS parameters. 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%. 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 specify the parameters for the sessions. An RTP session is established for each multimedia stream. Audio and video streams may use separate RTP sessions, enabling a receiver to selectively receive components of a particular stream. The RTP and RTCP design is independent of the transport protocol. Applications most typically use UDP with port numbers in the unprivileged range (1024 to 65535). The Stream Control Transmission Protocol (SCTP) and the Datagram Congestion Control Protocol (DCCP) may be used when a reliable transport protocol is desired. The RTP specification recommends even port numbers for RTP and the use of the next odd port number for the associated RTCP session. A single port can be used for RTP and RTCP in applications that multiplex the protocols. RTP is used by real-time multimedia applications such as voice over IP, audio over IP, WebRTC, Internet Protocol television, and professional video over IP including SMPTE 2022 and SMPTE 2110. ==Profiles and payload formats==
Profiles and payload formats
RTP is designed to carry a multitude of multimedia formats, which permits the development of new formats without revising the RTP standard. To this end, the information required by a specific application of the protocol is not included in the generic RTP header. For each class of application (e.g., audio, video), RTP defines a profile and associated payload formats. Every instantiation of RTP in a particular application requires a profile and payload format specifications. The profile defines the codecs used to encode the payload data and their mapping to payload format codes in the protocol field Payload Type (PT) of the RTP header. Each profile is accompanied by several payload format specifications, each of which describes the transport of particular encoded data. The mapping of MPEG-4 audio/video streams to RTP packets is specified in , and H.263 video payloads are described in . Examples of RTP profiles include: • The RTP profile for Audio and video conferences with minimal control () defines a set of static payload type assignments, and a dynamic mechanism for mapping between a payload format and a PT value using Session Description Protocol (SDP). • The Secure Real-time Transport Protocol (SRTP) () defines an RTP profile that provides cryptographic services for the transfer of payload data. • The experimental Control Data Profile for RTP (RTP/CDP) for machine-to-machine communications. ==Packet header==
Packet header
RTP packets are created at the application layer and handed to the transport layer for delivery. Each unit of RTP media data created by an application begins with the RTP packet header. {{APHD|999|hoctets={{tmath|12+4\times\mathrm{CC} }}|hbits={{tmath|96+32\times\mathrm{CC} }}|bits1=16|bits2=16|background1=linen|background2=linen|field1=Profile-specific Extension Header ID|field2=Extension Header Length}} {{APHD|999|hoctets={{tmath|16+4\times\mathrm{CC} }}|hbits={{tmath|128+32\times\mathrm{CC} }}|bits1=32|background1=linen|field1=Extension Data}} 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: ; ; ; ; ; ; ; ; ; ; ; :; :; :; ==Application design==
Application design
A functional multimedia application requires other protocols and standards used 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 for encoding the payload data as specified by the applicable RTP profile. An RTP sender captures the multimedia data, then encodes, frames and transmits it as RTP packets with appropriate timestamps and increasing timestamps and sequence numbers. The sender sets the payload type field in accordance with connection negotiation and the RTP profile in use. The RTP receiver detects missing packets and may reorder packets. It decodes the media data in the packets according to the payload type and presents the stream to its user. ==Standards documents==
Standards documents
• • • • • • • • • • • • • • • • ==See also==
tickerdossier.comtickerdossier.substack.com