Does TwinVine not work with "Free with Ads" Youtube videos? I've tried WidevineProxy2 and Envied through TwinVine (fresh install) and get the following.
I'm not sure why it says the service is geoblocked, as it is not.Code:D:\StreamDL\TwinVine>uv run envied --debug dl --list YTBE _Eey0dG1B2Y ░█▀▀░█▀█░█░█░▀█▀░█▀▀░█▀▄ ░█▀▀░█░█░▀▄▀░░█░░█▀▀░█░█ ░▀▀▀░▀░▀░░▀░░▀▀▀░▀▀▀░▀▀░ 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 Widevine CDM: 4464 (L3) ────────────────────────────── Service: YTBE ─────────────────────────────── Starting new HTTPS connection (1): ipinfo.io:443 https://ipinfo.io:443 "GET /json HTTP/1.1" 200 None Service is Geoblocked in your region, getting a Proxy to en Cache key mapping: _Eey0dG1B2Y -> titles_b033e94cd7b9d698_us Cache hit for _Eey0dG1B2Y (hits: 1, misses: 0) ──────────────────────────────── Movies: 9 ───────────────────────────────── 1 Movie ──────────────────────────────────── 9 ───────────────────────────────────── Cache key mapping: _Eey0dG1B2Y -> titles_b033e94cd7b9d698_us Searching Simkl for '9' (movie, None) No SIMKL client ID configured; skipping SIMKL search Cache key mapping: _Eey0dG1B2Y -> titles_b033e94cd7b9d698_us Search -> No match found ╭───────────────────── Traceback (most recent call last) ──────────────────────╮ │ C:\Users\***** │ │ ******\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\***** │ │ ******\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 │ │ │ │ D:\StreamDL\TwinVine\.venv\lib\site-packages\click\core.py:1462 in __call__ │ │ │ │ D:\StreamDL\TwinVine\.venv\lib\site-packages\click\core.py:1383 in main │ │ │ │ D:\StreamDL\TwinVine\.venv\lib\site-packages\click\core.py:1850 in invoke │ │ │ │ D:\StreamDL\TwinVine\.venv\lib\site-packages\click\core.py:1850 in invoke │ │ │ │ D:\StreamDL\TwinVine\.venv\lib\site-packages\click\core.py:1819 in │ │ _process_result │ │ │ │ D:\StreamDL\TwinVine\.venv\lib\site-packages\click\core.py:814 in invoke │ │ │ │ D:\StreamDL\TwinVine\packages\envied\src\envied\commands\dl.py:1036 in │ │ result │ │ │ │ 1033 │ │ │ │ │ 1034 │ │ │ with console.status("Getting tracks...", spinner="dots"): │ │ 1035 │ │ │ │ try: │ │ ❱ 1036 │ │ │ │ │ title.tracks.add(service.get_tracks(title), warn_ │ │ 1037 │ │ │ │ │ title.tracks.chapters = service.get_chapters(titl │ │ 1038 │ │ │ │ except Exception as e: │ │ 1039 │ │ │ │ │ if self.debug_logger: │ │ │ │ D:\StreamDL\TwinVine\packages\envied\src\envied\services\YTBE\__init__.py:16 │ │ 2 in get_tracks │ │ │ │ 159 │ │ response_data = self.last_response_data │ │ 160 │ │ dashManifestUrl = response_data.get('streamingData', {}).get(' │ │ 161 │ │ │ │ ❱ 162 │ │ return DASH.from_url(dashManifestUrl, session=self.session).to │ │ 163 │ │ │ 164 │ def get_chapters(self, title: Title_T) -> Chapters: │ │ 165 │ │ return [] │ │ │ │ D:\StreamDL\TwinVine\packages\envied\src\envied\core\manifests\dash.py:53 in │ │ from_url │ │ │ │ 50 │ @classmethod │ │ 51 │ def from_url(cls, url: str, session: Optional[Union[Session, CurlS │ │ 52 │ │ if not url: │ │ ❱ 53 │ │ │ raise requests.URLRequired("DASH manifest URL must be prov │ │ 54 │ │ if not isinstance(url, str): │ │ 55 │ │ │ raise TypeError(f"Expected url to be a {str}, not {url!r}" │ │ 56 │ ╰──────────────────────────────────────────────────────────────────────────────╯ URLRequired: DASH manifest URL must be provided for relative path computations.
EDIT: I also got this once:
Code:D:\StreamDL\TwinVine>uv run envied --debug dl YTBE _Eey0dG1B2Y ░█▀▀░█▀█░█░█░▀█▀░█▀▀░█▀▄ ░█▀▀░█░█░▀▄▀░░█░░█▀▀░█░█ ░▀▀▀░▀░▀░░▀░░▀▀▀░▀▀▀░▀▀░ 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 Widevine CDM: 4464 (L3) ────────────────────────────── Service: YTBE ─────────────────────────────── Starting new HTTPS connection (1): ipinfo.io:443 https://ipinfo.io:443 "GET /json HTTP/1.1" 200 None Service is Geoblocked in your region, getting a Proxy to en Cache key mapping: _Eey0dG1B2Y -> titles_b033e94cd7b9d698_us Cache miss for _Eey0dG1B2Y, fetching fresh data Starting new HTTPS connection (1): www.youtube.com:443 https://www.youtube.com:443 "GET /watch?v=_Eey0dG1B2Y HTTP/1.1" 200 None https://www.youtube.com:443 "POST /youtubei/v1/player?key=AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8 HTTP/1.1" 200 None Successfully fetched titles for _Eey0dG1B2Y, updating cache ──────────────────────────────── Movies: 9 ───────────────────────────────── 1 Movie ──────────────────────────────────── 9 ───────────────────────────────────── Starting new HTTPS connection (1): manifest.googlevideo.com:443 https://manifest.googlevideo.com:443 "GET /api/manifest/dash/expire/1768201384/ei/SEhkacH4J5Xly_sP4ISVqQg/ip/71. 28.194.106/id/fc47b2d1d1b50766/source/youtube/requiressl/yes/xpc/EgVo2 aDSNQ%3D%3D/playback_host/rr2---sn-fpoqnugx5h-5cts.googlevideo.com/met /1768179784%2C/mh/4U/mm/31%2C29/mn/sn-fpoqnugx5h-5cts%2Csn-5uaeznl6/ms /au%2Crdu/mv/m/mvi/2/pl/22/rms/au%2Cau/as/fmp4_audio_cenc%2Cfmp4_sd_hd _cenc/gcr/us/initcwndbps/2646250/spc/q5xjPGM5W9ZHDhGCBtAVBzEXwFeMuSTc5 Tt1uVuXr-NowpaOkgP5xuhE3lmKwO7wBfZX7A/vprv/1/ns/TmKGnfF9brP0LFkiSgs5oD gR/rqh/2/mt/1768179448/fvip/2/keepalive/yes/fexp/51355912%2C51552689%2 C51565116%2C51565681%2C51580968/n/v8J_D52EKNkEQD/itag/0/sparams/expire %2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Cas%2Cgcr%2Cspc%2Cvprv%2C ns%2Crqh%2Citag/sig/AJfQdSswRQIgIfMN-KzK5-3whIfQRrrlfD28jEfeUL6xYJ33rz 45ZB0CIQC2r8dm4S8DsKFNky8QXjT1pd1Vxfpw9O_RlU32hn4jjw%3D%3D/lsparams/pl ayback_host%2Cmet%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Crms%2Cinitcwnd bps/lsig/APaTxxMwRQIgYCnOTfFuwYSuY360edLxL82nxbu0osoM5lGpzcBXXzoCIQCHE VgCqW0428vF0pH44c4m6fTgx5UNK7aWFLCCvPs3oQ%3D%3D HTTP/1.1" 200 None Original language not available for title, skipping 'orig' selection for video There's no [] Video Track...
+ Reply to Thread
Results 631 to 660 of 831
-
-
https://ipinfo.io returns your IP location so envied knows whether to run a vpn or proxy - only the answer ipinfo gives in None. Perhaps that is by your system setup choices or maybe ipinfo was having issues that day. But with no location found envied assumes you need a proxy.
The YTBE the script was correct at the time the author posted it. Whether it worked on every corner of YTBE, I have no idea, but suspect not.
As with all services the service-scripts are maintained (or not) by a multiple of authors with very different ideas on maintenance. Some do, (sometimes quickly, sometimes slowly), and some don't do maintenance at all - they have moved-on.
If you want every service to work without issue then, over time, some maintenance will be required. Just like a car - things work for a while - until they don't.
I found a post on another forum yesterday that succinctly sums up the issue ....
The 'it' in the quote being unshackle; someone was asking for a dummies guide. The quote sums up, very well, where we are in this game.In principle it is not the tool for dummies. Without some coding capabilities, python knowledge and some computer literacy, one will struggle.
Unless the service script author, or someone else, posts an update, you'll need to learn to do some maintenance.
And if you can't then you'll just have to make the best of what you have.
I note you are switched on enough use the debug function so what I'll do is give a quick guide to debugging envied in a proper debug environment. If not you, others may find it useful.
I use VScode setup to debugging python. Any chat AI system will guide you to do that.
Once VScode is setup open the whole TwinvVine folder - I use Linux - so command line 'code Twinvine/' opens VSCode.
Then the important bit is the launch.json file. There is a 'run' menu drop down item that allows you to run the script but vscode needs to know which script to launch
So choose add configuration as below;
[Attachment 90794 - Click to enlarge]
Then create a launch script from this template
[Attachment 90791 - Click to enlarge]
The above opens the SPOT (Spottify) service and runs the url - just make changes for YTBE and its url to suit your situation.Code:{ "version": "0.2.0", "configurations": [ { "name": "Debug envied", "type": "debugpy", "request": "launch", "module": "envied.__main__", "args": [ "dl", "--select-titles", "SPOT", "https://open.spotify.com/playlist/4lXLUGtdiDFUbmDSHpt699?si=kmT227kyQYmWE0OnaRD2Ag" ], "cwd": "${workspaceFolder}", "console": "integratedTerminal", "justMyCode": false } ] }
[Attachment 90793 - Click to enlarge]
Open the YTBE service file in the debugger and set a few break points, (red dots), in the margin by mouse click. At those points the script stops and waits so you can inspect the value to variables etc. You would run the debugger and try to find where your error is occurring.
That's enough to get you started. Chat AI's will help further.Noob Starter Pack. Just download any Widevine media! Over 25,000 downloads for V6!.
https://files.videohelp.com/u/301890/hellyes6.zip -
upstream updates added to envied and TwinVine.
https://github.com/vinefeeder/envied
https://github.com/vinefeeder/TwinVineNoob Starter Pack. Just download any Widevine media! Over 25,000 downloads for V6!.
https://files.videohelp.com/u/301890/hellyes6.zip -
I finally got back to GMKTek Mini PC and got Unshackle set up. I have a question I run across videos where a video where the 480p bit rate is under a 1000 kbps and it makes me that wouldn't look all that great. So I go a step up lets say they have two 720p options and the lower bit rate one is the one I would go for as it might not be an unecessarily huge file size. So how does one select the lower bit one in the line arguement or set a cap on the bit rate lets say 2600kbps and let Unshackle sort out the resolution? Thank you for myself and others that learn along with me.
-
Hi Tom. It's usually -vb 2600 as an example
However, in this instance you need to be specific with the bitrate to match what you want in --list for each episode. I'm not aware of a bulk command that would get the lower variant where two or more exist at the same resolution. The default config is for unshackle to grab the highest it can in any resolution group.
If there is a combination of -q and max -vb bitrate, then I'm happy to be corrected. -
Unshackles broken after the latest update, no services working, it just skips the download and fails immediately..
Code:uv run unshackle dl itvx https://www.itv.com/watch/killer-in-the-house/10a5336/10a5336a0001 warning: `VIRTUAL_ENV=/home/pc/Downloads/pyenvs/main` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead ▄ ▄▌ ▐ ▄ .▄▄ · ▄ .▄ ▄▄▄· ▄▄· ▄ ▄ ▄▄▌ ▄▄▄ . █▪██▌█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██ ▀▄.▀· █▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪ ▐▀▀▪▄ ▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌ ▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀ ▀ ·▀▀▀ ·▀ ▀.▀▀▀ ▀▀▀ v 2.3.0 - © 2025 - github.com/unshackle-dl/unshackle Service Config loaded Loaded 0/0 Vaults Loaded Widevine CDM: 28919 (L3) ─────────────────────────────── Service: ITV ─────────────────────────────── Service is not Geoblocked in your region ─────────────────────── Series: Killer In The House ──────────────────────── 1 seasons, S1(1) ─ Killer In The House S01E01 Killer In The House: The Murder of Nicholas ─ Cached 1 Key to 0/0 Vaults Cached 1 Key to 0/0 Vaults 1 Video └── [H.264, SDR] | en | 1920x1080 @ 2708 kb/s, 25.000 FPS ⠙ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --:-- Parsing streams... 1 Audio └── [AAC] | en | 2.0 | 128 kb/s ⠙ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --:-- Parsing streams... 1 Subtitle └── [VTT] | en ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 00:00 Downloaded 5 Chapters ├── 00:00:00.000 ├── 00:14:24.040 ├── 00:25:27.080 ├── 00:36:19.120 └── 00:48:00.160 Widevine(AAAAS3Bzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAACsIARIQdnle5vaqR...) └── 76795ee6f6aa47e1901663f03dc36d3c:7cdd1e1a0669cb761d670476282c98f4* ❌ Download Failed... [Errno 2] No such file or directory: '/home/pc/Downloads/devine/temp/Video_a4d499e.mp4_segments' An unexpected error occurred in one of the download workers. See the error trace above for more information.Is anyone else having this issue?Code:uv run unshackle dl all4 https://www.channel4.com/programmes/24-hours-in-police-custody/on-demand/73855-018 warning: `VIRTUAL_ENV=/home/pc/Downloads/pyenvs/main` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead ▄ ▄▌ ▐ ▄ .▄▄ · ▄ .▄ ▄▄▄· ▄▄· ▄ ▄ ▄▄▌ ▄▄▄ . █▪██▌█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██ ▀▄.▀· █▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪ ▐▀▀▪▄ ▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌ ▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀ ▀ ·▀▀▀ ·▀ ▀.▀▀▀ ▀▀▀ v 2.3.0 - © 2025 - github.com/unshackle-dl/unshackle Service Config loaded Loaded 0/0 Vaults Loaded Widevine CDM: 28919 (L3) ────────────────────────────── Service: ALL4 ─────────────────────────────── Service is not Geoblocked in your region Refreshing cached Tokens + Refreshed Authenticated with Service ──────────────────── Series: 24 Hours in Police Custody ──────────────────── 1 seasons, S4(1) ──────── 24 Hours in Police Custody S04E18 The Norfolk Narco Cartel ──────── Cached 1 Key to 0/0 Vaults Cached 1 Key to 0/0 Vaults 1 Video └── [H.264, SDR] | en | 1920x1080 @ 5013 kb/s, 25.000 FPS ⠧ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --:-- Parsing streams... 1 Audio └── [AAC] | en | 2.0 | 133 kb/s ⠧ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --:-- Parsing streams... 1 Subtitle └── [VTT] | en ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 00:01 Downloaded 6 Chapters ├── 00:00:00.000 | Chapter 01 ├── 00:09:52.960 | Chapter 02 ├── 00:24:37.960 | Chapter 03 ├── 00:35:30.960 | Chapter 04 ├── 00:48:53.360 | Chapter 05 └── 00:55:19.720 | Credits Widevine(AAAASnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAACoIARIQ459+nMBiL...) └── e39f7e9cc0622f870e8541751e88dd15:8e94f0704f875de15ddaa6ac42819833* ❌ Download Failed... [Errno 2] No such file or directory: '/home/pc/Downloads/devine/temp/Video_d2bc0030.mp4_segments' An unexpected error occurred in one of the download workers. See the error trace above for more information. -
-
I have this problem when I try to download from NF, does anyone else have the same issue??PS C:\Users\//\Downloads\check\TwinVine> uv run envied dl -al es-419,ja -sl es-419 -w S01E01 NF 81295011
░█▀▀░█▀█░█░█░▀█▀░█▀▀░█▀▄
░█▀▀░█░█░▀▄▀░░█░░█▀▀░█░█
░▀▀▀░▀░▀░░▀░░▀▀▀░▀▀▀░▀▀░
and more than unshackled...
v 2.3.0 - https://github.com/vinefeeder/envied
Service Config loaded
Loaded 1/1 Vaults
Loaded PlayReady CDM: LG ELECTRONICS INC. LG webOS TV MSD93XBG (L3000)
─────────────────────────────── Service: NF ────────────────────────────────
Service has no Geofence
Initializing a MSL client
Using cached ESN.
ESN: NFCDIE-03-00F85FA59B76A6BB49DE0E37F89DFB
Scheme: ASYMMETRIC_WRAPPED
Using cached MSL data
Authenticated with Service
──────── Series: Junji Ito Maniac: Relatos japoneses de lo macabro ─────────
1 seasons, S1(12)
─ Junji Ito Maniac: Relatos japoneses de lo macabro S01E01 Los extraρos h ─
Original language not available for title, skipping 'orig' selection
for video
There's no [] Video Track...
PS C:\Users\//\Downloads\check\TwinVine>
╭───────────────────────── Available Tracks ─────────────────────────╮
│ 18 Videos │
│ ├── [H.264, SDR] | ja | 1920x1080 @ 4910 kb/s, 23.976 FPS | │
│ │ h264mpl40-dash-playready-prk-qc │
│ ├── [H.264, SDR] | ja | 1920x1080 @ 2183 kb/s, 23.976 FPS | │
│ │ playready-h264hpl40-dash │
│ ├── [H.264, SDR] | ja | 1920x1080 @ 1355 kb/s, 23.976 FPS | │
│ │ playready-h264hpl40-dash │
│ ├── [H.264, SDR] | ja | 1280x720 @ 1071 kb/s, 23.976 FPS | │
│ │ playready-h264mpl31-dash │
│ ├── [H.264, SDR] | ja | 1920x1080 @ 855 kb/s, 23.976 FPS | │
│ │ playready-h264hpl40-dash │
│ ├── [H.264, SDR] | ja | 1280x720 @ 715 kb/s, 23.976 FPS | │
│ │ playready-h264mpl31-dash │
│ ├── [H.264, SDR] | ja | 1920x1080 @ 587 kb/s, 23.976 FPS | │
│ │ playready-h264hpl40-dash │
│ ├── [H.264, SDR] | ja | 720x480 @ 493 kb/s, 23.976 FPS | │
│ │ h264mpl30-dash-playready-prk-qc │
│ ├── [H.264, SDR] | ja | 1280x720 @ 395 kb/s, 23.976 FPS | │
│ │ playready-h264hpl31-dash │
│ ├── [H.264, SDR] | ja | 1280x720 @ 273 kb/s, 23.976 FPS | │
│ │ playready-h264mpl31-dash │
│ ├── [H.264, SDR] | ja | 1280x720 @ 232 kb/s, 23.976 FPS | │
│ │ playready-h264hpl31-dash │
│ ├── [H.264, SDR] | ja | 1280x720 @ 149 kb/s, 23.976 FPS | │
│ │ playready-h264mpl31-dash │
│ ├── [H.264, SDR] | ja | 960x540 @ 144 kb/s, 23.976 FPS | │
│ │ playready-h264hpl30-dash │
│ ├── [H.264, SDR] | ja | 960x540 @ 101 kb/s, 23.976 FPS | │
│ │ playready-h264hpl30-dash │
│ ├── [H.264, SDR] | ja | 768x432 @ 81 kb/s, 23.976 FPS | │
│ │ playready-h264hpl30-dash │
│ ├── [H.264, SDR] | ja | 384x288 @ 81 kb/s, 23.976 FPS | │
│ │ playready-h264mpl30-dash │
│ ├── [H.264, SDR] | ja | 608x342 @ 60 kb/s, 23.976 FPS | │
│ │ playready-h264hpl22-dash │
│ └── [H.264, SDR] | ja | 480x270 @ 40 kb/s, 23.976 FPS | │
│ playready-h264hpl22-dash │
│ 18 Audio │
│ ├── [AAC] | es-419 | 2.0 | 128 kb/s | Latin America │
│ ├── [AAC] | es-ES | 2.0 | 128 kb/s │
│ ├── [AAC] | es-419 | 2.0 | 128 kb/s | Latin America (Descriptive) │
│ ├── [AAC] | es-419 | 2.0 | 96 kb/s | Latin America │
│ ├── [AAC] | es-ES | 2.0 | 96 kb/s │
│ ├── [AAC] | es-419 | 2.0 | 96 kb/s | Latin America (Descriptive) │
│ ├── [AAC] | es-419 | 2.0 | 64 kb/s | Latin America │
│ ├── [AAC] | es-ES | 2.0 | 64 kb/s │
│ ├── [AAC] | es-419 | 2.0 | 64 kb/s | Latin America (Descriptive) │
│ ├── [AAC] | ja | 2.0 | 128 kb/s | [Original] │
│ ├── [AAC] | ja | 2.0 | 128 kb/s | [Original] (Descriptive) │
│ ├── [AAC] | ja | 2.0 | 96 kb/s | [Original] │
│ ├── [AAC] | ja | 2.0 | 96 kb/s | [Original] (Descriptive) │
│ ├── [AAC] | ja | 2.0 | 64 kb/s | [Original] │
│ ├── [AAC] | ja | 2.0 | 64 kb/s | [Original] (Descriptive) │
│ ├── [AAC] | en | 2.0 | 128 kb/s │
│ ├── [AAC] | en | 2.0 | 96 kb/s │
│ └── [AAC] | en | 2.0 | 64 kb/s
These are the available tracks, so I rule out having made a bad choice. -
if it show [] no video track so put cmd -vl all
and you cant use playready cdm for NF. it need chromecdm l3 or vaults api if they have keys cache for this videoLast edited by iamghost; 22nd Jan 2026 at 03:02.
-
-
you will not find chromecdm l3 cdm anywhere in the VH forum.
If you dont know then dont waste your time for trying download off from NF -
-
Yeah it's because I'm using an old version of N_m3u8DL-RE - you must be too. If you update to the latest version you won't get the error.
Note: if you update theres a http-live-redirect bug in the latest version, though the dev has submitted a fix for the next release. -
Folks how do I fix this problem ? I've deleted the contents of the temp folder but still get this
ValueError: A Chapter with the Timestamp 00:02:02.000 already existsLast edited by tvdownloaderfan; 25th Jan 2026 at 03:43.
-
The answer is to instruct Unshackle to just get video, audio and subtitle with the -V -A -S instructions and I answered your pm with a more detailed explanation. This issue was addressed in an update to the TUBI service by stabbedbybrick but for whatever reason Tubi evolved beyond that fix or some other reason that I have no clue about. Perhaps the issue should be raised again with stabbedbybrick at his webpage for these services. However chapters are not necessarily all that necessary so this is a way to skip them. Maybe there is a "no chapters" command and someone can point that out and you can add that instead to your instruction code for Unshackle.
-
[Attachment 90984 - Click to enlarge]
Code:uv run unshackle dl itvx https://www.itv.com/watch/killer-in-the-house/10a5336/10a5336a0001 ▄ ▄▌ ▐ ▄ .▄▄ · ▄ .▄ ▄▄▄· ▄▄· ▄ ▄ ▄▄▌ ▄▄▄ . █▪██▌█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██ ▀▄.▀· █▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪ ▐▀▀▪▄ ▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌ ▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀ ▀ ·▀▀▀ ·▀ ▀.▀▀▀ ▀▀▀ v 2.3.0 - © 2025 - github.com/unshackle-dl/unshackle Service Config loaded Loaded 0/0 Vaults Loaded Widevine CDM: 28919 (L3) ─────────────────────────────── Service: ITV ─────────────────────────────── Service is not Geoblocked in your region ─────────────────────── Series: Killer In The House ──────────────────────── 1 seasons, S1(1) ─ Killer In The House S01E01 Killer In The House: The Murder of Nicholas ─ Cached 1 Key to 0/0 Vaults Cached 1 Key to 0/0 Vaults 1 Video └── [H.264, SDR] | en | 1920x1080 @ 2708 kb/s, 25.000 FPS ⠏ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 00:01 Downloaded 1 Audio └── [AAC] | en | 2.0 | 128 kb/s ⠏ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╺━ 00:01 Downloaded 1 Subtitle └── [VTT] | en ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 00:27 Downloaded 5 Chapters ├── 00:00:00.000 ├── 00:14:24.040 ├── 00:25:27.080 ├── 00:36:19.120 └── 00:48:00.160 Widevine(AAAAS3Bzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAACsIARIQdnle5vaqR...) └── 76795ee6f6aa47e1901663f03dc36d3c:7cdd1e1a0669cb761d670476282c98f4* Track downloads finished in 0m27s Multiplexing... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 00:03 🎉 Title downloaded in 0m32s! Processed all titles in 0m32s -
Hi to all
What is the proper command to download English, French, audio tracks and English, French, subtitles tracks only?
I have tried: uv run unshackle dl SERVICE_NAME CONTENT_ID
and got the following error:
Code:❌ Download Failed... Download Error (#f3a3fdc642c9aa61): Reached max-file-not-found count=5 (4), https://akm.prd.media.h264.io/gcs/b476be40-f7f5-4d1b-bb7a-3f8f5dbaad5c /t/02c622/de_sub.vtt An unexpected error occurred in one of the download workers. See the error trace above for more information. -
Why is RTE not working for me? It stopped working on Devine just recently but someone suggested that I migrate to Unshackle, which I have, but it still isn't working here either. What's going on?
Code:uv run unshackle dl rte https://www.rte.ie/player/series/prime-time/SI0000000825?epguid=IH10016313-26-0006 ▄ ▄▌ ▐ ▄ .▄▄ · ▄ .▄ ▄▄▄· ▄▄· ▄ ▄ ▄▄▌ ▄▄▄ . █▪██▌█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██ ▀▄.▀· █▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪ ▐▀▀▪▄ ▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌ ▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀ ▀ ·▀▀▀ ·▀ ▀.▀▀▀ ▀▀▀ v 2.3.1 - © 2025 - github.com/unshackle-dl/unshackle Service Config loaded Loaded 0/0 Vaults ─────────────────────────────── Service: RTE ─────────────────────────────── Service has no Geofence ──────────────────────────── Series: Prime Time ──────────────────────────── 1 seasons, S0(1) ──────────────────────────── Prime Time S00E06 ───────────────────────────── ResponseError: too many 500 error responses The above exception was the direct cause of the following exception: ╭───────────────────── Traceback (most recent call last) ──────────────────────╮ │ C:\Users\User\unshackle\.venv\Lib\site-packages\requests\adapters.py:644 in │ │ send │ │ │ │ 641 │ │ │ timeout = TimeoutSauce(connect=timeout, read=timeout) │ │ 642 │ │ │ │ 643 │ │ try: │ │ ❱ 644 │ │ │ resp = conn.urlopen( │ │ 645 │ │ │ │ method=request.method, │ │ 646 │ │ │ │ url=url, │ │ 647 │ │ │ │ body=request.body, │ │ │ │ C:\Users\User\unshackle\.venv\Lib\site-packages\urllib3\connectionpool.py:94 │ │ 2 in urlopen │ │ │ │ 939 │ │ │ response.drain_conn() │ │ 940 │ │ │ retries.sleep(response) │ │ 941 │ │ │ log.debug("Retry: %s", url) │ │ ❱ 942 │ │ │ return self.urlopen( │ │ 943 │ │ │ │ method, │ │ 944 │ │ │ │ url, │ │ 945 │ │ │ │ body, │ │ │ │ C:\Users\User\unshackle\.venv\Lib\site-packages\urllib3\connectionpool.py:94 │ │ 2 in urlopen │ │ │ │ 939 │ │ │ response.drain_conn() │ │ 940 │ │ │ retries.sleep(response) │ │ 941 │ │ │ log.debug("Retry: %s", url) │ │ ❱ 942 │ │ │ return self.urlopen( │ │ 943 │ │ │ │ method, │ │ 944 │ │ │ │ url, │ │ 945 │ │ │ │ body, │ │ │ │ C:\Users\User\unshackle\.venv\Lib\site-packages\urllib3\connectionpool.py:94 │ │ 2 in urlopen │ │ │ │ 939 │ │ │ response.drain_conn() │ │ 940 │ │ │ retries.sleep(response) │ │ 941 │ │ │ log.debug("Retry: %s", url) │ │ ❱ 942 │ │ │ return self.urlopen( │ │ 943 │ │ │ │ method, │ │ 944 │ │ │ │ url, │ │ 945 │ │ │ │ body, │ │ │ │ C:\Users\User\unshackle\.venv\Lib\site-packages\urllib3\connectionpool.py:94 │ │ 2 in urlopen │ │ │ │ 939 │ │ │ response.drain_conn() │ │ 940 │ │ │ retries.sleep(response) │ │ 941 │ │ │ log.debug("Retry: %s", url) │ │ ❱ 942 │ │ │ return self.urlopen( │ │ 943 │ │ │ │ method, │ │ 944 │ │ │ │ url, │ │ 945 │ │ │ │ body, │ │ │ │ C:\Users\User\unshackle\.venv\Lib\site-packages\urllib3\connectionpool.py:94 │ │ 2 in urlopen │ │ │ │ 939 │ │ │ response.drain_conn() │ │ 940 │ │ │ retries.sleep(response) │ │ 941 │ │ │ log.debug("Retry: %s", url) │ │ ❱ 942 │ │ │ return self.urlopen( │ │ 943 │ │ │ │ method, │ │ 944 │ │ │ │ url, │ │ 945 │ │ │ │ body, │ │ │ │ C:\Users\User\unshackle\.venv\Lib\site-packages\urllib3\connectionpool.py:94 │ │ 2 in urlopen │ │ │ │ 939 │ │ │ response.drain_conn() │ │ 940 │ │ │ retries.sleep(response) │ │ 941 │ │ │ log.debug("Retry: %s", url) │ │ ❱ 942 │ │ │ return self.urlopen( │ │ 943 │ │ │ │ method, │ │ 944 │ │ │ │ url, │ │ 945 │ │ │ │ body, │ │ │ │ C:\Users\User\unshackle\.venv\Lib\site-packages\urllib3\connectionpool.py:94 │ │ 2 in urlopen │ │ │ │ 939 │ │ │ response.drain_conn() │ │ 940 │ │ │ retries.sleep(response) │ │ 941 │ │ │ log.debug("Retry: %s", url) │ │ ❱ 942 │ │ │ return self.urlopen( │ │ 943 │ │ │ │ method, │ │ 944 │ │ │ │ url, │ │ 945 │ │ │ │ body, │ │ │ │ C:\Users\User\unshackle\.venv\Lib\site-packages\urllib3\connectionpool.py:94 │ │ 2 in urlopen │ │ │ │ 939 │ │ │ response.drain_conn() │ │ 940 │ │ │ retries.sleep(response) │ │ 941 │ │ │ log.debug("Retry: %s", url) │ │ ❱ 942 │ │ │ return self.urlopen( │ │ 943 │ │ │ │ method, │ │ 944 │ │ │ │ url, │ │ 945 │ │ │ │ body, │ │ │ │ C:\Users\User\unshackle\.venv\Lib\site-packages\urllib3\connectionpool.py:94 │ │ 2 in urlopen │ │ │ │ 939 │ │ │ response.drain_conn() │ │ 940 │ │ │ retries.sleep(response) │ │ 941 │ │ │ log.debug("Retry: %s", url) │ │ ❱ 942 │ │ │ return self.urlopen( │ │ 943 │ │ │ │ method, │ │ 944 │ │ │ │ url, │ │ 945 │ │ │ │ body, │ │ │ │ C:\Users\User\unshackle\.venv\Lib\site-packages\urllib3\connectionpool.py:94 │ │ 2 in urlopen │ │ │ │ 939 │ │ │ response.drain_conn() │ │ 940 │ │ │ retries.sleep(response) │ │ 941 │ │ │ log.debug("Retry: %s", url) │ │ ❱ 942 │ │ │ return self.urlopen( │ │ 943 │ │ │ │ method, │ │ 944 │ │ │ │ url, │ │ 945 │ │ │ │ body, │ │ │ │ C:\Users\User\unshackle\.venv\Lib\site-packages\urllib3\connectionpool.py:94 │ │ 2 in urlopen │ │ │ │ 939 │ │ │ response.drain_conn() │ │ 940 │ │ │ retries.sleep(response) │ │ 941 │ │ │ log.debug("Retry: %s", url) │ │ ❱ 942 │ │ │ return self.urlopen( │ │ 943 │ │ │ │ method, │ │ 944 │ │ │ │ url, │ │ 945 │ │ │ │ body, │ │ │ │ C:\Users\User\unshackle\.venv\Lib\site-packages\urllib3\connectionpool.py:94 │ │ 2 in urlopen │ │ │ │ 939 │ │ │ response.drain_conn() │ │ 940 │ │ │ retries.sleep(response) │ │ 941 │ │ │ log.debug("Retry: %s", url) │ │ ❱ 942 │ │ │ return self.urlopen( │ │ 943 │ │ │ │ method, │ │ 944 │ │ │ │ url, │ │ 945 │ │ │ │ body, │ │ │ │ C:\Users\User\unshackle\.venv\Lib\site-packages\urllib3\connectionpool.py:94 │ │ 2 in urlopen │ │ │ │ 939 │ │ │ response.drain_conn() │ │ 940 │ │ │ retries.sleep(response) │ │ 941 │ │ │ log.debug("Retry: %s", url) │ │ ❱ 942 │ │ │ return self.urlopen( │ │ 943 │ │ │ │ method, │ │ 944 │ │ │ │ url, │ │ 945 │ │ │ │ body, │ │ │ │ C:\Users\User\unshackle\.venv\Lib\site-packages\urllib3\connectionpool.py:94 │ │ 2 in urlopen │ │ │ │ 939 │ │ │ response.drain_conn() │ │ 940 │ │ │ retries.sleep(response) │ │ 941 │ │ │ log.debug("Retry: %s", url) │ │ ❱ 942 │ │ │ return self.urlopen( │ │ 943 │ │ │ │ method, │ │ 944 │ │ │ │ url, │ │ 945 │ │ │ │ body, │ │ │ │ C:\Users\User\unshackle\.venv\Lib\site-packages\urllib3\connectionpool.py:94 │ │ 2 in urlopen │ │ │ │ 939 │ │ │ response.drain_conn() │ │ 940 │ │ │ retries.sleep(response) │ │ 941 │ │ │ log.debug("Retry: %s", url) │ │ ❱ 942 │ │ │ return self.urlopen( │ │ 943 │ │ │ │ method, │ │ 944 │ │ │ │ url, │ │ 945 │ │ │ │ body, │ │ │ │ C:\Users\User\unshackle\.venv\Lib\site-packages\urllib3\connectionpool.py:93 │ │ 2 in urlopen │ │ │ │ 929 │ │ has_retry_after = bool(response.headers.get("Retry-After")) │ │ 930 │ │ if retries.is_retry(method, response.status, has_retry_after) │ │ 931 │ │ │ try: │ │ ❱ 932 │ │ │ │ retries = retries.increment(method, url, response=res │ │ 933 │ │ │ except MaxRetryError: │ │ 934 │ │ │ │ if retries.raise_on_status: │ │ 935 │ │ │ │ │ response.drain_conn() │ │ │ │ C:\Users\User\unshackle\.venv\Lib\site-packages\urllib3\util\retry.py:535 in │ │ increment │ │ │ │ 532 │ │ │ │ 533 │ │ if new_retry.is_exhausted(): │ │ 534 │ │ │ reason = error or ResponseError(cause) │ │ ❱ 535 │ │ │ raise MaxRetryError(_pool, url, reason) from reason # typ │ │ 536 │ │ │ │ 537 │ │ log.debug("Incremented Retry for (url='%s'): %r", url, new_ret │ │ 538 │ ╰──────────────────────────────────────────────────────────────────────────────╯ MaxRetryError: HTTPSConnectionPool(host='vod.rte.ie', port=443): Max retries exceeded with url: /rte/vod-d/RTE_Prod_-_Prod/673/856/IH10016313-26-0006/IH10016313-26-0006-1769120 214104.ism/.mpd?filter=systemBitrate%3C%3D7000000&hls_fmp4=true&available=176912 0075&expiry=1771712075&ip=37.228.203.71&token1=1f1f7a9a2aa0783218f93a2ce28942c9b eb97fe18087ec081c239700d3b4a525&formats=MPEG-DASH&auth=eyJhbGciOiJSUzUxMiJ9.eyJz dWIiOiJydGUtcHJkLXByZC10cnQvYW5vbnltb3VzX25ncnBfcGxheWVyQHJ0ZS5pZSIsImlzcyI6IjEi LCJleHAiOjE3Njk1NDQxNzgsImlhdCI6MTc2OTQ1Nzc3ODk3MiwianRpIjoiYzNhMDUzMGMtMjAwZC00 YTY3LTg4NzctNjFjNDhiMzRiYTJiIiwiZGlkIjoicnRlLXByZC1wcmQtdHJ0IiwidW5tIjoiYW5vbnlt b3VzX25ncnBfcGxheWVyQHJ0ZS5pZSIsImN0eCI6IntcInVzZXJOYW1lXCI6XCJhbm9ueW1vdXNfbmdy cF9wbGF5ZXJAcnRlLmllXCJ9XG4iLCJvaWQiOiIyNzAwODk0MDAxIn0.CUCW0ENN836bo8q90neT5-x0 oVtsMthgqOpGalg7Mi46la5cB5FdShlJ8Vzn9asnHt5KBaoWBpFvlryEMWTYyb73qpLDhFW3AYtUena5 Lc23cCUNLK0uHIKLA1hzhI-K1fkqsWfFFVbfDnBDHQu-6eq1YIO14ihCj4DEsMvnhgMUqhMMxoa9Zdlf BlUrf7Y8ZzFA5UyE-kPBDZ--S-0yV3rpizeIWDKwKMEn1TmEl5s6jLlEFZEZVktN1dKsY6G9io8L98rP -DY4VN2_PxBZZCD8CEqZ1bzBRJouof7NGpeHPUXHz20nj29eSo-TNEo9-7uQRMX3haEe4uVvzsvB_A&a ssetTypes=default%3Aisl&tracking=true&format=SMIL&iu=%2F3014%2FRTE_Player_VOD%2F Android_Phone%2FNotRegistered&policy=168602703 (Caused by ResponseError('too many 500 error responses')) During handling of the above exception, another exception occurred: ╭───────────────────── Traceback (most recent call last) ──────────────────────╮ │ in _run_module_as_main:198 │ │ in _run_code:88 │ │ │ │ in <module>:10 │ │ │ │ C:\Users\User\unshackle\.venv\Lib\site-packages\click\core.py:1462 in │ │ __call__ │ │ │ │ C:\Users\User\unshackle\.venv\Lib\site-packages\click\core.py:1383 in main │ │ │ │ C:\Users\User\unshackle\.venv\Lib\site-packages\click\core.py:1850 in invoke │ │ │ │ C:\Users\User\unshackle\.venv\Lib\site-packages\click\core.py:1850 in invoke │ │ │ │ C:\Users\User\unshackle\.venv\Lib\site-packages\click\core.py:1819 in │ │ _process_result │ │ │ │ C:\Users\User\unshackle\.venv\Lib\site-packages\click\core.py:814 in invoke │ │ │ │ C:\Users\User\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: │ │ │ │ C:\Users\User\unshackle\unshackle\services\RTE\__init__.py:129 in get_tracks │ │ │ │ 126 │ │ │ raise ValueError("Could not find any streams - is the titl │ │ 127 │ │ │ │ 128 │ │ manifest, self.pid = self.get_manifest(media) │ │ ❱ 129 │ │ tracks = DASH.from_url(manifest, self.session).to_tracks(langu │ │ 130 │ │ for track in tracks.audio: │ │ 131 │ │ │ role = track.data["dash"]["adaptation_set"].find("Role") │ │ 132 │ │ │ if role is not None and role.get("value") in ["description │ │ │ │ C:\Users\User\unshackle\unshackle\core\manifests\dash.py:64 in from_url │ │ │ │ 61 │ │ elif not isinstance(session, (Session, CurlSession)): │ │ 62 │ │ │ raise TypeError(f"Expected session to be a {Session} or {C │ │ 63 │ │ │ │ ❱ 64 │ │ res = session.get(url, **args) │ │ 65 │ │ if res.url != url: │ │ 66 │ │ │ url = res.url │ │ 67 │ │ │ │ C:\Users\User\unshackle\.venv\Lib\site-packages\requests\sessions.py:602 in │ │ get │ │ │ │ 599 │ │ """ │ │ 600 │ │ │ │ 601 │ │ kwargs.setdefault("allow_redirects", True) │ │ ❱ 602 │ │ return self.request("GET", url, **kwargs) │ │ 603 │ │ │ 604 │ def options(self, url, **kwargs): │ │ 605 │ │ r"""Sends a OPTIONS request. Returns :class:`Response` object. │ │ │ │ C:\Users\User\unshackle\.venv\Lib\site-packages\requests\sessions.py:589 in │ │ request │ │ │ │ 586 │ │ │ "allow_redirects": allow_redirects, │ │ 587 │ │ } │ │ 588 │ │ send_kwargs.update(settings) │ │ ❱ 589 │ │ resp = self.send(prep, **send_kwargs) │ │ 590 │ │ │ │ 591 │ │ return resp │ │ 592 │ │ │ │ C:\Users\User\unshackle\.venv\Lib\site-packages\requests\sessions.py:703 in │ │ send │ │ │ │ 700 │ │ start = preferred_clock() │ │ 701 │ │ │ │ 702 │ │ # Send the request │ │ ❱ 703 │ │ r = adapter.send(request, **kwargs) │ │ 704 │ │ │ │ 705 │ │ # Total elapsed time of the request (approximately) │ │ 706 │ │ elapsed = preferred_clock() - start │ │ │ │ C:\Users\User\unshackle\.venv\Lib\site-packages\requests\adapters.py:668 in │ │ send │ │ │ │ 665 │ │ │ │ │ raise ConnectTimeout(e, request=request) │ │ 666 │ │ │ │ │ 667 │ │ │ if isinstance(e.reason, ResponseError): │ │ ❱ 668 │ │ │ │ raise RetryError(e, request=request) │ │ 669 │ │ │ │ │ 670 │ │ │ if isinstance(e.reason, _ProxyError): │ │ 671 │ │ │ │ raise ProxyError(e, request=request) │ ╰──────────────────────────────────────────────────────────────────────────────╯ RetryError: HTTPSConnectionPool(host='vod.rte.ie', port=443): Max retries exceeded with url: /rte/vod-d/RTE_Prod_-_Prod/673/856/IH10016313-26-0006/IH10016313-26-0006-1769120 214104.ism/.mpd?filter=systemBitrate%3C%3D7000000&hls_fmp4=true&available=176912 0075&expiry=1771712075&ip=37.228.203.71&token1=1f1f7a9a2aa0783218f93a2ce28942c9b eb97fe18087ec081c239700d3b4a525&formats=MPEG-DASH&auth=eyJhbGciOiJSUzUxMiJ9.eyJz dWIiOiJydGUtcHJkLXByZC10cnQvYW5vbnltb3VzX25ncnBfcGxheWVyQHJ0ZS5pZSIsImlzcyI6IjEi LCJleHAiOjE3Njk1NDQxNzgsImlhdCI6MTc2OTQ1Nzc3ODk3MiwianRpIjoiYzNhMDUzMGMtMjAwZC00 YTY3LTg4NzctNjFjNDhiMzRiYTJiIiwiZGlkIjoicnRlLXByZC1wcmQtdHJ0IiwidW5tIjoiYW5vbnlt b3VzX25ncnBfcGxheWVyQHJ0ZS5pZSIsImN0eCI6IntcInVzZXJOYW1lXCI6XCJhbm9ueW1vdXNfbmdy cF9wbGF5ZXJAcnRlLmllXCJ9XG4iLCJvaWQiOiIyNzAwODk0MDAxIn0.CUCW0ENN836bo8q90neT5-x0 oVtsMthgqOpGalg7Mi46la5cB5FdShlJ8Vzn9asnHt5KBaoWBpFvlryEMWTYyb73qpLDhFW3AYtUena5 Lc23cCUNLK0uHIKLA1hzhI-K1fkqsWfFFVbfDnBDHQu-6eq1YIO14ihCj4DEsMvnhgMUqhMMxoa9Zdlf BlUrf7Y8ZzFA5UyE-kPBDZ--S-0yV3rpizeIWDKwKMEn1TmEl5s6jLlEFZEZVktN1dKsY6G9io8L98rP -DY4VN2_PxBZZCD8CEqZ1bzBRJouof7NGpeHPUXHz20nj29eSo-TNEo9-7uQRMX3haEe4uVvzsvB_A&a ssetTypes=default%3Aisl&tracking=true&format=SMIL&iu=%2F3014%2FRTE_Player_VOD%2F Android_Phone%2FNotRegistered&policy=168602703 (Caused by ResponseError('too many 500 error responses')) -
Check "uv run unshackle dl -h" the options are in there.
Works for me:
The problem is only for you, you must have something configured wrong, try changing "downloader" in yaml, or it's your RTE service, where did you get the service from? You should use these.Code:uv run unshackle dl rte https://www.rte.ie/player/series/prime-time/SI0000000825?epguid=IH10016313-26-0006 ▄ ▄▌ ▐ ▄ .▄▄ · ▄ .▄ ▄▄▄· ▄▄· ▄ ▄ ▄▄▌ ▄▄▄ . █▪██▌█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██ ▀▄.▀· █▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪ ▐▀▀▪▄ ▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌ ▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀ ▀ ·▀▀▀ ·▀ ▀.▀▀▀ ▀▀▀ v 2.3.0 - © 2025 - github.com/unshackle-dl/unshackle Service Config loaded Loaded 0/0 Vaults Loaded Widevine CDM: 28919 (L3) ─────────────────────────────── Service: RTE ─────────────────────────────── Service has no Geofence ──────────────────────────── Series: Prime Time ──────────────────────────── 1 seasons, S0(1) ──────────────────────────── Prime Time S00E06 ───────────────────────────── Cached 1 Key to 0/0 Vaults 1 Video └── [H.264, SDR] | en | 1920x1080 @ 6000 kb/s, 25.000 FPS ⠋ ━━━━━━━━╸━━━━━━━━━━━━━━━━━━━ 00:17 64.56MBps 495.47MB/1.59GB -
Yes I did get the service from https://github.com/stabbedbybrick/services but it still isn't working at all whatsoever.Works for me:
The problem is only for you, you must have something configured wrong, try changing "downloader" in yaml, or it's your RTE service, where did you get the service from? You should use these.Code:uv run unshackle dl rte https://www.rte.ie/player/series/prime-time/SI0000000825?epguid=IH10016313-26-0006 ▄ ▄▌ ▐ ▄ .▄▄ · ▄ .▄ ▄▄▄· ▄▄· ▄ ▄ ▄▄▌ ▄▄▄ . █▪██▌█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██ ▀▄.▀· █▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪ ▐▀▀▪▄ ▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌ ▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀ ▀ ·▀▀▀ ·▀ ▀.▀▀▀ ▀▀▀ v 2.3.0 - © 2025 - github.com/unshackle-dl/unshackle Service Config loaded Loaded 0/0 Vaults Loaded Widevine CDM: 28919 (L3) ─────────────────────────────── Service: RTE ─────────────────────────────── Service has no Geofence ──────────────────────────── Series: Prime Time ──────────────────────────── 1 seasons, S0(1) ──────────────────────────── Prime Time S00E06 ───────────────────────────── Cached 1 Key to 0/0 Vaults 1 Video └── [H.264, SDR] | en | 1920x1080 @ 6000 kb/s, 25.000 FPS ⠋ ━━━━━━━━╸━━━━━━━━━━━━━━━━━━━ 00:17 64.56MBps 495.47MB/1.59GB -
-
Thanks, how about the error in downloading vtt subtitle files? how to solve this problem?
Code:1 Video └── [H.264, SDR] | en-US | 1920x800 @ 10241 kb/s, 23.976 FPS ⠙ ━━━━━━━━━━━━━━━━━━━━━╺━━━━━━━━━━━━━━━━━ 01:48 DASH 16.0 MB/s 1 Audio └── [DD+] | en-US | 6.0 | 258 kb/s | United States ⠙ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --:-- Decrypting 2 Subtitles ├── [VTT] | en-US | United States │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 00:02 FAILED └── [VTT] | en-US | United States (SDH) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 00:02 FAILED 3 Chapters ├── 00:00:00.000 | Chapter 1 ├── 01:38:32.907 | Credits └── 01:44:06.740 | Chapter 2 ❌ Download Failed... Download Error (#a0edf17ca39af997): Reached max-file-not-found count=5 (4), https://akm.prd.media.h264.io/gcs/b476be40-f7f5-4d1b-bb7a-3f8f5dbaad5c /t/02c622/en-US_cc.vtt An unexpected error occurred in one of the download workers. See the error trace above for more information.Last edited by kim1406; 26th Jan 2026 at 15:29. Reason: adding new strings
-
You can try adding this to your yaml:
Or check in "unshackle-example.yaml" there are different subtitle options you can try...Code:dl: sub_format: srt
[Attachment 90986 - Click to enlarge] -
I used
for no subtitles.Code:uv run unshackle dl -l org,en -ns
I got the following problem
:
Code:CalledProcessError: Command '[WindowsPath('packager-win-x64.EXE'), 'input=Temp\\Audio_f7d2fe35.mp4,stream=0,output=Temp\\Audio_f7d2fe35_decrypted.m p4,output_format=MP4', '--enable_raw_key_decryption', '--keys', 'label=0:key_id=0100a5d159fd35928736ef91a22a98b2:key=4cf9e0eceed92867587c58a9da2 a5b67,label=1:key_id=00000000000000000000000000000000:key=4cf9e0eceed92867587c58 a9da2a5b67', '--temp_dir', WindowsPath('Temp')]' returned non-zero exit status 1. ❌ Download Failed... An unexpected error occurred in one of the download workers. Binary call failed, Process exit code: 1 See the error trace above for more information. -
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

