Відео Matroska (.mkv)

Відкритий Стандарт

Matroska Video (MKV): це безкоштовний, розширюваний мультимедійний контейнер відкритого стандарту, який може зберігати в одному файлі необмежену кількість відео-, аудіо- й графічних доріжок, а також доріжок субтитрів.

Аналіз та метадані

Операційні системи та аналізатори файлів ідентифікують файли MKV, перевіряючи початкову послідовність бінарних байтів:

Виберіть або перетягніть файли сюди

Приватно - файли ніколи не залишають ваш пристрій

або вставте Ctrl+V
Гарантія конфіденційності без передавання даних мережею: Жодного байта не передано на зовнішні сервери. Уся обробка відбувалася локально в ізольованому середовищі браузера.

Сигнатура заголовка на байтовому рівні (Magic Bytes)

Операційні системи та аналізатори файлів ідентифікують файли MKV, перевіряючи початкову послідовність бінарних байтів:

ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 0):

1A 45 DF A3

ПОДАННЯ В ASCII: Eߣ

Стандартизація: Відкритий стандарт Matroska / Чернетка робочої групи IETF

Технічні характеристики

Архітектура контейнераІєрархічний контейнер на основі розширюваної двійкової метамови (EBML)
СтисненняНе залежить від кодеків: підтримує AV1, HEVC, H.264, VP9, DTS-HD, TrueHD, FLAC та нестиснене відео
Порядок байтів (Endianness)Багатобайтові цілі числа записуються у прямому порядку байтів (Big-Endian), а розміри задаються значеннями змінної довжини.
Колірні просториHDR10, Dolby Vision, HLG та всі колірні простори
Канали та структураПрактично необмежена кількість аудіодоріжок, потоків субтитрів та ракурсів камери
Максимальні розміриНеобмежена роздільна здатність; підтримує відео у форматах 8K і 16K та з високою частотою кадрів
ПрозорістьПовна підтримка альфа-каналу для потоків VP9 або ProRes
Потокове та прогресивне завантаженняГрупування блоків у кластери забезпечує надійне потокове передавання наживо та стійкість до пошкоджень.

Технічна матриця порівняння: MKV проти конкурентів

Технічний атрибутMKV (Поточний)MP4WEBMAVI
Свобода кодеківУніверсальний: підтримує будь-який відео-, аудіокодек і кодек субтитрівОбмежено переважно H.264/HEVC/AV1 та AACОбмежено VP8/VP9/AV1 та Vorbis/OpusЛише застарілі кодеки
Точність субтитрівВкладені шрифти можуть допомогти з відображенням, якщо програвач їх підтримує; вигляд залежить від ПЗ.Лише базове стилізування текстуЛише базове стилізування WebVTTПотрібні зовнішні файли субтитрів
Вбудована підтримка на пристроях AppleПотребує стороннього програвача (VLC, IINA, Infuse)Вбудована підтримка на всіх пристроях AppleПідтримується в Safari через сучасні фреймворкиЗастарілий плагін QuickTime
Архітектура контейнераРозширювана двійкова метамова (EBML)Формат медіафайлів ISO Base Media (атоми/блоки)EBML (підмножина Matroska)Архітектура блоків RIFF

Типові режими пошкодження та посібник з відновлення в шістнадцятковому форматі

Файл відтворюється, але навігація шкалою часу не працює або тривалість обчислено неправильно.

Першопричина: Пошкоджений або відсутній елемент 'Cues' (таблиця переходу до позицій Matroska) через неповне завантаження.

Відновлення: Миттєво відновіть таблицю індексів пошуку за допомогою команди 'mkvmerge -o fixed.mkv broken.mkv'.

Аналіз безпеки та векторів атак на парсери

Аналіз EBML вимагає декодування цілих чисел змінної довжини та вкладених дерев елементів. Некоректна довжина елементів може призвести до збоїв керування пам'яттю.

Відомі вектори атак

  • Переповнення буфера динамічної пам'яті під час розбору розміру елементів EBML у медіапрогравачах.
  • Довільне виконання коду через обробку некоректно сформованих вбудованих шрифтів-вкладень у засобах відображення субтитрів.
  • Відмова в обслуговуванні через циклічні посилання в елементах розділів Matroska.

Рекомендації щодо захисту: Перевіряйте типи вбудованих файлів-вкладень і розбирайте структури EBML за допомогою бібліотек, ізольованих від системи й безпечних для пам'яті.

Історичне походження та віхи

2023Робоча група IETF Cellar просуває специфікації Matroska до статусу офіційного стандарту RFC.
2010Google обирає Matroska EBML як основу для відкритого веб-відеоформату WebM.
2002Стів Льомм (Steve Lhomme) анонсує проєкт Matroska як гнучке відгалуження контейнера MCF.

Основні переваги

  • Найуніверсальніший контейнер: підтримує практично всі відеокодеки, аудіокодеки й кодеки субтитрів.
  • Повна підтримка розширених стилізованих субтитрів (ASS/SSA), багатомовних аудіодоріжок і меню розділів.
  • Висока стійкість до пошкоджень: пошкоджені кластери не перешкоджають відтворенню навколишнього відео.

Технічні обмеження та недоліки

  • Бракує вбудованої підтримки відтворення за замовчуванням у програвачі Apple QuickTime та на пристроях iOS.
  • Не всі комерційні телевізійні смарт-хаби й апаратні програвачі підтримують формат вбудованими засобами.
  • Не може бути безпосередньо вбудований у стандартні веб-браузери за допомогою HTML5 <video> без перекодування.

Цікаві технічні факти

  • Назва 'Matroska' походить від російського слова 'Матрьошка', що відсилає до матрьошок: дерев’яних ляльок, вкладених одна в одну.
  • Магічні байти '1A 45 DF A3' є універсальним ідентифікатором заголовка EBML, спільним для MKV і WebM.
  • Файли MKV можуть містити вбудовані файли шрифтів TrueType та OpenType безпосередньо всередині контейнера для коректного відображення субтитрів аніме.

Поширені технічні запитання

Чому мій телевізор чи телефон не відтворює файли MKV?

Хоча MKV популярний на ПК, деякі телевізори та пристрої iOS не мають ліцензії на контейнер або конкретний високоякісний аудіокодек (як-от DTS) усередині нього. Перетворення MKV в MP4 миттєво вирішує проблеми з сумісністю.

Чи можу я конвертувати MKV в MP4 без втрати якості відео?

Так! Якщо відео у Вашому файлі MKV закодовано у форматі H.264 або HEVC, File2File.app перепаковує відеопотоки в контейнер MP4 за лічені секунди без перекодування, зберігаючи 100% початкової якості.

Який зв'язок між MKV та WebM?

WebM базується на моделі контейнера Matroska/EBML і використовує обмежений профіль визначених кодеків.