axiomatic-systems / Bento4

Full-featured MP4 format, MPEG DASH, HLS, CMAF SDK and tools
http://www.bento4.com
2k stars 482 forks source link

[MP4Decrypt] Cannot decrypt with www.nielsen.com:id3:v1 #689

Closed nickcarterney closed 2 years ago

nickcarterney commented 2 years ago

I have 2 fragment files from a stream. I can decrypt 3.m4s but 4.m4s is not.

cat audio.m4s > t.mp4 && cat 4.m4s >> t.mp4 && mp4decrypt --key 2:7648d1bde1c3fcf0116fd8a13b3d09a0 t.mp4 x.mp4

I see that, 4.m4s has www.nielsen.com:id3:v1 before image and 3.m4s is not. 4.m4s is a metadata and watermark by Nielsen

image

audio.m4s (init audio container) + 3.m4s + 4.m4s , you can find here: https://drive.google.com/file/d/1JMuq55iOcN4kYczKhKwAGT3OMDSYFegi/view?usp=sharing

barbibulle commented 2 years ago

Is it possible that segment 4 here isn't encrypted with the same key? It first, I thought that the 'extra' [emsg] box at the start of 4.m4s may have caused a problem, but I tried concatenating that same [emsg] box at the start of 3.m4s (which would make it equivalent to 4.m4s), and decrypting the concatenation of audio.m4s and that: the result plays fine. That's why I'm suspecting that the problem is not with the extra [emsg], but that the encrypted data in 4.m4s is either not correct, or not encrypted with the same key.