Открыть сервисСервис

MKV — мультимедийный контейнер Matroska

MKV (расширение файла .mkv) — открытый мультимедийный контейнерный формат, разработанный проектом Matroska в 2002–2003 годах. Формат способен объединять в одном файле видеопотоки, аудиодорожки, субтитры и метаданные практически любых кодеков, не изменяя их. Название происходит от Matroska — традиционной русской куклы-матрёшки, символизирующей «вложенность» данных.

История создания

Работа над Matroska началась в 2002 году как ответ на ограниченность существующих контейнеров: AVI не поддерживал длинные файлы и современные кодеки, Ogg был ориентирован преимущественно на аудио. В основу формата был взят открытый стандарт МЭК (ISO) MPEG-4 Part 12 (ISO Base Media File Format), а также наработки проекта MCF (Multimedia Container Format).

В 2003 году Matroska получил статус свободного и открытого стандарта, лицензия — LGPL. Стандартизация шла через IETF: в 2014 году формат Matroska был принят как RFC 6381 и RFC 7069, а позднее доработан в серии RFC 9559 (2024). Проект разрабатывался преимущественно энтузиастами, среди участников были представители компании Hauppauge, а также разработчики плееров и кодеков.

Устройство и структура

MKV основан на системе «элементов» (EBML — Extensible Binary Meta Language), бинарном формате с гибкой схемой, описанной в спецификации. Каждый элемент состоит из идентификатора, размера и данных. Файл начинается с обязательного заголовка EBML и заголовка сегмента, внутри которого размещаются:

  • SeekHead — индекс расположения ключевых элементов;
  • Info — метаданные (таймкод, дата создания, приложение-генератор);
  • Tracks — описание дорожек (видео, аудио, субтитры) и используемых кодеков;
  • Clusters — блоки с собственно мультимедийными данными, сгруппированные вокруг ключевых кадров;
  • Cues — таблица навигации для быстрого перемотки;
  • Attachments — вложенные файлы (шрифты, обложки);
  • Chapters — структура глав;
  • Tags — произвольные метки (название, исполнитель, жанр).

Такая архитектура позволяет вставлять новые типы элементов без нарушения совместимости.

Возможности формата

Ключевые свойства MKV:

  • Поддержка неограниченного числа видеопотоков, аудиодорожек и субтитров в одном файле.
  • Совместимость с любыми видеокодеками (H.264/AVC, H.265/HEVC, AV1, VP9, MPEG-2) и аудиокодеками (AAC, AC-3, DTS, FLAC, Opus, Vorbis, MP3).
  • Поддержка субтитров в форматах SRT, ASS/SSA, VobSub (PGS), WebVTT.
  • Возможность хранить «флаги» дорожек: язык, название, режим по умолчанию, привязка к языковой дорожке.
  • Встроенные метаданные и обложки.
  • Поддержка интерактивных меню на базе меню DVD (ограниченная) и системы «глобальных» глав.
  • Возможность потоковой передачи (Matroska был адаптирован для WebM — профиля, разработанного совместно с Google для HTML5-видео).

Сравнение с MP4

ПараметрMKVMP4 (MPEG-4 Part 14)
ЛицензияОткрытая, LGPLОграниченная, патенты MPEG LA
Число дорожекНе ограниченоОграничено схемой MP4
СубтитрыРазные типы, включая векторные ASSОбычно только текстовые
МетаданныеГибкие, расширяемыеСтандартизированные, строгие
Потоковая передачаОграниченноШироко поддерживается
Популярность в стримингеСредняяВысокая

MP4 остаётся предпочтительным для потоковых сервисов и мобильных устройств, MKV — для локального хранения и «сборки» файлов из разных источников.

Поддержка и программное обеспечение

MKV поддерживают многие плееры: VLC, MPC-HC, mpv, Windows Media Player (через кодеки), Kodi, Plex, а также аппаратные приставки и ТВ-приставки. Для создания и редактирования файлов используются MKVToolNix (набор утилит для манипуляции с дорожками и метаданными), HandBrake (перекодирование), FFmpeg (конвертация). На Windows для воспроизведения в системных приложениях используется пакет кодеков LAV Filters.

Применение

MKV широко распространён в среде цифрового копирования фильмов и сериалов («рипы»), где требуется сохранить исходное видео, несколько аудиодорожек (дубляж, оригинальный звук) и субтитры. Формат популярен среди аниме-сообщества благодаря поддержке векторных субтитров ASS с эффектами. Открытость лицензии и гибкость структуры сделали MKV основой для WebM — профиля, используемого в браузерах для HTML5-видео.

Источники:

  • RFC 9559 — Matroska Media Container Format Specifications (IETF)
  • RFC 6381 — The 'Codecs' and 'Profiles' Parameters for 'Bucket' Media Types
  • Спецификация EBML (matroska.org)
  • Документация проекта MKVToolNix
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru