-
It also has requirements on the box tree structure and order and what boxes are required/optional. Then there are also mapping per codec (see https://mp4ra.org/) that has additional requirements on boxes and how the samples should be encoded.
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
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
Author's github: https://github.com/corkami/pics
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.
-
If you want to go deep ISO-14496-12 is probably what your looking for. You can either pay ISO to read it or hypothetically you can google for "filetype:pdf ISO-14496-12". For how things actually work in practice https://github.com/FFmpeg/FFmpeg/blob/master/libavformat/mov... is a good resource.
-
It might not have the prettiest UI, but I've used this one several times when troubleshooting encoder/muxer issues: https://github.com/essential61/mp4analyser.
-
MP4Inspector
A Chrome extension to help you inspect Mp4 video content and find irregularities in video streams.
-
Vrmac
Vrmac Graphics, a cross-platform graphics library for .NET. Supports 3D, 2D, and accelerated video playback. Works on Windows 10 and Raspberry Pi4.