try this cmd:
Code:uv run unshackle -d dl -w s01e01 -l it -vl en DSCP https://play.discoveryplus.com/show/9d88ff00-2f43-4044-b002-b54f23ff39b1
[Attachment 90382 - Click to enlarge]
+ Reply to Thread
Results 571 to 600 of 628
-
-
PS C:\Users\W11 DL STATION\Desktop\SCRAPER\envied> uv run unshackle -d dl -w s01e01 -l it -vl en DSCP https://play.discoveryplus.com/show/9d88ff00-2f43-4044-b002-b54f23ff39b1
and my L3 key works, because I use it in another project, AniDL with Crunchyroll and works of course.Code:░█▀▀░█▀█░█░█░▀█▀░█▀▀░█▀▄ ░█▀▀░█░█░▀▄▀░░█░░█▀▀░█░█ ░▀▀▀░▀░▀░░▀░░▀▀▀░▀▀▀░▀▀░ and more than unshackled... v 2.1.0 - https://github.com/vinefeeder/envied Service Config loaded Loaded 0/0 Vaults No vaults are currently active Failed to load CDM, my_key_L3.wvd does not exist or is not a file -
is your l3.wvd in wvds folder?
[Attachment 90383 - Click to enlarge]
playready .prd go in prds folder
[Attachment 90384 - Click to enlarge]Last edited by iamghost; 22nd Dec 2025 at 09:02.
-
I don't have PRDs folder, I just create right now, and i tried to put these .prd files, from this thread.
unshackle.yaml
I don't understand why doesn't works, Where is the my fault?Code:cdm: default: 'my_key_L3.wvd' credentials: DiscoveryPlus: 'myemail@gmail.com:mypass' directories: temp: 'Z:\TEMP' downloads: 'Z:\DOWNLOAD' headers: User-Agent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36' output_template: movies: '{title} {year}' series: '{title} {season_episode} {episode_name}' use_last_audio: false profiles: default: 'default' directories: cache: Cache cookies: Cookies downloads: Downloads logs: Logs temp: Temp wvds: WVDs prds: PRDs
I saw it that seems use not L3 key but playready, maybe is this the problem? I don't understand because seems that L3 key doesn't exist for the script.
If you need others config files, ask to me -
I saw it your edit.
The issue about:
Failed to load CDM, my_key_L3.wvd
does not exist or is not a file
Was because in my: unshackle.yaml
I used in the cdm name file, also the extension .wvd, but it's enough just the name.
So now I have cookie issue again...
But cookie are already in the right folder i guess.Code:PS C:\Users\W11 DL STATION\Desktop\SCRAPER\envied> uv run unshackle -d dl -w s01e01 -l it -vl en DSCP https://play.discoveryplus.com/show/9d88ff00-2f43-4044-b002-b54f23ff39b1 ░█▀▀░█▀█░█░█░▀█▀░█▀▀░█▀▄ ░█▀▀░█░█░▀▄▀░░█░░█▀▀░█░█ ░▀▀▀░▀░▀░░▀░░▀▀▀░▀▀▀░▀▀░ and more than unshackled... v 2.1.0 - https://github.com/vinefeeder/envied Service Config loaded Loaded 0/0 Vaults No vaults are currently active Loaded PlayReady CDM: Hisense SmartTV HE55A7000EUWTS (L3000) ────────────────────────────── Service: DSCP ─────────────────────────────── Service has no Geofence ╭───────────────────── Traceback (most recent call last) ──────────────────────╮ │ in _run_module_as_main:198 │ │ in _run_code:88 │ │ │ │ in <module>:10 │ │ │ │ C:\Users\W11 DL │ │ STATION\Desktop\SCRAPER\envied\.venv\Lib\site-packages\click\core.py:1462 in │ │ __call__ │ │ │ │ C:\Users\W11 DL │ │ STATION\Desktop\SCRAPER\envied\.venv\Lib\site-packages\click\core.py:1383 in │ │ main │ │ │ │ C:\Users\W11 DL │ │ STATION\Desktop\SCRAPER\envied\.venv\Lib\site-packages\click\core.py:1850 in │ │ invoke │ │ │ │ C:\Users\W11 DL │ │ STATION\Desktop\SCRAPER\envied\.venv\Lib\site-packages\click\core.py:1850 in │ │ invoke │ │ │ │ C:\Users\W11 DL │ │ STATION\Desktop\SCRAPER\envied\.venv\Lib\site-packages\click\core.py:1819 in │ │ _process_result │ │ │ │ C:\Users\W11 DL │ │ STATION\Desktop\SCRAPER\envied\.venv\Lib\site-packages\click\core.py:814 in │ │ invoke │ │ │ │ C:\Users\W11 DL STATION\Desktop\SCRAPER\envied\unshackle\commands\dl.py:808 │ │ in result │ │ │ │ 805 │ │ │ try: │ │ 806 │ │ │ │ cookies = self.get_cookie_jar(self.service, self.prof │ │ 807 │ │ │ │ credential = self.get_credentials(self.service, self. │ │ ❱ 808 │ │ │ │ service.authenticate(cookies, credential) │ │ 809 │ │ │ │ if cookies or credential: │ │ 810 │ │ │ │ │ self.log.info("Authenticated with Service") │ │ 811 │ │ │ │ │ if self.debug_logger: │ │ │ │ C:\Users\W11 DL │ │ STATION\Desktop\SCRAPER\envied\unshackle\services\DSCP\__init__.py:102 in │ │ authenticate │ │ │ │ 99 │ def authenticate(self, cookies: CookieJar | None = None, credentia │ │ 100 │ │ super().authenticate(cookies, credential) │ │ 101 │ │ if not cookies: │ │ ❱ 102 │ │ │ raise EnvironmentError("Service requires Cookies for Authe │ │ 103 │ │ │ │ 104 │ │ cache = self.cache.get(f"tokens_{self.profile}") │ │ 105 │ │ if cache: │ ╰──────────────────────────────────────────────────────────────────────────────╯ OSError: Service requires Cookies for Authentication -
it cant find your cookies. is your unshackle.yaml show right path where cookies folder is?
you can check it out
uv run unshackle env info -
Here there are my cookie for DSCP:
So seems correct, no?Code:C:\Users\W11 DL STATION\Desktop\SCRAPER\envied\unshackle\cookies\DSCP\default.txt
Code:PS C:\Users\W11 DL STATION\Desktop\SCRAPER\envied> uv run unshackle env info ░█▀▀░█▀█░█░█░▀█▀░█▀▀░█▀▄ ░█▀▀░█░█░▀▄▀░░█░░█▀▀░█░█ ░▀▀▀░▀░▀░░▀░░▀▀▀░▀▀▀░▀▀░ and more than unshackled... v 2.1.0 - https://github.com/vinefeeder/envied Config loaded from C:\Users\W11 DL STATION\Desktop\SCRAPER\envied\unshackle\unshackle.yaml Directories ┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Name ┃ Path ┃ ┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ │ Cache │ %USERPROFILE%\Desktop\SCRAPER\envied\Cache │ │ Commands │ %USERPROFILE%\Desktop\SCRAPER\envied\unshackle\com │ │ │ mands │ │ Cookies │ %USERPROFILE%\Desktop\SCRAPER\envied\Cookies │ │ Core_Dir │ %USERPROFILE%\Desktop\SCRAPER\envied\unshackle\cor │ │ │ e │ │ Data │ %USERPROFILE%\Desktop\SCRAPER\envied\unshackle │ │ Dcsl │ %USERPROFILE%\Desktop\SCRAPER\envied\unshackle\DCS │ │ │ L │ │ Downloads │ \\192.168.100.50\STORAGE-1TB\DOWNLOAD │ │ Fonts │ %USERPROFILE%\Desktop\SCRAPER\envied\unshackle\fon │ │ │ ts │ │ Logs │ %USERPROFILE%\Desktop\SCRAPER\envied\unshackle\log │ │ │ s │ │ Namespace_Dir │ %USERPROFILE%\Desktop\SCRAPER\envied\unshackle │ │ Prds │ %USERPROFILE%\Desktop\SCRAPER\envied\unshackle\PRD │ │ │ s │ │ Services │ %USERPROFILE%\Desktop\SCRAPER\envied\unshackle\ser │ │ │ vices │ │ Temp │ \\192.168.100.50\STORAGE-1TB\TEMP │ │ User_Configs │ %USERPROFILE%\Desktop\SCRAPER\envied\unshackle │ │ Vaults │ %USERPROFILE%\Desktop\SCRAPER\envied\unshackle\vau │ │ │ lts │ │ Wvds │ %USERPROFILE%\Desktop\SCRAPER\envied\unshackle\WVD │ │ │ s │ └───────────────┴────────────────────────────────────────────────────┘ -
try put it in unshackle.yaml
cookies './cookies' is not your
PATH so use this your path
Code:Cookies 'C:/Users/W11 DL STATION/Desktop/SCRAPER/envied/unshackle/cookies'
-
I can't believe, almost done!
Now I have this error.
unfortunately the example files and docs for this project are not helpful, because firstful to write here, I searched in example files yml, like:
unshackle-example.yaml
But I didn't found any row where i guess i must to put shaka-packeger.exe
and in vinetrimmer project, I saw that they use in vinetrimmer.yml:
decrypter: 'packager'
I tried to put it in my: unshackle.yaml
But I have anyway the same error.
EDIT:Code:❌ Download Failed... Shaka Packager executable not found but is required. An unexpected error occurred in one of the download workers. See the error trace above for more information.
I put mp4decrypt.exe and mp4dump.exe
in:
and works! Amazing! I'm so happy!Code:C:\Users\W11 DL STATION\Desktop\SCRAPER\envied\unshackle\binaries
You think that can works also for: AMZ NF and NOW TV ?Last edited by faccta; 22nd Dec 2025 at 11:29.
-
We can't discuss NF and AMZ because they are paid services and thus against the rules.
-
-
Envied and Unshackled are intended for users with some experience who have followed the development process over the years. It can be a a hard task to catch up as you are finding now. That is why I created TwinVine - if you follow the install instructions it installs binaries from source and everything else ready to go.
https://github.com/vinefeeder/Twinvine
In TwinVine, envied uses envied.yaml as the config file. Everything is set for simple downloads i.e Widevine, no account needed, no cookies needed no services need to be found no CDM needs to be fetched. It can hardly be more simple.
[Attachment 90420 - Click to enlarge]
But if you are going for the harder stuff there are place-holders for logins but not for cookies. Cookies are named in capital letters just like the service with .txt file-type. They go in a Cookies folder. For TwinVine that is in packages/envied/src, (the same as the downloads folder). There create a file called Cookies. Or set the cookies: location in envied.yaml to point to your location; use the full path C:/ and forward slashes.
All the information is around here somewhere... but I agree cookies are badly explained.Noob Starter Pack. Just download any Widevine media! Over 22,000 downloads for V6!.
https://files.videohelp.com/u/301890/hellyes6.zip -
[Attachment 90421 - Click to enlarge]
[Attachment 90422 - Click to enlarge]
usb-ssd running Arch Linux hosting Windows 11 Pro as a virtual machine, running TwinVine following a scripted install.Last edited by A_n_g_e_l_a; 23rd Dec 2025 at 07:02.
Noob Starter Pack. Just download any Widevine media! Over 22,000 downloads for V6!.
https://files.videohelp.com/u/301890/hellyes6.zip -
Has anyone ever come across this cookie issue before?
Multiple cookies exist with name=st on .prd.api.discoveryplus.com
and eu1-prod-direct.discoveryplus.com, add domain parameter to
suppress this error.
An unexpected error occurred in one of the download workers.
See the error trace above for more information. -
So I seem to be having the same "WHERE ARE THE COOKIES" issue. With original devine, I put cookies.txt in the ROKU folder and used -p cookies
This worked.
With unshackle I can't find any combination where to place the cookies to work. When I exported the cookies, I couldn't figure out what name the cookies needed to be in, so this is my cookie folder.
These are all the SAME cookies.txt file duplicated to any name I could figure.Code:D:\StreamDL\unshackle\unshackle\Cookies>dir /s /b /a D:\StreamDL\unshackle\unshackle\Cookies\.txt D:\StreamDL\unshackle\unshackle\Cookies\cookies.txt D:\StreamDL\unshackle\unshackle\Cookies\default.txt D:\StreamDL\unshackle\unshackle\Cookies\ROKU D:\StreamDL\unshackle\unshackle\Cookies\ROKU.txt D:\StreamDL\unshackle\unshackle\Cookies\ROKU\.txt D:\StreamDL\unshackle\unshackle\Cookies\ROKU\cookies.txt D:\StreamDL\unshackle\unshackle\Cookies\ROKU\default.txt D:\StreamDL\unshackle\unshackle\Cookies\ROKU\ROKU.txt
I am subscribed to Howdy on the Roku channel, but I get this.
Here are the possible commands I have tried.Code:▄ ▄▌ ▐ ▄ .▄▄ · ▄ .▄ ▄▄▄· ▄▄· ▄ ▄ ▄▄▌ ▄▄▄ . █▪██▌█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██ ▀▄.▀· █▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪ ▐▀▀▪▄ ▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌ ▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀ ▀ ·▀▀▀ ·▀ ▀.▀▀▀ ▀▀▀ v 2.1.0 - © 2025 - github.com/unshackle-dl/unshackle Using profile: 'ROKU' Service Config loaded Loaded 0/0 Vaults Loaded Widevine CDM: 4464 (L3) ────────────────────────────── Service: ROKU ─────────────────────────────── Service is not Geoblocked in your region Authenticated with Service ──────────────────── Movies: Akeelah and the Bee (2006) ──────────────────── 1 Movie ──────────────────────── Akeelah and the Bee (2006) ──────────────────────── This title is only available to subscribers
And here's my environment infoCode:uv run unshackle dl roku https://therokuchannel.roku.com/details/7d4ad66a960450819bc94be4b377573f/akeelah-and-the-bee uv run unshackle dl -p cookies roku https://therokuchannel.roku.com/details/7d4ad66a960450819bc94be4b377573f/akeelah-and-the-bee uv run unshackle dl -p ROKU roku https://therokuchannel.roku.com/details/7d4ad66a960450819bc94be4b377573f/akeelah-and-the-bee
It seems no matter what I do, the cookies are not being used, I guess?Code:D:\StreamDL\unshackle>uv run unshackle env info ▄ ▄▌ ▐ ▄ .▄▄ · ▄ .▄ ▄▄▄· ▄▄· ▄ ▄ ▄▄▌ ▄▄▄ . █▪██▌█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██ ▀▄.▀· █▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪ ▐▀▀▪▄ ▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌ ▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀ ▀ ·▀▀▀ ·▀ ▀.▀▀▀ ▀▀▀ v 2.1.0 - © 2025 - github.com/unshackle-dl/unshackle Config loaded from D:\StreamDL\unshackle\unshackle\unshackle.yaml Directories ┏━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Name ┃ Path ┃ ┡━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ │ Cache │ D:\StreamDL\unshackle\unshackle\cache │ │ Commands │ D:\StreamDL\unshackle\unshackle\commands │ │ Cookies │ D:\StreamDL\unshackle\unshackle\Cookies │ │ Core_Dir │ D:\StreamDL\unshackle\unshackle\core │ │ Data │ D:\StreamDL\unshackle\unshackle │ │ Dcsl │ D:\StreamDL\unshackle\unshackle\DCSL │ │ Downloads │ D:\StreamDL\unshackle\downloads │ │ Fonts │ D:\StreamDL\unshackle\unshackle\fonts │ │ Logs │ D:\StreamDL\unshackle\unshackle\logs │ │ Namespace_Dir │ D:\StreamDL\unshackle\unshackle │ │ Prds │ D:\StreamDL\unshackle\unshackle\PRDs │ │ Services │ D:\StreamDL\unshackle\unshackle\services │ │ Temp │ D:\StreamDL\unshackle\temp │ │ User_Configs │ D:\StreamDL\unshackle\unshackle │ │ Vaults │ D:\StreamDL\unshackle\unshackle\vaults │ │ Wvds │ D:\StreamDL\unshackle\unshackle\WVDs │ └──────────────────┴─────────────────────────────────────────────────┘ -
your roku cookies work fine, maybe subscribed not work with roku service. only work with free video.
try with widevineproxy2 addon to get it -
Thank you, that is working. However, I am intending to get entire TV series using my subscription. One show has 80 episodes. It would be cumbersome to get with this method. If the cookie login feature has been stripped out of unshackled, then what should I be using? envied? VT-PR? Which one works?
-
-
Well, Devine works and also doesn't, with the same cookies, with the same subscription, with different videos. For example, Akeelah and the Bee worked. However, Father's Day didn't, with the message "This title is only available to subscribers". I have a list of multiple videos that don't work, and TV series as well show the same message.
https://therokuchannel.roku.com/details/f9dabc942d585728bae617bd3d2ccd64/fathers-day -
If some titles work and others don't, that kind of sounds like an issue with access. Can you play everything in browser or app?
Either way, without subscription access, I can't really do any troubleshooting. You're welcome to send cookies or a .HAR file with full network flow and I can take a look at it. Otherwise there's not much I can do. -
Anyone else have this issue with SBS?
It seems to be only with this particular series, I can download other videos from SBS.
I tried both with and without the "-ns" switch but it's still the same result
Code:uv run unshackle dl -ns sbs https://www.sbs.com.au/ondemand/tv-series/luke-nguyens-street-food-asia warning: `VIRTUAL_ENV=/home/pc/Downloads/pyenvs/main` does not match the project environment path `/home/pc/Downloads/pyenvs/main/TwinVine/.venv` and will be ignored; use `--active` to target the active environment instead ▄ ▄▌ ▐ ▄ .▄▄ · ▄ .▄ ▄▄▄· ▄▄· ▄ ▄ ▄▄▌ ▄▄▄ . █▪██▌█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██ ▀▄.▀· █▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪ ▐▀▀▪▄ ▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌ ▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀ ▀ ·▀▀▀ ·▀ ▀.▀▀▀ ▀▀▀ v 2.1.0 - © 2025 - github.com/unshackle-dl/unshackle Service Config loaded Loaded 0/0 Vaults Loaded Widevine CDM: 28919 (L3) ─────────────────────────────── Service: SBS ─────────────────────────────── Service is not Geoblocked in your region Authenticated with Service ────────────── Series: Luke Nguyen's Street Food Asia (2016) ─────────────── 1 seasons, S1(8) ──── Luke Nguyen's Street Food Asia 2016 S01E01 Saigon, Vietnam: Part 1 ──── Skipped subtitles as --no-subs was used... ╭───────────────────── Traceback (most recent call last) ──────────────────────╮ │ /home/pc/Downloads/pyenvs/main/bin/unshackle:10 in <module> │ │ │ │ 7 │ │ sys.argv[0] = sys.argv[0][:-11] │ │ 8 │ elif sys.argv[0].endswith(".exe"): │ │ 9 │ │ sys.argv[0] = sys.argv[0][:-4] │ │ ❱ 10 │ sys.exit(main()) │ │ 11 │ │ │ │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/click/core.py:14 │ │ 42 in __call__ │ │ │ │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/click/core.py:13 │ │ 63 in main │ │ │ │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/click/core.py:18 │ │ 30 in invoke │ │ │ │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/click/core.py:18 │ │ 30 in invoke │ │ │ │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/click/core.py:17 │ │ 99 in _process_result │ │ │ │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/click/core.py:79 │ │ 4 in invoke │ │ │ │ /home/pc/Downloads/pyenvs/main/unshackle/unshackle/commands/dl.py:994 in │ │ result │ │ │ │ 991 │ │ │ │ │ 992 │ │ │ with console.status("Getting tracks...", spinner="dots"): │ │ 993 │ │ │ │ try: │ │ ❱ 994 │ │ │ │ │ title.tracks.add(service.get_tracks(title), warn_ │ │ 995 │ │ │ │ │ title.tracks.chapters = service.get_chapters(titl │ │ 996 │ │ │ │ except Exception as e: │ │ 997 │ │ │ │ │ if self.debug_logger: │ │ │ │ /home/pc/Downloads/pyenvs/main/unshackle/unshackle/services/SBS/__init__.py: │ │ 131 in get_tracks │ │ │ │ 128 │ │ │ │ │ Subtitle( │ │ 129 │ │ │ │ │ │ id_=hashlib.md5(url.encode()).hexdigest()[0:6] │ │ 130 │ │ │ │ │ │ url=url, │ │ ❱ 131 │ │ │ │ │ │ codec=Subtitle.Codec.from_mime(url[-3:]), │ │ 132 │ │ │ │ │ │ language=lang, │ │ 133 │ │ │ │ │ │ sdh="_CC" in url, │ │ 134 │ │ │ │ │ ) │ │ │ │ /home/pc/Downloads/pyenvs/main/unshackle/unshackle/core/tracks/subtitle.py:7 │ │ 3 in from_mime │ │ │ │ 70 │ │ │ │ return Subtitle.Codec.fTTML │ │ 71 │ │ │ elif mime == "wvtt": │ │ 72 │ │ │ │ return Subtitle.Codec.fVTT │ │ ❱ 73 │ │ │ raise ValueError(f"The MIME '{mime}' is not a supported S │ │ 74 │ │ │ │ 75 │ │ @staticmethod │ │ 76 │ │ def from_codecs(codecs: str) -> Subtitle.Codec: │ ╰──────────────────────────────────────────────────────────────────────────────╯ ValueError: The MIME 'fxp' is not a supported Subtitle Codec -
I am happy that Unshackle works well and that stabbedbybrick has continued tweaking the services when the need arises. I get frustrated as my Windscribe VPN is problematic with UKTV having to reset sometimes after only getting one video in a series. But there is so much to be grateful for and it is best to just work away at things bit by bit.
-
Okay so I'm very new to this and honestly I'm pretty lost.. I've never used something like unshackle before and I have no idea what I'm doing.
I'm trying to download from Pluto and I've skimmed trough this discussion when I've hit a roadblock but again.. I have no idea what I'm doing haha.. I seen someone posted a file with services and I downloaded that and put it in "C:\Users\micha\unshackle\unshackle\services" I've tried creating a unshackle.yaml but I have no idea what it actually needs and I keep getting an error saying:
I've installed the webvtt using pip install webvtt-py and still get the error.. not sure why because once again.. I'm clueless!Code:C:\Users\micha\unshackle>uv run unshackle dl PLUTO https://pluto.tv/us/search/details/series/66327c1fe42c2300139f9528/season/1?lang=en-GB Traceback (most recent call last): File "C:\Users\micha\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in _run_module_as_main return _run_code(code, main_globals, None, File "C:\Users\micha\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in _run_code exec(code, run_globals) File "C:\Users\micha\unshackle\.venv\Scripts\unshackle.exe\__main__.py", line 4, in <module> main() File "C:\Users\micha\unshackle\unshackle\core\__main__.py", line 13, in <module> from unshackle.core.commands import Commands File "C:\Users\micha\unshackle\unshackle\core\commands.py", line 12, in <module> _MODULES = {path.stem: getattr(import_module_by_path(path), path.stem) for path in _COMMANDS} File "C:\Users\micha\unshackle\unshackle\core\commands.py", line 12, in <dictcomp> _MODULES = {path.stem: getattr(import_module_by_path(path), path.stem) for path in _COMMANDS} File "C:\Users\micha\unshackle\unshackle\core\utilities.py", line 112, in import_module_by_path spec.loader.exec_module(module) File "C:\Users\micha\unshackle\unshackle\commands\dl.py", line 44, in <module> from unshackle.core.cdm import CustomRemoteCDM, DecryptLabsRemoteCDM File "C:\Users\micha\unshackle\unshackle\core\cdm\__init__.py", line 1, in <module> from .custom_remote_cdm import CustomRemoteCDM File "C:\Users\micha\unshackle\unshackle\core\cdm\custom_remote_cdm.py", line 14, in <module> from unshackle.core.vaults import Vaults File "C:\Users\micha\unshackle\unshackle\core\vaults.py", line 12, in <module> _MODULES = {path.stem: getattr(import_module_by_path(path), path.stem) for path in _VAULTS} File "C:\Users\micha\unshackle\unshackle\core\vaults.py", line 12, in <dictcomp> _MODULES = {path.stem: getattr(import_module_by_path(path), path.stem) for path in _VAULTS} File "C:\Users\micha\unshackle\unshackle\core\utilities.py", line 112, in import_module_by_path spec.loader.exec_module(module) File "C:\Users\micha\unshackle\unshackle\vaults\MySQL.py", line 8, in <module> from unshackle.core.services import Services File "C:\Users\micha\unshackle\unshackle\core\services.py", line 18, in <module> _MODULES = {path.parent.stem: getattr(import_module_by_path(path), path.parent.stem) for path in _SERVICES} File "C:\Users\micha\unshackle\unshackle\core\services.py", line 18, in <dictcomp> _MODULES = {path.parent.stem: getattr(import_module_by_path(path), path.parent.stem) for path in _SERVICES} File "C:\Users\micha\unshackle\unshackle\core\utilities.py", line 112, in import_module_by_path spec.loader.exec_module(module) File "C:\Users\micha\unshackle\unshackle\services\ARD\__init__.py", line 11, in <module> import webvtt ModuleNotFoundError: No module named 'webvtt'
If someone could help me just make a .yaml for pluto (or make one for me?) and walk me through what I need to do I would be eternally grateful because I feel like my head is about to explode -
uv run unshackle search pluto "Mini Ninjas"
Mini Ninjas series
id: /series/66327c1fe42c2300139f9528/details
Mini ninjas series
id: /series/66299fd0d1a91700134cbee5/details -
The services you've copied were meant for envied -it comes with webvtt named in the pyproject.toml so it loads at the very start. If you are going to mix and match, expect problems.
To get around this, add webvtt to the unshackle virtual-environment (.venv) byI've added isodate - another dependency. There could be another I've missed, but it will complain, so sort it as in the example.Code:uv add webvtt-py isodate
There is a difference from pip; pip installs to the global python environment but unshackle uses a package manager (uv) that only looks for libraries within its virtual environment (.venv). Use a file manager to look inside the hidden .venv folder and all will become clear -
[Attachment 90536 - Click to enlarge]
[Attachment 90537 - Click to enlarge]
Tweak made to --select-titles output. Thanks go to CodeName393 for the suggestion.Noob Starter Pack. Just download any Widevine media! Over 22,000 downloads for V6!.
https://files.videohelp.com/u/301890/hellyes6.zip -
Back when I was subscribed to NordVPN it was terrific for me when it came to streaming downloading so went with Windscribe when I got a chance. Windscribe works thankfully for most of the services thankfully but is frustrating when it comes to some of them. It is nice to see NordVPN proxy working well. Maybe at some point I can add Surfshark or NordVPN in addition to Windscribe. I keep waiting for fiber optic as well but that may be a while off as well.
-
Anyone confirm if they have the same issue with SBS?
Also I can't download anything from Tubi, every link gives
Is something wrong my end or is it the same for everyone?HTML Code:uv run unshackle dl tubi https://tubitv.com/en-gb/movies/100035041/fantastic-fungi-remastered ▄ ▄▌ ▐ ▄ .▄▄ · ▄ .▄ ▄▄▄· ▄▄· ▄ ▄ ▄▄▌ ▄▄▄ . █▪██▌█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██ ▀▄.▀· █▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪ ▐▀▀▪▄ ▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌ ▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀ ▀ ·▀▀▀ ·▀ ▀.▀▀▀ ▀▀▀ v 2.1.0 - © 2025 - github.com/unshackle-dl/unshackle Service Config loaded Loaded 0/0 Vaults Loaded Widevine CDM: 28919 (L3) ────────────────────────────── Service: TUBI ─────────────────────────────── Service has no Geofence ╭───────────────────── Traceback (most recent call last) ──────────────────────╮ │ /home/pc/Downloads/pyenvs/main/unshackle/unshackle/services/TUBI/__init__.py │ │ :120 in get_titles │ │ │ │ 117 │ │ │ 118 │ def get_titles(self) -> Titles_T: │ │ 119 │ │ try: │ │ ❱ 120 │ │ │ kind, content_id = (re.match(self.TITLE_RE, self.title).gr │ │ 121 │ │ except Exception: │ │ 122 │ │ │ raise ValueError("Could not parse ID from title - is the U │ │ 123 │ │ │ │ /home/pc/Downloads/pyenvs/main/unshackle/unshackle/services/TUBI/__init__.py │ │ :120 in <genexpr> │ │ │ │ 117 │ │ │ 118 │ def get_titles(self) -> Titles_T: │ │ 119 │ │ try: │ │ ❱ 120 │ │ │ kind, content_id = (re.match(self.TITLE_RE, self.title).gr │ │ 121 │ │ except Exception: │ │ 122 │ │ │ raise ValueError("Could not parse ID from title - is the U │ │ 123 │ ╰──────────────────────────────────────────────────────────────────────────────╯ AttributeError: 'NoneType' object has no attribute 'group' During handling of the above exception, another exception occurred: ╭───────────────────── Traceback (most recent call last) ──────────────────────╮ │ /home/pc/Downloads/pyenvs/main/bin/unshackle:10 in <module> │ │ │ │ 7 │ │ sys.argv[0] = sys.argv[0][:-11] │ │ 8 │ elif sys.argv[0].endswith(".exe"): │ │ 9 │ │ sys.argv[0] = sys.argv[0][:-4] │ │ ❱ 10 │ sys.exit(main()) │ │ 11 │ │ │ │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/click/core.py:14 │ │ 42 in __call__ │ │ │ │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/click/core.py:13 │ │ 63 in main │ │ │ │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/click/core.py:18 │ │ 30 in invoke │ │ │ │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/click/core.py:18 │ │ 30 in invoke │ │ │ │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/click/core.py:17 │ │ 99 in _process_result │ │ │ │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/click/core.py:79 │ │ 4 in invoke │ │ │ │ /home/pc/Downloads/pyenvs/main/unshackle/unshackle/commands/dl.py:823 in │ │ result │ │ │ │ 820 │ │ │ │ 821 │ │ with console.status("Fetching Title Metadata...", spinner="do │ │ 822 │ │ │ try: │ │ ❱ 823 │ │ │ │ titles = service.get_titles_cached() │ │ 824 │ │ │ │ if not titles: │ │ 825 │ │ │ │ │ self.log.error("No titles returned, nothing to do │ │ 826 │ │ │ │ │ if self.debug_logger: │ │ │ │ /home/pc/Downloads/pyenvs/main/unshackle/unshackle/core/service.py:259 in │ │ get_titles_cached │ │ │ │ 256 │ │ account_hash = get_account_hash(self.credential) │ │ 257 │ │ │ │ 258 │ │ # Use title cache to get titles with fallback support │ │ ❱ 259 │ │ return self.title_cache.get_cached_titles( │ │ 260 │ │ │ title_id=str(title_id), │ │ 261 │ │ │ fetch_function=self.get_titles, │ │ 262 │ │ │ region=self.current_region, │ │ │ │ /home/pc/Downloads/pyenvs/main/unshackle/unshackle/core/title_cacher.py:120 │ │ in get_cached_titles │ │ │ │ 117 │ │ │ │ 118 │ │ try: │ │ 119 │ │ │ # Attempt to fetch fresh titles │ │ ❱ 120 │ │ │ titles = fetch_function() │ │ 121 │ │ │ │ │ 122 │ │ │ if titles: │ │ 123 │ │ │ │ # Successfully fetched, update cache │ │ │ │ /home/pc/Downloads/pyenvs/main/unshackle/unshackle/services/TUBI/__init__.py │ │ :122 in get_titles │ │ │ │ 119 │ │ try: │ │ 120 │ │ │ kind, content_id = (re.match(self.TITLE_RE, self.title).gr │ │ 121 │ │ except Exception: │ │ ❱ 122 │ │ │ raise ValueError("Could not parse ID from title - is the U │ │ 123 │ │ │ │ 124 │ │ params = { │ │ 125 │ │ │ "app_id": "tubitv", │ ╰──────────────────────────────────────────────────────────────────────────────╯ ValueError: Could not parse ID from title - is the URL correct? -
Change the URL to https://tubitv.com/movies/100035041/fantastic-fungi-remastered and it works fine.
-
Similar Threads
-
Devine - Modular Movie, TV, and Music Archival Software
By billybanana in forum Video Streaming DownloadingReplies: 1866Last Post: 19th Nov 2025, 22:57 -
Bitrate confusion: HD vs. DV archival
By taigi in forum Capturing and VCRReplies: 3Last Post: 9th Nov 2024, 04:38 -
How do I completely remove the music and sound effects from a movie?
By cns00 in forum EditingReplies: 1Last Post: 15th Jan 2024, 13:11 -
Which software can remove music from show but keep character dialogue?
By Mohamed61020 in forum AudioReplies: 6Last Post: 2nd Jul 2023, 22:32 -
Software for simple music videos?
By dewiclements in forum Software PlayingReplies: 3Last Post: 26th Jul 2022, 02:21



Quote