An MP4 file first draft
twitter.com
twitter.com
It's nearly identical to apple's QuickTime format: https://developer.apple.com/library/archive/documentation/Qu...
And images! The same container format¹ is used by AVIF.
¹ ISOBMFF (ISO base media file format), which is ISO/IEC 14496-12 (a.k.a. MPEG-4 Part 12).
Generally in the form of a video stream (usually h264, but it can be anything), one or more audio stream (AAC or MP3), and a timestamp index that keeps them aligned and makes it easier to seek.
It's not especially easy to find good documentation; people generally don't write software to touch it directly, either they use the OS media library or ffmpeg.
Another version of the demuxer, way simpler: https://github.com/Const-me/Vrmac/blob/master/VrmacVideo/Con...
A complete mpeg4 media file, with enough features to play the content with hardware decoding: https://github.com/Const-me/Vrmac/blob/master/VrmacVideo/Con...
For example PNG in MP4 is mapped by having a stsd (sample descriptor) box that has a mp4v format/box which itself should includes a esds (mpeg elementary stream descriptor) box which will include a decode configuration stating that the stream type is video and the object type is PNG.
You can see a decode using fq (https://github.com/wader/fq) of the file used in the poster here https://twitter.com/mwader/status/1596219922304360448
Hope that was helpful
Other mp4 tools i use are https://gpac.github.io/mp4box.js/test/filereader.html and the tools from bento4, also ffmpeg -v trace can give some useful output.
He works on things like hash collisions, image files that contain an image of their own hash, "polyglot" files and such like.
I think this is intended as a "minimum viable mp4 file" to show what the required binary parts are.