VideoHelp Forum


Try StreamFab Downloader and download from Netflix, Amazon, Youtube! Or Try DVDFab and copy Blu-rays! or rip iTunes movies!


Try StreamFab Downloader and download streaming video from Youtube, Netflix, Amazon! Download free trial.


+ Reply to Thread
Results 1 to 8 of 8
Thread
  1. Hi,

    MPD:
    Code:
    https://svc40.main.ak.t-online.de/LCID3221228428.originalserver.prod.sngtv.t-online.de/PLTV/88888888/224/3221228428/3221228428.mpd
    License Server:
    Code:
    https://vmxdrmfklb1.sfm.t-online.de:8063/
    I got the following PSSH:
    Code:
    CAESEA7Llkv3eXVfs1IlXXX10h8aFG1hZ3lhcnRlbGVjb21nZXJtYW55Ig5yPTUyMTA0MyZzPTk1NSoFU0RfSEQ=
    Is this PSSH correct? I can't get a master key for it. Various tools show an error.
    Quote Quote  
  2. wrong pssh. try this
    Code:
    AAAAMnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAABISEKmL7+3Wec5Ko8gn3NUdIe0=
    Quote Quote  
  3. Originally Posted by lomero View Post
    wrong pssh. try this
    Code:
    AAAAMnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAABISEKmL7+3Wec5Ko8gn3NUdIe0=
    how you got this?
    Did you can get the master-key for that?
    Last edited by Caidking; 14th Oct 2022 at 08:54.
    Quote Quote  
  4. from your mpd. ede
    Quote Quote  
  5. Originally Posted by lomero View Post
    from your mpd. ede
    And which way you used?
    Did you got the master key as well?
    Quote Quote  
  6. Member
    Join Date
    Feb 2022
    Location
    Search the forum first!
    Search PM
    Originally Posted by Caidking View Post
    push
    Helpful isn't he, Lomero?

    Image
    [Attachment 67279 - Click to enlarge]


    Display the results from the mpd. I use curl 'mpd-url'. Or put it in a browser. Select the highlighted UUID - note the full line at the end says Widevine.
    Then decode with a python routine. I took this from part of a Notaghost program so thanks to Ghost we have this:-

    Code:
    import base64
    
    def get_pssh(keyId):
        array_of_bytes = bytearray( b'\x00\x00\x002pssh\x00\x00\x00\x00')
        array_of_bytes.extend(bytes.fromhex("edef8ba979d64acea3c827dcd51d21ed"))
        array_of_bytes.extend(b'\x00\x00\x00\x12\x12\x10')
        array_of_bytes.extend(bytes.fromhex( keyId.replace("-", "")))
        return base64.b64encode(bytes.fromhex(array_of_bytes.hex()))
    
    kid = input("Please input KID in hex string: ")
    kid = kid.replace('-', '')
    assert len(kid) == 32 and not isinstance(kid, bytes), "wrong KID length"
    print("PSSH {}".format(get_pssh(kid).decode('utf-8')))
    When run the above routine produces:-
    Code:
    PSSH AAAAMnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAABISEO3vi6l51krOo8gn3NUdIe0=
    which should match what whatshisface said,

    I cannot check it works as I am geo-locked.
    Last edited by A_n_g_e_l_a; 19th Oct 2022 at 03:51.
    Quote Quote  
  7. Caidking, to start with I have to mention that I've only recently started looking at this whole topic and the more I learn, the more I discover that I don't know. With that said, to the best of my knowledge a genuine pssh will always start with 4 'A's.

    The characters you posted start with 'CAES', characters which, incidentally, I have only ever seen being sent to (not from) a license server, but like I said, I haven't been looking for long.

    My sums could be wrong of course, but the reason I think the pssh will always start with 4 'A's is because the first 4 bytes of the decoded pssh seem to represent its length, and since the length is relatively short (below 0xFF), the first 3 of those bytes are always 0x00, and if you b64 encoded 3 '0x00's you get 4 'A's.

    I thought this post from ridibunda was very helpful: https://forum.videohelp.com/threads/404586-how-to-work-out-the-pssh-when-not-shown-in-...pd#post2649666

    If the pssh from lomero is correct, and if indeed the pssh was generated from the mpd file, then you should see a KID of: a98befed-d679ce4a-a3c827dc-d51d21ed in there somewhere.
    Quote Quote  



Similar Threads

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