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
Results 1 to 12 of 12
  1. Member
    Join Date
    Feb 2022
    Location
    Search the forum first!
    Search PM
    Announcing Envied to the World! Envied is an anagram of Devine and the name pays homage to devine's author.

    https://github.com/vinefeeder/envied

    The reason for envied's existence is to showcase a --select-titles option as below

    Image
    [Attachment 88338 - Click to enlarge]


    Envied is a fork, of a fork, of Devine

    Code:
    uv run unshackle  dl --select-titles ITV https://www.itv.com/watch/the-fortune-hotel/10a5106/
    • If you are downloading and only want the pilot - easy;
    • if you are downloading and only want the last two episodes - easy;
    • if you are downloading episode weekly and cannot remember the last episode number -easy.

    The git repository also has services and a remote cdm pre-configured. All you will need to do is copy across your directories list into the unshackle.yaml within the envied/unshackle folder.

    Devine worked well for two years nearly without any updates. The current unshackle fork is a good base for a stable release of Envied which will not be updated every other day.
    Last edited by A_n_g_e_l_a; 19th Aug 2025 at 08:17.
    Noob Starter Pack. Just download every Widevine mpd! Not kidding!.
    https://files.videohelp.com/u/301890/hellyes6.zip
    Quote Quote  
  2. Originally Posted by A_n_g_e_l_a View Post
    Announcing Envied to the World! Envied is an anagram of Devine and the name pays homage to devine's author.

    https://github.com/vinefeeder/envied

    The reason for envied's existence is to showcase a --select-titles option as below

    Image
    [Attachment 88338 - Click to enlarge]


    Envied is a fork, of a fork, of Devine

    Code:
    uv run unshackle  dl --select-titles ITV https://www.itv.com/watch/the-fortune-hotel/10a5106/
    • If you are downloading and only want the pilot - easy;
    • if you are downloading and only want the last two episodes - easy;
    • if you are downloading episode weekly and cannot remember the last episode number -easy.

    The git repository also has services and a remote cdm pre-configured. All you will need to do is copy across your directories list into the unshackle.yaml within the envied/unshackle folder.

    Devine worked well for two years nearly without any updates. The current unshackle fork is a good base for a stable release of Envied which will not be updated every other day.

    Thanks for this.

    How do i specify what the file to be named as for envied and for vinefeeder

    it doesnt seem to work if i use what i use in devine.

    "C:\Users\winvictim\TwinVine\packages\envied\src\e nvied\envied.yaml"

    filenames:
    log: "envied_{name}_{time}.log"
    config: "config.yaml"
    root_config: "envied.yaml"
    chapters: "Chapters_{title}_{random}.txt"
    subtitle: "Subtitle_{id}_{language}.srt"
    series: "{title}.S{season}E{episode}.{name}.{resolution}.{ service}.WEB-DL.{audio}.H.264"
    movies: "{title}.{year}.{resolution}.{service}.WEB-DL.{audio}.H.264-SWAN"
    filename:
    series: "{title}.S{season}E{episode}.{name}.{resolution}.{ service}.WEB-DL.{audio}.H.264"
    movies: "{title}.{year}.{resolution}.{service}.WEB-DL.{audio}.H.264-SWAN"
    Quote Quote  
  3. Member
    Join Date
    Feb 2022
    Location
    Search the forum first!
    Search PM
    edit envied.yaml

    Image
    [Attachment 89599 - Click to enlarge]


    Change the current false to true and save. I choose to avoid 'scene naming' as it interferes with series identification in Plex.
    Noob Starter Pack. Just download every Widevine mpd! Not kidding!.
    https://files.videohelp.com/u/301890/hellyes6.zip
    Quote Quote  
  4. Could you help me to find whats wrong
    Trying to download from Youtube

    Code:
    Starting new HTTPS connection (1): manifest.googlevideo.com:443
         https://manifest.googlevideo.com:443 "GET
         /api/manifest/dash/expire/1764837466/ei/-vMwabPyKJOZ-LAPh4eP-Qw/ip/179
         .148.162.127/id/67bd0ec6397b81cf/source/youtube/requiressl/yes/xpc/EgV
         o2aDSNQ%3D%3D/playback_host/rr2---sn-8p8v-bpbk.googlevideo.com/cps/0/m
         et/1764815866%2C/mh/RL/mm/31%2C29/mn/sn-8p8v-bpbk%2Csn-b8u-bpbl/ms/au%
         2Crdu/mv/m/mvi/2/pl/24/rms/au%2Cau/tx/51679579/txs/51679575%2C51679576
         %2C51679577%2C51679578%2C51679579/ctier/A/as/fmp4_audio_cenc%2Cfmp4_sd
         _hd_cenc/pfa/5/gcr/br/initcwndbps/2402500/hightc/yes/siu/1/spc/6b0G_KM
         5Pkzoz9zlz-xhoUnFvp8zfuR_XPAjN6BdnG7GSa2PAC1b/vprv/1/rqh/2/mt/17648150
         97/fvip/3/keepalive/yes/fexp/51355912%2C51552689%2C51565116%2C51565681
         %2C51580968/itag/0/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl
         %2Cxpc%2Ctx%2Ctxs%2Cctier%2Cas%2Cpfa%2Cgcr%2Chightc%2Csiu%2Cspc%2Cvprv
         %2Crqh%2Citag/sig/AJfQdSswRQIhAPK1v4iUnYsIvnEB--012F0iDVNTlsniuPhk2I0D
         gQ_dAiAXjJ6pmqpqAOoBK6ZyMz8pfzIGIrVxS_83UJU2_0G42A%3D%3D/lsparams/play
         back_host%2Ccps%2Cmet%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Crms%2Cinit
         cwndbps/lsig/APaTxxMwRQIhAJEKzCLiKQQd_7u99mfsUm4fSc8w_JcsRR4inPBdcOPJA
         iBlmZyBF8ZiCFrJV7dAInUDNP6lNXxQuxtBb8ezfX639A%3D%3D HTTP/1.1" 404 2661
    
    [...]
    ConnectionError: Failed to request the MPD document.
    Quote Quote  
  5. From your message I could only figure out

    1) we are from the same continent = 179.148.162.127
    2) what you are trying to get is not found = HTTP/1.1" 404 2661
    https://en.wikipedia.org/wiki/HTTP_404

    In other words, you did not provide enough information ...
    Quote Quote  
  6. Anyone having problems with downloads from CTV?
    (freely available titles)


    Is there speed throttling in place?

    I'm using Devine 3.3.3.
    (downloader: n_m3u8dl_re
    n_m3u8dl_re:
    use_proxy: 'false'
    thread_count: 1)

    and it takes forever to download, and fails to mux.



    Using Envied 2.1.0
    (n_m3u8dl_re and aria2c) I would always get an error:

    Code:
    │   106 │   │   │   │   tokens = res                                           │
    │   107 │   │   │   │   self.log.info(" + Acquired tokens...")                 │
    │   108 │   │   │                                                              │
    │ ❱ 109 │   │   │   cache.set(tokens, expiration=tokens["expires_in"])         │
    │   110 │   │   │                                                              │
    │   111 │   │   │   self.authorization = f"Bearer {tokens['access_token']}"    │
    │   112                                                                        │
    ╰──────────────────────────────────────────────────────────────────────────────╯
    KeyError: 'expires_in'


    Also, would Envied/Unshackle benefit from option:

    Select multiple audios for maximum compatibility with all devices
    Code:
    -mac, --max-audio-compatability
    like the VT
    https://github.com/chu23465/VT-PR?tab=readme-ov-file


    to save 2 audio tracks DDP 5.1 and AAC 2.0 for compatibility with CBC/CTV?
    Quote Quote  
  7. Thank you for your effort. I will send the complete command and the responses.

    Code:
    uv run unshackle --debug  dl YTBE Z70Oxjl7gc8
    
                               ░█▀▀░█▀█░█░█░▀█▀░█▀▀░█▀▄
                               ░█▀▀░█░█░▀▄▀░░█░░█▀▀░█░█
                               ░▀▀▀░▀░▀░░▀░░▀▀▀░▀▀▀░▀▀░
    
                               and more than unshackled...
    
                    v 1.4.8 - https://github.com/vinefeeder/envied
    
         Service Config loaded
         Loaded 0/0 Vaults
         No vaults are currently active
         Loaded Widevine CDM: 4445 (L3)
    
      ────────────────────────────── Service: YTBE ───────────────────────────────
    
         Starting new HTTPS connection (1): ipinfo.io:443
         https://ipinfo.io:443 "GET /json HTTP/1.1" 200 None
         Service is not Geoblocked in your region
         Authenticated with Service
         Cache key mapping: Z70Oxjl7gc8 -> titles_8b1e2300389c93c1_br
         Cache miss for Z70Oxjl7gc8, fetching fresh data
         Starting new HTTPS connection (1): www.youtube.com:443
         https://www.youtube.com:443 "GET /watch?v=Z70Oxjl7gc8 HTTP/1.1" 200
         None
         https://www.youtube.com:443 "POST
         /youtubei/v1/player?key=AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8
         HTTP/1.1" 200 10914
         Successfully fetched titles for Z70Oxjl7gc8, updating cache
    
      ──────────────────────── Movies: Amigos Alienígenas ────────────────────────
    
         1 Movie
    
      ──────────────────────────── Amigos Alienígenas ────────────────────────────
    
         Starting new HTTPS connection (1): manifest.googlevideo.com:443
         https://manifest.googlevideo.com:443 "GET
         /api/manifest/dash/expire/1764867678/ei/_mkxadXhD6-ZobIP_LDTaQ/ip/179.
         148.162.127/id/67bd0ec6397b81cf/source/youtube/requiressl/yes/xpc/EgVo
         2aDSNQ%3D%3D/playback_host/rr2---sn-8p8v-bpbk.googlevideo.com/cps/0/me
         t/1764846078%2C/mh/RL/mm/31%2C29/mn/sn-8p8v-bpbk%2Csn-b8u-bpbl/ms/au%2
         Crdu/mv/m/mvi/2/pl/24/rms/au%2Cau/tx/51679579/txs/51679575%2C51679576%
         2C51679577%2C51679578%2C51679579/ctier/A/as/fmp4_audio_cenc%2Cfmp4_sd_
         hd_cenc/pfa/5/gcr/br/initcwndbps/2363750/hightc/yes/siu/1/spc/6b0G_GN-
         RFenTlrrkedT8fuwrXHasZecfRl30mwTxJok_4Ya9kQU/vprv/1/rqh/2/mt/176484558
         6/fvip/3/keepalive/yes/fexp/51355912%2C51552689%2C51565116%2C51565681%
         2C51580968/itag/0/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%
         2Cxpc%2Ctx%2Ctxs%2Cctier%2Cas%2Cpfa%2Cgcr%2Chightc%2Csiu%2Cspc%2Cvprv%
         2Crqh%2Citag/sig/AJfQdSswRgIhAJAzJGsJDCwiPpISGHcxnBA4Bnl4mY_C64El7FISe
         QLXAiEA-IHrJbzVjDkiObOwwaZJ2Kqejm6-9043uxtUm66b1Pc%3D/lsparams/playbac
         k_host%2Ccps%2Cmet%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Crms%2Cinitcwn
         dbps/lsig/APaTxxMwRQIgC0cf5WlWCf_Q3ZvwkOsHMZTNHQCi204pNCFPgRXjRb8CIQCK
         murgv7DK5NySMeX_7b3q6hy40c9_bb_ei8HNcc6B0Q%3D%3D HTTP/1.1" 404 2658
    ╭───────────────────── Traceback (most recent call last) ──────────────────────╮
    │ in _run_module_as_main:198                                                   │
    │ in _run_code:88                                                              │
    │                                                                              │
    │ in <module>:10                                                               │
    │                                                                              │
    │ C:\envied\.venv\Lib\site-packages\click\core.py:1442 in __call__             │
    │                                                                              │
    │ C:\envied\.venv\Lib\site-packages\click\core.py:1363 in main                 │
    │                                                                              │
    │ C:\envied\.venv\Lib\site-packages\click\core.py:1830 in invoke               │
    │                                                                              │
    │ C:\envied\.venv\Lib\site-packages\click\core.py:1830 in invoke               │
    │                                                                              │
    │ C:\envied\.venv\Lib\site-packages\click\core.py:1799 in _process_result      │
    │                                                                              │
    │ C:\envied\.venv\Lib\site-packages\click\core.py:794 in invoke                │
    │                                                                              │
    │ C:\envied\unshackle\commands\dl.py:667 in result                             │
    │                                                                              │
    │    664 │   │   │   │   title.tracks.subtitles = []                           │
    │    665 │   │   │                                                             │
    │    666 │   │   │   with console.status("Getting tracks...", spinner="dots"): │
    │ ❱  667 │   │   │   │   title.tracks.add(service.get_tracks(title), warn_only │
    │    668 │   │   │   │   title.tracks.chapters = service.get_chapters(title)   │
    │    669 │   │   │                                                             │
    │    670 │   │   │   # strip SDH subs to non-SDH if no equivalent same-lang no │
    │                                                                              │
    │ C:\envied\unshackle\services\YTBE\__init__.py:162 in get_tracks              │
    │                                                                              │
    │   159 │   │   response_data = self.last_response_data                        │
    │   160 │   │   dashManifestUrl = response_data.get('streamingData', {}).get(' │
    │   161 │   │                                                                  │
    │ ❱ 162 │   │   return DASH.from_url(dashManifestUrl, session=self.session).to │
    │   163 │                                                                      │
    │   164 │   def get_chapters(self, title: Title_T) -> Chapters:                │
    │   165 │   │   return []                                                      │
    │                                                                              │
    │ C:\envied\unshackle\core\manifests\dash.py:67 in from_url                    │
    │                                                                              │
    │    64 │   │   │   url = res.url                                              │
    │    65 │   │                                                                  │
    │    66 │   │   if not res.ok:                                                 │
    │ ❱  67 │   │   │   raise requests.ConnectionError("Failed to request the MPD  │
    │    68 │   │                                                                  │
    │    69 │   │   return DASH.from_text(res.text, url)                           │
    │    70                                                                        │
    ╰──────────────────────────────────────────────────────────────────────────────╯
    ConnectionError: Failed to request the MPD document.
    Image Attached Files
    Quote Quote  
  8. Member
    Join Date
    Feb 2022
    Location
    Search the forum first!
    Search PM
    Envied is now at version 2.1.0
    If you installed via
    Code:
    git clone https://github.com/vinefeeder/envied.git
    open the envied folder in Terminal or powershell and enter
    Code:
     git pull
    to update
    Noob Starter Pack. Just download every Widevine mpd! Not kidding!.
    https://files.videohelp.com/u/301890/hellyes6.zip
    Quote Quote  
  9. I just updated.
    A new exception occurred.
    Code:
    uv run unshackle --debug  dl YTBE Z70Oxjl7gc8
    
                               ░█▀▀░█▀█░█░█░▀█▀░█▀▀░█▀▄
                               ░█▀▀░█░█░▀▄▀░░█░░█▀▀░█░█
                               ░▀▀▀░▀░▀░░▀░░▀▀▀░▀▀▀░▀▀░
    
                               and more than unshackled...
    
                    v 2.1.0 - https://github.com/vinefeeder/envied
    
         Service Config loaded
         Loaded 0/0 Vaults
         No vaults are currently active
    
      ────────────────────────────── Service: YTBE ───────────────────────────────
    
         Starting new HTTPS connection (1): ipinfo.io:443
         https://ipinfo.io:443 "GET /json HTTP/1.1" 200 None
         Service is not Geoblocked in your region
         Authenticated with Service
         Cache key mapping: Z70Oxjl7gc8 -> titles_8b1e2300389c93c1_br
         Cache hit for Z70Oxjl7gc8 (hits: 1, misses: 0)
    
      ──────────────────────── Movies: Amigos Alienígenas ────────────────────────
    
         1 Movie
    
      ──────────────────────────── Amigos Alienígenas ────────────────────────────
    
    ╭───────────────────── Traceback (most recent call last) ──────────────────────╮
    │ in _run_module_as_main:198                                                   │
    │ in _run_code:88                                                              │
    │                                                                              │
    │ in <module>:10                                                               │
    │                                                                              │
    │ C:\envied\.venv\Lib\site-packages\click\core.py:1462 in __call__             │
    │                                                                              │
    │ C:\envied\.venv\Lib\site-packages\click\core.py:1383 in main                 │
    │                                                                              │
    │ C:\envied\.venv\Lib\site-packages\click\core.py:1850 in invoke               │
    │                                                                              │
    │ C:\envied\.venv\Lib\site-packages\click\core.py:1850 in invoke               │
    │                                                                              │
    │ C:\envied\.venv\Lib\site-packages\click\core.py:1819 in _process_result      │
    │                                                                              │
    │ C:\envied\.venv\Lib\site-packages\click\core.py:814 in invoke                │
    │                                                                              │
    │ C:\envied\unshackle\commands\dl.py:1034 in result                            │
    │                                                                              │
    │   1031 │   │   │                                                             │
    │   1032 │   │   │   with console.status("Getting tracks...", spinner="dots"): │
    │   1033 │   │   │   │   try:                                                  │
    │ ❱ 1034 │   │   │   │   │   title.tracks.add(service.get_tracks(title), warn_ │
    │   1035 │   │   │   │   │   title.tracks.chapters = service.get_chapters(titl │
    │   1036 │   │   │   │   except Exception as e:                                │
    │   1037 │   │   │   │   │   if self.debug_logger:                             │
    │                                                                              │
    │ C:\envied\unshackle\services\YTBE\__init__.py:162 in get_tracks              │
    │                                                                              │
    │   159 │   │   response_data = self.last_response_data                        │
    │   160 │   │   dashManifestUrl = response_data.get('streamingData', {}).get(' │
    │   161 │   │                                                                  │
    │ ❱ 162 │   │   return DASH.from_url(dashManifestUrl, session=self.session).to │
    │   163 │                                                                      │
    │   164 │   def get_chapters(self, title: Title_T) -> Chapters:                │
    │   165 │   │   return []                                                      │
    │                                                                              │
    │ C:\envied\unshackle\core\manifests\dash.py:53 in from_url                    │
    │                                                                              │
    │    50 │   @classmethod                                                       │
    │    51 │   def from_url(cls, url: str, session: Optional[Union[Session, CurlS │
    │    52 │   │   if not url:                                                    │
    │ ❱  53 │   │   │   raise requests.URLRequired("DASH manifest URL must be prov │
    │    54 │   │   if not isinstance(url, str):                                   │
    │    55 │   │   │   raise TypeError(f"Expected url to be a {str}, not {url!r}" │
    │    56                                                                        │
    ╰──────────────────────────────────────────────────────────────────────────────╯
    URLRequired: DASH manifest URL must be provided for relative path computations.
    Log:
    Code:
    {"timestamp": "2025-12-04T13:41:39.706581+00:00", "session_id": "f0dccc6c", "level": "INFO", "operation": "session_start", "message": "Debug logging session started", "context": {"unshackle_version": "2.1.0", "python_version": "3.12.12 (main, Oct 28 2025, 14:15:42) [MSC v.1944 64 bit (AMD64)]", "platform": "Windows-10-10.0.18363-SP0", "platform_system": "Windows", "platform_release": "10"}}
    {"timestamp": "2025-12-04T13:41:39.706581+00:00", "session_id": "f0dccc6c", "level": "INFO", "operation": "download_init", "message": "Download command initialized for service YTBE", "service": "YTBE", "context": {"profile": null, "proxy": null, "tag": null, "tmdb_id": null, "tmdb_name": false, "tmdb_year": false, "cli_params": {"quality": [], "vcodec": null, "acodec": null, "vbitrate": null, "abitrate": null, "range_": ["SDR"], "channels": null, "no_atmos": false, "select_titles": false, "wanted": null, "latest_episode": false, "lang": ["orig"], "v_lang": [], "a_lang": [], "s_lang": ["all"], "require_subs": [], "forced_subs": false, "exact_lang": false, "sub_format": null, "video_only": false, "audio_only": false, "subs_only": false, "chapters_only": false, "no_subs": false, "no_audio": false, "no_chapters": false, "no_video": false, "audio_description": false, "slow": false, "list_": false, "list_titles": false, "skip_dl": false, "export": null, "cdm_only": null, "no_proxy": false, "no_folder": false, "no_source": false, "no_mux": false, "workers": null, "downloads": 1, "no_cache": false, "reset_cache": false, "best_available": false}}}
    {"timestamp": "2025-12-04T13:41:39.718940+00:00", "session_id": "f0dccc6c", "level": "DEBUG", "operation": "load_service_config", "service": "YTBE", "context": {"config_path": "C:\\envied\\unshackle\\services\\YTBE\\config.yaml", "config": {"cookie": "[REDACTED]", "service": "services\\YTBE\\__init__.py"}}}
    {"timestamp": "2025-12-04T13:41:40.190018+00:00", "session_id": "f0dccc6c", "level": "DEBUG", "operation": "drm_mode_config", "service": "YTBE", "context": {"cdm_only": null, "vaults_only": null, "mode": "Both CDM and Vaults"}}
    {"timestamp": "2025-12-04T13:41:40.199966+00:00", "session_id": "f0dccc6c", "level": "INFO", "operation": "authenticate", "service": "YTBE", "context": {"has_cookies": true, "has_credentials": false, "profile": null}}
    {"timestamp": "2025-12-04T13:41:40.233721+00:00", "session_id": "f0dccc6c", "level": "INFO", "operation": "get_titles", "service": "YTBE", "context": {"titles": {"type": "Movies", "count": 1, "title": "Amigos Alien\u00edgenas"}}}
    {"timestamp": "2025-12-04T13:41:40.311763+00:00", "session_id": "f0dccc6c", "level": "ERROR", "operation": "get_tracks", "message": "Error in get_tracks: DASH manifest URL must be provided for relative path computations.", "service": "YTBE", "context": {"title": "Amigos Alien\u00edgenas"}, "success": false, "error": {"type": "URLRequired", "message": "DASH manifest URL must be provided for relative path computations.", "traceback": ["Traceback (most recent call last):\n", "  File \"C:\\envied\\unshackle\\commands\\dl.py\", line 1034, in result\n    title.tracks.add(service.get_tracks(title), warn_only=True)\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^\n", "  File \"C:\\envied\\unshackle\\services\\YTBE\\__init__.py\", line 162, in get_tracks\n    return DASH.from_url(dashManifestUrl, session=self.session).to_tracks(language=\"en\")\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", "  File \"C:\\envied\\unshackle\\core\\manifests\\dash.py\", line 53, in from_url\n    raise requests.URLRequired(\"DASH manifest URL must be provided for relative path computations.\")\n", "requests.exceptions.URLRequired: DASH manifest URL must be provided for relative path computations.\n"]}}
    {"timestamp": "2025-12-04T13:41:40.787614+00:00", "session_id": "f0dccc6c", "level": "INFO", "operation": "session_end", "message": "Debug logging session ended"}
    Quote Quote  
  10. Originally Posted by A_n_g_e_l_a View Post
    Announcing Envied to the World! Envied is an anagram of Devine and the name pays homage to devine's author.

    https://github.com/vinefeeder/envied
    Been using it for a while, great tool, thank you!
    Quote Quote  
  11. I keep getting service is geoblocked for YTBE even though I can watch the video just fine on browser.
    Image
    [Attachment 90095 - Click to enlarge]
    Quote Quote  
  12. Member
    Join Date
    Feb 2022
    Location
    Search the forum first!
    Search PM
    @Numero @MrArchive221

    Here's how it is guys; I find services tucked in various places on the web and port them over to envied. If they work for you - great; if they don't then hard luck... try another approach.

    If I use a service and find an error, I will sometimes correct and post it.
    If I see an update to an existing service I will collect it and post.
    Usually the original authors will make their own corrections, eventually.
    And normally it is just a case of waiting ....

    It is well to remember service authors may not live in your country. They will have tested the service with endpoints available from where they live, which may, or may not, be the same as those available to you.
    There sometime is a note in the service _init__.py that helps you discover where that was, or if there are any restrictions on the service.
    (I seem to remember YTBE is/was restricted to Movies)
    Noob Starter Pack. Just download every Widevine mpd! Not kidding!.
    https://files.videohelp.com/u/301890/hellyes6.zip
    Quote Quote  



Similar Threads

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