VideoHelp Forum




+ Reply to Thread
Page 30 of 32
FirstFirst ... 20 28 29 30 31 32 LastLast
Results 871 to 900 of 931
  1. Originally Posted by stabbedbybrick View Post
    TVNZ have revamped their whole backend and started to move away from brightcove. The currently used API might continue to work for a while, but could potentially provide lower quality streams than the new version where 1080p and dolby audio seem more widely available at first glance.

    I've messed around a bit and reversed most of the new API, but I'm not sure when I'll have a coherent script out. I'll drop a message in here when I get it sorted.
    I've cobbled together some vibecoded slop on this, but one thing I noticed is the general trend of streaming services using local storage in browser vs cookies for auth tokens. Have you happened to find much work around for that?

    Looks like iPlayer have also made some changes and now maxes out at 720p again too.
    Quote Quote  
  2. Originally Posted by billybanana View Post
    And on another note SBS have removed their previous api. Downloads now require a login to obtain a token. I'm updating Ozivine at the moment.
    @stabbedbybrick if you want any detail to update Unshackle let me know.
    Brilliant @billybanana - thank you! Confirmed your updated Ozivine is working for SBS again.

    Hopefully @stabbedbybrick will have an update for his unshackle services soon too.
    Quote Quote  
  3. Originally Posted by readerr0r View Post
    Originally Posted by stabbedbybrick View Post
    TVNZ have revamped their whole backend and started to move away from brightcove. The currently used API might continue to work for a while, but could potentially provide lower quality streams than the new version where 1080p and dolby audio seem more widely available at first glance.

    I've messed around a bit and reversed most of the new API, but I'm not sure when I'll have a coherent script out. I'll drop a message in here when I get it sorted.
    I've cobbled together some vibecoded slop on this, but one thing I noticed is the general trend of streaming services using local storage in browser vs cookies for auth tokens. Have you happened to find much work around for that?

    Looks like iPlayer have also made some changes and now maxes out at 720p again too.
    Extracting the local storage is just as easy as with cookies, with the main difference being that you generally can't share the session in the same way. If you refresh the auth tokens in a script, the browser session will become invalid and log you out - and vice versa. So if you plan on using a service for both streaming and ripping, the smoothest way is probably to have separate accounts for each. But aside from that, things are pretty similar to when using credentials. Just pull the auth from storage and have the session live and refresh in the script cache instead.

    IPlayer is still giving me 1080p and 2160p on the expected titles, so might've just been a hiccup.
    Quote Quote  
  4. Member
    Join Date
    Dec 2022
    Location
    Lesotho
    Search Comp PM
    @stabbedbybrick Any chance of a service for crave.ca please? ctv.ca will be shutdown at the end of April.
    Quote Quote  
  5. Originally Posted by stabbedbybrick View Post

    Extracting the local storage is just as easy as with cookies, with the main difference being that you generally can't share the session in the same way. If you refresh the auth tokens in a script, the browser session will become invalid and log you out - and vice versa. So if you plan on using a service for both streaming and ripping, the smoothest way is probably to have separate accounts for each. But aside from that, things are pretty similar to when using credentials. Just pull the auth from storage and have the session live and refresh in the script cache instead.

    IPlayer is still giving me 1080p and 2160p on the expected titles, so might've just been a hiccup.
    Of course, I didn't think browsing on the site would be booting my captured local storage sessions, thanks for the hint! Plus you were right about iPlayer, cheers
    Quote Quote  
  6. Hi Stabby, thanks as always for your help and knowledge, would it be possible to add a HMAX service please? for the moment I'm using the DSCP service with the code changed to work with HMAX as your advice says.

    Cheers Stabby, you're a star.
    Quote Quote  
  7. TVNZ, SBS, and ITV have been updated.

    As mentioned earlier, TVNZ auth is a bit different than usual, so PLEASE read the service notes:
    Code:
    unshackle dl TVNZ --help
    A simple extension that will export the local storage: Cookie & Storage Exporter, but any should do the job.

    I also have no ****** idea why Copilot is trying to co-author my commits when I have turned it off everywhere. Goddamn, I hate this dystopian AI nightmare we're living in.

    EDIT:
    I went ahead and moved the repo to https://git.gay/stabbedbybrick/unshackle-services.
    Update your clones/paths accordingly.
    Last edited by stabbedbybrick; 25th Apr 2026 at 10:19.
    Quote Quote  
  8. Member
    Join Date
    Dec 2021
    Location
    england
    Search Comp PM
    Thanks stabbedbybrick, all good for both SBS and TVNZ, any chance you can do 9now service?
    Quote Quote  
  9. Member
    Join Date
    Nov 2006
    Location
    canada
    Search Comp PM
    a very odd issue for me on ITV, trying to download tonights episode of Britains Got Talent Season 19 Episode 9 using tonights episode code
    ITV https://www.itv.com/watch/britains-got-talent/1a7470/1a7470a0245.

    It keeps trying to download the whole season 19,from episode 1 onwards.
    Quote Quote  
  10. Member
    Join Date
    Dec 2021
    Location
    england
    Search Comp PM
    Originally Posted by mickmars View Post
    a very odd issue for me on ITV, trying to download tonights episode of Britains Got Talent Season 19 Episode 9 using tonights episode code
    ITV https://www.itv.com/watch/britains-got-talent/1a7470/1a7470a0245.

    It keeps trying to download the whole season 19,from episode 1 onwards.
    Code:
    uv run unshackle dl -w s19e09 itv https://www.itv.com/watch/britains-got-talent/1a7470
    Quote Quote  
  11. This may be a VPN issue I don't know but this is what I get. I think I have the token set up correctly:

    [CODE][C:\unshackle>uv run unshackle dl --list-titles TVNZ /tvseries/citadel


    │ C:\unshackle\.venv\Lib\site-packages\click\core.py:1485 in __call__ │
    │ │
    │ C:\unshackle\.venv\Lib\site-packages\click\core.py:1406 in main │
    │ │
    │ C:\unshackle\.venv\Lib\site-packages\click\core.py:1873 in invoke │
    │ │
    │ C:\unshackle\.venv\Lib\site-packages\click\core.py:1873 in invoke │
    │ │
    │ C:\unshackle\.venv\Lib\site-packages\click\core.py:1842 in _process_result │
    │ │
    │ C:\unshackle\.venv\Lib\site-packages\click\core.py:824 in invoke │
    │ │
    │ C:\unshackle\unshackle\commands\dl.py:1087 in result │
    │ │
    │ 1084 │ │ │
    │ 1085 │ │ with console.status("Fetching Title Metadata...", spinner="do │
    │ 1086 │ │ │ try: │
    │ ❱ 1087 │ │ │ │ titles = service.get_titles_cached() │
    │ 1088 │ │ │ │ if not titles: │
    │ 1089 │ │ │ │ │ self.log.error("No titles returned, nothing to do │
    │ 1090 │ │ │ │ │ if self.debug_logger: │
    │ │
    │ C:\unshackle\unshackle\core\service.py:474 in get_titles_cached │
    │ │
    │ 471 │ │ account_hash = get_account_hash(self.credential) │
    │ 472 │ │ │
    │ 473 │ │ # Use title cache to get titles with fallback support │
    │ ❱ 474 │ │ return self.title_cache.get_cached_titles( │
    │ 475 │ │ │ title_id=str(title_id), │
    │ 476 │ │ │ fetch_function=self.get_titles, │
    │ 477 │ │ │ region=self.current_region, │
    │ │
    │ C:\unshackle\unshackle\core\title_cacher.py:119 in get_cached_titles │
    │ │
    │ 116 │ │ │
    │ 117 │ │ try: │
    │ 118 │ │ │ # Attempt to fetch fresh titles │
    │ ❱ 119 │ │ │ titles = fetch_function() │
    │ 120 │ │ │ │
    │ 121 │ │ │ if titles: │
    │ 122 │ │ │ │ # Successfully fetched, update cache │
    │ │
    │ C:\unshackle\services\TVNZ\__init__.py:139 in get_titles │
    │ │
    │ 136 │ def get_titles(self) -> Movies | Series: │
    │ 137 │ │ match = re.match(self.TITLE_RE, self.title) │
    │ 138 │ │ if not match: │
    │ ❱ 139 │ │ │ raise ValueError(f"Invalid title: {self.title}") │
    │ 140 │ │ │
    │ 141 │ │ content_type, _ = match.groups() │
    │ 142 │ │ title_path = urlparse(self.title).path.replace("/player/", "/" │
    ╰───────────────────────────────────────────────── ─────────────────────────────╯
    ValueError: Invalid title: https://www.tvnz.co.nz/tvseries/citadel

    C:\unshackle>/CODE]
    Last edited by Tom Saurus; 26th Apr 2026 at 07:42.
    Quote Quote  
  12. Member
    Join Date
    Feb 2026
    Location
    Mιxico, Estado de Mιxico, Tezoyuca.
    Search Comp PM
    Hi everyone, has anyone been able to download with SPOT? In my case, I get the following error:

    I:\unshackle-4.0.0>uv run unshackle dl SPOT "https://open.spotify.com/track/1WBOafEFY6UETRWMA1CyqC?si=d0ee7c6fd9084a2a"

    ▄• ▄▌ ▐ ▄ .▄▄ · ▄ .▄ ▄▄▄· ▄▄· ▄ •▄ ▄▄▌ ▄▄▄ .
    █▪██▌•█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██• ▀▄.▀·
    █▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪ ▐▀▀▪▄
    ▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌
    ▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀ ▀ ·▀▀▀ ·▀ ▀.▀▀▀ ▀▀▀
    v 4.0.0 - © 2025-2026 - github.com/unshackle-dl/unshackle

    Service Config loaded
    Loaded 1/1 Vaults
    Loaded Widevine CDM: 8159 (L3)

    ────────────────────────────── Service: SPOT ───────────────────────────────

    Service has no Geofence
    ╭───────────────────── Traceback (most recent call last) ──────────────────────╮
    │ in _run_module_as_main:198 │
    │ in _run_code:88 │
    │ │
    │ in <module>:10 │
    │ │
    │ I:\unshackle-4.0.0\.venv\Lib\site-packages\click\core.py:1485 in __call__ │
    │ │
    │ I:\unshackle-4.0.0\.venv\Lib\site-packages\click\core.py:1406 in main │
    │ │
    │ I:\unshackle-4.0.0\.venv\Lib\site-packages\click\core.py:1873 in invoke │
    │ │
    │ I:\unshackle-4.0.0\.venv\Lib\site-packages\click\core.py:1873 in invoke │
    │ │
    │ I:\unshackle-4.0.0\.venv\Lib\site-packages\click\core.py:1842 in │
    │ _process_result │
    │ │
    │ I:\unshackle-4.0.0\.venv\Lib\site-packages\click\core.py:824 in invoke │
    │ │
    │ I:\unshackle-4.0.0\unshackle\commands\dl.py:1052 in result │
    │ │
    │ 1049 │ │ │ try: │
    │ 1050 │ │ │ │ cookies = self.get_cookie_jar(self.service, self.prof │
    │ 1051 │ │ │ │ credential = self.get_credentials(self.service, self. │
    │ ❱ 1052 │ │ │ │ service.authenticate(cookies, credential) │
    │ 1053 │ │ │ │ if cookies or credential: │
    │ 1054 │ │ │ │ │ self.log.info("Authenticated with Service") │
    │ 1055 │ │ │ │ │ if self.debug_logger: │
    │ │
    │ I:\unshackle-4.0.0\unshackle\services\SPOT\__init__.py:71 in authenticate │
    │ │
    │ 68 │ │ ) │
    │ 69 │ │ self.session.cookies.update(cookies) │
    │ 70 │ │ home_page = self.session.get("https://open.spotify.com/").cont │
    │ ❱ 71 │ │ token = re.search(r'accessToken":"(.*?)"', home_page).group(1) │
    │ 72 │ │ self.is_premium = re.search(r'isPremium".*?),', home_page).g │
    │ 73 │ │ self.session.headers.update( │
    │ 74 │ │ │ { │
    │ │
    │ C:\Users\Edgar │
    │ Lσpez\AppData\Roaming\uv\python\cpython-3.12-windows-x86_64-none\Lib\re\__in │
    │ it__.py:177 in search │
    │ │
    │ 174 def search(pattern, string, flags=0): │
    │ 175 │ """Scan through string looking for a match to the pattern, returni │
    │ 176 │ a Match object, or None if no match was found.""" │
    │ ❱ 177 │ return _compile(pattern, flags).search(string) │
    │ 178 │
    │ 179 def sub(pattern, repl, string, count=0, flags=0): │
    │ 180 │ """Return the string obtained by replacing the leftmost │
    ╰───────────────────────────────────────────────── ─────────────────────────────╯
    TypeError: cannot use a string pattern on a bytes-like object

    If anyone could help me with this error, I would be very grateful. A hug from Mιxico.
    Quote Quote  
  13. Member
    Join Date
    Oct 2023
    Location
    Afghanistan
    Search PM
    Originally Posted by Tom Saurus View Post
    This may be a VPN issue I don't know but this is what I get. I think I have the token set up correctly:
    @stabbedbybrick I've got the same error as Tom. Can authenticate no problem, just can't find titles. I'm using Surfshark VPN - that works ok to play in browser BTW.


    Code:
    │ D:\Downloads\unshackle\unshackle\core\title_cacher.py:119 in                 │
    │ get_cached_titles                                                            │
    │                                                                              │
    │   116 │   │                                                                  │
    │   117 │   │   try:                                                           │
    │   118 │   │   │   # Attempt to fetch fresh titles                            │
    │ ❱ 119 │   │   │   titles = fetch_function()                                  │
    │   120 │   │   │                                                              │
    │   121 │   │   │   if titles:                                                 │
    │   122 │   │   │   │   # Successfully fetched, update cache                   │
    │                                                                              │
    │ D:\Downloads\unshackle\unshackle\services\TVNZ\__init__.py:139 in get_titles │
    │                                                                              │
    │   136 │   def get_titles(self) -> Movies | Series:                           │
    │   137 │   │   match = re.match(self.TITLE_RE, self.title)                    │
    │   138 │   │   if not match:                                                  │
    │ ❱ 139 │   │   │   raise ValueError(f"Invalid title: {self.title}")           │
    │   140 │   │                                                                  │
    │   141 │   │   content_type, _ = match.groups()                               │
    │   142 │   │   title_path = urlparse(self.title).path.replace("/player/", "/" │
    ╰──────────────────────────────────────────────────────────────────────────────╯
    ValueError: Invalid title:
    https://www.tvnz.co.nz/player/tvepisode/tauranga-hilltop
    Quote Quote  
  14. Originally Posted by billybanana View Post
    Originally Posted by Tom Saurus View Post
    This may be a VPN issue I don't know but this is what I get. I think I have the token set up correctly:
    @stabbedbybrick I've got the same error as Tom. Can authenticate no problem, just can't find titles. I'm using Surfshark VPN - that works ok to play in browser BTW.


    Code:
    │ D:\Downloads\unshackle\unshackle\core\title_cacher.py:119 in                 │
    │ get_cached_titles                                                            │
    │                                                                              │
    │   116 │   │                                                                  │
    │   117 │   │   try:                                                           │
    │   118 │   │   │   # Attempt to fetch fresh titles                            │
    │ ❱ 119 │   │   │   titles = fetch_function()                                  │
    │   120 │   │   │                                                              │
    │   121 │   │   │   if titles:                                                 │
    │   122 │   │   │   │   # Successfully fetched, update cache                   │
    │                                                                              │
    │ D:\Downloads\unshackle\unshackle\services\TVNZ\__init__.py:139 in get_titles │
    │                                                                              │
    │   136 │   def get_titles(self) -> Movies | Series:                           │
    │   137 │   │   match = re.match(self.TITLE_RE, self.title)                    │
    │   138 │   │   if not match:                                                  │
    │ ❱ 139 │   │   │   raise ValueError(f"Invalid title: {self.title}")           │
    │   140 │   │                                                                  │
    │   141 │   │   content_type, _ = match.groups()                               │
    │   142 │   │   title_path = urlparse(self.title).path.replace("/player/", "/" │
    ╰──────────────────────────────────────────────────────────────────────────────╯
    ValueError: Invalid title:
    https://www.tvnz.co.nz/player/tvepisode/tauranga-hilltop
    It's failing because I don't get the "www" in my URLs so I forgot to include it in the regex. Oops.
    But you can also just use the path: "/player/tvepisode/tauranga-hilltop". Examples are in the service notes.
    Quote Quote  
  15. Member
    Join Date
    Oct 2023
    Location
    Afghanistan
    Search PM
    Originally Posted by stabbedbybrick View Post

    It's failing because I don't get the "www" in my URLs so I forgot to include it in the regex. Oops.
    But you can also just use the path: "/player/tvepisode/tauranga-hilltop". Examples are in the service notes.
    Ok gotcha. I can confirm these both work.

    Code:
    uv run unshackle dl --proxy NZ -w S10E02 tvnz /tvseries/grand-designs-new-zealand
    Code:
    uv run unshackle dl --proxy NZ tvnz /player/tvepisode/tauranga-hilltop
    Will you put out an update in your regex so peeps can use the full url ? I tend to be a full url guy, so i'm really asking for myself. And before I go off to update Ozivine
    Last edited by billybanana; 26th Apr 2026 at 02:00.
    Quote Quote  
  16. Originally Posted by billybanana View Post

    Will you put out an update in your regex so peeps can use the full url ? I tend to be a full url guy, so i'm really asking for myself. And before I go off to update Ozivine
    It's been fixed and should work with all variations now.

    Also, if people are having issues with finding an extension for extracting the local storage, you can do it directly from the web developer console as well. Just go to tvnz site, make sure you're logged in and paste this into the console:
    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();
    It'll save a "local_storage.json" in your download folder that contains the required tokens.
    Quote Quote  
  17. Thank you stabbedbybrick for fixing this issue with TVNZ. I understand if you don't make a CRAVE service. CTV Throwback and such are no longer going to be on CTV.ca starting in May. However CRAVE is a paid service with a potential free tiere so that might break the rules. It would be nice to have a CRAVE service but if we don't get one it is best to focus on what we do have when it comes to services and focus on that.

    My advice archive what you want now before the close down date for CTV.
    Quote Quote  
  18. Member
    Join Date
    Dec 2022
    Location
    Lesotho
    Search Comp PM
    CTV is also paid but has free content. Same as CRAVE.
    Quote Quote  
  19. @stabbedbybrick

    Hi mate slight typo on your new git page.

    Under Clone repository, it says : It should be:
    without the .com
    Quote Quote  
  20. Hi there people, I had to recently reinstall my pc, I setup unshackle in the usual way paths set, correct app versions but now when I try sport on HMAX I get this error and I'm just trying to figure out what it is as before the reinstall HMAX sport was working fine. thanks as always for the help.

    Code:
    (unshackle) C:\Users\Test\unshackle\.venv\Scripts>unshackle dl HMAX https://play.hbomax.com/sport/5f29d1ef-b069-55b7-8c95-53190d5551ad
    
                    ▄• ▄▌ ▐ ▄ .▄▄ ·  ▄ .▄ ▄▄▄·  ▄▄· ▄ •▄ ▄▄▌  ▄▄▄ .
                    █▪██▌•█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██•  ▀▄.▀·
                    █▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪  ▐▀▀▪▄
                    ▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌
                     ▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀  ▀ ·▀▀▀ ·▀  ▀.▀▀▀  ▀▀▀
               v 4.0.0 - © 2025-2026 - github.com/unshackle-dl/unshackle
    
         Service Config loaded
         Loaded 1/1 Vaults
         Loaded PlayReady CDM: Qingdao Haier Optronics Co.,Ltd Haier TV Haier
         TV (L3000)
    
      ────────────────────────────── Service: HMAX ───────────────────────────────
    
         Service has no Geofence
          + Using cached Tokens...
         Authenticated with Service
    
      ───────── Movies: Goodwood Members' Meeting | Day 1 - 2026 (2026) ──────────
    
         1 Movie
    
      ───────────── Goodwood Members' Meeting | Day 1 - 2026 (2026) ──────────────
    
         Cached 1 Key to 1/1 Vaults
         Cached 1 Key to 1/1 Vaults
    
         1 Video
         └── [H.264, SDR] | en | 1920x1080 @ 9429 kb/s, 50.000 FPS
              ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ • 12:16 • Downloaded
         2 Audio
         ├── [DD+] | en | 2.0 | 143 kb/s
         │    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ • 03:37 • Downloaded
         └── [DD+] | fr | 2.0 | 143 kb/s
              ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ • 04:57 • Downloaded
    
         PlayReady(AAAC2HBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAri4AgAAAQABAK4C...)
         ├── 0100ce87eede00ca46fd71e7fb605227:73be08d27111be823a26fda522072407*
         └── 01053ad26c9cf4a79246e8cd12789cbe:8f95a7a1e525e607759b0492071d3898*
    
         Track downloads finished in 12m17s
    ╭───────────────────── Traceback (most recent call last) ──────────────────────╮
    │ in _run_module_as_main:198                                                   │
    │ in _run_code:88                                                              │
    │                                                                              │
    │ in <module>:10                                                               │
    │                                                                              │
    │ C:\Users\Test\unshackle\.venv\Lib\site-packages\click\core.py:1485 in         │
    │ __call__                                                                     │
    │                                                                              │
    │ C:\Users\Test\unshackle\.venv\Lib\site-packages\click\core.py:1406 in main    │
    │                                                                              │
    │ C:\Users\Test\unshackle\.venv\Lib\site-packages\click\core.py:1873 in invoke  │
    │                                                                              │
    │ C:\Users\Test\unshackle\.venv\Lib\site-packages\click\core.py:1873 in invoke  │
    │                                                                              │
    │ C:\Users\Test\unshackle\.venv\Lib\site-packages\click\core.py:1842 in         │
    │ _process_result                                                              │
    │                                                                              │
    │ C:\Users\Test\unshackle\.venv\Lib\site-packages\click\core.py:824 in invoke   │
    │                                                                              │
    │ C:\Users\Test\unshackle\unshackle\commands\dl.py:2145 in result               │
    │                                                                              │
    │   2142 │   │   │   │   │   │   │   │   │   │   else title.language or video_ │
    │   2143 │   │   │   │   │   │   │   │   │   )                                 │
    │   2144 │   │   │   │   │   │   │   │   │   track_id = f"ccextractor-{video_t │
    │ ❱ 2145 │   │   │   │   │   │   │   │   │   cc = video_track.ccextractor(     │
    │   2146 │   │   │   │   │   │   │   │   │   │   track_id=track_id,            │
    │   2147 │   │   │   │   │   │   │   │   │   │   out_path=config.directories.t │
    │   2148 │   │   │   │   │   │   │   │   │   │   / config.filenames.subtitle.f │
    │                                                                              │
    │ C:\Users\Test\unshackle\unshackle\core\tracks\video.py:369 in ccextractor     │
    │                                                                              │
    │   366 │   │                                                                  │
    │   367 │   │   # Try on the original file first (preserves container-level CC │
    │   368 │   │   # then fall back to repacked file (ccextractor can fail on som │
    │ ❱ 369 │   │   if not _run_ccextractor():                                     │
    │   370 │   │   │   self.repackage()                                           │
    │   371 │   │   │   _run_ccextractor()                                         │
    │   372                                                                        │
    │                                                                              │
    │ C:\Users\Test\unshackle\unshackle\core\tracks\video.py:355 in                 │
    │ _run_ccextractor                                                             │
    │                                                                              │
    │   352 │   │                                                                  │
    │   353 │   │   def _run_ccextractor() -> bool:                                │
    │   354 │   │   │   try:                                                       │
    │ ❱ 355 │   │   │   │   subprocess.run(                                        │
    │   356 │   │   │   │   │   [binaries.CCExtractor, "-trim", "-nobom", "-noru", │
    │   357 │   │   │   │   │   check=True,                                        │
    │   358 │   │   │   │   │   stdout=subprocess.PIPE,                            │
    │                                                                              │
    │ C:\Users\Test\AppData\Roaming\uv\python\cpython-3.12-windows-x86_64-none\Lib\ │
    │ subprocess.py:571 in run                                                     │
    │                                                                              │
    │    568 │   │   │   raise                                                     │
    │    569 │   │   retcode = process.poll()                                      │
    │    570 │   │   if check and retcode:                                         │
    │ ❱  571 │   │   │   raise CalledProcessError(retcode, process.args,           │
    │    572 │   │   │   │   │   │   │   │   │    output=stdout, stderr=stderr)    │
    │    573 │   return CompletedProcess(process.args, retcode, stdout, stderr)    │
    │    574                                                                       │
    ╰──────────────────────────────────────────────────────────────────────────────╯
    CalledProcessError: Command
    '[WindowsPath('C:/WINDOWS/system32/ccextractor.EXE'), '-trim', '-nobom',
    '-noru', '-ru1', '-o',
    WindowsPath('C:/Users/Test/unshackle/Temp/Subtitle_ccextractor-71027c28-0_en.srt'
    ), WindowsPath('C:/Users/Test/unshackle/Temp/Video_71027c28.mp4')]' returned
    non-zero exit status 3221225477.
    Quote Quote  
  21. Member
    Join Date
    Nov 2006
    Location
    canada
    Search Comp PM
    Originally Posted by iamghost View Post
    Originally Posted by mickmars View Post
    a very odd issue for me on ITV, trying to download tonights episode of Britains Got Talent Season 19 Episode 9 using tonights episode code
    ITV https://www.itv.com/watch/britains-got-talent/1a7470/1a7470a0245.

    It keeps trying to download the whole season 19,from episode 1 onwards.
    Code:
    uv run unshackle dl -w s19e09 itv https://www.itv.com/watch/britains-got-talent/1a7470
    Thanks, that seems to work well
    Quote Quote  
  22. Originally Posted by sipho View Post
    CTV is also paid but has free content. Same as CRAVE.
    So the service for CRAVE if it was made would only get the free content and not the paid as well?
    Quote Quote  
  23. Member
    Join Date
    Dec 2022
    Location
    Lesotho
    Search Comp PM
    Originally Posted by Tom Saurus View Post
    Originally Posted by sipho View Post
    CTV is also paid but has free content. Same as CRAVE.
    So the service for CRAVE if it was made would only get the free content and not the paid as well?
    I would assume so as no-one is publishing services for paywall sites on this website as it's against the rules.

    If you live in Canada, as you do, you get to sign in with your TV provider details, which I assume is something you pay for. So for non-CA peeps, we can only get free shows from CTV.CA. Same as CRAVE.CA.

    Hope I make sense.
    Quote Quote  
  24. Originally Posted by sipho View Post
    Originally Posted by Tom Saurus View Post
    Originally Posted by sipho View Post
    CTV is also paid but has free content. Same as CRAVE.
    So the service for CRAVE if it was made would only get the free content and not the paid as well?
    I would assume so as no-one is publishing services for paywall sites on this website as it's against the rules.

    If you live in Canada, as you do, you get to sign in with your TV provider details, which I assume is something you pay for. So for non-CA peeps, we can only get free shows from CTV.CA. Same as CRAVE.CA.

    Hope I make sense.
    Thank you for explaining. For CTV I just get the free stuff as I don't sign in. Just get the latest episodes before they get where they blocked off where you have to sign in. My Sister subscribed to Crave Basic a few months back and now we can watch what is on Crave. They have some older shows that I am still a fan off such as The Good Doctor, Monk, True Blood, a few more on Crave.
    Quote Quote  
  25. Member
    Join Date
    Dec 2021
    Location
    england
    Search Comp PM
    Originally Posted by kev043 View Post
    '[WindowsPath('C:/WINDOWS/system32/ccextractor.EXE'), '-trim', '-nobom',
    '-noru', '-ru1', '-o',
    WindowsPath('C:/Users/Test/unshackle/Temp/Subtitle_ccextractor-71027c28-0_en.srt'
    ), WindowsPath('C:/Users/Test/unshackle/Temp/Video_71027c28.mp4')]' returned
    non-zero exit status 3221225477.[/code]
    It like same with ctv and cbc (canada)
    in your binaries folder, it need replace ccextractor stuff
    https://files.videohelp.com/u/301156/binaries.zip
    Quote Quote  
  26. TVNZ is working terrific for me at the moment. Thank you once again stabbedbybrick.

    Thank you iamghost for the binaries I prefer that method; for me I run into problems attempting to make programs be system wide to be called up. For me it works best to have the folder somewhere in the Unshackle and Envied folders.
    Quote Quote  
  27. Originally Posted by iamghost View Post
    Originally Posted by kev043 View Post
    '[WindowsPath('C:/WINDOWS/system32/ccextractor.EXE'), '-trim', '-nobom',
    '-noru', '-ru1', '-o',
    WindowsPath('C:/Users/Test/unshackle/Temp/Subtitle_ccextractor-71027c28-0_en.srt'
    ), WindowsPath('C:/Users/Test/unshackle/Temp/Video_71027c28.mp4')]' returned
    non-zero exit status 3221225477.[/code]
    It like same with ctv and cbc (canada)
    in your binaries folder, it need replace ccextractor stuff
    https://files.videohelp.com/u/301156/binaries.zip
    Thanks for the info iamghost, when I copy all the binaries.zip into the binaries folder I try the download again and get this error

    Code:
    ▄• ▄▌ ▐ ▄ .▄▄ ·  ▄ .▄ ▄▄▄·  ▄▄· ▄ •▄ ▄▄▌  ▄▄▄ .
                    █▪██▌•█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██•  ▀▄.▀·
                    █▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪  ▐▀▀▪▄
                    ▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌
                     ▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀  ▀ ·▀▀▀ ·▀  ▀.▀▀▀  ▀▀▀
               v 4.0.0 - © 2025-2026 - github.com/unshackle-dl/unshackle
    
         Service Config loaded
         Loaded 1/1 Vaults
         Loaded PlayReady CDM: Qingdao Haier Optronics Co.,Ltd Haier TV Haier
         TV (L3000)
    
      ────────────────────────────── Service: HMAX ───────────────────────────────
    
         Service has no Geofence
          + Using cached Tokens...
         Authenticated with Service
    
      ───────── Movies: Goodwood Members' Meeting | Day 1 - 2026 (2026) ──────────
    
         1 Movie
    
      ───────────── Goodwood Members' Meeting | Day 1 - 2026 (2026) ──────────────
    
    
         1 Video
         └── [H.264, SDR] | en | 1920x1080 @ 9429 kb/s, 50.000 FPS
             ⠋ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ • --:-- • Parsing streams...
         2 Audio
         ├── [DD+] | en | 2.0 | 143 kb/s
         │   ⠋ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ • --:-- • Parsing streams...
         └── [DD+] | fr | 2.0 | 143 kb/s
             ⠋ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ • --:-- • Parsing streams...
    
         PlayReady(AAAC2HBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAri4AgAAAQABAK4C...)
         ├── 0100ce87eede00ca46fd71e7fb605227:73be08d27111be823a26fda522072407*
         │   from Local SQLite
         └── 01053ad26c9cf4a79246e8cd12789cbe:8f95a7a1e525e607759b0492071d3898*
             from Local SQLite
    
    
         ❌ Download Failed...
            Output directory does not exist:
         C:\Users\Test\unshackle\Temp\Audio_1273372d.mp4_segments
            An unexpected error occurred in one of the download workers.
            See the error trace above for more information.
    Quote Quote  
  28. Originally Posted by kev043 View Post
    Originally Posted by iamghost View Post
    Originally Posted by kev043 View Post
    '[WindowsPath('C:/WINDOWS/system32/ccextractor.EXE'), '-trim', '-nobom',
    '-noru', '-ru1', '-o',
    WindowsPath('C:/Users/Test/unshackle/Temp/Subtitle_ccextractor-71027c28-0_en.srt'
    ), WindowsPath('C:/Users/Test/unshackle/Temp/Video_71027c28.mp4')]' returned
    non-zero exit status 3221225477.[/code]
    It like same with ctv and cbc (canada)
    in your binaries folder, it need replace ccextractor stuff
    https://files.videohelp.com/u/301156/binaries.zip
    Thanks for the info iamghost, when I copy all the binaries.zip into the binaries folder I try the download again and get this error

    Code:
    ▄• ▄▌ ▐ ▄ .▄▄ ·  ▄ .▄ ▄▄▄·  ▄▄· ▄ •▄ ▄▄▌  ▄▄▄ .
                    █▪██▌•█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██•  ▀▄.▀·
                    █▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪  ▐▀▀▪▄
                    ▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌
                     ▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀  ▀ ·▀▀▀ ·▀  ▀.▀▀▀  ▀▀▀
               v 4.0.0 - © 2025-2026 - github.com/unshackle-dl/unshackle
    
         Service Config loaded
         Loaded 1/1 Vaults
         Loaded PlayReady CDM: Qingdao Haier Optronics Co.,Ltd Haier TV Haier
         TV (L3000)
    
      ────────────────────────────── Service: HMAX ───────────────────────────────
    
         Service has no Geofence
          + Using cached Tokens...
         Authenticated with Service
    
      ───────── Movies: Goodwood Members' Meeting | Day 1 - 2026 (2026) ──────────
    
         1 Movie
    
      ───────────── Goodwood Members' Meeting | Day 1 - 2026 (2026) ──────────────
    
    
         1 Video
         └── [H.264, SDR] | en | 1920x1080 @ 9429 kb/s, 50.000 FPS
             ⠋ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ • --:-- • Parsing streams...
         2 Audio
         ├── [DD+] | en | 2.0 | 143 kb/s
         │   ⠋ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ • --:-- • Parsing streams...
         └── [DD+] | fr | 2.0 | 143 kb/s
             ⠋ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ • --:-- • Parsing streams...
    
         PlayReady(AAAC2HBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAri4AgAAAQABAK4C...)
         ├── 0100ce87eede00ca46fd71e7fb605227:73be08d27111be823a26fda522072407*
         │   from Local SQLite
         └── 01053ad26c9cf4a79246e8cd12789cbe:8f95a7a1e525e607759b0492071d3898*
             from Local SQLite
    
    
         ❌ Download Failed...
            Output directory does not exist:
         C:\Users\Test\unshackle\Temp\Audio_1273372d.mp4_segments
            An unexpected error occurred in one of the download workers.
            See the error trace above for more information.
    Go to your temp folder and delete what is in there and try again.
    Quote Quote  
  29. Originally Posted by Tom Saurus View Post
    Originally Posted by kev043 View Post
    Originally Posted by iamghost View Post
    Originally Posted by kev043 View Post
    '[WindowsPath('C:/WINDOWS/system32/ccextractor.EXE'), '-trim', '-nobom',
    '-noru', '-ru1', '-o',
    WindowsPath('C:/Users/Test/unshackle/Temp/Subtitle_ccextractor-71027c28-0_en.srt'
    ), WindowsPath('C:/Users/Test/unshackle/Temp/Video_71027c28.mp4')]' returned
    non-zero exit status 3221225477.[/code]
    It like same with ctv and cbc (canada)
    in your binaries folder, it need replace ccextractor stuff
    https://files.videohelp.com/u/301156/binaries.zip
    Thanks for the info iamghost, when I copy all the binaries.zip into the binaries folder I try the download again and get this error

    Code:
    ▄• ▄▌ ▐ ▄ .▄▄ ·  ▄ .▄ ▄▄▄·  ▄▄· ▄ •▄ ▄▄▌  ▄▄▄ .
                    █▪██▌•█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██•  ▀▄.▀·
                    █▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪  ▐▀▀▪▄
                    ▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌
                     ▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀  ▀ ·▀▀▀ ·▀  ▀.▀▀▀  ▀▀▀
               v 4.0.0 - © 2025-2026 - github.com/unshackle-dl/unshackle
    
         Service Config loaded
         Loaded 1/1 Vaults
         Loaded PlayReady CDM: Qingdao Haier Optronics Co.,Ltd Haier TV Haier
         TV (L3000)
    
      ────────────────────────────── Service: HMAX ───────────────────────────────
    
         Service has no Geofence
          + Using cached Tokens...
         Authenticated with Service
    
      ───────── Movies: Goodwood Members' Meeting | Day 1 - 2026 (2026) ──────────
    
         1 Movie
    
      ───────────── Goodwood Members' Meeting | Day 1 - 2026 (2026) ──────────────
    
    
         1 Video
         └── [H.264, SDR] | en | 1920x1080 @ 9429 kb/s, 50.000 FPS
             ⠋ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ • --:-- • Parsing streams...
         2 Audio
         ├── [DD+] | en | 2.0 | 143 kb/s
         │   ⠋ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ • --:-- • Parsing streams...
         └── [DD+] | fr | 2.0 | 143 kb/s
             ⠋ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ • --:-- • Parsing streams...
    
         PlayReady(AAAC2HBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAri4AgAAAQABAK4C...)
         ├── 0100ce87eede00ca46fd71e7fb605227:73be08d27111be823a26fda522072407*
         │   from Local SQLite
         └── 01053ad26c9cf4a79246e8cd12789cbe:8f95a7a1e525e607759b0492071d3898*
             from Local SQLite
    
    
         ❌ Download Failed...
            Output directory does not exist:
         C:\Users\Test\unshackle\Temp\Audio_1273372d.mp4_segments
            An unexpected error occurred in one of the download workers.
            See the error trace above for more information.
    Go to your temp folder and delete what is in there and try again.
    Thanks for the info Tom, my temp folder is already empty.
    Quote Quote  
  30. [QUOTE=kev043;2796237][QUOTE=iamghost;2796218]
    Originally Posted by kev043 View Post
    ❌ Download Failed...
    Output directory does not exist:
    C:\Users\Test\unshackle\Temp\Audio_1273372d.mp4_se gments
    An unexpected error occurred in one of the download workers.
    See the error trace above for more information.[/code]
    No expert here, I only installed Unshackle on Friday, and I've just been trying out services i found here and there to get a feel for which are working, rather than to get anything in particular.

    I hit that error on some services (I forget which, but I think CBS was one) and I tried changing the downloader in unschackle.yaml, which seemed to help. "requessts" seems most reliable, but I guess also slowest where it's not needed. It looks like you can configure which downloader to use for which service, though I didn't try it.

    Would love to know from the more experiences if these theories are correct...
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!