Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>As you may be aware of, isom files are built out of atoms. Generally these are constructed</p> <pre><code>length (4 bytes), type (4 bytes), *body* </code></pre> <p>To get information about your encoded stream, you will need to parse the atoms containing the information you require. For the frame information, you will have to focus on the stbl. A great (shorter) introduction can be found in the quicktime format. The isom format has a few changes, but the general stuff (like frame information) is the same and it's freely available. More info here: <a href="https://developer.apple.com/library/mac/documentation/QuickTime/QTFF/QTFFPreface/qtffPreface.html" rel="nofollow">quicktime file format</a></p> <p>A short explanation: the stbl contains all sample information. The samples are grouped in chunks and stored in the mdat. One chunk could be a sample, but it could also be a group of samples (defined in the stsc). Each chunk has an offset regarding to the file start (defined in stco) and each sample has a size (defined in stsz). For sample timestamps, you can use the sample durations (defined in stts). To know which samples are keyframes, you can use the stss which lists the numbers of the samples which are key samples.</p> <p>So if you bring this all together: if you have a frame number and want to find the offset, look in the stsc to find the chunk which you need, look at the stco to find the offset of that chunk and add the sizes found in the stsz for the samples which are before the sample you need.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload