aspose.info
CS

Formát souboru MKV

Aktualizováno

Co je soubor MKV?

MKV (Matroska Video) je multimediální kontejner podobný formátu MOV a AVI, ale podporuje více než jednu stopu zvuku a titulků ve stejném souboru. Soubor MKV je formát multimediálního kontejneru Matroska používaný pro video. MKV je založen na Extensible Binary Meta Language a podporuje několik formátů komprese videa a zvuku. Hlavní rozdíl mezi MKV a jinými video formáty je ten, že MKV je kontejner a ne kodek. Soubory MKV se ukládají s příponou .mkv. MKV může začlenit zvuk, video a titulky do jednoho souboru, i když tyto prvky používají různé typy kódování. Můžete mít například soubor MKV, který obsahuje video H.264 a zvuk ve formátu MP3 nebo AAC. MKV také podporuje popisy, hodnocení, přebaly a dokonce i body kapitol. Existuje několik klíčových funkcí, díky kterým je MKV připraveno na budoucnost. Mezi tyto funkce patří:

  • Podpora rychlého hledání.
  • Schopnost vybrat různé audio a video streamy.
  • Podpora pro titulky (pevně kódované a softwarově kódované).
  • Podpora pro metadata, kapitoly a nabídky.
  • Možnost streamovat online.
  • Schopnost obnovit chybné soubory, které poskytují možnost přehrávání poškozených souborů.

Stručná historie

Soubor MKV vznikl v roce 2002 v Rusku. Hlavním vývojářem byl Lasse Kärkkäinen, který spolupracoval se zakladatelem Matrosky Stevem Lhommem a týmem programátorů. MKV byl vyvinut jako projekt otevřených standardů, což znamená, že je open source a je zdarma k použití. Postupem času byl formát vylepšen a v roce 2010 se stal základem multimediálního formátu WebM.

Design Matroska

Matroska přidává do specifikace EBML následující omezení.

  • docType EBML Header musí být ‘matroska’.
  • EBMLMaxIDLength EBML Header musí být 4.
  • EBMLMaxSizeLength EBML Header musí být mezi 1 a 8 (včetně).

Všechny prvky nejvyšší úrovně jsou kódovány ve 4 oktetech.

  • Jazykové kódy: Matroska (verze 1 až 3) používala jazykové kódy, které mohou mít buď 3písmennou bibliografickou formu ISO-639-2 (jako “fre” pro francouzštinu), nebo mohl být použit další kód země jako “fre-ca” “ pro kanadskou francouzštinu. Počínaje verzí Matroska 4 MŮŽE být pro jazykové kódy použit buď ISO 639-2 nebo BCP 47, ačkoli se doporučuje BCP 47.
  • Fyzické typy: Tyto typy mají různý význam pro audio i video soubory. Například ChapterPhysicalEquiv = 60 znamená (CD / 12" / 10" / 7" / TAPE / MINIDISC / DAT) pro zvuk a (DVD / VHS / LASERDISC) pro video.
  • Struktura bloku - Záhlaví bloku: Záhlaví bloku obsahuje informace týkající se čísla stopy, časových razítek, typu šněrování atd.
  • Šněrování: Jedná se o mechanismus pro úsporu místa při ukládání dat, který se obvykle používá pro malé bloky dat (rámce). Existují 3 typy šněrování:
    • Xiph: Frame with a size multiple of 255 coded with a 0 at the end of the size. For example, The code for 765 is 255;255;255;0.
    • EBML: The frame size is coded as a difference between the previous size and this size. The first size in the lace is unsigned but others use a range shift to get a sign on each value.
    • fixed-size: The size remains the same.
  • Struktura SimpleBlock: Je inspirována Strukturou bloku s hlavním rozdílem v přidání příznaků Keyframe a Discardable. Kromě toho je vše při starém.

Matroska struktura

Dokument Matroska musí být složen alespoň z jednoho Dokumentu EBML s použitím Typu dokumentu Matroska. Každý dokument EBML musí začínat záhlavím EBML následovaným kořenovým prvkem EBML, který je definován jako segment. Matroska definuje několik prvků nejvyšší úrovně, které se mohou vyskytovat v rámci Segmentu.

EBML používá k sestavení dokumentu EBML systém prvků. Níže je uveden seznam prvků nejvyšší úrovně v souboru Matroska:

  • Dokument EBML: Obálka pro celý soubor.
  • Záhlaví EBML: Obsahuje informace o záhlaví souboru, jako je DocType.
  • Segment: Nejvyšší prvek, který obsahuje všechny ostatní prvky nejvyšší úrovně.
  • SeekHead: Obsahuje pozici segmentů ostatních prvků nejvyšší úrovně.
  • Info: Obsahuje obecné informace o segmentu.
  • Stopy: Prvek informací nejvyšší úrovně s mnoha popsanými skladbami.
  • Kapitoly: Používá se k definování základních nabídek a dat oddílů.
  • Cluster: Prvek nejvyšší úrovně obsahující strukturu bloku.
  • Narážky: Prvek nejvyšší úrovně, který obsahuje všechny místní položky segmentu, které urychlují hledání přístupu.
  • Přílohy: Obsahuje přiložené soubory.
  • Tags: Tento prvek obsahuje metadata popisující stopy, edice, kapitoly, přílohy nebo segment jako celek.

Následující tabulka ukazuje strukturu dokumentu Matroska s většinou prvků zobrazených v hierarchii:

Hlavička EBML
SegmentSeekHeadHledatSeekID
SeekPosition
InformaceSegmentUID
SegmentFilename
PrevUID
Předchozí název_souboru
DalšíUID
DalšíNázevSouboru
SegmentRodina
KapitolaTranslate
Měřítko časového razítka
Doba trvání
DatumUTC
Název
MuxingApp
Aplikace pro psaní
SkladbyTrackEntryTrackNumber
TrackUID
TrackType
Jméno
Jazyk
CodecID
CodecPrivate
Název kodeku
VideoFlagInterlaced
FieldOrder
StereoMode
AlphaMode
PixelWidth
Výška pixelu
DisplayWidth
DisplayHeight
AspectRatioType
Barva
AudioVzorkovací frekvence
Kanály
BitDepth
KapitolyEditionEntryEditionUID
EditionFlagHidden
EditionFlagDefault
EditionFlagOrdered
KapitolaAtomChapterUID
ChapterStringUID
ChapterTimeStart
KapitolaČasKonec
ChapterFlagHidden
Zobrazení kapitolyChapString
ChapLanguage
ClusterČasové razítko
SilentTracks
Pozice
Předchozí Velikost
SimpleBlock
BlockGroup
EncryptedBlock
NarážkyCuePointCueTime
CueTrackPositions
PřílohyAttachedFilePopis souboru
Název souboru
FileMimeType
FileUID
Referenční soubor
FileUsedStartTime
FileUsedEndTime
ŠtítkyŠtítekCíleTargetTypeValue
TargetType
TagTrackUID
TagEditionUID
TagChapterUID
TagAttachmentUID
SimpleTagTagName
TagLanguage
TagDefault
TagString
TagBinary
SimpleTag

Používání kodeků

Pokud nechcete nový přehrávač médií a dáváte přednost použití stávajícího přehrávače, budete muset nainstalovat některé kodeky (zkratka pro kompresi/dekompresi). I když je stahování kodeků platnou možností, měli byste si dávat pozor na zdroj a ty mohou obsahovat malware.

Reference

Viz také