VideoHelp Forum
+ Reply to Thread
Page 1 of 2
1 2 LastLast
Results 1 to 30 of 42
Thread
  1. I want to download this free video to show it my parents which have no internet.

    https://plus.rtl.de/video-tv/shows/hundkatzemaus-das-haustiermagazin-326254/2023-11-98...chzucht-937309

    I tried a lot of firefox plugins, jdownloader2 an yt-dlp.exe but i get the error:

    [generic] Extracting URL: https://plus.rtl.de/video-tv/shows/hundkatzemaus-das-haustiermagazin-326254/2023-11-98...chzucht-937309
    [generic] episode-43-hoffnung-fuer-feldhamster-und-waldrapp-die-nachzucht-937309: Downloading webpage
    WARNING: [generic] Falling back on generic information extractor
    [generic] episode-43-hoffnung-fuer-feldhamster-und-waldrapp-die-nachzucht-937309: Extracting information
    ERROR: Unsupported URL: https://plus.rtl.de/video-tv/shows/hundkatzemaus-das-haustiermagazin-326254/2023-11-98...chzucht-937309

    In the firefox storage i see this changing: bitmovinplayer_config:"{"b":[43578536.58536924,46224192,65467456.79010949],"b_t":1698585816472,"bitmovinplayer_licenseStorag e":"{\"inPersistentState\":false,\"drmData\":{\"wi devine\":{\"AAAAUHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7Q AAADAIARIgY2U4ZDliMGFiZjVkOTVlN2I5YTAwOTFkZTI1Zjkw MzUiBjkzNzMwOSoCU0Q=\":{\"hasLicense\":false,\"ini tDataStr\":\"\\u0000\\u0000\\u0000Ppssh\\u0000\\u0 000\\u0000\\u0000íï‹©yÖJΣÈ'ÜÕ\\u001d!í\\u0000\\u0 000\\u00000\\b\\u0001\\u0012 ce8d9b0abf5d95e7b9a0091de25f9035\\\"\\u0006937309* \\u0002SD\",\"isPending\":false,\"systemName\":\"w idevine\",\"wasRequested\":false,\"keyIds\":[],\"mediaKeyStatus\":\"unknown\",\"sessionId\":\"B5 10C4B35C66DFE1292F278DE9D5A52C\",\"expiration\":nu ll}}}}"}"

    How can i download the complete video?
    Quote Quote  
  2. Search the "mpd" URL in your Browsers develover tools, download that with "yt-dlp --allow-u" and use mp4decrypt with keys
    Code:
    ce8d9b0abf5d95e7b9a0091de25f9035:977abac430da243e5fcd2a55756c3d7f
    to decrypt the video.
    Quote Quote  
  3. Psychology student CrymanChen's Avatar
    Join Date
    Apr 2022
    Location
    Mainland China
    Search Comp PM
    Use yt-dlp and mp4decrypt altogether since this is a widevine protected video.

    yt-dlp command:
    Code:
    yt-dlp.exe --allow-u -N 6 -f bv,ba "https://vodnowusoawsdash.secure.footprint.net/p112/streaming/watch/937309/1-4000-1-1-1.ism/rtlplus.mpd"
    After the download is complete, use mp4decrypt to decrypt both the video and audio tracks:
    Code:
    mp4decrypt.exe --key ce8d9b0abf5d95e7b9a0091de25f9035:977abac430da243e5fcd2a55756c3d7f <encrypted video filename> <set an output name>
    [Optional] You can also use shaka-packager to decrypt it:
    Code:
    shaka-packager.exe in=<encrypted video filename>,stream=video,out=<set an output name> --enable_raw_key_decryption --keys key_id=ce8d9b0abf5d95e7b9a0091de25f9035:key=977abac430da243e5fcd2a55756c3d7f
    twitter @Cryman_Chen
    email crymanchen@gmail.com
    Quote Quote  
  4. Thx a lot. That works perfect. Where did you get the whole key? I saw the ce8d9b0abf5d95e7b9a0091de25f9035 but not the 977abac430da243e5fcd2a55756c3d7f.
    Quote Quote  
  5. Member
    Join Date
    Dec 2021
    Location
    england
    Search Comp PM
    wks-keys
    Code:
    Microsoft Windows [Version 10.0.22621.2428]
    (c) Microsoft Corporation. All rights reserved.
    
    C:\Users\Admins\WKS-KEYS>l3.py
    
    PSSH: AAAAUHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADAIARIgY2U4ZDliMGFiZjVkOTVlN2I5YTAwOTFkZTI1ZjkwMzUiBjkzNzMwOSoCU0Q=
    
    License URL: https://widevine.tvnow.de/index/license
    
    --key ce8d9b0abf5d95e7b9a0091de25f9035:977abac430da243e5fcd2a55756c3d7f
    header.py
    Code:
    import requests
    
    headers = {
        'x-auth-token': 'eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ4N1RJT2o1bXd3T0daLS1fOVdjcmhDbzdHemVCTDgwOWQxZlByN29wUThBIn0.eyJleHAiOjE2OTg2MzQ3MzcsImlhdCI6MTY5ODYyMDMzNywianRpIjoiMzE2NWE1NjEtNWMzZC00OWRkLWI4ODctODUzYjBlYjZmMTczIiwiaXNzIjoiaHR0cHM6Ly9hdXRoLnJ0bC5kZS9hdXRoL3JlYWxtcy9ydGxwbHVzIiwic3ViIjoiNWYyODFmOTAtOWM5OS00MzcwLWFmZDYtMTM1N2ZlMDc2N2YxIiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiYW5vbnltb3VzLXVzZXIiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJzY29wZSI6IiIsImNsaWVudEhvc3QiOiI4Ni4xOC4yMzQuMTU1IiwiY2xpZW50SWQiOiJhbm9ueW1vdXMtdXNlciIsImlzR3Vlc3QiOnRydWUsInBlcm1pc3Npb25zIjp7ImdlbmVyYWwiOnsicG9ydGFiaWxpdHkiOmZhbHNlLCJhbHBoYVYiOnRydWUsIm1heEFtb3VudE9mUHJvZmlsZXMiOjQsIm1heE1wYVByb2ZpbGVzIjo0LCJzZXRQaW4iOmZhbHNlLCJtYXhEb3dubG9hZERldmljZXMiOjAsImFjY2Vzc1ByZVNhbGUiOmZhbHNlfSwic3RyZWFtaW5nIjp7InZvZEFjY2Vzc1RvRnJlZUNvbnRlbnQiOnRydWUsInZvZEFjY2Vzc1RvUGF5Q29udGVudCI6ZmFsc2UsImxpdmVzdHJlYW1BY2Nlc3NUb0ZyZWVUdiI6ZmFsc2UsImxpdmVzdHJlYW1BY2Nlc3NUb1BheVR2IjpmYWxzZSwibGl2ZXN0cmVhbUFjY2Vzc1RvRmFzdCI6dHJ1ZSwidm9kUXVhbGl0eSI6IkxPVyIsImxpdmVRdWFsaXR5IjoiTE9XIiwiZmFzdFF1YWxpdHkiOiJMT1ciLCJtYXhQYXJhbGxlbFN0cmVhbXMiOjEsImxpdmVldmVudEFjY2Vzc1RvRnJlZVR2Ijp0cnVlLCJsaXZlZXZlbnRBY2Nlc3NUb1BheVR2IjpmYWxzZX0sIndhdGNoRmVhdHVyZXMiOnsiY29udGVudERvd25sb2FkIjpmYWxzZSwib3JpZ2luYWxWZXJzaW9uIjpmYWxzZSwiY29udGludWVXYXRjaGluZyI6ZmFsc2UsInNraXBBZCI6ZmFsc2UsImRvbGJ5IjpmYWxzZSwiYm9va21hcmtXYXRjaCI6ZmFsc2V9LCJhZHZlcnRpc2luZyI6eyJtYXhQcmVSb2xscyI6MywibWlkUm9sbHMiOnRydWUsInBvc3RSb2xscyI6dHJ1ZSwiY2hhcHRlcnMiOnRydWUsInNwZWNpYWxBZHMiOmZhbHNlLCJicmVha0FkcyI6ZmFsc2UsImFkU2NoZW1lIjoiYWRhX2ZyZWUiLCJ0ZWRQYXlBZHZlcnRpc2VtZW50IjpmYWxzZX0sIm11c2ljIjp7ImFjY2Vzc011c2ljQ29udGVudCI6ZmFsc2UsImFjY2Vzc011c2ljQ29udGVudE90aGVyUHJvZmlsZXMiOmZhbHNlLCJkZWV6ZXJPZmZlckNvZGUiOi0xLCJkZWV6ZXJUcmlhbE9mZmVyQ29kZSI6LTEsImRlZXplck1heFBhcmFsbGVsU3RyZWFtcyI6MCwidmlld011c2ljQ29udGVudCI6dHJ1ZX0sInBvZGNhc3RzIjp7ImJvb2ttYXJrUG9kY2FzdHMiOmZhbHNlLCJhY2Nlc3NGcmVlUG9kY2FzdHMiOnRydWUsImFjY2Vzc1ByZW1pdW1Qb2RjYXN0cyI6ZmFsc2UsImZvbGxvd1BvZGNhc3RzIjpmYWxzZSwiZG93bmxvYWRQb2RjYXN0cyI6ZmFsc2UsImNvbnRpbnVlTGlzdGVuaW5nUG9kY2FzdHMiOmZhbHNlfSwicmFkaW8iOnsiYWNjZXNzUmFkaW9Db250ZW50Ijp0cnVlfSwibWFnYXppbmUiOnsiYXJ0aWNsZUNyZWRpdHMiOjAsImFjY2Vzc01hZ2F6aW5lQXJ0aWNsZXMiOmZhbHNlLCJicmFuZFN1YnNjcmlwdGlvblNsb3RzIjowLCJib29rbWFya01hZ2F6aW5lIjpmYWxzZX0sImF1ZGlvYm9va3MiOnsiY2FuUmVkZWVtQ3JlZGl0IjpmYWxzZSwiY2FuUmVkZWVtQ3JlZGl0T3RoZXJQcm9maWxlcyI6ZmFsc2UsImFjY2Vzc0RlZXplckF1ZGlvYm9va3MiOmZhbHNlLCJhY2Nlc3NEZWV6ZXJBdWRpb2Jvb2tzT3RoZXJQcm9maWxlcyI6ZmFsc2UsImFjY2Vzc1ByaEF1ZGlvYm9va3MiOmZhbHNlLCJhY2Nlc3NQcmhBdWRpb2Jvb2tzT3RoZXJQcm9maWxlcyI6ZmFsc2UsImFjY2Vzc0JvdWdodFByaEF1ZGlvYm9va3MiOmZhbHNlLCJhY2Nlc3NCb3VnaHRQcmhBdWRpb2Jvb2tzT3RoZXJQcm9maWxlcyI6ZmFsc2UsInByaENyZWRpdHMiOjAsInByaE1heFBhcmFsbGVsU3RyZWFtcyI6MH0sInRvZ2dvIjp7InNraXBBZHZlcnRpc2luZyI6ZmFsc2V9fSwiY2xpZW50QWRkcmVzcyI6Ijg2LjE4LjIzNC4xNTUifQ.kG6CfeXeJT6dS7vc-AL57xJAS_NMiPbEGkMF97PsnkCQKFSsckS0CTyIWOr7-vxAFdh3aETL_fPSNzBGZaW7gUZ7L-Q_sXWi26IjcOUwMVlmLdJ7kASIB8nEeRzXX7tYjrhtyOuomFjbwRztUGuhdTtwGFfkgUFgN8nXsB9fzw4pvF9duW-k9T-pzTTe06_14Wnd-RGp0DWCFUPgJiUgD9GGsjLabZ9zMzyvtP0iFcvXcvVNiuGrJMxvMSgB6GFlKhjvOUXXC06CE--H1jw6Ag2Oh8WOPchtuCUkFP2I19yVZEzjpLjCW7xQf58zyg7nwv6FjeKfPse5nUtDfme-RQ',
    }
    Quote Quote  
  6. Originally Posted by iamghost View Post
    wks-keys
    Code:
    Microsoft Windows [Version 10.0.22621.2428]
    (c) Microsoft Corporation. All rights reserved.
    
    C:\Users\Admins\WKS-KEYS>l3.py
    
    PSSH: AAAAUHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADAIARIgY2U4ZDliMGFiZjVkOTVlN2I5YTAwOTFkZTI1ZjkwMzUiBjkzNzMwOSoCU0Q=
    
    License URL: https://widevine.tvnow.de/index/license
    
    --key ce8d9b0abf5d95e7b9a0091de25f9035:977abac430da243e5fcd2a55756c3d7f
    header.py
    Code:
    import requests
    
    headers = {
        'x-auth-token': 'eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ4N1RJT2o1bXd3T0daLS1fOVdjcmhDbzdHemVCTDgwOWQxZlByN29wUThBIn0.eyJleHAiOjE2OTg2MzQ3MzcsImlhdCI6MTY5ODYyMDMzNywianRpIjoiMzE2NWE1NjEtNWMzZC00OWRkLWI4ODctODUzYjBlYjZmMTczIiwiaXNzIjoiaHR0cHM6Ly9hdXRoLnJ0bC5kZS9hdXRoL3JlYWxtcy9ydGxwbHVzIiwic3ViIjoiNWYyODFmOTAtOWM5OS00MzcwLWFmZDYtMTM1N2ZlMDc2N2YxIiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiYW5vbnltb3VzLXVzZXIiLCJhbGxvd2VkLW9yaWdpbnMiOlsiKiJdLCJzY29wZSI6IiIsImNsaWVudEhvc3QiOiI4Ni4xOC4yMzQuMTU1IiwiY2xpZW50SWQiOiJhbm9ueW1vdXMtdXNlciIsImlzR3Vlc3QiOnRydWUsInBlcm1pc3Npb25zIjp7ImdlbmVyYWwiOnsicG9ydGFiaWxpdHkiOmZhbHNlLCJhbHBoYVYiOnRydWUsIm1heEFtb3VudE9mUHJvZmlsZXMiOjQsIm1heE1wYVByb2ZpbGVzIjo0LCJzZXRQaW4iOmZhbHNlLCJtYXhEb3dubG9hZERldmljZXMiOjAsImFjY2Vzc1ByZVNhbGUiOmZhbHNlfSwic3RyZWFtaW5nIjp7InZvZEFjY2Vzc1RvRnJlZUNvbnRlbnQiOnRydWUsInZvZEFjY2Vzc1RvUGF5Q29udGVudCI6ZmFsc2UsImxpdmVzdHJlYW1BY2Nlc3NUb0ZyZWVUdiI6ZmFsc2UsImxpdmVzdHJlYW1BY2Nlc3NUb1BheVR2IjpmYWxzZSwibGl2ZXN0cmVhbUFjY2Vzc1RvRmFzdCI6dHJ1ZSwidm9kUXVhbGl0eSI6IkxPVyIsImxpdmVRdWFsaXR5IjoiTE9XIiwiZmFzdFF1YWxpdHkiOiJMT1ciLCJtYXhQYXJhbGxlbFN0cmVhbXMiOjEsImxpdmVldmVudEFjY2Vzc1RvRnJlZVR2Ijp0cnVlLCJsaXZlZXZlbnRBY2Nlc3NUb1BheVR2IjpmYWxzZX0sIndhdGNoRmVhdHVyZXMiOnsiY29udGVudERvd25sb2FkIjpmYWxzZSwib3JpZ2luYWxWZXJzaW9uIjpmYWxzZSwiY29udGludWVXYXRjaGluZyI6ZmFsc2UsInNraXBBZCI6ZmFsc2UsImRvbGJ5IjpmYWxzZSwiYm9va21hcmtXYXRjaCI6ZmFsc2V9LCJhZHZlcnRpc2luZyI6eyJtYXhQcmVSb2xscyI6MywibWlkUm9sbHMiOnRydWUsInBvc3RSb2xscyI6dHJ1ZSwiY2hhcHRlcnMiOnRydWUsInNwZWNpYWxBZHMiOmZhbHNlLCJicmVha0FkcyI6ZmFsc2UsImFkU2NoZW1lIjoiYWRhX2ZyZWUiLCJ0ZWRQYXlBZHZlcnRpc2VtZW50IjpmYWxzZX0sIm11c2ljIjp7ImFjY2Vzc011c2ljQ29udGVudCI6ZmFsc2UsImFjY2Vzc011c2ljQ29udGVudE90aGVyUHJvZmlsZXMiOmZhbHNlLCJkZWV6ZXJPZmZlckNvZGUiOi0xLCJkZWV6ZXJUcmlhbE9mZmVyQ29kZSI6LTEsImRlZXplck1heFBhcmFsbGVsU3RyZWFtcyI6MCwidmlld011c2ljQ29udGVudCI6dHJ1ZX0sInBvZGNhc3RzIjp7ImJvb2ttYXJrUG9kY2FzdHMiOmZhbHNlLCJhY2Nlc3NGcmVlUG9kY2FzdHMiOnRydWUsImFjY2Vzc1ByZW1pdW1Qb2RjYXN0cyI6ZmFsc2UsImZvbGxvd1BvZGNhc3RzIjpmYWxzZSwiZG93bmxvYWRQb2RjYXN0cyI6ZmFsc2UsImNvbnRpbnVlTGlzdGVuaW5nUG9kY2FzdHMiOmZhbHNlfSwicmFkaW8iOnsiYWNjZXNzUmFkaW9Db250ZW50Ijp0cnVlfSwibWFnYXppbmUiOnsiYXJ0aWNsZUNyZWRpdHMiOjAsImFjY2Vzc01hZ2F6aW5lQXJ0aWNsZXMiOmZhbHNlLCJicmFuZFN1YnNjcmlwdGlvblNsb3RzIjowLCJib29rbWFya01hZ2F6aW5lIjpmYWxzZX0sImF1ZGlvYm9va3MiOnsiY2FuUmVkZWVtQ3JlZGl0IjpmYWxzZSwiY2FuUmVkZWVtQ3JlZGl0T3RoZXJQcm9maWxlcyI6ZmFsc2UsImFjY2Vzc0RlZXplckF1ZGlvYm9va3MiOmZhbHNlLCJhY2Nlc3NEZWV6ZXJBdWRpb2Jvb2tzT3RoZXJQcm9maWxlcyI6ZmFsc2UsImFjY2Vzc1ByaEF1ZGlvYm9va3MiOmZhbHNlLCJhY2Nlc3NQcmhBdWRpb2Jvb2tzT3RoZXJQcm9maWxlcyI6ZmFsc2UsImFjY2Vzc0JvdWdodFByaEF1ZGlvYm9va3MiOmZhbHNlLCJhY2Nlc3NCb3VnaHRQcmhBdWRpb2Jvb2tzT3RoZXJQcm9maWxlcyI6ZmFsc2UsInByaENyZWRpdHMiOjAsInByaE1heFBhcmFsbGVsU3RyZWFtcyI6MH0sInRvZ2dvIjp7InNraXBBZHZlcnRpc2luZyI6ZmFsc2V9fSwiY2xpZW50QWRkcmVzcyI6Ijg2LjE4LjIzNC4xNTUifQ.kG6CfeXeJT6dS7vc-AL57xJAS_NMiPbEGkMF97PsnkCQKFSsckS0CTyIWOr7-vxAFdh3aETL_fPSNzBGZaW7gUZ7L-Q_sXWi26IjcOUwMVlmLdJ7kASIB8nEeRzXX7tYjrhtyOuomFjbwRztUGuhdTtwGFfkgUFgN8nXsB9fzw4pvF9duW-k9T-pzTTe06_14Wnd-RGp0DWCFUPgJiUgD9GGsjLabZ9zMzyvtP0iFcvXcvVNiuGrJMxvMSgB6GFlKhjvOUXXC06CE--H1jw6Ag2Oh8WOPchtuCUkFP2I19yVZEzjpLjCW7xQf58zyg7nwv6FjeKfPse5nUtDfme-RQ',
    }
    Sorry for capturing this thread, but I'm also trying to get a video from plus.rtl.de. Trying with the video from OP I'm always getting a 404 with l3.py:
    Code:
    python l3.py
    
    Input MPD URL: https://vodnowusoawsdash.secure.footprint.net/p112/streaming/watch/937309/1-10000-1-1-1.ism/rtlplus.mpd
    License URL: https://widevine.tvnow.de/index/license
    
    PSSH obtained.
    AAAAUHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADAIARIgY2U4ZDliMGFiZjVkOTVlN2I5YTAwOTFkZTI1ZjkwMzUiBjkzNzMwOSoCU0Q=
    
    license response status: <Response [404]>
    Here's my full headers.py:
    Code:
    import requests
    
    headers = {
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/119.0',
        'Accept': '*/*',
        'Accept-Language': 'en-US,en;q=0.7,de;q=0.3',
        # 'Accept-Encoding': 'gzip, deflate, br',
        # Shortened this here for this post
        'x-auth-token': 'ey…',
        'Origin': 'https://plus.rtl.de',
        'Connection': 'keep-alive',
        'Referer': 'https://plus.rtl.de/',
        'Sec-Fetch-Dest': 'empty',
        'Sec-Fetch-Mode': 'cors',
        'Sec-Fetch-Site': 'cross-site',
        # Requests doesn't support trailers
        # 'TE': 'trailers',
        'Content-Type': 'application/x-www-form-urlencoded',
    }
    
    data = '\b\x01\x12ª,\x12H\nF\n0\b\x01\x12 ce8d9b0abf5d95e7b9a0091de25f9035"\x06937309*\x02SD\x10\x01\x1a\x10x®3\x1fõUbnº\x10\x1c\nkn\x8dÆ\x18\x01 ÍË\x93ª\x060\x168´äÓ¨\x01BÀ+\n\x14license.widevine.com\x12\x10\x17\x05¹\x17Ì\x12\x04\x86\x8b\x063:/w*\x8c\x1a\x80)s+j?gÜö¬,Ò\x8d\x9b<\x1dè\x05F\tÖ%\x9a\x12\x87ÀHl^Ù®ðÍiÆU\x87òÃ;+\x87\x83B\x1c\x15}\x8eû"\x95¡QxNPð\xadñ\x83¡âÔÖÉèMÉ\x96N5µ%\x19JL³-Ù\x7fy\x95\x1cñ\x1b¾\x9aJÎ\x0f\x81Á÷\x84\x00.÷N\fÚiÁ½\x8eú¦_\x8ca©å\x17Y-?$Màû\x8fØÌAþ®z¼¯õJ\aUÎÙ\x15K\x80?½þ\fCÿn°9kp½ä\ní©ºMvÃSM}\x03}Z¸\x16\x83\x8bv¶\x87ÌÀ´ü\x83©BW\x02\x8c÷ßèF\x16\x9a\vé\f\ff¬\x1fLBFð6³yý\x84&¢Ó\x15½6\t»¡\x93ïóC\x8f(µrg\x7f~\\¦Þ=\'\x12\x83.aÒÀôû\x1f\x11\x85\fÆ\x18\x92|ß\x94ç</Hò¥¸D1ñ0\x94\x11°)Í\x92\x1cpb+Ü´¦xÐ\x94Ò¿xA\x1ce\x067¬\x00XÂ1\x19\f,\x11\x11\x7fi\x9f#¸ÓDåÎ\xad=@û1ù&Fón®í°Èã!õ\x7f¿¿\a\x82æu\x96\x19\'ÐHeþv\x0e:ØÉ\x10ÁB\x8fØøöâZ\x0f§\x06¬ù\x14\x8c\xa0§T-\x94¼ìÎÍt¼\x83Á\xa0\x8bYþÈ\x1a],¨g\f\x81Pñ¥ñÂ\x92ÉÆ\x1d\x9a\nµ\x05Ôl\x9es\t\x94\x9c\x94Aع\x1a¼{]4\x91\x8aïT)¡¯Öøh\x04Ó\\kö\x8aô\x90i\x14M~\x8f\x86\x95sôÞ\x863¡æju\v\x9då0¹%¤2æ%\x11ç\x92\x19\x1dÜËǪX\x94.¡?\xadÔgÞ°Û)ð¶W¿\bÁÒÕ=ÉÛ\aÒÕ\x9b\x8fï|t_jZM\xa0\x8cs\v³>|\x88\x02\x88]ZJ\x91\x97ù¿\x8bH\x13Ì\x96\x14bqd\'\x89\x89æ|\x90ly\x7f£+£Y*QñQ2#«=½\x16V\vv.Tµ¾\'\x19×nÒçã²Ëèf\fËbqE\x158ó\x16¥Ëç×\xadc\x89(0`ï´\x8aùLV¯í\x8c\x06B=}\x15\x82`ÌU~f\x0eVA\x1dr!\x9fq_©^æf«nÇJÊ|#\x84k\x1a\x1cöfOJ\x1d\x81x\vêÞ\x91\x16â\x17{¹Îc+L\x13ê£!,\x05\x7f¶\nÚÛàñ\xa0`\x7ftD{¼\x15ò«úFp\x86\bµ©:\x8em3\x86á?Â2\x03\x8fÔ\x1aiÎ\x81ZiËÊ\x8fXþâÍÿ"\x98\tÓ\x1b¬ÒZM\x99Á;³Ó0ÿh£KÍ\x1cý\x92eÃñ`¡ad^\x93(º¹å\x18\x9b\x0eg\x91Ç\x1dä9Ã\x0ewyO3\x16\x02ï;µ>Á\v\x91ô\x98¬Ë\x12PIQü»¾|e\x9cïíïq`=b\a\xadÿÏ\x93Ô\x9dFæÎè¹³\x90%QøñUZ*\x96\nX^^\x8c$Æ+\x05`ÐËÀDsq¾Áùó_½R&}æª\x92§\x82\x04}%\x0føèLi¥å$\x97\n\x93\x9d\x9b?#\x8a´8}\x8d\x9aè\x1a.µ\x10ïô \x84\x8bg\x04@Wo;ò1ú³M\x10\r¬¢^\x01õ4ÜßBv\rì\x89/é=°\x92\x02\xa0l\x84\x0f\x00T\nmM\x98ª\x15x\x88|Ôâ\t^Ƹão\x98wäi(\x8bñ>Å·¨ï\x98s¦¿³mº}â´Å\x03\x83\x98\x15\x8eÁ\x06¨ÌVÅÛéÜYUx\x03jm(I%ÎüD\x8c-\x8fP»½J¥\x94Î0SÆ&o\\H½psÚöØá%\x1b\x91K¯°9\x93[\x10\x9eÅæÂHa6 &H%\x19lQJr[\x91\x1a×À¡\x88ß\x131|Ð\x86e(f6»E%Â(þêÂ\x96ðÈw!«\x12Ç\x05/«\x9b&íÒr\x95\x80\x8a«¸\x7f\xa08ÝÒ\f4g\x87\x05\x9cx\x8b\x83n\xa0[\x82Í:\x1c\x04;!\b\x81}na·ò®\rÅ®\x1f±c\x1d\x01èZ¤;\x86Ø\x13\x85²·\x81Fx\x03!ùzÔÞ0H\\à\x93\'#\fÎAÀ\x8f\\Ç8¹ïvÆra+\xa0wâÿ¶pD²\x95\x84¹\x9fMÄçCwøqÛ\x1b]ÁÛ\x8f"\x15>Ï\x98Z\x84F\x93Û3M\x9d\x1a;ñ(×oÑ`\x18\x87â\bïºÙ\x86+Ý8\x9dTq\x0e\x84JÙ;ã\x85¿]ãË )\x97-ñ\x87\x15£\r\x93\x8b£ß,\x10â´\x95¶\x82\x03;\x98þç³Î¯¨©$uj\x96âÛrßHg\x89\xa0\x9d\x9d.ËU\x05¿/ëþ´C¡¼³²TÈ\x1féz6\x0f¹ñÇØ\x88\x1e\x0fRJm\x15_\x7f]Î\x1eÃÙÕ[ð>\x18Í\x16-Lã\x8f\';}"Ù\x90\x016tr\x82\x87_sç¹{ðG\x192!\x12\x96Zþ\x04þ´£\x85 ôÁDkÙ¶,e\x93úÓåë\x17yq\x82\x1b\x9cZûîú^¶s\x06ä·À:`ÚMY Í|Z-Ñ(\x1d:)\xad\x8b¯\x01m®r:\x14\x19àw^G\x12\x85Ñ\\!I !\x96I\x85û\x1cAêç2ä\t0ïç\x1d\xadi\x16ÜÜã2üè\rVÔJ\x0fp\x10Ôñ7\x95\x14ϼÏ\vÌH\x16¾\x0eÅ"\x9fÆ&\x96\x02B!%\x88\x99S_ýU¤`ói\'\x82í\x84<²æp¸ðû|¹Gå\x87¡(Ê´B:\x11¡¥l\x86\xad 40*\vT«\'i\x98\fh;jâzç\x8f\x95\b\x8f·cQËP\x1cAYAG¨Æ\x010²|{µ|\x04«ßwËΩW?\x12\x13Wx\x1dh:\x06\bÌ+þ\x8e\x94Fâ\x9bn\x92s_\x8dS1ÝÍ\x05¦\x9b\xadè\x1b4½P6J?\x01XÝñ\x93\x17o\x8b7\x14¯\x91è\x90μ\x92"D¿/ÎÖ\x05%I\x03$$KÀ&\x00T«ÿ;1^\x00\x14t©eÑ.\x82t{ív£\x90Püu®\bør·Z4¶9¨eî{\x1f~Dw+-·¸\x10\x92;O\x1cÞõ2ÉÁ\x1b\x0e\x8e¾Ï[.Ed»»åÒî\x18±2\x81訪ªí\x85óçÊWùð\x96Sáí*\x1fÁakÄu©¼!\x1a¬Q\x1b.Ä»e5ó=\x95\xad\x81.yKÇ\x9c\x87\x1ceABLÕ0xqÄ\x9f\x01)Y\x04çi\bMø\x91\x8d\x00U\x11îXÒ\x9c´\x19\x89¾SBÒù\vdÕ²ÚÝ\x02CX\x9b\x837Q6\x88ð\x91w²Çò\x8eÅ9¹Gïß\x01ÿþfE\nÎÑü\xa0õ"\x98[ãMñÊ\x03)Y\x81=À\x14\x0e\x8eÁ3\x8b\x12½¤ñJ\acf\x0eîå¥JTAËüÖ\x98¸"Qüù\x1eõFÝ\x01\x13Qç\\\x87n\x80J½\x9ekF\x1cFZTI\f\x03dðQò»;×Ô¹\x9bôIŨ\x982¤C]uH\x01¨Åij«ÎiðÇ\x1f¢\xadfÒt+¯\x8bÅ-û&f\\Ð\x9d\x93\x80ëÀ\x11¦º_c\x84u}>\x9c\xa0,ÎÆòP3ê\x15\x96%ê[\x8e\x19Èïu.f7½\x80M\x12Tº#é\x99Ld)õ\x8b\x17TÎt\x7fó\x91Í[Ì9F5\x80¡×ý\x00\x9dià\x19\x9cW©\x1cn\x8bùü\x8c½ÅV\x9dUdjÏý\x02\x1bùá§\x1d-\x9cMÿ_Ó\x94~¾S\x9d¬\x06\x1a-¶ÑÜ)B\x1f9n\x7f®\x19«ª\x93u´ô\x89*Ýð\x92>¦Z\b)\'Öÿ¦[Ë\x93\x05×a\x9f\x98¦Mú?\x92¿\x95êi\x16A\x1a(\xa0£×3\x8fõ\x1be\a\x05ÕÂ:CÚïq\xadVò\x7fº\x8d\x92\x9crã¦{ö¥ÁoÔ\xadIV\xa0Ô<K2\x84N\x98©\x96£q\x1bf\x16ÒÃÓí/Ú\x05\'c2rÈ0á\x06\\Ýð\x04Âþ\x0f\x1bÃ\x12±Í°\x91Â1>c®åúÖ=\x17V>Ð7ÆbÚç\x9b\\Õö\x0156n\x03DaðÑ/\\æ\x8eõná¶C\x06èaßÎ=3-)^x%J\x14çý\x9eeY\x02\x01\x83Ì\x03g|\x14ÌîÂ\a»¨\võévñ;\x03X°\x90\x04+dh\x1a\x03\x88dy¢¬\aè\x87Î\x9c>Ý]¹Æ\x7fÑ\x94\x17\t\x9e\x15w.\x92è\x0e\x92BÏz\x1eàm\x87åÊ\x91²bÜ\x15ëÐ7¹!í\x16Ù%ýM\b\x14Z1C \x92©QpªdSçº\x87V¦6Ù\x1f{\x04§Y\x13\x00^êÃYøN\x94GïÇû{\x1f£mdl`^+\x82\v\x8e\x94P\x84\x1c\x05kû7_\x10Ê3ºd¿Í\xa0\x92æ\x99ëzrß\x11\x15\x7f«\x95JÆ®¡÷,Ñí\x11{\x8c\x8ar\tøà|\x8aQòydµèV.£¨âåØÅ\x91áл\x10õ+\x1eº&ç\x10i!REa¼©\x9b\x86híw\x0fÑ\r8<NX\x03_æ\x18\x05<Y^à¸õ\x18h+\bÛ\x11\x1d\x90ò|È÷SÉ?ͱ7þj°ëpw½Ý«\x9a\x009\x96)\xa0<®¢áA\rë\x92ýÛ\\é¹Êcó¹È¸\x1a8\x8d]R2.J\'\x8cÖõÉÚb\x8d\x8cO¢²ÖJ×UX(¹\x83=4G\x9c\x88\x14)\x05ù\x83\x9b¿5\x91¹r^Lxñ\x1eMµ·\x8f\x1a\x1bòcº^Æúa$¥\x9fÏ\x1dó\x04¬ZB\x1d\x1féW\x8f\x04ù^¾Ä@ÚC\x82\x94¸ËË\x03\x7f\x81£j\nÁ¡×\a\bµ\x10Tß0\x8bw\vtKLa^Ü3¾_~8ü¿ï\x1bÚ\x1c3g\x82\x15\x1b-QvÒ\x1f£/ú×\x8eû:î\x97\tÅÔß`[PýÏЩ$¨\xadg¤u*8\x03\x9d\v>(\x1e\'rPþ}àÕ\x15£\x1cÒ\x93=¦\x7f>fì¿|Ä\x14ËÉUù´Uð,p¨\x1fÂ\x86\x80Ã\x018v¸Ê¾R\x8f*\x87Õ¢1Í\x1f¢å:AÇéJIÜ\xa0Í\x9d©÷\x97²Iæè=\x02rò\n\x10\x89Ål\x1d\x14ë!AØÂÑð\x8a;\x8aïeXÆiÞ÷S\x1eU\x8cJeûM\x1a>¥\b\x8f/\x02\x1b`¡Q¤ÒÎ]u<\x96÷I\x82xd¡ç\x03\x83\x8cÊÛ\r«±\x1dw(+¼µØ&i\x14\x9df\x89¿ÝMeðæÖÔfo£oT×\x1f¦óhØÝ\x1d\x0fÏÝmÉ\x9bðó\x05\x89\x0ercêïÊø\nö\nî|\x99;þ\x9b)\x95\x02\xadîÞBÜamz£o\x15=:®w$\x97\x18?m3Êv\rúÓ×\x00\x97mòBc`16«V*\x84¥\x18I\x9e\x19&»Ú\r£û\x05\x99,à\x9b\x86¶Æ¾Áåµ+@\x97ZÃ<\\xI/ôa\x97¯¥Ys\x86ÁêÃÎ\x16ß\x86F²À\x96¾ÎJêj7ëâê¾î8¤|¹B6/.$¦Ð\vÚ]\x84Ô4\x1fü\x04ß"¶ü£sÁ3Dj\x1d±ë\x11NÇAðò\\NSOÏ>°\x9bú\x9eÿS\x94\x1e\x92M×\x1d\x15~È\x8eÌ\x84´\x91`ÏËx4ñ½>"?ØÈö»g\'\x91Ye\x85\x1c2\x1fu\x18?Jge\x9e\x84ÉAWA\x10¿¥\x17¾Ò#e%ì0¶2UÐ\x05KW\x11õ\tO±\x1eR\x1dm>>a\xa0\xa0ç*ÖFÖaI:æÂ9\x87ÄA]\x836O³^\x1e¨0àÎ7S¨üò\x11á0\x01ÏG¿ýtƬ\x0f¡ñ§ä»9ïQaÍ)$µFs"E\x82l\x86ÆÇ{\x99\x1c8«wºÐ¾Üÿk\x87è"pæe]l\\ÊQm\x7fÈ\x0fâE"éò©\x12~*\x82©ï\x7fªg\x06\x83\x18Ã.dW\x1fK\x12\x0fÍ×â\x0eÝ\x87\x89Ñé2\x03ËÇú\x81ÿ·\f°ÉþsÆ\x1dªA|QHxL@Ä\x88iê?@Ð\x14?\x82µsú\xadáqªì)9À0Áx·T\x97ÑO\x83\x8e\x88®;dÝ\x98¾.\x81m¾D\x89|\x9f\x06_7hP|ãùM\x90{¥îÔìÙ`V]\x19QT§ÐùÇ\x94ß\x9e¿\x96ãRb©N²üs9cÁ!hhD£!«\x02\b\t5\'\a\x9cb\x04òq\r«qÊ\x9c\x9aü\x170î\x8a÷\\bö\a¹\x04vO\a\x81\x16\ni\x85O/ηñÄ¥÷®\x14£\x02\x00|®¢ø¢ù¨Þ]\x98Ðåò\x01s<"Å\x1aL±/üäÌc\x8d\nB\x92ðkÃÈ\x9bJ\xa0Á\x04\x12Cã\x82RÒñÑÍà¿sÁÑÇæO®üó\x9czW\'òíØ\n\x89<;+÷û6\x81\x13>Â\x16ÅÒª\akéC\x18ÁÞªîçéâýôOZ\x1b\xa0-Ö4\t·¥HU£\x82¥Dz^ß<&0õxéΪysýT\aR\x17ö\t\x97Ä=çQe\f\x01ÿ\\Ú\x15bë¿\x19É\x90Þ\v¦´êÀmSÆå|û®\x04âöµSS\x00\xa0Ð\v\x1eoZ\x1fõjüæç\x95þFçûh±ê\x90»\\6D\x87T/Ó\x00\'è\x88\x8dìñG\x9a\x1f4à\'²c¿¡Oü;³¨=ÁO©èíàØ/iY~r½á[\x85á\x8e\x03\t¸1zñ\x83ß\x83KØnÔÔ\x14\x0650ïIõ]Ú\x98\x7fé¹´Ë\x88¦?\x16Ù1Á¶òæx«È·÷\x11o1b½b\x02à"Ýp\x13a7f\x95Ù\x1al/w¿\x95³Ëi\x05Ïã°óO\nÙið\r%M\x91]EãK^èê$l\x18×á3ÇaÍéôT\x1fJNd|¢°våRs|ÛÞÆ@ñ¶y·nSÒÏ+¦\x93\x14â\x13\xa0\x7f>\x18-\x98\x87"ü0ò´©5\x96â\x9e,\x9e\x0f\x03À\x93gâ\x17\x9f³cº\x89\x86Ùñ\x8a\x9aõ{h!´K\x14P¦\x9c\aæ\x18+þþeI\r\x03-úÙòÈjÞ¸¦ÏÀ!8éX©3\x19§ÑÕL³ÏÆqp\x89#\x81\x1b\x85ù¨6÷£j\x00sÜ1\x8d\x1a\x8b\x01@¾â#§8ngÃö_t+\x99å+]©³5äm\x856¿%\x0eÀvI\x06¯¾þë¬^47vi¾\x1cÐ óòK\x1a»(îqG\x11\x8c\x1fø\x00wb\vÛ;O;Ë\nÝsÔÂ7¢7/D®¦0·åî\r/\x00àV_\x16í¥#\x17]&M«*t+À\r\x16\x9d²³\x9aàªÏø\x11®\xa0\x13|($à|w\x0f\x97`®`\x7f\x84\x02ù\x84ì?ð1lÚ\x8f\x7f~\x8b\x98æÏ\x96\x88\x9aשc\x91\x86É\x12G\x92$®\x1f\t\x1f\x9cº\x1cê£é-\x1dê\x89\x7fpxÆvÙV´J!§\x85\x1dÖd\x89\x1e\x0f¡ólÞt\x19U6\x9f\x19Á÷x["2\x12c\x8dD*ª;\x95\x89¶Ds\x1eôÙ5\x94\r\x86ÔíÉÇI__j\x8bf\x1d\x8bÑ\x00û)TéË\x82¦º(ÞG9\aá,n\t\x97\x10T<\x1djø¼k\vB·\x18Oàæ\x05<\x13\x01¨e\x85#\x11\x87\x9fA\x13ñ¾A\x1a\x0eÔ:Vã,ü¤\x05ܶ\x9dÉ\x1d\x916\'\f\x91èO\x1c9IÍ\x1a*\x03mh\x92ïDþ¼8,Ð\x93\x10\x9cY\x1aãØcr¤\arÔ«~\x9a\x8dIE\x1bp\\±\x81\x8dö]\x9c¬(ÄñË\x90ÌåZW\x16\x04\x15Ù}ÛÛ´JE`ge¼Ïp=Or-³\x85t\xad\x14\x88ÙÈ\x83óØ\'Ú\vY\x1dè\x1fÿzR\x83±¢\x149;(Ùk¸ân;t\n\x19¨!+\x9a:#pi\x90Õ\x98\nùúJìá~ó®¤=´:\x15Ïr7ì\x1fõ:\x144¶#\x8d(ù\x92JõxÆ\\PÕè]\x03òñT\x92õ)\x12}MÄ»\fH£×ê]Ýõ\x12\x81\x8f¢\x14¥Ó\xa0ù2Õ\x06Û\x1d|\x85îp$\x15²\x95¹\x8b×\x97<ðoǽ\x033U\x7f\x8b\'ã¶úX_öÛ¡éº`%í\x87¾ëXÍîx\x90¬DÀÑ\x94ÅÈ\x11\x80t\x8f\x87\x8d]y/£y"Ø^|ÌG\x8dÿï\x17o\x93ßÈ\x18øP:w\x7f\x1d.ç¤w\x7f5C\x90\x03Í\x0fÌím\x00®\x05\x99\x99ºð)Ò\x1e±ãHDµ\x01µ¨\x9a[$%ÿØFàÉYÞmâ\x86^\x05öÑR\t\x94ì\x9eÿ\x8aR2ÄBë\t¯¼\x1b\x81.\x81\bì]*éP\x12[$÷\x98²q¥ÿ\xadEëf3`\x88@K·®Ô¥\x1a\x9dÞ;6üª8\x1dLÌ]\x03[~0\x1füYôÖ"\x0fQx\x90©¬\x8c\x7fø\xadøêáY¹Ó~wa¨1é<\x7f;Ë\x8eöÃ\x90bI\x9e.C\b"/Þu #ßhí0\x9e\x82\x1b|5@\x027\x0eNMüR-à\x14\'Ñ$.\x95\x16×\x18\x19n¹æÍ\x17,\x93Ë\x06\x91lq|k$\x8fòæ\x15\xadÝøE\x81\x19+X£\x14è÷A^cXºÑz5aÏÞáwr¸j.£ÑÍò1\x86å)R\x84«ò\x99¤ïõÃàÞ\x8e\x17Pû£&JÜó fXÇ\x84\v\x84Kå\x05\x81s+^\x9f}~¢k}L\x03ÜÔ\xadz\x83ÍO»\a\x131g5ì J+\x1dZ\t»\x02à\x93Á·6\x9d\x9a-0\x96n\\Å»¿Ìi9¯\x9dóDm\x83\x92¡8\x92\nÝ\x01^Áë¦C4,Ù\x8aØ}\x03sÂvý|нx\x01tpؽÂßl\x9b\bßv\x9fÈR\x9d\x19Únòµ1s~Þ÷-$<\\$w`NP\x1d\x06Ú\x8fôå#ª\x8c²r\x91Ae\x85\b¸"\x9d\x93\f5©°í#\x86sðí,¯\x86o\x93b\x1b}çEz°{\x9fvYìüì\x96}\f8¿5åsB·\x14\x97¸¯¸UÿB\vkéË\x1c¾\x8d4Ë\x04EÄ\x9e-,\nV"Bö\x1cè\x19¤y®\\nbË\x17&q*ùô\x9d<\x87\x18à\x14ÄîA\'µº¶\x95üâ¬\x18>\x8c!yâ*ñh\x14ã\x83\x9eòQ\x87a/\x90D¿H\x82ïµáÖG\x83¦\x7fIMöµm\x9ewíÇy#FDz\x94\x14_ß\x82\x8bµ½´\x8bÖLM\x19yâ\x03K¢Z¨`\x02%3U¹\x9câ0ÒBÔð|ùáeôxÞ²\x95¦\x14µx15\vèÉ\x16\x84\aÈ\x81Ù¥~¡\x06£\x05\x18÷þ\x01ÈÊx®\x9eÊãU_(\xad\x90~E\n\x01Q\x7f\vMÕÕo\x91Þ<Ù\rn5\x98\x8e\xadîé*Ø\x92)ë4]í:\x91ó¢ÅF\t°\x1f×\x01ìÕ5Û{GB\x1c]\x18Â[Ö87¼\x1f\tÕn%û±UÙ!çÑ]\x88\x83SB-º±\x8f®\x95vM¯â£*gÅE~\t]\x82ª\x13\x0e<\x19\x9eC\x98z}J.Ü>Cqm*8\x89ýºÊÑ"\x10}ÿì\x8f4d\x15(\f\tV{E\x98Ê\x8b*\x80\x029ÞäȪƵ\x10h\\\'\x8a9 \x85B\xa0µ\x97\tî\t¾mU«Gâ\x9a\x83\bù _Ë\x98i\x04rr§f/Üè¥,Oº{ZLa[A4EÓ\x85\x98ÌRw¯ZWÐÖ\x99úýÂ}\x92\x88cu\x99\x10ê¼µi¤uÔWr\x87znd\x8eLÝÇ4WûÝîg<DnÈL\x8fÞLx²\x81P\x03\x9c¡Iß\b7á\x9a¶\x0eµ`¼l\x02¯ÆÔýt$áåK[\x16ª/ï\x1f{\x11쩧(\x022Yl¥\x12h\fu\x0eEÕ¨\x1aÍ~\x8c\x9f_q\x97¤G¼½"ãµûÀx/?)ßå\xa0aë\x8dxë½\x00*\x10cHnK(\x12Ì\x95\x89®\x16\x13\x1fuQ\x8f\x9aß϶«)#Ìú\x1a^\x87[¤Ú\x8fÝ/8T¥\nº\x8aGñAÚ\\\x12*Q\x85\x1cy¨ã\n\x94\t\x86sßJ\v4.10.2710.0\x1a\x80\x01e\x93¿ßïRؿ覵Ѵ\x88²Ñ\x9dï\x8c\x92ÿ\xad\x81»¼à\a©{ð?*Ó,ºVðbÁ"\t1s5\x82¼7ù\x13Ød4öÐØD\x9c0F\x1bd1·fÆD¶¿%\rf\x85½S\x85æO$`{®\x96we\xa0\x92\x88n\x03ÁñïXüôé¾/s\x9eÍ\x8ea=<ýã\r\x11mîà4t+bÁ\x1fÝt\x99ª\x99\x84\x10Æ?2J\x14\x00\x00\x00\x01\x00\x00\x00\x14\x00\x05\x00\x10\x15\x14ò4ÇÎÍê'.encode()
    
    response = requests.post('https://widevine.tvnow.de/index/license', headers=headers, data=data)
    
    token = 'PFYtFSqWMYIROJYywBp0rbKvpD3z6N6E6UezNrZmCeKHkcJ5BiH4J8qwO0kfWOmrSsyFJMg9OqKKEwvuQiXL4qdDTa6ZYplNV9IQt6eEuveglDxjVlYd0vAecS5TZKn5mIs01YxcYNlTC7tu3BIk63JhMykMWEMmj1oEqaLa7N3ZrfU2VTlEPaWXBQV6PxnFeD022Yi298GOX/lDik7sXt5u4duT0aKIYbz0HPmjoh8b9Uy8bvzJUa0/SlgRcsW8RNTNjRJHM6N7BESCBGFEZcWoSXeDLEblEfRoBKro2iDGB1neLfRdY1fj7tJX1Rn9lj+OJwRTrBV4XoTQFuSsFwvYCeQfkAoRHXnze9njI5pY7sYgIGxuM4Zh3Wqaps6kxdO53QMm0jJ/L41X6r5CikSGKQ3Rcps8eQccZb9svEuyXMof2nm+eYL+AVPPrfmAf/BrmUHfiuF9CmNsF9pI7PjJfLeASmh3KDI/5gUuC4uJB7rjTzHVWNRz8MSvYjJ37/5V9+FTihpu04+0jFZ1AlGRks2dzk2IGvm5WcwUhsW2l/oQXlh7AgsksIl2DT0wH11WeG+h1/ijymMcG9AZzsxtkC53eLJ8bl55/Aag0TJfX4N6KvV7UhglXxkLifb06bLK/wlcGCfb01b4cnngcjPJEMxh2+Q7sJSnbyrtsfodzNah8JXITmx5kTkFFZkdtga1ha9jAb+Z40VMQfbrCLgh0GEe2G3VczcIt8QHAWAeS91TkzLbMRAugbgLvdbI8yQXtM15uo+TXrV4PNFprug33AnvnQu7IpNxlmgPMZhEn4Qqc/V++OFIpz/JYEMnLFvjYcXE2+sPc4uKnoE0xk33+IgZKtWtDhxRg2SJKyKOYxXucXybUuqPP/d+Nq1VNhD84Of+EfVvBjs1u75pNz/kmu5ms9ppRMkafq0/2311hbYi6VXmp6AeJweGJWkGKEFxw7xADuC8iM7xWnXW5aiNvhbsXBOwuTK8b2ioxjrg6OFhiMck+z9M5FHg+ktY7YB8iY+0V6B/Op2cQGtLaZ2E9lsomlQpxL+LiPI7UWEqmALEGH/Pk5tdLnlFRjEk2PPc8YURw+/nkP9tqJ/AXQwaXc9iwC5yxlYPCsp/Tc4='
    provider = 'kakaotv'
    releasePid = "_qVpiY31v_oU"
    Any idea what I'm doing wrong here?
    Quote Quote  
  7. [QUOTE=resistor;2710983]
    Originally Posted by iamghost View Post
    wks-keys


    Any idea what I'm doing wrong here?
    plese ensure that your header format same as iamghost.
    Quote Quote  
  8. The only header field required in license request for plus.rtl.de is "x-auth-token", you should remove every other line.

    Leave only the headers dict in headers.py and remove the rest. Especially DON'T send a request to the license url here from this script. The data sent to the license server NEED'S to be the challenge generated by your CDM, not the data you copied from your browser's license request.
    Quote Quote  
  9. Originally Posted by Obo View Post
    The only header field required in license request for plus.rtl.de is "x-auth-token", you should remove every other line.

    Leave only the headers dict in headers.py and remove the rest. Especially DON'T send a request to the license url here from this script. The data sent to the license server NEED'S to be the challenge generated by your CDM, not the data you copied from your browser's license request.
    Ah yeah I'm an idiot, thanks. It works now with just the auth header and with my CDM.
    Quote Quote  
  10. @resistor

    Hi,
    could you share screenshots .... I tryed to find the MPD LINK in Firefox Dev.Tools
    but did not find

    Can only see: MP4 Links under: Network Tab
    Quote Quote  
  11. Typically you filter for "mpd" in the network tab to find the mpd - for plus.rtl.de it works. Otherwise you'd have to look at usually the xhr request's response or preview. If it starts with "<MPD>", you've found the mpd url.

    Typically you filter for "lic", "drm", "widevine", ... to find the license url - for plus.rtl.de use "lic". Otherwise you'd have to look at usually the xhr request's response or preview. If it contains seemingly garbage, you might have found the license url.

    If that's not detailled enough for you, please have a look at the pinned threads by @A_n_g_e_l_a - it describes what you can do in much detail and includes screen shots as well.
    Quote Quote  
  12. Thanks,

    the issue was may my adv. blocker.... now I get the MPD Link


    Found the mpd Link

    but I did something wrong.....



    1. Web Dev Tools select license post link -> Get VALUE -> as CURL
    2. put this to: https://curlconverter.com/

    import requests

    headers = {
    'x-auth-token': 'eyJ......dZibrxJrfEK1zJyt1Ef9ZFVgu3qH3mMiA7pf23Be 7Fp6fGAM2YyYQbhnC0YynseSNnYRA',
    }




    3. yt-dl --allow-u -N 6 -f bv,ba 'https://vodnowusoawsdash.secure.footprint.net/pxxxx/streaming/watch/xxxxxx/11-10000-1-1-1.ism/rtlplus.mpd',
    got many " Name or service not known. Retrying "
    so repeat this few times to complete the download



    4. l3.py

    from https://github.com/medvm/widevine_keys


    $ python3 l3.py

    Input MPD URL: https://vodnowusoawsdash.secure.footprint.net/p112/streaming/watch/942333/11-10000-1-1...sm/rtlplus.mpd
    License URL: https://widevine.tvnow.de/index/license

    PSSH obtained.
    AAAAUHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADAIARIgNj RjZGVmNzI4OTQ5NmU0OTJhNWRhYjc1ZWU3ZjZhMzYiBjk0MjMz MyoCU0Q=

    license response status: <Response [404]>

    Traceback (most recent call last):
    File "/home/decoder/widevine_keys/l3.py", line 130, in <module>
    correct, keys = WV_Function(pssh, lic_url)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/decoder/widevine_keys/l3.py", line 125, in WV_Function
    wvdecrypt.update_license(license_b64)
    ^^^^^^^^^^^
    UnboundLocalError: cannot access local variable 'license_b64' where it is not associated with a value

    What did I wrong ?
    Last edited by luebbe; 12th Nov 2023 at 11:43.
    Quote Quote  
  13. No, your ad blocker should not be an issue here (I use one as well), but in my experience I find "Brave" browser (chrome fork with builtin ad blocker) works better for this stuff than firefox does.

    In most cases the mpd url is not protected at all, and for plus.rtl.de you don't need to put it into curlconverter. Just grab the url, or better: look at the content of the mpd. All you need from the mpd for the license request (that in the end obtains the decryption keys) is the widevine PSSH.

    You need to fill the headers for the license request, for plus.rtl.de you have to add a 'x-auth-token' header. You'll find it in the browsers network tab headers of the license request.
    Quote Quote  
  14. hi, thanks

    so if I understand right

    wget https://vodnowusoawsdash.secure.footprint.net/pxxx/streaming/watch/xxxxx/11-10000-1-1-...sm/rtlplus.mpd


    License URL: https://widevine.tvnow.de/index/license

    but in the file rtlplus.mpd
    are 4 lines with pssh

    <cencssh> ... </cencssh>

    where to put these ?


    get the POST of LIC and add only the x-auth to the headers.py

    import requests

    headers = {
    'x-auth-token': 'eyJ......dZibrxJrfEK1zJyt1Ef9ZFVgu3qH3mMiA7pf23Be 7Fp6fGAM2YyYQbhnC0YynseSNnYRA',
    }
    Last edited by luebbe; 12th Nov 2023 at 12:18.
    Quote Quote  
  15. See the line with <!-- Widevine --> in it? That's the block you are interested in. The corresponding "urn:uuid" always begins with "EDE" (or lowercase "ede"). You want to use that PSSH.
    Quote Quote  
  16. <!-- Widevine -->
    <ContentProtection
    schemeIdUri="urn:uuid:EDEF8BA9-79D6-xxxx-xxxx-xxxxxxxx">
    <cencssh>AAAAUH...jMzMyoCU0Q=</cencssh>
    </ContentProtection>


    what to do with this ?
    in with file to write ?


    uuid : pssh as key for mp4decrypt ?

    for example:

    ./mp4decrypt --key EDEF8BA9-79D6-xxxx-xxxx-xxxxxxxx:AAAAUH...jMzMyoCU0Q= rtlplus.mp4 output.mp4
    Quote Quote  
  17. I don't know what your l3.py looks like, but from post #12 it seems it will extract that PSSH from the mpd (compare the PSSH you found in the mpd file with the PSSH output in #12). In that case: no need to do anything here.

    I think you should concentrate on the license request. And from what I can see you have it already ready to work.
    Quote Quote  
  18. >I don't know what your l3.py looks like

    https://github.com/medvm/widevine_keys/blob/main/l3.py

    >but from post #12 it seems it will extract that PSSH from the mpd (compare the PSSH you found in the mpd file with the PSSH output in #12). >In that case: no need to do anything here.

    ./mp4decrypt --key uuid from rtlplus.mpd:AAAAUHBzc2gAA....0Q= rtlplus.mp4 output.mp4


    l3.py

    PSSH obtained.
    AAAAUHBzc2gAA....0Q=
    Last edited by luebbe; 12th Nov 2023 at 13:10.
    Quote Quote  
  19. The PSSH is not the key to decrypt the video (that would be too easy, no?).

    Have you even had a look at the tremendously useful sticky posts by @A_n_g_e_l_a here in the forum? I have the feeling that you missed my hint in #11 ... (if you have a CDM, you can probably start with "The Dungeon of Despair"; do yourself a favor and read at least the first post)
    Quote Quote  
  20. 8557c49dff3867fa20ce6f6c2bdb0758:d4888eccd650b4cad ca0957677259007
    Quote Quote  
  21. Unfortunately no - this video needs a RTL+ account; I don't have and don't need one

    Regarding subtitles: don't know.
    Quote Quote  
  22. Feels Good Man 2nHxWW6GkN1l916N3ayz8HQoi's Avatar
    Join Date
    Jan 2024
    Location
    Pepe Island
    Search Comp PM
    Originally Posted by Herzog View Post
    Is there a way to download the subtitles?
    Death on the sea.srt

    Only german found.
    Quote Quote  
  23. Key:
    Code:
    e63047e421927d6e292dad1c1dcbe4dc:c0ed18f57d037c8b2009c6bff6710a0e
    URL of mpd:
    Code:
    https://vodnowusoawsdash-a.akamaihd.net/p112/cves/sd/rtlplus/1000193736/2-1-1-3-2.ism/v1.mpd
    Quote Quote  
  24. Thank you, Obo and cedric8528

    I have tried to also download these videos:
    https://plus.rtl.de/video-tv/shows/genial-daneben-1000003657/staffel-2-989856/episode-...chi-1000193737
    https://plus.rtl.de/video-tv/shows/genial-daneben-1000003657/staffel-2-989856/episode-...arg-1000193738
    https://plus.rtl.de/video-tv/shows/genial-daneben-1000003657/staffel-2-989856/episode-...tor-1000193739

    I have managed to find the mpd-URLs and downloaded the encrypted mp4 and m4a-files for each video.

    Unfortunately, I haven't succeeded in getting the decryption-keys.
    I have tried l3.py using the mpds and the license-URL (https://widevine.tvnow.de/index/license). But I can't figure out the part with the header.py:
    how or where do I get the correct x-auth-token?!? As I don't have a rooted android device, I don't have a CDM.

    Can you please help me?
    Quote Quote  
  25. You should really read the stickies by A_n_g_e_l_a then

    The x-auth-token is in the headers shown in your browsers' dev console for the license request, and as for the CDM: there's a thread by Karoolus with plenty of "Ready to use CDMs" (last updated on friday).

    The key for the first video:
    Code:
    f4a76b3c02720432f3039a41c29bb35d:5873cab142439c90f03d332aeef3e0a0
    Quote Quote  



Similar Threads

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