Wideo Matroska (.mkv)
Matroska StandardníMatroska Video (MKV) je bezplatný, rozšiřitelný a otevřený standardní multimediální kontejnerový formát, který dokáže v jediném souboru uchovávat neomezený počet stop videa, zvuku, obrázků a titulků.
Kontrola a metadata
Operační systémy a analyzátory souborů identifikují soubory MKV kontrolou počáteční binární sekvence bajtů:
Podpis hlavičky na úrovni bajtů (Magic Bytes)
Operační systémy a analyzátory souborů identifikují soubory MKV kontrolou počáteční binární sekvence bajtů:
HEXADECIMÁLNÍ PODPIS (POSUN 0):
1A 45 DF A3ASCII REPREZENTACE: Eߣ
Standardizace: Matroska Open Standard / IETF Working Group Draft
Technické specifikace
| Architektura kontejneru | Hierarchický kontejner založený na Extensible Binary Meta Language (EBML) |
| Komprese | Nezávislý na kodeku: může obsahovat AV1, HEVC, H.264, VP9, DTS-HD, TrueHD, FLAC i nekomprimované video |
| Pořadí bajtů | Reprezentace celých čísel v pořadí big-endian s délkami kódovanými proměnným počtem bajtů |
| Barevné prostory | HDR10, Dolby Vision, HLG a všechny barevné prostory |
| Kanály a struktura | Prakticky neomezený počet zvukových stop, streamů titulků a úhlů kamery |
| Max. rozměry | Bez pevného omezení; podporuje video v rozlišení 8K a 16K i s vysokou snímkovou frekvencí |
| Průhlednost | Plná podpora alfa kanálu při použití videostreamů VP9 nebo ProRes |
| Streamování a progresivní načítání | Rámování založené na clusterech umožňuje spolehlivé živé streamování a odolnost vůči poškození |
Technická srovnávací matice: MKV vs konkurence
| Technický atribut | MKV (Aktuální) | MP4 | WEBM | AVI |
|---|---|---|---|---|
| Svoboda kodeků | Podporuje mnoho kodeků; podpora závisí na přehrávači | Omezeno primárně na H.264/HEVC/AV1 a AAC | Omezeno na VP8/VP9/AV1 a Vorbis/Opus | Pouze starší kodeky |
| Věrnost titulků | Přiložená písma mohou pomoci se zobrazením, pokud je přehrávač podporuje; vzhled závisí na softwaru. | Pouze základní stylování textu | Pouze základní stylování WebVTT | Vyžadovány externí soubory titulků |
| Nativní podpora Apple | Vyžaduje přehrávač třetí strany (VLC, IINA, Infuse) | Přehrávání je dostupné na některých zařízeních a v některém softwaru Apple; podpora se liší podle formátu a verze | Podporováno v Safari pomocí moderních frameworků | Starší doplněk QuickTime |
| Architektura kontejneru | Extensible Binary Meta Language (EBML) | ISO Base Media File Format (Atoms/Boxes) | EBML (podmnožina Matroska) | Architektura bloků RIFF |
Běžné režimy poškození a příručka pro obnovení v hex
Soubor se přehrává, ale posouvání na časové ose nefunguje nebo je nesprávně vypočítána doba trvání.
Hlavní příčina: Poškozený nebo chybějící prvek 'Cues' (vyhledávací tabulka Matroska) kvůli neúplnému stažení.
Obnovení: Okamžitě obnovte tabulku vyhledávacího indexu pomocí příkazu 'mkvmerge -o fixed.mkv broken.mkv'.
Bezpečnostní analýza a vektory útoků na parser
Parsování formátu EBML vyžaduje dekódování celých čísel s proměnlivou délkou a vnořené stromy prvků. Chybné délky prvků mohou vyvolat nedostatky ve správě paměti.
Známé vektory útoků
- Přetečení vyrovnávací paměti haldy při parsování velikosti prvků EBML v přehrávačích médií.
- Spuštění libovolného kódu prostřednictvím chybného zpracování vložených příloh písem v rendererech titulků.
- Odepření služby (DoS) prostřednictvím cyklických smyček odkazů v prvcích kapitol Matroska.
Doporučené bezpečnostní postupy: Ověřujte typy vložených příloh a parsujte struktury EBML pomocí knihoven analyzátorů, které běží v izolovaném prostředí (sandbox) a zajišťují bezpečnou správu paměti.
Historický vývoj a milníky
Klíčové výhody a přednosti
- Matroska podporuje mnoho video, zvukových a titulkových kodeků, ale kompatibilita závisí na přehrávači a zařízení.
- Plná podpora pro pokročilé stylované titulky (ASS/SSA), vícejazyčné zvukové stopy a nabídky kapitol.
- Vysoká odolnost vůči poškození: poškozené clustery nebrání přehrávání okolního videa.
Technická omezení a nevýhody
- Ve výchozím přehrávači Apple QuickTime ani na zařízeních iOS jej nelze přehrávat bez další instalace.
- Není nativně podporován všemi komerčními chytrými televizory a hardwarovými přehrávači.
- Nelze jej vložit přímo do standardních webových prohlížečů přes značku HTML5 <video> bez převodu.
Zajímavé technické drobnosti
- Název 'Matroska' je odvozen od ruského slova 'Matrjoška', které označuje vnořené dřevěné panenky.
- Magické bajty '1A 45 DF A3' představují univerzální ID hlavičky EBML používané jak formátem MKV, tak formátem WebM.
- Soubory MKV mohou přímo uvnitř kontejneru obsahovat celé soubory písem TrueType a OpenType pro správné vykreslování titulků anime.
Často kladené technické otázky
Proč moje televize nebo telefon nedokážou přehrát soubory MKV?
Některá zařízení nepodporují kontejner MKV nebo kodek obsažený v souboru. Před převodem ověřte, zda cílový přehrávač podporuje kontejner i kodeky; změna kontejneru na MP4 pomůže jen tehdy, když jsou streamy kompatibilní.
Mohu převést MKV na MP4 bez ztráty kvality videa?
Pokud kodeky videa a zvuku podporuje i MP4, lze změnou kontejneru zachovat kódované streamy bez opětovného kódování. Jinak může být nutné video překódovat, což může změnit jeho kvalitu.
Jaký je vztah mezi formáty MKV a WebM?
WebM vychází z modelu kontejneru Matroska/EBML a používá omezený profil určených kodeků.