This tool is written in Rust and designed to capture and download HLS video streams. It automates a Chrome browser session, intercepts network traffic to detect .m3u8 playlist URLs, and downloads the stream to a local file using FFmpeg.
- Automatic Capture: Launches Chrome and listens to all network requests across tabs and iframes to detect
.m3u8URLs. - Multi-Target Support: Monitors all attached browser targets including pages, popups, and embedded frames simultaneously.
- FFmpeg Integration: Once a stream URL is captured, it is automatically passed to FFmpeg for download and re-encoding.
- Referer Handling: Automatically extracts and forwards the correct
Refererheader to FFmpeg to handle protected streams.
This tool is designed for capturing HLS video streams from websites that load .m3u8 playlists dynamically. It is ideal for users who want a simple way to download video content that is otherwise difficult to capture manually.
- Startup: The tool launches a Chrome instance with remote debugging enabled on port
9222. - Waiting: Chrome opens the target URL. The user clicks on the episode or video they want to capture.
- Detection: The tool intercepts all outgoing network requests and identifies the first
.m3u8URL. - Download: FFmpeg is invoked automatically with the captured URL and referer to download and encode the stream to
video.mp4.
- Google Chrome
- FFmpeg available in your system
PATH - Rust toolchain (to build from source)
Run with the default target URL:
cargo run --releaseRun with a custom URL:
cargo run --release -- https://example.com/episode-pageThis project is intended for educational and experimental purposes only.