Image Processing Reference
and the easiest way to navigate is to search within the ISO web site using the standard
number as a key. You should be presented with a version of the site that is tailored for your
browser's international language setting. You will have to purchase these specifications,
as they are not available free of charge.
There are many other resources on the web that describe the available file structures
for different types of video file. Some will be very hard to find, as they are proprietary.
Gunther Born published a very helpful book on file formats some years ago called The
File Formats Handbook . This contained some useful descriptions of the AVI file structures that
were sufficient to enable the reader to write code to parse the files. Other useful information
has been published by Microsoft describing how to store DV streams in AVI movies.
Gathering and storing this sort of knowledge whenever you can is worth the effort
because you occasionally get offered the chance to solve problems such as “here is a
library of a million video files but we don't know what size the picture format is for any
of them.” You could write a small fragment of code to access the appropriate bytes within
the file header and determine the information you are looking for. Then create the neces-
sary Structured Query Language (SQL) instructions to load the database with the infor-
mation corresponding to each file. The whole process can be wrapped in a shell script and
left to run on its own.
Files Are Not Streams
A file on disk is not the same as a stream. If you have a player that is connecting to a
stream, it can join and leave the stream at any point. There will be a few moments of
buffering while it downloads some key frames for it to interpolate against.
Video objects table
Audio objects table
File based access to video data
Figure 16-4 File access.
Microsoft DV-AVI spec: http://www.microsoft.com/whdc/archive/dvavi.mspx