Merge branch 'dev' of https://github.com/chu23465/VT-PR into dev
This commit is contained in:
commit
31aa7d19c7
61
README.md
61
README.md
@ -3,17 +3,21 @@ A tool to download and remove DRM from streaming services. Modified to remove Pl
|
|||||||
|
|
||||||
The name `VineTrimmer` comes from `Vine` as in `WideVine` and `Trimmer` as in remove.
|
The name `VineTrimmer` comes from `Vine` as in `WideVine` and `Trimmer` as in remove.
|
||||||
|
|
||||||
## This project is under active development. Occasionaly expect bugs and errors.
|
## Read the README thoroughly atleast twice. I cannot stress how important this is. There is a reason why this README is so verbose.
|
||||||
|
|
||||||
|
## This project is under active development. Expect bugs and errors.
|
||||||
|
|
||||||
## Disclaimer!!!
|
## Disclaimer!!!
|
||||||
|
|
||||||
This project is ONLY for educational/archival/personal purposes. I do not condone piracy in any form.
|
This project is ONLY for educational/archival/personal purposes. I do not condone piracy in any form.
|
||||||
|
|
||||||
By using this project you agree that:
|
By using this project you agree that:
|
||||||
`The developer shall not be held responsible for any account suspensions, terminations, or penalties imposed by third-party platforms. The User acknowledges and agrees that they are solely responsible for complying with all terms, policies, and guidelines of any such platforms.`
|
`The developer shall not be held responsible for any account suspensions, terminations, penalties or legal action taken/imposed by third-party platforms. The User acknowledges and agrees that they are solely responsible for complying with all terms, policies, copyright and guidelines of any such platforms.`
|
||||||
|
|
||||||
I AM NOT taking credit for the entirety of this project. This project is based on a version of an old fork of [devine](https://github.com/devine-dl/devine) that was found floating around online. I AM taking credit for about 20% of the additional stuff that I personally worked on.
|
I AM NOT taking credit for the entirety of this project. This project is based on a version of an old fork of [devine](https://github.com/devine-dl/devine) that was found floating around online. I AM taking credit for about 20% of the additional stuff that I personally worked on.
|
||||||
|
|
||||||
|
Support for Sport replays or live streams is not planned. It's a whole thing with OTT panels and restreaming and whatnot. It's a can of worms that I don't plan on opening.
|
||||||
|
|
||||||
## Supporters
|
## Supporters
|
||||||
|
|
||||||
[@m41c0n](https://github.com/m41c0n)
|
[@m41c0n](https://github.com/m41c0n)
|
||||||
@ -21,10 +25,11 @@ I AM NOT taking credit for the entirety of this project. This project is based o
|
|||||||
## Features
|
## Features
|
||||||
- Progress Bars for decryption ([mp4decrypt](https://github.com/chu23465/bentoOldFork), Shaka)
|
- Progress Bars for decryption ([mp4decrypt](https://github.com/chu23465/bentoOldFork), Shaka)
|
||||||
- Refresh Token fixed for Amazon service
|
- Refresh Token fixed for Amazon service
|
||||||
- Reprovision .prd after 2 days
|
- Reprovision .prd automatically after 2 days
|
||||||
- ISM manifest support (Microsoft Smooth Streaming) (WIP/Experimental)
|
- ISM manifest support (Microsoft Smooth Streaming) (WIP/Experimental)
|
||||||
- N_m3u8DL-RE downloader support
|
- N_m3u8DL-RE downloader support (Experimental)
|
||||||
- Atmos audio with ISM manifest (Amazon) is Fixed
|
- Atmos audio with ISM manifest (Amazon) is Fixed
|
||||||
|
- Resume failed download has been sort of implemented. If a track has been successfully downloaded previously and exists in `Temp` directory, VT will not download said track again and will resume download.
|
||||||
|
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
@ -33,16 +38,16 @@ I AM NOT taking credit for the entirety of this project. This project is based o
|
|||||||
|
|
||||||
2. Ensure Python is installed in your system (cannot be from the the Microsoft Store). Refer to [link](https://www.python.org/downloads/) or on Ubuntu -> `sudo apt install python3`. I recommend python 3.10.11 (or higher). Python 3.13 does not work.
|
2. Ensure Python is installed in your system (cannot be from the the Microsoft Store). Refer to [link](https://www.python.org/downloads/) or on Ubuntu -> `sudo apt install python3`. I recommend python 3.10.11 (or higher). Python 3.13 does not work.
|
||||||
|
|
||||||
3. Make sure git is installed in your system by running `git --version`. If not refer to [link](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)
|
3. Make sure git is installed in your system by running `git --version`. If not refer to [link](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git).
|
||||||
|
|
||||||
4. Choose a branch, either `dev` or `main`. Use below command to download. (Recommended instead of downloading zip)
|
4. Choose a branch, either `dev` or `main`. Use below command to download. (Recommended instead of downloading zip)
|
||||||
```bash
|
```bash
|
||||||
git clone -b <branch-name> --single-branch https://github.com/chu23465/VT-PR
|
git clone -b <branch-name> --single-branch https://github.com/chu23465/VT-PR
|
||||||
```
|
```
|
||||||
|
|
||||||
5. Navigate and find `install.bat`
|
5. Navigate and find `install.bat`.
|
||||||
|
|
||||||
6. Run `install.bat`
|
6. Run `install.bat`.
|
||||||
|
|
||||||
7. Activate venv using `venv.cmd`.
|
7. Activate venv using `venv.cmd`.
|
||||||
|
|
||||||
@ -122,18 +127,16 @@ Options:
|
|||||||
| --mux | Force muxing when using --audio-only/--subs-only/--chapters-only. | False |
|
| --mux | Force muxing when using --audio-only/--subs-only/--chapters-only. | False |
|
||||||
| -ss, --strip-sdh | Stip SDH subtitles and convert them to CC. Plus fix common errors. | False |
|
| -ss, --strip-sdh | Stip SDH subtitles and convert them to CC. Plus fix common errors. | False |
|
||||||
| -?, -h, --help | Show this message and exit. | |
|
| -?, -h, --help | Show this message and exit. | |
|
||||||
|
Currently supported platforms:
|
||||||
|
|
||||||
COMMAND :-
|
COMMAND :-
|
||||||
|
|
||||||
| Alaias | Command | Service Link |
|
| Alaias | Command | Service Link |
|
||||||
|--------|---------------|--------------------------------------------|
|
|--------|---------------|--------------------------------------------|
|
||||||
| AMZN | Amazon | https://amazon.com, https://primevideo.com |
|
| AMZN | Amazon | https://amazon.com, https://primevideo.com |
|
||||||
| ATVP | AppleTVPlus | https://tv.apple.com |
|
|
||||||
| DSNP | DisneyPlus | https://disneyplus.com/ |
|
| DSNP | DisneyPlus | https://disneyplus.com/ |
|
||||||
| HS | Hotstar | https://www.hotstar.com/ |
|
| HS | Hotstar | https://www.hotstar.com/ |
|
||||||
| MAX | Max | https://max.com |
|
| MAX | Max | https://max.com |
|
||||||
| NF | Netflix | https://netflix.com |
|
|
||||||
| PCOK | Peacock | https://peacocktv.com/ |
|
| PCOK | Peacock | https://peacocktv.com/ |
|
||||||
|
|
||||||
Untested or not fully implemeted services:
|
Untested or not fully implemeted services:
|
||||||
@ -144,6 +147,7 @@ Untested or not fully implemeted services:
|
|||||||
| HULU | Hulu | https://hulu.com |
|
| HULU | Hulu | https://hulu.com |
|
||||||
| JC | JioCinema | https://www.jiocinema.com |
|
| JC | JioCinema | https://www.jiocinema.com |
|
||||||
| MA | MoviesAnywhere | https://moviesanywhere.com |
|
| MA | MoviesAnywhere | https://moviesanywhere.com |
|
||||||
|
| NF | Netflix | https://netflix.com |
|
||||||
| PMTP | ParamountPlus | https://paramountplus.com |
|
| PMTP | ParamountPlus | https://paramountplus.com |
|
||||||
| SL | SonyLiv | https://sonyliv.com |
|
| SL | SonyLiv | https://sonyliv.com |
|
||||||
|
|
||||||
@ -171,10 +175,10 @@ Usage: vt.cmd AMZN [OPTIONS] [TITLE]
|
|||||||
Use 'Amazon Video ASIN Display' for Tampermonkey addon for ASIN
|
Use 'Amazon Video ASIN Display' for Tampermonkey addon for ASIN
|
||||||
https://greasyfork.org/en/scripts/496577-amazon-video-asin-display
|
https://greasyfork.org/en/scripts/496577-amazon-video-asin-display
|
||||||
|
|
||||||
vt dl --list -z uk -q 1080 Amazon B09SLGYLK8
|
|
||||||
|
|
||||||
Below flags to be passed after the `AMZN` or `Amazon` keyword in command.
|
Below flags to be passed after the `AMZN` or `Amazon` keyword in command.
|
||||||
|
|
||||||
|
ARGS:
|
||||||
|
|
||||||
| Command Line Switch | Description |
|
| 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) |
|
| -b, --bitrate | Video Bitrate Mode to download in. CVBR=Constrained Variable Bitrate, CBR=Constant Bitrate. (CVBR or CBR or CVBR+CBR) |
|
||||||
@ -194,14 +198,17 @@ 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 using [Open Cookies.txt](https://chromewebstore.google.com/detail/open-cookiestxt/gdocmgbfkjnnpapoeobnolbbkoibbcif).
|
Login and get to the code pair page. Extract cookies from that page using [Open Cookies.txt](https://chromewebstore.google.com/detail/open-cookiestxt/gdocmgbfkjnnpapoeobnolbbkoibbcif).
|
||||||
|
|
||||||
Save it to the path `vinetrimmer/Cookies/Amazon/default.txt`. Pay attention to path if you are on Linux. Path is case sensitive and needs the capital `C` for `Cookies` and capital `A` for `Amazon`.
|
Save it to the path `vinetrimmer/Cookies/Amazon/default.txt`. Pay attention to path if you are on Linux. Path is case sensitive.
|
||||||
|
|
||||||
When caching cookies, use a profile without PIN. Otherwise it may cause errors.
|
When caching cookies, use a profile without PIN. Otherwise it may cause errors.
|
||||||
|
|
||||||
If you are facing 403 or 400 errors even after saving fresh cookies and clearing `Cache` Folder, try logging out of your Amazon account in the browser and logging back in. Then save cookies.
|
If you are facing 403 or 400 errors even after saving fresh cookies and clearing `Cache` folder, try logging out of your Amazon account in the browser and logging back in. Then save cookies.
|
||||||
|
|
||||||
Some titles say `UHD/2160p` is available and if VT is saying `no 2160p track available`, then `UHD/2160p` is only available via renting.
|
Some titles say `UHD/2160p` is available and if VT is saying `no 2160p track available`, then `UHD/2160p` is only available via renting.
|
||||||
|
|
||||||
|
If you are getting an `AssertionError` with Amazon, then try reprovisioning the device. I have included a batch script in the `vinetrimmer/devices/` directory to do this. Simply execute the script and try again.
|
||||||
|
|
||||||
|
|
||||||
### Peacock
|
### Peacock
|
||||||
|
|
||||||
- PCOK bans leaked certs quickly (for 4k), be cautious.
|
- PCOK bans leaked certs quickly (for 4k), be cautious.
|
||||||
@ -218,15 +225,10 @@ Some titles say `UHD/2160p` is available and if VT is saying `no 2160p track ava
|
|||||||
|
|
||||||
### DisneyPlus
|
### DisneyPlus
|
||||||
|
|
||||||
Needs only credentials added to `vinetrimmer.yml`.
|
- Needs only credentials added to `vinetrimmer.yml`.
|
||||||
|
- Requires you to use `-m` or `--movie` flag if you are downloading a movie. Append flag to end of your command.
|
||||||
Requires you to use `-m` or `--movie` flag if you are downloading a movie. Append flag to end of your command.
|
- From my testing, when using with VPN, it causes lots of issues, mainly needing to clear `Cache` folder and login repeatedly. Use residential proxies if available. Don't hammer service. Try waiting a minute or two before logging in again.
|
||||||
|
- If you are getting `No 2160p track found` error for a title you know has 4k, then try passing `-r DV` or `-r HDR`. Make sure your account can access highest qualities.
|
||||||
From my testing, when using with VPN, it causes lots of issues, mainly needing to clear `Cache` folder and login repeatedly. Use residential proxies if available.
|
|
||||||
|
|
||||||
If you are getting `No 2160p track found` error for a title you know has 4k, then try passing `-r DV` or `-r HDR`.
|
|
||||||
|
|
||||||
Make sure your account can access highest qualities.
|
|
||||||
|
|
||||||
### Example Command
|
### Example Command
|
||||||
|
|
||||||
@ -289,7 +291,7 @@ Above command:
|
|||||||
|
|
||||||
## Proxy
|
## Proxy
|
||||||
I recommend [Windscribe](https://windscribe.com/). You can sign up, getting 10 GB of traffic credit every month for free. We use the VPN for everything except downloading video/audio.
|
I recommend [Windscribe](https://windscribe.com/). 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.
|
Tested so far on Amazon, AppleTVPlus, Max, and DisneyPlus.
|
||||||
|
|
||||||
### Steps:
|
### Steps:
|
||||||
1. For each service, within get_tracks() function we do this below. Below is only when you are integrating a new service yourself. Set needs_proxy to True if your service needs proxy to get manifest (Ex - Netflix, Hotstar).
|
1. For each service, within get_tracks() function we do this below. Below is only when you are integrating a new service yourself. Set needs_proxy to True if your service needs proxy to get manifest (Ex - Netflix, Hotstar).
|
||||||
@ -308,7 +310,7 @@ Tested so far on Amazon, AppleTVPlus, Max.
|
|||||||
|
|
||||||
5. Go to `Options` -> `Connection` -> `Proxy Gateway`. Enable it. Select `Proxy Type` as `HTTP`.
|
5. Go to `Options` -> `Connection` -> `Proxy Gateway`. Enable it. Select `Proxy Type` as `HTTP`.
|
||||||
|
|
||||||
Copy the `IP` field (will look something like `192.168.0.141:9766`)
|
Copy the `IP` field (will look something like `192.168.0.141:9766`).
|
||||||
|
|
||||||
Pass above copied to Vinetrimmer with the proxy flag like below.
|
Pass above copied to Vinetrimmer with the proxy flag like below.
|
||||||
|
|
||||||
@ -354,8 +356,8 @@ Tested so far on Amazon, AppleTVPlus, Max.
|
|||||||
## Broken / To-Do (Descending order of priority)
|
## Broken / To-Do (Descending order of priority)
|
||||||
|
|
||||||
- [ ] First stable release
|
- [ ] First stable release
|
||||||
- [ ] Shaka with progress bar repo
|
- [ ] Shaka with progress bar repository
|
||||||
- [ ] Fix cdm type errors.
|
- [ ] Fix CDM type errors.
|
||||||
- [ ] Insert command to start of log in vt
|
- [ ] Insert command to start of log in vt
|
||||||
- [ ] Linux support - Debian/Ubuntu/Mint + Fix service config load for Linux.
|
- [ ] Linux support - Debian/Ubuntu/Mint + Fix service config load for Linux.
|
||||||
- [ ] Single script that installs, and if already installed checks for and applies updates
|
- [ ] Single script that installs, and if already installed checks for and applies updates
|
||||||
@ -371,7 +373,6 @@ Tested so far on Amazon, AppleTVPlus, Max.
|
|||||||
- [ ] Modify aria2c to include a progress bar ?
|
- [ ] Modify aria2c to include a progress bar ?
|
||||||
- [ ] Github Actions Python script that builds and publishes release for every commit to not readme.md
|
- [ ] Github Actions Python script that builds and publishes release for every commit to not readme.md
|
||||||
- [ ] MAX - Fix HDR10/DV --list
|
- [ ] MAX - Fix HDR10/DV --list
|
||||||
- [ ] ATVP service is currently broken in dev branch
|
|
||||||
- [ ] Fix original language (Was removed as workaround for a bug)
|
- [ ] Fix original language (Was removed as workaround for a bug)
|
||||||
- [ ] Fix `-sl all` and `-al all`
|
- [ ] Fix `-sl all` and `-al all`
|
||||||
- [ ] Make a windscribe.py for proxies modelled after nordvpn.py. Refer to the chrome extension for the code.
|
- [ ] Make a windscribe.py for proxies modelled after nordvpn.py. Refer to the chrome extension for the code.
|
||||||
@ -379,7 +380,7 @@ Tested so far on Amazon, AppleTVPlus, Max.
|
|||||||
- [ ] Netflix service is currently broken (will probably be fixed Soon™)
|
- [ ] Netflix service is currently broken (will probably be fixed Soon™)
|
||||||
- [ ] Integrate [subby](https://github.com/vevv/subby)
|
- [ ] Integrate [subby](https://github.com/vevv/subby)
|
||||||
- [ ] Licensing before download (?)
|
- [ ] Licensing before download (?)
|
||||||
- [ ] Add MoviesAnywhere service.
|
- [ ] Test and fix MoviesAnywhere, ParamountPlus, AppleTVPlus, Hulu services.
|
||||||
- [ ] Guide for writing a service + debugging
|
- [ ] Guide for writing a service + debugging
|
||||||
- [ ] Implement a scan/hammer/cache keys for each service - pass string of zeros as title id. Then copy and rework dl.py to iterate over returned list of titles from scan function
|
- [ ] Implement a scan/hammer/cache keys for each service - pass string of zeros as title id. Then copy and rework dl.py to iterate over returned list of titles from scan function
|
||||||
|
|
||||||
@ -407,7 +408,7 @@ My discord is `@crapola`
|
|||||||
|
|
||||||
[@rlaphoenix](https://github.com/rlaphoenix) for [pywidevine](https://github.com/devine-dl/pywidevine)
|
[@rlaphoenix](https://github.com/rlaphoenix) for [pywidevine](https://github.com/devine-dl/pywidevine)
|
||||||
|
|
||||||
[@rlaphoenix](https://github.com/rlaphoenix) again as he was the original developer behind the `VineTrimmer` (later version renamed to `devine`) base `Widevine` version.
|
[@rlaphoenix](https://github.com/rlaphoenix) again as he was the original developer behind the `VineTrimmer` base (later renamed to `devine`) `Widevine` version.
|
||||||
|
|
||||||
[@DevLARLEY](https://github.com/DevLARLEY) for [pyplayready](https://git.gay/ready-dl/pyplayready)
|
[@DevLARLEY](https://github.com/DevLARLEY) for [pyplayready](https://git.gay/ready-dl/pyplayready)
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user