The Real-time
Transport Protocol (RTP) defines a standardized packet format 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, television services and web-based
push-to-talk features.
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 originated and received on even port numbers and
the associated RTCP communication uses the next higher odd port number.
RTP is one of the technical foundations of Voice over IP and in this
context is often used in conjunction with a signaling protocol which assists in
setting up connections across the network.
Protocol components
The RTP specification describes following sub-protocols:
· The
data transfer protocol, RTP, which deals with the transfer of real-time
data. Information provided by this protocol includes timestamps (for
synchronization), sequence numbers (for packet loss and reordering detection)
and the payload format which indicates the encoded format of the data.
· A
control protocol, RTCP, is used to specify quality of service (QoS)
feedback and synchronization between the media streams. The bandwidth of RTCP
traffic compared to RTP is small, typically around 5%.
· An optional
signaling protocol such as H.323 or Session Initiation Protocol (SIP).
· An optional
media description protocol such as Session Description Protocol.
Sessions
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 will have separate RTP sessions, enabling a receiver to
deselect a particular stream. The ports which form a session are negotiated
using other protocols such as RTSP (using SDP in the setup method) and SIP. RTP
and RTCP typically use unprivileged UDP ports (1024 to 65535).
No comments:
Post a Comment