Відео Matroska (.mkv)
Відкритий СтандартMatroska Video (MKV): це безкоштовний, розширюваний мультимедійний контейнер відкритого стандарту, який може зберігати в одному файлі необмежену кількість відео-, аудіо- й графічних доріжок, а також доріжок субтитрів.
Аналіз та метадані
Операційні системи та аналізатори файлів ідентифікують файли MKV, перевіряючи початкову послідовність бінарних байтів:
Сигнатура заголовка на байтовому рівні (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 (Поточний) | MP4 | WEBM | AVI |
|---|---|---|---|---|
| Свобода кодеків | Універсальний: підтримує будь-який відео-, аудіокодек і кодек субтитрів | Обмежено переважно 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 за допомогою бібліотек, ізольованих від системи й безпечних для пам'яті.
Історичне походження та віхи
Основні переваги
- Найуніверсальніший контейнер: підтримує практично всі відеокодеки, аудіокодеки й кодеки субтитрів.
- Повна підтримка розширених стилізованих субтитрів (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 і використовує обмежений профіль визначених кодеків.