Thank you for this fix. I am testing it right now and it seems to be working. I will have to learn about Playready though and work at adding that as an option in my Unshackle set up. I am happy with these lower resolutions as my DSL is not all that fast and with the price of hard drives going up it is what is best for me to be content with that.
+ Reply to Thread
Results 931 to 960 of 985
-
-
So after using devine for the past year, i'm finally making the move to unshackle.
All working well except for downloads that use n_m3u8dl_re.
I keep getting this error:
The Temp directory is there.Code:1 Video └── [H.264, SDR] | en-US | 960x540 @ 1782 kb/s, 23.976 FPS ⠏ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --:-- Parsing streams... 1 Audio └── [AAC] | en-US | 2.0 | 130 kb/s | United States ⠏ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --:-- Parsing streams... Widevine(AAAAVnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADYIARIQB1oxzyEKT...) └── 075a31cf210a4e0fac141dfe26668cce:f0c5249ab18ae2e12c4affe509e218f7* from drmlab HTTPAPI ❌ Download Failed... Output directory does not exist: Temp\Video_1710c6ed.mp4_segments An unexpected error occurred in one of the download workers. See the error trace above for more information.
The other download workers work fine.
So scratching my head trying to resolve this.
Any suggestions?Last edited by davebee; 2nd May 2026 at 22:24.
-
Back a page or two iamghost posted a link to the binaries needed for Unshackle. Maybe you have not got the correct version of N_m3u8DL-RE installed. It is good you have everything else working in Unshackle. Don't give up you will probably get some help figuring this out.
-
Is anyone able to help? Im getting an error when trying to run unshackle I have my own wvd keys locally so not sure why its trying to use remotecdm can provide any info if anyone has any ideas thanks:
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "C:\unshackle\.venv\Scripts\unshackle.exe\__main__ .py", line 4, in <module>
main()
^^^^^^^^^^^
File "C:\unshackle\unshackle\core\__main__.py", line 14, in <module>
from unshackle.core.commands import Commands
File "C:\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:\unshackle\unshackle\core\utilities.py", line 113, in import_module_by_path
spec.loader.exec_module(module)
File "C:\unshackle\unshackle\commands\dl.py", line 47, in <module>
from unshackle.core.cdm import CustomRemoteCDM, DecryptLabsRemoteCDM
ImportError: cannot import name 'CustomRemoteCDM' from 'unshackle.core.cdm' (C:\unshackle\unshackle\core\cdm\__init__.py) -
uv run unshackle env info
it can show you where WVDs folder location,
or add in yaml WVDs copy paste wvds folder path and save -
Hi guys Im having a problem with downloading dsnp
Im not sure if it's because im using a revoked sl3000.prd and have no idea how to fill the config.yamlCode:License request failed: 400 Client Error: Bad Request for url: https://disney.playback.edge.bamgrid.com/playready/v1/obtain-license.asmx
still using the default config.yaml
Code:certificate: | CAUSugUKtAIIAxIQbj3s4jO5oUyWjDWqjfr9WRjA2afZBSKOAjCCAQoCggEBALhKWfnyA+FGn5P3tl6ffDjoGq2Oq86hKGl6aZIaGaF7XHPO5mIk7Q35ml ZIgg1A458Udb4eXRws1n+kJFqtZXCY5S1yElLP0Om1WQsoEY2stpl+PZTGnVv/CsOJGKQ8K4KMr7rKjZem9lA9BrBoxgfXY3tbwlnSf3wTEohyANb5Qfpa xsU4v8tQDA8PcjzzV9ICodl6crcFZhAy4QMNXfbWOv/ZrGFx5blSXrzP1sMQ64IY8bjUYw4coZM34NDhu8aCA692g8k2mTz2494x7u3Is8v7RKC9ZNiETE K5/4oeVclXPpelNQokR4uvggnCD1L2EULG/pp6wnk1yWNNLxcCAwEAAToHYmFtdGVjaBKAA2FqHlqkE7EUmdOLiCi0hy5jRgBDJrU1CWNHfH6r2i6s5T5k 6LK7ZfD65Tv6uyqq1k82PsDz4++kxbpfJDZaypFbae4XPc6lZxRCc5X0toX/x9TftOQQ4N82l5Hxoha569EPRkrnNy7rO7xrRILa3ZVj1alttEnEEjxEuw SV8usdlUg8/LvLA2C59T/HA2I77k7yVbTrVdy0f81r2l+E2SslivCy1JD3xKlgoaKl4xBnRxItWt8+DCw1Xm2lemYl2LGoh1Wk9gvlXQvr2Jv2+dFX3RNs i5sd00KS9sePszfjoTkQ6fmpRd7ZgFCGFWYB9JZ92aGUFQRE14OTST2uwSf32YCfsoATDNs4V6dB8YDoTGKFGrcoc4gtHPKySGNt7z/fOW4/01ZGzKqoVY Fp3jPq7R0qyt5P6fU5NshbLh5VKcnQvwg62BuKsdwV9u4NV36b2a546hGRl/GBneQ+QDA7NRrgITR33Sz02Oq8yJr3sy24GfZRTbtLJ4qiWkjtw== ## config ( {configVersion}/{clientId}/{deviceFamily}/{sdkVersion}/{applicationRuntime}/{deviceProfile}/{environment} ) ## # Browser (windows, chrome) : /browser/v34.2/windows/chrome/prod.json # Android Phone : /android/v15.0.0/google/handset/prod.json # Android TV : /android/v15.0.0/google/tv/prod.json # Amazon Fire TV : /android/v15.0.0/amazon/tv/prod.json endpoints: config: "https://client-sdk-configs.bamgrid.com/bam-sdk/v7.0/disney-svod-3d9324fc/android/v15.0.0/google/tv/prod.json" ## user_agent (okhttp/5.0.0-alpha.14) ## # android-phone : BAMSDK/v15.0.1 (disney-svod-3d9324fc 4.21.1+rc3-2026.01.06.0; v7.0/v15.0.0; android; phone) # android-tv : BAMSDK/v15.0.1 (disney-svod-3d9324fc 4.21.1+rc3-2026.01.06.0; v7.0/v15.0.0; android; tv) ## api_key ## # browser : ZGlzbmV5JmJyb3dzZXImMS4wLjA.Cu56AgSfBTDag5NiRA81oLHkDZfu5L3CKadnefEAY84 # android : ZGlzbmV5JmFuZHJvaWQmMS4wLjA.bkeb0m230uUhv8qrAXuNu39tbE_mD5EEhM_NAcohjyA ## yp_service_id ## # browser : 63626081279ebe65eb50fb54 # android : 624b805dafc5c73635b1a216 bamsdk: sdk_version: "15.0.1" application_version: "4.21.1+rc3-2026.01.06.0" explore_version: "v1.13" client: "disney-svod-3d9324fc" user_agent: "BAMSDK/v15.0.1 (disney-svod-3d9324fc 4.21.1+rc3-2026.01.06.0; v7.0/v15.0.0; android; tv)" api_key: "ZGlzbmV5JmFuZHJvaWQmMS4wLjA.bkeb0m230uUhv8qrAXuNu39tbE_mD5EEhM_NAcohjyA" yp_service_id: "624b805dafc5c73635b1a216" device: family: "android" profile: "tv" platform: "android/google/tv" # {deviceFamily}/{applicationRuntime}/{deviceProfile} platform_id: "android-tv" applicationRuntime: "android" operatingSystem: "Android" operatingSystemVersion: "16" deviceLanguage: "ko" # Device language data independent of account language data # Specifies the index of the profile to use. (0 = first profile, 1 = second profile, etc.) # Automatically select a profile when commenting. profile: index: 2 -
Hi Stabby, thanks for your continued support on the services, is there any chance you can add HMAX to your collection as I've been using your instructions to edit the DSCP to make it work for HMAX.
Cheers for the help Stabby.Last edited by kev043; 4th May 2026 at 08:28.
-
How does on configure the command line to get a certain audio to download when you have multiple ones to chose from and multiple language? Also specify to just get English subtitles and avoid getting other language subtitles? Thank you in advance.
I looked at the usage arguments for Devine and this works for me:
uv run unshackle dl --acodec DD --lang en -sl en -q 540 -w S01E01 SERVICE URLLast edited by Tom Saurus; 4th May 2026 at 00:10.
-
I already had the right version (Ran Angela's tools downloader when setting up.)
Turns out it was a PATH issue as I also had an older version elsewhere that was interferring.
So found and replaced that and now all working.
Your suggestion made me look. So thanks for the advice. -
-
Hey guys,
I am currently struggling with the whole local_storage situation with TVNZ. Any one able to give me a hand? Thanks in advance.
Code:HTTPError: 401 Client Error: Unauthorized for url: https://watch-cdn.edge-api.tvnz.co.nz/media/content/authorize
Last edited by JaxMedia; 5th May 2026 at 00:22.
-
[Attachment 92203 - Click to enlarge]
Use this extension works in chrome or edge to export local storage -
I exported my local storage file with a couple of different extensions and neither of them would work.
In the finish I did the manual thing and it worked fine. In your browser press F12 to go to Dev Tools, go to the Console tab, paste in the below and hit enter
Also pays before you export:Code:Object.assign(document.createElement('a'), { href: URL.createObjectURL(new Blob([JSON.stringify({ accessToken: localStorage.accessToken, refreshToken: localStorage.refreshToken, deviceref: localStorage.deviceref }, null, 2)])), download: 'local_storage.json' }).click();
Go to TVNZ site, log out, then log back in again. Then do the export.
And make sure you have a separate account for the script. Login to the website once with your new account - do your export, log out and never use that account again in the browser.Last edited by billybanana; 5th May 2026 at 03:23. Reason: Edited
-
Now I receive this error:
Just to clarify:Code:ConnectionError: Failed to get contact: {'GetContactResponseMessage': {'failureMessage': [{'errorCode': 'eV2124', 'errorMessage': 'Invalid Session Token'}], 'responseCode': '0'}}
1. VPN set to New Zealand
2. Log out of current account
3. Login and select profile
4. F12 > paste code into console
5. Log out of account, log in to different account
5. Put local_storage.json file into unshackle/Cache/TVNZ
6. Run command -
I did a git pull to update to the new 5.0 version of Unshackle. It seemed to go fine and then I did the uv sync and that seemed to be fine. However when I do something with Unshackle it says it is version 4.0.0. I did another git pull and it says Unshackle is already up to date. The program seems to working fine. I was kind of concerned about updating as there was a line about ignore binaries and the binaries folder is my preferred way of running the programs that Unshackle uses. I also have to redo my TVNZ local storage cache as that is not working now but that probably has nothing to do with the update.
-
Looks like version 5 got took back out for now:
https://github.com/unshackle-dl/unshackle/releases -
If you specifically 'need' v5 you can pull the dev branch from github. Currently git pull will fetch the main branch, so just tell git to change from main to dev with this:-
Then issue a 'git pull' and run 'uv sync' to fix the changes.Code:git branch -u origin/dev main
-
Thank you for this information. Maybe I better wait and see as he may be working out some kinks in Unshackle 5.0
-
Some breaking changes have been made to the TVNZ service:
Instead of the previous way of exporting the local_storage to file and using that to auth, the script now uses the OTP flow to login. You set your credentials in the config like normal, enter the OTP code when prompted, and you're done. No need for browser interference at all, and you should be able to use a single account for everything without messing up any sessions.
After pulling the update, clear your cache and run the script. You should be good to go.
As always, read the notes for more info:
Code:unshackle dl TVNZ --help
-
A post on this page from stabbedbybrick has a link to the services at the bottom of the post called "smaller services for Unshackle". Click on that link. In the services folder in Unshackle you can right click and select open in terminal. You scroll down stabbedbybrick's webpage and notice there is a line there about git clone. You select that line of code and paste that into your terminal and it will download a folder of services.
-
Unfortunately, this has not fixed my 401 Client Error issue.
This is my log:
Service Config loaded
Successfully loaded vault: Local (SQLite)
Loaded 1/1 Vaults
Active vaults: Local
Loaded Widevine CDM: 22589 (L3)
Starting new HTTPS connection (1): api.nordvpn.com:443
https://api.nordvpn.com:443 "GET /v1/servers/countries HTTP/1.1" 200
None
Loaded Basic: 3 Countries (3 Servers)
Loaded NordVPN: 137 Countries (9421 Servers)
────────────────────────────── Service: TVNZ ───────────────────────────────
Starting new HTTPS connection (1): ipinfo.io:443
https://ipinfo.io:443 "GET /json HTTP/1.1" 200 None
Service is not Geoblocked in your region
- No cached user tokens found, setting up new login...
Starting new HTTPS connection (1): rest-prod-tvnz.evergentpd.com:443
https://rest-prod-tvnz.evergentpd.com:443 "POST /tvnz/createOTP
HTTP/1.1" 200 123
+ OTP code was sent to your email address
Enter OTP code: 123333
https://rest-prod-tvnz.evergentpd.com:443 "POST /tvnz/confirmOTP
HTTP/1.1" 200 1735
https://rest-prod-tvnz.evergentpd.com:443 "POST /tvnz/getEntitlements
HTTP/1.1" 200 1439
Starting new HTTPS connection (1): watch-cdn.edge-api.tvnz.co.nz:443
https://watch-cdn.edge-api.tvnz.co.nz:443 "POST /oauth2/token
HTTP/1.1" 200 1212
https://watch-cdn.edge-api.tvnz.co.nz:443 "POST /device/app/register
HTTP/1.1" 200 267
Authenticated with Service
Cache miss for https://tvnz.co.nz/player/tvepisode/blue-murder-motel-1
fetching fresh data
Starting new HTTPS connection (1):
data-store-cdn.cms-api.tvnz.co.nz:443
https://data-store-cdn.cms-api.tvnz.co.nz:443 "GET
/content/urn/resource/catalog/tvepisode/blue-murder-motel-1?reg=nz&dt=
androidtv&client=tvnz-tvnz-androidtv&pf=Regular&allowpg=true HTTP/1.1"
200 1531
Successfully fetched titles for
https://tvnz.co.nz/player/tvepisode/blue-murder-motel-1, updating
cache
──────────────────────── Series: Blue Murder Motel ─────────────────────────
1 seasons, S1(1)
──────────────────── Blue Murder Motel S01E01 Party Boy ────────────────────
Searching IMDBApi for 'Blue Murder Motel' (tv, None)
Starting new HTTPS connection (1): api.imdbapi.dev:443
https://api.imdbapi.dev:443 "GET
/search/titles?query=Blue+Murder+Motel&limit=20 HTTP/1.1" 200 None
IMDBApi -> Blue Murder Motel (ID tt38772225)
Cached imdbapi data for
https://tvnz.co.nz/player/tvepisode/blue-murder-motel-1
https://watch-cdn.edge-api.tvnz.co.nz:443 "POST
/media/content/authorize HTTP/1.1" 401 208
╭───────────────────── Traceback (most recent call last) ──────────────────────╮
│ C:\Users\oraba\AppData\Local\Programs\Python\Pytho n310\lib\runpy.py:196 in │
│ _run_module_as_main │
│ │
│ 193 │ main_globals = sys.modules["__main__"].__dict__ │
│ 194 │ if alter_argv: │
│ 195 │ │ sys.argv[0] = mod_spec.origin │
│ ❱ 196 │ return _run_code(code, main_globals, None, │
│ 197 │ │ │ │ │ "__main__", mod_spec) │
│ 198 │
│ 199 def run_module(mod_name, init_globals=None, │
│ │
│ C:\Users\oraba\AppData\Local\Programs\Python\Pytho n310\lib\runpy.py:86 in │
│ _run_code │
│ │
│ 83 │ │ │ │ │ __loader__ = loader, │
│ 84 │ │ │ │ │ __package__ = pkg_name, │
│ 85 │ │ │ │ │ __spec__ = mod_spec) │
│ ❱ 86 │ exec(code, run_globals) │
│ 87 │ return run_globals │
│ 88 │
│ 89 def _run_module_code(code, init_globals=None, │
│ │
│ in <module>:10 │
│ │
│ C:\unshackle\.venv\lib\site-packages\click\core.py:1514 in __call__ │
│ │
│ C:\unshackle\.venv\lib\site-packages\click\core.py:1435 in main │
│ │
│ C:\unshackle\.venv\lib\site-packages\click\core.py:1902 in invoke │
│ │
│ C:\unshackle\.venv\lib\site-packages\click\core.py:1902 in invoke │
│ │
│ C:\unshackle\.venv\lib\site-packages\click\core.py:1871 in _process_result │
│ │
│ C:\unshackle\.venv\lib\site-packages\click\core.py:853 in invoke │
│ │
│ C:\unshackle\unshackle\commands\dl.py:1367 in result │
│ │
│ 1364 │ │ │ │
│ 1365 │ │ │ with console.status("Getting tracks...", spinner="dots"): │
│ 1366 │ │ │ │ try: │
│ ❱ 1367 │ │ │ │ │ title.tracks.add(service.get_tracks(title), warn_ │
│ 1368 │ │ │ │ │ title.tracks.chapters = service.get_chapters(titl │
│ 1369 │ │ │ │ except Exception as e: │
│ 1370 │ │ │ │ │ if self.debug_logger: │
│ │
│ C:\unshackle\unshackle\services\TVNZ\__init__.py:2 26 in get_tracks │
│ │
│ 223 │ │ │ json=json_data, │
│ 224 │ │ │ timeout=30, │
│ 225 │ │ ) │
│ ❱ 226 │ │ response.raise_for_status() │
│ 227 │ │ data = response.json() │
│ 228 │ │ if data.get("header", {}).get("message", "").lower() != "succe │
│ 229 │ │ │ raise ConnectionError(f"Failed to authorize playback: {dat │
│ │
│ C:\unshackle\.venv\lib\site-packages\requests\models.py:1028 in │
│ raise_for_status │
│ │
│ 1025 │ │ │ ) │
│ 1026 │ │ │
│ 1027 │ │ if http_error_msg: │
│ ❱ 1028 │ │ │ raise HTTPError(http_error_msg, response=self) │
│ 1029 │ │
│ 1030 │ def close(self): │
│ 1031 │ │ """Releases the connection back to the pool. Once this method │
╰───────────────────────────────────────────────── ─────────────────────────────╯
HTTPError: 401 Client Error: Unauthorized for url:
https://watch-cdn.edge-api.tvnz.co.nz/media/content/authorizeLast edited by JaxMedia; 10th May 2026 at 20:18.
-
you might want to check your set up.
Code:unshackle dl -w s01e01 tvnz https://tvnz.co.nz/tvseries/blue-murder-motel ▄ ▄▌ ▐ ▄ .▄▄ · ▄ .▄ ▄▄▄· ▄▄· ▄ ▄ ▄▄▌ ▄▄▄ . █▪██▌█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██ ▀▄.▀· █▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪ ▐▀▀▪▄ ▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌ ▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀ ▀ ·▀▀▀ ·▀ ▀.▀▀▀ ▀▀▀ v 5.0.0 - © 2025-2026 - github.com/unshackle-dl/unshackle Service Config loaded Loaded 1/1 Vaults Loaded Widevine CDM: 8162 (L3) ────────────────────────────── Service: TVNZ ─────────────────────────────── Service is Geoblocked in your region, getting a Proxy to nz + Using cached user tokens Authenticated with Service ──────────────────────── Series: Blue Murder Motel ───────────────────────── 1 seasons, S1(8) ──────────────────── Blue Murder Motel S01E01 Party Boy ──────────────────── Cached 1 Key to 1/1 Vaults 1 Video └── [H.264, SDR] | en | 1920x1080 @ 4000 kb/s, 25.000 FPS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 04:18 Downloaded 1 Audio └── [AAC] | en | 2.0 | 128 kb/s ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 04:13 Downloaded 2 Subtitles ├── [WVTT] | en │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 03:13 Downloaded └── [VTT] | en ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 00:08 Downloaded 2 Chapters ├── 00:00:00.000 └── 00:45:29.000 | Credits Widevine(AAAAXHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADwIARIQDvvDlJzqT...) └── 0efbc3949cea4dc888a353da190fcaac:36c4d63205ec58fca1f45680e98aae3a* Track downloads finished in 4m18s Multiplexing... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 00:11 🎉 Title downloaded in 4m30s! Processed all titles in 4m44s -
Any suggestions on what to check for? I believe my setup is 100%. This is the only service I have issues with and the same issue for TVNZ applies to Ozivine as well.
-
-
Proxy only.Code:
C:\unshackle>uv run unshackle dl --proxy=nz TVNZ https://tvnz.co.nz/player/tvepisode/blue-murder-motel-1 ▄ ▄▌ ▐ ▄ .▄▄ · ▄ .▄ ▄▄▄· ▄▄· ▄ ▄ ▄▄▌ ▄▄▄ . █▪██▌█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██ ▀▄.▀· █▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪ ▐▀▀▪▄ ▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌ ▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀ ▀ ·▀▀▀ ·▀ ▀.▀▀▀ ▀▀▀ v 4.0.0 - © 2025-2026 - github.com/unshackle-dl/unshackle Service Config loaded Loaded 1/1 Vaults Loaded Widevine CDM: 22589 (L3) Loaded Basic: 3 Countries (3 Servers) Loaded NordVPN: 137 Countries (9426 Servers) Using NordVPN Proxy: https://ZYojX6L8i8n2ahGkPtsszaoj:shGEHn94m1PvuBPVwq47e4Mp@nz107.proxy. nordvpn.com:89 ────────────────────────────── Service: TVNZ ─────────────────────────────── + Using cached user tokens Authenticated with Service ──────────────────────── Series: Blue Murder Motel ───────────────────────── 1 seasons, S1(1) ──────────────────── Blue Murder Motel S01E01 Party Boy ──────────────────── ╭───────────────────── Traceback (most recent call last) ──────────────────────╮ │ C:\Users\oraba\AppData\Local\Programs\Python\Python310\lib\runpy.py:196 in │ │ _run_module_as_main │ │ │ │ 193 │ main_globals = sys.modules["__main__"].__dict__ │ │ 194 │ if alter_argv: │ │ 195 │ │ sys.argv[0] = mod_spec.origin │ │ ❱ 196 │ return _run_code(code, main_globals, None, │ │ 197 │ │ │ │ │ "__main__", mod_spec) │ │ 198 │ │ 199 def run_module(mod_name, init_globals=None, │ │ │ │ C:\Users\oraba\AppData\Local\Programs\Python\Python310\lib\runpy.py:86 in │ │ _run_code │ │ │ │ 83 │ │ │ │ │ __loader__ = loader, │ │ 84 │ │ │ │ │ __package__ = pkg_name, │ │ 85 │ │ │ │ │ __spec__ = mod_spec) │ │ ❱ 86 │ exec(code, run_globals) │ │ 87 │ return run_globals │ │ 88 │ │ 89 def _run_module_code(code, init_globals=None, │ │ │ │ in <module>:10 │ │ │ │ C:\unshackle\.venv\lib\site-packages\click\core.py:1514 in __call__ │ │ │ │ C:\unshackle\.venv\lib\site-packages\click\core.py:1435 in main │ │ │ │ C:\unshackle\.venv\lib\site-packages\click\core.py:1902 in invoke │ │ │ │ C:\unshackle\.venv\lib\site-packages\click\core.py:1902 in invoke │ │ │ │ C:\unshackle\.venv\lib\site-packages\click\core.py:1871 in _process_result │ │ │ │ C:\unshackle\.venv\lib\site-packages\click\core.py:853 in invoke │ │ │ │ C:\unshackle\unshackle\commands\dl.py:1367 in result │ │ │ │ 1364 │ │ │ │ │ 1365 │ │ │ with console.status("Getting tracks...", spinner="dots"): │ │ 1366 │ │ │ │ try: │ │ ❱ 1367 │ │ │ │ │ title.tracks.add(service.get_tracks(title), warn_ │ │ 1368 │ │ │ │ │ title.tracks.chapters = service.get_chapters(titl │ │ 1369 │ │ │ │ except Exception as e: │ │ 1370 │ │ │ │ │ if self.debug_logger: │ │ │ │ C:\unshackle\unshackle\services\TVNZ\__init__.py:226 in get_tracks │ │ │ │ 223 │ │ │ json=json_data, │ │ 224 │ │ │ timeout=30, │ │ 225 │ │ ) │ │ ❱ 226 │ │ response.raise_for_status() │ │ 227 │ │ data = response.json() │ │ 228 │ │ if data.get("header", {}).get("message", "").lower() != "succe │ │ 229 │ │ │ raise ConnectionError(f"Failed to authorize playback: {dat │ │ │ │ C:\unshackle\.venv\lib\site-packages\requests\models.py:1028 in │ │ raise_for_status │ │ │ │ 1025 │ │ │ ) │ │ 1026 │ │ │ │ 1027 │ │ if http_error_msg: │ │ ❱ 1028 │ │ │ raise HTTPError(http_error_msg, response=self) │ │ 1029 │ │ │ 1030 │ def close(self): │ │ 1031 │ │ """Releases the connection back to the pool. Once this method │ ╰──────────────────────────────────────────────────────────────────────────────╯ HTTPError: 401 Client Error: Unauthorized for url: https://watch-cdn.edge-api.tvnz.co.nz/media/content/authorizeLast edited by JaxMedia; 11th May 2026 at 14:46.
Similar Threads
-
Devine - Modular Movie, TV, and Music Archival Software
By billybanana in forum Video Streaming DownloadingReplies: 1871Last Post: 26th Jan 2026, 14:12 -
Bitrate confusion: HD vs. DV archival
By taigi in forum Capturing and VCRReplies: 3Last Post: 9th Nov 2024, 03:38 -
How do I completely remove the music and sound effects from a movie?
By cns00 in forum EditingReplies: 1Last Post: 15th Jan 2024, 12:11 -
Which software can remove music from show but keep character dialogue?
By Mohamed61020 in forum AudioReplies: 6Last Post: 2nd Jul 2023, 21:32 -
Software for simple music videos?
By dewiclements in forum Software PlayingReplies: 3Last Post: 26th Jul 2022, 01:21




Quote