aspose.info
BG

MKV файлов формат

Обновено

Какво е MKV файл?

MKV (Matroska Video) е мултимедиен контейнер, подобен на MOV и AVI формат, но поддържа повече от една аудиозапис и песен със субтитри в един и същи файл. MKV файлът е формат на мултимедиен контейнер на Matroska, използван за видео. MKV е базиран на Extensible Binary Meta Language и поддържа няколко формата за видео и аудио компресия. Основната разлика между MKV и другите видео формати е, че MKV е контейнер, а не кодек. MKV файловете се записват с файлово разширение .mkv. MKV може да включва аудио, видео и субтитри в един файл, дори ако тези елементи използват различни типове кодиране. Например, можете да имате MKV файл, който съдържа H.264 видео и MP3 или AAC за аудио. MKV също поддържа описания, оценки, обложки и дори точки за глави. Има няколко ключови характеристики, които MKV е устойчив на бъдещето. Тези функции включват:

  • Поддръжка за бързо търсене.
  • Възможност за избор на различни аудио и видео потоци.
  • Поддръжка на субтитри (твърдо кодирани и меко кодирани).
  • Поддръжка на метаданни, глави и менюта.
  • Възможност за поточно предаване онлайн.
  • Възможност за възстановяване на грешни файлове, които предоставят възможност за възпроизвеждане на повредени файлове.

Кратка история

MKV файлът е създаден през 2002 г. в Русия. Водещият разработчик беше Lasse Kärkkäinen, който работи с основателя на Matroska, Steve Lhomme, и екип от програмисти. MKV е разработен като проект с отворени стандарти, което означава, че е с отворен код и е безплатен за използване. С течение на времето форматът беше подобрен и стана основата на мултимедийния формат WebM през 2010 г.

Matroska Design

Matroska добавя следните ограничения към спецификацията на EBML.

  • docType на EBML Header трябва да бъде ‘matroska’.
  • EBMLMaxIDLength на EBML Header трябва да бъде 4.
  • EBMLMaxSizeLength на EBML Header трябва да бъде между 1 и 8 (включително).

Всички елементи от най-високо ниво са кодирани в 4 октета.

– Езикови кодове: Matroska (версия 1 до 3) използва езикови кодове, които могат да бъдат или 3-буквената библиографска форма ISO-639-2 (като „fre“ за френски), или може да се използва допълнителен код на държавата като „fre-ca“ “ за канадски френски. Започвайки от версия 4 на Matroska, ISO 639-2 или BCP 47 МОЖЕ да се използва за езикови кодове, въпреки че се препоръчва BCP 47.

  • Физически типове: Те имат различно значение за аудио и видео файлове. Например, ChapterPhysicalEquiv = 60 означава (CD / 12" / 10" / 7" / TAPE / MINIDISC / DAT) за аудио и (DVD / VHS / LASERDISC) за видео.
  • Структура на блок - Заглавие на блок: Заглавието на блока съдържа информация относно номера на песента, времеви клейма, тип на свързване и т.н.
  • Lacing: Това е механизъм за спестяване на място при съхраняване на данни, който обикновено се използва за малки блокове от данни (кадри). Има 3 вида връзки:
    • 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.
  • SimpleBlock Structure: Вдъхновен е от Блоковата структура, като основната разлика е добавянето на флагове Keyframe и Discardable. Освен това всичко е същото.

Matroska структура

Един Matroska документ трябва да бъде съставен от поне един EBML документ, като се използва Matroska Document Type. Всеки EBML документ трябва да започва с EBML хедър, последван от EBML коренен елемент, който е дефиниран като сегмент. Matroska дефинира няколко елемента от най-високо ниво, които могат да се появят в рамките на Сегмента.

EBML използва система от елементи за съставяне на EBML документ. По-долу е списъкът с елементи от най-високо ниво във файла Matroska:

  • EBML документ: Обвивка за целия файл.
  • EBML Header: Съдържа заглавната информация за файла като DocType.
  • Сегмент: Най-горният елемент, който съдържа всички други елементи от най-високо ниво.
  • SeekHead: Съдържа позицията на сегментите на други елементи от най-високо ниво.
  • Информация: Съдържа обща информация за сегмента.
  • Пъти: Елемент от информация от най-високо ниво с много описани следи.
  • Глави: Използва се за дефиниране на основни менюта и данни за дялове.
  • Клъстер: Елементът от най-високо ниво, съдържащ структурата на блока.
  • Cues: Елемент от най-високо ниво, който съдържа всички записи, локални за сегмента, които ускоряват търсенето на достъп.
  • Прикачени файлове: Това съдържа прикачени файлове.
  • Тагове: Този елемент съдържа метаданни, описващи песни, издания, глави, прикачени файлове или сегмента като цяло.

Следната таблица показва структурата на документа Matroska с повечето от елементите, показани в йерархия:

EBML заглавка
СегментSeekHeadТърсенеSeekID
SeekPosition
ИнформацияSegmentUID
Име на файл на сегмент
PrevUID
Предишно име на файл
NextUID
Следващо име на файл
Сегмент Семейство
Превод на глава
TimestampScale
Продължителност
Дата UTC
Заглавие
MuxingApp
WritingApp
СледиTrackEntryномер на песен
TrackUID
TrackType
Име
Език
CodecID
CodecPrivate
Име на кодек
ВидеоFlagInterlaced
FieldOrder
Стереорежим
AlphaMode
Ширина на пиксела
Височина на пиксела
DisplayWidth
DisplayHeight
AspectRatioType
Цвят
АудиоЧестота на вземане на проби
Канали
BitDepth
ГлавиEditionEntryEditionUID
EditionFlagHidden
EditionFlagDefault
EditionFlagOrdered
ChapterAtomChapterUID
ChapterStringUID
ChapterTimeStart
ChapterTimeEnd
ChapterFlagHidden
Показване на главаChapString
ChapLanguage
КлъстерВремево клеймо
SilentTracks
Позиция
Предишен размер
SimpleBlock
BlockGroup
EncryptedBlock
РепликиCuePointCueTime
CueTrackPositions
Прикачени файловеПрикачен файлОписание на файла
Име на файл
FileMimeType
FileUID
FileReferral
FileUsedStartTime
FileUsedEndTime
ЕтикетиЕтикетЦелиTargetTypeValue
TargetType
TagTrackUID
TagEditionUID
TagChapterUID
TagAttachmentUID
SimpleTagИме на етикет
Език на тагове
TagDefault
TagString
TagBinary
SimpleTag

Използване на кодеци

Ако не искате нов мултимедиен плейър и предпочитате да използвате съществуващия си плейър, ще трябва да инсталирате някои кодеци (съкратено за компресия/декомпресия). Въпреки че изтеглянето на кодеци е валидна опция, трябва да внимавате за източника и те може да съдържат зловреден софтуер.

Препратки

Вижте също