VideoHelp Forum




+ Reply to Thread
Results 1 to 9 of 9
  1. Member
    Join Date
    Nov 2023
    Location
    USA
    Search Comp PM
    Hello,

    I try to download : https://pluto.tv/fr/on-demand/series/614ae8d072d3a200132b7b28/season/1/episode/614ae8d...d3a200132b7b61

    with yt-dlp, it's not work.

    I have a error:

    Code:
    yt-dlp https://pluto.tv/fr/on-demand/series/614ae8d072d3a200132b7b28/season/1/episode/614ae8d372d3a200132b7b61
    WARNING: The program functionality for this site has been marked as broken, and will probably not work.
    [PlutoTV] Extracting URL: https://pluto.tv/fr/on-demand/series/614ae8d072d3a200132b7b28/season/1/episode/614ae8d372d3a200132b7b61
    [PlutoTV] 614ae8d072d3a200132b7b28: Downloading JSON metadata
    ERROR: [PlutoTV] Unable to download JSON metadata: HTTP Error 404: Not Found (caused by <HTTPError 404: Not Found>)
    Please help me.
    Thanks
    Quote Quote  
  2. Member
    Join Date
    Mar 2024
    Location
    Poland
    Search PM
    Originally Posted by ludo View Post
    Hello,

    I try to download : https://pluto.tv/fr/on-demand/series/614ae8d072d3a200132b7b28/season/1/episode/614ae8d...d3a200132b7b61

    with yt-dlp, it's not work.

    I have a error:

    Code:
    yt-dlp https://pluto.tv/fr/on-demand/series/614ae8d072d3a200132b7b28/season/1/episode/614ae8d372d3a200132b7b61
    WARNING: The program functionality for this site has been marked as broken, and will probably not work.
    [PlutoTV] Extracting URL: https://pluto.tv/fr/on-demand/series/614ae8d072d3a200132b7b28/season/1/episode/614ae8d372d3a200132b7b61
    [PlutoTV] 614ae8d072d3a200132b7b28: Downloading JSON metadata
    ERROR: [PlutoTV] Unable to download JSON metadata: HTTP Error 404: Not Found (caused by <HTTPError 404: Not Found>)
    Please help me.
    Thanks
    try this method:

    N_m3u8DL-RE

    Code:
    000000006536765a249975c4ae17ee2b:31a2bcac18214dfefac4ba4580730648
    000000006536765a249975c4ae17ee2c:1607ed859b32bc55b1c60c94354eef48
    Quote Quote  
  3. Member
    Join Date
    Nov 2023
    Location
    USA
    Search Comp PM
    I can't find a tutorial on how to use the N_m3u8DL-RE program. And how to find the keys
    Thanks
    Quote Quote  
  4. how to find the keys ... forget (atm)

    about N_m3u8DL-RE click on the link

    how to use: find m3u8 from pluto tv, the open cmd win and type:
    Code:
    N-m3u8DL-RE -M format=mkv --key xx:xx --key xx:xx "https://m3u8"
    replace xx with the key above (post#2) and on same folder with RE, add also ffmpeg and mp4decrypt
    Quote Quote  
  5. Member
    Join Date
    Nov 2023
    Location
    USA
    Search Comp PM
    Thanks, it's work.
    Quote Quote  
  6. Member
    Join Date
    Nov 2023
    Location
    USA
    Search Comp PM
    how to find the keys.

    I use http://108.181.133.95:8080/
    url: https://pluto.tv/fr/on-demand/series/614ae8d072d3a200132b7b28/season/1/episode/614ae8d...d3a200132b7b61

    I have the mpd address: https://infinity-c32.youboranqs01.com/infinity/video/start?live=false&pingTime=10&plug...b61%2Fmain.mpd or this : https://cfd-v4-service-stitcher-dash-use1-1.prd.pluto.tv/v2/stitch/dash/episode/614ae8...b7b61/main.mpd

    pssh>AAAASnBzc2gAAA7e+LqXnWSs6jyCfc1R0h7QAAACoSEAA AAABlNZaJl1xK4X7isSEAAABlNZaJl1xK4X7ixI49yVmwY=</cencssh>

    can't find license or headers


    or I use :
    Code:
    from pywidevine.cdm import Cdm
    from pywidevine.device import Device
    from pywidevine.pssh import PSSH
    import requests
    lic_token = input('token: ')
    headers = {'headers': lic_token} # i dont find the headers
    pssh = input("PSSH? ")
    pssh = PSSH(pssh)
    lic_url = '' #I dont find license
    device = Device.load("unknown_android_sdk_built_for_x86_16.0.0_dce1519f_8162_l1.wvd")
    cdm = Cdm.from_device(device)
    session_id = cdm.open()
    challenge = cdm.get_license_challenge(session_id, pssh)
    licence = requests.post(lic_url, headers = headers, data=challenge)
    licence.raise_for_status()
    cdm.parse_license(session_id, licence.content)
    for key in cdm.get_keys(session_id):
        if key.type=='CONTENT':
            print(f"\n--key {key.kid.hex}:{key.key.hex()}")
    cdm.close(session_id)
    Please help me
    Last edited by ludo; 9th Jul 2024 at 01:31.
    Quote Quote  
  7. Member aqzs's Avatar
    Join Date
    Mar 2024
    Location
    Paris
    Search Comp PM
    Here is the keys :
    Code:
    000000006536765a249975c4ae17ee2b:31a2bcac18214dfefac4ba4580730648
    000000006536765a249975c4ae17ee2c:1607ed859b32bc55b1c60c94354eef48
    Download command :
    Code:
    N_m3u8DL-RE "MPD URL" --key 000000006536765a249975c4ae17ee2b:31a2bcac18214dfefac4ba4580730648 --key 000000006536765a249975c4ae17ee2c:1607ed859b32bc55b1c60c94354eef48 -M mkv --save-name "Doctor.Who.S01E01"
    Download link : https://gofile.io/d/sHzhkZ
    Quote Quote  
  8. Member
    Join Date
    Nov 2023
    Location
    USA
    Search Comp PM
    I would like to know the procedure
    how to retrieve the key.
    Quote Quote  
  9. Member aqzs's Avatar
    Join Date
    Mar 2024
    Location
    Paris
    Search Comp PM
    Here is the licence url :
    Code:
    https://service-concierge.clusters.pluto.tv/v1/wv/alt
    You don't need headers at all :
    HTML Code:
    from pywidevine.cdm import Cdm
    from pywidevine.device import Device
    from pywidevine.pssh import PSSH
    import requests
    pssh = input("PSSH? ")
    pssh = PSSH(pssh)
    lic_url = 'https://service-concierge.clusters.pluto.tv/v1/wv/alt'
    device = Device.load(r"device.wvd")
    cdm = Cdm.from_device(device)
    session_id = cdm.open()
    challenge = cdm.get_license_challenge(session_id, pssh)
    licence = requests.post(lic_url, data=challenge)
    licence.raise_for_status()
    cdm.parse_license(session_id, licence.content)
    for key in cdm.get_keys(session_id):
        if key.type=='CONTENT':
            print(f"\n--key {key.kid.hex}:{key.key.hex()}")
    cdm.close(session_id)
    Quote Quote  



Similar Threads

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