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. Hey Guys,

    I've started playing and learning to download/decrypt video from streaming site. On crave I can do the 720p without issue but the 1080p videos are causing some headache.

    For exemple this URL, 1080p is only available usng EDGE : https://www.crave.ca/en/tv-shows/elles-ont-tue/episode-1-s1e1

    Using EME Logger won't give me the pssh. From what I understand this is a PlayReady encrypted video.

    Manifest : https://u1.video.9c9media.com/video/v1/218169/dash/playready/zultimate-01000110/manifest.mpd

    I can download the video without issue but getting the keys is not working and I can't figure out how. I've try download the init.mp4 but it doesn't contain anything useful and can't get pssh extracted.

    Anyone can point me to some article or documentations that could help me undertand and learn the proper way to do it?

    Thanks,
    r0ot5
    Quote Quote  
  2. Average video editor Sviests's Avatar
    Join Date
    Sep 2018
    Location
    USA,Sweden
    Search Comp PM
    From init file:
    >mp4dump init.mp4
    ...
    default_KID = [cc 4b 43 4f b4 47 cc 7a fc be ed bf 60 d7 f0 88]
    ...
    KID to PSSH:
    >widevine_pssh.py --key_ids cc4b434f-b447-cc7a-fcbe-edbf60d7f088
    --widevine.drm_specific_data=AAAARnBzc2gBAAAA7e+LqXn WSs6jyCfc1R0h7QAAAAHMS0NPtEfMevy+7b9g1/CIAAAAEhIQzEtDT7RHzHr8vu2/YNfwiA==
    Quote Quote  
  3. Banned
    Join Date
    Apr 2022
    Location
    Hong Kong
    Search Comp PM
    Did you see that 'playready' in the manifest URL?
    You can just add a '?filter=25' to get 1080p on your Chrome. Those 4K videos are also L3.
    Quote Quote  
  4. When I check in the network tab, the authenticating server seems to be 'playready'

    Image
    [Attachment 76065 - Click to enlarge]


    Once I have the pssh, I'm trying to request the keys but it's always failing using the following URL:

    https://license.9c9media.ca/playready?jwt=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.....and I get this URL from the entry you see in the screenshot and select copy URL.

    Maybe I'm doing it wrong. Like I said, I'm doing the same thing for the 720p video and it's working fine but the 1080p is causing me issue.
    Quote Quote  
  5. Originally Posted by r0ot5 View Post
    When I check in the network tab, the authenticating server seems to be 'playready'

    Image
    [Attachment 76065 - Click to enlarge]


    Once I have the pssh, I'm trying to request the keys but it's always failing using the following URL:

    https://license.9c9media.ca/playready?jwt=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.....and I get this URL from the entry you see in the screenshot and select copy URL.

    Maybe I'm doing it wrong. Like I said, I'm doing the same thing for the 720p video and it's working fine but the 1080p is causing me issue.
    Have you tried, in your header, to use the Edge user agent like this?

    Code:
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0
    Btw, unless you are trying to automatize the process to download in batch, this is a non issue because both the 720p and the 1080p should have the same kid:key combination.
    Quote Quote  
  6. Originally Posted by white_snake View Post
    Originally Posted by r0ot5 View Post
    When I check in the network tab, the authenticating server seems to be 'playready'

    Image
    [Attachment 76065 - Click to enlarge]


    Once I have the pssh, I'm trying to request the keys but it's always failing using the following URL:

    https://license.9c9media.ca/playready?jwt=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.....and I get this URL from the entry you see in the screenshot and select copy URL.

    Maybe I'm doing it wrong. Like I said, I'm doing the same thing for the 720p video and it's working fine but the 1080p is causing me issue.
    Have you tried, in your header, to use the Edge user agent like this?

    Code:
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0
    Btw, unless you are trying to automatize the process to download in batch, this is a non issue because both the 720p and the 1080p should have the same kid:key combination.
    Yes I did try with the CDRM-Project and it's returning Error 500 using the URL from the screenshot. They don't seem to be part of the same Manifest, when using Firefox I get a different one.
    Quote Quote  
  7. Perhaps you're missing some additional headers that are sent with your license request. Maybe the user agent isn't the only relevant one. Try including them all.
    Quote Quote  
  8. I did try to include all headers informatons but I'm still getting back Error 500.

    Here's the header:

    headers = {
    'authority': 'license.9c9media.ca',
    'accept': '*/*',
    'accept-language': 'en-US,en;q=0.9',
    'content-type': 'text/xml; charset=utf-8',
    'origin': 'https://www.crave.ca',
    'referer': 'https://www.crave.ca/',
    'sec-ch-ua': '"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': '"Windows"',
    'sec-fetch-dest': 'empty',
    'sec-fetch-mode': 'cors',
    'sec-fetch-site': 'cross-site',
    'soapaction': '"http://schemas.microsoft.com/DRM/2007/03/protocols/AcquireLicense"',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0',
    }
    Also, not sure how @CrymanChenc generated the pssh, I've try to deploy pycpix and I'm getting errors when running it.
    Quote Quote  
  9. Originally Posted by CrymanChen View Post
    Did you see that 'playready' in the manifest URL?
    You can just add a '?filter=25' to get 1080p on your Chrome. Those 4K videos are also L3.
    What do you add/modify to get the 4k?
    Quote Quote  
  10. Banned
    Join Date
    Apr 2022
    Location
    Hong Kong
    Search Comp PM
    Originally Posted by r0ot5 View Post
    I did try to include all headers informatons but I'm still getting back Error 500.

    Here's the header:

    headers = {
    'authority': 'license.9c9media.ca',
    'accept': '*/*',
    'accept-language': 'en-US,en;q=0.9',
    'content-type': 'text/xml; charset=utf-8',
    'origin': 'https://www.crave.ca',
    'referer': 'https://www.crave.ca/',
    'sec-ch-ua': '"Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"',
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': '"Windows"',
    'sec-fetch-dest': 'empty',
    'sec-fetch-mode': 'cors',
    'sec-fetch-site': 'cross-site',
    'soapaction': '"http://schemas.microsoft.com/DRM/2007/03/protocols/AcquireLicense"',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0',
    }
    Also, not sure how @CrymanChenc generated the pssh, I've try to deploy pycpix and I'm getting errors when running it.
    I think you've caught the wrong request.

    Mine below:
    Code:
    headers = {
        'Accept': '*/*',
        'Accept-Language': 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7,ru;q=0.6',
        'Authorization': 'HIDDEN',
        'Cache-Control': 'no-cache',
        'Connection': 'keep-alive',
        'Content-Type': 'application/json',
        'DNT': '1',
        'Origin': 'https://www.crave.ca',
        'Pragma': 'no-cache',
        'Referer': 'https://www.crave.ca/en/tv-shows/fantastic-friends/dubai-s1e3',
        'Sec-Fetch-Dest': 'empty',
        'Sec-Fetch-Mode': 'cors',
        'Sec-Fetch-Site': 'cross-site',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36',
        'sec-ch-ua': '"Not.A/Brand";v="8", "Chromium";v="114", "Google Chrome";v="114"',
        'sec-ch-ua-mobile': '?0',
        'sec-ch-ua-platform': '"Windows"',
    }
    You'll get an HTTP 500 without the Authorization key-value pair.

    9c9media won't use an XML to exchange licenses when you are using Widevine. They will do so only when it's PlayReady.
    (Don't tell me you want to get the content key for PlayReady. We are talking about the Widevine stuff.)

    And with Widevine, it works perfectly.
    Image
    [Attachment 76078 - Click to enlarge]
    Last edited by CrymanChen; 6th Jan 2024 at 20:02.
    Quote Quote  
  11. I think I'm mixed up, when using Firefox I get the correct manifest and can decode it but I only see 720p. To be able to capture the 1080p manifest I need to use edge and that's where I keep seeing stuff related to 'playready'.

    Here's what I'm receiving based on the browser I use:

    Link to video : https://www.crave.ca/en/tv-shows/elles-ont-tue/episode-4-s1e4

    FF : https://u1.video.9c9media.com/video/v1/218168/dash/widevine/zbest-01000110/manifest.mpd
    Edge : https://u1.video.9c9media.com/video/v1/218169/dash/playready/zultimate-01000110/manifest.mpd

    Can't force 1080p using firefox with crave.....
    Last edited by r0ot5; 6th Jan 2024 at 20:53.
    Quote Quote  
  12. Banned
    Join Date
    Apr 2022
    Location
    Hong Kong
    Search Comp PM
    Originally Posted by r0ot5 View Post
    I think I'm mixed up, when using Firefox I get the correct manifest and can decode it but I only see 720p. To be able to capture the 1080p manifest I need to use edge and that's where I keep seeing stuff related to 'playready'.

    Here's what I'm receiving based on the browser I use:

    Link to video : https://www.crave.ca/en/tv-shows/elles-ont-tue/episode-4-s1e4

    FF : https://u1.video.9c9media.com/video/v1/218168/dash/widevine/zbest-01000110/manifest.mpd
    Edge : https://u1.video.9c9media.com/video/v1/218169/dash/playready/zultimate-01000110/manifest.mpd

    Can't force 1080p using firefox with crave.....
    Well it's OK to have some time sorting all of these stuff.
    PM me if you still have some questions.
    Quote Quote  



Similar Threads

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