#amia15 | Portland, Oregon
@dericed || @ablwr
Dave Rice, Jerome Martinez
Ashley Blewer, Tessa Fallon, Erik Piil
Guillaume Roques, Florent Tribouilloy
Matroska is based on Extensible Binary Meta Language <EΓΒ£
<ebml>
<ebmlversion>1</ebmlversion>
<ebmlreadversion>1</ebmlreadversion>
<ebmlmaxidlength>4</ebmlmaxidlength>
<ebmlmaxsizelength>8</ebmlmaxsizelength>
<doctype>matroska</doctype>
<doctypeversion>4</doctypeversion>
<doctypereadversion>2</doctypereadversion>
</ebml>
Matroska is based on Extensible Binary Meta Language <EΓΒ£
<ebml>...</ebml>
<segment>
<seekhead> π </seekhead>
<info> βΉοΈπ </info>
<tracks> π¬ </tracks>
<cluster> πΊπΆππ₯ </cluster>
<cues> ππβ° </cues>
<attachments> π </attachments>
<chapters> π </chapters>
<tags> πΒ© </tags>
</segment>
... archivists ...
... multithreaded ...
... frame crcs (mandatory) ...
... slice crcs (options) ...
... self-descriptive ...
... documentation ...
<data offset="456" name="Size">230</data>
<data offset="460" name="Width">4</data>
<data offset="464" name="Height">4</data>
<data offset="468" name="Planes">1</data>
<data offset="470" name="BitCount">24</data>
<data offset="472" name="Compression">FFV1</data>
<data offset="476" name="SizeImage">48</data>
<data offset="480" name="XPelsPerMeter">0</data>
<data offset="484" name="YPelsPerMeter">0</data>
<data offset="488" name="ClrUsed">0</data>
<data offset="492" name="ClrImportant">0</data>
<block offset="496" name="Private data" size="190">
<data offset="496" name="version">3</data>
<data offset="496" name="micro_version">4</data>
<data offset="496" name="coder_type">2</data>
<block offset="496" name="state_transition_deltas" size="0">...</block>
<data offset="496" name="colorspace_type">1</data>
<data offset="496" name="bits_per_raw_sample">8</data>
<data offset="649" name="chroma_planes">Yes</data>
<data offset="649" name="log2(h_chroma_subsample)">0</data>
<data offset="649" name="log2(v_chroma_subsample)">0</data>
<data offset="649" name="alpha_plane">No</data>
<data offset="649" name="num_h_slices_minus1">1</data>
<data offset="649" name="num_v_slices_minus1">1</data>
<data offset="649" name="quant_table_count">2</data>
<block offset="649" name="quant_table" size="0">...</block>
<block offset="649" name="quant_table" size="0">...</block>
<block offset="649" name="initial_state" size="33">...</block>
<block offset="682" name="initial_state" size="0">...</block>
<data offset="682" name="ec">1</data>
<data offset="682" name="intra">0</data>
<data offset="682" name="CRC-32">3150640706</data>
</block>
<block offset="759" name="Slice" size="24">
<data offset="759" name="slice_x">0</data>
<data offset="759" name="slice_y">0</data>
<data offset="759" name="slice_width_minus1">0</data>
<data offset="759" name="slice_height_minus1">0</data>
<data offset="759" name="quant_table_index">0</data>
<data offset="759" name="quant_table_index">0</data>
<data offset="759" name="picture_structure">3</data>
<data offset="759" name="sample_aspect_ratio num">1</data>
<data offset="759" name="sample_aspect_ratio den">1</data>
<data offset="763" name="?">0</data>
<block offset="762" name="rgb" size="12">
<block offset="762" name="Line" info="0" size="8">...</block>
<block offset="766" name="Line" info="1" size="8">...</block>
</block>
<data offset="759" name="slice_data" info="OK">(16 bytes)</data>
<data offset="775" name="slice_size">16</data>
<data offset="778" name="error_status">0</data>
<data offset="779" name="crc_parity" info="OK">2919906915</data>
</block>
You get metadata from...THE FIREHOSE!"
<block offset="1920" name="Television information" size="128">
<data offset="1920" name="SMPTE time code">4294967295</data>
<data offset="1924" name="SMPTE user bits">4294967295</data>
<data offset="1928" name="Interlace" moreinfo="2:1 interlace">255</data>
<data offset="1929" name="Field number">255</data>
<data offset="1930" name="Video signal standard" moreinfo="Undefined">0</data>
<data offset="1931" name="Zero">255</data>
<data offset="1932" name="Horizontal sampling rate (Hz)">0.000</data>
<data offset="1936" name="Vertical sampling rate (Hz)">0.000</data>
<data offset="1940" name="Temporal sampling rate or frame rate (Hz)">0.000</data>
<data offset="1944" name="Time offset from sync to first pixel (ms)">0.000</data>
<data offset="1948" name="Gamma">0.000</data>
<data offset="1952" name="Black level code value">0.000</data>
<data offset="1956" name="Black gain">0.000</data>
<data offset="1960" name="Breakpoint">0.000</data>
<data offset="1964" name="Reference white level code value">0.000</data>
<data offset="1968" name="Integration time (s)">0.000</data>
<data offset="1972" name="Reserved for future use">(76 bytes)</data>
</block>
mediaarea.xml: container for the others
mediaconch.xml: result of implementation or policy checks
mediainfo.xml: AV summarization data
mediatrace.xml: ALL THE METADATA
.DS_Store: haunts our dreams