Matroska multimedijalni kontejner (.mkv)
Otvoreni StandardMatroska Video (MKV) je besplatan, proširiv i otvoren multimedijalni kontejner koji može da sadrži neograničen broj video i audio tokova, slika i titlova u jednoj datoteci.
Pregled i metapodaci
Operativni sistemi i analizatori datoteka identifikuju MKV datoteke proverom početnog binarnog niza bajtova:
Potpis zaglavlja na nivou bajtova (magični bajtovi)
Operativni sistemi i analizatori datoteka identifikuju MKV datoteke proverom početnog binarnog niza bajtova:
HEKSADECIMALNI POTPIS (OFFSET 0):
1A 45 DF A3ASCII REPREZENTACIJA: Eߣ
Standardizacija: Otvoreni standard Matroska / nacrt radne grupe IETF-a
Tehničke specifikacije
| Arhitektura kontejnera | Hijerarhijski kontejner zasnovan na Extensible Binary Meta Language (EBML) |
| Kompresija | Nezavisan od kodeka: podržava AV1, HEVC, H.264, VP9, DTS-HD, TrueHD, FLAC i nekompresovani video |
| Bajtni redosled (Endianness) | Big-endian prikaz celobrojnih vrednosti sa deskriptorima veličine promenljive dužine |
| Prostori boja | HDR10, Dolby Vision, HLG i svi prostori boja |
| Kanali i struktura | Gotovo neograničen broj audio tokova, titlova i uglova kamere |
| Maksimalne dimenzije | Bez ograničenja; podržava 8K i 16K video i visoku brzinu kadrova |
| Transparentnost | Potpuna podrška za alfa kanal kada sadrži VP9 ili ProRes tokove |
| Strimovanje i progresivno učitavanje | Strukturisanje podataka u blokove zasnovano na klasterima omogućava pouzdan prenos uživo i otpornost na oštećenja |
Tehnička matrica poređenja: MKV u odnosu na konkurente
| Tehnički atribut | MKV (Trenutno) | MP4 | WEBM | AVI |
|---|---|---|---|---|
| Sloboda kodeka | Podržava mnoge kodeke; podrška plejera se razlikuje | Ograničeno prvenstveno na H.264/HEVC/AV1 i AAC | Ograničeno na VP8/VP9/AV1 i Vorbis/Opus | Samo stariji kodeci |
| Vernost titlova | Priloženi fontovi mogu da pomognu pri prikazu ako ih plejer podržava; izgled zavisi od softvera. | Samo osnovno stilizovanje teksta | Samo osnovno stilizovanje u WebVTT-u | Potrebne su spoljne datoteke titlova |
| Izvorna podrška na Apple uređajima | Zahteva plejer treće strane (VLC, IINA, Infuse) | Izvorna reprodukcija na nekim Apple uređajima i u pojedinim programima; podrška zavisi od formata i verzije | Podržano u Safariju preko modernih okvira | Stariji QuickTime dodatak |
| Arhitektura kontejnera | Extensible Binary Meta Language (EBML) | ISO Base Media File Format (Atoms/Boxes) | EBML (podskup Matroske) | RIFF struktura blokova |
Uobičajeni režimi oštećenja i vodič za heksadecimalni oporavak
Datoteka se reprodukuje, ali premotavanje kroz vremensku liniju ne radi ili se trajanje pogrešno izračunava.
Osnovni uzrok: Oštećen ili nedostajući element „Cues“ (Matroska tabela indeksa za premotavanje) usled nepotpunog preuzimanja.
Oporavak: Odmah ponovo napravite tabelu indeksa za premotavanje pomoću komande 'mkvmerge -o fixed.mkv broken.mkv'.
Bezbednosna analiza i vektori napada parsera
Parsiranje EBML-a zahteva dekodiranje celobrojnih vrednosti promenljive dužine i obradu ugnježđenih stabala elemenata. Neispravno zadate dužine elemenata mogu izazvati greške u upravljanju memorijom.
Poznati vektori napada
- Prelivanje bafera na memorijskoj gomili pri parsiranju veličine EBML elemenata u medijskim plejerima.
- Izvršavanje proizvoljnog koda usled neispravne obrade oštećenih ugrađenih fontova u programima za prikaz titlova.
- Uskraćivanje usluge (DoS) zbog petlji sa kružnim referencama u elementima poglavlja formata Matroska.
Najbolje prakse za zaštitu: Proverite tipove ugrađenih priloga i parsirajte EBML strukture pomoću izolovanih biblioteka za parsiranje koje bezbedno upravljaju memorijom.
Istorijat i prekretnice
Ključne prednosti
- Matroska podržava mnoge video, audio i titl kodeke, mada kompatibilnost zavisi od plejera i uređaja.
- Potpuna podrška za napredno stilizovane titlove (ASS/SSA), višejezične audio tokove i menije poglavlja.
- Visoka otpornost na oštećenja: oštećeni klasteri ne sprečavaju reprodukciju okolnog videa.
Tehnička ograničenja i nedostaci
- Nema izvorne podrške za reprodukciju u podrazumevanom Apple QuickTime plejeru i na iOS uređajima.
- Nije izvorno podržan na svim komercijalnim pametnim televizorima i hardverskim plejerima.
- Ne može se direktno ugraditi u standardne veb pregledače pomoću HTML5 <video> oznake bez transkodiranja.
Zanimljivosti
- Naziv „Matroska“ potiče od ruske reči „matrjoška“, koja označava drvenu lutku u kojoj se nalaze manje lutke.
- Magični bajtovi '1A 45 DF A3' predstavljaju univerzalni identifikator EBML zaglavlja koji koriste i MKV i WebM.
- U MKV datoteke mogu da se ugrade cele datoteke fontova TrueType i OpenType, kako bi se prikazivali titlovi za anime.
Često postavljana tehnička pitanja
Zašto moj televizor ili telefon ne mogu da reprodukuju MKV datoteke?
Neki uređaji ne podržavaju MKV ili neki kodek sadržan u datoteci. Pre konverzije proverite podršku ciljnog plejera za kontejner i kodek; prepakivanje u MP4 pomaže samo ako su tokovi kompatibilni.
Mogu li da konvertujem MKV u MP4 bez gubitka kvaliteta videa?
Ako su video i audio kodeci podržani u MP4, prepakivanjem je moguće sačuvati kodirane tokove bez ponovnog kodiranja. U suprotnom, konverzija može zahtevati transkodiranje, što može da promeni kvalitet.
Kakva je veza između MKV i WebM formata?
WebM je zasnovan na modelu Matroska/EBML kontejnera i koristi ograničeni profil određenih kodeka.