Flash H264: Moving the MOOV Atom
I just had to encode a couple of videos from AVI to H.264 format for playing via a Flash-based video player and noticed that the player was having to download the whole file before playing it. I checked out this Adobe Tech article on H.264 encoding and here’s why:
One important thing about playing an H.264 video file as progressive download is that the moov atom needs to be located at the beginning of the file, or else the entire file will have to be downloaded before it begins playing. The moov atom is a part of the file that holds index information for the whole file.
I was using SUPER to encode to H.264, and by default the moov atom gets placed at the file end. Fortunately, Renaun Erickson at Adobe has kindly created a small AIR application (a port of a C++ application) that will take a standard H.264 file and relocate the moov atom to the front of the file, and then progressive download works properly.
Edit- thanks to Marshall’s comment, if you’re using SUPER there’s an option to select ‘Streamable H.264’ – do that and the moov atom will be put at the beginning of the file. :-)