Відео Matroska (.mkv)
Відкритий СтандартMatroska Video (MKV) - це безкоштовний, розширюваний мультимедійний контейнер відкритого стандарту, здатний містити необмежену кількість відео-, аудіо-, графічних треків та доріжок субтитрів в одному файлі.
Аналіз та метадані
Операційні системи та аналізатори файлів ідентифікують файли MKV, перевіряючи початкову послідовність бінарних байтів:
Сигнатура заголовка на байтовому рівні (Magic Bytes)
Операційні системи та аналізатори файлів ідентифікують файли MKV, перевіряючи початкову послідовність бінарних байтів:
ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 0):
1A 45 DF A3ASCII-УЯВЛЕННЯ: 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 (Поточний) | MP4 | WEBM | AVI |
|---|---|---|---|---|
| Свобода кодеків | Універсальна: приймає будь-який відео-, аудіокодек чи кодек субтитрів | Обмежено переважно H.264/HEVC/AV1 та AAC | Обмежено VP8/VP9/AV1 та Vorbis/Opus | Лише застарілі кодеки |
| Точність субтитрів | Побітово ідеальне відтворення з вбудованими файлами шрифтів | Лише базове стилізування тексту | Лише базове стилізування WebVTT | Потрібні зовнішні файли субтитрів |
| Рідна підтримка Apple | Потребує стороннього програвача (VLC, IINA, Infuse) | 100% нативно на всіх пристроях Apple | Підтримується в Safari через сучасні фреймворки | Застарілий плагін QuickTime |
| Архітектура контейнера | Розширювана двійкова метамова (EBML) | Формат медіафайлів бази ISO (Атоми/Блоки) | EBML (підмножина Matroska) | Архітектура блоків RIFF |
Типові режими пошкодження та посібник з відновлення в шістнадцятковому форматі
Файл відтворюється, але переміщення по шкалі часу не працює або тривалість розрахована неправильно.
Першопричина: Пошкоджений або відсутній елемент 'Cues' (таблиця пошуку Matroska) через неповне завантаження.
Відновлення: Миттєво відновіть таблицю індексів пошуку за допомогою команди 'mkvmerge -o fixed.mkv broken.mkv'.
Аналіз безпеки та векторів атак на парсери
Аналіз EBML вимагає декодування цілих чисел змінної довжини та вкладених дерев елементів. Некоректна довжина елементів може призвести до збоїв керування пам'яттю.
Відомі вектори атак
- Переповнення буфера купи (Heap buffer overflow) при синтаксичному аналізі розміру елементів EBML у медіаплеєрах.
- Довільне виконання коду через обробку неправильно сформованих вбудованих вкладених шрифтів у засобах візуалізації субтитрів.
- Відмова в обслуговуванні через цикли циклічних посилань в елементах глав Matroska.
Захисні найкращі практики: Проводьте санітарну обробку типів введених вкладень і аналізуйте структури EBML за допомогою ізольованих (sandbox) бібліотек синтаксичного аналізу, безпечних для пам'яті.
Історичне походження та віхи
Головні переваги та плюси
- Найбільш універсальний існуючий контейнер: підтримує практично будь-який відео-, аудіокодек та кодек субтитрів.
- Повна підтримка вдосконалених стилізованих субтитрів (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 просто перепаковує відеопотоки в контейнер MP4 за лічені секунди без перекодування, зберігаючи 100% початкової якості.
Який зв'язок між MKV та WebM?
WebM є офіційною підмножиною Matroska. WebM використовує ідентичну структуру контейнера EBML із MKV, але суворо обмежує кодеки відкритими веб-стандартами (VP8/VP9/AV1 та Vorbis/Opus).