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 7 of 7
  1. I tried to get the keys to download event from this live stream. It's FTA channel but I can't download or play it. It's encrypted stream I got the pssh and license URL. I tried to use cdrm-project api but couldn't find the keys. I'd be grateful if anyone can help

    PSSH
    Code:
    AAAAMnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAABISEH+q/khdtzlblYMiKjpueJ0=
    License URL
    Code:
    https://digiturk.live.ott.irdeto.com/licenseServer/widevine/v1/digiturk/license?contentId=svc-spo-hd-39-dt
    MPD
    Code:
    https://todtv-live-ent-prod.akamaized.net/Content/Channel/svc-spo-hd-39-dt/DASH/hdntl=exp=1757174513~acl=*%2fContent%2fChannel%2fsvc-spo-hd-39-dt%2fDASH%2f*~id=c581b14e-e535-4ef0-8a8a-65c8335ddbe5~data=hdntl,aXA9MTU2LjIwMy4xNDguMjE1LGF1ZD1tZW5h~hmac=a9ae3d554d725f976f409c7c1b6e0ed06214945151d554154a6cff51729e8ecc/playlist_tv.mpd
    I tried
    Code:
    import requests
    
    print(requests.post(
        url='https://cdrm-project.com/api/decrypt',
        headers={
            'Content-Type': 'application/json',
        },
        json={
            'pssh': 'AAAAMnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAABISEH+q/khdtzlblYMiKjpueJ0=',
            'licurl': 'https://digiturk.live.ott.irdeto.com/licenseServer/widevine/v1/digiturk/license?contentId=svc-spo-hd-39-dt',
            'headers': str({
                'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0',
                'Accept': '*/*',
                'Accept-Language': 'en-US,en;q=0.5',
            })
        }
    ).json()['message'])
    but I got

    Code:
    An error occurred parsing license content
    
    Cannot parse an empty license_message
    
    b'{"code":130001,"message":"License denied. Content [svc-spo-hd-39-dt] is not linked to any bundles entitled to the user."}'

    Image
    [Attachment 88577 - Click to enlarge]
    Quote Quote  
  2. Originally Posted by LZAA View Post
    Url?
    Code:
    https://todtv-live-ent-prod.akamaized.net/Content/Channel/svc-spo-hd-39-dt/DASH/hdntl=exp=1757174513~acl=*%2fContent%2fChannel%2fsvc-spo-hd-39-dt%2fDASH%2f*~id=c581b14e-e535-4ef0-8a8a-65c8335ddbe5~data=hdntl,aXA9MTU2LjIwMy4xNDguMjE1LGF1ZD1tZW5h~hmac=a9ae3d554d725f976f409c7c1b6e0ed06214945151d554154a6cff51729e8ecc/playlist_tv.mpd
    Quote Quote  
  3. the license should requires some authorization method and you are not send to license server. look carefully to find correct headers or payload.

    you posted the mpd url is useless since the pssh is correct and license request no need mpd url.
    Quote Quote  
  4. Originally Posted by shellcmd View Post
    the license should requires some authorization method and you are not send to license server. look carefully to find correct headers or payload.

    you posted the mpd url is useless since the pssh is correct and license request no need mpd url.
    do you mean tokens?
    Quote Quote  
  5. Originally Posted by shellcmd View Post
    the license should requires some authorization method and you are not send to license server. look carefully to find correct headers or payload.

    you posted the mpd url is useless since the pssh is correct and license request no need mpd url.
    This is all what I found

    Code:
    {
      "mpdUrl": "https://todtv-live-ent-prod.akamaized.net/Content/Channel/svc-spo-hd-39-dt/DASH/hdntl=exp=1757391847~acl=*%2fContent%2fChannel%2fsvc-spo-hd-39-dt%2fDASH%2f*~id=c581b14e-e535-4ef0-8a8a-65c8335ddbe5~data=hdntl,aXA9MTU2LjIwMy4xNDguMjE1LGF1ZD1tZW5h~hmac=ccd3b0adb2657f0fc896a68e0cc8e895326cb2d52e0d3001c4046094f7957266/playlist_tv.mpd",
      "licenseUrl": "https://digiturk.live.ott.irdeto.com/licenseServer/widevine/v1/digiturk/license?contentId=svc-spo-hd-39-dt",
      "mpdHeaders": {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36",
        "Accept": "*/*",
        "Sec-Fetch-Site": "none",
        "Sec-Fetch-Mode": "cors",
        "Sec-Fetch-Dest": "empty",
        "Sec-Fetch-Storage-Access": "active",
        "Accept-Encoding": "gzip, deflate, br, zstd",
        "Accept-Language": "en-US,en;q=0.9,ar;q=0.8,ms;q=0.7,ru;q=0.6"
      },
      "licenseHeaders": {
        "sec-ch-ua-platform": "\"Windows\"",
        "Authorization": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkNBMjNGNTc1MkE0QTQ1REY4MzRFOTVCQkQ4OTEzRDQxIn0.eyJhaWQiOiJkaWdpdHVyayIsInN1YiI6IlUwRTBNREkyTkRRNCIsImlzZSI6ZmFsc2UsImlwcyI6bnVsbCwiaXNzIjoiQmFzaWMtMi0xLTEiLCJqdGkiOiJOREF5TmpRME9Id3hOelUzTXpjd016SXpmRUpoYzJsamZESjhNUSIsImlhdCI6MTc1NzM3MDMyMywiZXhwIjoxNzU3MzcwOTIzLCJlbnQiOlt7ImJpZCI6IkJJRF9zdmMtc3BvLWhkLTM5LWR0IiwiZXBpZCI6IlRPRF9lcG9CYXNpY19zdHJlYW1pbmdPbmx5In1dfQ.X-OxdSAnvWwm3Q9f_hLVI9Q5XzZ9otftj8aEfZsuFUQ7Y_4mRZjghKL5FhgzsDMYiGZaiqZ-FjFoDnv_ChA8zO0W0IHZ8R4x-Po_KFmgn2_CgAmJL_yjZ6Uf8lcG-FkD9xPezNes9aZcJQgupnx1Gv7Vgnaqftj9SgdnA_cVtP59ONUMo0gVV4tw1Z5OVE2QcFMijwGeM8hCX1zyKyMjBx01zQixTqUCwuRobHiXOupSjo7f5aXx7m9_ImkMXsAz5MTTmI2z8cAemlcvlJuxkfPb5DVnyB_Kcr5kN-odsSFqSewh9E4IsAs9nyB9Im3zcmB0E8UTC_9Xxblkqb4tig",
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36",
        "Accept": "application/base64",
        "sec-ch-ua": "\"Not(A:Brand\";v=\"99\", \"Google Chrome\";v=\"133\", \"Chromium\";v=\"133\"",
        "Content-Type": "application/octet-stream",
        "sec-ch-ua-mobile": "?0",
        "Origin": "https://www.tod.tv",
        "Sec-Fetch-Site": "cross-site",
        "Sec-Fetch-Mode": "cors",
        "Sec-Fetch-Dest": "empty",
        "Referer": "https://www.tod.tv/",
        "Accept-Encoding": "gzip, deflate, br, zstd",
        "Accept-Language": "en-US,en;q=0.9,ar;q=0.8,ms;q=0.7,ru;q=0.6"
      },
      "cookies": {},
      "psshData": "AAADHnBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAv7+AgAAAQABAPQCPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBJAEQAPgBTAFAANgBxAGYANwBkAGQAVwB6AG0AVgBnAHkASQBxAE8AbQA1ADQAbgBRAD0APQA8AC8ASwBJAEQAPgA8AEMASABFAEMASwBTAFUATQA+ADQAZwBEAFUAOQBvAE4ASwBNAHIATQA9ADwALwBDAEgARQBDAEsAUwBVAE0APgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAGQAaQBnAGkAdAB1AHIAawAuAGwAaQB2AGUALgBvAHQAdAAuAGkAcgBkAGUAdABvAC4AYwBvAG0ALwBsAGkAYwBlAG4AcwBlAFMAZQByAHYAZQByAC8AcABsAGEAeQByAGUAYQBkAHkALwB2ADEALwBkAGkAZwBpAHQAdQByAGsALwBsAGkAYwBlAG4AcwBlAD8AYwBvAG4AdABlAG4AdABJAGQAPQBzAHYAYwAtAHMAcABvAC0AaABkAC0AMwA5AC0AZAB0ADwALwBMAEEAXwBVAFIATAA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A\n\nAAAAMnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAABISEH+q/khdtzlblYMiKjpueJ0=",
      "requestCount": 1224,
      "capturedAt": "2025-09-08T22:26:11.184Z"
    }
    Quote Quote  
  6. yes, try to add headers

    Code:
        headers = {
            'Authorization': 'Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkNBMjNGNTc1MkE0QTQ1REY4MzRFOTVCQkQ4OTEzRDQxIn0.eyJhaWQiOiJkaWdpdHVyayIsInN1YiI6IlUwRTBNREkyTkRRNCIsImlzZSI6ZmFsc2UsImlwcyI6bnVsbCwiaXNzIjoiQmFzaWMtMi0xLTEiLCJqdGkiOiJOREF5TmpRME9Id3hOelUzTXpjd016SXpmRUpoYzJsamZESjhNUSIsImlhdCI6MTc1NzM3MDMyMywiZXhwIjoxNzU3MzcwOTIzLCJlbnQiOlt7ImJpZCI6IkJJRF9zdmMtc3BvLWhkLTM5LWR0IiwiZXBpZCI6IlRPRF9lcG9CYXNpY19zdHJlYW1pbmdPbmx5In1dfQ.X-OxdSAnvWwm3Q9f_hLVI9Q5XzZ9otftj8aEfZsuFUQ7Y_4mRZjghKL5FhgzsDMYiGZaiqZ-FjFoDnv_ChA8zO0W0IHZ8R4x-Po_KFmgn2_CgAmJL_yjZ6Uf8lcG-FkD9xPezNes9aZcJQgupnx1Gv7Vgnaqftj9SgdnA_cVtP59ONUMo0gVV4tw1Z5OVE2QcFMijwGeM8hCX1zyKyMjBx01zQixTqUCwuRobHiXOupSjo7f5aXx7m9_ImkMXsAz5MTTmI2z8cAemlcvlJuxkfPb5DVnyB_Kcr5kN-odsSFqSewh9E4IsAs9nyB9Im3zcmB0E8UTC_9Xxblkqb4tig',
        }
    if the headers really from the license url header. then use it like above in a script.
    if you mean on cdrm web-site, then in headers zone, should input like a dict. im not sure since long time not use website:

    Code:
    {'Authorization': 'Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkNBMjNGNTc1MkE0QTQ1REY4MzRFOTVCQkQ4OTEzRDQxIn0.eyJhaWQiOiJkaWdpdHVyayIsInN1YiI6IlUwRTBNREkyTkRRNCIsImlzZSI6ZmFsc2UsImlwcyI6bnVsbCwiaXNzIjoiQmFzaWMtMi0xLTEiLCJqdGkiOiJOREF5TmpRME9Id3hOelUzTXpjd016SXpmRUpoYzJsamZESjhNUSIsImlhdCI6MTc1NzM3MDMyMywiZXhwIjoxNzU3MzcwOTIzLCJlbnQiOlt7ImJpZCI6IkJJRF9zdmMtc3BvLWhkLTM5LWR0IiwiZXBpZCI6IlRPRF9lcG9CYXNpY19zdHJlYW1pbmdPbmx5In1dfQ.X-OxdSAnvWwm3Q9f_hLVI9Q5XzZ9otftj8aEfZsuFUQ7Y_4mRZjghKL5FhgzsDMYiGZaiqZ-FjFoDnv_ChA8zO0W0IHZ8R4x-Po_KFmgn2_CgAmJL_yjZ6Uf8lcG-FkD9xPezNes9aZcJQgupnx1Gv7Vgnaqftj9SgdnA_cVtP59ONUMo0gVV4tw1Z5OVE2QcFMijwGeM8hCX1zyKyMjBx01zQixTqUCwuRobHiXOupSjo7f5aXx7m9_ImkMXsAz5MTTmI2z8cAemlcvlJuxkfPb5DVnyB_Kcr5kN-odsSFqSewh9E4IsAs9nyB9Im3zcmB0E8UTC_9Xxblkqb4tig'}
    please attention the authorization Bearer token expire in 10 minutes. so every time you should use a fresh headers.
    Quote Quote  



Similar Threads

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