Real Time Protocol – What is an RTP?
The Real-Time Transport Protocol (RTP) is used to transmit audio, video and other media/data streams for real-time applications such as RTSP media streaming and Voice over IP (VoIP) voice and video conferencing. RTP streams carry the actual media payload encoded by an audio or video codec; RTCP statistics provide information to control the transmission of data packets during a session; and VOCAL’s adaptive jitter buffer delivers superior audio and video playout. RTP software also supports additional payloads for encoding redundant audio data (RFC 2198 – RTP Payload for Redundant Audio Data), DTMF, and telephony tones and signals. For some detailed examples, RTP Payload Format for MELPe Codec identifies the format used for the MELPe speech encoding rates and sample frames sizes, comfort noise procedures and packet loss concealment, and the RTP Payload Format for Tactical Secure Voice Cryptographic Interoperability Specification (TSVCIS) Codec does the same for the TSVCIS codec.
VOCAL’s RTP source code is optimized for DSPs and conventional processors from ADI, TI, Intel, ARM and other vendors. RTP software may be licensed as a library or part of a complete design with custom solutions available. Contact us to discuss your specific requirements for RTP streaming of audio and video.
Real Time Transport Protocol Features:
- RFC 3550/ RFC 3551 compliant
- RFC 2833 / RFC 4733 compliant
- Redundant RTP (RFC 2198) available
- RTCP for monitoring and control of RTP streams
- RTCP statistics include jitter delay, packet loss and timestamps
- RTCP-XR (RFC 3611) available
- Multiple send and receive streams per session
- Includes VOCAL’s Adaptive Jitter Buffer
- Easy to integrate Software API
- Available as a standalone library, or as part of an integrated software package
- MISRA compliant version (with limited deviations) available
RTP – Real-Time Transport Protocol
Real-time Transport Protocol provides real-time transmission of data over IP networks. RTP supports real-time end-to-end streaming and delivery services such as payload type identification, sequence numbering, and timestamping of packets.
RTP streams are typically delivered over UDP which is an unreliable transport mechanism. Hence, there is no guarantee of packet delivery, packets will be received in the order in which they were sent, or packets will be delivered at a constant rate. The packet sequence numbers and timestamps enable an application receiving RTP packets to reconstruct a sender’s packet sequence and detect changes in network jitter and adjust accordingly. An adaptive jitter buffer is used to ensure proper playout of out-of-order RTP packets, remove duplicate packets, and detection of changes in network jitter.
RTCP – Real-Time Transport Control Protocol
RTCP works with RTP for quality of service monitoring, statistics collection, and control of a related RTP stream. RTCP is used to report packet reception statistics to the sender to adapt, as needed, to network changes during an ongoing session. RTCP also provides extended reports (RTCP-XR) to supplement the basic RTCP statistics.
VOCAL’s RTP stack has support for a wide variety or RTP payloads and related specs. Here are a few. If you do not see what you are looking for, please contact us, we likely have it. We are continually adding support for new specifications, both for our packaged products as well as for customer specific use cases.
- RFC 3984 – RTP Payload Format for H.264 Video
- RFC 6597 RTP Payload Format for Society of Motion Picture and Television Engineers (SMPTE) ST 336 Encoded Data (KLV data)
- MISB EG 0802 – H.264 coding and multiplexing
- MISB RP 0804 – Real-Time Protocol for Full Motion Video
- RFC 2250 – RTP Payload Format for MPEG1/MPEG2 Video
- EUROCAE ED-137 Interoperability Standards for VoIP ATM Components
VOCAL’s optimized software is available for the following platforms. Please contact us for specific RTP supported platforms.