Unfortunately it's the same...
Code:uv run unshackle dl -ns cbc https://gem.cbc.ca/swipe-bet-repeat 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.0.0 - © 2025 - github.com/unshackle-dl/unshackle Service Config loaded Loaded 0/0 Vaults Loaded Widevine CDM: 28919 (L3) ─────────────────────────────── Service: CBC ─────────────────────────────── Service is not Geoblocked in your region + Using cached tokens Authenticated with Service ──────────────────── Movies: Swipe. Bet. Repeat. (2025) ──────────────────── 1 Movie ──────────────────────── Swipe. Bet. Repeat. (2025) ──────────────────────── Skipped subtitles as --no-subs was used... 1 Video └── [H.264, SDR] | en-CA | 1920x1080 @ 6811 kb/s, 29.970 FPS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 00:40 Downloaded 1 Audio └── [AAC] | en-CA | 2.0 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 01:03 Downloaded 5 Chapters ├── 00:00:00.000 ├── 00:13:15.000 ├── 00:25:58.000 ├── 00:36:58.000 └── 00:43:23.000 | Credits Track downloads finished in 1m7s Failed to Mux video to Matroska file (2): #GUI#error The type of file '/home/pc/Downloads/devine/temp/Video_a55fa21f.mp4' could not be recognized. Multiplexing... ⠦ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[Attachment 89820 - Click to enlarge]
I tried Envied and it worked no problems...
Code:uv run envied dl cbc https://gem.cbc.ca/swipe-bet-repeat 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 ░█▀▀░█▀█░█░█░▀█▀░█▀▀░█▀▄ ░█▀▀░█░█░▀▄▀░░█░░█▀▀░█░█ ░▀▀▀░▀░▀░░▀░░▀▀▀░▀▀▀░▀▀░ and more than unshackled... v 2.0.0 - https://github.com/vinefeeder/envied Service Config loaded Loaded 1/1 Vaults Loaded Widevine CDM: 28919 (L3) ─────────────────────────────── Service: CBC ─────────────────────────────── Service is not Geoblocked in your region Requesting new tokens... Authenticated with Service ──────────────────── Movies: Swipe. Bet. Repeat. (2025) ──────────────────── 1 Movie ──────────────────────── Swipe. Bet. Repeat. (2025) ──────────────────────── 1 Video └── [H.264, SDR] | en-CA | 1920x1080 @ 6811 kb/s, 29.970 FPS ⠦ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 00:01 Downloaded 1 Audio └── [AAC] | en-CA | 2.0 ⠦ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 00:01 Downloaded 5 Chapters ├── 00:00:00.000 ├── 00:13:15.000 ├── 00:25:58.000 ├── 00:36:58.000 └── 00:43:23.000 | Credits Track downloads finished in 0m58s Extracted a Closed Caption from Video track 1 Multiplexing... ⠇ ━━━━━━━╸━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 00:05 Multiplexing... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 00:05 🎉 Title downloaded in 1m14s! Processed all titles in 1m22s
+ Reply to Thread
Results 481 to 510 of 539
-
-
same with devine without problem. it unshackle and need a bit fix with ccextractor
-
Thankfully I was able to download an episode from CBC at 540 resolution with no problems. It got the subtitles with the download.
-
It is probably just me but tonight I am having failure after failure with TUBI. So I will take a break and try another service and give TUBI a try again later on.
-
Envied is a direct fork of unshackle with the addition of --select-titles. With the upgrade to v2 for unshackle, I followed upstream exactly.
Unshackle failing at muxing is most likely the result of configuration.
I know that envied specifies shaka-packager; I set that deliberately as recently I found mp4decrypt giving errors on my system - muxing; black-video or refusal to play-back.
So perhaps unshackle.yaml needs a tweak away from mp4decypt for unshackle users.
TwinVine on CachyOS
[Attachment 89829 - Click to enlarge]Noob Starter Pack. Just download every Widevine mpd! Not kidding!.
https://files.videohelp.com/u/301890/hellyes6.zip -
[QUOTE=A_n_g_e_l_a;2786842] How did you managed to get SubtitleEdit ported to CachyOS?
-
With TUBI I am getting this:
[CODE][C:\unshackle>uv run unshackle dl -q 480 -V TUBI https://tubitv.com/movies/100042107/jeremiah-johnson
▄ ▄▌ ▐ ▄ .▄▄ · ▄ .▄ ▄▄▄· ▄▄· ▄ ▄ ▄▄▌ ▄▄▄ .
█▪██▌█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██ ▀▄.▀·
█▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪ ▐▀▀▪▄
▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌
▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀ ▀ ·▀▀▀ ·▀ ▀.▀▀▀ ▀▀▀
v 2.0.0 - © 2025 - github.com/unshackle-dl/unshackle
Service Config loaded
Loaded 1/1 Vaults
Loaded Widevine CDM: 8158 (L3)
────────────────────────────── Service: TUBI ───────────────────────────────
Service has no Geofence
Authenticated with Service
───────────────────── Movies: Jeremiah Johnson (1972) ──────────────────────
1 Movie
───────────────────────── Jeremiah Johnson (1972) ──────────────────────────
[Aria2c]: Download Error (#ff9fb1286ced4d3d): No URI available. (24),
https://nc-fa.tubi.video/2b6f9dab-aa42-4222-b0a8-
f1b0eb0313af/x5x305vj.mp4?fastly_token=1764348177_ff1bccb6bb
246021b61d3e8ef61575a1fe706cbe
1 Video
└── [H.264, SDR] | en | 854x356 @ 1324 kb/s, 23.976 FPS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 01:09 FAILED
Widevine(AAAAOHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAA BgSEBQRFbbUXE1Av...)
└── 141115b6d45c4d40bf650eda1ccda7ba:8e235d5ddeebf9fdd b8c5378d7646641*
from Local SQLite
❌ Download Failed...
[WinError 32] The process cannot access the file because it is
being used by another process:
'C:\\unshackle\\Temp\\Video_e81d6728.mp4.aria2__te mp'
An unexpected error occurred in one of the download workers.
See the error trace above for more information.
C:\unshackle>/CODE]
I have the latest TUBI Service SBB put out. I have a cookie and credentials. It was working well until yesterday when it started to get these errors more and more. Any advice is appreciate and thank you in advance.
I gave it a try with DEVINE and it is working fine. I am wondering if having both cookie and credentials is bothering TUBI.Last edited by Tom Saurus; 21st Nov 2025 at 13:15.
-
I shamelessly copied the approach taken by Akirainblack here https://github.com/vinefeeder/TwinVine/issues/1#issuecomment-3538725879. It uses a windows version run with mono. Mono installs from the CachyOS package manager and if you download install.sh (in the link) and read through you'll find the command to get SubtitleEdit.
All credit to Akirainblack.Noob Starter Pack. Just download every Widevine mpd! Not kidding!.
https://files.videohelp.com/u/301890/hellyes6.zip -
I don't have anything set in my yaml
[Attachment 89850 - Click to enlarge]
Do you know what the setting is to set it to shaka? I've read the github example yaml but there's nothing for decryptor -
as an unshackle user you should already be using shakapackager; I think that is now the unshackle default.
You may also set it as below.
The envied verson in TwinVine was set to mp4decrypt as it wasn't producing annoying notes to screen like shaka does.
I do more with TwinVine to try to make it easier for people to use.
[Attachment 89851 - Click to enlarge]Noob Starter Pack. Just download every Widevine mpd! Not kidding!.
https://files.videohelp.com/u/301890/hellyes6.zip -
Yeah Envied works with this CBC link no problems

I tried setting the Unshackle yaml to both shaka and mp4decrypt, but it still can't complete the multiplexing for some reason.
The "Video_64295cf8.mp4" is present in my temp folder, as is the audio:Code:uv run unshackle -d dl cbc https://gem.cbc.ca/swipe-bet-repeat ▄ ▄▌ ▐ ▄ .▄▄ · ▄ .▄ ▄▄▄· ▄▄· ▄ ▄ ▄▄▌ ▄▄▄ . █▪██▌█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██ ▀▄.▀· █▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪ ▐▀▀▪▄ ▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌ ▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀ ▀ ·▀▀▀ ·▀ ▀.▀▀▀ ▀▀▀ v 2.0.0 - © 2025 - github.com/unshackle-dl/unshackle Service Config loaded Loaded 0/0 Vaults No vaults are currently active Loaded Widevine CDM: 28919 (L3) ─────────────────────────────── Service: CBC ─────────────────────────────── 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 + Using cached tokens Starting new HTTPS connection (1): services.radio-canada.ca:443 https://services.radio-canada.ca:443 "GET /ott/subscription/v2/gem/Subscriber/profile?device=web HTTP/1.1" 200 953 Authenticated with Service Cache key mapping: https://gem.cbc.ca/swipe-bet-repeat -> titles_1c6b2d727c7614a9_gb_335b8fe3 Cache hit for https://gem.cbc.ca/swipe-bet-repeat (hits: 1, misses: 0) ──────────────────── Movies: Swipe. Bet. Repeat. (2025) ──────────────────── 1 Movie ──────────────────────── Swipe. Bet. Repeat. (2025) ──────────────────────── https://services.radio-canada.ca:443 "GET /media/meta/v1/index.ashx?appCode=gem&idMedia=985652&output=jsonObject HTTP/1.1" 200 1154 https://services.radio-canada.ca:443 "GET /media/validation/v2?appCode=gem&&deviceType=android&idMedia=985652&ma nifestType=smart-tv&output=json&tech=hls HTTP/1.1" 200 642 Starting new HTTPS connection (1): cbcrcott-aws-gem.akamaized.net:443 https://cbcrcott-aws-gem.akamaized.net:443 "GET /out/v1/1f4b23faa2c243e4826d132a7b49d183/026bf27581e640c4b4fb78ae5aaa5 021/4992c413374a4be4af23a7b5453f28df/index-aes.m3u8?pckgrp=bf5b9c2800b 7e86d48330ceb5add54a4&ewid=83317&manifestType=smarttv&hdnea=st=1763895 716~exp=1763895836~acl=*~hmac=17fafe40d32ce374d776b634e3dcbdc0d3d3394d cfd8e042cfd296cf4afcb686&EIA608ClosedCaptions=true&lang=en HTTP/1.1" 200 None Pre-selecting Widevine CDM based on highest quality 1080p across all video tracks https://cbcrcott-aws-gem.akamaized.net:443 "GET /hdntl=exp=1763982119~acl=%2F*~data=hdntl~hmac=9b002db3c7a78849466438b c79366c071e71a90807a1ef006c96800df8e805d3/out/v1/1f4b23faa2c243e4826d1 32a7b49d183/026bf27581e640c4b4fb78ae5aaa5021/4992c413374a4be4af23a7b54 53f28df/350790c9387544c29261600984e76d74/6baf985d549245c48f39e42930e10 a5e/index-aes_1.m3u8?aka_me_session_id=AAAAAAAAAAAnOyRpAAAAAPkot1mLSov 0Jgq3nlERblX72obVCXtLeiYd6V%2F4vmS2VoE7HB%2F71yfynL5Idz1Ra5nqIX1beQxN& aka_media_format_type=hls&pckgrp=bf5b9c2800b7e86d48330ceb5add54a4 HTTP/1.1" 200 None Starting new HTTP connection (1): 127.0.0.1:53473 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 145 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 86 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 153 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 86 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 154 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 1757 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 154 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 2989 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 153 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 4662 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 154 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 6077 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 154 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 7091 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 154 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 8460 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 154 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 9768 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 154 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 11076 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 154 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 12920 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 154 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 14104 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 154 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 15073 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 154 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 16370 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 153 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 17527 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 153 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 18959 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 154 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 20444 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 153 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 21779 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 153 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 22994 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 156 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 24469 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 153 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 26069 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 154 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 27319 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 153 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 28852 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 152 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 29994 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 152 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 31770 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 153 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 32592 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 154 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 34154 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 153 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 35600 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 155 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 36630 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 153 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 38405 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 154 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 39658 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 153 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 40776 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 153 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 42395 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 154 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 43773 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 152 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 44247 http://127.0.0.1:53473 "POST /jsonrpc HTTP/1.1" 200 87 Resetting dropped connection: 127.0.0.1 https://cbcrcott-aws-gem.akamaized.net:443 "GET /hdntl=exp=1763982119~acl=%2F*~data=hdntl~hmac=9b002db3c7a78849466438b c79366c071e71a90807a1ef006c96800df8e805d3/out/v1/1f4b23faa2c243e4826d1 32a7b49d183/026bf27581e640c4b4fb78ae5aaa5021/4992c413374a4be4af23a7b54 53f28df/350790c9387544c29261600984e76d74/6baf985d549245c48f39e42930e10 a5e/index-aes_12_0.m3u8?aka_me_session_id=AAAAAAAAAAAnOyRpAAAAAPkot1mL Sov0Jgq3nlERblX72obVCXtLeiYd6V%2F4vmS2VoE7HB%2F71yfynL5Idz1Ra5nqIX1beQ xN&aka_media_format_type=hls&pckgrp=bf5b9c2800b7e86d48330ceb5add54a4 HTTP/1.1" 200 3148 Starting new HTTP connection (1): 127.0.0.1:42011 Starting new HTTP connection (2): 127.0.0.1:42011 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 86 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 152 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 1334 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 152 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 2868 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 152 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 4315 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 154 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 5604 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 154 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 6820 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 154 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 9599 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 152 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 12075 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 153 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 14604 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 153 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 16977 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 151 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 19450 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 151 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 22096 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 153 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 24566 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 153 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 27126 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 153 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 29563 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 153 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 31997 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 154 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 34509 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 152 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 36918 http://127.0.0.1:42011 "POST /jsonrpc HTTP/1.1" 200 87 Resetting dropped connection: 127.0.0.1 1 Video └── [H.264, SDR] | en-CA | 1920x1080 @ 6811 kb/s, 29.970 FPS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 00:36 Downloaded 1 Audio └── [AAC] | en-CA | 2.0 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 01:05 Downloaded 5 Chapters ├── 00:00:00.000 ├── 00:13:15.000 ├── 00:25:58.000 ├── 00:36:58.000 └── 00:43:23.000 | Credits Track downloads finished in 1m10s Failed to Mux video to Matroska file (2): #GUI#error The type of file '/home/pc/Downloads/devine/temp/Video_64295cf8.mp4' could not be recognized. Multiplexing... ⠧ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[Attachment 89859 - Click to enlarge]
But only the audio is playable/decrypted. The video is not playable either due to being corrupt or still encrypted. -
vidsrme: Have you tried downloading it in a lower quality perhaps 540? Have you checked your temp file and deleted what was in there? Have you cleared the CBC cache?
-
-
@vidsrme: I was hoping to give you an answer by debugging. However I can't reproduce the issue. Everything works fine for me. Sorry!
-
Since my GMTek Mini PC stopped working I decided to try to get Unshackle up and running on my Beelink mini pc and it took quite sometime but I finally got it set up. Now I am having trouble with CBC but I had success with PLUTO. CBC has failed on the subtitle with CCExtractor. The audio and video are in the temp folder and both are decrypted and fully intact. So I can mux them together and I can live without the subtitle. I will try it with just asking Unshackle to get the audio and video and see how that goes.
-
I was able to get an episode just fine with CBC by using the -V -A to just get the audio and video. Also TUBI seems to be working again for me with success with a DRM video and DRM free video.
-
We dont have username/password logins for DSCP authentication is only through mobile number + OTP. Because of that, we cant use the credentials: section in unshackle.yaml.
How do we configure DSCP to use cookies only? I have placed the cookes.txt file in D:\unshackle\Cookies\cookies.txt
Im currently getting this error:
unshackle dl -w S01E01 DSCP https://discoveryplus.in/videos/planet-earth-iii-in/
Error: There are no Services added yet, therefore the 'DSCP' Service could not be found.
credentials in unshackle.yaml
# Direct credentials (no profile support)
DSCP: -
Hmm, ok thats strange but thanks for trying
EDIT: iamghost said he had the problem too so it isn't limited to just me:
It looks like your .yaml isn't set correctly, or you didn't add or don't have any services. Check your directories with:
And post the outputCode:uv run unshackle env info
Also check the services are present in the services directory.Last edited by vidsrme; 24th Nov 2025 at 03:40.
-
Can anyone tell me where the variable options and parameters (such as -q -w -v -a -ns and any others) are listed... I can't find them anywhere.
-
If anyone is interested, I have created a Dockerfile for Unshackle. When I initially built it, I had engineered a version of the unshackle-ui that worked somewhat. That's still in the Dockerfile, but the changes I had to make to the unshackle backend did not work out well when running unshackle from the command line. As such, those changes are not implemented, but the UI is still in the Dockerfile and may still work, partially.
https://github.com/Kryxan/Unshackle-docker -
It looks like your .yaml isn't set correctly, or you didn't add or don't have any services. Check your directories with:
And post the outputCode:uv run unshackle env info
Also check the services are present in the services directory.[/QUOTE]
PS D:\ops\unshackle> uv run unshackle env info
▄ ▄▌ ▐ ▄ .▄▄ · ▄ .▄ ▄▄▄· ▄▄· ▄ ▄ ▄▄▌ ▄▄▄ .
█▪██▌█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██ ▀▄.▀·
█▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪ ▐▀▀▪▄
▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌
▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀ ▀ ·▀▀▀ ·▀ ▀.▀▀▀ ▀▀▀
v 2.0.0 - © 2025 - github.com/unshackle-dl/unshackle
Config loaded from D:\OPs\unshackle\unshackle\unshackle.yaml
Directories
┏━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━━━━━━━━┓
┃ Name ┃ Path ┃
┡━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━━━━━━━━┩
│ Cache │ D:\OPs\unshackle\Cache │
│ Commands │ D:\OPs\unshackle\unshackle\commands │
│ Cookies │ D:\OPs\unshackle\Cookies │
│ Core_Dir │ D:\OPs\unshackle\unshackle\core │
│ Data │ D:\OPs\unshackle\unshackle │
│ Dcsl │ D:\OPs\unshackle\DCSL │
│ Downloads │ D:\OPs\unshackle\Downloads │
│ Fonts │ D:\OPs\unshackle\unshackle\fonts │
│ Logs │ D:\OPs\unshackle\Logs │
│ Namespace_Dir │ D:\OPs\unshackle\unshackle │
│ Prds │ D:\OPs\unshackle\PRDs │
│ Services │ D:\OPs\unshackle\unshackle\services │
│ Temp │ D:\OPs\unshackle\Temp │
│ User_Configs │ D:\OPs\unshackle\unshackle │
│ Vaults │ D:\OPs\unshackle\unshackle\vaults │
│ Wvds │ D:\OPs\unshackle\WVDs │
└────────────────────┴──────────────────────────── ───────────────────┘
I can see DSCP service folder here - D:\OPs\unshackle\unshackle\services
Cookies placed in D:\OPs\unshackle\Cookies\cookies.txt
I tried one video with PLEX, it is working properly.
Last edited by hitman; 24th Nov 2025 at 06:38.
-
i have everything...
[Attachment 89904 - Click to enlarge]
download get error
[Attachment 89905 - Click to enlarge]
download with -ns (no subtitle) is fine
it only just this movie, other is no problem -
Getting this with DSNP:
────────────────────────────── Service: DSNP ───────────────────────────────
Service has no Geofence
+ Refreshing Tokens
Authenticated with Service
─────────────────────── Series: Downton Abbey (2010) ───────────────────────
6 seasons, S1(7), S2(9), S3(10), S4(10), S5(9), S6(9)
────────────────── Downton Abbey 2010 S01E01 Episode One ───────────────────
1 Video
└── [H.264, SDR] | en | 1280x720 @ 2581 kb/s, 23.976 FPS
⠙ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --:-- LICENSED
1 Audio
└── [AAC] | en | 2.0 | 128 kb/s
⠙ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --:-- LICENSED
16 Subtitles
├── [VTT] | en
│ ⠙ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --:-- -
├── [VTT] | en | SDH
│ ⠙ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --:-- -
├── [VTT] | cs
│ ⠙ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --:-- -
├── [VTT] | da
│ ⠙ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --:-- -
├── [VTT] | de
│ ⠙ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --:-- -
├── [VTT] | el
│ ⠙ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --:-- -
├── [VTT] | es-ES
│ ⠙ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --:-- -
├── [VTT] | fi
│ ⠙ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --:-- -
├── [VTT] | fr-FR
│ ⠙ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --:-- -
├── [VTT] | hu
│ ⠙ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --:-- -
├── [VTT] | it
│ ⠙ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --:-- -
├── [VTT] | nl
│ ⠙ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --:-- -
├── [VTT] | no
│ ⠙ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --:-- -
├── [VTT] | pt-PT
│ ⠹ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --:-- -
├── [VTT] | ro
│ ⠹ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --:-- -
└── [VTT] | sv
⠹ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --:-- -
4 Chapters
├── 00:00:00.000 | Start
├── 00:00:01.001 | Title Sequence
├── 00:01:45.689 | Scene 1
└── 01:07:54.320 | End Credits
Widevine(AAAAMnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAA BISEMRS+3/YAESSs...)
└── c452fb7fd8004492b32ccccce13b4daf:49777a5cc1746ab1b f93acae7803526f
from Local SQLite
╭───────────────────── Traceback (most recent call last) ──────────────────────╮
│ C:\Users\kabul\OneDrive\Desktop\rip2\unshackle\uns hackle\commands\dl.py:1456 │
│ in result │
│ │
│ 1453 │ │ │ │ │ │ │ │ for i, track in enumerate(title.track │
│ 1454 │ │ │ │ │ │ │ ) │
│ 1455 │ │ │ │ │ │ ): │
│ ❱ 1456 │ │ │ │ │ │ │ download.result() │
│ 1457 │ │ │ │
│ 1458 │ │ │ except KeyboardInterrupt: │
│ 1459 │ │ │ │ console.print(Padding("
: Download Cancelled...", (0 │
│ │
│ C:\Program Files\Python311\Lib\concurrent\futures\_base.py:44 9 in result │
│ │
│ 446 │ │ │ │ if self._state in [CANCELLED, CANCELLED_AND_NOTIFIED]: │
│ 447 │ │ │ │ │ raise CancelledError() │
│ 448 │ │ │ │ elif self._state == FINISHED: │
│ ❱ 449 │ │ │ │ │ return self.__get_result() │
│ 450 │ │ │ │ │
│ 451 │ │ │ │ self._condition.wait(timeout) │
│ 452 │
│ │
│ C:\Program Files\Python311\Lib\concurrent\futures\_base.py:40 1 in │
│ __get_result │
│ │
│ 398 │ def __get_result(self): │
│ 399 │ │ if self._exception: │
│ 400 │ │ │ try: │
│ ❱ 401 │ │ │ │ raise self._exception │
│ 402 │ │ │ finally: │
│ 403 │ │ │ │ # Break a reference cycle with the exception in self._ │
│ 404 │ │ │ │ self = None │
│ │
│ C:\Program Files\Python311\Lib\concurrent\futures\thread.py:5 8 in run │
│ │
│ 55 │ │ │ return │
│ 56 │ │ │
│ 57 │ │ try: │
│ ❱ 58 │ │ │ result = self.fn(*self.args, **self.kwargs) │
│ 59 │ │ except BaseException as exc: │
│ 60 │ │ │ self.future.set_exception(exc) │
│ 61 │ │ │ # Break a reference cycle with the exception 'exc' │
│ │
│ C:\Users\kabul\OneDrive\Desktop\rip2\unshackle\uns hackle\core\tracks\subtitl │
│ e.py:215 in download │
│ │
│ 212 │ │ *, │
│ 213 │ │ cdm: Optional[object] = None, │
│ 214 │ ): │
│ ❱ 215 │ │ super().download(session, prepare_drm, max_workers, progress, │
│ 216 │ │ if not self.path: │
│ 217 │ │ │ return │
│ 218 │
│ │
│ C:\Users\kabul\OneDrive\Desktop\rip2\unshackle\uns hackle\core\tracks\track.p │
│ y:216 in download │
│ │
│ 213 │ │ │ save_path = save_path.with_suffix(f".{self.codec.extension │
│ 214 │ │ │ # n_m3u8dl_re doesn't support directly downloading subtitl │
│ 215 │ │ │ # or when the subtitle has a direct file extension │
│ ❱ 216 │ │ │ if self.downloader.__name__ == "n_m3u8dl_re" and ( │
│ 217 │ │ │ │ self.descriptor == self.Descriptor.URL │
│ 218 │ │ │ │ or get_extension(self.url) in { │
│ 219 │ │ │ │ │ ".srt", │
╰───────────────────────────────────────────────── ─────────────────────────────╯
AttributeError: 'str' object has no attribute '__name__'
❌ Download Failed... -
double post
Last edited by vidsrme; 25th Nov 2025 at 07:59. Reason: same posted below in error
-
Ok cool, I was trying
which doesn't give all the options.Code:uv run unshackle --help
Ok so previously your error wasDo you still have that error? If so that's what needs fixing first, before cookies. For cookies I believe oyu may need to use a browser extension like this for FF or this for chrome but you need to make sure the "no services error" is fixed first and foremost because it definitely won't work while it's saying that, then look at getting cookies sorted.Code:Error: There are no Services added yet, therefore the 'DSCP' Service could not be found.
Ah, you have a different error than me, I have:
And trying with -ns doesn't solve my issue. I tried another CBC program and got the same result againCode:Track downloads finished in 1m10s Failed to Mux video to Matroska file (2): #GUI#error The type of file '/home/pc/Downloads/devine/temp/Video_64295cf8.mp4' could not be recognized.
For some reason the video is not being decrypted and is unplayable, but the audio is being decrypted and is playable. I have both shaka and mp4decrypt in my path so that can't be the issue.Code:uv run unshackle dl cbc https://gem.cbc.ca/gold-bars ▄ ▄▌ ▐ ▄ .▄▄ · ▄ .▄ ▄▄▄· ▄▄· ▄ ▄ ▄▄▌ ▄▄▄ . █▪██▌█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██ ▀▄.▀· █▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪ ▐▀▀▪▄ ▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌ ▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀ ▀ ·▀▀▀ ·▀ ▀.▀▀▀ ▀▀▀ v 2.0.0 - © 2025 - github.com/unshackle-dl/unshackle Service Config loaded Loaded 0/0 Vaults Loaded Widevine CDM: 28919 (L3) ─────────────────────────────── Service: CBC ─────────────────────────────── Service is not Geoblocked in your region Refreshing cached tokens... Authenticated with Service ───────────────────────── Movies: Gold Bars (2025) ───────────────────────── 1 Movie ───────────────────────────── Gold Bars (2025) ───────────────────────────── 1 Video └── [H.264, SDR] | en-CA | 1920x1080 @ 6811 kb/s, 29.970 FPS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 01:37 Downloaded 1 Audio └── [AAC] | en-CA | 2.0 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 02:48 Downloaded 10 Chapters ├── 00:00:00.000 ├── 00:20:22.000 ├── 00:32:56.000 ├── 00:44:03.000 ├── 00:52:52.000 ├── 00:59:57.000 ├── 01:06:16.000 ├── 01:16:01.000 ├── 01:21:41.000 └── 01:27:21.600 | Credits Track downloads finished in 2m52s Failed to Mux video to Matroska file (2): #GUI#error The type of file '/home/pc/Downloads/devine/temp/Video_c5cd2eb1.mp4' could not be recognized. Multiplexing... ⠹ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Code:$ mp4decrypt MP4 Decrypter - Version 1.4 (Bento4 Version 1.6.0.0) (c) 2002-2015 Axiomatic Systems, LLC
Also everything works with Envied, and unshackle works fine on other ssrvices such as ALL4:Code:$ shaka-packager Usage: shaka-packager [flags] <stream_descriptor> ...
But for me on CBC the above in bold doesn't happen, I guess that may be the problem does anyone know why this part isnt happening for me on CBC?Code:$ uv run unshackle dl all4 https://www.channel4.com/programmes/24-hours-in-police-custody/on-demand/77005-003 ▄ ▄▌ ▐ ▄ .▄▄ · ▄ .▄ ▄▄▄· ▄▄· ▄ ▄ ▄▄▌ ▄▄▄ . █▪██▌█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██ ▀▄.▀· █▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪ ▐▀▀▪▄ ▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌ ▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀ ▀ ·▀▀▀ ·▀ ▀.▀▀▀ ▀▀▀ v 2.0.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 + Using cached Tokens... Authenticated with Service ──────────────────── Series: 24 Hours in Police Custody ──────────────────── 1 seasons, S5(1) ────── 24 Hours in Police Custody S05E03 Nightclub Predator - Part 1 ─────── Cached 1 Key to 0/0 Vaults Falling back to the requests downloader as aria2(c) doesn't support the Range header [Widevine]: I1125 04:01:38.185404 8968 demuxer.cc:94] Demuxer::Run() on file '/home/pc/Downloads/devine/temp/Video_68ee9604.mp4'. I1125 04:01:38.185796 8968 demuxer.cc:160] Initialize Demuxer for file '/home/pc/Downloads/devine/temp/Video_68ee9604.mp4'. I1125 04:01:43.624313 8968 single_segment_segmenter.cc:111] Update media header (moov) and rewrite the file to '/home/ pc/Downloads/devine/temp/Video_68ee9604_decrypted.mp4'. I1125 04:01:47.842391 8968 mp4_muxer.cc:195] MP4 file ' /home/pc/Downloads/devine/temp/Video_68ee9604_decrypted.mp 4' finalized. Cached 1 Key to 0/0 Vaults Falling back to the requests downloader as aria2(c) doesn't support the Range header [Widevine]: I1125 04:01:49.972498 9632 demuxer.cc:94] Demuxer::Run() on file '/home/pc/Downloads/devine/temp/Audio_841a051e.mp4'. I1125 04:01:49.972914 9632 demuxer.cc:160] Initialize Demuxer for file '/home/pc/Downloads/devine/temp/Audio_841a051e.mp4'. I1125 04:01:50.159223 9632 single_segment_segmenter.cc:111] Update media header (moov) and rewrite the file to '/home/ pc/Downloads/devine/temp/Audio_841a051e_decrypted.mp4'. I1125 04:01:50.266770 9632 mp4_muxer.cc:195] MP4 file ' /home/pc/Downloads/devine/temp/Audio_841a051e_decrypted.mp 4' finalized. 1 Video └── [H.264, SDR] | en | 1920x1080 @ 5703 kb/s, 25.000 FPS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 01:03 Downloaded 1 Audio └── [AAC] | en | 2.0 | 135 kb/s ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 01:05 Downloaded 1 Subtitle └── [VTT] | en ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 01:06 Downloaded 5 Chapters ├── 00:00:00.000 | Chapter 01 ├── 00:11:02.040 | Chapter 02 ├── 00:23:07.560 | Chapter 03 ├── 00:35:19.800 | Chapter 04 └── 00:46:25.560 | Credits Widevine(AAAASnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAACoIARIQqjQw7Yu93...) └── aa3430ed8bbddd93c80dbc117da35f3c:7e73a735a6df75a3b9e0d92935bb8d06* Track downloads finished in 1m10s Multiplexing... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 00:04 �� Title downloaded in 1m15s! Processed all titles in 1m16s
EDIT: Ok I found the issue. I noticed on CBC it said
And I had aria2c set as chosen downloader in my yaml. So I changed it to n_m3u8dl_re and it fixed the issue:Code:Falling back to the requests downloader as aria2(c) doesn't support the Range header
So when Unshackle falls back to the requests downloader on CBC, the video fails to decrypt (though the audio does decrypt) and then it gives:Code:$ uv run unshackle dl cbc https://gem.cbc.ca/gold-bars ▄ ▄▌ ▐ ▄ .▄▄ · ▄ .▄ ▄▄▄· ▄▄· ▄ ▄ ▄▄▌ ▄▄▄ . █▪██▌█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██ ▀▄.▀· █▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪ ▐▀▀▪▄ ▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌ ▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀ ▀ ·▀▀▀ ·▀ ▀.▀▀▀ ▀▀▀ v 2.0.0 - © 2025 - github.com/unshackle-dl/unshackle Service Config loaded Loaded 0/0 Vaults Loaded Widevine CDM: 28919 (L3) ─────────────────────────────── Service: CBC ─────────────────────────────── Service is not Geoblocked in your region + Using cached tokens Authenticated with Service ───────────────────────── Movies: Gold Bars (2025) ───────────────────────── 1 Movie ───────────────────────────── Gold Bars (2025) ───────────────────────────── 1 Video └── [H.264, SDR] | en-CA | 1920x1080 @ 6811 kb/s, 29.970 FPS ⠴ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ --:-- Downloaded 1 Audio └── [AAC] | en-CA | 2.0 ⠴ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 00:01 Downloaded 10 Chapters ├── 00:00:00.000 ├── 00:20:22.000 ├── 00:32:56.000 ├── 00:44:03.000 ├── 00:52:52.000 ├── 00:59:57.000 ├── 01:06:16.000 ├── 01:16:01.000 ├── 01:21:41.000 └── 01:27:21.600 | Credits Track downloads finished in 4m0s Extracted a Closed Caption from Video track 1 Multiplexing... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 00:09 �� Title downloaded in 4m29s! Processed all titles in 4m31s
Code:Failed to Mux video to Matroska file (2): #GUI#error The type of file '/home/pc/Downloads/devine/temp/Video_a55fa21f.mp4' could not be recognized.
Angela, you were right, or at least partially - it was configuration but the downloader rather than the decryptorLast edited by vidsrme; 24th Nov 2025 at 23:46.
-
Ok so previously your error was
Do you still have that error? If so that's what needs fixing first, before cookies. For cookies I believe oyu may need to use a browser extension like this for FF or this for chrome but you need to make sure the "no services error" is fixed first and foremost because it definitely won't work while it's saying that, then look at getting cookies sorted.Code:Error: There are no Services added yet, therefore the 'DSCP' Service could not be found.
This is fixed now, but i am getting below error
Exported cookies from Extension > https://addons.mozilla.org/en-US/firefox/addon/export-cookies-txt/Code:PS D:\ops\unshackle> uv run unshackle dl DSCP https://discoveryplus.in/show/man-vs-wild ▄ ▄▌ ▐ ▄ .▄▄ · ▄ .▄ ▄▄▄· ▄▄· ▄ ▄ ▄▄▌ ▄▄▄ . █▪██▌█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██ ▀▄.▀· █▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪ ▐▀▀▪▄ ▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌ ▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀ ▀ ·▀▀▀ ·▀ ▀.▀▀▀ ▀▀▀ v 2.0.0 - © 2025 - github.com/unshackle-dl/unshackle Service Config loaded Loaded 1/1 Vaults Loaded Widevine CDM: 8158 (L3) ────────────────────────────── Service: DSCP ─────────────────────────────── Service has no Geofence ╭───────────────────── Traceback (most recent call last) ──────────────────────╮ │ D:\OPs\unshackle\unshackle\services\DSCP\__init__.py:573 in _request │ │ │ │ 570 │ │ response = self.session.request(method, url, **kwargs) │ │ 571 │ │ │ │ 572 │ │ try: │ │ ❱ 573 │ │ │ data = json.loads(response.content) │ │ 574 │ │ │ │ │ 575 │ │ │ if errors := data.get("errors", []): │ │ 576 │ │ │ │ code = next((x.get("code", "") for x in errors), "") │ │ │ │ C:\Users\xxxxx\AppData\Roaming\uv\python\cpython-3.12.12-windows-x86_64-none │ │ \Lib\json\__init__.py:346 in loads │ │ │ │ 343 │ if (cls is None and object_hook is None and │ │ 344 │ │ │ parse_int is None and parse_float is None and │ │ 345 │ │ │ parse_constant is None and object_pairs_hook is None and n │ │ ❱ 346 │ │ return _default_decoder.decode(s) │ │ 347 │ if cls is None: │ │ 348 │ │ cls = JSONDecoder │ │ 349 │ if object_hook is not None: │ │ │ │ C:\Users\xxxxx\AppData\Roaming\uv\python\cpython-3.12.12-windows-x86_64-none │ │ \Lib\json\decoder.py:338 in decode │ │ │ │ 335 │ │ containing a JSON document). │ │ 336 │ │ │ │ 337 │ │ """ │ │ ❱ 338 │ │ obj, end = self.raw_decode(s, idx=_w(s, 0).end()) │ │ 339 │ │ end = _w(s, end).end() │ │ 340 │ │ if end != len(s): │ │ 341 │ │ │ raise JSONDecodeError("Extra data", s, end) │ │ │ │ C:\Users\xxxxx\AppData\Roaming\uv\python\cpython-3.12.12-windows-x86_64-none │ │ \Lib\json\decoder.py:356 in raw_decode │ │ │ │ 353 │ │ try: │ │ 354 │ │ │ obj, end = self.scan_once(s, idx) │ │ 355 │ │ except StopIteration as err: │ │ ❱ 356 │ │ │ raise JSONDecodeError("Expecting value", s, err.value) fro │ │ 357 │ │ return obj, end │ │ 358 │ ╰──────────────────────────────────────────────────────────────────────────────╯ JSONDecodeError: Expecting value: line 1 column 1 (char 0) 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 │ │ │ │ D:\OPs\unshackle\.venv\Lib\site-packages\click\core.py:1462 in __call__ │ │ │ │ D:\OPs\unshackle\.venv\Lib\site-packages\click\core.py:1383 in main │ │ │ │ D:\OPs\unshackle\.venv\Lib\site-packages\click\core.py:1850 in invoke │ │ │ │ D:\OPs\unshackle\.venv\Lib\site-packages\click\core.py:1850 in invoke │ │ │ │ D:\OPs\unshackle\.venv\Lib\site-packages\click\core.py:1819 in │ │ _process_result │ │ │ │ D:\OPs\unshackle\.venv\Lib\site-packages\click\core.py:814 in invoke │ │ │ │ D:\OPs\unshackle\unshackle\commands\dl.py:800 in result │ │ │ │ 797 │ │ │ try: │ │ 798 │ │ │ │ cookies = self.get_cookie_jar(self.service, self.prof │ │ 799 │ │ │ │ credential = self.get_credentials(self.service, self. │ │ ❱ 800 │ │ │ │ service.authenticate(cookies, credential) │ │ 801 │ │ │ │ if cookies or credential: │ │ 802 │ │ │ │ │ self.log.info("Authenticated with Service") │ │ 803 │ │ │ │ │ if self.debug_logger: │ │ │ │ D:\OPs\unshackle\unshackle\services\DSCP\__init__.py:132 in authenticate │ │ │ │ 129 │ │ │ "x-device-info": f"dplus/20.8.1.2 (NVIDIA/SHIELD Android T │ │ 130 │ │ }) │ │ 131 │ │ │ │ ❱ 132 │ │ access = self._request("GET", "/token", params={"realm": "bolt │ │ 133 │ │ │ │ 134 │ │ self.access_token = access["data"]["attributes"]["token"] │ │ 135 │ │ │ │ D:\OPs\unshackle\unshackle\services\DSCP\__init__.py:584 in _request │ │ │ │ 581 │ │ │ return data │ │ 582 │ │ │ │ 583 │ │ except Exception as e: │ │ ❱ 584 │ │ │ raise ConnectionError(f"Request failed for {url}: {e}") │ │ 585 │ ╰──────────────────────────────────────────────────────────────────────────────╯ ConnectionError: Request failed for https://default.any-any.prd.api.discoveryplus.com/token: Expecting value: line 1 column 1 (char 0) PS D:\ops\unshackle> -
link look different, go look for tips
try this oneCode:uv run unshackle dl dscp -?
search for id linksCode:uv run unshackle dl DSCP /show/c9cd73f1-ecd5-4041-980d-03677c7d8017
Code:uv run unshackle search dscp "man vs wild"
Last edited by iamghost; 25th Nov 2025 at 05:57.
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