Installation | Utilisation | Essayez sans installer
video stream downloader est un programme en ligne de commande permettant de télécharger des flux vidéo diffusés via HTTP à partir de sites Web, de listes de lecture HLS et DASH.
Capturer les requêtes réseau et collecter les fichiers .m3u8, .mpd et les sous-titres des sites Web et les enregistrer localement.
Multiplexage de flux vers un seul conteneur vidéo à l'aide de ffmpeg.
Barre de progression unique pour un processus de téléchargement complet comme un téléchargement de fichier normal avec des estimations de la taille du fichier en temps réel.
Prend en charge le décryptage des listes de lecture AES-128
et CENC
.
Prend en charge HLS et DASH
Prend en charge le téléchargement dans plusieurs threads.
Interface graphique (peut-être dans le futur)
Prend en charge le décryptage de la liste de lecture SAMPLE-AES.
Téléchargement du flux en direct (wip)
Voir plus
Dépendances
ffmpeg (facultatif, recommandé ) requis uniquement pour le transmuxage et le transcodage des flux.
chrome / chrome (facultatif) requis uniquement pour les sous-commandes capture
et collect
.
Visitez les versions pour les binaires prédéfinis. Téléchargez et extrayez l'archive, puis copiez le binaire vsd sur n'importe quel chemin. Ajoutez maintenant ce chemin à votre variable d'environnement PATH
.
Hôte | Architecture | Télécharger |
---|---|---|
Android 7+ (Termux) | aarch64 | .tar.xz |
Linux | aarch64 | .tar.xz |
MacOS 11.7+ | aarch64 | .tar.xz |
Fenêtres | aarch64 | .fermeture éclair |
Linux | x86_64 | .tar.xz |
MacOS 11.7+ | x86_64 | .tar.xz |
Fenêtres | x86_64 | .fermeture éclair |
Vous pouvez également installer vsd via cargo en utilisant cette commande.
installation de fret vsd
Les instructions de construction peuvent être trouvées ici et le journal des modifications ici.
De plus, vous pouvez également installer une interface graphique tierce créée par theRealCataclysm.
Téléchargement et sauvegarde des listes de lecture HLS et DASH sur le disque.
$ vsd enregistrer <url> -o vidéo.mp4
À des fins de test, vous pouvez utiliser les flux de https://test-streams.mux.dev.
Collecter les fichiers .m3u8 (HLS), .mpd (Dash) et les sous-titres d'un site Web et les enregistrer localement.
$ vsd capture <url> --save
$ vsd --aide
Download video streams served over HTTP from websites, DASH (.mpd) and HLS (.m3u8) playlists. Usage: vsd.exe [OPTIONS] <COMMAND> 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 <COLOR> When to output colored text [default: auto] [possible values: auto, always, never] -h, --help Print help -V, --version Print version
$ vsd sauvegarder --help
Download DASH and HLS playlists Usage: vsd.exe save [OPTIONS] <INPUT> Arguments: <INPUT> http(s):// | .mpd | .xml | .m3u8 Options: --base-url <BASE_URL> Base 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 <DIRECTORY> Change directory path for temporarily downloaded files. By default current working directory is used -o, --output <OUTPUT> Mux all downloaded streams to a video container (.mp4, .mkv, etc.) using ffmpeg. Note that existing files will be overwritten and downloaded streams will be deleted --parse Parse playlist and returns it in json format. Note that `--output` flag is ignored when this flag is used --color <COLOR> When to output colored text [default: auto] [possible values: auto, always, never] --raw-prompts Raw style input prompts for old and unsupported terminals -h, --help Print help Automation Options: --prefer-audio-lang <PREFER_AUDIO_LANG> Preferred language when multiple audio streams with different languages are available. Must be in RFC 5646 format (eg. fr or en-AU). If a preference is not specified and multiple audio streams are present, the first one listed in the manifest will be downloaded --prefer-subs-lang <PREFER_SUBS_LANG> Preferred language when multiple subtitles streams with different languages are available. Must be in RFC 5646 format (eg. fr or en-AU). If a preference is not specified and multiple subtitles streams are present, the first one listed in the manifest will be downloaded -q, --quality <WIDTHxHEIGHT|HEIGHTp> Automatic selection of some standard resolution streams with highest bandwidth stream variant from playlist. If matching resolution of WIDTHxHEIGHT is not found then only resolution HEIGHT would be considered for selection. comman values: [lowest, min, 144p, 240p, 360p, 480p, 720p, hd, 1080p, fhd, 2k, 1440p, qhd, 4k, 8k, highest, max] [default: highest] --skip-prompts Skip user input prompts and proceed with defaults Client Options: --cookies <COOKIES> Fill request client with some existing cookies value. Cookies value can be same as document.cookie or in json format same as puppeteer --header <KEY> <VALUE> Custom headers for requests. This option can be used multiple times --no-certificate-checks Skip checking and validation of site certificates --proxy <PROXY> Set http(s) / socks proxy address for requests --set-cookie <SET_COOKIE> <URL> Fill request client with some existing cookies per domain. First value for this option is set-cookie header and second value is url which was requested to send this set-cookie header. Example `--set-cookie "foo=bar; Domain=yolo.local" https://yolo.local`. This option can be used multiple times --user-agent <USER_AGENT> Update and set user agent header for requests [default: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"] Decrypt Options: --all-keys Use all supplied keys for decryption instead of using keys which matches with default kid only -k, --key <KEY|KID:KEY> Keys for decrypting encrypted streams. If streams are encrypted with a single key then there is no need to specify key id else specify decryption key in format KID:KEY. KEY value can be specified in hex, base64 or file format. This option can be used multiple times --no-decrypt Download encrypted streams without decrypting them. Note that --output flag is ignored if this flag is used Download Options: --retry-count <RETRY_COUNT> Maximum number of retries to download an individual segment [default: 15] --no-merge Download streams without merging them. Note that --output flag is ignored if this flag is used -t, --threads <THREADS> Maximum number of threads for parllel downloading of segments. Number of threads should be in range 1-16 (inclusive) [default: 5]
Liste des alternatives à vsd :
N_m3u8DL-RE est la meilleure alternative à vsd. Il prend également en charge la liste de lecture en direct, ce que vsd ne prend pas en charge. Il ne vient pas avec des fonctionnalités telles que la capture .
N_m3u8DL-CLI est également bon mais ce n'est pas multiplateforme.
m3u8-downloader est également bon mais il propose très peu d'options personnalisables.
webvideo-downloader ouvre le site Web à l'aide de Chrome, puis capture les requêtes m3u8. La commande de capture de vsd est la plus proche de cette fonctionnalité.
dash-mpd-cli est très efficace pour télécharger des listes de lecture DASH. De plus, la plupart des éléments internes de vsd pour l'analyse et le téléchargement des listes de lecture DASH sont utilisés pour son projet principal.
Double licence
Licence Apache, version 2.0 (LICENSE-APACHE)
Licence MIT (LICENSE-MIT)