VideoHelp Forum



Support our site by donate $5 directly to us Thanks!!!

Try StreamFab Downloader and download streaming video from Netflix, Amazon!



+ Reply to Thread
Page 10 of 11
FirstFirst ... 8 9 10 11 LastLast
Results 271 to 300 of 312
  1. Originally Posted by WhiskeyJack View Post
    Originally Posted by stabbedbybrick View Post
    Originally Posted by vidsrme View Post
    I tried downloading motd from iplayer with unshackle and it failed due to my vpn but I can download the same episode using yt-dlp with the same vpn active.

    yt-dlp encounters some '403: forbidden' errors but it's able to workaround them

    Maybe the method from yt-dlp could be copied to unshackle?
    I don't think there's a good way to do that since yt-dlp approaches things differently. It's using the "PC" endpoint, which is less strict with VPN/proxies and doesn't require any modification to the URLs, so it can just iterate through all the manifests from all hosts and simply skip the ones that fail. The downside is that this endpoint maxes out at 720p.

    The Devine/Unshackle service is written to get the best available streams (up to 2160p), which comes at a cost of them being more restricted overall. And you really don't want to make a script worse by falling back to a lower quality when the intention is to get the best - especially when the limiting factor is the user's own setup.


    Hmmmm, yt-dlp's bbc.py can be edited to get both the 1080p stream and the 2160p (with pem cert), I know this because I have done it myself, (compiled linux and windows binaries of yt-dlp with modified acb.au and bbc extractor files.)
    So, the option is, could a modified version of yt-dlp be supported?

    Not sure why I'm asking really, I don't use unshackle or devine much myself. Been using my own tools for years.
    The problem is that the endpoints used for the higher quality streams are more geofenced, especially the one for 2160p. So it doesn't matter what tools you're using, without a residential IP or a solid VPN, you'll hit the same wall no matter what. The yt-dlp devs opted for the PC endpoint to make it more accessible, I'm guessing.
    Quote Quote  
  2. I've just added PLEX and CWTV services to the repository.

    As far as free services go, they're surprisingly not that bad these days. Combined with Tubi and Pluto, you'll get a pretty huge library of content. At least for the US territory.
    Quote Quote  
  3. Member
    Join Date
    Feb 2022
    Location
    Search the forum first!
    Search PM
    Envied and TwinVine have been updated to 1.4.5. Neither update follows unshackle into the spammer's lair. No facility to connect to pay-for-cdm-access is provided by design.
    I've taken the opportunity to add SBB's two extra services to the update - with grateful thanks.
    Noob Starter Pack. Just download every Widevine mpd! Not kidding!.
    https://files.videohelp.com/u/301890/hellyes6.zip
    Quote Quote  
  4. Originally Posted by stabbedbybrick View Post
    I've just added PLEX and CWTV services to the repository.

    As far as free services go, they're surprisingly not that bad these days. Combined with Tubi and Pluto, you'll get a pretty huge library of content. At least for the US territory.
    A M A Z I N G
    Quote Quote  
  5. Originally Posted by stabbedbybrick View Post
    I've just added PLEX and CWTV services to the repository.

    As far as free services go, they're surprisingly not that bad these days. Combined with Tubi and Pluto, you'll get a pretty huge library of content. At least for the US territory.
    Just tried your plex service with a classic https://watch.plex.tv/show/corner-gas and although unshackle says it downloaded the best video track, the resulting mkv has a rather low bitrate video. Is it possible to grab the 1280×720 @ 5575 kb/s at all? Many thanks.

    Image
    [Attachment 88655 - Click to enlarge]

    Image
    [Attachment 88656 - Click to enlarge]


    Code:
    General
    Format                                   : Matroska
    Format version                           : Version 4
    File size                                : 355 MiB
    Duration                                 : 22 min 22 s
    Overall bit rate                         : 2 220 kb/s
    Frame rate                               : 23.976 FPS
    Writing application                      : mkvmerge 94.0 ('Initiate') 64-bit
    Writing library                          : libebml v1.4.5 + libmatroska v1.7.1
    
    Video
    ID                                       : 1
    Format                                   : AVC
    Format/Info                              : Advanced Video Codec
    Format profile                           : Main@L3.1
    Format settings                          : CABAC / 4 Ref Frames
    Format settings, CABAC                   : Yes
    Format settings, Reference frames        : 4 frames
    Codec ID                                 : V_MPEG4/ISO/AVC
    Duration                                 : 22 min 22 s
    Bit rate                                 : 2 028 kb/s
    Width                                    : 1 280 pixels
    Height                                   : 720 pixels
    Display aspect ratio                     : 16:9
    Frame rate mode                          : Constant
    Frame rate                               : 23.976 (24000/1001) FPS
    Color space                              : YUV
    Chroma subsampling                       : 4:2:0
    Bit depth                                : 8 bits
    Scan type                                : Progressive
    Bits/(Pixel*Frame)                       : 0.092
    Stream size                              : 325 MiB (91%)
    Language                                 : English
    Default                                  : Yes
    Forced                                   : No
    
    Audio
    ID                                       : 2
    Format                                   : AAC LC
    Format/Info                              : Advanced Audio Codec Low Complexity
    Codec ID                                 : A_AAC-2
    Duration                                 : 22 min 22 s
    Bit rate                                 : 192 kb/s
    Channel(s)                               : 2 channels
    Channel layout                           : L R
    Sampling rate                            : 48.0 kHz
    Frame rate                               : 46.875 FPS (1024 SPF)
    Compression mode                         : Lossy
    Stream size                              : 30.3 MiB (9%)
    Language                                 : English
    Default                                  : Yes
    Forced                                   : No
    
    Text
    ID                                       : 3
    Format                                   : UTF-8
    Codec ID                                 : S_TEXT/UTF8
    Codec ID/Info                            : UTF-8 Plain Text
    Duration                                 : 22 min 6 s
    Bit rate                                 : 94 b/s
    Frame rate                               : 0.384 FPS
    Count of elements                        : 509
    Stream size                              : 15.4 KiB (0%)
    Language                                 : English
    Default                                  : No
    Forced                                   : No
    
    Menu
    00:00:00.000                             : en:Chapter 01
    00:21:26.295                             : en:Credits
    Quote Quote  
  6. Originally Posted by PunchDrunkL0ve View Post

    Just tried your plex service with a classic https://watch.plex.tv/show/corner-gas and although unshackle says it downloaded the best video track, the resulting mkv has a rather low bitrate video. Is it possible to grab the 1280×720 @ 5575 kb/s at all? Many thanks.
    That actually is the best video. It's important to remember that the bitrate listed is from the manifest, and that's rarely the actual bitrate of the final video. If you download the next best video, you'll see that's lower than its listed bitrate as well.
    Quote Quote  
  7. Originally Posted by stabbedbybrick View Post
    I've just added PLEX and CWTV services to the repository.

    As far as free services go, they're surprisingly not that bad these days. Combined with Tubi and Pluto, you'll get a pretty huge library of content. At least for the US territory.
    Thank you for adding Plex and CWTV. I appreciate and am grateful for your doing this.
    Quote Quote  
  8. What is the proper way to add these new services to Unshackle so that I can make a note of that for future reference? Thank you in advance for this information.
    Quote Quote  
  9. I had some success with CWTV but had to cycle to a different U.S. City on my Windscribe VPN. As for Plex it keep failing by saying it "couldn't parse I.D. from title". This is what I imputed:

    devine dl --list-titles PLEX https://watch.plex.tv/en-GB/show/knots-landing
    Quote Quote  
  10. Originally Posted by Tom Saurus View Post
    I had some success with CWTV but had to cycle to a different U.S. City on my Windscribe VPN. As for Plex it keep failing by saying it "couldn't parse I.D. from title". This is what I imputed:

    devine dl --list-titles PLEX https://watch.plex.tv/en-GB/show/knots-landing
    Code:
    devine dl --list-titles plex https://watch.plex.tv/show/knots-landing
    Quote Quote  
  11. Originally Posted by PunchDrunkL0ve View Post
    Originally Posted by Tom Saurus View Post
    I had some success with CWTV but had to cycle to a different U.S. City on my Windscribe VPN. As for Plex it keep failing by saying it "couldn't parse I.D. from title". This is what I imputed:

    devine dl --list-titles PLEX https://watch.plex.tv/en-GB/show/knots-landing
    Code:
    devine dl --list-titles plex https://watch.plex.tv/show/knots-landing
    Thank you for your response but now I get with both Devine and unshackle this error:


    ConnectionError: {"Error":{"error":"Not Found","message":"Not
    Found","statusCode":404}}

    Plex is available both in Canada and the United States so it shouldn't be a VPN issue.
    Quote Quote  
  12. Originally Posted by Tom Saurus View Post
    Originally Posted by PunchDrunkL0ve View Post
    Originally Posted by Tom Saurus View Post
    I had some success with CWTV but had to cycle to a different U.S. City on my Windscribe VPN. As for Plex it keep failing by saying it "couldn't parse I.D. from title". This is what I imputed:

    devine dl --list-titles PLEX https://watch.plex.tv/en-GB/show/knots-landing
    Code:
    devine dl --list-titles plex https://watch.plex.tv/show/knots-landing
    Thank you for your response but now I get with both Devine and unshackle this error:


    ConnectionError: {"Error":{"error":"Not Found","message":"Not
    Found","statusCode":404}}

    Plex is available both in Canada and the United States so it shouldn't be a VPN issue.
    I think that means Knots Landing is not available to steam on plex.
    Quote Quote  
  13. Originally Posted by PunchDrunkL0ve View Post
    Originally Posted by Tom Saurus View Post
    Originally Posted by PunchDrunkL0ve View Post
    Originally Posted by Tom Saurus View Post
    I had some success with CWTV but had to cycle to a different U.S. City on my Windscribe VPN. As for Plex it keep failing by saying it "couldn't parse I.D. from title". This is what I imputed:

    devine dl --list-titles PLEX https://watch.plex.tv/en-GB/show/knots-landing
    Code:
    devine dl --list-titles plex https://watch.plex.tv/show/knots-landing
    Thank you for your response but now I get with both Devine and unshackle this error:


    ConnectionError: {"Error":{"error":"Not Found","message":"Not
    Found","statusCode":404}}

    Plex is available both in Canada and the United States so it shouldn't be a VPN issue.
    I think that means Knots Landing is not available to steam on plex.
    I know that with WidevineProxy2 that I can get the episodes one at time individually but I was craving to get them batch style so the program would get them one after another. A show with 14 seasons is daunting to archive as you got to keep coming back and setting it up to download an episode over and over again.

    I got a different error when I used this command:

    Code:
    C:\unshackle>uv run unshackle dl --list -w S01E01 PLEX https://watch.plex.tv/show/knots-landing
    
                   ▄• ▄▌ ▐ ▄ .▄▄ ·  ▄ .▄ ▄▄▄·  ▄▄· ▄ •▄ ▄▄▌  ▄▄▄ .
                   █▪██▌•█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██•  ▀▄.▀·
                   █▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪  ▐▀▀▪▄
                   ▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌
                     ▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀  ▀ ·▀▀▀ ·▀  ▀.▀▀▀  ▀▀▀
                 v 1.4.5 - © 2025 - github.com/unshackle-dl/unshackle
    
         Service Config loaded
         Loaded 1/1 Vaults
         Loaded Widevine CDM: 8158 (L3)
    
      ────────────────────────────── Service: PLEX ───────────────────────────────
    
         Service has no Geofence
    
      ────────────────────────── Series: Knots Landing ───────────────────────────
    
         14 seasons, S1(13), S2(18), S3(22), S4(22), S5(25), S6(30), S7(30),
         S8(30), S9(29), S10(28), S11(29), S12(27), S13(22), S14(19)
    
      ──────────────────────── Knots Landing S01E01 Pilot ────────────────────────
    
         Search -> Knots Landing (ID 2595)
    ╭───────────────────── Traceback (most recent call last) ──────────────────────╮
    │ C:\Users\Tom Saurus\AppData\Local\Programs\Python\Python310\lib\runpy.py:196 │
    │ in _run_module_as_main                                                       │
    │                                                                              │
    │   193 │   main_globals = sys.modules["__main__"].__dict__                    │
    │   194 │   if alter_argv:                                                     │
    │   195 │   │   sys.argv[0] = mod_spec.origin                                  │
    │ ❱ 196 │   return _run_code(code, main_globals, None,                         │
    │   197 │   │   │   │   │    "__main__", mod_spec)                             │
    │   198                                                                        │
    │   199 def run_module(mod_name, init_globals=None,                            │
    │                                                                              │
    │ C:\Users\Tom Saurus\AppData\Local\Programs\Python\Python310\lib\runpy.py:86  │
    │ in _run_code                                                                 │
    │                                                                              │
    │    83 │   │   │   │   │      __loader__ = loader,                            │
    │    84 │   │   │   │   │      __package__ = pkg_name,                         │
    │    85 │   │   │   │   │      __spec__ = mod_spec)                            │
    │ ❱  86 │   exec(code, run_globals)                                            │
    │    87 │   return run_globals                                                 │
    │    88                                                                        │
    │    89 def _run_module_code(code, init_globals=None,                          │
    │                                                                              │
    │ in <module>:10                                                               │
    │                                                                              │
    │ C:\unshackle\.venv\lib\site-packages\click\core.py:1442 in __call__          │
    │                                                                              │
    │ C:\unshackle\.venv\lib\site-packages\click\core.py:1363 in main              │
    │                                                                              │
    │ C:\unshackle\.venv\lib\site-packages\click\core.py:1830 in invoke            │
    │                                                                              │
    │ C:\unshackle\.venv\lib\site-packages\click\core.py:1830 in invoke            │
    │                                                                              │
    │ C:\unshackle\.venv\lib\site-packages\click\core.py:1799 in _process_result   │
    │                                                                              │
    │ C:\unshackle\.venv\lib\site-packages\click\core.py:794 in invoke             │
    │                                                                              │
    │ C:\unshackle\unshackle\commands\dl.py:587 in result                          │
    │                                                                              │
    │    584 │   │   │                                                             │
    │    585 │   │   │   with console.status("Getting tracks...", spinner="dots"): │
    │    586 │   │   │   │   title.tracks.add(service.get_tracks(title), warn_only │
    │ ❱  587 │   │   │   │   title.tracks.chapters = service.get_chapters(title)   │
    │    588 │   │   │                                                             │
    │    589 │   │   │   # strip SDH subs to non-SDH if no equivalent same-lang no │
    │    590 │   │   │   # uses a loose check, e.g, wont strip en-US SDH sub if a  │
    │                                                                              │
    │ C:\unshackle\services\PLEX\__init__.py:202 in get_chapters                   │
    │                                                                              │
    │   199 │   │   │   │   pass                                                   │
    │   200 │   │                                                                  │
    │   201 │   │   chapters = []                                                  │
    │ ❱ 202 │   │   for cue in markers:                                            │
    │   203 │   │   │   if cue.get("startTimeOffset", 0) > 0:                      │
    │   204 │   │   │   │   chapters.append(Chapter(name=cue.get("type", "").title │
    │   205                                                                        │
    ╰──────────────────────────────────────────────────────────────────────────────╯
    TypeError: 'NoneType' object is not iterable


    C:\unshackle>

    But at least this time is shows the seasons available. I switched to a different City for the VPN maybe that made a difference. Though I am fairly certain it should work even without the VPN turned on.

    Thank you for your response.
    Last edited by Tom Saurus; 19th Sep 2025 at 17:06.
    Quote Quote  
  14. On Plex I'm getting the exact same error as Tom Saurus.

    I'm also getting

    Original language not available for title, skipping 'orig' selection
    for video
    There's no [] Video Track...
    Quote Quote  
  15. I have had a bit of success with this command and it gives me a list of all the Knots Landing episodes:

    uv run unshackle dl --list-titles plex https://watch.plex.tv/show/knots-landing
    Last edited by Tom Saurus; 22nd Sep 2025 at 09:34. Reason: The Episode List was unnessary and taking up a lot of space
    Quote Quote  
  16. But failure with this command:

    Code:
    C:\unshackle>uv run unshackle dl --list -w S02E03 PLEX https://watch.plex.tv/show/knots-landing
    
                   ▄• ▄▌ ▐ ▄ .▄▄ ·  ▄ .▄ ▄▄▄·  ▄▄· ▄ •▄ ▄▄▌  ▄▄▄ .
                   █▪██▌•█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██•  ▀▄.▀·
                   █▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪  ▐▀▀▪▄
                   ▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌
                     ▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀  ▀ ·▀▀▀ ·▀  ▀.▀▀▀  ▀▀▀
                 v 1.4.5 - © 2025 - github.com/unshackle-dl/unshackle
    
         Service Config loaded
         Loaded 1/1 Vaults
         Loaded Widevine CDM: 8158 (L3)
    
      ────────────────────────────── Service: PLEX ───────────────────────────────
    
         Service has no Geofence
    
      ────────────────────────── Series: Knots Landing ───────────────────────────
    
         14 seasons, S1(13), S2(18), S3(22), S4(22), S5(25), S6(30), S7(30),
         S8(30), S9(29), S10(28), S11(29), S12(27), S13(22), S14(19)
    
      ─────────────── Knots Landing S02E03 Remember the Good Times ───────────────
    
         Search -> Knots Landing (ID 2595)
    ╭───────────────────── Traceback (most recent call last) ──────────────────────╮
    │ C:\Users\Tom Saurus\AppData\Local\Programs\Python\Python310\lib\runpy.py:196 │
    │ in _run_module_as_main                                                       │
    │                                                                              │
    │   193 │   main_globals = sys.modules["__main__"].__dict__                    │
    │   194 │   if alter_argv:                                                     │
    │   195 │   │   sys.argv[0] = mod_spec.origin                                  │
    │ ❱ 196 │   return _run_code(code, main_globals, None,                         │
    │   197 │   │   │   │   │    "__main__", mod_spec)                             │
    │   198                                                                        │
    │   199 def run_module(mod_name, init_globals=None,                            │
    │                                                                              │
    │ C:\Users\Tom Saurus\AppData\Local\Programs\Python\Python310\lib\runpy.py:86  │
    │ in _run_code                                                                 │
    │                                                                              │
    │    83 │   │   │   │   │      __loader__ = loader,                            │
    │    84 │   │   │   │   │      __package__ = pkg_name,                         │
    │    85 │   │   │   │   │      __spec__ = mod_spec)                            │
    │ ❱  86 │   exec(code, run_globals)                                            │
    │    87 │   return run_globals                                                 │
    │    88                                                                        │
    │    89 def _run_module_code(code, init_globals=None,                          │
    │                                                                              │
    │ in <module>:10                                                               │
    │                                                                              │
    │ C:\unshackle\.venv\lib\site-packages\click\core.py:1442 in __call__          │
    │                                                                              │
    │ C:\unshackle\.venv\lib\site-packages\click\core.py:1363 in main              │
    │                                                                              │
    │ C:\unshackle\.venv\lib\site-packages\click\core.py:1830 in invoke            │
    │                                                                              │
    │ C:\unshackle\.venv\lib\site-packages\click\core.py:1830 in invoke            │
    │                                                                              │
    │ C:\unshackle\.venv\lib\site-packages\click\core.py:1799 in _process_result   │
    │                                                                              │
    │ C:\unshackle\.venv\lib\site-packages\click\core.py:794 in invoke             │
    │                                                                              │
    │ C:\unshackle\unshackle\commands\dl.py:587 in result                          │
    │                                                                              │
    │    584 │   │   │                                                             │
    │    585 │   │   │   with console.status("Getting tracks...", spinner="dots"): │
    │    586 │   │   │   │   title.tracks.add(service.get_tracks(title), warn_only │
    │ ❱  587 │   │   │   │   title.tracks.chapters = service.get_chapters(title)   │
    │    588 │   │   │                                                             │
    │    589 │   │   │   # strip SDH subs to non-SDH if no equivalent same-lang no │
    │    590 │   │   │   # uses a loose check, e.g, wont strip en-US SDH sub if a  │
    │                                                                              │
    │ C:\unshackle\services\PLEX\__init__.py:202 in get_chapters                   │
    │                                                                              │
    │   199 │   │   │   │   pass                                                   │
    │   200 │   │                                                                  │
    │   201 │   │   chapters = []                                                  │
    │ ❱ 202 │   │   for cue in markers:                                            │
    │   203 │   │   │   if cue.get("startTimeOffset", 0) > 0:                      │
    │   204 │   │   │   │   chapters.append(Chapter(name=cue.get("type", "").title │
    │   205                                                                        │
    ╰──────────────────────────────────────────────────────────────────────────────╯
    TypeError: 'NoneType' object is not iterable
    
    C:\unshackle>
    Last edited by Tom Saurus; 19th Sep 2025 at 17:09.
    Quote Quote  
  17. Originally Posted by MrArchive221 View Post
    On Plex I'm getting the exact same error as Tom Saurus.

    I'm also getting

    Original language not available for title, skipping 'orig' selection
    for video
    There's no [] Video Track...
    Add -l en to the command after dl. You then specify the language. The code looks for language 'orig' unless told otherwise, and fails to find it.
    Quote Quote  
  18. C:\unshackle>uv run unshackle dl -l en -w S02E03 PLEX https://watch.plex.tv/show/knots-landing

    Code:
           ▄• ▄▌ ▐ ▄ .▄▄ ·  ▄ .▄ ▄▄▄·  ▄▄· ▄ •▄ ▄▄▌  ▄▄▄ .
                   █▪██▌•█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██•  ▀▄.▀·
                   █▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪  ▐▀▀▪▄
                   ▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌
                     ▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀  ▀ ·▀▀▀ ·▀  ▀.▀▀▀  ▀▀▀
                 v 1.4.5 - © 2025 - github.com/unshackle-dl/unshackle
    
         Service Config loaded
         Loaded 1/1 Vaults
         Loaded Widevine CDM: 8158 (L3)
    
      ────────────────────────────── Service: PLEX ───────────────────────────────
    
         Service has no Geofence
    
      ────────────────────────── Series: Knots Landing ───────────────────────────
    
         14 seasons, S1(13), S2(18), S3(22), S4(22), S5(25), S6(30), S7(30),
         S8(30), S9(29), S10(28), S11(29), S12(27), S13(22), S14(19)
    
      ─────────────── Knots Landing S02E03 Remember the Good Times ───────────────
    
    ╭───────────────────── Traceback (most recent call last) ──────────────────────╮
    │ C:\Users\Tom Saurus\AppData\Local\Programs\Python\Python310\lib\runpy.py:196 │
    │ in _run_module_as_main                                                       │
    │                                                                              │
    │   193 │   main_globals = sys.modules["__main__"].__dict__                    │
    │   194 │   if alter_argv:                                                     │
    │   195 │   │   sys.argv[0] = mod_spec.origin                                  │
    │ ❱ 196 │   return _run_code(code, main_globals, None,                         │
    │   197 │   │   │   │   │    "__main__", mod_spec)                             │
    │   198                                                                        │
    │   199 def run_module(mod_name, init_globals=None,                            │
    │                                                                              │
    │ C:\Users\Tom Saurus\AppData\Local\Programs\Python\Python310\lib\runpy.py:86  │
    │ in _run_code                                                                 │
    │                                                                              │
    │    83 │   │   │   │   │      __loader__ = loader,                            │
    │    84 │   │   │   │   │      __package__ = pkg_name,                         │
    │    85 │   │   │   │   │      __spec__ = mod_spec)                            │
    │ ❱  86 │   exec(code, run_globals)                                            │
    │    87 │   return run_globals                                                 │
    │    88                                                                        │
    │    89 def _run_module_code(code, init_globals=None,                          │
    │                                                                              │
    │ in <module>:10                                                               │
    │                                                                              │
    │ C:\unshackle\.venv\lib\site-packages\click\core.py:1442 in __call__          │
    │                                                                              │
    │ C:\unshackle\.venv\lib\site-packages\click\core.py:1363 in main              │
    │                                                                              │
    │ C:\unshackle\.venv\lib\site-packages\click\core.py:1830 in invoke            │
    │                                                                              │
    │ C:\unshackle\.venv\lib\site-packages\click\core.py:1830 in invoke            │
    │                                                                              │
    │ C:\unshackle\.venv\lib\site-packages\click\core.py:1799 in _process_result   │
    │                                                                              │
    │ C:\unshackle\.venv\lib\site-packages\click\core.py:794 in invoke             │
    │                                                                              │
    │ C:\unshackle\unshackle\commands\dl.py:587 in result                          │
    │                                                                              │
    │    584 │   │   │                                                             │
    │    585 │   │   │   with console.status("Getting tracks...", spinner="dots"): │
    │    586 │   │   │   │   title.tracks.add(service.get_tracks(title), warn_only │
    │ ❱  587 │   │   │   │   title.tracks.chapters = service.get_chapters(title)   │
    │    588 │   │   │                                                             │
    │    589 │   │   │   # strip SDH subs to non-SDH if no equivalent same-lang no │
    │    590 │   │   │   # uses a loose check, e.g, wont strip en-US SDH sub if a  │
    │                                                                              │
    │ C:\unshackle\services\PLEX\__init__.py:202 in get_chapters                   │
    │                                                                              │
    │   199 │   │   │   │   pass                                                   │
    │   200 │   │                                                                  │
    │   201 │   │   chapters = []                                                  │
    │ ❱ 202 │   │   for cue in markers:                                            │
    │   203 │   │   │   if cue.get("startTimeOffset", 0) > 0:                      │
    │   204 │   │   │   │   chapters.append(Chapter(name=cue.get("type", "").title │
    │   205                                                                        │
    ╰──────────────────────────────────────────────────────────────────────────────╯
    TypeError: 'NoneType' object is not iterable
    
    C:\unshackle>
    Last edited by Tom Saurus; 19th Sep 2025 at 17:10.
    Quote Quote  
  19. Originally Posted by phased View Post
    Originally Posted by MrArchive221 View Post
    On Plex I'm getting the exact same error as Tom Saurus.

    I'm also getting

    Original language not available for title, skipping 'orig' selection
    for video
    There's no [] Video Track...
    Add -l en to the command after dl. You then specify the language. The code looks for language 'orig' unless told otherwise, and fails to find it.
    uv run unshackle dl -l all PLEX seems to solve that issue.
    Quote Quote  
  20. Member
    Join Date
    Feb 2022
    Location
    Search the forum first!
    Search PM
    Without wishing to step on StabbedByBrick's toes, I have pushed a work-around (not a code fix) for the PLEX download issue to both https://github.com/vinefeeder/TwinVine and https://github.com/vinefeeder/envied as these come with services installed. Plex links give titles like
    Code:
    https://watch.plex.tv/en-GB/show/mr-bean/season/1/episode/2?detailsSource=vod&context.page=show.season&context.groupID=episodes&context.groupIndex=2&context.itemIndex=1
    And the regex parser cannnot cope. It needs titles with any country reference removed .. so I've added a bit of code to the Plex sevice in envied and TwinVine to do just that...
    Code:
    https://watch.plex.tv/show/mr-bean
    Image
    [Attachment 88688 - Click to enlarge]

    Image
    [Attachment 88689 - Click to enlarge]
    Last edited by A_n_g_e_l_a; 12th Sep 2025 at 11:29.
    Noob Starter Pack. Just download every Widevine mpd! Not kidding!.
    https://files.videohelp.com/u/301890/hellyes6.zip
    Quote Quote  
  21. Even with the correct link that Devine and Unshackle need PLEX is failing for me. Thankfully CWTV is working well as long as I have cycled to a United States City server it likes on my Windscribe VPN. I see though at least one person has had success with PLEX so it must be something in my set up. I will keep trying to get it to work though as I do want to archive Knots Landing. I did get Falcon Crest one at a time but it took quite a while to get but I am glad I put the effort in via WidevineProxy2.
    Last edited by Tom Saurus; 12th Sep 2025 at 14:11.
    Quote Quote  
  22. stabbedbybrick wrote about how certain services perhaps like iP aka the BBC with YT-DLP are more forgiving when it comes to VPN with the lower quality videos so I wonder if a service can be made that offers you to get whole seasons or whole series for that matter that isn't such a pain about VPN. I know a lot of people want these super high quality videos and they have their reasons to go for that. But it would be nice if somehow there one that maybe maxes out at lower resolution like 540p or 480p and just doesn't have that sensitivity that causes it the regular iP service to not work for us. I have Windscribe and it works thankfully for most of the services but some are more sensitive to the VPN then others. Actually stabbedbybrick describes the technical aspects of it at the top of this page. Perhaps someone could make two iP services and specify this one is less VPN sensitive and offers a lower quality video as a result and then your regular version that goes for the best quality. Though I suppose one could subscribe to Surfshark VPN as I have read that it works with the iP service. But regardless I do have getiPlayer set up and can get episodes one at a time so that is nice. It seems to not get the subtitles though but that isn't necessarily vital.
    Quote Quote  
  23. The PLEX issue with chapters being "NoneType" was fixed yesterday, and the addition of the ISO country code in the URL was fixed earlier today. Check the official github repository in my signature to stay up-to-date. And please open issues over there for legit bugs and suggestions. It makes them easier to track and it won't derail this thread.
    Quote Quote  
  24. Originally Posted by stabbedbybrick View Post
    The PLEX issue with chapters being "NoneType" was fixed yesterday, and the addition of the ISO country code in the URL was fixed earlier today. Check the official github repository in my signature to stay up-to-date. And please open issues over there for legit bugs and suggestions. It makes them easier to track and it won't derail this thread.
    Thank you and I will update and try soon. I apologize for derailing the thread and I will try to remember to open issues over at the Repository to not repeat the derailing. If Plex is working I will be busy visiting the Culdesac and I will be sure say hi to Karen, Val, Gary, Abby and the rest of residents that inhabit Knots Landing.
    Quote Quote  
  25. Plex video-playback fails for Knots Landing if N_m3u8DL-Re is the downloader. Aria2c seems ok
    Quote Quote  
  26. Originally Posted by phased View Post
    Plex video-playback fails for Knots Landing if N_m3u8DL-Re is the downloader. Aria2c seems ok
    Thank you for this tip. I am testing PLEX right now with a Knots Landing episode and it looks very promising. It just got downloaded and it turned out terrific. The sad thing though like Falcon Crest they have a bit of interlace or de-interlace aspect but that is not the fault of the streaming downloader. VLC has a way to deal with it in the video playback options to a degree anyway. Over at PLUTO U.S. the episodes of Dr. Quinn, Medicine Woman have a severe case of interlace or deinterlace so much so that I didn't bother with them.

    Thank you once again Stabbedbybrick CWTV and PLEX are terrific additions to the Devine and Unshackle services. It is terrific you put this effort in making these services and on top of that fixing the issues that Plex had.
    Quote Quote  
  27. Member
    Join Date
    Feb 2022
    Location
    Search the forum first!
    Search PM
    Image
    [Attachment 88729 - Click to enlarge]


    Plex added as a VineFeeder Service to TwinVine https://github.com/vinefeeder/TwinVine

    Only direct url and search for the moment.
    Noob Starter Pack. Just download every Widevine mpd! Not kidding!.
    https://files.videohelp.com/u/301890/hellyes6.zip
    Quote Quote  
  28. EDIT - sussed it

    Can anyone point me past this please? I do have Nord VPN and got my login credentials (from Nord, not login details) but even when I've entered the details where it looks like they should go (I could well be wrong) I get an error. Any help greatly appreciated.

    Image
    [Attachment 88794 - Click to enlarge]
    Last edited by jake2k8; 17th Sep 2025 at 08:48.
    Quote Quote  
  29. Originally Posted by stabbedbybrick View Post
    I've just added PLEX and CWTV services to the repository.

    As far as free services go, they're surprisingly not that bad these days. Combined with Tubi and Pluto, you'll get a pretty huge library of content. At least for the US territory.
    Cool, I didn't know about cwtv some good stuff on there thanks. The services only work with devine for me though, unshackle gives
    Code:
    There's no [] Video Track...
    Edit: my bad I see the answer now
    Code:
    -l all
    fixes it.

    Originally Posted by Tom Saurus View Post
    I have had a bit of success with this command and it gives me a list of all the Knots Landing episodes:
    @Tom Saurus use the code tags bro you're making the thread unreadable
    Last edited by vidsrme; 19th Sep 2025 at 06:57.
    Quote Quote  
  30. I have now put the code tags around them on this page.
    Quote Quote  



Similar Threads

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