Streaming Architectures: HLS, DASH, and RTMP
Streaming architectures describe how video travels from a creator to the viewer. The three common paths today are HLS, DASH, and RTMP. Each has a role in modern workflows, from the moment you start encoding to the moment the viewer sees the video.
Overview of the three options helps you pick the right setup.
- HLS: Apple’s HTTP Live Streaming uses M3U8 playlists and small media segments. It plays well on iPhones, iPads, and many browsers. It is easy to scale with a CDN and works with common encoders.
- DASH: Dynamic Adaptive Streaming over HTTP uses an MPD manifest. It supports CMAF packaging and broad device coverage. DASH is popular in broadcast and OTT services that want vendor flexibility.
- RTMP: Real-Time Messaging Protocol is used for live ingest from encoders to a media server. It has low end‑to‑end latency, but it’s not a direct delivery method for browsers. Most workflows repackage RTMP into HLS or DASH for playback.
How they fit together in a typical setup
- Ingest: Encoders push to an RTMP endpoint or another streaming input.
- Packaging: A media server or packager converts the input into HLS and/or DASH playlists.
- Delivery: The playlists and segments are served from a CDN to viewers’ devices.
- Viewing: Players on phones, desktops, and TVs fetch the appropriate manifest and adapt to network conditions.
Latency and compatibility matter
LL-HLS and LL-DASH offer lower latency, but they require compatible encoders, packagers, and players. If latency is critical, you will need end‑to‑end support for those features and a packaging path that minimizes rounds.
Choosing an architecture
- If most viewers are on Apple devices, HLS is a natural choice.
- For broad compatibility and vendor flexibility, DASH works well.
- RTMP is still useful for ingest to a server, but it is not typically used for final delivery to browsers.
- Consider low-latency options only if your use case needs near real time, such as live events or interactive apps.
Example workflow
- Step 1: Encoder sends a stream to an RTMP endpoint.
- Step 2: A media server transcodes and segments, creating HLS and DASH playlists.
- Step 3: A CDN distributes the content, and players on devices switch between qualities automatically.
Key takeaways
- HLS suits Apple-heavy audiences with solid performance.
- DASH offers broad support and flexibility, good for multi‑vendor systems.
- Use RTMP mainly for ingest, then package for user delivery.