- Notifications
You must be signed in to change notification settings - Fork17
VineTrimmer with PlayReady support, WIP. A DRM Removal Framework for Streaming Services.
License
chu23465/VT-PR
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A tool to download and remove DRM from streaming services. A version of an old fork ofdevine.Modified to remove Playready DRM instead of Widevine.
- Progress Bars for decryption (mp4decrypt, Shaka)
- Refresh Token fixed for Amazon service
- Reprovision .prd after a week
- ISM manifest support (Microsoft Smooth Streaming) (Few features to be added)
- N_m3u8DL-RE downloader support
Run
install.bat
Activate venv using
venv.cmd
.
vinetrimmer.yml
located within the/vinetrimmer/
folder.
decryptor:
eithermp4decrypt
orpackager
(shaka-packager fails to decrypt files downloaded from MSS manifests)
tag:
tag for your release group
CDM can be configured per service or per profile.
cdm: default: {text} Amazon: {text}
All other option can be left to defaults, unless you know what you are doing.
Usage: vt.cmd [OPTIONS] COMMAND [ARGS]...
Options:
Command line argument | Description | Default Value |
---|---|---|
-d, --debug | Flag to enable debug logging | False |
-p, --profile | Profile to use when multiple profiles are defined for a service. | "default" |
-q, --quality | Download Resolution | 1080 |
-v, --vcodec | Video Codec | H264 |
-a, --acodec | Audio Codec | None |
-vb, --vbitrate | Video Bitrate | Max |
-ab, --abitrate | Audio Bitrate | Max |
-aa, --atmos | Prefer Atmos Audio | False |
-r, --range | Video Color RangeHDR ,HDR10 ,DV ,SDR | SDR |
-w, --wanted | Wanted episodes, e.g.S01-S05,S07 ,S01E01-S02E03 ,S02-S02E03 | Default to all |
-al, --alang | Language wanted for audio. | Defaults to original language |
-sl, --slang | Language wanted for subtitles. | Defaults to original language |
--proxy | Proxy URI to use. If a 2-letter country is provided, it will try get a proxy from the config. | None |
-A, --audio-only | Only download audio tracks. | False |
-S, --subs-only | Only download subtitle tracks. | False |
-C, --chapters-only | Only download chapters. | False |
-ns, --no-subs | Do not download subtitle tracks. | False |
-na, --no-audio | Do not download audio tracks. | False |
-nv, --no-video | Do not download video tracks. | False |
-nc, --no-chapters | Do not download chapters tracks. | False |
-ad, --audio-description | Download audio description tracks. | False |
--list | Skip downloading and list available tracks and what tracks would have been downloaded. | False |
--selected | List selected tracks and what tracks are downloaded. | False |
--cdm | Override the CDM that will be used for decryption. | None |
--keys | Skip downloading, retrieve the decryption keys (via CDM or Key Vaults) and print them. | False |
--cache | Disable the use of the CDM and only retrieve decryption keys from Key Vaults. If a needed key is unable to be retrieved from any Key Vaults, the title is skipped. | False |
--no-cache | Disable the use of Key Vaults and only retrieve decryption keys from the CDM. | False |
--no-proxy | Force disable all proxy use. | False |
-nm, --no-mux | Do not mux the downloaded and decrypted tracks. | False |
--mux | Force muxing when using --audio-only/--subs-only/--chapters-only. | False |
-?, -h, --help | Show this message and exit. |
COMMAND :-
Alaias | Command | Service Link |
---|---|---|
AMZN | Amazon | https://amazon.com,https://primevideo.com |
ATVP | AppleTVPlus | https://tv.apple.com |
MAX | Max | https://max.com |
NF | Netflix | https://netflix.com |
Usage: vt.cmd AMZN [OPTIONS] [TITLE]
Service code for Amazon VOD (https://amazon.com) and Amazon Prime Video (https://primevideo.com).
Authorization: Cookies
Security:
UHD@L1/SL3000FHD@L3(ChromeCDM)/SL2000SD@L3Certain SL2000 can do UHD
Maintains their own license server like Netflix, be cautious.
Region is chosen automatically based on domain extension found in cookies.Prime Video specific code will be run if the ASIN is detected to be a prime video variant.Use 'Amazon Video ASIN Display' for Tampermonkey addon for ASINhttps://greasyfork.org/en/scripts/381997-amazon-video-asin-display
vt dl --list -z uk -q 1080 Amazon B09SLGYLK8
Below flags to be passed after theAMZN
orAmazon
keyword in command.
Command Line Switch | Description |
---|---|
-b, --bitrate | Video Bitrate Mode to download in. CVBR=Constrained Variable Bitrate, CBR=Constant Bitrate. (CVBR or CBR or CVBR+CBR) |
-c, --cdn | CDN to download from, defaults to the CDN with the highest weight set by Amazon. |
-vq, --vquality | Manifest quality to request. (SD or HD or UHD) |
-s, --single | Force single episode/season instead of getting series ASIN. |
-am, --amanifest | Manifest to use for audio. Defaults to H265 if the video manifest is missing 640k audio. (CVBR or CBR or H265) |
-aq, --aquality | Manifest quality to request for audio. Defaults to the same as --quality. (SD or HD or UHD) |
-ism, --ism | Set manifest override to SmoothStreaming. Defaults to DASH w/o this flag. |
-?, -h, --help | Show this message and exit. |
To get UHD/4k with Amazon, navigate to -
https://www.primevideo.com/region/eu/ontv/code?ref_=atv_auth_red_aft
Login and get to the code pair page. Extract cookies from that page usingOpen Cookies.txt.
Save it to the pathvinetrimmer/Cookies/Amazon/default.txt
.
When caching cookies, use a profile without PIN. Otherwise it causes errors.
- PCOK bans leaked certs quickly (for 4k), be cautious.
Amazon Example:
poetry run vt dl -al en -sl en --selected -q 2160 -r HDR -w S01E18-S01E25 AMZN -b CBR --ism 0IQZZIJ6W6TT2CXPT6ZOZYX396
Above command:
- gets english subtitles + audio,
- selects the HDR + 4K track,
- gets episodes from S01E18 to S01E25 from Amazon
- with CBR bitrate,
- tries to force ISM
- and the title-ID is 0IQZZIJ6W6TT2CXPT6ZOZYX396
AppleTV Example:
poetry run vt dl -al en -sl en --list -q 720 --proxy http://192.168.0.99:9766 -w S01E01 ATVP umc.cmc.1nfdfd5zlk05fo1bwwetzldy3
Above command:
- gets english subtitles + audio,
- lists all possible qualities,
- selects 720p video track,
- uses the proxy for licensing,
- gets the first episode of first season (i.e S01E01)
- of the title umc.cmc.1nfdfd5zlk05fo1bwwetzldy3
I recommendWindscribe. You can sign up, getting 10 GB of traffic credit every month for free. We use the VPN for everything except downloading video/audio.Tested so far on Amazon, AppleTVPlus, Max.
For each service, within get_tracks() function we do this below.
fortrackintracks:track.needs_proxy=False
This flag signals that this track does not need a proxy and a proxy will not be passed to downloader even if proxy given in CLI options.
Download Windscribe app and install it.
Go to
Options
->Connection
->Split Tunneling
. Enable it.Set
Mode
asInclusive
.Go to
Options
->Connection
->Proxy Gateway
. Enable it. SelectProxy Type
asHTTP
.Copy the
IP
field (will look something like192.168.0.141:9766
)Pass above copied to Vinetrimmer with the proxy flag like below.
...(other flags)... --proxy http://192.168.0.141:9766 .......
- For
--keys
to work with ATVP you need to pass the--no-subs
flag also - Nuikta compile is an option to run on various linux distributions.
- Errors arise when running VT within Docker or Conda like python distributions. Make sure to use proper python3.
- To use programs in
scripts
folder, first activate venv then, then -poetry run python scripts/ParseKeybox.py