Hello, looking for some help as I was not getting anywhere here with what I have tried to decrypt this video and audio file.
Below is the information and what I attempted. Have only tried to decrypt video file so far. But any suggestions? Thanks
Audio Key:
Video Key:Code:<!-- Common Encryption --> <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cbcs" cenc:default_KID="E9F368BD-A205-4D6B-B2D1-AD28AF408473"> </ContentProtection> <!-- Widevine --> <ContentProtection schemeIdUri="urn:uuid:EDEF8BA9-79D6-4ACE-A3C8-27DCD51D21ED"> <cenc:pssh>AAAASnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAACoSEOnzaL2iBU1rstGtKK9AhHMSEExx8AjUIUomgiWF+ZfurR5I88aJmwY=</cenc:pssh> </ContentProtection>
Commands Tried:Code:<!-- Common Encryption --> <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cbcs" cenc:default_KID="4C71F008-D421-4A26-8225-85F997EEAD1E"> </ContentProtection> <!-- Widevine --> <ContentProtection schemeIdUri="urn:uuid:EDEF8BA9-79D6-4ACE-A3C8-27DCD51D21ED"> <cenc:pssh>AAAASnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAACoSEOnzaL2iBU1rstGtKK9AhHMSEExx8AjUIUomgiWF+ZfurR5I88aJmwY=</cenc:pssh> </ContentProtection>
File created, but does not play + error:Code:mp4decrypt --key 1:4C71F008D4214A26822585F997EEAD1E --key 2:EDEF8BA979D64ACEA3C827DCD51D21ED video.mp4 decrypted.mp4 mp4decrypt --key 1:4C71F008-D421-4A26-8225-85F997EEAD1E --key 2:EDEF8BA9-79D6-4ACE-A3C8-27DCD51D21ED video.mp4 decrypted.mp4 mp4decrypt --key 1:EDEF8BA979D64ACEA3C827DCD51D21ED --key 2:AAAASnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAACoSEOnzaL2iBU1rstGtKK9AhHMSEExx8AjUIUomgiWF+ZfurR5I88aJmwY= video.mp4 decrypted.mp4 mp4decrypt --key 1:AAAASnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAACoSEOnzaL2iBU1rstGtKK9AhHMSEExx8AjUIUomgiWF+ZfurR5I88aJmwY video.mp4 decrypted.mp4
Code:WARNING: atom serialized to fewer bytes than declared size WARNING: padding would be too large
+ Reply to Thread
Results 1 to 30 of 35
-
Last edited by Encrypt2Decrypt; 22nd Jun 2024 at 20:04.
-
Suggestion is: try to understand how widevine decryption works - read through the stickes, especially the Decryption series by A_n_g_e_l_a.
The keys for widevine decryption aren't found in the mpd file. Instead you'll need a CDM and post the PSSH from the mpd to the license server the site uses to get the decryption keys.
There are people here willing to help, but usually the video url is needed. The PSSH from the mpd usually is not enough to get the keys. -
Noob Starter Pack. Just download every Widevine mpd! Not kidding!.
https://files.videohelp.com/u/301890/hellyes6.zip -
Try this key
Code:edef8ba979d64acea3c827dcd51d21ed:1c9f0222e49da66fc785376c0645d86d
Code:mp4decrypt --key edef8ba979d64acea3c827dcd51d21ed:1c9f0222e49da66fc785376c0645d86d video.mp4 videodecrypted.mp4
-
Noob Starter Pack. Just download every Widevine mpd! Not kidding!.
https://files.videohelp.com/u/301890/hellyes6.zip -
I wonder if that key will work -- the KID is the UUID of the widevine scheme...
If you decode the PSSH, you'll find the two KIDs:
Code:keyid: e9f368bda2054d6bb2d1ad28af408473, keyid: 4c71f008d4214a26822585f997eead1e
-
Thanks for your suggestion. End result was similar, unable to play and :
Code:WARNING: atom serialized to fewer bytes than declared size WARNING: padding would be too large
Code:mp4decrypt --key 1:e9f368bda2054d6bb2d1ad28af408473 --key 2:4c71f008d4214a26822585f997eead1e video.mp4 decrypted.mp4
-
Yes please follow A_n_g_e_l_a's advice. And no, you can't use the keyids as keys (it was an answer to @cedric8528's answer anyway). The keyids are used (as part of the PSSH) in the final step to obtain the keys from the license server and are part of the encrypted video as well to determine which key to use to decrypt the video. Almost all of this is outlined in great detail in A_n_g_e_l_a's series in the stickies.
Understanding what you do is the first step to successfully obtaining the keys by yourself. -
I believe I have all the required information needed for your script to make an attempt. Just having a hard time getting your hell3.py script to open. Believe I downloaded everything, the MS terminal app and other files, installed python, tried commands from correct Dir, but will not run.Last edited by Encrypt2Decrypt; 23rd Jun 2024 at 06:42.
-
Okay after some tinkering I was able to get script to run properly.
And "MPD URL" was accepted but when I enter for "cURL of license server request" keep getting the below. Thoughts?
Code:httpcore.UnsupportedProtocol: Request URL is missing an 'http://' or 'https://' protocol. httpx.UnsupportedProtocol: Request URL is missing an 'http://' or 'https://' protocol.
Last edited by Encrypt2Decrypt; 23rd Jun 2024 at 09:31.
-
Did you enter the complete copy of what you saved as "Copy as cURL" from the browsers developer tool output of the license request?
Hell3 has an illustrated instructions tutorial "start.html" in its folder, that you can view with your browser. I wonder if you've seen it? -
Yes, I did read it and was helpful to get this far. In the pictures it just looked like for step 2, he didn't include the curl at the start and the other issue seemed that I needed to refresh the page for an updated license. After doing all that, I was able to reach step 3 for the first time for the file name. But how do I know what the file name is server side or giving my own name? I don't know the name so tried "test" but it kicked back:
FileNotFoundError: [WinError 2] The system cannot find the file specified
I also pulled the key below during end of step 2, could I use that for mp4decrypt now?
--key 4c71f008d4214a26822585f997eead1e:6fab79480b7660dc9 2eb8695205b9269
--key e9f368bda2054d6bb2d1ad28af408473:4b9eaa03cea516f04 c1d880081899c02 -
The keys look ok, the keyids match those from the decoded PSSH - give it a try!
-
Would this be the correct command to make an attempt with two keys?
Code:mp4decrypt --key 1:4c71f008d4214a26822585f997eead1e:6fab79480b7660dc9 2eb8695205b9269 --key 2:e9f368bda2054d6bb2d1ad28af408473:4b9eaa03cea516f04 c1d880081899c02 video.mp4 decrypted.mp4
Last edited by Encrypt2Decrypt; 23rd Jun 2024 at 10:39.
-
Code:
mp4decrypt.exe --key 4c71f008d4214a26822585f997eead1e:6fab79480b7660dc92eb8695205b9269 --key e9f368bda2054d6bb2d1ad28af408473:4b9eaa03cea516f04c1d880081899c02 video.mp4 decrypted.mp4
-
Yes, path was set to same folder as mp4decrpt.exe when using command.
But received the old error I used to receiving before when I first started process.
A file is created, but when you play it, just a black screen only:
Code:mp4decrypt.exe --key 4c71f008d4214a26822585f997eead1e:6fab79480b7660dc92eb8695205b9269 --key e9f368bda2054d6bb2d1ad28af408473:4b9eaa03cea516f04c1d880081899c02 video.mp4 decrypted.mp4 WARNING: atom serialized to fewer bytes than declared size WARNING: padding would be too large
-
Okay, I will send you the link to it.
For step one of the script that asks for the mpd address, and gives you the key in step two, should that key work for both the cmfv/mp4 and cmfa/m4a encrypted files to decrypt?
And how do you properly complete step 3 of A_n_g_e_l_a's script for the file name? I tried to pull the name from what seems to be listed server side, but didn't work. And also made a test name and also did not work as well. Both came back with: FileNotFoundError: [WinError 2] The system cannot find the file specified -
What is cmfv and cmfa?
And what did you do about that?? Did you imagine it had nothing to do with you? Did you think it must be the script?
My script will only download Widevine DRM protected videos. My script will only work if all the helper programs are installed too. The old adage is - If in doubt RTFM - did you?
One of us must have a wonderful facility to misunderstand - for I cannot understand how you can go wrong if your video is indeed Widevine encrypted.
You do this.- You run start.html - it is in the HellYes folder. Click to open or just drag to a browser to view.
- You read it carefully! Do not just run your eyes over it - read the words, understand what it says. After each paragraph stop and ask yourself 'do I understand that?' If not go back if yes , go on.
- You do what it says; you install software into a folder called binaries and add that folder to your system's PATH (Environment Variable in Windoze)
- You make sure each program is installed correctly and available in PATH (Try calling each one from the command line in Terminal)
- You prepare to download a video
- Find the regex in the start.html page and copy it.
- Go to the website with the video you want.
- Load the video page.
- Press Shift+CTRl+C to open web developet tools.
- Navigate to the Network tab
- Enter the copied regex to the filter box.
- Press Ctrl+R to refresh the video page and interact to play the video
- The network page will display the mpd and its fetch method will be GET - that is the mpd
- Click on that mpd link to open a menu -select 'Copy Value' and the choose and click 'Copy url'.
[Attachment 80134 - Click to enlarge] - In a terminal window, in the HellYes folder, type 'python3 hell3.py' or just 'python hell3.py' depending on your Operating System.
- Enter the mpd at the prompt. Ctrl +V should paste it and you will see the mpd echoed to screen.
[Attachment 80135 - Click to enlarge] - Select the license URL its fetch method will be POST; select 'Copy Value' -> 'Copy as Curl' in the menu-boxes
[Attachment 80136 - Click to enlarge] - With cURL copied go back to hell3.py and paste in response to the prompt. Before you paste (Ctrl+v) the screen looks like this:-
[Attachment 80138 - Click to enlarge] - And after you paste the screen looks like this:-
[Attachment 80139 - Click to enlarge] - Absolutely NOTHING HAPPENS ON THE SCREEN. The curl may contain gibberish which could mess up your display so it does not echo to screen.
- But after you press 'ENTER' the program interprets the data and produces a key
[Attachment 80140 - Click to enlarge] - You can stop here if you just need the key for use elsewhere.
- Or enter the name for your video to be saved as - what will you call it?
- Just do not use spaces in the name:- for example My_Fair_City_23_06_2024 or'video_from_RTE - you choose whatever you want here.
[Attachment 80141 - Click to enlarge] - The script responds and prepares to download but offers the download command for users who may wish to bulk download later or modify the N_m3u8DL-RE command.
- you can choose to stop here or continue
- Continuing runs the downloader
- The downloader pauses for you to select the video resolution you want. To accept the default choices (best video audio streams) just press ENTER.
- The video now downloads
[Attachment 80143 - Click to enlarge]
I has taken me an hour and a half to put this together for 1 in 838 people!! Don't you dare come back and say you don't understand! Clearly you were missing one of the helper programs and didn't bother to read the error message.Last edited by A_n_g_e_l_a; 24th Jun 2024 at 06:42.
Noob Starter Pack. Just download every Widevine mpd! Not kidding!.
https://files.videohelp.com/u/301890/hellyes6.zip -
me too i dont know what is cmfv.
Code:https://p-haul-st.sby.candl.jp/fc-haul03.sby/dg03/8005/wxToHZ7tEqJmh51KCKcVJPVjqm5y0ziDb6rLKvcIgxHEH14BhR3npjVRLCctgVkMjMkYZsbDrKKpmq4KGEWYa2pTfMPgeyEnbgz14iZlLLzdGyT9si5N3.rL4v6j1w.L/067/130/100/fdm0131/fdm0131_00_2m.cmfv
[Attachment 80157 - Click to enlarge] -
https://www.wowza.com/blog/what-is-cmaf
https://castr.com/blog/what-is-cmaf/
CMAF (Common Media Application Format) (cmfv video and cmfa audio)
both support it
https://github.com/axiomatic-systems/Bento4
https://github.com/Eyevinn/mp4ff -
Appreciate your time Angela, I will try the guide when I get a chance later in the week.
Seems I've tried your patience, but I never used python, these scripts, or much terminal programs before, so bit of a learning curve.
That was the links from the code below:
Video:
https://p-haul-st.sby.candl.jp/fc-haul03.sby/dg03/8005/ZaBSiD.G37VhKYO5A1Fgi5c4vMKIPT3...131_00_2m.cmfv
Audio:
https://p-haul-st.sby.candl.jp/fc-haul03.sby/dg03/8005/ZaBSiD.G37VhKYO5A1Fgi5c4vMKIPT3...1_00_192k.cmfa
Seems you can not access without logging in, but once logged in you can save target as mp4 for video and m4a for audio.
But maybe doing it that way corrupts the files? Video is about 1.1gb and audio is about 33mb, but have no place to upload them.
With the keys I had before I thought I could decode them, but wasn't working. Will try Angela suggested later in the week.
Code:<?xml version="1.0" encoding="utf-8"?> <MPD xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:cenc="urn:mpeg:cenc:2013" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd" type="static" mediaPresentationDuration="PT1H18M16.467801S" minBufferTime="PT10S" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011"> <Period duration="PT1H18M16.467801S"> <AdaptationSet id="1" group="1" contentType="audio" lang="ja" segmentAlignment="true" subsegmentAlignment="true" subsegmentStartsWithSAP="1" audioSamplingRate="44100" mimeType="audio/mp4" codecs="mp4a.40.2" startWithSAP="1"> <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/> <!-- Common Encryption --> <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cbcs" cenc:default_KID="E9F368BD-A205-4D6B-B2D1-AD28AF408473"> </ContentProtection> <!-- Widevine --> <ContentProtection schemeIdUri="urn:uuid:EDEF8BA9-79D6-4ACE-A3C8-27DCD51D21ED"> <cenc:pssh>AAAASnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAACoSEOnzaL2iBU1rstGtKK9AhHMSEExx8AjUIUomgiWF+ZfurR5I88aJmwY=</cenc:pssh> </ContentProtection> <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/> <Representation id="audio_jpn=56072" bandwidth="73000"> <BaseURL>https://p-haul-st.sby.candl.jp/fc-haul03.sby/dg03/8005/ZaBSiD.G37VhKYO5A1Fgi5c4vMKIPT3xKAY9LM1MK8ZYio7kVinFAEJSEpcW9.PqGk6Hf14HwTxc5-Z0qSvFDg3qmfqDqJePnG4Dtq0gai-2m5T0ZIW.sm5Bah26m.Zd/067/130/100/fdm0131/fdm0131_00_192k.cmfa</BaseURL> <SegmentBase timescale="44100" presentationDuration="207114230" indexRangeExact="true" indexRange="1540-57875"> <Initialization range="0-1539"/> </SegmentBase> </Representation> </AdaptationSet> <AdaptationSet id="2" group="2" contentType="video" lang="ja" par="4:3" minBandwidth="1210000" maxBandwidth="5191000" segmentAlignment="true" subsegmentAlignment="true" subsegmentStartsWithSAP="1" width="640" height="480" sar="1:1" mimeType="video/mp4" codecs="avc1.42C01E" startWithSAP="1"> <!-- Common Encryption --> <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cbcs" cenc:default_KID="4C71F008-D421-4A26-8225-85F997EEAD1E"> </ContentProtection> <!-- Widevine --> <ContentProtection schemeIdUri="urn:uuid:EDEF8BA9-79D6-4ACE-A3C8-27DCD51D21ED"> <cenc:pssh>AAAASnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAACoSEOnzaL2iBU1rstGtKK9AhHMSEExx8AjUIUomgiWF+ZfurR5I88aJmwY=</cenc:pssh> </ContentProtection> <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/> <Representation id="video_jpn=501000" bandwidth="1210000" scanType="progressive"> <BaseURL>https://p-haul-st.sby.candl.jp/fc-haul03.sby/dg03/8005/ZaBSiD.G37VhKYO5A1Fgi5c4vMKIPT3xKAY9LM1MK8ZYio7kVinFAEJSEpcW9.PqGk6Hf14HwTxc5-Z0qSvFDg3qmfqDqJePnG4Dtq0gai-2m5T0ZIW.sm5Bah26m.Zd/067/130/100/fdm0131/fdm0131_00_500k.cmfv</BaseURL> <SegmentBase timescale="11988" presentationDuration="56300400" indexRangeExact="true" indexRange="1636-57971"> <Initialization range="0-1635"/> </SegmentBase> </Representation> <Representation id="video_jpn=2001000" bandwidth="5191000" scanType="progressive"> <BaseURL>https://p-haul-st.sby.candl.jp/fc-haul03.sby/dg03/8005/ZaBSiD.G37VhKYO5A1Fgi5c4vMKIPT3xKAY9LM1MK8ZYio7kVinFAEJSEpcW9.PqGk6Hf14HwTxc5-Z0qSvFDg3qmfqDqJePnG4Dtq0gai-2m5T0ZIW.sm5Bah26m.Zd/067/130/100/fdm0131/fdm0131_00_2m.cmfv</BaseURL> <SegmentBase timescale="11988" presentationDuration="56300400" indexRangeExact="true" indexRange="1636-57971"> <Initialization range="0-1635"/> </SegmentBase> </Representation> </AdaptationSet> </Period> <preserveWhiteSpace></preserveWhiteSpace><formatOutput>1</formatOutput></MPD> <!-- Created with Unified Streaming Platform (version=1.12.1-28247) -->
Last edited by Encrypt2Decrypt; 25th Jun 2024 at 12:11.
-
Then to my mind you shouldn't be here. You wouldn't teach anyone to climb by starting at Everest Base Camp. Downloading and decrypting is one of the most difficult processes a home user can do on their computer - yet you start here? You set yourself up to fail, but also put a burden on those, from whom, you expect support.
Noob Starter Pack. Just download every Widevine mpd! Not kidding!.
https://files.videohelp.com/u/301890/hellyes6.zip -
Again apologies for the trouble A_n_g_e_l_a, when I encountered the encrypted file I searched for similar issues online and ended up here. But I had a chance to make an attempt with your detailed guide above today and it worked great. I was able to reach all the way to the end, thank you. It downloaded both the video and audio files, but came up with one error at the last step that I am trying figure out:
Could not find codec parameters for stream 0 (Video: h264 (avc1 / 0x31637661), none, 640x480): unspecified pixel format
Code:--key 4c71f008d4214a26822585f997eead1e:6fab79480b7660dc92eb8695205b9269 --key e9f368bda2054d6bb2d1ad28af408473:4b9eaa03cea516f04c1d880081899c02 Save Video as? Test_Video N_m3u8DL-RE 'https://idc104.candl.jp/watch/?a=S5NFdExUeVj2bTnc8nQt58LW4oaXtxykQ5fe-AgybWU&h=104&f=fdm0131_00_2m.cmaf&style.mpd' --key 4c71f008d4214a26822585f997eead1e:6fab79480b7660dc92eb8695205b9269 --key e9f368bda2054d6bb2d1ad28af408473:4b9eaa03cea516f04c1d880081899c02 --save-name Test_Video -M:format=mkv ['N_m3u8DL-RE', 'https://idc104.candl.jp/watch/?a=S5NFdExUeVj2bTnc8nQt58LW4oaXtxykQ5fe-AgybWU&h=104&f=fdm0131_00_2m.cmaf&style.mpd', '--key', '4c71f008d4214a26822585f997eead1e:6fab79480b7660dc92eb8695205b9269', '--key', 'e9f368bda2054d6bb2d1ad28af408473:4b9eaa03cea516f04c1d880081899c02', '--save-name', 'Test_Video', '-M', 'format=mkv'] Press Enter to run the download-command or ctrl+C to exit. 14:06:53.346 INFO : N_m3u8DL-RE (Beta version) 20230628 14:06:53.464 INFO : Loading URL: https://idc104.candl.jp/watch/?a=S5NFdExUeVj2bTnc8nQt58LW4oaXtxykQ5fe-AgybWU&h=104&f=fdm0131_00_2m.cmaf&style.mpd 14:06:54.374 INFO : Content Matched: Dynamic Adaptive Streaming over HTTP 14:06:54.377 INFO : Parsing streams... 14:06:54.388 WARN : Writing meta json 14:06:54.400 INFO : Extracted, there are 3 streams, with 2 basic streams, 1 audio streams, 0 subtitle streams 14:06:54.409 INFO : Vid *CENC 5191 Kbps | video_jpn=2001000 | avc1.42C01E | 1 Segment | ~01h18m16s 14:06:54.411 INFO : Vid *CENC 1210 Kbps | video_jpn=501000 | avc1.42C01E | 1 Segment | ~01h18m16s 14:06:54.415 INFO : Aud *CENC audio_jpn=56072 | 73 Kbps | mp4a.40.2 | ja | 2CH | 1 Segment | ~01h18m16s 14:07:30.518 INFO : Parsing streams... 14:07:30.520 INFO : Selected streams: 14:07:30.521 INFO : Vid *CENC 5191 Kbps | video_jpn=2001000 | avc1.42C01E | 1 Segment | ~01h18m16s 14:07:30.522 INFO : Aud *CENC audio_jpn=56072 | 73 Kbps | mp4a.40.2 | ja | 2CH | 1 Segment | ~01h18m16s 14:07:30.523 WARN : Writing meta json 14:07:30.525 INFO : Save Name: Test_Video 14:07:30.526 WARN : MuxAfterDone is detected, binary merging is automatically enabled 14:07:31.362 INFO : Start downloading...Vid 5191 Kbps | video_jpn=2001000 | avc1.42C01E 14:10:00.080 WARN : Type: cbcs 14:10:00.082 WARN : PSSH(WV): EhDp82i9ogVNa7LRrSivQIRzEhBMcfAI1CFKJoIlhfmX7q0eSPPGiZsG 14:10:00.084 WARN : KID: 4c71f008d4214a26822585f997eead1e 14:10:00.087 WARN : Reading media info... 14:10:01.165 INFO : [0x1]: Video, h264 (Constrained Baseline) (avc1), 640x480, 29.97 fps, 1 kb/s 14:10:01.168 INFO : Binary merging... 14:10:03.791 INFO : Decrypting... 14:10:25.818 INFO : Start downloading...Aud audio_jpn=56072 | 73 Kbps | mp4a.40.2 | ja | 2CH 14:10:32.574 WARN : Type: cbcs 14:10:32.576 WARN : PSSH(WV): EhDp82i9ogVNa7LRrSivQIRzEhBMcfAI1CFKJoIlhfmX7q0eSPPGiZsG 14:10:32.578 WARN : KID: e9f368bda2054d6bb2d1ad28af408473 14:10:32.580 WARN : Reading media info... 14:10:32.660 INFO : [0x1]: Audio, aac (LC) (mp4a), 0 kb/s 14:10:32.662 INFO : Binary merging... 14:10:32.699 INFO : Decrypting... 14:10:34.153 WARN : Test_Video.ja.mp4 14:10:34.159 WARN : Test_Video.ja.m4a 14:10:34.160 WARN : Muxing to Test_Video.MUX.mkv 14:10:34.243 WARN : [mov,mp4,m4a,3gp,3g2,mj2 @ 000001707cbeb540] Could not find codec parameters for stream 0 (Video: h264 (avc1 / 0x31637661), none, 640x480): unspecified pixel format 14:10:34.252 WARN : Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options 14:10:34.404 WARN : [out#0/matroska @ 000001707cc0cfc0] Output file is empty, nothing was encoded 14:10:34.415 WARN : Cleaning files... 14:10:38.627 WARN : Rename to Test_Video.mkv 14:10:38.629 INFO : Done
-
There are a few things to try.
Instead of altering the python, the script prints the N_m3u8DL-RE command before downloading. Stop the script there and use the N_m3~ command directly,
Find the part at the end that is 'format=mkv'. And make it 'format=mkv:muxer=mkvmerge'. If that doesn't work change it to 'format=mp4'. I've no idea if 'format=cmaf' would work either. Run the N_m3u8DL-RE command directly from Terminal and it will download and try to mux in the varios formats suggested.Last edited by A_n_g_e_l_a; 29th Jun 2024 at 14:56.
Noob Starter Pack. Just download every Widevine mpd! Not kidding!.
https://files.videohelp.com/u/301890/hellyes6.zip -
Thanks for your additional suggestions. I tried stopping the script as you suggested, pulled below code and ran directly, but was unsuccessful.
Code:N_m3u8DL-RE 'https://idc104.candl.jp/watch/?a=-1aHB-HgDQeLkXXK4g-gnlK3BsclHy9yG9WYzs9OLGE&h=104&f=fdm0131_00_2m.cmaf&style.mpd' --key e9f368bda2054d6bb2d1ad28af408473:4b9eaa03cea516f04c1d880081899c02 --key 4c71f008d4214a26822585f997eead1e:6fab79480b7660dc92eb8695205b9269 --save-name test -M:format=mkv
There are a few things to try.
Find the part at the end that is 'format=mkv'. And make it 'format=mkv:muxer=mkvmerge'. If that doesn't work change it to 'format=mp4'
One m4a file 34mb and one mp4 file 1.1 GB, but unable to play either.
Code:--key e9f368bda2054d6bb2d1ad28af408473:4b9eaa03cea516f04c1d880081899c02 --key 4c71f008d4214a26822585f997eead1e:6fab79480b7660dc92eb8695205b9269 Save Video as? mux N_m3u8DL-RE 'https://idc104.candl.jp/watch/?a=ka5Wie2uSuIcLojOf9KLpMrAqtJgfDKcsuKOwL2Wncg&h=104&f=fdm0131_00_2m.cmaf&style.mpd' --key e9f368bda2054d6bb2d1ad28af408473:4b9eaa03cea516f04c1d880081899c02 --key 4c71f008d4214a26822585f997eead1e:6fab79480b7660dc92eb8695205b9269 --save-name mux -M:format=mkv ['N_m3u8DL-RE', 'https://idc104.candl.jp/watch/?a=ka5Wie2uSuIcLojOf9KLpMrAqtJgfDKcsuKOwL2Wncg&h=104&f=fdm0131_00_2m.cmaf&style.mpd', '--key', 'e9f368bda2054d6bb2d1ad28af408473:4b9eaa03cea516f04c1d880081899c02', '--key', '4c71f008d4214a26822585f997eead1e:6fab79480b7660dc92eb8695205b9269', '--save-name', 'mux', '-M', 'format=mkv:muxer=mkvmerge'] Press Enter to run the download-command or ctrl+C to exit.Traceback (most recent call last): File "C:\Users\desktop\1\drm\hell3.py", line 396, in <module> input("Press Enter to run the download-command or ctrl+C to exit.") KeyboardInterrupt PS C:\Users\desktop\1\drm> N_m3u8DL-RE 'https://idc104.candl.jp/watch/?a=ka5Wie2uSuIcLojOf9KLpMrAqtJgfDKcsuKOwL2Wncg&h=104&f=fdm0131_00_2m.cmaf&style.mpd' --key e9f368bda2054d6bb2d1ad28af408473:4b9eaa03cea516f04c1d880081899c02 13:09:24.767 INFO : N_m3u8DL-RE (Beta version) 20230628 13:09:24.806 INFO : Loading URL: https://idc104.candl.jp/watch/?a=ka5Wie2uSuIcLojOf9KLpMrAqtJgfDKcsuKOwL2Wncg&h=104&f=fdm0131_00_2m.cmaf&style.mpd 13:09:25.667 INFO : Content Matched: Dynamic Adaptive Streaming over HTTP 13:09:25.669 INFO : Parsing streams... 13:09:25.679 WARN : Writing meta json 13:09:25.686 INFO : Extracted, there are 3 streams, with 2 basic streams, 1 audio streams, 0 subtitle streams 13:09:25.687 INFO : Vid *CENC 5191 Kbps | video_jpn=2001000 | avc1.42C01E | 1 Segment | ~01h18m16s 13:09:25.689 INFO : Vid *CENC 1210 Kbps | video_jpn=501000 | avc1.42C01E | 1 Segment | ~01h18m16s 13:09:25.690 INFO : Aud *CENC audio_jpn=56072 | 73 Kbps | mp4a.40.2 | ja | 2CH | 1 Segment | ~01h18m16s 13:09:33.231 INFO : Parsing streams... 13:09:33.232 INFO : Selected streams: 13:09:33.234 INFO : Vid *CENC 5191 Kbps | video_jpn=2001000 | avc1.42C01E | 1 Segment | ~01h18m16s 13:09:33.235 INFO : Aud *CENC audio_jpn=56072 | 73 Kbps | mp4a.40.2 | ja | 2CH | 1 Segment | ~01h18m16s 13:09:33.237 WARN : Writing meta json 13:09:33.239 INFO : Save Name: _2024-06-30_13-09-25 13:09:34.059 INFO : Start downloading...Vid 5191 Kbps | video_jpn=2001000 | avc1.42C01E 13:09:34.061 WARN : When CENC encryption is detected, binary merging is automatically enabled 13:11:55.806 WARN : Type: cbcs 13:11:55.809 WARN : PSSH(WV): EhDp82i9ogVNa7LRrSivQIRzEhBMcfAI1CFKJoIlhfmX7q0eSPPGiZsG 13:11:55.811 WARN : KID: 4c71f008d4214a26822585f997eead1e 13:11:55.813 WARN : Reading media info... 13:11:55.890 INFO : [0x1]: Video, h264 (Constrained Baseline) (avc1), 640x480, 29.97 fps, 1 kb/s 13:11:55.892 INFO : Binary merging... 13:12:00.769 INFO : Decrypting... 13:12:01.084 INFO : Start downloading...Aud audio_jpn=56072 | 73 Kbps | mp4a.40.2 | ja | 2CH 13:12:12.345 WARN : Type: cbcs 13:12:12.348 WARN : PSSH(WV): EhDp82i9ogVNa7LRrSivQIRzEhBMcfAI1CFKJoIlhfmX7q0eSPPGiZsG 13:12:12.350 WARN : KID: e9f368bda2054d6bb2d1ad28af408473 13:12:12.353 WARN : Reading media info... 13:12:12.452 INFO : [0x1]: Audio, aac (LC) (mp4a), 0 kb/s 13:12:12.454 INFO : Binary merging... 13:12:12.502 INFO : Decrypting... 13:12:14.472 INFO : Done PS C:\Users\desktop\1\drm> --key 4c71f008d4214a26822585f997eead1e:6fab79480b7660dc92eb8695205b9269 --save-name mux -M:format=mkv At line:1 char:3 + --key 4c71f008d4214a26822585f997eead1e:6fab79480b7660dc92eb8695205b92 ... + ~ Missing expression after unary operator '--'. At line:1 char:3 + --key 4c71f008d4214a26822585f997eead1e:6fab79480b7660dc92eb8695205b92 ... + ~~~ Unexpected token 'key' in expression or statement. + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : MissingExpressionAfterOperator
Code:13:04:49.133 WARN : Muxing to zxc.MUX.mp4 13:04:49.252 WARN : [mov,mp4,m4a,3gp,3g2,mj2 @ 000001e690982a40] Could not find codec parameters for stream 0 (Video: h264 (avc1 / 0x31637661), none, 640x480): unspecified pixel format 13:04:49.253 WARN : Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options 13:04:49.270 WARN : [mp4 @ 000001e6909c6c40] track 1: codec frame size is not set 13:04:49.272 WARN : [out#0/mp4 @ 000001e6909c6b40] Output file is empty, nothing was encoded 13:04:49.285 WARN : Cleaning files... 13:04:49.373 WARN : Rename to zxc.mp4 13:04:49.376 INFO : Done
I've no idea if 'format=cmaf' would work either
Not sure which one did, but I noticed after one of the attempts a folder was left with two .json file and one .mdp file:
meta.json
Code:[ { "GroupId": "video_jpn=2001000", "Language": "ja", "Bandwidth": 5191000, "Codecs": "avc1.42C01E", "Extension": "mp4", "Url": "https://idc104.candl.jp/watch/?a=tXRGW-QYJqYqKb4KuyBEl9UNE8dLTjEsOVBwJaNmhy4&h=104&f=fdm0131_00_2m.cmaf&style.mpd", "OriginalUrl": "https://idc104.candl.jp/watch/?a=tXRGW-QYJqYqKb4KuyBEl9UNE8dLTjEsOVBwJaNmhy4&h=104&f=fdm0131_00_2m.cmaf&style.mpd", "Playlist": { "IsLive": false, "RefreshIntervalMs": 30000, "TotalDuration": 4696.467801, "MediaParts": [ { "MediaSegments": [ { "Index": 0, "Duration": 4696.467801, "EncryptInfo": { "Method": "CENC" }, "Url": "https://p-haul-st.sby.candl.jp/fc-haul03.sby/dg03/8004/D0oTupmR1IyexKkcfr51JFBCwtJL6K6INeC2E9YI-C-MpDOeXOLceFE56PPxSduWdpmdMXhUwaFYjRkI6EZ3fZdvpM1mxRKpyJKdxoUyV0AymfE9sMBJDwT0-8TYaNja/067/130/100/fdm0131/fdm0131_00_2m.cmfv" } ] } ] }, "SegmentsCount": 1 }, { "GroupId": "video_jpn=501000", "Language": "ja", "Bandwidth": 1210000, "Codecs": "avc1.42C01E", "Extension": "mp4", "Url": "https://idc104.candl.jp/watch/?a=tXRGW-QYJqYqKb4KuyBEl9UNE8dLTjEsOVBwJaNmhy4&h=104&f=fdm0131_00_2m.cmaf&style.mpd", "OriginalUrl": "https://idc104.candl.jp/watch/?a=tXRGW-QYJqYqKb4KuyBEl9UNE8dLTjEsOVBwJaNmhy4&h=104&f=fdm0131_00_2m.cmaf&style.mpd", "Playlist": { "IsLive": false, "RefreshIntervalMs": 30000, "TotalDuration": 4696.467801, "MediaParts": [ { "MediaSegments": [ { "Index": 0, "Duration": 4696.467801, "EncryptInfo": { "Method": "CENC" }, "Url": "https://p-haul-st.sby.candl.jp/fc-haul03.sby/dg03/8004/D0oTupmR1IyexKkcfr51JFBCwtJL6K6INeC2E9YI-C-MpDOeXOLceFE56PPxSduWdpmdMXhUwaFYjRkI6EZ3fZdvpM1mxRKpyJKdxoUyV0AymfE9sMBJDwT0-8TYaNja/067/130/100/fdm0131/fdm0131_00_500k.cmfv" } ] } ] }, "SegmentsCount": 1 }, { "MediaType": "AUDIO", "GroupId": "audio_jpn=56072", "Language": "ja", "Bandwidth": 73000, "Codecs": "mp4a.40.2", "Channels": "2", "Extension": "mp4", "Url": "https://idc104.candl.jp/watch/?a=tXRGW-QYJqYqKb4KuyBEl9UNE8dLTjEsOVBwJaNmhy4&h=104&f=fdm0131_00_2m.cmaf&style.mpd", "OriginalUrl": "https://idc104.candl.jp/watch/?a=tXRGW-QYJqYqKb4KuyBEl9UNE8dLTjEsOVBwJaNmhy4&h=104&f=fdm0131_00_2m.cmaf&style.mpd", "Playlist": { "IsLive": false, "RefreshIntervalMs": 30000, "TotalDuration": 4696.467801, "MediaParts": [ { "MediaSegments": [ { "Index": 0, "Duration": 4696.467801, "EncryptInfo": { "Method": "CENC" }, "Url": "https://p-haul-st.sby.candl.jp/fc-haul03.sby/dg03/8004/D0oTupmR1IyexKkcfr51JFBCwtJL6K6INeC2E9YI-C-MpDOeXOLceFE56PPxSduWdpmdMXhUwaFYjRkI6EZ3fZdvpM1mxRKpyJKdxoUyV0AymfE9sMBJDwT0-8TYaNja/067/130/100/fdm0131/fdm0131_00_192k.cmfa" } ] } ] }, "SegmentsCount": 1 } ]
Code:[ { "GroupId": "video_jpn=2001000", "Language": "ja", "Bandwidth": 5191000, "Codecs": "avc1.42C01E", "Extension": "mp4", "Url": "https://idc104.candl.jp/watch/?a=tXRGW-QYJqYqKb4KuyBEl9UNE8dLTjEsOVBwJaNmhy4&h=104&f=fdm0131_00_2m.cmaf&style.mpd", "OriginalUrl": "https://idc104.candl.jp/watch/?a=tXRGW-QYJqYqKb4KuyBEl9UNE8dLTjEsOVBwJaNmhy4&h=104&f=fdm0131_00_2m.cmaf&style.mpd", "Playlist": { "IsLive": false, "RefreshIntervalMs": 30000, "TotalDuration": 4696.467801, "MediaParts": [ { "MediaSegments": [ { "Index": 0, "Duration": 4696.467801, "EncryptInfo": { "Method": "CENC" }, "Url": "https://p-haul-st.sby.candl.jp/fc-haul03.sby/dg03/8004/D0oTupmR1IyexKkcfr51JFBCwtJL6K6INeC2E9YI-C-MpDOeXOLceFE56PPxSduWdpmdMXhUwaFYjRkI6EZ3fZdvpM1mxRKpyJKdxoUyV0AymfE9sMBJDwT0-8TYaNja/067/130/100/fdm0131/fdm0131_00_2m.cmfv" } ] } ] }, "SegmentsCount": 1 } ]
Code:<?xml version="1.0" encoding="utf-8"?> <MPD xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:cenc="urn:mpeg:cenc:2013" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd" type="static" mediaPresentationDuration="PT1H18M16.467801S" minBufferTime="PT10S" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011"> <Period duration="PT1H18M16.467801S"> <AdaptationSet id="1" group="1" contentType="audio" lang="ja" segmentAlignment="true" subsegmentAlignment="true" subsegmentStartsWithSAP="1" audioSamplingRate="44100" mimeType="audio/mp4" codecs="mp4a.40.2" startWithSAP="1"> <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/> <!-- Common Encryption --> <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cbcs" cenc:default_KID="E9F368BD-A205-4D6B-B2D1-AD28AF408473"> </ContentProtection> <!-- Widevine --> <ContentProtection schemeIdUri="urn:uuid:EDEF8BA9-79D6-4ACE-A3C8-27DCD51D21ED"> <cenc:pssh>AAAASnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAACoSEOnzaL2iBU1rstGtKK9AhHMSEExx8AjUIUomgiWF+ZfurR5I88aJmwY=</cenc:pssh> </ContentProtection> <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/> <Representation id="audio_jpn=56072" bandwidth="73000"> <BaseURL>https://p-haul-st.sby.candl.jp/fc-haul03.sby/dg03/8004/D0oTupmR1IyexKkcfr51JFBCwtJL6K6INeC2E9YI-C-MpDOeXOLceFE56PPxSduWdpmdMXhUwaFYjRkI6EZ3fZdvpM1mxRKpyJKdxoUyV0AymfE9sMBJDwT0-8TYaNja/067/130/100/fdm0131/fdm0131_00_192k.cmfa</BaseURL> <SegmentBase timescale="44100" presentationDuration="207114230" indexRangeExact="true" indexRange="1540-57875"> <Initialization range="0-1539"/> </SegmentBase> </Representation> </AdaptationSet> <AdaptationSet id="2" group="2" contentType="video" lang="ja" par="4:3" minBandwidth="1210000" maxBandwidth="5191000" segmentAlignment="true" subsegmentAlignment="true" subsegmentStartsWithSAP="1" width="640" height="480" sar="1:1" mimeType="video/mp4" codecs="avc1.42C01E" startWithSAP="1"> <!-- Common Encryption --> <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cbcs" cenc:default_KID="4C71F008-D421-4A26-8225-85F997EEAD1E"> </ContentProtection> <!-- Widevine --> <ContentProtection schemeIdUri="urn:uuid:EDEF8BA9-79D6-4ACE-A3C8-27DCD51D21ED"> <cenc:pssh>AAAASnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAACoSEOnzaL2iBU1rstGtKK9AhHMSEExx8AjUIUomgiWF+ZfurR5I88aJmwY=</cenc:pssh> </ContentProtection> <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/> <Representation id="video_jpn=501000" bandwidth="1210000" scanType="progressive"> <BaseURL>https://p-haul-st.sby.candl.jp/fc-haul03.sby/dg03/8004/D0oTupmR1IyexKkcfr51JFBCwtJL6K6INeC2E9YI-C-MpDOeXOLceFE56PPxSduWdpmdMXhUwaFYjRkI6EZ3fZdvpM1mxRKpyJKdxoUyV0AymfE9sMBJDwT0-8TYaNja/067/130/100/fdm0131/fdm0131_00_500k.cmfv</BaseURL> <SegmentBase timescale="11988" presentationDuration="56300400" indexRangeExact="true" indexRange="1636-57971"> <Initialization range="0-1635"/> </SegmentBase> </Representation> <Representation id="video_jpn=2001000" bandwidth="5191000" scanType="progressive"> <BaseURL>https://p-haul-st.sby.candl.jp/fc-haul03.sby/dg03/8004/D0oTupmR1IyexKkcfr51JFBCwtJL6K6INeC2E9YI-C-MpDOeXOLceFE56PPxSduWdpmdMXhUwaFYjRkI6EZ3fZdvpM1mxRKpyJKdxoUyV0AymfE9sMBJDwT0-8TYaNja/067/130/100/fdm0131/fdm0131_00_2m.cmfv</BaseURL> <SegmentBase timescale="11988" presentationDuration="56300400" indexRangeExact="true" indexRange="1636-57971"> <Initialization range="0-1635"/> </SegmentBase> </Representation> </AdaptationSet> </Period> <preserveWhiteSpace></preserveWhiteSpace><formatOutput>1</formatOutput></MPD> <!-- Created with Unified Streaming Platform (version=1.12.1-28247) -->
Last edited by Encrypt2Decrypt; 30th Jun 2024 at 12:39.
-
These are the only valid muxers and formats:
[Attachment 80338 - Click to enlarge]
The files you found were generated by N_m3u8DL-RE. -
The script has done its job and given you the keys. Clearly N_m3u8DL-RE is having problems with the codec in the streams and that it outside my experience. If the codec hasn't yet made it to ffmpeg (And it seems it hasn't) maybe the only way it will play is in the browser which which would load a unique javacript player from the site as well. Search and ask around if anyone had success with the site.
Even if you look to other downloaders and decrypt with the keys found already, without anything to understand the codec., I think you may be doomed to fail at playback.
It is nigh impossible to solve this remotely as well.Noob Starter Pack. Just download every Widevine mpd! Not kidding!.
https://files.videohelp.com/u/301890/hellyes6.zip -
Last edited by larley; 30th Jun 2024 at 13:31.
Bypass HMACs, One-time-tokens and Lic.Wrapping: https://github.com/DevLARLEY/WidevineProxy2
Similar Threads
-
Decrypting HLS Live Stream with 2 keys.
By Samudragupta in forum Video Streaming DownloadingReplies: 4Last Post: 31st May 2024, 12:46 -
Help decrypting video/audio downloaded from NPO (Netherlands website)
By oopargentina in forum Video Streaming DownloadingReplies: 28Last Post: 19th Nov 2023, 21:37 -
decrypting the video with keys
By jamkiya in forum Video Streaming DownloadingReplies: 4Last Post: 30th Aug 2021, 02:11 -
Help decrypting this MPD content (I have keys)
By royjeon215 in forum Video Streaming DownloadingReplies: 4Last Post: 5th May 2021, 11:41 -
Trying to play this MP4 video that I downloaded by Stream Recorder
By ddlovatomux in forum Video Streaming DownloadingReplies: 5Last Post: 17th May 2020, 02:21