Видео Matroska (.mkv)
Matroska СтандартMatroska Video (MKV) е свободен, разширяем мултимедиен контейнерен формат със стандарт с отворен код, способен да побира неограничен брой видео, аудио, картинни и субтитрирани писти в един единствен файл.
Инспектиране и метаданни
Операционните системи и файловите анализатори идентифицират MKV файлове чрез проверка на началната двоична байтова последователност:
Байтов подпис на хедъра (Magic Bytes)
Операционните системи и файловите анализатори идентифицират MKV файлове чрез проверка на началната двоична байтова последователност:
HEX ПОДПИС (ОФСЕТ 0):
1A 45 DF A3ASCII ПРЕДСТАВЯНЕ: Eߣ
Стандартизация: Matroska Open Standard / IETF Working Group Draft
Технически спецификации
| Контейнерна архитектура | Extensible Binary Meta Language (EBML) hierarchical container |
| Компресия | Codec-agnostic: holds AV1, HEVC, H.264, VP9, DTS-HD, TrueHD, FLAC, and uncompressed video |
| Поредност на байтовете (Endianness) | Big-Endian integer representations with variable-length size descriptors |
| Цветови пространства | HDR10, Dolby Vision, HLG, and all color spaces |
| Канали и структура | Virtually unlimited audio tracks, subtitle streams, and camera angles |
| Максимални размери | Unrestricted; supports 8K, 16K, and high framerate video |
| Прозрачност | Full alpha channel support when holding VP9 or ProRes streams |
| Стрийминг и прогресивно зареждане | Cluster-based chunk framing allows robust live streaming and resilience to corruption |
Техническа сравнителна матрица: MKV спрямо конкуренти
| Технически атрибут | MKV (Текущ) | MP4 | WEBM | AVI |
|---|---|---|---|---|
| Свобода на кодеците | Универсална: приема всеки видео, аудио или субтитриран кодек | Ограничена предимно до H.264/HEVC/AV1 и AAC | Ограничена до VP8/VP9/AV1 и Vorbis/Opus | Само наследени кодеци |
| Точност на субтитрите | Бит-перфектно рендиране с вградени шрифтови прикачени файлове | Само основно текстово стилизиране | Само основно WebVTT стилизиране | Изискват се външни файлове със субтитри |
| Нативна поддръжка от Apple | Изисква плеър от трета страна (VLC, IINA, Infuse) | 100% нативна на всички Apple устройства | Поддържа се в Safari чрез съвременни рамки (frameworks) | Стар QuickTime плъгин |
| Архитектура на контейнера | Extensible Binary Meta Language (EBML) | ISO Base Media File Format (Атоми/Кутии) | EBML (подмножество на Matroska) | Архитектура от RIFF блокове |
Често срещани режими на повреда и ръководство за хекс възстановяване
Файлът се възпроизвежда, но превъртането по времевата линия е нарушено или продължителността се изчислява неправилно.
Първопричина: Повреден или липсващ елемент 'Cues' (таблицата за търсене на Matroska) поради непълно изтегляне.
Възстановяване: Възстановете незабавно индексната таблица за търсене с помощта на 'mkvmerge -o fixed.mkv broken.mkv'.
Анализ на сигурността и вектори на атака към парсера
EBML анализът изисква дешифриране на цели числа с променлива дължина и вложени елементни дървета. Деформираните дължини на елементите могат да доведат до пропуски в управлението на паметта.
Известни вектори на атака
- Препълване на динамичната буферна памет (heap buffer overflow) при анализа на размера на EBML елементите в медийни плеъри.
- Произволно изпълнение на код чрез деформирана обработка на вградени шрифтови прикачени файлове в рендери на субтитри.
- Отказ от услуга (denial of service) чрез циклици от препратки в елементите за глави на Matroska.
Защитни добри практики:
Исторически произход и етапи
Основни предимства и плюсове
- Най-нишковият (гъвкав) контейнер, съществуващ някога: поддържа практически всеки видео, аудио или субтитриран кодек.
- Пълна поддръжка на усъвършенствани стилизирани субтитри (ASS/SSA), многоезични аудио писти и менюта с глави.
- Висока устойчивост срещу повреда: повредените клъстери не възпрепятстват възпроизвеждането на околното видео.
Технически ограничения и минуси
- Липсва нативно възпроизвеждане по подразбиране в плейъра Apple QuickTime и на iOS устройства.
- Не се поддържа нативно от всички търговски смарт телевизори и хардуерни плеъри.
- Не може да се вгражда директно в стандартни уеб браузъри чрез HTML5 <video> тага без прекодиране.
Интересни технически факти
- Името 'Matroska' произлиза от руската дума 'Матрьошка', отнасяща се до вложените една в друга дървени кукли.
- Магическите байтове '1A 45 DF A3' представляват универсалния ID на 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).