MP4 Faststart (moov atom placement)
The new Interactive Advertising Bureau ready-to-serve delivery spec (& YouTube) require "faststart" historically referred to as "web optimised" or "streaming enabled" or similar. This includes placing the moov atom at the start of the file instead of the end so the file will start playing straight away instead of waiting until it's fully downloaded / buffered - which can be a big advantage for viewers if it's a longer or larger file or if they have low bandwidth. They can watch the video while it's buffering.
Adobe Media Encoder (and most other modern software, certainly on OSX) no longer let the user control this option. QT7 Pro & Compressor were the last major apps I know of that let you select this, however they are very old now.
In everything I've read people suggest AME places the MOOV atom at the end of the file by default. However when viewing the metadata of H264 MP4s encoded with AME, the MOOV atom appears immediately under the Atom ftyp line in the hierarchy tree i.e. is at the start of the file not the end. I know there are command line apps to edit the MOOV atom position, but that's not very convenient & may be unnecessary.
My suspicion is AME is actually placing the MOOV atom at the end of the file for QT .mov files (ideal for desktop playback), but assumes H264 MP4s are for online use & is placing the MOOV atom at the beginning by default already.
Can anyone confirm this or explain in the example below you you can tell tell the moov atom isn't at the start?
ps. If you don't know the answer, please don't reply with a non sequitur about why I should take a good hard look at myself for using a Mac instead of a PC or why faststart doesn't matter anymore because of fast internet speeds etc etc. I'm talking about an industry wide delivery requirement that I have no authority to change & it's commercial something I need to solve.
EXAMPLE METADATA OF H264 MP4 ENCODED WITH AME...
_________________________________________________________________________
Atom ftyp @ 0 of size: 24, ends @ 24
Atom moov @ 24 of size: 13297, ends @ 13321
Atom mvhd @ 32 of size: 108, ends @ 140
Atom trak @ 140 of size: 8789, ends @ 8929
Atom tkhd @ 148 of size: 92, ends @ 240
Atom edts @ 240 of size: 36, ends @ 276
Atom elst @ 248 of size: 28, ends @ 276
Atom mdia @ 276 of size: 8653, ends @ 8929
Atom mdhd @ 284 of size: 32, ends @ 316
Atom hdlr @ 316 of size: 64, ends @ 380
Atom minf @ 380 of size: 8549, ends @ 8929
Atom vmhd @ 388 of size: 20, ends @ 408
Atom hdlr @ 408 of size: 51, ends @ 459
Atom dinf @ 459 of size: 36, ends @ 495
Atom dref @ 467 of size: 28, ends @ 495
Atom url @ 483 of size: 12, ends @ 495
Atom stbl @ 495 of size: 8434, ends @ 8929
Atom stsd @ 503 of size: 156, ends @ 659
Atom avc1 @ 519 of size: 140, ends @ 659
Atom avcC @ 605 of size: 54, ends @ 659
Atom stts @ 659 of size: 24, ends @ 683
Atom stss @ 683 of size: 88, ends @ 771
Atom sdtp @ 771 of size: 762, ends @ 1533
Atom stsc @ 1533 of size: 28, ends @ 1561
Atom stsz @ 1561 of size: 3020, ends @ 4581
Atom stco @ 4581 of size: 316, ends @ 4897
Atom ctts @ 4897 of size: 4032, ends @ 8929
Atom trak @ 8929 of size: 4334, ends @ 13263
Atom tkhd @ 8937 of size: 92, ends @ 9029
Atom edts @ 9029 of size: 36, ends @ 9065
Atom elst @ 9037 of size: 28, ends @ 9065
Atom mdia @ 9065 of size: 4198, ends @ 13263
Atom mdhd @ 9073 of size: 32, ends @ 9105
Atom hdlr @ 9105 of size: 68, ends @ 9173
Atom minf @ 9173 of size: 4090, ends @ 13263
Atom smhd @ 9181 of size: 16, ends @ 9197
Atom hdlr @ 9197 of size: 51, ends @ 9248
Atom dinf @ 9248 of size: 36, ends @ 9284
Atom dref @ 9256 of size: 28, ends @ 9284
Atom url @ 9272 of size: 12, ends @ 9284
Atom stbl @ 9284 of size: 3979, ends @ 13263
Atom stsd @ 9292 of size: 91, ends @ 9383
Atom mp4a @ 9308 of size: 75, ends @ 9383
Atom esds @ 9344 of size: 39, ends @ 9383
Atom stts @ 9383 of size: 24, ends @ 9407
Atom stsc @ 9407 of size: 700, ends @ 10107
Atom stsz @ 10107 of size: 2840, ends @ 12947
Atom stco @ 12947 of size: 316, ends @ 13263
Atom udta @ 13263 of size: 58, ends @ 13321
Atom ©TIM @ 13271 of size: 23, ends @ 13294 ~
Atom ©TSC @ 13294 of size: 14, ends @ 13308 ~
Atom ©TSZ @ 13308 of size: 13, ends @ 13321 ~
Atom uuid=be7acfcb-97a9-42e8-9c71-999491e3afac @ 13321 of size: 19263, ends @ 32584
Atom free @ 32584 of size: 28896, ends @ 61480
Atom mdat @ 61480 of size: 9923720 (^), ends @ 9985200
(^)denotes a 64-bit atom length
~ denotes an unknown atom
------------------------------------------------------
Total size: 9985200 bytes; 54 atoms total.
Media data: 9923720 bytes; 61480 bytes all other atoms (0.616% atom overhead).
Total free atom space: 28896 bytes; 0.289% waste. Padding available: 28896 bytes
