Sadržaj

Naslov

Sažetak

U ovom seminaru prikazana je struktura Matroska Multimedia Containera, kontejner formata za pohranu titlova, audia i videa. Uz samu strukturu prikazan je i alat MKVToolNix koji omogučuje analiziranje i sintetiziranje MKV datoteka.

Keywords: Matroska; MKV, MKVToolNix;

Uvod

Matroska Multimeda Container je otvoreni kontejner format. Kontejner format je format čije specifikacije opisuju kako različiti elementi podataka i metapodtaka koegzistiraju u datoteci. Osim MKV ekstenzije, predviđene za video, javljaju se i MK3D koji se koristi za stereoskopski(3D) video, MKA za datoteke koje sadrže samo audio zapise i MKS za titlove. Kao projekt najavljen je 2006. godine, a od 2014. podržan je na Windows 10 operacijskom sustavu out of the box. Razvijan je s ciljem razvijanja modernog, fleksibilnog, proširivog cross-platform multimedijskog kontejner formata. Baziran je na EMBL(Extensible Binary Meta Language) što omogućuje lake izmjene bez narušavanja potpore za stare formate. Zato se može reći da je Matroska format dizajniran s promišljanjem o budućnosti. Primjeri sličnih formata su AVI i MP4, ali za razliku od njih Matroska je otvoreni standard što znači da su njegove tehničke specifikacije dostupne za privatnu i komercijalnu upotrebu. Osim otvorenosti, prednosti Matroske su univerzalnost i fleksibilnost budući da može sadržavati bilo koliki broj audio i video codec-a, nepomičnih slika, titlova i metadata datoteka.

Struktura

<font 12pt/Arial,sans-serif;;inherit;;inherit>File signature MKV datoteka je 1A 45 DF A3, prikazano na slici 1.</font>

hxd.jpgSlika 1

<font 12pt/Arial,sans-serif;;inherit;;inherit>Najviša razina strukture Matroska datoteka sastoji se od EBML i segment elemenata, prikazano na slici 2.</font>

toplvl.jpg Slika 2

<font 12pt/Arial,sans-serif;;inherit;;inherit>EBML header koji se nalazi na navišoj razini MKV datoteke opisuje sadržaj EMBL datoteke. U jednoj MKV datoteci trebao bi se nalaziti samo jedna EMBL datoteka, ali dodavanje novih EMBL datoteka neće pretvoriti MKV datoteku u nevažeću nego će se oni ignorirati.</font>

<font 12pt/Arial,sans-serif;;inherit;;inherit>Segment sadrži multimedijske podatke uz header podatke potrebne za njihovu reprodukciju. U jednoj MKV datoteci može se nalaziti više Segmenata, ali se to ne preporuča, budući da mnogi alati za reprordukciju ne podržavaju takav oblik MKV datoteke.</font>

<font 12pt/Arial,sans-serif;;inherit;;inherit>EMBL je generalizirani format datoteka za bilo kakavu vrstu podataka, a cilj mu je biti binarni ekvivalent XML-u. Kao što je prikazano na slici 3, EMBL element unutar MKV datoteke sadrži opis tipa datoteke, EMBL verziju, ime tipa datoteke, verziju tipa datoteke i sl. Ukoliko bi ovaj header nedostajao bilo bi potrebno pogoditi tip datoteke. Ukoliko bi EMBL element prazan, sve datoteke MKV datoteke koje su djeca EMBL elementa bili bi inicirane na unaprijed zadane početne vrijednosti.</font>

emblheader.jpgSlika 3

<font 12pt/Arial,sans-serif;;inherit;;inherit>Segment se na navišoj razini, kao što je prikazano na slici 4, sastoji od elemenata SeekHead, Tracks, Cues, SegmentInfo, Chapters, Tags, Void i Cluster.</font>

segment.jpgSlika 4

<font 12pt/Arial,sans-serif;;inherit;;inherit>SegmentInfo sadrži generalne informacije o segmentu kao što su UID, naslov i ostale prikazane na slici 5. Ove informacije nisu potrebne za reprodukciju, ali su poželjne.</font>

Slika 5

<font 12pt/Arial,sans-serif;;inherit;;inherit>SeekHead je indeks elemenata koji su djeca Segment-a. Može pokazivati na druge SeekHead-ove, ali ne i na sebe. Ukoliko se svi elementi koji nisu tipa Cluster nalaze ispred svih Cluster elemenata SeekHead nije nužno potreban, ali njegov nedostatak može uzrovati duga vremena učtavanja ili nemogučnost pristupa određenim podacima. Primjer SeekHead-a prikazan je na slici 6.</font>

Slika 6

<font 12pt/Arial,sans-serif;;inherit;;inherit>Cluster, prikazan slikom 7, sadrži video, audio zapise i titlove. Cluster nije obavezan element MKV datoteke, budući da one mogu sadržavati podatke o poglavljima ili attachmente, ali ne i multimedijske podatke.</font>cluster.jpgSlika 7

<font 12pt/Arial,sans-serif;;inherit;;inherit>Tracks, prikazan slikom 8, sadrži opis nekih ili svih audio i video datoteka. Često se zna ponavljati u svrhu backup-a. Isto kao Cluster, MKV datoteka ne mora nužno sadržavati ovaj element.</font>tracks.jpg Slika 8

<font 12pt/Arial,sans-serif;;inherit;;inherit>Cues, prikazan slikom 9, sadrži vremenski poredane indekse na Cluster-e.</font>cues.jpg Slika 9

<font 12pt/Arial,sans-serif;;inherit;;inherit>Attachments sadrži sve datoteke priložene ovom Segmentu.</font>

<font 12pt/Arial,sans-serif;;inherit;;inherit>Chapters, prikazan slikom 10, sadrži informaciju o svim poglavljima segmenta.</font>chapters.jpgSlika 10

<font 12pt/Arial,sans-serif;;inherit;;inherit>Tags, prikazan slikom 11, sadrži dodatne informacije o segmentu ili elementima segmenta koje nisu nužne za reprodukciju.</font>

tag.jpgSlika 11

MKVToolNix

<font 12pt/Arial,sans-serif;;inherit;;inherit>MKVToolNix je besplatni set alata za analizu i sintezu MKV datoteka. Dostupan je za Linux, MacOS i Windows operacijske sustave. Komponente od kojih se sastoji su MKVToolNix GUI, mkvmerge, mkvinfo, mkvextract i mkvpropedit.</font>

<font 12pt/Arial,sans-serif;;inherit;;inherit>Pokretanjem MKVToolNix GUI-a i odabirom Info tool-a sa lijeve strane radnog prozora otvara se prikaz strukture odabrane MKV datoteke, prikazano na primjeru na slici 12.</font>infotool.jpgSlika 12

<font 12pt/Arial,sans-serif;;inherit;;inherit>Odabirom Multiplexer opcije moguće je spojiti više MKV(ili datoteka drugih formata) u jednu MKV datoteku. Primjer ovakvog spajanja datoteka pokazan je na slici 13.</font>

Slika 13

<font 12pt/Arial,sans-serif;;inherit;;inherit>Header editor, prikazan slikom 14, omogućuje uređivanje Header-a i dodavanje Attachmenta, dok Chapter Editor omogućuje uređivanje poglavlja.</font> headereditor.jpgSlika 14

Zaključak

MKV je suvremeni format za pohranjivanje video i audio datoteka. Kao najveće prednosti ističu se visoka fleksibilnost budući da može sadržavati skoro sve audio i video formate, podržava kompresije sa i bez gubitaka, može sadržavati proizvoljan broj video, audio i slikovnih zapisa, titlova i drugih proizvoljnih datoteka. Uživa veliku popularnost koja je u stalnom rastu usprkos tome što korijene vuče s interneta, a ne etablirane kompanije za razliku od njegovih konkurenata kao što su AVI i slični formati. Za obradu datoteka ovog formata može se koristiti MKVToolNix alat koji je besplatan i dostupan na više platformi. Ovaj alat pruža uvid u strukturu same datoteke, a omogućuje i opcije uređivanje Header-a i Chapter-a te spajanje više različitih datoteka u jednu MKV formata.

Literatura

Matroska službene stranice

Sveučilišna knjižnica sveučilišta Virginia Tech

Wikipedia

Stranica alata MKVToolNix