Corrupted video files (AWS Lambda, Docker, react js): moov atom not found

According to that, the file is corrupted. The tree structure no longer matches up.

the beam box claims to be 24 bytes long, but skipping 24 bytes, the moov atom’s size is broken. 00 00 14 EF BF BD is the issue. There are two extra bytes.

moov atoms are fairly small, so I am inclined to think the highest two bytes being 00 is right.

I think the size field of the moov atom triggered some kind of mojibake. The fourth byte must have been something that UTF-8 couldn’t decipher (something that violates UTF-8 encoding rules), so it inserted the “replacement character”, 0xFFFD. Encoded, that turns into EF BF BD. This would explain how two extra bytes showed up.

did the binary data go through any kind of pipes (subprocess/shell pipes, especially on windows) or “string” conversion at any point? That could introduce junk.

the file is definitely corrupted, if that’s the structure it starts with.