You are here: Home → Forum Home → The Mac Observer Forums → Design & Create → Thread
Quicktime video files metadata
-
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 optionaland 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
[ Edited: 18 March 2012 12:46 PM by Intruder ] -
I couldn’t pretend to answer this, but I sent the link to someone who might.

Signature
Editor - The Mac Observer
Favorite (but less relevant than it used to be) Quote: Microsoft’s tyranny lies not in its success, but in the way it achieved and maintains that success.
-
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?
-
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) atomdcom 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

-
Oy, I am glad you found the answer! My person is hip-deep in a project that prevented him from helping out.
Signature
Editor - The Mac Observer
Favorite (but less relevant than it used to be) Quote: Microsoft’s tyranny lies not in its success, but in the way it achieved and maintains that success.

