Installation | Usage | Try Without Install
video stream downloader is a command line program to download video streams served over HTTP from websites, HLS and DASH playlists.
Capturing network requests and collecting .m3u8, .mpd and subtitles from websites and save them locally.
Muxing streams to single video container using ffmpeg.
Singular progress bar for complete download process like an normal file download with realtime file size estimations.
Supports AES-128
and CENC
playlists decryption.
Supports HLS and DASH
Supports downloading in multiple threads.
GUI (maybe in future)
Supports SAMPLE-AES playlist decryption.
Live stream download (wip)
See More
Dependencies
ffmpeg (optional, recommended) only required for transmuxing and transcoding streams.
chrome / chromium (optional) only required for capture
and collect
subcommands.
Visit releases for prebuilt binaries. Download and extract archive and then copy vsd binary to any path. Now add that path to your PATH
environment variable.
Host | Architecture | Download |
---|---|---|
Android 7+ (Termux) | aarch64 | .tar.xz |
Linux | aarch64 | .tar.xz |
MacOS 11.7+ | aarch64 | .tar.xz |
Windows | aarch64 | .zip |
Linux | x86_64 | .tar.xz |
MacOS 11.7+ | x86_64 | .tar.xz |
Windows | x86_64 | .zip |
You can also install vsd through cargo by using this command.
cargo install vsd
Build instructions can be found here and changelog here.
Additionally, you can also install third party gui frontend created by theRealCataclysm.
Downloading and saving HLS and DASH playlists to disk.
$ vsd save-o video.mp4
For testing purposes you can use streams from https://test-streams.mux.dev.
Collecting .m3u8 (HLS), .mpd (Dash) and subtitles from a website and saving them locally.
$ vsd capture--save
$ vsd --help
Download video streams served over HTTP from websites, DASH (.mpd) and HLS (.m3u8) playlists. Usage: vsd.exe [OPTIONS]Commands: capture Capture playlists and subtitles from a website extract Extract subtitles from mp4 boxes merge Merge multiple segments to a single file save Download DASH and HLS playlists help Print this message or the help of the given subcommand(s) Options: --color When to output colored text [default: auto] [possible values: auto, always, never] -h, --help Print help -V, --version Print version
$ vsd save --help
Download DASH and HLS playlists Usage: vsd.exe save [OPTIONS] Arguments: http(s):// | .mpd | .xml | .m3u8 Options: --base-urlBase url to be used for building absolute url to segment. This flag is usually needed for local input files. By default redirected playlist url is used -d, --directory Change directory path for temporarily downloaded files. By default current working directory is used -o, --output
List of alternatives to vsd:
N_m3u8DL-RE is the best alternative to vsd. It also supports live playlist which vsd doesn't. It doesn't come with features like capture.
N_m3u8DL-CLI is also good but it is not cross platform.
m3u8-downloader is also good but it has very few customizable options.
webvideo-downloader opens up the website using chrome and then captures m3u8 requests. vsd's capture command is closest to this functionality.
dash-mpd-cli is very good for downloading DASH playlists. Also, most of the vsd internals for parsing and downloading DASH playlists is taken for it's main project.
Dual Licensed
Apache License, Version 2.0 (LICENSE-APACHE)
MIT license (LICENSE-MIT)