Streaming Media Protocols: RTMP, HLS, DASH
Streaming media helps you reach audiences on phones, tablets, and desktops. Three common protocols guide how video is sent and played: RTMP, HLS, and DASH. They share a goal—deliver reliable video—but they handle encoding, packaging, and delivery in different ways.
RTMP in brief
Real-Time Messaging Protocol (RTMP) was built by Adobe for live video from encoders to servers. It runs over TCP and keeps a steady stream between the source and the first server. In controlled networks, RTMP can offer very low delay, but today browsers do not play RTMP directly. You usually ingest RTMP to a server, then repackage for delivery to viewers. This path is common for live shows and events that need quick turnarounds.
HLS in brief
HTTP Live Streaming (HLS) uses HTTP segments and a playlist. It works well across devices, firewalls, and CDNs. It is very common for live and on‑demand video. The trade‑off is a bit higher startup latency, and latency depends on segment length. Low‑Latency HLS reduces this gap by using shorter segments and special signaling in the playlist.
DASH in brief
Dynamic Adaptive Streaming over HTTP (DASH) is an open standard. It is similar to HLS, uses MPD files, and supports many codecs. Because it is open, it fits a wide range of workflows and providers. Latency and device support vary by platform, but DASH is a strong choice for cross‑vendor video delivery and multi‑codec support.
Latency, compatibility, and delivery
- Ingest vs delivery: RTMP remains common for encoder‑to‑server ingest; HLS or DASH handle client delivery over HTTP.
- Latency: RTMP can be very low in private networks; HLS and DASH often show several seconds, with Low-Latency variants reducing delays to around a few seconds.
- Compatibility: HLS has broad browser and device support, especially on Apple devices; DASH is strong on Android and web players; RTMP needs re‑packaging for browser playback.
- Packaging: HTTP‑based streams make caching and CDN delivery easier and scalable.
Choosing a protocol for your project
- If you need the lowest possible latency for a small audience, ingest with RTMP and deliver via LL‑HLS or LL‑DASH.
- For broad browser support, rely on HLS or DASH, and choose the one that fits your devices best.
- For large, multi‑platform deployments, consider a hybrid approach: RTMP for ingest, then package to both HLS and DASH.
- Plan your workflow around ABR, CDN support, and future device trends.
Examples in practice
- Live sports often uses RTMP to capture feeds, then packages to LL‑HLS and LL‑DASH for global audiences.
- A streaming service may store video files and publish both HLS and DASH manifests to cover iOS, Android, and desktop players.
- Small creators can start with HLS for easier setup and broad compatibility, adding DASH as needed for cross‑platform goals.
Key Takeaways
- RTMP is great for fast, private ingest but not direct browser playback.
- HLS and DASH are the workhorses for web delivery, with open and evolving options for latency.
- Choose based on device support, latency needs, and your packaging and CDN workflow.