설치 | 사용법 | 설치하지 않고 사용해 보세요
v ideo s stream d ownloader는 웹 사이트, HLS 및 DASH 재생 목록에서 HTTP를 통해 제공되는 비디오 스트림을 다운로드하는 명령줄 프로그램입니다.
네트워크 요청을 캡처하고 웹사이트에서 .m3u8, .mpd 및 자막을 수집하여 로컬에 저장합니다.
ffmpeg를 사용하여 단일 비디오 컨테이너로 스트리밍하는 다중화.
실시간 파일 크기 추정이 포함된 일반 파일 다운로드와 같은 전체 다운로드 프로세스를 위한 단일 진행률 표시줄입니다.
AES-128
및 CENC
재생 목록 암호 해독을 지원합니다.
HLS 및 DASH 지원
다중 스레드에서의 다운로드를 지원합니다.
GUI(아마도 미래에)
SAMPLE-AES 재생 목록 암호 해독을 지원합니다.
라이브 스트림 다운로드(wip)
자세히 보기
종속성
ffmpeg(선택 사항, 권장 )는 스트림 트랜스먹싱 및 트랜스코딩에만 필요합니다.
chrome / chromium(선택 사항)은 capture
및 collect
하위 명령에만 필요합니다.
사전 빌드된 바이너리의 릴리스를 방문하세요. 아카이브를 다운로드하고 추출한 다음 vsd 바이너리를 임의의 경로에 복사하세요. 이제 해당 경로를 PATH
환경 변수에 추가하십시오.
주인 | 건축학 | 다운로드 |
---|---|---|
안드로이드 7 이상(Termux) | 아치64 | .tar.xz |
리눅스 | 아치64 | .tar.xz |
맥OS 11.7+ | 아치64 | .tar.xz |
윈도우 | 아치64 | .지퍼 |
리눅스 | x86_64 | .tar.xz |
맥OS 11.7+ | x86_64 | .tar.xz |
윈도우 | x86_64 | .지퍼 |
이 명령을 사용하여 화물을 통해 vsd를 설치할 수도 있습니다.
화물 설치 vsd
빌드 지침은 여기에서, 변경 로그는 여기에서 찾을 수 있습니다.
또한 RealCataclysm에서 만든 타사 GUI 프런트엔드를 설치할 수도 있습니다.
HLS 및 DASH 재생 목록을 디스크에 다운로드하고 저장합니다.
$ vsd 저장 <url> -o video.mp4
테스트 목적으로 https://test-streams.mux.dev의 스트림을 사용할 수 있습니다.
웹사이트에서 .m3u8(HLS), .mpd(대시) 및 자막을 수집하여 로컬에 저장합니다.
$ vsd 캡처 <url> --저장
$ vsd --도움말
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 저장 --도움말
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]
vsd의 대안 목록:
N_m3u8DL-RE는 vsd의 가장 좋은 대안입니다. 또한 vsd가 지원하지 않는 라이브 재생 목록도 지원합니다. 캡처 와 같은 기능은 제공되지 않습니다.
N_m3u8DL-CLI도 좋지만 크로스 플랫폼이 아닙니다.
m3u8-downloader도 좋지만 사용자 정의할 수 있는 옵션이 거의 없습니다.
webvideo-downloader는 Chrome을 사용하여 웹사이트를 연 다음 m3u8 요청을 캡처합니다. vsd의 캡처 명령이 이 기능에 가장 가깝습니다.
dash-mpd-cli는 DASH 재생 목록을 다운로드하는 데 매우 유용합니다. 또한 DASH 재생 목록을 구문 분석하고 다운로드하기 위한 대부분의 vsd 내부는 기본 프로젝트용으로 사용됩니다.
이중 라이센스
Apache 라이센스, 버전 2.0(LICENSE-APACHE)
MIT 라이센스(LICENSE-MIT)