Rtmp To Hls
An RTMP → HLS bridge converts a live rtmp:// encoder feed (OBS, Wirecast, a hardware encoder, or a CDN ingest) into browser-playable HLS. RTMP is great for pushing a stream in, but browsers dropped Flash and can no longer play it directly — so it has to be repackaged as HLS for the watch side. StreamProbe pulls the RTMP source server-side and emits a low-latency .m3u8 you can play or embed anywhere. Use StreamTest to confirm your RTMP feed is live and carrying video.
Try the bridge
Paste your stream URL (or use the pre-filled example) — the bridge pulls the source, repackages it to low-latency HLS, and plays it right here in your browser.
How RTMP → HLS conversion works
RTMP is ingest, HLS is delivery
RTMP is the de-facto protocol for getting a live signal into a server (low-latency push, widely supported by encoders). HLS is the protocol for getting it out to viewers over ordinary HTTP/CDN. The bridge sits between them: RTMP in, HLS out — the same shape every major streaming platform uses under the hood.
Remux keeps it cheap
RTMP reliably carries H.264/AAC, which is exactly what HLS wants — so the bridge repackages segments without re-encoding. That means no added compression artifacts and minimal server load, so a single box can bridge many feeds.
Keyframe interval matters
HLS segments must start on a keyframe, so your encoder's GOP (keyframe interval) sets the smallest clean segment size. A 2-second keyframe interval is the sweet spot — it keeps HLS latency and segment sizes low. Very long GOPs force larger segments and more latency on the browser side.
Frequently asked questions
Why convert RTMP to HLS at all?
Browsers can no longer play RTMP (it depended on Flash). To let viewers watch an RTMP feed on the web or mobile, you repackage it as HLS, which plays natively on iOS/Safari and via hls.js everywhere else.
Will RTMP-to-HLS re-encode my stream?
Not when your feed is H.264/AAC — the bridge remuxes it into HLS segments without re-compressing, so quality is preserved and CPU cost stays low. Re-encoding is only triggered by codecs HLS cannot carry.
What keyframe interval should my encoder use?
Aim for a 2-second keyframe interval (GOP). HLS cuts segments on keyframes, so a short, regular GOP produces small, low-latency segments; long GOPs make larger segments and add delay on the playback side.