H.264 and Progressive Flash Video, QTIndexSwapper 1.4 update

Posted on February 25, 2008 | 8 comments

The QTIndexSwapper v1.4 update is to support AIR v1.0 and a small 64 bit atom size parsing fix.

In connection with this update I am speaking at 360Flex Atlanta tomorrow. I’ll be showing how the QTIndexSwapper AIR application works. As well as demonstrating the use of H.264 metadata in the flash player. Not stopping there I went ahead and provide some classes for H.264 binary reading fun. The classes have been committed to a project called Metaphile. Metaphile was actually partially introduced during the last 360Flex conference in Seattle and was started by Ben Stucki (you should check his OpenFlux presentation out if you are at 360Flex). I added a MOVReader that reads out the “ilst” data from the “moov” atom from H.264 files. Basically it grabs iTunes type metadata out of H.264 formatted files, it even pulls out cover art that is embedded into the file.

Come to the 360Flex Atlanta session tomorrow to get a demo and more information about H.264 fun.

  • http://www.misterhee.com Aran

    Hi Renaun.

    In regards to embedding metadata inside H264 files, can you insert arbitrary data like you can in FLV files?

    We have been adding motion tracking data to FLVs from After Effects ( as described here: http://blogs.adobe.com/keyframes/2007/10/creating_interactive_video_wit.html) on some projects, and I am wondering if H264 files will give us the same type of ability to add keyframe data, AS variables etc which can then be read via the Netstream class in Flash.


  • Pingback: FLEX | 360 Atlanta | Day 2 | Circle Cube Studio

  • http://www.renaun.com Renaun Erickson

    @Aran: I believe there is some solution you can find with H.264. You’ll want to look at inserting the data under the moov atom and check out if they show up in the Flash Player’s onMetaData event. I might get around to building an AIR metadata editor.

  • Guille

    Hello Renaun,

    I’m having trouble using QTIndexSwapper with some videos, I get error #1000 and error #2029. It’s strange because with the same video, sometimes I got the error and sometimes not. I have also videos that always fail. All of them are large videos (more than 200MB)

    Many thanks


  • http://www.glia.ca david johnston


    Your utility is very useful! Many many thanks. It’s working well on output from Vegas using Main Concept. Significantly changes streaming.

    Any hints on how to get it to batch process clusters of files?
    (i tend to work with sets of clips that can be called dynamically into flash, so a batch process capable index swapper would be very very welcome)

    thanks again,

  • Crady


    Your utility looks promising but I keep getting the following error: “ERROR: The MOOV atom is not located at the end of the file, the file is ready for progressive download or it is a invalid file
    Completed Time: 0.359s”

    I’m encoding my H.264 clips via QuickTime Pro 7.2 (from uncompressed QT originals).

    During export, I’ve tried enabling and disabling the “Prepare for Internet Streaming” but it makes no difference, QT Index Swapper just returns the above error. Very frustrating as I cannot export AAC audio in AE 7 so I’m forced to use QT.

    FYI — I’ve tried creating both .MP4 and .MOVs without success.

    Any idea what I’m doing wrong during the encode process?

    As an aside, the really odd thing is it appears only Macs are affectted by the H.264 “streaming bug” that requires your utility.

    I develop on WIndows machines and have a Mac (with Flash for testing.

    Windows machines with player can HTTP stream H.264 MOVs in Flash without any problems at all. It seems only Macs require the clips be fully downloaded before playback begins.

    I’ve reported this to both Adobe and David Hassoun (author of: http://www.adobe.com/devnet/flashplayer/articles/hd_video_flash_player.html) but no response.



  • http://www.renaun.com Renaun Erickson

    FYI, the source files are in the AIR application. Just right click on a non-Text area and click “View Source”.

  • http://www.hotyogadoctor.com/index.php/site/hotyogamasterclass/ Robert Scanlon

    Thanks Renaun, that is an extremely helpful tool. I too am using Vegas Pro 8 with MainConcept AVC and love the improved quality over On2V6 – but how to get it to progressive download? Until I found your neat tool … many thanks!

    @ Crady – I have 9.0.124 and yes, .mov files will stream without loading first no problem in IE7 and FF, but an .mp4 rendered from Sony Vegas won’t, so it’s not only Macs :)

  • http://corbensproducts.com jeremyBass

    Hello, a site I am debugging has run into this issue and your fix worked for all but one… flash player 10 IE combo… I have tested and tested and made change after change… the short is a non relocated moov atom works fine in IE with flash 10… (mostly) but nothing else , obeying as described in your write up works relatively in both IE and all if the player is 9+ but if it’s 10… well in IE I’m sunk…

    I have written a lot about it in experts-exchange forums

    the site in question is
    and the full test page is

    now the thing is that I’ve been around and around… this setup is the least numbers of clients in a non-functioning state but as player 10 grows I’ll be sol…

    care to ring in… thanks for the help