Support our site by donate $5 directly to us Thanks!!!
Try StreamFab Downloader and download streaming video from Netflix, Amazon!
Try StreamFab Downloader and download streaming video from Netflix, Amazon!
+ Reply to Thread
Results 61 to 90 of 91
-
@ampersand
You need to
1)parse the mpd,
2) grab the init url
3) download the the init.mp4
4) grab pssh from init.mp4
Code for all these steps can be found on this site.Last edited by jack_666; 27th Nov 2022 at 08:21.
-
i've tried init.mp4 and it didn't work, i'll try init.m4a next when i get some free time
-
If you pop your generated PSSH and the one properly determined by CTV's code into https://tools.axinom.com/decoders/PsshBox, you'll notice two differences in the latter:
- the content ID is set
- the Provider field is filled in
I avoid generating my own PSSHes where possible (I've only had to do it for one site and even then I triple-checked that they were identical to the ones EME Logger were displaying to me), because I'm anal-retentive and prefer to have my license requests closely match the, erm, legitimate ones as much as possible.
If you can work out the content ID from an API call, you can try generating the PSSH with pssh-box.py which does all the Protobuf stuff to create a proper PSSH, given correct information, but I'd try that as a last resort.
i mean eme is obviously doing something right, can it be incorporated into a script that runs by itself?
In my CTV script, I get the PSSH from the encrypted video I've had yt-dlp download. This probably means it's in the init segment of the MP4, which you can parse the MPD to find, but since CTV's license server doesn't impose a time limit for you to make a request, it's probably easier code-wise to just download the entire episode and then rifle through the downloaded video to find the PSSH, which is the same process for finding it in an init.mp4, although since the file is much larger, mmapping the video and using Python's find instead of rfind is way faster.Last edited by AbortRetryFail; 27th Nov 2022 at 08:29. Reason: Add pssh-box mention
-
i don't get how you can find the pssh in the encrypted video (i'm guessing you're talking about finding the default kid and not the pssh) when in the previous paragraph you say that the default kid from the video isn't enough and that there is other data encoded there, like the provider and the content id?
anyway, i've tried both init video and audio, the full m4a and the full mp4 files as well, none of them worked, all the psssh's generated are still shorter than the one from eme and failed getwvkeys. -
To be frank, I have no idea how you're looking for the PSSH in the files. I really do mean the PSSH that gets sent, and not the KID (the only site I've resorted to generating my own - which, again, I hate doing - was one where only the KID was present in the downloaded video)... I've found the PSSH in the encrypted video for CTV and two other sites run by Bell (which, unsurprisingly enough, use the same license server). If you want, PM me a link to whatever CTV episode and we'll take a look.
-
this thread has all the information to extract the pssh from the init/encrypted video
https://forum.videohelp.com/threads/406330-Widewine-Key-request-problem#post2662321
mp4dump excerpt output for whos the boss s01e01
Code:[pssh] size=12+138 system_id = [ed ef 8b a9 79 d6 4a ce a3 c8 27 dc d5 1d 21 ed] data_size = 118 data = [08 01 12 10 52 ce 02 26 84 bf 66 eb 0f af ea 31 f0 42 c1 73 1a 09 62 65 6c 6c 6d 65 64 69 61 22 55 70 6c 61 79 6c 69 73 74 2f 32 35 33 31 36 38 33 2f 33 30 35 35 30 30 30 39 2f 64 61 73 68 2f 32 30 31 33 30 30 30 31 2f 62 64 32 61 33 38 61 37 37 33 31 64 35 35 37 33 2f 69 6e 64 65 78 2f 39 33 36 38 64 65 65 63 2f 6e 6f 6e 65 2f 6e 6f 6e 65 2f 64 72 6d]
Code:CAESEFLOAiaEv2brD6/qMfBCwXMaCWJlbGxtZWRpYSJVcGxheWxpc3QvMjUzMTY4My8zMDU1MDAwOS9kYXNoLzIwMTMwMDAxL2JkMmEzOGE3NzMxZDU1NzMvaW5kZXgvOTM2OGRlZWMvbm9uZS9ub25lL2RybQ==
Code:AAAAlnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAHYIARIQUs4CJoS/ZusPr+ox8ELBcxoJYmVsbG1lZGlhIlVwbGF5bGlzdC8yNTMxNjgzLzMwNTUwMDA5L2Rhc2gvMjAxMzAwMDEvYmQyYTM4YTc3MzFkNTU3My9pbmRleC85MzY4ZGVlYy9ub25lL25vbmUvZHJt
Last edited by ElCap; 27th Nov 2022 at 16:44.
-
the pssh is in the init.mp4... use the WV pssh Elcap gave and use axinom tools to analysis it to have a better understanding of it. lots of info in the forum to help you.
[Attachment 67879 - Click to enlarge]
Putting all the tools together! -
ah, I see now - there was a misunderstanding on my part. you're looking through the actual file, not the mp4dump result.
this works! after getting a --test file from yt-dlp, mp4dumping it and entering into pssh box generator I get the exact pssh from eme logger. now I have to figure out how to do that from a script. googling brings up the shaka-packager pssh tool so i'll have to set that up I guess. edit: or maybe not..., according to the axinom pssh decoder (and what i've seen when converting the pssh to hex and comparing the initial part of it in hex with the one in ridibunda's great post https://forum.videohelp.com/threads/404586-how-to-work-out-the-pssh-when-not-shown-in-...pd#post2649666 ) the final part of the pssh are the sizes of data and they are easy to calculate if what i'm seeing from the hex to decimal converter is right. i'll play more with this but i think i have it figured out and i won't need the shaka tool.
thanks for all the help, everyone
edit2: it works, i only downloaded/decrypted the audio for testing and it plays fine
edit3:
for whoever's reading this and is interested:
1) download a part of the video using yt-dlp's --test feature
2) use mp4 dump on the resulting mp4 file (verbosity 3, output json)
3) in dump json there is a "data" and "data_size" property, save those
4) now, if you look at ridibunda's post, here are the components of the PSSH:
00000034 = ????
70737368 = pssh signifier (constant)
00000000 = 8 zeros (constant)
edef8ba979d64acea3c827dcd51d21ed = widevine id (constant)
00000014 = ????
08011210d46997150ece4f3ca1b249bdb8be1102 = your "data" variable with spaces and brackets removed here (got this from mp4dump)
now if you also check the pssh with the pssh decoder you can see those 2 ???? parts are sizes in hex - first one is the size of the whole hex pssh and the 2nd one is the size of "data"
you have the 2nd one from the mp4 dump (data_size), and the 1st one is the 2nd one + 32 (because the pssh size signifier + pssh header + widevine id + data size signifier should always be 32 bytes = 64 hex characters)
calculate that (that is, add two numbers together) and turn both into hex (8 digits with leading zeros, no 0x)
now you just put it all together and encode it the way it's done in angela's get-pssh code on the previous pageLast edited by ampersand; 28th Nov 2022 at 00:11.
-
ampersand:
00000034 = ????
00000014 = ????
EDIT: I've just read your post more carefully...maybe I should delete this post, you know what those values are already.Last edited by bamboobali; 28th Nov 2022 at 04:01. Reason: I've just read your post more carefully...
-
This is my Full Hex which is converted from Base64 to Hex. Problem is that from what digits OR what letters i can copy for again converting. Can tell me? 000000837073736801000000EDEF8BA979D64ACEA3C827DCD5 1D21ED00000001A36616D07F61125B690B8EE49C83DF330000 004F2247776D6A3136675A382D51766E6F72525A762D51766E 6F72525A762D33343534353139375F33343534353139385F33 343534353139395F33343534353230335F3334353435323034 48E3DC959B06
-
This is my Full Hex which is converted from Base64 to Hex. Problem is that from what digits OR what letters i can copy for again converting. Can tell me? 000000837073736801000000EDEF8BA979D64ACEA3C827DCD5 1D21ED00000001A36616D07F61125B690B8EE49C83DF330000 004F2247776D6A3136675A382D51766E6F72525A762D51766E 6F72525A762D33343534353139375F33343534353139385F33 343534353139395F33343534353230335F3334353435323034 48E3DC959B06
Start from the first method. If useless, try the second one. The third is the last resort.
Why convert it to Hex? That was your PSSH already:
AAAAg3Bzc2gBAAAA7e+LqXnWSs6jyCfc1R0h7QAAAAGjZhbQf2 ESW2kLjuScg98zAAAATyJHd21qMTZnWjgtUXZub3JSWnYtUXZu b3JSWnYtMzQ1NDUxOTdfMzQ1NDUxOThfMzQ1NDUxOTlfMzQ1ND UyMDNfMzQ1NDUyMDRI49yVmwY= -
Hello, I'm trying to get the keys any help how to do it
https://files.videohelp.com/u/305668/SUR_TV_C4.mpd -
your key
Code:c047764a90e9a5b0213aec8fed8a24aa:07e62001064fbe64796b4ed3836761f4
-
i get this
AAAAMnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAABISEMBHdk qQ6aWwITrsj+2KJKo= -
Hi, all, running into a similar problem myself!
When I run N_m3u8DL-RE on the link, I am able to see the KID:
22:52:53.652 WARN : KID: d39d5e8c4f474823a1777da8f16b6cc7
But I do not know how to generate the PSSH from this KID
(and how do you use the "Code:" formatting when making a post?)Last edited by PeeJay75; 29th Jul 2023 at 22:18. Reason: added question about code view
-
https://forum.videohelp.com/threads/404586-how-to-work-out-the-pssh-when-not-shown-in-...e2#post2668584
or
https://tools.axinom.com/generators/PsshBox
however, your PSSH
AAAAMnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAABISENOdXo xPR0gjoXd9qPFrbMc=Last edited by piaohua; 29th Jul 2023 at 22:39.
-
I'm trying to find a way to play a protected url I found this in the m3u8 playlist url:
AAAApXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAIUIARIQUR 8HtDVb3I+JY83oGpU3HBoIY2FzdGxhYnMiXGV5SmhjM05sZEVs a0lqb2lPV1EzTW1JeFlXRTFOVE5sTkRjM00ySmpNREkwWXpnNF l6Vm1OelJqT0RVaUxDSjJZWEpwWVc1MFNXUWlPaUprWldaaGRX eDBJbjA9MgdkZWZhdWx0
I have put it in tools.axinom.com/decoders/PsshBox .... what do I do with the information obtained there? -
Thanks, piaohua!
I tried the axinom tool, but obviously I was doing something wrong.
When I input the KID into the "System ID" field, I get this for "Generated PSSH Box" (Base64): AAAAIHBzc2gAAAAA051ejE9HSCOhd32o8WtsxwAAAAA=
What am I leaving out?
Thanks! -
[Attachment 72758 - Click to enlarge]
Like this! -
Hi I'm newb, I found there are two PSSH vaule in the mpd file which one is very long and other one is shorter. I tried convert both to Hex and they're start with 8 digits+7073, so I'm wonder which one is vaild one. Pls kindly help to look it. Thanks.
[Attachment 72839 - Click to enlarge] -
-
The part I don't understand here is that if your PSSH in HEX does not end at the end how does one know where the Payload ends? Ridibunda stated that in his case its 40 characters long, how does one know how long the payload should be? In my case the 0000004070737368 starts at the beginning, I don't understand how to calculate the PSSH Payload.
Code:0000004070737368 00000000 edef8ba979d64acea3c827dcd51d21ed = system id 00000020 2218594f55545542453a6438313561306639366330323638323848e3dc959b06000002f470737368000000009a04f07998404286ab92e65be0885f95000002d4d402000001000100ca023c00570052004d00480045004100440045005200200078006d006c006e0073003d00220068007400740070003a002f002f0073006300680065006d00610073002e006d006900630072006f0073006f00660074002e0063006f006d002f00440052004d002f0032003000300037002f00300033002f0050006c00610079005200650061006400790048006500610064006500720022002000760065007200730069006f006e003d00220034002e0030002e0030002e00300022003e003c0044004100540041003e003c00500052004f00540045004300540049004e0046004f003e003c004b00450059004c0045004e003e00310036003c002f004b00450059004c0045004e003e003c0041004c004700490044003e004100450053004300540052003c002f0041004c004700490044003e003c002f00500052004f00540045004300540049004e0046004f003e003c004b00490044003e006700510047006300760075004400520079006c005300530073004d0044006a006900540033007100300067003d003d003c002f004b00490044003e003c0043004800450043004b00530055004d003e0065006c004c0041006c007a004d002f0062002b0038003d003c002f0043004800450043004b00530055004d003e003c004c0041005f00550052004c003e00680074007400700073003a002f002f007700770077002e0079006f00750074007500620065002e0063006f006d002f006100700069002f00640072006d002f0070006c0061007900720065006100640079003f0073006f0075007200630065003d0059004f0055005400550042004500260061006d0070003b0076006900640065006f005f00690064003d0064003800310035006100300066003900360063003000320036003800320038003c002f004c0041005f00550052004c003e003c002f0044004100540041003e003c002f00570052004d004800450041004400450052003e00
Code:AAAAQHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAACAiGFlPVVRVQkU6ZDgxNWEwZjk2YzAyNjgyOEjj3JWbBgAAAvRwc3NoAAAAAJoE8HmYQEKGq5LmW+CIX5UAAALU1AIAAAEAAQDKAjwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAD4AZwBRAEcAYwB2AHUARABSAHkAbABTAFMAcwBNAEQAagBpAFQAMwBxADAAZwA9AD0APAAvAEsASQBEAD4APABDAEgARQBDAEsAUwBVAE0APgBlAGwATABBAGwAegBNAC8AYgArADgAPQA8AC8AQwBIAEUAQwBLAFMAVQBNAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwB3AHcAdwAuAHkAbwB1AHQAdQBiAGUALgBjAG8AbQAvAGEAcABpAC8AZAByAG0ALwBwAGwAYQB5AHIAZQBhAGQAeQA/AHMAbwB1AHIAYwBlAD0AWQBPAFUAVABVAEIARQAmAGEAbQBwADsAdgBpAGQAZQBvAF8AaQBkAD0AZAA4ADEANQBhADAAZgA5ADYAYwAwADIANgA4ADIAOAA8AC8ATABBAF8AVQBSAEwAPgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==
Code:000000407073736800000000edef8ba979d64acea3c827dcd51d21ed000000202218594f55545542453a6438313561306639366330323638323848e3dc959b06000002f470737368000000009a04f07998404286ab92e65be0885f95000002d4d402000001000100ca023c00570052004d00480045004100440045005200200078006d006c006e0073003d00220068007400740070003a002f002f0073006300680065006d00610073002e006d006900630072006f0073006f00660074002e0063006f006d002f00440052004d002f0032003000300037002f00300033002f0050006c00610079005200650061006400790048006500610064006500720022002000760065007200730069006f006e003d00220034002e0030002e0030002e00300022003e003c0044004100540041003e003c00500052004f00540045004300540049004e0046004f003e003c004b00450059004c0045004e003e00310036003c002f004b00450059004c0045004e003e003c0041004c004700490044003e004100450053004300540052003c002f0041004c004700490044003e003c002f00500052004f00540045004300540049004e0046004f003e003c004b00490044003e006700510047006300760075004400520079006c005300530073004d0044006a006900540033007100300067003d003d003c002f004b00490044003e003c0043004800450043004b00530055004d003e0065006c004c0041006c007a004d002f0062002b0038003d003c002f0043004800450043004b00530055004d003e003c004c0041005f00550052004c003e00680074007400700073003a002f002f007700770077002e0079006f00750074007500620065002e0063006f006d002f006100700069002f00640072006d002f0070006c0061007900720065006100640079003f0073006f0075007200630065003d0059004f0055005400550042004500260061006d0070003b0076006900640065006f005f00690064003d0064003800310035006100300066003900360063003000320036003800320038003c002f004c0041005f00550052004c003e003c002f0044004100540041003e003c002f00570052004d004800450041004400450052003e00
-
bud must be update i think becouse
https://tools.axinom.com/generators/PsshBox
not more free -
if the wv pssh is before the pr wv pssh then you can use this method to extract it.
take the first 8 characters in hex - which is the pssh box size padded to 8 characters
"00000040"
convert that hex value (40) to decimal and you get 64, so the total size of the pssh box is 64 bytes which is 128 characters in hex.
take the first 128 characters from the hex output and then convert it to base64 to get your wv pssh.
Code:wv pssh hex: 000000407073736800000000EDEF8BA979D64ACEA3C827DCD51D21ED000000202218594F55545542453A6438313561306639366330323638323848E3DC959B06 wv pssh base64: AAAAQHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAACAiGFlPVVRVQkU6ZDgxNWEwZjk2YzAyNjgyOEjj3JWbBg==
Similar Threads
-
Get PSSH from ism manifest with ProtectionHeader
By jack_666 in forum Video Streaming DownloadingReplies: 81Last Post: 15th Nov 2024, 12:40 -
Get Pssh Key of MPD Files
By thegeek in forum Video Streaming DownloadingReplies: 46Last Post: 26th Mar 2022, 21:54 -
PSSH Assistance
By Civilian in forum Video Streaming DownloadingReplies: 21Last Post: 9th Jan 2022, 13:21 -
HBO GO EU license and PSSH
By PanMarSag in forum Video Streaming DownloadingReplies: 22Last Post: 14th Dec 2021, 08:54 -
Help with MPD video download - HDS doesn't work anymore
By Khalel in forum Video Streaming DownloadingReplies: 71Last Post: 9th Feb 2019, 05:11