H.264 and Progressive Flash Video, QTIndexSwapper 1.4 update
February 25th, 2008
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.
Entry Filed under: Adobe Flex



8 Comments Add your own
1. Aran | 2008-02-26 at 3.00 am
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.
Cheers,
Aran
2. FLEX | 360 Atlanta | Day &hellip | 2008-02-27 at 9.06 am
[...] The flash player now supports H.264 format video files! This is great but one problem is the meta data is placed at the end of the file and therefore the video can’t be accessed until it is fully loaded to the end. The metadata (moov) needs to be loaded before the play knows how it’s indexed. Renaun showed a technique he’s been playing with. He has an AIR app that will move the meta data to the beginning of the file for viewing during progressive download! He also talked about other meta data, like album art, and stuff, he’s promised more links to be posted on his blog So far, here’s the source at Renaun’s site More info posted about H264 and Flash by Dave Hassoun at Adobe’s Developer Center [...]
3. Renaun Erickson | 2008-02-27 at 12.08 pm
@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.
4. Guille | 2008-05-06 at 3.27 am
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
Regards,
Guille
5. david johnston | 2008-05-15 at 8.04 pm
Hi,
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,
David
6. Crady | 2008-06-11 at 12.00 pm
HI,
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 9.0.124.0) for testing.
Windows machines with player 9.0.124.0 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.
Thanks!
-Crady
7. Renaun Erickson | 2008-08-14 at 10.05 am
FYI, the source files are in the AIR application. Just right click on a non-Text area and click “View Source”.
8. Robert Scanlon | 2008-10-27 at 4.02 am
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 :)
Leave a Comment
Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Trackback this post | Subscribe to the comments via RSS Feed