git404hub

what is dv-hls-gateway fr?

iptvorganization/dv-hls-gateway — explained in plain English

Analysis updated 2026-05-18

80RustAudience · developerComplexity · 4/5Setup · hard

tl;dr

A standalone Rust gateway that decrypts and repackages DASH or HLS video streams into plain HLS output without needing ffmpeg.

vibe map

mindmap
  root((repo))
    What it does
      Decrypt DASH HLS input
      Repackage to HLS
      No ffmpeg needed
    Tech stack
      Rust
      Cargo build
    Use cases
      Live stream gateway
      Key server integration
      In memory segments
    Audience
      Developers
      Stream operators

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what do people make with this?

VIBE 1

Repackage a DASH or HLS video stream into plain HLS output without ffmpeg.

VIBE 2

Serve DRM-protected streams to players by supplying a decryption key or a key-fetching endpoint.

VIBE 3

Run a lightweight live-stream gateway that keeps everything in memory instead of writing to disk.

what's the stack?

Rust

how it stacks up fr

iptvorganization/dv-hls-gatewayazw413/glassl0ng-ai/tty7
Stars807981
LanguageRustRustRust
Setup difficultyhardmoderateeasy
Complexity4/54/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

how do i run it?

Difficulty · hard time til it works · 1h+

Needs a valid decryption key or a running key-fetch endpoint before it can output a protected stream.

in plain english

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.

prompts (copy fr)

prompt 1
Build dv-hls-gateway with cargo and run it against my own JSON configuration file.
prompt 2
Explain how the fixed key and dynamic key modes differ in this gateway's configuration.
prompt 3
Walk me through the JSON schema this gateway expects from a key-fetching endpoint.

Frequently asked questions

what is dv-hls-gateway fr?

A standalone Rust gateway that decrypts and repackages DASH or HLS video streams into plain HLS output without needing ffmpeg.

What language is dv-hls-gateway written in?

Mainly Rust. The stack also includes Rust.

How hard is dv-hls-gateway to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is dv-hls-gateway for?

Mainly developer.

peek the repo → explain another one

This repo across BitVibe Labs

double-check against the repo, no cap.