There's nothing louder that screams "90's design" than MP4.
"Let's put the seek table at the end!". "Fuck, let's add an optional extension to put it up front that breaks everything.". "Negative timestamps can't exist! This makes everything easier, doesn't it.". "Let's make it a NLE video editing project file that breaks everything!". "Video and audio are offset by a few tens of milliseconds and we can't fix that without negative timestamps. Let's force everyone to half-ass the NLE extension support to hammer this nail with a nuke!". "Subtitles? So you can watch your Indian cinema? No, watch Hollywood stuff, you don't need subtitles then. Oh, fine, have some DVD shit subtitles.". "Someone wanted to give talks with MP4! Let's have a PowerPoint MP4 extension! No, we don't care about the other way around, that's Microsoft's problem, we're Apple!". "We wanna support web streaming shit. Let's make another hack and make the files fragmentable, so you need to bloat and hack your demuxer even more!". "Oh, we need some sort of format for our MP4 player, let's hack a separate format out of it called IPAD but still call it MP4 even though it isn't.". "But we want some more normal MP4 with audio-only support too, so let's spin off _another_ format called M4A out of it!". "HDR support? Nah, let codecs manage that. How that interacts with the cOLR atom? Fuck knows.". "By the way, you know what MP4 is PERFECT for? IMAGES! Let's not engineer another image format for HEVC, let's just put them in fucking MP4! Oh, but a special version that hacks around tiles by having each tile be a separate video stream! Oh, and let's add support for JPEG and MP4 for thumbnails or downscales or alternative versions, dunno.". "Our format is so flexible, let's standardize it to show how we do things!"
@vertigo No, the standardization is what's now become ISOBMFF.
It's about the PowerPoint-like extension.
@lynne You mean the "90's design" part? Yeah, that's wrong. As Mans said, MP4 (the fileformat) is based on QuickTime (again, the fileformat) which was designed in the late 80s and extended in insane ways over the decades.
Although I am not a fan of MKV, even though I think it is over-engineered and too complex, it's at least mostly sane. MP4 is a hell of a monster. It is rumored that it is even worse then OGG.
@attilakinali I can't care less about its heritage, it was extended in the 90's with the 90's ideas and therefore is pretty 90's.
Matroska is well engineered, except its timestamps. EBML may sound like an overkill but what you want in a container is for it to store arbitrary metadata as well, hence it's appropriate, rather than the dozen fields MP4 has which force you to pick appropriate ones or drop info where necessary.
MP4 may be complex but at least it doesn't require you to hack around everything like Ogg, which is itself a gigantic inefficient hard to seek hack.
@lynne Despite all that, MP4 (ISO 14496-12) is the sanitised version with most of the _really_ crazy things from 14496-1 removed. And that was still pretty sane compared to Apple Quicktime on which it was based and which allows including any number of Macromedia Flash objects as tracks in a MOV file.
A Mastodon instance for people interested in multimedia, codecs, assembly, SIMD, and the occasional weeb stuff.