SkillAgentSearch skills...

Vsd

Download video streams served over HTTP from websites, DASH (.mpd) and HLS (.m3u8) playlists.

Install / Use

/learn @clitic/Vsd
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<h1 align="center">vsd</h1>

Github Downloads Crate Downloads Crate Version Build Status Crate License Repo Size Open In Colab

Video Stream Downloader is a powerful command-line utility that enables users to download video content streamed over HTTP from websites. It supports both DASH (Dynamic Adaptive Streaming over HTTP) using .mpd manifest files and HLS (HTTP Live Streaming) using .m3u8 playlists. The tool is designed to handle adaptive bitrate streams, fetch individual video and audio segments, and optionally mux them into a single playable file, making it ideal for offline viewing, archival, or analysis of online video content.

<div align="center"> <img src="https://raw.githubusercontent.com/clitic/vsd/refs/heads/main/docs/images/showcase.gif" width="700px"> </div>

Features

  • [x] Captures network requests and lists playlist and subtitle files from websites.
  • [x] Compatible with both DASH and HLS playlists.
  • [x] Enables multi-threaded downloading for faster performance.
  • [x] Muxing streams to single video container using ffmpeg.
  • [x] Offers robust automation support.
  • [x] One unified progress bar tracking the entire download, with real-time file size updates.
  • [x] Supports decryption for AES-128, SAMPLE-AES, CENC, CENS, CBC1 and CBCS.
  • [ ] Live stream downloading, consider contributing this feature.

Installation

Dependencies

  • ffmpeg (optional, recommended) required for transmuxing and transcoding streams.
  • chrome / chromium (optional) needed only for the capture sub-command.

Pre-built Binaries

Visit the releases page for pre-built binaries or grab the latest CI builds. Download and extract the archive, then copy the vsd binary to a directory of your choice. Finally, add that directory to your system's PATH environment variable.

| Host | Architecture | Download | |---------------------|--------------|--------------------------------------------------------------------------------------------------------------| | Android 7+ (Termux) | aarch64 | .tar.xz | | Linux | aarch64 | .tar.xz | | MacOS | aarch64 | .tar.xz | | Windows | aarch64 | .zip | | Linux | x86_64 | .tar.xz | | MacOS | x86_64 | .tar.xz | | Windows | x86_64 | .zip |

Packaging Status

Install via Cargo

You can also install vsd using cargo.

cargo install vsd

Additional Resources

Usage

Below are some example commands. For additional usage details, see cli reference.

  • Capture playlists and subtitles from a website.

    vsd capture <url> --save-cookies
    

    The saved cookies can be used as --cookies cookies.txt with save sub-command later on.

  • Download playlists. (test streams)

    vsd save <url> -o video.mp4
    

    Use -i, --interactive flag to open an interactive session.

  • Download encrypted playlists. (drm test vectors)

    vsd save https://bitmovin-a.akamaihd.net/content/art-of-motion_drm/mpds/11331.mpd \
        --keys "eb676abbcb345e96bbcf616630f1a3da:100b6c20940f779a4589152b57d2dacb" \
        -o video.mp4
    
  • List and select specific streams from a playlist.

    vsd save <url> --list-streams
    vsd save <url> --select-streams "1,2,3" -o video.mp4
    
  • Prefer some specific languages when downloading audio/subtitles.

    vsd save <url> --select-streams "a=en,fr:s=en,fr" -o video.mp4
    
  • Use as a playlist parser. (json schema)

    vsd save <url> --parse > parsed-playlist.json
    

Donate

This project is developed and maintained in my free time. Donations help cover development time, testing, and future improvements. If this tool saved you time or helped your workflow, consider supporting it.

<div align="center"> <a href="mailto:clitic21@gmail.com" target="_blank" style="text-decoration: none;"> <img src="https://raw.githubusercontent.com/clitic/vsd/refs/heads/main/docs/assets/contact.svg" alt="Contact Me" height="42px"> </a> <a href="https://www.buymeacoffee.com/clitic" target="_blank" style="text-decoration: none;"> <img src="https://raw.githubusercontent.com/clitic/vsd/refs/heads/main/docs/assets/bmc.svg" alt="Buy Me A Coffee" height="40px"> </a> <a href="https://paypal.me/clitic" target="_blank" style="text-decoration: none;"> <img src="https://raw.githubusercontent.com/clitic/vsd/refs/heads/main/docs/assets/paypal.svg" alt="PayPal" height="40px"> </a> </div>

License

Dual Licensed

View on GitHub
GitHub Stars468
CategoryContent
Updated2d ago
Forks51

Languages

Rust

Security Score

100/100

Audited on Mar 22, 2026

No findings