streamrip

Crates.iostreamrip
lib.rsstreamrip
version0.1.1
created_at2025-11-23 10:12:15.910366+00
updated_at2025-11-23 10:24:03.451875+00
descriptionRecursively mirror an HLS (.m3u8) or DASH (.mpd) stream for local hosting
homepage
repositoryhttps://github.com/sunsided/streamrip
max_upload_size
id1946365
size90,232
Markus Mayer (sunsided)

documentation

https://docs.rs/streamrip

README

StreamRip

A command-line tool that recursively mirrors DASH ( Dynamic Adaptive Streaming over HTT) or HLS (HTTP Live Streaming) content by downloading manifests and media segments while rewriting manifest URLs for local hosting.

Features

  • Downloads complete DASH or HLS streams including master playlists, media playlists, segments and text tracks
  • Maintains the relative path structure from the source
  • Rewrites manifest URLs to work with local hosting
  • Handles query parameters in URLs by converting them to safe filenames
  • Preserves original manifests with .orig extension for reference

Example Usage

Install it from crates.io:

cargo install streamrip

Then download streams by providing a source URL and a target directory:

streamrip --start-url=https://example.com/stream/97333-f40e7a11-73a2-47df-a767-9f0bcdfb83cd.ism/manifest.m3u8 --output-dir=hls
streamrip --start-url=https://example.com/stream/97333-f40e7a11-73a2-47df-a767-9f0bcdfb83cd.ism/manifest.mpd  --output-dir=dash
Commit count: 0

cargo fmt