{"id":91158,"date":"2026-03-26T12:16:33","date_gmt":"2026-03-26T12:16:33","guid":{"rendered":"https:\/\/sophiaamin.co.uk\/?p=91158"},"modified":"2026-05-21T11:38:01","modified_gmt":"2026-05-21T11:38:01","slug":"introduction-to-the-real-time-transport-protocol-6","status":"publish","type":"post","link":"https:\/\/sophiaamin.co.uk\/index.php\/2026\/03\/26\/introduction-to-the-real-time-transport-protocol-6\/","title":{"rendered":"Introduction to the Real-time Transport Protocol RTP Web APIs MDN"},"content":{"rendered":"<p>RTP itself doesn&#8217;t provide every possible feature, which is why other protocols are also used by WebRTC. The very fact that RTCP is defined in the same RFC as RTP is a clue as to just how closely-interrelated these two protocols are. Keeping latency to a minimum is especially important for WebRTC, since face-to-face communication needs to be performed with as little latency as possible. A functional multimedia application requires other protocols and standards used in conjunction with RTP. RTP is designed to carry a multitude of multimedia formats, which permits the development of new formats without revising the RTP standard. The Stream Control Transmission Protocol (SCTP) and the Datagram Congestion Control Protocol (DCCP) may be used when a reliable transport protocol is desired.<br \/>\nUnlike conventional protocols in which additional functions might be accommodated by making the protocol more general or by adding an option mechanism that would require parsing, RTP is intended to be tailored through modifications and\/or additions to the headers as needed. The latter aspect of RTCP may be sufficient for &#8220;loosely controlled&#8221; sessions, i.e., where there is no explicit membership control and set-up, but it is not necessarily intended to support all of an application&#8217;s control communication requirements. While RTP is primarily designed to satisfy the needs of multi- participant multimedia conferences, it is not limited to that particular application. The sequence numbers included in RTP allow the receiver to reconstruct the sender&#8217;s packet sequence, but sequence numbers might also be used to determine the proper location of a packet, for example in video decoding, without necessarily decoding packets in sequence. It does not guarantee delivery or prevent out-of-order delivery, nor does it assume that the underlying network is reliable and delivers packets in sequence. However, RTP may be used with other suitable underlying network or transport protocols (see Section 11).<\/p>\n<ul>\n<li>For example, an application may be designed to send only CNAME, NAME and EMAIL and not any others.<\/li>\n<li>These names are for use by higher-level control protocols, such as the Session Description Protocol (SDP), RFC 2327 , to refer to transport methods.<\/li>\n<li>A translator that does not modify the data packets, for example one that just replicates between a multicast address and a unicast address, MAY simply forward RTCP packets unmodified as well.<\/li>\n<li>However, RTP may be used with other suitable underlying network or transport protocols (see Section 11).<\/li>\n<li>That section also now explains that multiplexing multiple sources of the same medium based on SSRC identifiers may be appropriate and is the norm for multicast sessions.<\/li>\n<\/ul>\n<h2>What is SRTP?<\/h2>\n<p>It is RECOMMENDED that stronger encryption algorithms such as Triple-DES be used in place of the default algorithm, and noted that the SRTP profile based on AES will be the correct choice in the future. For unicast RTP sessions, distinct port pairs may be used for the two ends (Sections 3, 7.1 and 11). O Also in Section 6.2 it is specified that the minimum <a href=\"https:\/\/luckygans-casino.nl\/\">luckygans casino<\/a> RTCP interval may be scaled to smaller values for high bandwidth sessions, and that the initial RTCP delay may be set to zero for unicast sessions.<\/p>\n<h2>Jitter Buffer<\/h2>\n<p>Actual presentation occurs some time later as determined by the receiver. Therefore, although these timestamps are sufficient to reconstruct the timing of a single stream, directly comparing RTP timestamps from different media is not effective for synchronization. The resolution of the clock MUST be sufficient for the desired synchronization accuracy and for measuring packet arrival jitter (one tick per video frame is typically not sufficient). The sampling instant MUST be derived from a clock that increments monotonically and linearly in time to allow synchronization and jitter calculations (see Section 6.4.1).<\/p>\n<ul>\n<li>While RTP carries the media data, RTCP carries control information that enables quality monitoring, adaptive streaming, and synchronization.<\/li>\n<li>Introduction This memorandum specifies the real-time transport protocol (RTP), which provides end-to-end delivery services for data with real-time characteristics, such as interactive audio and video.<\/li>\n<li>This identifier SHOULD be chosen randomly, with the intent that no two synchronization sources within the same RTP session will have the same SSRC identifier.<\/li>\n<li>RTP is critical for synchronized and lag-free audio and video delivery, particularly in modern-day video conferencing platforms.<\/li>\n<li>This feedback function is performed by the RTCP sender and receiver reports, described below in Section 6.4.<\/li>\n<li>O To provide a binding across multiple media tools used by one participant in a set of related RTP sessions, the CNAME SHOULD be fixed for that participant.<\/li>\n<\/ul>\n<h2>Common Use Cases<\/h2>\n<p>Examples of such protocols include the Session Initiation Protocol (SIP) (RFC 3261 ), ITU Recommendation H.323 and applications using SDP (RFC 2327 ), such as RTSP (RFC 2326 ). It is also acceptable for a third-party monitor to receive the RTP data packets but not send RTCP packets or otherwise be counted in the session. The monitor function is likely to be built into the application(s) participating in the session, but may also be a separate application that does not otherwise participate and does not send or receive the RTP data packets (since they are on a separate port). An end system can act as one or more synchronization sources in a particular RTP session, but typically only one. Standards Track Page 10 RFC 3550 RTP July 2003 was combined to produce the outgoing packet, allowing the receiver to indicate the current talker, even though all the audio packets contain the same SSRC identifier (that of the mixer). A participant need not use the same SSRC identifier for all the RTP sessions in a multimedia session; the binding of the SSRC identifiers is provided through RTCP (see Section 6.5.1).<br \/>\nThe only difference between the sender report (SR) and receiver report (RR) forms, besides the packet type code, is that the sender report includes a 20-byte sender information section for use by active senders. 6.4 Sender and Receiver Reports RTP receivers provide reception quality feedback using RTCP report packets which may take one of two forms depending upon whether or not the receiver is also a sender. In particular, this approach should be applied to the multiple sessions of a layered encoding scheme (see Section 2.4). For example, an application may be designed to send only CNAME, NAME and EMAIL and not any others. Rather than estimate these fractions dynamically, it is recommended that the percentages be translated statically into report interval counts based on the typical length of an item. To do this, the participant computes the deterministic (without  the randomization factor) calculated interval Td for a receiver, that is, with we_sent false.<\/p>\n<h2>RTP Header Structure<\/h2>\n<p>The timestamp  reflects when the media was captured, enabling the receiver to play it back at the correct rate regardless of network delay variations. The sequence number increments by one for every packet, allowing the receiver to detect lost packets and reorder any that arrive out of sequence. Applications like Zoom, Microsoft Teams, Google Meet, and most SIP-based phone systems all rely on RTP to carry their media streams. It is always paired with RTCP (RTP Control Protocol), which provides quality feedback, participant identification, and synchronization information. It is designed specifically for continuous media streams where timeliness matters more than perfect delivery.<\/p>\n<h2>RTP Payload Types<\/h2>\n<p>Security Considerations RTP suffers from the same security liabilities as the underlying protocols. Those are the RTCP fraction of session bandwidth, the minimum report interval, and the bandwidth split between senders and receivers. A profile for audio and video applications may be found in the companion RFC 3551. Carrying several RTP packets in one network or transport packet reduces header overhead and may simplify synchronization between different streams. A profile MAY specify a framing method to be used even when RTP is carried in protocols that do provide framing in order to allow carrying several RTP packets in one lower-layer protocol data unit, such as a UDP packet.<br \/>\nApplications typically run RTP on top of UDP to make use of its multiplexing and checksum services; both protocols contribute parts of the transport protocol functionality. RTP and RTCP are designed to be independent of the underlying transport and network layers. Abstract This memorandum describes RTP, the real-time transport protocol.<br \/>\nWhen the transient message becomes inactive, the NOTE item SHOULD continue to be transmitted a few times at the same repetition rate but with a string of length zero to signal the receivers. Standards Track Page 47 RFC 3550 RTP July 2003 If each application creates its CNAME independently, the resulting CNAMEs may not be identical as would be required to provide a binding across multiple media tools belonging to one participant in a set of related RTP sessions. O To provide a binding across multiple media tools used by one participant in a set of related RTP sessions, the CNAME SHOULD be fixed for that participant. The variation in delay until transmission does reduce the accuracy of the jitter calculation as a measure of the behavior of the network by itself, but it is appropriate to include considering that the receiver buffer must accommodate it. Because the jitter calculation is based on the RTP timestamp which represents the instant when the first data in the packet was sampled, any variation in the delay between that sampling instant and the time the packet is transmitted will affect the resulting jitter that is calculated. To allow comparison across receivers, it is important the the jitter be calculated according to the same formula by all receivers.<\/p>\n<p>For example, for audio packets the SSRC identifiers of all sources that were mixed together to create a packet are listed, allowing correct talker indication at the receiver. Section 8 describes the probability of collision along with a mechanism for resolving collisions and detecting RTP-level forwarding loops based on the uniqueness of the SSRC identifier. This identifier SHOULD be chosen randomly, with the intent that no two synchronization sources within the same RTP session will have the same SSRC identifier. The audio and video may even be transmitted by different hosts if the reference clocks on the two hosts are synchronized by some means such as NTP.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>RTP itself doesn&#8217;t provide every possible feature, which is why other protocols are also used by WebRTC. The very fact that RTCP is defined in the same RFC as RTP is a clue as to just how closely-interrelated these two protocols are. Keeping latency to a minimum is especially important for WebRTC, since face-to-face communication [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[],"class_list":["post-91158","post","type-post","status-publish","format-standard","hentry","category-casino"],"_links":{"self":[{"href":"https:\/\/sophiaamin.co.uk\/index.php\/wp-json\/wp\/v2\/posts\/91158","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sophiaamin.co.uk\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sophiaamin.co.uk\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sophiaamin.co.uk\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sophiaamin.co.uk\/index.php\/wp-json\/wp\/v2\/comments?post=91158"}],"version-history":[{"count":1,"href":"https:\/\/sophiaamin.co.uk\/index.php\/wp-json\/wp\/v2\/posts\/91158\/revisions"}],"predecessor-version":[{"id":91160,"href":"https:\/\/sophiaamin.co.uk\/index.php\/wp-json\/wp\/v2\/posts\/91158\/revisions\/91160"}],"wp:attachment":[{"href":"https:\/\/sophiaamin.co.uk\/index.php\/wp-json\/wp\/v2\/media?parent=91158"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sophiaamin.co.uk\/index.php\/wp-json\/wp\/v2\/categories?post=91158"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sophiaamin.co.uk\/index.php\/wp-json\/wp\/v2\/tags?post=91158"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}