QTIndexSwapper

DOWNLOAD

QTIndexSwapper.air

What is QTIndexSwapper?

With the release of the Flash Player 9 Update that supports H.264, we can now play a subset of H.264 movie files. The problem is most of the H.264 files have the index at the end of the file which for progressive download means you have to download the whole file before you can start watching any of the video.

In the notes from Tinic Uro, Adobe engineer working on the changes, there is mention of a C application that helps with rearrange the innards of a movie to put the index at the beginning. Thus help with the progressive download issue. To this end I have create an AIR application which does the index swapping for you.

Release Notes
v2.3.1 – 2010.11.15

  • Fixed a injected bug from 2.3.0 release, it closed after processing for non-command line invocations.

v2.3.0 – 2010.11.15

  • Feature: Command line invocation. Requires 2 args: arg[0] == folder/file path of files to be processed, arg[1] == folder string with trailing slash where processed files are saved.

v2.2.2 – 2010.08.28

  • Bug Fix: Changed checks to be more loose on last atom validity.

v2.2.1 – 2010.08.23

  • Bug Fix: Some mp4′s had FREE atoms after MOOV, now it checks to see if MOOV is in front regardless of what is the last atom.
  • Bug Fix: Processing a lot of files at once was broken, its fixed now.
  • Bug Fix: UI changes to handle large number of files being processed at once, added scrollbar if its larger then X number of files.

v2.2.0 – 2010.08.19

  • Bug Fix: If you had a upper case extension (ie: .MOV) it did not append _qtp correctly.
  • Bug Fix: Large files where having no sound are not indexed properly. You’ll want to rerun original files with v2.2.0.

v2.1.0 – 2010.08.04

  • Made faster, checks Atoms first before processing whole file.
  • Faster and more responsive when processing large files, no more out of memory errors.

v2.0.2 – 2010.08.03

  • Updated UI to properly show errors or success.
  • Fixed clear UI and selecting new files after first batch.
  • Added update script to check for updates of the application itself.

v2.0.1

  • Updated to AIR 2.0 and changed UI form factor.
  • http://renaun.com/blog/2010/08/qtindexswapper2-update/ Renaun’s thoughts on QTIndexSwapper2 Update

    [...] I have updated the QTIndexSwapper2 AIR application. This update includes some UI fixes to display status of the video processing properly and make it hopefully a little better to understand. It also includes some code to check for updates of the application. You can find the update at the QTIndexSwapper page. [...]

  • daslicht

    Hi,
    is that also working for FLV files ?

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

    This is only a h264 specific issue. FLV format is already a progressive format and doesn’t need index swapping.

  • pred

    Great; I’m looking for something to do exactly this. Unfortunately, it doesn’t quite seem to work. Our videos at http://www.qgm.au.dk/calendar/video-recordings/wsquantumdialogarithm/ won’t load progressively even though I used this app on videos 1 and 3 from Monday.

  • pred

    (Note also that Tuesday onwards was done with VisualHub which indexes the file correctly from the beginning; that doesn’t really solve the problem though.)

  • Adam

    Thank you – this was exactly what I needed!

  • emil

    is there any limitation to the length of the mpg4 file? so far it worked very well, but i had two lectures over an hour, and in both cases after “swapping” there was
    no sound.
    thanks a lot

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

    There seems to be a bug on long files (or large files) where the sound stops working. I am trying to track down the cause of the issue.

    v2.2.0 has the fix for large files and no sound issue.

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

    Please try v2.2.0 there was an major bug for large files that was fixed.

  • http://www.colombostuhr.com Eric Coffman

    Thank you very much. I have used this tool for a few years and really appreciate it. The new batch method has saved me a ton of time.

    Again, thanks!

  • http://www.blogstitution.com/2010/08/universal-flash-ipod-video-codec-using-itunes-html5/ Blogstitution » Blog Archive » flash & html5 mp4 video

    [...] capability unless this feed is the first piece of data downloaded by flash.  Fortunately, Renaun Erickson over at Adobe has created a simply little AIR utility to fix this atom feed placement.I found a [...]

  • http://www.shoorayner.com/?p=3124 Make Your h.264 Video Downloads Start Playing Immediately – Official website of children's author and illustrator, Shoo Rayner

    [...] the Adobe AIR application called QTIndexSwapper that I found on Renaun Erickson’s blog. It is free to download and it is very easy to use. You [...]

  • http://coolkurt.com/development/lifesaver-makes-adobe-mp4s-streamable/ CoolKurt.com » Blog Archive » Lifesaver, Makes Adobe MP4s streamable….
  • http://macintoshnotes.wordpress.com/2010/10/02/tools-for-video/ Tools for video « My Mac Notes

    [...] the position of the index, by putting it at the beginning of the file. How that can be done? Easy: QTIndexSwapper can do that for you. It’s a plug-in for Adobe AIR developed by Renaun [...]

  • Alex

    How relevant is this today? I stream a lot of H264 content off multiple sites that is not optimized this way, but have had no issues yet. Has a new FMS or Flash Player taken care of this?..

  • Anonymous

    This only matters for http progressive videos. If you use real streaming with DNS it doesn’t matter. Also a lot of tools now export the moon atom in the right place now.

  • http://www.facebook.com/nirbhay.kundan Nirbhay Kundan

    Can I get source code of this??

  • Typpeo

    I was using this app when CS1 came out. It was a live saver. We have needed it less and then Adobe came out with CS5 and they screwed up hinting again. Renaun, since you work for Adobe anyway you can explain to them how hinting works so they fix H.264 exporting in AE and AME so that they work right like in CS4. (Along with fixing all the other h.264 issues.) In any case, great work.

  • Anonymous

    The older versions have the source code with the ATOM code in it. But this last version has Fonts and images I can’t release.

  • Ace

    PERFECT! Thanks!

  • Mehtapg

    Hi Renum,

    We are encoding files using Handbrake and check Web optimize option for allow progressive streaming. Some files stream just fine from our server to mobile phones and others take a long time to start streaming. All files are mp4 using h.264. Any suggestion on how we can make these files to start playing quickly.

    Thanks

  • Anonymous

    Depending on the file size the index just might be large. Besides that I am not sure for the differences of load speeds. Have you looked at the files to see if their ATOM indexes are confirmed to be in the beginning?

  • Mehtapg

    How do I check that? I used your program for several videos and it said that ATOM are correctly placed. Some videos (movies) are as long as 150 to 180 minutes. Do you recommend any setting for these large videos with lots of fast moving action? Appreciate your help.

  • Anonymous

    The long videos just have a very large index that has to be downloaded first before it can play the video. I would break up the video.

  • Mehtapg

    Well, it is a normal feature length movie so we can’t break it up. I am trying to create mp4 file that I can stream to Android phones. Anything else I can do short of breaking up video? Also, I am not sure which is the index for a single mp4 file?

  • Anonymous

    You can use a server side solution that creates and serves the index part on the fly as needed, http progressive video scrubbing. A bit more info then I can put in a reply.

  • Im

    Thanks.Great software.
    a small bug,if folder name content dot(.),process is result is wrong.(result is one file)

  • SM

    nice job. thanks

  • Anonymous
  • http://multimedia.cx/eggs/improving-qt-faststart/ Improving qt-faststart | Breaking Eggs And Making Omelettes

    [...] qtindexswapper written for Adobe AIR [...]

  • fuiax

    I’m using QTIndexSwapper, it says “success” but .mp4 videos still don’t play from server, until they are downloaded completely.
    What am I doing wrong???

    (player: JW-player 4295, which has no problems with .mp4-videos, I downloaded from YouTube for instance.)

  • Anonymous

    Not sure

  • Light

    This tool really saved me, thank you!

  • Bob Diaz

    Renaun,
    I have recently started using QTindexswapper to get progressive downloads working for MP4 files created in PowerDirector10. Unfortunately for me the files created by PD10 have 2 issues.

    1. Progressive downloads don’t work
    2. Audio does not work on Apple devices

    Using your app resolves the progressive download issue. And using format factory to re-encode the file will address the Apple audio issue. But I have not found a combination that will solve both problems concurrently.
    If I use QTIS before FF, FF apparently writes the atom at the end of the file again and progressive downloads are broken once again.
    If I use QTIS after FF, QTIS will state it is moving the header and claims to do so successfully, but the file will still not progressively download.
    Sorry for the long comment, but I have been working on this problem for days now and am hoping to get some direction if at all possible.
    Thank you.

  • Anonymous

    Sorry don’t have any help.