Analysis updated 2026-05-18
Repackage a DASH or HLS video stream into plain HLS output without ffmpeg.
Serve DRM-protected streams to players by supplying a decryption key or a key-fetching endpoint.
Run a lightweight live-stream gateway that keeps everything in memory instead of writing to disk.
| iptvorganization/dv-hls-gateway | azw413/glass | l0ng-ai/tty7 | |
|---|---|---|---|
| Stars | 80 | 79 | 81 |
| Language | Rust | Rust | Rust |
| Setup difficulty | hard | moderate | easy |
| Complexity | 4/5 | 4/5 | 2/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Needs a valid decryption key or a running key-fetch endpoint before it can output a protected stream.
dv-hls-gateway is a Rust program that takes a live or on-demand video stream in DASH or HLS format and repackages it in real time into a different HLS format that ordinary players can read. It works entirely on its own, without depending on ffmpeg or any external decryption tool: everything happens inside the single Rust binary, including decryption, parsing the incoming video container, repackaging it, and publishing the resulting stream. The gateway understands a wide range of video and audio formats, including HEVC, H.264, Dolby Vision, HDR10, and several audio codecs, and tries to pass that data through unchanged rather than re-encoding it. It can read streams that are protected with several common DRM schemes, using either a fixed decryption key supplied up front or a key fetched at runtime from a separate key server the operator configures. It keeps working segments only in memory rather than writing them to disk, and it can run continuously or pause automatically after five minutes without any viewer requesting the stream. The program ships as a single binary built with Rust's Cargo tool, or as prebuilt binaries for Linux, Windows, and macOS produced by the project's GitHub Actions workflow. Configuration is a single JSON file covering the network address it listens on, an access key that protects its web interface and API, and the address of an optional key fetching service. The gateway includes a small built-in web interface where an operator can paste a stream URL, choose which video, audio, and subtitle tracks to include, and start a task, as well as a JSON HTTP API for automating the same steps and a documented protocol that any external key server must follow to hand back matching keys.
A standalone Rust gateway that decrypts and repackages DASH or HLS video streams into plain HLS output without needing ffmpeg.
Mainly Rust. The stack also includes Rust.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.