Back

Blog details

Video Streaming Protocols: HLS, DASH, WebRTC, RTMP and SRT

AIOZ Network
7 min readNovember 04, 2026
aioz-streamguide
AIOZ Stream knowledge hub cover with the headline Video Streaming Protocols: HLS, DASH, WebRTC, RTMP and SRT

Video streaming protocols are the rules that move video from an encoder to a server, and from that server to each viewer's player. Some carry a live feed in (RTMP, SRT, WHIP), others deliver it out (HLS, DASH, WebRTC), and the pair you pick sets your delay.

TL;DR:

  • Ingest protocols (RTMP, SRT, WHIP) push one feed from your encoder to a server, and delivery protocols (HLS, DASH, WebRTC) fan it out to viewers.
  • HLS and DASH cut video into small HTTP files that any CDN can cache, which is why they scale to huge audiences.
  • WebRTC sends frames as they are encoded, so it reaches sub-second delay but needs media servers to fan out.
  • HLS, DASH and RTMP run on TCP, while SRT and WebRTC run on UDP and recover lost packets themselves.
  • AIOZ Stream takes RTMP in, plays live video over HLS, and packages on-demand video as HLS or DASH.

What are video streaming protocols?

A video streaming protocol defines how media is split, addressed, requested and sent across a network so that playback can start before the whole file arrives. It sits one layer above the codec (H.264, H.265, AV1), which compresses the pictures, and the container (MP4, MPEG-TS, fMP4), which wraps them with audio and timing. For those lower layers, see how MP4, WebM and other containers differ.

Most live pipelines use two protocols. The first mile, called contribution or ingest, carries one high-quality feed from your encoder to a platform, while the last mile, called delivery, carries many copies to phones, browsers and TVs. A common pairing is OBS sending RTMP to a server, which transcodes the feed and serves it to thousands of viewers as HLS.

Labelled diagram of a live video pipeline: an encoder sends RTMP, SRT or WHIP to a platform that transcodes and packages the feed, which then reaches viewers as HLS or DASH over TCP through a CDN, or as WebRTC over UDP through an SFU
Where each protocol sits: ingest on the left, delivery on the right, and the transport each one runs on.

This page walks the field cluster by cluster, and the video streaming glossary defines every acronym you'll meet.

Ingest protocols: RTMP, SRT and WHIP

RTMP (Real-Time Messaging Protocol) came from Macromedia and later Adobe, which published its last specification in December 2012. It runs over TCP and once powered Flash playback in the browser. Flash is gone, but RTMP survived as the default way encoders push live video, because almost every encoder and platform still speaks it. The Enhanced RTMP project extends it with newer codecs such as HEVC and AV1. If you stream from OBS, you probably use RTMP already, as our OBS setup guide with RTMP URL and stream key shows.

SRT (Secure Reliable Transport) is an open-source protocol from Haivision that runs on UDP. When a packet goes missing, the receiver asks the sender to resend it, and SRT holds a constant end-to-end latency so those resends fit inside a fixed delay. The stream can also be encrypted with 128, 192 or 256-bit AES. Broadcasters use SRT to send contribution feeds over the public internet, where packet loss would stall a TCP link.

WHIP (WebRTC-HTTP Ingestion Protocol) became RFC 9725 in March 2025. It opens a WebRTC publishing session with a single HTTP POST, so a browser or encoder can send with WebRTC's low delay, and OBS Studio has offered WHIP output since version 30.0 in November 2023. RTSP, revised as RTSP 2.0 in RFC 7826, still runs many IP cameras and security systems.

HTTP delivery: HLS, DASH and LL-HLS

HLS (HTTP Live Streaming), defined in RFC 8216, splits video into short segments and lists them in a text playlist with the .m3u8 extension. The player reads that playlist, then fetches each segment over plain HTTP. Because every segment is an ordinary file, any CDN edge node can cache it, so a million viewers mostly hit caches rather than your origin. Our guide to M3U8 files and HLS segmentation walks through a real playlist line by line.

MPEG-DASH is the ISO/IEC 23009 standard built on the same idea, with an XML manifest called the MPD and support for any codec. The two differ mainly in manifest syntax and device support, as our HLS vs MPEG-DASH comparison shows, and CMAF segments can let one set of files serve both. Each format lists several bitrates of the same video, and the player switches between them as your bandwidth changes, which is adaptive bitrate streaming.

The cost of HTTP delivery is delay. RFC 8216 tells players not to start a live stream less than three target durations from the end of the playlist. With the 6-second segments Apple uses as its example, a standard HLS viewer therefore starts at least 18 seconds behind the live edge. Low-Latency HLS adds partial segments: Apple's example publishes 200-millisecond parts inside 6-second segments with the EXT-X-PART tag. Read how Low-Latency HLS works and when to use it for the full mechanics.

When do you need WebRTC instead of HLS?

You need WebRTC when viewers must respond to the stream within about a second, as in video calls, live auctions or co-watching. WebRTC is the browser's real-time media stack, standardized by the W3C and IETF and summarized in RFC 8825. It sends encrypted frames, usually over UDP, as soon as the encoder produces them, with no segments to fill and no playlist to poll.

The trade-off is scale, because each WebRTC viewer holds a live connection and large audiences need forwarding servers called Selective Forwarding Units (SFUs). Our HLS vs WebRTC decision guide compares latency, cost per viewer and device reach. For how real-time sessions connect people, see WebRTC mesh, SFU and MCU topologies. A common hybrid puts the hosts on WebRTC and mirrors their stage to HLS for everyone else.

Do streaming protocols use TCP or UDP?

Both, and that choice explains most of the latency gap between them. TCP delivers every byte in order and resends anything lost, so one missing packet holds up everything behind it. That's acceptable for HLS, DASH and RTMP, because their players and servers keep a buffer.

UDP sends packets with no delivery guarantee, so the protocol on top has to deal with loss. SRT resends missing packets within its fixed latency, while WebRTC conceals small gaps and lowers its bitrate. QUIC (RFC 9000) also runs over UDP and carries HTTP/3, and the IETF's Media over QUIC working group is building MoQ on it for CDN-style fan-out at near real-time delay. The same TCP and QUIC trade-offs appear outside video, as our Pin hub shows in how IPFS uses TCP and QUIC transports.

Latency by protocol

Each protocol sets a different floor, but the delay you see also includes capture, encoding, transcoding and the player's buffer, as the table shows.

ProtocolRoleTransportWhat sets its delay
RTMPIngestTCPEncoder buffer, plus TCP resends on a lossy link
SRTIngestUDPThe fixed latency it keeps for resends
WHIPIngestUDP (WebRTC)WebRTC's jitter buffer; no segments
HLSDeliveryTCP (HTTP)Segment length; players start 3 target durations from the live end
LL-HLSDeliveryTCP (HTTP)Partial segment length (200 ms in Apple's example)
DASHDeliveryTCP (HTTP)Segment length and the MPD's presentation delay
WebRTCDeliveryUDPJitter buffer only; AIOZ's docs list 0.2 to 1 second

To measure the total yourself, follow our guide to glass-to-glass latency and how to measure it. For live events on a node network, see how decentralized live streaming works.

In this pillar

HTTP adaptive streaming

Real-time and contribution protocols

Latency

How AIOZ Stream handles it

We built AIOZ Stream's live path on RTMP in and HLS out. You create a stream key and point OBS Studio or PRISM Live Studio at the RTMP server URL, and your viewers watch over HLS in the AIOZ player or an embed. The player toolbar adds a Low Latency Mode (Beta) for interactive broadcasts such as Q&A, auctions or gaming. For on-demand video, each quality you request is packaged as HLS (MPEG-TS or MP4 segments) or DASH (fMP4), and the API returns an hls_url and a dash_url.

You can also create a live session through the API; this request is quoted from the docs and was not run here:

curl --location --request POST 'https://api.aiozstream.network/api/live_streams/key_id/streamings' \
  --header 'accept: application/json' \
  --header 'stream-public-key: your_public_key_here' \
  --header 'stream-secret-key: your_secret_key_here' \
  --data-raw '{
    "title": "live_streaming_title",
    "save": true,
    "qualities": [
      { "resolution": "360p", "type": "hls", "container_type": "mpegts" },
      { "resolution": "720p", "type": "hls", "container_type": "mpegts" }
    ]
  }'

The response returns the session's hls_url, player_url and iframe embed. The OBS guide states "Protocol support: RTMP only", and the docs list no SRT, WHIP or WebRTC ingest endpoint and no latency figure for Low Latency Mode. Start with the Create Livestream guide to get your stream key and RTMP URL.

Frequently Asked Questions

Is HLS a protocol or a file format?
Both, since RFC 8216 defines the playlist format and the rules a client follows to fetch segments, while HTTP does the transport underneath.

Which video streaming protocol has the lowest latency?
WebRTC, usually under a second, because it sends frames as they are encoded; LL-HLS comes next at a few seconds, then standard HLS and DASH.

Is RTMP still used?
Yes, mostly for ingest: browsers no longer play RTMP, but most encoders and live platforms still accept it, and AIOZ Stream's live ingest is RTMP.

Is SRT better than RTMP?
Over long or lossy links usually yes, because SRT recovers lost packets on UDP within a set delay, while RTMP wins on compatibility because more platforms accept it.

Can one stream use several protocols?
Yes, and most do: a typical live stream arrives over RTMP or SRT and leaves as HLS or DASH.

References

We only send updates when meaningful changes ship, and you can unsubscribe anytime

Related Content

blog thumbnail

Video Streaming Protocols: HLS, DASH, WebRTC, RTMP and SRT

Video streaming protocols move video from encoder to viewer. See how RTMP, SRT, HLS, DASH and WebRTC differ in latency, transport and where each one fits.

aioz-streamguide
7 min readNovember 04, 2026
blog thumbnail

What Is Decentralized Live Streaming and How Does It Work?

Decentralized live streaming sends a real-time broadcast through independently run nodes instead of one company's servers. Here's how each stage of it works.

aioz-streamguide
6 min readNovember 03, 2026
blog thumbnail

Video Streaming Glossary: Codecs, Protocols and Delivery A-Z

A video streaming glossary of 114 terms, from AAC and ABR to WebRTC and Widevine, each defined in plain English with sources and links to the deep posts.

aioz-stream
23 min readOctober 31, 2026
blog thumbnail

Monitor Livestream Health With Bitrate, FPS and Viewer Count

Read the AIOZ Stream Statistics panel: bitrate in and out, FPS in and out and current viewers, plus the documented rules for each and what the docs leave out.

aioz-streamguide
6 min readOctober 30, 2026
blog thumbnail

How to Embed a Livestream on Your Website (Link or iFrame)

Embed an AIOZ Stream livestream with the Share button's iframe or send the Public Playback URL as a link. Covers API fields, public access limits and doc gaps.

aioz-streamguide
6 min readOctober 27, 2026
blog thumbnail

Stream Key vs Streaming Session: Preconfiguring a Livestream

Learn how a stream key differs from a streaming session on AIOZ Stream, what each one stores, and what to preconfigure before you go live. Docs-based guide.

aioz-streamguide
7 min readOctober 23, 2026