Matrosker

Matrosker extracts information from an input file which is expected to be in Matroska or WebM format and saves it to an XML file.

Information from Matroska and WebM files can be considered to be either 'container' information or 'data stream' information.

Container information is defined by the specification of the Matroska multimedia container format (see http://www.matroska.org), which also covers the WebM media file format.

Data stream information is defined by the format specifications of any contained video, audio, subtitles or other data streams, such as e.g. VP9 (see http://www.webmproject.org) and Vorbis (see http://xiph.org).

The XML file generated by Matrosker is intended to directly show all Matroska/WebM container information in a readable form and also to identify all sections in the input file from where data stream information can be extracted.

Development Environment

  • Source Code Repository: Bitbucket
  • Programming Language: C++
  • Operating System: Linux 32 bit (distro Mint 16 Petra)
  • Compiler: GCC (g++) version 4.8.1
  • Licence: FreeBSD

Matrosker XML Conventions

These conventions are provisional and could be subject to change.

  • XML Tags that do not begin with an underscore correspond to EBML IDs in the Matroska format. XML Tags that begin with an underscore are instead informal auxiliary Tags generated by Matrosker.
  • Integer numbers are in base 10, unless otherwise specified (e.g. by the XML attribute: base="hex").
  • The XML Tags <_StartIndex> and <_NumberOfBytes> identify sections in the input file that contain data stream information, which has not been interpreted by Matrosker. The <_StartIndex> of the first byte in the input file is 0.

Sample XML Output

This is a cut-down XML file generated at the time of writing by Matrosker when running on the first test file of the Matroska Test Suite - Wave 1.

This extract is for overview only: it is provisional and could be superseded or subject to change.

More up to date and complete XML files can be found in the Data section of the repository.

<!--
  This XML file has been automatically generated by:
 
      Executable         /home/user/Eclipse/Workspace/C++/Matrosker/Debug/Matrosker
          Build          05-Jan-2014 15:37:07
          Run            05-Jan-2014 15:37:14
 
      Input File         Data/Matroska Test Suite/Input/test1.mkv
          Size           23339337 Bytes
          CRC-32         Hexadecimal FE8DF57A
 
  ...
 
-->
<_Matroska file="Data/Matroska Test Suite/Input/test1.mkv">
    <EBML>
        <DocType> "matroska" </DocType>
        <DocTypeVersion> 2 </DocTypeVersion>
        <DocTypeReadVersion> 2 </DocTypeReadVersion>
    </EBML>
    <Segment>
        <SeekHead>
            <Seek>
                <SeekID> Info </SeekID>
                <SeekPosition base="hex"> 40 </SeekPosition>
            </Seek>
            <Seek>
                <SeekID> Tracks </SeekID>
                <SeekPosition base="hex"> 113 </SeekPosition>
            </Seek>
            <Seek>
                <SeekID> Tags </SeekID>
                <SeekPosition base="hex"> 1B8 </SeekPosition>
            </Seek>
            <Seek>
                <SeekID> Cues </SeekID>
                <SeekPosition base="hex"> 25A </SeekPosition>
            </Seek>
        </SeekHead>
        <Info>
            <Duration type="float32"> 87336 </Duration>
            <MuxingApp> "libebml2 v0.10.0 + libmatroska2 v0.10.1" </MuxingApp>
            <WritingApp> "mkclean 0.5.5 ru from libebml v1.0.0 + libmatroska v1.0.0 + mkvmerge v4.1.1 ('Bouncin' Back') built on Jul  3 2010 22:54:08" </WritingApp>
            <DateUTC>
                <_Date> 2009-08-20 </_Date>
                <_Time> 07:23:03 </_Time>
                <_FractionOfSeconds> 0.0 </_FractionOfSeconds>
            </DateUTC>
            <SegmentUID base="hex"> 922D19320F1E13C5B505630AAFD85336 </SegmentUID>
        </Info>
        <Tracks>
            <TrackEntry>
                <TrackNumber> 1 </TrackNumber>
                <TrackType> Video </TrackType>
                <CodecID> "V_MS/VFW/FOURCC" </CodecID>
                <TrackUID base="hex"> 906BF7B4 </TrackUID>
                <FlagLacing> No </FlagLacing>
                <MinCache> 1 </MinCache>
                <CodecPrivate>
                    <_StartIndex base="hex"> 163 </_StartIndex>
                    <_NumberOfBytes> 40 </_NumberOfBytes>
                </CodecPrivate>
                <DefaultDuration> 41666666 </DefaultDuration>
                <Language> "und" </Language>
                <Video>
                    <PixelWidth> 854 </PixelWidth>
                    <PixelHeight> 480 </PixelHeight>
                </Video>
            </TrackEntry>
            <TrackEntry>
                <TrackNumber> 2 </TrackNumber>
                <TrackType> Audio </TrackType>
                <CodecID> "A_MPEG/L3" </CodecID>
                <TrackUID base="hex"> D9C0CCB3 </TrackUID>
                <DefaultDuration> 24000000 </DefaultDuration>
                <Language> "und" </Language>
                <Audio>
                    <SamplingFrequency type="float32"> 48000 </SamplingFrequency>
                    <Channels> 2 </Channels>
                </Audio>
            </TrackEntry>
        </Tracks>
        <Tags>
            <Tag>
                <Targets>
                </Targets>
                <SimpleTag>
                    <TagName> "TITLE" </TagName>
                    <TagString> "Big Buck Bunny - test 1" </TagString>
                </SimpleTag>
                <SimpleTag>
                    <TagName> "DATE_RELEASED" </TagName>
                    <TagString> "2010" </TagString>
                </SimpleTag>
                <SimpleTag>
                    <TagName> "COMMENT" </TagName>
                    <TagString> "Matroska Validation File1, basic MPEG4.2 and MP3 with only SimpleBlock" </TagString>
                </SimpleTag>
            </Tag>
        </Tags>
        <Cues>
            <CuePoint>
                <CueTime> 0 </CueTime>
                <CueTrackPositions>
                    <CueTrack> 1 </CueTrack>
                    <CueClusterPosition base="hex"> 303 </CueClusterPosition>
                </CueTrackPositions>
            </CuePoint>
            <CuePoint>
                <CueTime> 1042 </CueTime>
                <CueTrackPositions>
                    <CueTrack> 1 </CueTrack>
                    <CueClusterPosition base="hex"> 238AE </CueClusterPosition>
                </CueTrackPositions>
            </CuePoint>
            <CuePoint>
                <CueTime> 11667 </CueTime>
                <CueTrackPositions>
                    <CueTrack> 1 </CueTrack>
                    <CueClusterPosition base="hex"> 2FC8A0 </CueClusterPosition>
                </CueTrackPositions>
            </CuePoint>
            <CuePoint>
                <CueTime> 22083 </CueTime>
                <CueTrackPositions>
                    <CueTrack> 1 </CueTrack>
                    <CueClusterPosition base="hex"> 564740 </CueClusterPosition>
                </CueTrackPositions>
            </CuePoint>
            <CuePoint>
                <CueTime> 32500 </CueTime>
                <CueTrackPositions>
                    <CueTrack> 1 </CueTrack>
                    <CueClusterPosition base="hex"> 93F476 </CueClusterPosition>
                </CueTrackPositions>
            </CuePoint>
            <CuePoint>
                <CueTime> 42917 </CueTime>
                <CueTrackPositions>
                    <CueTrack> 1 </CueTrack>
                    <CueClusterPosition base="hex"> CD1602 </CueClusterPosition>
                </CueTrackPositions>
            </CuePoint>
            <CuePoint>
                <CueTime> 53333 </CueTime>
                <CueTrackPositions>
                    <CueTrack> 1 </CueTrack>
                    <CueClusterPosition base="hex"> FEAB97 </CueClusterPosition>
                </CueTrackPositions>
            </CuePoint>
            <CuePoint>
                <CueTime> 56083 </CueTime>
                <CueTrackPositions>
                    <CueTrack> 1 </CueTrack>
                    <CueClusterPosition base="hex"> 10A8DCF </CueClusterPosition>
                </CueTrackPositions>
            </CuePoint>
            <CuePoint>
                <CueTime> 66500 </CueTime>
                <CueTrackPositions>
                    <CueTrack> 1 </CueTrack>
                    <CueClusterPosition base="hex"> 11C4097 </CueClusterPosition>
                </CueTrackPositions>
            </CuePoint>
            <CuePoint>
                <CueTime> 76917 </CueTime>
                <CueTrackPositions>
                    <CueTrack> 1 </CueTrack>
                    <CueClusterPosition base="hex"> 13C5A11 </CueClusterPosition>
                </CueTrackPositions>
            </CuePoint>
        </Cues>
        <Cluster>
            <Timecode> 0 </Timecode>
            <SimpleBlock>
                <_TrackNumber> 2 </_TrackNumber>
                <_Timecode> 0 </_Timecode>
                <_FrameIsVisible> Yes </_FrameIsVisible>
                <_Lacing> None </_Lacing>
                <_DataStream>
                    <_StartIndex base="hex"> 334 </_StartIndex>
                    <_NumberOfBytes> 5004 </_NumberOfBytes>
                </_DataStream>
            </SimpleBlock>
            <SimpleBlock>
                <_TrackNumber> 1 </_TrackNumber>
                <_Timecode> 0 </_Timecode>
                <_FrameIsVisible> Yes </_FrameIsVisible>
                <_Lacing> None </_Lacing>
                <_DataStream>
                    <_StartIndex base="hex"> 16C7 </_StartIndex>
                    <_NumberOfBytes> 4460 </_NumberOfBytes>
                </_DataStream>
            </SimpleBlock>
 
            ....
 
            <SimpleBlock>
                <_TrackNumber> 1 </_TrackNumber>
                <_Timecode> 958 </_Timecode>
                <_FrameIsVisible> Yes </_FrameIsVisible>
                <_Lacing> None </_Lacing>
                <_DataStream>
                    <_StartIndex base="hex"> 20853 </_StartIndex>
                    <_NumberOfBytes> 6516 </_NumberOfBytes>
                </_DataStream>
            </SimpleBlock>
            <SimpleBlock>
                <_TrackNumber> 1 </_TrackNumber>
                <_Timecode> 1000 </_Timecode>
                <_FrameIsVisible> Yes </_FrameIsVisible>
                <_Lacing> None </_Lacing>
                <_DataStream>
                    <_StartIndex base="hex"> 221CE </_StartIndex>
                    <_NumberOfBytes> 5888 </_NumberOfBytes>
                </_DataStream>
            </SimpleBlock>
        </Cluster>
        <Cluster>
            <Timecode> 1042 </Timecode>
            <SimpleBlock>
                <_TrackNumber> 2 </_TrackNumber>
                <_Timecode> -10 </_Timecode>
                <_FrameIsVisible> Yes </_FrameIsVisible>
                <_Lacing> None </_Lacing>
                <_DataStream>
                    <_StartIndex base="hex"> 238E0 </_StartIndex>
                    <_NumberOfBytes> 960 </_NumberOfBytes>
                </_DataStream>
            </SimpleBlock>
            <SimpleBlock>
                <_TrackNumber> 2 </_TrackNumber>
                <_Timecode> 14 </_Timecode>
                <_FrameIsVisible> Yes </_FrameIsVisible>
                <_Lacing> None </_Lacing>
                <_DataStream>
                    <_StartIndex base="hex"> 23CA7 </_StartIndex>
                    <_NumberOfBytes> 2500 </_NumberOfBytes>
                </_DataStream>
            </SimpleBlock>
 
            ....
 
            <SimpleBlock>
                <_TrackNumber> 1 </_TrackNumber>
                <_Timecode> 10333 </_Timecode>
                <_FrameIsVisible> Yes </_FrameIsVisible>
                <_Lacing> None </_Lacing>
                <_DataStream>
                    <_StartIndex base="hex"> 2F808A </_StartIndex>
                    <_NumberOfBytes> 9652 </_NumberOfBytes>
                </_DataStream>
            </SimpleBlock>
            <SimpleBlock>
                <_TrackNumber> 1 </_TrackNumber>
                <_Timecode> 10375 </_Timecode>
                <_FrameIsVisible> Yes </_FrameIsVisible>
                <_Lacing> None </_Lacing>
                <_DataStream>
                    <_StartIndex base="hex"> 2FA645 </_StartIndex>
                    <_NumberOfBytes> 8827 </_NumberOfBytes>
                </_DataStream>
            </SimpleBlock>
        </Cluster>
 
        ....
 
        <Cluster>
            <Timecode> 76917 </Timecode>
            <SimpleBlock>
                <_TrackNumber> 2 </_TrackNumber>
                <_Timecode> -21 </_Timecode>
                <_FrameIsVisible> Yes </_FrameIsVisible>
                <_Lacing> None </_Lacing>
                <_DataStream>
                    <_StartIndex base="hex"> 13C5A45 </_StartIndex>
                    <_NumberOfBytes> 672 </_NumberOfBytes>
                </_DataStream>
            </SimpleBlock>
            <SimpleBlock>
                <_TrackNumber> 2 </_TrackNumber>
                <_Timecode> 3 </_Timecode>
                <_FrameIsVisible> Yes </_FrameIsVisible>
                <_Lacing> None </_Lacing>
                <_DataStream>
                    <_StartIndex base="hex"> 13C5CEC </_StartIndex>
                    <_NumberOfBytes> 5292 </_NumberOfBytes>
                </_DataStream>
            </SimpleBlock>
 
            ....
 
            <SimpleBlock>
                <_TrackNumber> 1 </_TrackNumber>
                <_Timecode> 10333 </_Timecode>
                <_FrameIsVisible> Yes </_FrameIsVisible>
                <_Lacing> None </_Lacing>
                <_DataStream>
                    <_StartIndex base="hex"> 16413F1 </_StartIndex>
                    <_NumberOfBytes> 1887 </_NumberOfBytes>
                </_DataStream>
            </SimpleBlock>
            <SimpleBlock>
                <_TrackNumber> 1 </_TrackNumber>
                <_Timecode> 10375 </_Timecode>
                <_FrameIsVisible> Yes </_FrameIsVisible>
                <_Lacing> None </_Lacing>
                <_DataStream>
                    <_StartIndex base="hex"> 1641B57 </_StartIndex>
                    <_NumberOfBytes> 1522 </_NumberOfBytes>
                </_DataStream>
            </SimpleBlock>
        </Cluster>
    </Segment>
</_Matroska>

EBLM ID Coverage

Below is a list of sample files in Matroska or WebM format (see Data section of the repository), followed a table produced by Matrosker showing which EBLM IDs they contain:

[Matroska Test Suite]

    1  cover_art.mkv
    2  test1.mkv
    3  test2.mkv
    4  test3.mkv
    5  test4.mkv
    6  test5.mkv
    7  test6.mkv
    8  test7.mkv
    9  test8.mkv

[WebM Demo Files]

    1  big-buck-bunny_trailer.webm
    2  elephants-dream.webm

[MKVToolNix Samples]

    1  alac-in-matroska.mka
    2  vsshort-aac.mkv
    3  vsshort-mp3.mkv
    4  vsshort-mp3-vorbis.mkv
    5  vsshort-vorbis-ar-1.33.mkv
    6  vsshort-vorbis-subs.mkv

[DivX Video Samples]

    1  BigBuckBunny-DivXPlusHD.mkv
    2  ElephantsDream-DivXPlusHD.mkv
    3  GIJoeTheRiseOfCobraTrailer-DivXPlusHD.mkv
    4  Iron_Man_2-DivXPlusHD.mkv
    5  Sintel_DivXPlus_6500kbps.mkv
    6  Sintel_DivXPlusHD_2Titles_6500kbps.mkv
    7  TearsOfSteelFull12min_1080p_24fps_27qp_1474kbps_GPSNR_42.29_HM11.mkv
    8  TearsOfSteelFull12min_720p_24fps_27qp_831kbps_720p_GPSNR_41.65_HM11.mkv
    9  WiegelesHeliSki_DivXPlus_19Mbps.mkv

[Auby Video Tests]

    1  h264_1080p_hp_4.1_10mbps_dts_unstyled_subs_monsters.mkv
    2  h264_1080p_hp_4.1_40mbps_birds.mkv
    3  h264_720p_hp_3.1_600kbps_aac_mp3_dual_audio_harry_potter.mkv
    4  h264_720p_hp_5.1_3mbps_vorbis_styled_and_unstyled_subs_suzumiya.mkv
    5  h264_720p_hp_5.1_6mbps_ac3_unstyled_subs_planet.mkv
    6  h264_720p_mp_3.1_3mbps_aac_shrinkage.mkv
    7  vc1_1080p_ap_l3_18mbps_ac3_hddvd.mkv
    8  xvid_480p_as_l5_1mbps_he-aac_foreign_subs_matrix.mkv

[Wave TLAN IV&V]

    1  H264_AAC_(720p)(mkvmerge).mkv
    2  H264_AAC-LC_720p_(SUPER).mkv
    3  H264_mp3(mkvmerge).mkv
    4  H264_PCM(mkvmerge).mkv
    5  MP4_avc_mp3(720p)(SUPER).mkv
    6  MP4_DIVX_AAC-LC-(mkvmerge).mkv
    7  MP4_DX50_AAC-LC(mkvmerge).mkv
    8  MP4_MP4V_AAC-LC(mkvmerge).mkv
    9  MP4_Xvid_AAC-LC(mkvmerge).mkv
   10  test6.mkv

[Opera]

    1  Elephants_Dream-360p-Stereo.webm
    2  Elephants_Dream-720p-Stereo.webm
    3  sunflower.webm

[Various]

    1  hddvd_demo_1080p.mkv
    2  test.mkv

=============================  EBML IDs Coverage  =============================

                          [Group]     Ma     We   MK      Di        Au        Wa     Op  Va
                         [Sample]  123456789 12 123456 123456789 12345678 1234567890 123 12

     Unknown_______________________.......X. .. ...... XXXXXX..X ........ .......... ... ..
     EBML__________________________XXXXXXXXX XX XXXXXX XXXXXXXXX XXXXXXXX XXXXXXXXXX XXX XX
     EBMLVersion___________________.....X... XX X..... ...XXXXXX .XX.XX.. XXXXXXXXXX ... .X
     EBMLReadVersion_______________.....X... XX X..... ...XXXXXX .XX.XX.. XXXXXXXXXX ... .X
     EBMLMaxIDLength_______________.....X... XX X..... ...XXXXXX .XX.XX.. XXXXXXXXXX ... .X
     EBMLMaxSizeLength_____________.....X... XX X..... ...XXXXXX .XX.XX.. XXXXXXXXXX ... .X
     DocType_______________________XXXXXXXXX XX XXXXXX XXXXXXXXX XXXXXXXX XXXXXXXXXX XXX XX
     DocTypeVersion________________XXXXXXXXX XX XXXXXX XXXXXXXXX XXXXXXXX XXXXXXXXXX XXX XX
     DocTypeReadVersion____________XXXXXXXXX XX XXXXXX XXXXXXXXX XXXXXXXX XXXXXXXXXX XXX XX
     Void__________________________..X..X... XX XXXXXX XXX...XX. X.XXXXXX XXXXXXXXXX ... X.
     CRC-32________________________X.XXX..XX .. ...... ......... ........ .......... ... ..
  1  SignatureSlot_________________......... .. ...... ......... ........ .......... ... ..
  2  SignatureAlgo_________________......... .. ...... ......... ........ .......... ... ..
  3  SignatureHash_________________......... .. ...... ......... ........ .......... ... ..
  4  SignaturePublicKey____________......... .. ...... ......... ........ .......... ... ..
  5  Signature_____________________......... .. ...... ......... ........ .......... ... ..
  6  SignatureElements_____________......... .. ...... ......... ........ .......... ... ..
  7  SignatureElementList__________......... .. ...... ......... ........ .......... ... ..
  8  SignedElement_________________......... .. ...... ......... ........ .......... ... ..
     Segment_______________________XXXXXXXXX XX XXXXXX XXXXXXXXX XXXXXXXX XXXXXXXXXX XXX XX
     SeekHead______________________XXXX.XXXX XX XXXXXX XXXXXXXXX X.XXXXXX XXXXXXXXXX XXX X.
     Seek__________________________XXXX.XXXX XX XXXXXX XXXXXXXXX X.XXXXXX XXXXXXXXXX XXX X.
     SeekID________________________XXXX.XXXX XX XXXXXX XXXXXXXXX X.XXXXXX XXXXXXXXXX XXX X.
     SeekPosition__________________XXXX.XXXX XX XXXXXX XXXXXXXXX X.XXXXXX XXXXXXXXXX XXX X.
     Info__________________________XXXX.XXXX XX XXXXXX XXXXXXXXX X.XXXXXX XXXXXXXXXX XXX X.
     SegmentUID____________________XXXX.XXXX XX XXXXXX XXXXXXXXX X.XXXXXX XXXXXXXXXX XXX X.
  9  SegmentFilename_______________......... .. ...... ......... ........ .......... ... ..
 10  PrevUID_______________________......... .. ...... ......... ........ .......... ... ..
 11  PrevFilename__________________......... .. ...... ......... ........ .......... ... ..
 12  NextUID_______________________......... .. ...... ......... ........ .......... ... ..
 13  NextFilename__________________......... .. ...... ......... ........ .......... ... ..
 14  SegmentFamily_________________......... .. ...... ......... ........ .......... ... ..
 15  ChapterTranslate______________......... .. ...... ......... ........ .......... ... ..
 16  ChapterTranslateEditionUID____......... .. ...... ......... ........ .......... ... ..
 17  ChapterTranslateCodec_________......... .. ...... ......... ........ .......... ... ..
 18  ChapterTranslateID____________......... .. ...... ......... ........ .......... ... ..
     TimecodeScale_________________..X..X... XX X..... XXXXXXXXX X.XXXXXX XXXXXXXXXX ... X.
     Duration______________________XXXX.XXXX XX XXXXXX XXXXXXXXX X.XXXXXX XXXXXXXXXX XXX X.
     DateUTC_______________________XXXX.XXXX XX XXXXXX XXX...XX. X.XXXXXX X.XX.XXXXX XXX X.
     Title_________________________......... .. ...... ....XX..X ..XXX... .X..X....X ... ..
     MuxingApp_____________________XXXX.XXXX XX XXXXXX XXXXXXXXX X.XXXXXX XXXXXXXXXX XXX X.
     WritingApp____________________XXXX.XXXX XX XXXXXX XXXXXXXXX X.XXXXXX XXXXXXXXXX XXX X.
     Cluster_______________________XXXXXXXXX XX XXXXXX XXXXXXXXX XXXXXXXX XXXXXXXXXX XXX XX
     Timecode______________________XXXXXXXXX XX XXXXXX XXXXXXXXX XXXXXXXX XXXXXXXXXX XXX XX
 19  SilentTracks__________________......... .. ...... ......... ........ .......... ... ..
 20  SilentTrackNumber_____________......... .. ...... ......... ........ .......... ... ..
     Position______________________X.XX...XX XX ...... ......... ........ .......... ... ..
     PrevSize______________________X.XXX...X .. ...... ......... ........ .......... ... ..
     SimpleBlock___________________XXXX.XX.X XX X..... ......XX. X.X.XX.X XXXXXXXXXX .XX ..
     BlockGroup____________________..XXXX..X .. XXXXXX XXXXXXXXX XX.XXXXX X.X..XXXX. X.X XX
     Block_________________________..XXXX..X .. XXXXXX XXXXXXXXX XX.XXXXX X.X..XXXX. X.X XX
 21  BlockVirtual__________________......... .. ...... ......... ........ .......... ... ..
 22  BlockAdditions________________......... .. ...... ......... ........ .......... ... ..
 23  BlockMore_____________________......... .. ...... ......... ........ .......... ... ..
 24  BlockAddID____________________......... .. ...... ......... ........ .......... ... ..
 25  BlockAdditional_______________......... .. ...... ......... ........ .......... ... ..
     BlockDuration_________________..XX.X..X .. X..XXX .XXXXX..X X..XX.XX .....XXXX. X.X X.
 26  ReferencePriority_____________......... .. ...... ......... ........ .......... ... ..
     ReferenceBlock________________..XXX...X .. .XXXXX XXXXXXXXX .X.X.XX. X.X..XXXX. X.. XX
 27  ReferenceVirtual______________......... .. ...... ......... ........ .......... ... ..
 28  CodecState____________________......... .. ...... ......... ........ .......... ... ..
 29  DiscardPadding________________......... .. ...... ......... ........ .......... ... ..
 30  Slices________________________......... .. ...... ......... ........ .......... ... ..
 31  TimeSlice_____________________......... .. ...... ......... ........ .......... ... ..
 32  LaceNumber____________________......... .. ...... ......... ........ .......... ... ..
 33  FrameNumber___________________......... .. ...... ......... ........ .......... ... ..
 34  BlockAdditionID_______________......... .. ...... ......... ........ .......... ... ..
 35  Delay_________________________......... .. ...... ......... ........ .......... ... ..
 36  SliceDuration_________________......... .. ...... ......... ........ .......... ... ..
 37  ReferenceFrame________________......... .. ...... ......... ........ .......... ... ..
 38  ReferenceOffset_______________......... .. ...... ......... ........ .......... ... ..
 39  ReferenceTimeCode_____________......... .. ...... ......... ........ .......... ... ..
 40  EncryptedBlock________________......... .. ...... ......... ........ .......... ... ..
     Tracks________________________XXXX.XXXX XX XXXXXX XXXXXXXXX X.XXXXXX XXXXXXXXXX XXX X.
     TrackEntry____________________XXXX.XXXX XX XXXXXX XXXXXXXXX X.XXXXXX XXXXXXXXXX XXX X.
     TrackNumber___________________XXXX.XXXX XX XXXXXX XXXXXXXXX X.XXXXXX XXXXXXXXXX XXX X.
     TrackUID______________________XXXX.XXXX XX XXXXXX XXXXXXXXX X.XXXXXX XXXXXXXXXX XXX X.
     TrackType_____________________XXXX.XXXX XX XXXXXX XXXXXXXXX X.XXXXXX XXXXXXXXXX XXX X.
     FlagEnabled___________________......... .. ...... XXXXXX..X X..X..XX .......... ... X.
     FlagDefault___________________.....XXXX .. .XXXXX XXXXXX..X X.XXX.XX .X..X....X .XX X.
     FlagForced____________________......... .. ...... XXXXXX..X X..X..XX .......... ... X.
     FlagLacing____________________XXXX.XXXX .. .XXX.X XXXXXXXXX X.XXXXXX XXXXXXXXXX XX. X.
     MinCache______________________XXXX.XXXX .. .XXXXX XXXXXXXXX X.XXXXXX X.XX.XXXXX XX. X.
     MaxCache______________________......... .. ....X. ...XXX..X ........ .......... ... ..
     DefaultDuration_______________XXXX.XXXX XX .XXXXX XXXXXXXXX X.XXXXXX X.XX.XXXXX ..X X.
 41  DefaultDecodedFieldDuration___......... .. ...... ......... ........ .......... ... ..
     TrackTimecodeScale____________......... XX .XXX.X XXXXXX..X X..X..XX .......... ... X.
 42  TrackOffset___________________......... .. ...... ......... ........ .......... ... ..
     MaxBlockAdditionID____________......... .. ...... XXX...... X..X..XX .......... ... X.
     Name__________________________.....X... .. ...... XXX.XX..X ..XXX.XX .....X.... ..X X.
     Language______________________XXXX.XXXX .. XXXX.X XXXXXXXXX X.XXXXXX XXXXXXXXXX XX. X.
     CodecID_______________________XXXX.XXXX XX XXXXXX XXXXXXXXX X.XXXXXX XXXXXXXXXX XXX X.
     CodecPrivate__________________XXXX.XXXX XX XXXXXX XXXXXXXXX X.XXXXXX XXXXXXXXXX XX. X.
     CodecName_____________________......... XX ...... ...XXX..X ........ .......... ... ..
     AttachmentLink________________......... .. ...... ....XX... ........ .......... ... ..
 43  CodecSettings_________________......... .. ...... ......... ........ .......... ... ..
 44  CodecInfoURL__________________......... .. ...... ......... ........ .......... ... ..
 45  CodecDownloadURL______________......... .. ...... ......... ........ .......... ... ..
     CodecDecodeAll________________......... .. ...... XXXXXX..X X..X..XX .......... ... X.
 46  TrackOverlay__________________......... .. ...... ......... ........ .......... ... ..
 47  CodecDelay____________________......... .. ...... ......... ........ .......... ... ..
 48  SeekPreRoll___________________......... .. ...... ......... ........ .......... ... ..
 49  TrackTranslate________________......... .. ...... ......... ........ .......... ... ..
 50  TrackTranslateEditionUID______......... .. ...... ......... ........ .......... ... ..
 51  TrackTranslateCodec___________......... .. ...... ......... ........ .......... ... ..
 52  TrackTranslateTrackID_________......... .. ...... ......... ........ .......... ... ..
     Video_________________________XXXX.XXXX XX .XXXXX XXXXXXXXX X.XXXXXX XXXXXXXXXX XXX X.
     FlagInterlaced________________......... .. ...... XXXXXX..X X..X..XX .......... ... X.
     StereoMode____________________......... .. ...... ...X..... ........ .......... ... ..
 53  AlphaMode_____________________......... .. ...... ......... ........ .......... ... ..
 54  OldStereoMode_________________......... .. ...... ......... ........ .......... ... ..
     PixelWidth____________________XXXX.XXXX XX .XXXXX XXXXXXXXX X.XXXXXX XXXXXXXXXX XXX X.
     PixelHeight___________________XXXX.XXXX XX .XXXXX XXXXXXXXX X.XXXXXX XXXXXXXXXX XXX X.
 55  PixelCropBottom_______________......... .. ...... ......... ........ .......... ... ..
 56  PixelCropTop__________________......... .. ...... ......... ........ .......... ... ..
 57  PixelCropLeft_________________......... .. ...... ......... ........ .......... ... ..
 58  PixelCropRight________________......... .. ...... ......... ........ .......... ... ..
     DisplayWidth__________________..X..X... .. .XXXXX XXXXXXXXX X.XXXXXX X.XX.XXXXX XXX X.
     DisplayHeight_________________.....X... .. .XXXXX XXXXXXXXX X.XXXXXX X.XX.XXXXX XXX X.
     DisplayUnit___________________......... .. ...... ...XXX..X ........ .......... ... ..
     AspectRatioType_______________......... .. ...... ...X..... ........ .......... ... ..
 59  ColourSpace___________________......... .. ...... ......... ........ .......... ... ..
 60  GammaValue____________________......... .. ...... ......... ........ .......... ... ..
 61  FrameRate_____________________......... .. ...... ......... ........ .......... ... ..
     Audio_________________________XXXX.XXXX XX XXXXXX XXXXXXXXX X.XXXXXX XXXXXXXXXX XX. X.
     SamplingFrequency_____________XXXX.XXXX XX XXXXXX XXXXXXXXX X.XXXXXX XXXXXXXXXX XX. X.
     OutputSamplingFrequency_______.....X... .. ...... ...XXX..X ..X....X .X........ ... ..
     Channels______________________XXXX.XXXX .. XXXXXX XXXXXXXXX X.XXXXXX XXX.X....X XX. X.
 62  ChannelPositions______________......... .. ...... ......... ........ .......... ... ..
     BitDepth______________________......... .. ...... ......... ........ .X.XX..... ... ..
 63  TrackOperation________________......... .. ...... ......... ........ .......... ... ..
 64  TrackCombinePlanes____________......... .. ...... ......... ........ .......... ... ..
 65  TrackPlane____________________......... .. ...... ......... ........ .......... ... ..
 66  TrackPlaneUID_________________......... .. ...... ......... ........ .......... ... ..
 67  TrackPlaneType________________......... .. ...... ......... ........ .......... ... ..
 68  TrackJoinBlocks_______________......... .. ...... ......... ........ .......... ... ..
 69  TrackJoinUID__________________......... .. ...... ......... ........ .......... ... ..
     TrickTrackUID_________________......... .. ...... ....XX..X ........ .......... ... ..
     TrickTrackSegmentUID__________......... .. ...... ....XX..X ........ .......... ... ..
     TrickTrackFlag________________......... .. ...... ...XXX..X ........ .......... ... ..
 70  TrickMasterTrackUID___________......... .. ...... ......... ........ .......... ... ..
 71  TrickMasterTrackSegmentUID____......... .. ...... ......... ........ .......... ... ..
     ContentEncodings______________...X..... .. ...... ......... ..X.XX.. X.XX.....X ... ..
     ContentEncoding_______________...X..... .. ...... ......... ..X.XX.. X.XX.....X ... ..
 72  ContentEncodingOrder__________......... .. ...... ......... ........ .......... ... ..
 73  ContentEncodingScope__________......... .. ...... ......... ........ .......... ... ..
 74  ContentEncodingType___________......... .. ...... ......... ........ .......... ... ..
     ContentCompression____________...X..... .. ...... ......... ..X.XX.. X.XX.....X ... ..
     ContentCompAlgo_______________...X..... .. ...... ......... ..X.XX.. X.XX.....X ... ..
     ContentCompSettings___________...X..... .. ...... ......... ..X.XX.. X.XX.....X ... ..
 75  ContentEncryption_____________......... .. ...... ......... ........ .......... ... ..
 76  ContentEncAlgo________________......... .. ...... ......... ........ .......... ... ..
 77  ContentEncKeyID_______________......... .. ...... ......... ........ .......... ... ..
 78  ContentSignature______________......... .. ...... ......... ........ .......... ... ..
 79  ContentSigKeyID_______________......... .. ...... ......... ........ .......... ... ..
 80  ContentSigAlgo________________......... .. ...... ......... ........ .......... ... ..
 81  ContentSigHashAlgo____________......... .. ...... ......... ........ .......... ... ..
     Cues__________________________XXXX.X.XX XX XXXXXX XXXXXXXXX X.XXXXXX XXXXXXXXX. XXX X.
     CuePoint______________________XXXX.X.XX XX XXXXXX XXXXXXXXX X.XXXXXX XXXXXXXXX. XXX X.
     CueTime_______________________XXXX.X.XX XX XXXXXX XXXXXXXXX X.XXXXXX XXXXXXXXX. XXX X.
     CueTrackPositions_____________XXXX.X.XX XX XXXXXX XXXXXXXXX X.XXXXXX XXXXXXXXX. XXX X.
     CueTrack______________________XXXX.X.XX XX XXXXXX XXXXXXXXX X.XXXXXX XXXXXXXXX. XXX X.
     CueClusterPosition____________XXXX.X.XX XX XXXXXX XXXXXXXXX X.XXXXXX XXXXXXXXX. XXX X.
     CueRelativePosition___________......... .. ...... ......XX. ........ .......... ... ..
 82  CueDuration___________________......... .. ...... ......... ........ .......... ... ..
     CueBlockNumber________________......... XX ...... ......... ........ .......... ... ..
     CueCodecState_________________......... .. ...... ...X..... ........ .......... ... ..
 83  CueReference__________________......... .. ...... ......... ........ .......... ... ..
 84  CueRefTime____________________......... .. ...... ......... ........ .......... ... ..
 85  CueRefCluster_________________......... .. ...... ......... ........ .......... ... ..
 86  CueRefNumber__________________......... .. ...... ......... ........ .......... ... ..
 87  CueRefCodecState______________......... .. ...... ......... ........ .......... ... ..
     Attachments___________________X........ .. ...... ....XX... ...XX..X .......... ... ..
     AttachedFile__________________X........ .. ...... ....XX... ...XX..X .......... ... ..
     FileDescription_______________......... .. ...... ....XX... .......X .......... ... ..
     FileName______________________X........ .. ...... ....XX... ...XX..X .......... ... ..
     FileMimeType__________________X........ .. ...... ....XX... ...XX..X .......... ... ..
     FileData______________________X........ .. ...... ....XX... ...XX..X .......... ... ..
     FileUID_______________________X........ .. ...... ....XX... ...XX..X .......... ... ..
 88  FileReferral__________________......... .. ...... ......... ........ .......... ... ..
     FileUsedStartTime_____________......... .. ...... ....XX... ........ .......... ... ..
     FileUsedEndTime_______________......... .. ...... ....XX... ........ .......... ... ..
     Chapters______________________......... .. ...... .X..XX..X ........ .......... ... ..
     EditionEntry__________________......... .. ...... .X..XX..X ........ .......... ... ..
     EditionUID____________________......... .. ...... .X..XX..X ........ .......... ... ..
     EditionFlagHidden_____________......... .. ...... .X..XX..X ........ .......... ... ..
     EditionFlagDefault____________......... .. ...... .X....... ........ .......... ... ..
     EditionFlagOrdered____________......... .. ...... ....XX..X ........ .......... ... ..
     ChapterAtom___________________......... .. ...... .X..XX..X ........ .......... ... ..
     ChapterUID____________________......... .. ...... .X..XX..X ........ .......... ... ..
 89  ChapterStringUID______________......... .. ...... ......... ........ .......... ... ..
     ChapterTimeStart______________......... .. ...... .X..XX..X ........ .......... ... ..
     ChapterTimeEnd________________......... .. ...... .X..XX..X ........ .......... ... ..
     ChapterFlagHidden_____________......... .. ...... .X..XX..X ........ .......... ... ..
     ChapterFlagEnabled____________......... .. ...... .X..XX..X ........ .......... ... ..
 90  ChapterSegmentUID_____________......... .. ...... ......... ........ .......... ... ..
 91  ChapterSegmentEditionUID______......... .. ...... ......... ........ .......... ... ..
 92  ChapterPhysicalEquiv__________......... .. ...... ......... ........ .......... ... ..
 93  ChapterTrack__________________......... .. ...... ......... ........ .......... ... ..
 94  ChapterTrackNumber____________......... .. ...... ......... ........ .......... ... ..
     ChapterDisplay________________......... .. ...... .X..XX..X ........ .......... ... ..
     ChapString____________________......... .. ...... .X..XX..X ........ .......... ... ..
     ChapLanguage__________________......... .. ...... .X..XX..X ........ .......... ... ..
 95  ChapCountry___________________......... .. ...... ......... ........ .......... ... ..
 96  ChapProcess___________________......... .. ...... ......... ........ .......... ... ..
 97  ChapProcessCodecID____________......... .. ...... ......... ........ .......... ... ..
 98  ChapProcessPrivate____________......... .. ...... ......... ........ .......... ... ..
 99  ChapProcessCommand____________......... .. ...... ......... ........ .......... ... ..
100  ChapProcessTime_______________......... .. ...... ......... ........ .......... ... ..
101  ChapProcessData_______________......... .. ...... ......... ........ .......... ... ..
     Tags__________________________XXXX.XXXX .. ...... XXX...... ........ .......... ... ..
     Tag___________________________XXXX.XXXX .. ...... XXX...... ........ .......... ... ..
     Targets_______________________XXXX.XXXX .. ...... ......... ........ .......... ... ..
     TargetTypeValue_______________X....X... .. ...... ......... ........ .......... ... ..
102  TargetType____________________......... .. ...... ......... ........ .......... ... ..
103  TagTrackUID___________________......... .. ...... ......... ........ .......... ... ..
104  TagEditionUID_________________......... .. ...... ......... ........ .......... ... ..
105  TagChapterUID_________________......... .. ...... ......... ........ .......... ... ..
106  TagAttachmentUID______________......... .. ...... ......... ........ .......... ... ..
     SimpleTag_____________________XXXX.XXXX .. ...... XXX...... ........ .......... ... ..
     TagName_______________________XXXX.XXXX .. ...... XXX...... ........ .......... ... ..
     TagLanguage___________________.....X... .. ...... XXX...... ........ .......... ... ..
     TagDefault____________________.....X... .. ...... ......... ........ .......... ... ..
     TagString_____________________XXXX.XXXX .. ...... XXX...... ........ .......... ... ..
     TagBinary_____________________XXXXXXXXX XX XXXXXX XXXXXXXXX XXXXXXXX XXXXXXXXXX XXX XX
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License