RTP and RTSP — Real-Time Transport Protocols
RTP: Real-time Transport Protocol (IETF RFC 3550) RTSP: Real-Time Streaming Protocol (IETF RFC 7826)
For RTP in Dante and AES67, see networking/dante and networking/aes67. For streaming cameras, see video/ptz-cameras.
RTP (Real-time Transport Protocol) and RTSP (Real-Time Streaming Protocol) are paired IETF protocols for real-time media delivery over IP. RTP carries the actual audio or video payload; RTSP is the signaling protocol that sets up, controls, and tears down RTP streams. In AV systems, RTP is the transport layer for Dante, AES67, SIP calls, IP camera streams, and IPTV. RTSP is the control protocol for IP camera stream access and some IPTV head-end systems.
RTP — Real-time Transport Protocol
RTP runs over UDP (not TCP) and provides:
- Sequence numbering: each packet carries a sequence number so the receiver can detect lost or out-of-order packets
- Timestamps: each packet carries a timestamp from the sender's clock, enabling receiver-side jitter buffering and synchronization
- Payload type identification: identifies the codec in use (LPCM, G.711, H.264, H.265, JPEG 2000, etc.)
- SSRC (Synchronization Source Identifier): a unique identifier for each RTP stream, allowing multiple streams to be multiplexed and separated
RTP does not guarantee delivery — that is UDP's behavior. Lost packets are not retransmitted (retransmission would arrive too late to be useful). Instead, applications use jitter buffers and FEC (Forward Error Correction) to tolerate packet loss.
RTP in Audio (Dante/AES67)
Dante and AES67 both use RTP to carry LPCM audio. A Dante unicast flow is a point-to-point RTP stream; a Dante multicast flow is an RTP stream sent to a multicast group address. The RTP timestamp drives the receiver's playout buffer, allowing clock recovery and jitter compensation. See glossary/ptp for how PTP clocking interacts with RTP.
RTP in Video
IP cameras stream H.264, H.265, or MJPEG video payloads in RTP packets. Each video frame is fragmented across multiple RTP packets with sequence numbers. The receiver re-assembles the frame before decoding. For PTZ cameras in AV systems, the RTSP/RTP stream is typically consumed by an NVR (Network Video Recorder), a video wall controller, or a software video switcher.
RTSP — Real-Time Streaming Protocol
RTSP is a text-based control protocol (similar to HTTP syntax) that sets up and controls RTP streams. The typical RTSP exchange:
- DESCRIBE: client requests stream metadata (SDP file describing codec, bitrate, port)
- SETUP: client specifies RTP port numbers for the stream
- PLAY: client starts the stream
- PAUSE: client pauses (optional)
- TEARDOWN: client ends the session
RTSP streams from IP cameras are accessed at a URL in the format:
rtsp://[username:password@]ip-address/[stream-path]
Common RTSP paths by manufacturer:
- Axis cameras:
rtsp://ip/axis-media/media.amp - Sony:
rtsp://ip/media/video1 - Hikvision:
rtsp://ip:554/Streaming/Channels/101 - ONVIF standard: discovered via ONVIF GetStreamUri
RTSP port: TCP 554 (default). Must be open in firewalls between the RTSP client (NVR, video wall controller) and the camera.
RTCP — Real-Time Control Protocol
RTCP is a companion to RTP that carries quality statistics: packet loss, jitter, round-trip time. RTCP uses the RTP port + 1 (e.g., RTP on UDP 5004 → RTCP on UDP 5005). RTCP reports allow Dante Controller's Network Status view to display packet loss statistics. RTCP must be allowed through firewalls alongside RTP.
Common Pitfalls
-
Firewall blocking RTSP on TCP 554 or RTP ports. RTSP uses TCP 554 for signaling, but the actual RTP stream uses dynamically negotiated UDP ports. Many firewalls block the RTP ports even when 554 is open. Fix: configure the camera or RTSP server to use a fixed RTP port range and open that range in the firewall; or use RTSP over HTTP tunneling (TCP 80/443) if supported.
-
Confusing RTSP with RTMP. RTSP/RTP is pull-based (client requests a stream from a server). RTMP (Real-Time Messaging Protocol, used by streaming platforms) is push-based (encoder sends to a server). PTZ cameras typically provide RTSP for internal network use; live streaming to YouTube/Twitch requires RTMP output from an encoder or software switcher.
-
RTSP authentication failure. Many cameras require username/password authentication in the RTSP URL. Omitting credentials causes RTSP to return 401 Unauthorized. Fix: include credentials in the URL (
rtsp://admin:password@ip/stream) or configure the NVR/client with the camera's RTSP credentials.