aspose.info
UK

Формат файлу 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 році в Росії. Провідним розробником був Лассе Керккяйнен, який працював із засновником Matroska Стівом Ломмом і командою програмістів. MKV було розроблено як проект відкритих стандартів, що означає, що він є відкритим і вільним для використання. З плином часу формат був вдосконалений і став основою мультимедійного формату WebM у 2010 році.

Matroska Design

Matroska додає наступні обмеження до специфікації EBML.

  • docType заголовка EBML має бути «matroska».
  • EBMLMaxIDLength заголовка EBML має бути 4. – EBMLMaxSizeLength заголовка EBML має бути від 1 до 8 (включно).

Усі елементи верхнього рівня кодуються 4 октетами.

  • Коди мов: у Matroska (версії 1–3) використовувалися коди мов, які могли бути або 3-літерною бібліографічною формою ISO-639-2 (наприклад, «fre» для французької), або додатковим кодом країни, наприклад «fre-ca». " для канадської французької мови. Починаючи з Matroska версії 4, або ISO 639-2, або BCP 47 МОЖНА використовуватися для мовних кодів, хоча BCP 47 рекомендується.
  • Фізичні типи: вони мають різне значення для аудіо- та відеофайлів. Наприклад, ChapterPhysicalEquiv = 60 означає (CD / 12" / 10" / 7" / TAPE / MINIDISC / DAT) для аудіо та (DVD / VHS / LASERDISC) для відео.
  • Структура блоку - Заголовок блоку: заголовок блоку містить інформацію про номер доріжки, часові позначки, тип шнурівки тощо.
  • Шнуровка: це механізм для економії місця під час зберігання даних, який зазвичай використовується для невеликих блоків даних (кадрів). Існує 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: її натхненно структурою блоків, головною відмінністю якої є додавання прапорців Keyframe і Discardable. Крім цього, все те саме.

Структура Matroska

Документ Matroska має складатися принаймні з одного Документа EBML із використанням Типу документа Matroska. Кожен Документ EBML має починатися з Заголовка EBML, за яким слідує Кореневий елемент EBML, який визначається як сегмент. Matroska визначає кілька елементів верхнього рівня, які можуть зустрічатися в Сегменті.

EBML використовує систему елементів для створення документа EBML. Нижче наведено список елементів верхнього рівня у файлі Matroska:

  • Документ EBML: оболонка для всього файлу.
  • Заголовок EBML: містить інформацію заголовка для файлу, наприклад DocType.
  • Сегмент: верхній елемент, який містить усі інші елементи верхнього рівня.
  • SeekHead: містить положення сегментів інших елементів верхнього рівня.
  • Інформація: містить загальну інформацію про сегмент.
  • Доріжки: Елемент інформації верхнього рівня з описом багатьох доріжок.
  • Розділи: використовуються для визначення основних меню та даних розділів.
  • Кластер: Елемент верхнього рівня, що містить блочну структуру.
  • Cues: Елемент верхнього рівня, який містить усі локальні записи сегмента, які прискорюють пошук доступу.
  • Вкладення: містить вкладені файли.
  • Теги: цей елемент містить метадані, що описують доріжки, видання, розділи, вкладення або сегмент загалом.

У наведеній нижче таблиці показано структуру документа Matroska з більшістю елементів, які відображаються в ієрархії:

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

Використання кодеків

Якщо вам не потрібен новий медіапрогравач і ви бажаєте використовувати наявний програвач, вам потрібно буде інсталювати кілька кодеків (скорочене стиснення/декомпресія). Незважаючи на те, що завантаження кодеків є допустимим варіантом, ви повинні бути обережними щодо джерела, оскільки вони можуть містити зловмисне програмне забезпечення.

Посилання

Див. також