What is HLS: the way most players deliver live video to viewers, as short files in an .m3u8 playlist. How it differs from RTMP, why it adds delay, and its role here.
HLS, HTTP Live Streaming, is a way of delivering video to viewers over ordinary web servers. The stream is cut into short media files, and a playlist file with the extension .m3u8 lists them. A player downloads the playlist, fetches the pieces one after another, and plays them in order. Apple, which created it, describes HLS as working with "ordinary web servers and content delivery networks" and adapting "to network conditions by optimizing playback for the available speed" (Apple Developer: HTTP Live Streaming, checked 5 November 2026).
HLS is the watching side of a live stream. It is how a player receives video, not how an encoder sends it. Shorter definitions of related terms are in the Live streaming glossary: the terms you will meet.
| RTMP / RTMPS | HLS | |
|---|---|---|
| Direction | From an encoder into a server | From a server out to viewers |
| Who starts it | The encoder pushes | The player pulls |
| Transport | A long-lived connection | Many small HTTPS downloads |
| Scales to large audiences | Not by itself | Yes, through CDNs |
| Typical address | rtmp:// or rtmps:// with a key | https://... .m3u8 |
| Delay | Low | Usually several seconds or more |
That is why the two usually appear together: an encoder sends RTMP in, and the platform sends HLS out.
A player cannot show a segment before it is complete, and players usually keep a few segments in hand so playback does not stall. With segments a few seconds long, the viewer ends up some seconds behind the camera. Low-Latency HLS (LL-HLS) cuts the segments into smaller parts to shrink that gap. Cloudflare Stream, for example, says its built-in player uses LL-HLS when possible, with the setting in beta, and recommends a keyframe interval of 4 to 8 seconds for standard HLS playback and 2 to 4 seconds for LL-HLS (Cloudflare Stream: Start a live stream, checked 5 November 2026). More on delay: What is stream latency, and where does the delay come from?. Keyframes: What is a keyframe interval, and why set it to 2?.
In your own web player. A broadcast can also be watched on StreamLive Pro's own watch page and embedded player. That player plays the broadcast over HLS in the viewer's browser. You do not handle the .m3u8 address yourself.
Not as a destination. Broadcasts leave StreamLive Pro over RTMP, RTMPS or SRT only. An HLS address saved as a destination is refused with "WHIP and HLS destinations are not supported yet", because an HLS link is something a player reads from, not something an encoder can push into: Destination not supported": WHIP and HLS destinations.
Not as a way in. Encoders send to StreamLive Pro over RTMP, RTMPS, SRT or WHIP (beta), not HLS.
| What you want | What the .m3u8 link is for | What to ask for instead |
|---|---|---|
| Send your broadcast to their platform | It is their viewers' address, not an ingest | An RTMP, RTMPS or SRT ingest address and a key |
| Show their stream inside your live | It is a source a player can read | Play it in a player or a capture tool; StreamLive Pro does not take HLS sources |
| Watch the broadcast | That is exactly what it is for | Open it in a player that supports HLS |
Adding a destination by address: Stream to a custom RTMP or SRT server.
An HLS playlist is a short text file. A live playlist usually starts with a line that marks it as HLS, then gives the target length of each segment, a running sequence number, and the names of the latest few segments, each with its exact duration. Every few seconds the server rewrites the file: the oldest segment drops off the top and a new one is added at the bottom. A master playlist sits above it and lists one such playlist per quality, for example 1080p, 720p and 480p, with the bitrate of each. The player reads the master list first and picks a quality, then keeps re-reading the playlist of that quality for as long as the live runs.
That design is why HLS spreads so easily: every piece is an ordinary file with an ordinary web address, so any CDN can cache it and hand it to thousands of viewers near them.
| Term | Meaning |
|---|---|
| .m3u8 | The playlist file of an HLS stream |
| Segment | One short media file in the playlist |
| Adaptive bitrate (ABR) | The player picks the quality that fits the viewer's connection |
| LL-HLS | Low-Latency HLS, with smaller parts for less delay |
| DASH | A similar segment-based delivery format, not from Apple |
| CDN | A network of servers that hands the segments to viewers near them |
A way to deliver video to viewers as short files listed in a playlist. Players download the pieces one by one and switch quality to fit the connection.
No. RTMP sends a stream from an encoder into a server. HLS delivers the stream from a server to viewers.
No. Destinations go out over RTMP, RTMPS or SRT. Ask the service for an RTMP or SRT ingest address and key.
The player waits for whole segments and keeps a few in hand. Low-Latency HLS uses smaller parts to reduce the gap.
Yes, for viewers of its own watch page and embedded player. Not for receiving or sending broadcasts.
A live streaming glossary in plain words: stream key, RTMP, SRT, bitrate, multistream, Preview and Program, ISO, captions, reframe. Where each shows up in StreamLive Pro.
How to stream on Bilibili Live with a stream keyStream on Bilibili Live from your browser: start a live in your Bilibili room, copy the server and fresh key into the Bilibili Live card, then go live.
How to go live on Dailymotion with a stream keyGo live on Dailymotion: get live enabled on your account, create a live stream in Dailymotion Studio, and paste its stream URL and key into StreamLive Pro.
How to stream on DLive with your stream keyStream on DLive from your browser: copy the key from your DLive dashboard, paste it into the DLive card in StreamLive Pro, and go live alone or with other networks.
Want to try it? 7-day trial, no credit card.
Start free