Quicktime video files metadata

Discussion in 'Digital Video' started by iw2z, Aug 12, 2009.

  1. iw2z macrumors newbie

    Joined:
    Aug 12, 2009
    #1
    hi
    i'm not sure of this is the right place for this question, but i'll ask anyway...
    i've been working on an application that will give me some general info about a quicktime

    video file (Dimensions, Frame Rate, Compressor Name, Audio channels...)

    so i read the "Quicktime File Format Specification" document from apple.com, and i did get

    to read most of the data i need from the corresponding atoms (atoms are the building units

    of a quicktime file), but i came across some files that didn't have these atoms at all

    (since most of these atoms are optional)

    examples include
    - 'stsd' atoms hold the compressor name, but it's optional
    - 'stts' atoms hold data vital to the frame rate calculation, also optional
    - 'stss' atoms hold data regarding key frames, also optional

    and even though one of the atoms i need isn't even optional, i still couldn't find it

    ('tkhd' for the video dimensions)

    but when i open these files (which missing atoms) they work well, and when i open them in

    VLC player, i can see the data i need in the 'media information' provided by the player

    so my question is: how can i get the data i need even when the atoms aren't available? (it

    must be doable, VLC proves that!)

    ps. i'm working on a java applet, so i can only use standard java libraries
     
  2. jackerin macrumors 6502a

    Joined:
    Jun 29, 2008
    Location:
    Finland
    #2
    Do you have a link to a file without these atoms?
     
  3. iw2z thread starter macrumors newbie

    Joined:
    Aug 12, 2009
    #3
    a compressed video?

    hmm, well i don't have a link to the file, i'll try to upload it on rapidshare or sth later this evening...

    but i did a little extra goofing around, the file i have has cmov (compressed movie) atom which contains a dcom and a cmvd atoms, but i'm clueless after that, any suggestions?
     
  4. iw2z thread starter macrumors newbie

    Joined:
    Aug 12, 2009
    #4
    problem solved!

    ok i finally got this problem solved, so here's the solution in case someone else needs it:

    having a 'cmov' (compressed movie) atom means the movie resource has been compressed (ok that's really obvious!)
    now this 'cmov' atom contains 2 other atoms:
    1-'dcom' (data compression) atom
    2-'cmvd' (compressed movie data) atom

    dcom only contains 4 bytes for the size, 4 bytes for the atom type, and 4 bytes for the compression algorithm
    (all files i came across had 'zlib' as the compression algo)

    cmvd contains 4 bytes for the size, 4 bytes for the atom type, 4 bytes for the size of the uncompressed content, and the compressed content itself

    so java standard library already contains a decompressor for zlib and voila, the uncompressed data contains the missing atoms :)
     

Share This Page