VideoHelp Forum




+ Reply to Thread
Page 37 of 39
FirstFirst ... 27 35 36 37 38 39 LastLast
Results 1,081 to 1,110 of 1156
  1. I took some time and watched an episode from ALL4 as it was downloading with Unshackle. What happened in this instance was in the actual downloading the video line was going steady flashing occasionally how long it was to take to download. The audio line seem a lot slower and it the progress line indicated it was not fully downloaded when unshackle says decrypting. So I am thinking it is not the fault of the decrypters where it be mp4 decrypt or Shaka.

    So now I have done another experiment and the audio when I told Unshackle with the -A command to just download the audio it downloaded it full speed and decrypted it without delay. The file ended up in my download folder and the video and subtitle files were in my temp folder. I dropped these into Clever FFmpeg GUI and muxed them together and the file works without flaw.

    Maybe it is a downloader issue. There is a universal downloader now and I wonder what that means exactly. Is something that has taken place of n_m3u8DL-re, ariaca and the others downloaders.

    I have retooled my .yaml a bit I set it up for Playready but I will be dropping that as it indicated ALL4 is Widevine. I had in my download section that n_m3u8DL-re is for ALL4.

    Here is some more information and a look at the section for downloading in my .yaml:

    Code:
    C:\unshackle>uv run unshackle dl -q 576 -w S01E02-S01E06 ALL4 https://www.channel4.com/programmes/the-light-in-the-hall
    
                    ▄• ▄▌ ▐ ▄ .▄▄ ·  ▄ .▄ ▄▄▄·  ▄▄· ▄ •▄ ▄▄▌  ▄▄▄ .
                    █▪██▌•█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██•  ▀▄.▀·
                    █▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪  ▐▀▀▪▄
                    ▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌
                     ▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀  ▀ ·▀▀▀ ·▀  ▀.▀▀▀  ▀▀▀
               v 5.2.0 - © 2025-2026 - github.com/unshackle-dl/unshackle
    
         Loaded 24 services
         Service Config loaded
         Loaded 1/1 Vaults
         Loaded PlayReady CDM: Samsung Electronics Co. LTD SM-G925F-EUR-XX
         SM-G925F (L2000)
    
      ────────────────────────────── Service: ALL4 ───────────────────────────────
    
         Service is not Geoblocked in your region
          + Using cached Tokens...
         Authenticated with Service
    
      ────────────────────── Series: The Light in the Hall ───────────────────────
    
         2 seasons, S1(6), S2026(6)
    
      ─────────────────────── The Light in the Hall S01E02 ───────────────────────
    
         Switching to Widevine CDM for Widevine 576p content
         Switching to Widevine CDM for Widevine content
    
         [Widevine]: [0625/080421:ERROR:box_reader.cc(121)] NOT IMPLEMENTEDBox
                     '' run to EOS.
                     [0625/080421:ERROR:box_definitions.cc(2735)] Failure while
                     processing: ReadWriteHeaderInternal(buffer) &&
                     buffer->PrepareChildren() &&
                     buffer->ReadWriteChild(&header)
                     [0625/080421:ERROR:mp4_media_parser.cc(750)] Failure while
                     processing: moof.Parse(reader)
                     [0625/080421:ERROR:packager_main.cc(554)] Packaging Error:
                     8 (PARSER_FAILURE): Cannot parse media file
                     C:\unshackle\Temp\Audio_ab873b3b.mp4
    
         1 Video
         └── [H.264, SDR] | en | 1024x576 @ 1538 kb/s, 25.000 FPS
              ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ • 09:01 • Downloaded
         1 Audio
         └── [AAC] | en | 2.0 | 133 kb/s
             ⠼ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ • --:-- • Decrypting
         1 Subtitle
         └── [VTT] | en
              ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ • 00:02 • Downloaded
         5 Chapters
         ├── 00:00:00.000 | Chapter 01
         ├── 00:13:24.160 | Chapter 02
         ├── 00:21:48.560 | Chapter 03
         ├── 00:35:10.040 | Chapter 04
         └── 00:46:56.760 | Credits
    
         Widevine(AAAASXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAACkIARIQg97ktlnVK...)
         └── 83dee4b659d52a4f86c9becbd3fa91b3:c08b264a42a0bdc29e8154da494a79be*
             from Local SQLite
    
    
         ❌ Download Failed...
            CalledProcessError: Command
         '[WindowsPath('C:/unshackle/unshackle/binaries/packager-win-x64.exe'),
         'input=C:\\unshackle\\Temp\\Audio_ab873b3b.mp4,stream=0,output=C:\\uns
         hackle\\Temp\\Audio_ab873b3b_decrypted.mp4,output_format=MP4',
         '--enable_raw_key_decryption', '--keys',
         'label=0:key_id=83dee4b659d52a4f86c9becbd3fa91b3:key=c08b264a42a0bdc29
         e8154da494a79be,label=1:key_id=00000000000000000000000000000000:key=c0
         8b264a42a0bdc29e8154da494a79be', '--temp_dir',
         WindowsPath('C:/unshackle/Temp')]' returned non-zero exit status 2.
            Binary call failed, Process exit code: 2
            An unexpected error occurred in one of the download workers.
    
    ╭───────────────────── Traceback (most recent call last) ──────────────────────╮
    │ C:\unshackle\unshackle\commands\dl.py:2850 in result                         │
    │                                                                              │
    │   2847 │   │   │   │   │   │   │   self.log.debug(f"Skipped subtitle {track. │
    │   2848 │   │   │   │   │                                                     │
    │   2849 │   │   │   │   │   skipped_before = len(self.skipped_subtitles)      │
    │ ❱ 2850 │   │   │   │   │   download_tracks_in_passes(                        │
    │   2851 │   │   │   │   │   │   title.tracks,                                 │
    │   2852 │   │   │   │   │   │   downloads,                                    │
    │   2853 │   │   │   │   │   │   download_track,                               │
    │                                                                              │
    │ C:\unshackle\unshackle\commands\dl.py:170 in download_tracks_in_passes       │
    │                                                                              │
    │    167 │   │   with ThreadPoolExecutor(max_concurrent) as pool:              │
    │    168 │   │   │   future_to_track = {pool.submit(run_one, track, i): track  │
    │    169 │   │   │   for download in futures.as_completed(future_to_track):    │
    │ ❱  170 │   │   │   │   download.result()  # a video/audio failure is fatal   │
    │    171 │   │                                                                 │
    │    172 │   │   for i, track in skippable:                                    │
    │    173 │   │   │   DOWNLOAD_CANCELLED.clear()                                │
    │                                                                              │
    │ C:\Users\sheld\AppData\Local\Programs\Python\Python312\Lib\concurrent\future │
    │ s\_base.py:449 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:\Users\sheld\AppData\Local\Programs\Python\Python312\Lib\concurrent\future │
    │ s\_base.py:401 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:\Users\sheld\AppData\Local\Programs\Python\Python312\Lib\concurrent\future │
    │ s\thread.py:58 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:\unshackle\unshackle\commands\dl.py:2802 in download_track                 │
    │                                                                              │
    │   2799 │   │   │   │   with Live(Padding(download_table, (1, 5)), console=co │
    │   2800 │   │   │   │   │                                                     │
    │   2801 │   │   │   │   │   def download_track(track: AnyTrack, i: int) -> No │
    │ ❱ 2802 │   │   │   │   │   │   track.download(                               │
    │   2803 │   │   │   │   │   │   │   session=track.session or service.session, │
    │   2804 │   │   │   │   │   │   │   no_proxy_download=no_proxy_download,      │
    │   2805 │   │   │   │   │   │   │   prepare_drm=partial(                      │
    │                                                                              │
    │ C:\unshackle\unshackle\core\tracks\track.py:272 in download                  │
    │                                                                              │
    │   269 │   │   │   │   │   cdm=cdm,                                           │
    │   270 │   │   │   │   )                                                      │
    │   271 │   │   │   elif self.descriptor == self.Descriptor.DASH:              │
    │ ❱ 272 │   │   │   │   DASH.download_track(                                   │
    │   273 │   │   │   │   │   track=self,                                        │
    │   274 │   │   │   │   │   save_path=save_path,                               │
    │   275 │   │   │   │   │   save_dir=save_dir,                                 │
    │                                                                              │
    │ C:\unshackle\unshackle\core\manifests\dash.py:580 in download_track          │
    │                                                                              │
    │    577 │   │                                                                 │
    │    578 │   │   if drm:                                                       │
    │    579 │   │   │   progress(downloaded="Decrypting", completed=0, total=100) │
    │ ❱  580 │   │   │   drm.decrypt(save_path)                                    │
    │    581 │   │   │   track.drm = None                                          │
    │    582 │   │   │   events.emit(events.Types.TRACK_DECRYPTED, track=track, dr │
    │    583 │   │   │   progress(downloaded="Decrypting", advance=100)            │
    │                                                                              │
    │ C:\unshackle\unshackle\core\drm\widevine.py:336 in decrypt                   │
    │                                                                              │
    │   333 │   │   if decrypter == "mp4decrypt":                                  │
    │   334 │   │   │   self._decrypt_with_mp4decrypt(path)                        │
    │   335 │   │   else:                                                          │
    │ ❱ 336 │   │   │   self._decrypt_with_shaka_packager(path)                    │
    │   337 │   │                                                                  │
    │   338 │   │   log_event(                                                     │
    │   339 │   │   │   "drm_decrypt_complete",                                    │
    │                                                                              │
    │ C:\unshackle\unshackle\core\drm\widevine.py:463 in                           │
    │ _decrypt_with_shaka_packager                                                 │
    │                                                                              │
    │   460 │   │   │   p.wait()                                                   │
    │   461 │   │   │                                                              │
    │   462 │   │   │   if p.returncode != 0 or had_error:                         │
    │ ❱ 463 │   │   │   │   raise subprocess.CalledProcessError(p.returncode, [bin │
    │   464 │   │   │                                                              │
    │   465 │   │   │   path.unlink()                                              │
    │   466 │   │   │   if not stream_skipped:                                     │
    ╰──────────────────────────────────────────────────────────────────────────────╯
    CalledProcessError: Command
    '[WindowsPath('C:/unshackle/unshackle/binaries/packager-win-x64.exe'),
    'input=C:\\unshackle\\Temp\\Audio_ab873b3b.mp4,stream=0,output=C:\\unshackle\\Te
    mp\\Audio_ab873b3b_decrypted.mp4,output_format=MP4',
    '--enable_raw_key_decryption', '--keys',
    'label=0:key_id=83dee4b659d52a4f86c9becbd3fa91b3:key=c08b264a42a0bdc29e8154da494
    a79be,label=1:key_id=00000000000000000000000000000000:key=c08b264a42a0bdc29e8154
    da494a79be', '--temp_dir', WindowsPath('C:/unshackle/Temp')]' returned non-zero
    exit status 2.
    
    C:\unshackle>uv run unshackle dl -A -w S01E02 ALL4 https://www.channel4.com/programmes/the-light-in-the-hall
    
                    ▄• ▄▌ ▐ ▄ .▄▄ ·  ▄ .▄ ▄▄▄·  ▄▄· ▄ •▄ ▄▄▌  ▄▄▄ .
                    █▪██▌•█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██•  ▀▄.▀·
                    █▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪  ▐▀▀▪▄
                    ▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌
                     ▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀  ▀ ·▀▀▀ ·▀  ▀.▀▀▀  ▀▀▀
               v 5.2.0 - © 2025-2026 - github.com/unshackle-dl/unshackle
    
         Loaded 24 services
         Service Config loaded
         Loaded 1/1 Vaults
         Loaded PlayReady CDM: Samsung Electronics Co. LTD SM-G925F-EUR-XX
         SM-G925F (L2000)
    
      ────────────────────────────── Service: ALL4 ───────────────────────────────
    
         Service is not Geoblocked in your region
          + Using cached Tokens...
         Authenticated with Service
    
      ────────────────────── Series: The Light in the Hall ───────────────────────
    
         2 seasons, S1(6), S2026(6)
    
      ─────────────────────── The Light in the Hall S01E02 ───────────────────────
    
         Switching to Widevine CDM for Widevine content
    
         1 Audio
         └── [AAC] | en | 2.0 | 133 kb/s
              ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ • 00:48 • Downloaded
    
         Widevine(AAAASXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAACkIARIQg97ktlnVK...)
         └── 83dee4b659d52a4f86c9becbd3fa91b3:c08b264a42a0bdc29e8154da494a79be*
             from Local SQLite
    
         Track downloads finished in 0m48s
         Multiplexing...  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ • 00:01 •
    
         �� Title downloaded in 0m51s!
    
         Processed all titles in 0m56s
    
    
    C:\unshackle>
    Code:
    # Choose what software to use to download data
    downloader: aria2c
    # Options: requests | aria2c | curl_impersonate | n_m3u8dl_re
    # Can also be a mapping:
    # downloader: n_m3u8dl_re
    #   TVNZ: n_m3u8dl_re
    #   default: n_m3u8dl_re 
    
    # aria2c downloader configuration
    aria2c:
      max_concurrent_downloads: 4
      max_connection_per_server: 3
      split: 5
      file_allocation: falloc # none | prealloc | falloc | trunc
    
    # N_m3u8DL-RE downloader configuration
    n_m3u8dl_re:
      thread_count: 16
      ad_keyword: "advertisement"
      use_proxy: true
    
    # curl_impersonate downloader configuration
    curl_impersonate:
      browser: chrome120
    
    # Pre-define default options and switches of the dl command
    dl:
      best: true
      sub_format: srt
      downloads: 4
      workers: 16
      lang:
        - en
    #    - fr
      EXAMPLE:
        bitrate: CBR
    I am going to keep experimenting a bit but I am thinking if a download has not completed but goes into decrypting without everything to work with it is bound to fail. My DSL for the most part maxes out at 1.0 mbps per second in the indicator line and if it is downloading all three parts of a video at the same time it is divided up. Sometimes the audio is a lot slower at getting downloaded.

    Update: The audio line never flashes how long it will take to download like the video line does.

    Yes definitely is trying to decrypt the audio when it is not fully downloaded. The indicator line for audio was perhaps a third to reaching the finish line when it switched to decrypt. Most of the internet speed was focused on the video.

    When instructing Unshackle to just download the audio file total success and it indicates how long it is going to take it to download flashing that figure quite consistently.

    I am thinking if there was a way to instruct the downloader to just downloaded the subtitle, the audio and the video one at a time maybe that would be the answer and then of course have it mux them all together. Come to think of it when WVP2 downloads with n_m3u8DL-RE it downloads the video first, then moves on to the audio after the video has be downloaded and decrypted and then it moves on the subtitle at the end and muxes it all together. Actually sometimes in that program I get an indication a few video segments didn't get downloaded but you just reload the original command and it picks up what was missing usually and you end up with success. I remember quite often back in the Freevine days that happening.
    Last edited by Tom Saurus; 25th Jun 2026 at 08:12.
    Quote Quote  
  2. Member
    Join Date
    Dec 2022
    Location
    Lesotho
    Search Comp PM
    Originally Posted by Tom Saurus View Post
    Here is some more information and a look at the section for downloading in my .yaml:

    Code:
    C:\unshackle>uv run unshackle dl -q 576 -w S01E02-S01E06 ALL4 https://www.channel4.com/programmes/the-light-in-the-hall
    
         ❌ Download Failed...
            CalledProcessError: Command
         '[WindowsPath('C:/unshackle/unshackle/binaries/packager-win-x64.exe'),
    I'm pretty sure you need to rename
    Code:
    packager-win-x64.exe
    to
    Code:
    shaka-packager.exe
    Quote Quote  
  3. Originally Posted by sipho View Post

    I'm pretty sure you need to rename
    Code:
    packager-win-x64.exe
    to
    Code:
    shaka-packager.exe
    100% correct and

    ccextractorwinfull.exe (as its downloaded) needs renaming in unshackle\binaries folder to
    Code:
    ccextractorwin.exe
    I have issues with all new releases of ccextractor, here's a very old version that I use that never fails (if you need) :
    https://www.swisstransfer.com/d/c1720f57-2c60-4a9b-bdf0-eced6e80eb28
    Last edited by YmFzZTY0; 25th Jun 2026 at 09:02.
    Quote Quote  
  4. Thank you both for these tips. Now for something I did as an experiment. I changed the Unshackle .yaml section:


    # Pre-define default options and switches of the dl command

    and the downloads number to 1 instead of 4. Now it has downloaded two episodes in a row with first full internet speed with the video and then it moves on to the audio and the subtitle and each part downloads and get decrypted and finally it muxes and goes to the appropriate folder in the Unshackle download folder.

    This is terrific and I can more confidently just set it and get up and do other stuff. Now with my DSL being the speed it is maybe that plays into all this. Also DSL can have ebbs and flows and the downloading can be sensitive to all that and obviously my VPN is an issue at times in conjunction with all that. I will do the edits to the names in the binaries folder.

    Further testing with CRAV that one episode of Reba that previously was flawed turned out fine. The other episodes I tested on CRAV all had the video pausing and starting throughout the first minute of the video. I am going to change crendentials after signing up for a free account and see if that addresses this issue if not hopefully the other streaming downloader continues to work.

    Update I has in my command line in the -w range to get episode 4 to 6 and it got them all one after the other and there seems to be no problems with the files.

    Now to see how it has effected other Services. Wouldn't it be nice if it fixed that flawed video problem I have in CRAV. That is what I should test next and if that hasn't done it I have one more thing to try.

    Update I tried CRAV with that episode of Reba and it downloaded and now distortion as I had described before in this thread. I am experimenting with another CRAV show and see how that goes. I haven't done those name edits in the binary folder but I will try to remember to do that soon.

    Update: I went into the binaries folders and renamed those two programs. Downloading is fine CRAV still has the flawed videos but I will look into that a bit more and test other services.

    I may have figured out why the videos are becoming flawed in CRAV in my situation. I live in Canada and so I would just shut off my VPN. So I got an account set up with a Canada VPN City set up and such it seems the problem is solved other than some videos getting screwed up because my DSL is at times going in and out. Also I was using CRAV Basic credentials and that was probably part of what was going wrong.

    As a side note I downloaded an episode and the DSL briefly went out and thus the VPN had to reconnect and that caused a flaw where the mkvmerge note in Unshackle indicated. At that spot in the video the sound was missing as it happened when the audio was downloading. I went and downloaded that episode again and this time the DSL stayed in the entire time and the spot in the video everything is fine the sound is there.
    Last edited by Tom Saurus; 25th Jun 2026 at 13:33.
    Quote Quote  
  5. Member datboi's Avatar
    Join Date
    Jun 2026
    Location
    United Kingdom
    Search Comp PM
    Is autocontinue a thing in Unshackle and any of its services? Specifically I'm using stabbedbybrick's ALL4 service. I cant seem to find anything in the docs and its pretty annoying having to go ep by ep after being knocked off.

    Any reccomendations?

    Edit: Also, I cant seem to get the -w / --wanted flag working to pick specific seasons.
    Last edited by datboi; 25th Jun 2026 at 16:08.
    Quote Quote  
  6. Originally Posted by datboi View Post
    Is autocontinue a thing in Unshackle and any of its services? Specifically I'm using stabbedbybrick's ALL4 service. I cant seem to find anything in the docs and its pretty annoying having to go ep by ep after being knocked off.

    Any reccomendations?

    Edit: Also, I cant seem to get the -w / --wanted flag working to pick specific seasons.
    If you wanted S10 of Below Decks Med your command would be:

    Code:
    uv run unshackle dl -w S10 ALL4 https://www.channel4.com/programmes/below-deck-mediterranean
    If you wanted S1 and S4 of Peep Show your command would be:
    Code:
    uv run unshackle dl -w S1,S4 ALL4 https://www.channel4.com/programmes/peep-show
    You can either use
    Code:
    -w
    or
    Code:
    --wanted
    they both do the same thing
    Last edited by YmFzZTY0; 25th Jun 2026 at 16:58.
    Quote Quote  
  7. Member datboi's Avatar
    Join Date
    Jun 2026
    Location
    United Kingdom
    Search Comp PM
    Originally Posted by YmFzZTY0 View Post
    If you wanted S10 of Below Decks Med your command would be:

    Code:
    uv run unshackle dl -w S10 ALL4 https://www.channel4.com/programmes/below-deck-mediterranean
    If you wanted S1 and S4 of Peep Show your command would be:
    Code:
    uv run unshackle dl -w S1,S4 ALL4 https://www.channel4.com/programmes/peep-show
    You can either use
    Code:
    -w
    or
    Code:
    --wanted
    they both do the same thing
    Ahhhh I was putting the -w after ALL4 my meantime fix was this script lol, also kinda handles the autocontinue logic by letting you choose an episode range.
    Code:
    #!/usr/bin/env bash
    # Usage: all4-dl.sh <program_id> <season_id> <first_ep> <last_ep>
    
    set -euo pipefail
    
    PROGRAM_ID="$1"
    SEASON_ID="$2"
    FIRST_EP="$3"
    LAST_EP="$4"
    
    for ep in $(seq -w "$FIRST_EP" "$LAST_EP"); do
        URL="https://www.channel4.com/programmes/${PROGRAM_ID}/on-demand/${SEASON_ID}-${ep}"
        echo "Downloading: $URL"
        unshackle dl ALL4 "$URL"
    
        if [ "$ep" -lt "$LAST_EP" ]; then
            WAIT=$(shuf -i 20-40 -n 1)
            echo "Waiting ${WAIT}s before next episode..."
            sleep "$WAIT"
        fi
    done
    
    echo "Done."
    Talk about making a mountain out of a molehill.
    Quote Quote  
  8. You can also do stuff like this:
    Code:
    uv run unshackle dl -w S01-S05,S07 ALL4 https://www.channel4.com/programmes/peep-show
    and
    Code:
    uv run unshackle dl -w S01E01-S02E03 ALL4 https://www.channel4.com/programmes/peep-show
    and to grab the latest episode of a season - in this case S09E06
    Code:
    uv run unshackle dl --latest-episode ALL4 https://www.channel4.com/programmes/peep-show
    Quote Quote  
  9. Member
    Join Date
    Oct 2023
    Location
    Afghanistan
    Search PM
    I've added a couple of services to my Unshackle setup and have decided to share them here:
    https://github.com/billybanana80/unshackle-services

    Blaze
    - a UK service with pretty small catalog but some may find it interesting
    - UK IP required (supports VPN/Proxy as per standard)

    9Now
    - the last of the Aussie FTA networks to make it to Unshackle.
    - AU IP required (supports VPN/Proxy as per standard)
    - runs with "nine" or "9now"
    - supports 1080p clips along with the usual series etc eg:

    Code:
    uv run unshackle dl nine https://www.9now.com.au/premier-league-epl-football/season-20252026/clip-cmpkeze6i001v0hr797a1yz7m
    - make sure you change the downloader to "n_m3u8dl_re" for NINE in your unshackle.yaml, otherwise you'll be in for a painfully slow download from that service.

    Code:
    # Choose what software to use to download data
    downloader: aria2c
    # Options: requests | aria2c | curl_impersonate | n_m3u8dl_re
    # Can also be a mapping:
    downloader:
       NINE: n_m3u8dl_re
    Now some would say I've cut my own Ozivine lunch by making 9Now available to Unshackle. It's always nice to have more options I guess. Speaking of Ozivine I do have a new release available if you're into AU/NZ services. Thread for that is here:
    https://forum.videohelp.com/threads/415165-[Release]-Ozivine-Australian-NZ-FTA-Downloader/page11#post2799325
    Quote Quote  
  10. N_m3u8dl-RE is no longer supported in Unshackle latest versions.
    Quote Quote  
  11. Member
    Join Date
    Oct 2023
    Location
    Afghanistan
    Search PM
    I wasn't aware of that. I'm still using v4. That's a shame, slow downloads it is then for those running v5.
    Quote Quote  
  12. Thanks for the services though.
    Quote Quote  
  13. Member
    Join Date
    Dec 2021
    Location
    england
    Search Comp PM
    Originally Posted by billybanana View Post
    I wasn't aware of that. I'm still using v4. That's a shame, slow downloads it is then for those running v5.
    try with v5
    first download at 5mb then drop slowing to under 1mb
    Quote Quote  
  14. Member
    Join Date
    Dec 2021
    Location
    england
    Search Comp PM
    Originally Posted by billybanana View Post
    I've added a couple of services to my Unshackle setup and have decided to share them here:
    https://github.com/billybanana80/unshackle-services

    Blaze
    - a UK service with pretty small catalog but some may find it interesting
    - UK IP required (supports VPN/Proxy as per standard)
    this will not download,
    uv run unshackle dl blaz https://watch.blaze.tv/watch/replay/667298/ancient-aliens
    Quote Quote  
  15. Member
    Join Date
    Oct 2023
    Location
    Afghanistan
    Search PM
    Originally Posted by iamghost View Post
    this will not download,
    uv run unshackle dl blaz https://watch.blaze.tv/watch/replay/667298/ancient-aliens
    Dunno how you got that episode url ? The main series url is
    https://watch.blaze.tv/shows/66e8aff8-baf5-11ea-9b31-0626f8704156/ancient-aliens

    and that episode https://watch.blaze.tv/watch/vod/53313823/the-legacy-of-j-allen-hynek

    This download works:

    Code:
    uv run unshackle dl BLAZ https://watch.blaze.tv/watch/vod/53313823/the-legacy-of-j-allen-hynek
    Image
    [Attachment 92830 - Click to enlarge]


    There does appear to be more than one way to reach it and the service being what it is, is very flakey on returning proper season/episode info. But retrieving it via the unshackle search found it just fine.
    Quote Quote  
  16. Member
    Join Date
    Feb 2022
    Location
    Search the forum first!
    Search PM
    If you are a user who uses search with unshackle there is a fault with the ITV service. Search fails complaining of a non-type object.

    At initialization, with search rather than download being called, the context does not yet contain a cdm object. It is that returning the non-type error.
    A two line edit to the code will correct for this.

    Open unshackle/unshackle/services/ITV/__init__.py and find the lines highlighted by the vertical green bar
    Image
    [Attachment 92853 - Click to enlarge]

    Edit those lines to look like this:-
    Image
    [Attachment 92855 - Click to enlarge]

    The last line indentation is important - 4 spaces or tab usually,

    now 'uv run unshackle search ITV spy' should return a list.

    TwinVine has this correction posted.

    That's all I know.
    Noob Starter Pack. Just download any Widevine media! Over 27,000 downloads for V6!.
    https://files.videohelp.com/u/301890/hellyes6.zip
    Quote Quote  
  17. Member
    Join Date
    Feb 2022
    Location
    Search the forum first!
    Search PM
    It is now seven days since StabbedByBrick announced he is stopping development for unshackle services - which all of you use.

    Only three people had the decency to thank him for his work over the last year so.

    The rest of you ought to be ashamed of yourselves.
    Noob Starter Pack. Just download any Widevine media! Over 27,000 downloads for V6!.
    https://files.videohelp.com/u/301890/hellyes6.zip
    Quote Quote  
  18. Thank you billybanana for these new Unshackle services. Also thank you stabbedbybrick and I hope you get inspired and continue with your worthwhile endeavours. I am grateful for all the work you have put into your services and your kindness to have made them available. Thank you also to Angela as well.

    It took some tinkering and thinking and getting some advice from those kind enough to provide it but this new version of Unshackle is working for me now for the most part. Thank you to those who have helped me and I think others learn along with me.
    Quote Quote  
  19. Member
    Join Date
    Oct 2023
    Location
    Afghanistan
    Search PM
    I've added Virgin Media to my small list of Unshackle services. VPN / DNS to Ireland required.

    Runs with "vm". No credentials required, 1080p.
    Quote Quote  
  20. Originally Posted by billybanana View Post
    I've added Virgin Media to my small list of Unshackle services. VPN / DNS to Ireland required.

    Runs with "vm". No credentials required, 1080p.
    Ty
    Quote Quote  
  21. Member
    Join Date
    Oct 2023
    Location
    Afghanistan
    Search PM
    Originally Posted by A_n_g_e_l_a View Post
    If you are a user who uses search with unshackle there is a fault with the ITV service.
    Thanks for the tip. I did have the issue.

    I rarely use Unshackle nowadays but still like to keep it working just in case (says me who hasn't upgraded from v4 yet )
    Quote Quote  
  22. Member
    Join Date
    Dec 2021
    Location
    Scotland
    Search Comp PM
    @StabbedByBrick thank you for all your magnificent work you've done to keep unshackle up to date. And indeed the previous main uploaders like freevine (all your own work) and the services for devine. Absolutely top drawer.

    @billybanana and thank you for keeping the services for unshackle updated. I too haven't migrated to v5, especially since it apparently stopped using N_m3u8DL-RE

    What a team we have on here. Brilliant.
    Quote Quote  
  23. Member
    Join Date
    Dec 2022
    Location
    Lesotho
    Search Comp PM
    Anyone know how to point a specific service to a specific creator?

    For example, both billybanana and stabbedbybrick create BBC iPlayer and Ch4 services. I then have two service folders called sbb and bb, both with multiple services including iP and ALL4.

    In the unshackle.yaml file you can reference other service folders but how would use a profile say for Ch4 to point to unshackle\sbb and for BBC but point that to unshackle\bb?

    I know I can manually add services but this makes git pull messy.
    Quote Quote  
  24. As far as I can see billybanana is adding additional services that stabbedbybrick had not included in his bundle of services. I added NINE in my current service folder and it is working terrific so far. Thank you billybanana and once again thank you stabbedbybrick.
    Quote Quote  
  25. Member
    Join Date
    Aug 2005
    Location
    England
    Search Comp PM
    Originally Posted by sipho View Post
    Anyone know how to point a specific service to a specific creator?

    For example, both billybanana and stabbedbybrick create BBC iPlayer and Ch4 services. I then have two service folders called sbb and bb, both with multiple services including iP and ALL4.

    In the unshackle.yaml file you can reference other service folders but how would use a profile say for Ch4 to point to unshackle\sbb and for BBC but point that to unshackle\bb?

    I know I can manually add services but this makes git pull messy.
    I keep the services git repos separate and create env vars pointing to them, e.g.
    Code:
    SERVICES_PATH_1=/home/user/git/unshackle-services-stabbedbybrick
    and mount them when starting the container:

    Code:
    docker run -it --rm -v ${CONFIG_FILE}:/home/python/.local/share/uv/tools/unshackle/lib/python3.12/site-packages/unshackle/unshackle.yaml -v ${SERVICES_PATH_1}:/unshackle/services/1 -v ${SERVICES_PATH_2}:/unshackle/services/2 -v ${DOWNLOAD_PATH}:/unshackle/downloads -v ${CACHE_PATH}:/unshackle/cache -v ${LOGS_PATH}:/unshackle/logs -v ${tmp_dir}:/unshackle/temp my-user/unshackle:latest /bin/bash
    Then the config file has them set:

    Code:
    directories:
      cache: /unshackle/cache
      downloads: /unshackle/downloads
      temp: /unshackle/temp
      logs: /unshackle/logs
      services:
        - /unshackle/services/1
        - /unshackle/services/2
    Very clunky if you ever want to add new git repos but not sure of a better way so far.
    Quote Quote  
  26. Originally Posted by A_n_g_e_l_a View Post
    It is now seven days since StabbedByBrick announced he is stopping development for unshackle services - which all of you use.

    Only three people had the decency to thank him for his work over the last year so.

    The rest of you ought to be ashamed of yourselves.
    I thanked him on his git page in a dm, I really appreciate the skill to understand how to code those services. Thanks to Stabby and A_n_g_e_l_a top work.
    Quote Quote  
  27. Originally Posted by Anna1Kowalska View Post
    Thanks Tom, setting downloads: 1 in the yaml under dl: fixed the audio decrypt issues for me as well. Video finishes first, then audio and subs decrypt cleanly. Also renamed the packager and ccextractor binaries as suggested no more errors.
    I am glad you learned along with me. Also it is interesting to know I was not the only one to run across that issue.
    Quote Quote  
  28. I ran across something odd with billybanana's NINE. The subtitles instead of the words of what is going in the video instead have stuff like the "Nine url and token expired and other stuff". I can live without subtitles so I could use the -ns command and skip downloading them. I ran across it with the TV series "Scorpion".
    Quote Quote  
  29. Originally Posted by r0gu3ptm View Post
    Change your nf challenge and you should be ok
    How does one acquire an updated nf challenge?
    Quote Quote  
  30. Originally Posted by ZequB View Post
    Originally Posted by r0gu3ptm View Post
    Change your nf challenge and you should be ok
    How does one acquire an updated nf challenge?
    Ask the person who you acquired the service script from.
    Quote Quote  



Similar Threads

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