Hi,
I spent hours yesterday reading lots about downloading and decrypting encrypted m3u8 files. I didn't know anything yesterday, but I feel like I've learned lots. I feel like I'm SO close to figuring this out but still don't know how
This is the information I can find (if I'm correct):
- Video Link: https://happilyfamily.cdn.spotlightr.com/watch/MTI5NTE5NQ==
- Key link: https://s3-spotlightr-output.b-cdn.net/99128895/63f91e989061c253564338-720-e.m3u8.key
- Key hex: 26c320ad3928c5f5e87e07d0fa3350e5d7bd3bdcf7e8d01141 400df30c51bd19
- First few lines of M3u* file (1266 ts segments):
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-KEY:METHOD=AES-128,URI="63f91e989061c253564338-720-e.m3u8.key",IV=0x00000000000000000000000000000000
#EXTINF:3.203200,
63f91e989061c253564338-720-0.ts
I've tried several different tools to try to download the m3u8 segments: wget, ffmpeg, youtube-dl, but as I said, I only just started learning this yesterday, so I'm quite noob.
If I use this command:ffmpeg -protocol_whitelist file,http,https,tcp,tls,crypto -i https://s3-spotlightr-output.b-cdn.net/99128895/63f91e989061c253564338-720-e.m3u8 -c copy -bsf:a aac_adtstoasc KidsVideo1.mp4It gets to the 4th ts segment then says "Error when loading first segment..." "Invalid data found when processing input".
I suspect I'm either giving the wrong link or not using the ffmpeg commands correctly...
Any help? I'm happy to do the steps myself, I just don't know what I'm missing
Thank you very much! I appreciate it.
Subtitles can be found here (mux them later using mkvtoolnix):Code:N_m3u8DL-RE.exe https://s3-spotlightr-output.b-cdn.net/99128895/63f91e989061c253564338-720-e.m3u8 --custom-hls-key 61646635643065356463313166333139
https://s3.amazonaws.com/spotlightr-output/99128895/assets/1686921062044_Oren_Jay_Sofe...Conference.vtt
--[----->+<]>.++++++++++++.---.--------.
[*drm mass downloader: widefrog*]~~~~~~~~~~~[*how to make your own mass downloader: guide*]
--[----->+<]>.++++++++++++.---.--------.
[*drm mass downloader: widefrog*]~~~~~~~~~~~[*how to make your own mass downloader: guide*]
I ended up using Stream Recorder extension in capture mode; it suits my needs and it was easier than anything else.
Thanks for your help!
Apparently you don't even need to decrypt. Just remove -e from the m3u8 and it works. You ignore the other encrypted stream.
Code:yt-dlp.exe https://s3-spotlightr-output.b-cdn.net/99128895/63f91e989061c253564338-720.m3u8
--[----->+<]>.++++++++++++.---.--------.
[*drm mass downloader: widefrog*]~~~~~~~~~~~[*how to make your own mass downloader: guide*]
Hi.
I have a video where I set the filter to mpd. Unfortunately nothing was found. Instead I found an m3u8 address:
https://vod-ftc-eu-north-2.media.dssott.com/dvt1=exp=1727797991~url=%2Fps01%2Fdisney%2...0,sf=h,st=v,su
I tried it with yt-dlp. Doesn't work:
Do I have to do this with N_m3u8de-re too?Code:heiko@Worf:~/test$ yt-dlp "https://vod-ftc-eu-north-2.media.dssott.com/dvt1=exp=1727797991~url=%2Fps01%2Fdisney%2F94228b88-6cfb-44f6-98b6-d1f33e5a203e%2F~psid=a6111e47-bd79-492b-8251-8a417260b2c6~aid=b434b454-0f07-4ec3-9fa3-821605e427bb~did=93b41feb-62c3-42ab-9075-4d11e646e2b4~kid=k01~hmac=7c8d49818868547fe738d86d487cafde263c77dd54aa312c3424d902a4a28f85/ps01/disney/94228b88-6cfb-44f6-98b6-d1f33e5a203e/ctr-all-2281d0c9-03fc-4882-8691-9f9e90b83aa4-f76b495d-6942-40fa-8a2f-91cdbf630dce.m3u8?r=720&a=3&v=1&hash=089945fa14340c55b3bc2e9d0f2a78e84841220e&CMCD=bl=0,bs,dl=0,ot=m,pr=0,sf=h,st=v,su" --allow-u WARNING: You have asked for UNPLAYABLE formats to be listed/downloaded. This is a developer option intended for debugging. If you experience any issues while using this option, DO NOT open a bug report [generic] Extracting URL: https://vod-ftc-eu-north-2.media.dssott.com/dvt1=exp=1727797991~url=%2Fps01%2Fdisney%2F94228b88-6...=m,pr=0,sf=h,st=v,su [generic] ctr-all-2281d0c9-03fc-4882-8691-9f9e90b83aa4-f76b495d-6942-40fa-8a2f-91cdbf630dce: Downloading webpage [generic] ctr-all-2281d0c9-03fc-4882-8691-9f9e90b83aa4-f76b495d-6942-40fa-8a2f-91cdbf630dce: Downloading m3u8 information [generic] ctr-all-2281d0c9-03fc-4882-8691-9f9e90b83aa4-f76b495d-6942-40fa-8a2f-91cdbf630dce: Checking m3u8 live status [info] ctr-all-2281d0c9-03fc-4882-8691-9f9e90b83aa4-f76b495d-6942-40fa-8a2f-91cdbf630dce: Downloading 1 format(s): 2600+eac-3-Čeština WARNING: You have requested merging of multiple formats while also allowing unplayable formats to be downloaded. The formats won't be merged to prevent data corruption. [hlsnative] Downloading m3u8 manifest [hlsnative] Total fragments: 401 [download] Destination: ctr-all-2281d0c9-03fc-4882-8691-9f9e90b83aa4-f76b495d-6942-40fa-8a2f-91cdbf630dce [ctr-all-2281d0c9-03fc-4882-8691-9f9e90b83aa4-f76b495d-6942-40fa-8a2f-91cdbf630dce].f2600.mp4 ERROR: Initialization fragment found after media fragments, unable to download [hlsnative] Downloading m3u8 manifest [hlsnative] Total fragments: 402 [download] Destination: ctr-all-2281d0c9-03fc-4882-8691-9f9e90b83aa4-f76b495d-6942-40fa-8a2f-91cdbf630dce [ctr-all-2281d0c9-03fc-4882-8691-9f9e90b83aa4-f76b495d-6942-40fa-8a2f-91cdbf630dce].feac-3-Čeština.mp4 ERROR: Initialization fragment found after media fragments, unable to download heiko@Worf:~/test$
Best regards
Heiko
Works with N_m3u8DL-RE. It downloads the encrypted video
--[----->+<]>.++++++++++++.---.--------.
[*drm mass downloader: widefrog*]~~~~~~~~~~~[*how to make your own mass downloader: guide*]
Thanks, it worked. Now I have 3 files.
I tried to get the key like with mpd. Unfortunately it didn't work:
Is PSSH and/or License URL wrong for me?Code:heiko@Worf:~$ python3 '/home/heiko/Downloads/WKS-KEYS/l3.py' PSSH: AAAAMnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAABISEBEqfppz20i/mAXfCpQ5bX8= License URL: https://disney.playback.edge.bamgrid.com/widevine/v1/obtain-license unable to parse license - check protobufs heiko@Worf:~$
Best regards
Heiko
Do I still have to enter this in the headers.py?
Code:Authorization Bearer eyJ6aXAiOiJERUYiLCJraWQiOiJ0Vy10M2ZQUTJEN2Q0YlBWTU1rSkd4dkJlZ0ZXQkdXek5KcFFtOGRJMWYwIiwiY3R5IjoiSldUIiwiZW5jIjoiQzIwUCIsImFsZyI6ImRpciJ9..jhgxGdrTPURQWNsq.yiDCQ67zu71gXCY-3acVp7Lst9OtjpJeFIDcHZmd2dOk_47x1scFYuTjhfFn7P-zIBR_mE8Sff74MKo-CYfygJweQEoL3DYyouSyOq5xJ1E7YtN-2Xnlt_IlW4-HfXYoY5NEC45dECbgNxmOpfjLi2drsZByg-tQEFrSTdYwJ3YbN1bfHupHGGw36K2hQpmomrSEunPyb4fvvsez7RAyUXy2QIXEPnXg-9St9GojAJCpDtWa9BkZiChBCch0OtocdInrQcG1_QdDmih0oVuiTd_0QfLF8PCM_4wNw02EuwsjIusXFNY9LyDXkL5_zzyXZ1xF1kgCxpDI2inFqYlnR4M0P6xJmj…7JIA1aEj9kfoHfjD7TGmA5rEpG8lIzRNT_VNpcef-myIuh3AoD4me0-yQoxWTZZlHPBz6g8RZpkJEZNsI19P6MmLHtgMEOc9Up8i5ztAs91zW3NRPF3HsRLOjrrh5GvaZVHrn2QeRNCv0tS-V5c_reBnr2Z-gj1hhQWfqz1hF5bFbxG8eHuGhp_MbqaxABuU8uWKDS0fgujV0WpelXVwjQxjP0khCIGu0FqvKPG-On_rjSAC7-WeZagmGppYDLoTrdkwT_OtLcIKz45owBiS7S8jSlT-va19MRyxQrWVch-gkfZJ-1sT9HOQxNdm6ZkjsTANh-nnLKN-DrjxpM1pvYJLrRFm7fiYASOs7fo-8Kkec9XzJCFr_Ww91t-f6RpR7AAnwVKDgZa5w_UNXwi9iVFtW2lgBJ_3s92se7ClwOJ45kND__vqwFOR7A0RobxJdXKxx1EeQafpc3pZ6AoXaCQwJdosZQ7UzdiU7Ft0.2EqxsV7xCjn4n9ATkIpwzA
I can't help you if you don't give the video URL. You could try one of the key extractors from the sticky threads and hope your site can be handled by generic solutions
-> https://forum.videohelp.com/threads/414140-%5BRelease%5D-Widevine-L3-Guesser-Extension...-Chrome-All-OS
-> https://forum.videohelp.com/threads/415503-%5Brelease%5D-AllHellGui
-> https://forum.videohelp.com/threads/415485-%5BRelease%5D-WidevineFetch-Keys-from-just-...y-Lic-Wrapping
-> https://cdrm-project.com/extension
--[----->+<]>.++++++++++++.---.--------.
[*drm mass downloader: widefrog*]~~~~~~~~~~~[*how to make your own mass downloader: guide*]
Thank you.
But how did you get the key? Just for the future. Thank you
Best regards
Heiko
your wks-key header be like:
Code:import requests headers = { 'Authorization' 'Bearer eyJ6aXAiOiJERUYiLCJraWQiOiJ0Vy10M2ZQUTJEN2Q0YlBWTU1rSkd4dkJlZ0ZXQkdXek5KcFFtOGRJMWYwIiwiY3R5IjoiSldUIiwiZW5jIjoiQzIwUCIsImFsZyI6ImRpciJ9..jhgxGdrTPURQWNsq.yiDCQ67zu71gXCY-3acVp7Lst9OtjpJeFIDcHZmd2dOk_47x1scFYuTjhfFn7P-zIBR_mE8Sff74MKo-CYfygJweQEoL3DYyouSyOq5xJ1E7YtN-2Xnlt_IlW4-HfXYoY5NEC45dECbgNxmOpfjLi2drsZByg-tQEFrSTdYwJ3YbN1bfHupHGGw36K2hQpmomrSEunPyb4fvvsez7RAyUXy2QIXEPnXg-9St9GojAJCpDtWa9BkZiChBCch0OtocdInrQcG1_QdDmih0oVuiTd_0QfLF8PCM_4wNw02EuwsjIusXFNY9LyDXkL5_zzyXZ1xF1kgCxpDI2inFqYlnR4M0P6xJmj…7JIA1aEj9kfoHfjD7TGmA5rEpG8lIzRNT_VNpcef-myIuh3AoD4me0-yQoxWTZZlHPBz6g8RZpkJEZNsI19P6MmLHtgMEOc9Up8i5ztAs91zW3NRPF3HsRLOjrrh5GvaZVHrn2QeRNCv0tS-V5c_reBnr2Z-gj1hhQWfqz1hF5bFbxG8eHuGhp_MbqaxABuU8uWKDS0fgujV0WpelXVwjQxjP0khCIGu0FqvKPG-On_rjSAC7-WeZagmGppYDLoTrdkwT_OtLcIKz45owBiS7S8jSlT-va19MRyxQrWVch-gkfZJ-1sT9HOQxNdm6ZkjsTANh-nnLKN-DrjxpM1pvYJLrRFm7fiYASOs7fo-8Kkec9XzJCFr_Ww91t-f6RpR7AAnwVKDgZa5w_UNXwi9iVFtW2lgBJ_3s92se7ClwOJ45kND__vqwFOR7A0RobxJdXKxx1EeQafpc3pZ6AoXaCQwJdosZQ7UzdiU7Ft0.2EqxsV7xCjn4n9ATkIpwzA}', }
OK. Looks different for me.
But now I have a problem with the video/image. The sound works but the video doesn't. I get this error:
Is there something wrong with the key?Code:21:50:26.099 ERROR: Failed to get KEY, ignore.: One or more errors occurred. (The 'data' scheme is not supported.)
Best regards
Heiko
An other error:
Code:heiko@Worf:~/test$ python3 '/home/heiko/Downloads/WKS-KEYS/l3.py' PSSH: AAAAMnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAABISEFj0+zBIXEgTlrlLAePIY/Y= License URL: https://disney.playback.edge.bamgrid.com/widevine/v1/obtain-license Traceback (most recent call last): File "/home/heiko/Downloads/WKS-KEYS/l3.py", line 38, in <module> correct, keys = WV_Function(pssh, lic_url) File "/home/heiko/Downloads/WKS-KEYS/l3.py", line 24, in WV_Function widevine_license = requests.post(url=lic_url, data=wvdecrypt.get_challenge(), headers=headers.headers) File "/usr/lib/python3/dist-packages/requests/api.py", line 119, in post return request('post', url, data=data, json=json, **kwargs) File "/usr/lib/python3/dist-packages/requests/api.py", line 61, in request return session.request(method=method, url=url, **kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 530, in request prep = self.prepare_request(req) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 458, in prepare_request p.prepare( File "/usr/lib/python3/dist-packages/requests/models.py", line 317, in prepare self.prepare_headers(headers) File "/usr/lib/python3/dist-packages/requests/models.py", line 449, in prepare_headers for header in headers.items(): AttributeError: 'set' object has no attribute 'items' heiko@Worf:~/test$
Hello.
Can someone give me the data I need for the key? PSSH and license URL.
I would like to try to see if I can generate the key with my WKS-KEY l3.py.
Thank you very much.
Best regards
Heiko
The link
https://gofile.io/d/F7hd7M doesn't work.
Best regards
Heiko