Kontener Matroska (.mkv)
Matroska StandardMatroska Video (MKV) to darmowy, rozszerzalny kontener multimedialny oparty na otwartym standardzie. W jednym pliku może pomieścić nieograniczoną liczbę ścieżek wideo i audio oraz obrazów i napisów.
Inspekcja i metadane
Systemy operacyjne i analizatory plików identyfikują pliki MKV, sprawdzając początkową sekwencję bajtów binarnych:
Podpis nagłówka na poziomie bajtów (Magic Bytes)
Systemy operacyjne i analizatory plików identyfikują pliki MKV, sprawdzając początkową sekwencję bajtów binarnych:
PODPIS HEX (OFFSET 0):
1A 45 DF A3REPREZENTACJA ASCII: Eߣ
Normalizacja: Matroska Open Standard / IETF Working Group Draft
Specyfikacja techniczna
| Architektura kontenera | Hierarchiczny kontener multimedialny zapisany w języku EBML (Extensible Binary Meta Language) |
| Kompresja | Niezależny od kodeków: obsługuje AV1, HEVC, H.264, VP9, DTS-HD, TrueHD, FLAC oraz wideo nieskompresowane |
| Kolejność bajtów (Endianness) | Reprezentacja liczb całkowitych typu Big-Endian z deskryptorami rozmiaru o zmiennej długości |
| Przestrzenie kolorów | HDR10, Dolby Vision, HLG i wszystkie przestrzenie kolorów |
| Kanały i struktura | Praktycznie nieograniczona liczba ścieżek audio, strumieni napisów i kątów kamery |
| Maks. wymiary | Brak ograniczeń; obsługuje rozdzielczości 8K i 16K oraz wideo z dużą liczbą klatek na sekundę |
| Przezroczystość | Pełna obsługa kanału alfa w przypadku strumieni VP9 lub ProRes |
| Streaming i progresywne ładowanie | Ramkowanie oparte na klastrach zapewnia niezawodne strumieniowanie na żywo i odporność na uszkodzenia. |
Techniczna macierz porównawcza: MKV a konkurencja
| Atrybut techniczny | MKV (Bieżący) | MP4 | WEBM | AVI |
|---|---|---|---|---|
| Swoboda kodeków | Uniwersalna: akceptuje dowolny kodek wideo, audio lub napisów | Ograniczona głównie do H.264/HEVC/AV1 oraz AAC | Ograniczona do VP8/VP9/AV1 oraz Vorbis/Opus | Tylko starsze kodeki |
| Wierność napisów | Załączone czcionki mogą pomóc w wyświetlaniu, jeśli odtwarzacz je obsługuje; wygląd zależy od oprogramowania. | Tylko podstawowa stylizacja tekstu | Tylko podstawowa stylizacja WebVTT | Wymagane zewnętrzne pliki napisów |
| Natywna obsługa Apple | Wymaga odtwarzacza firm trzecich (VLC, IINA, Infuse) | W 100% natywna na wszystkich urządzeniach Apple | Obsługiwana w przeglądarce Safari za pomocą nowoczesnych frameworków | Przestarzała wtyczka QuickTime |
| Architektura kontenera | Rozszerzalny binarny język metadanych (EBML) | ISO Base Media File Format (Atomy/Pudełka) | EBML (podzbiór Matroska) | Architektura blokowa RIFF |
Typowe tryby uszkodzeń i przewodnik odzyskiwania szesnastkowego
Plik się odtwarza, ale przewijanie osi czasu nie działa lub czas trwania jest niepoprawnie obliczany.
Główna przyczyna: Niekompletnie pobrany plik może mieć uszkodzony lub brakujący element „Cues” (tabelę indeksującą Matroska).
Odzyskiwanie: Odbuduj natychmiast tabelę indeksu wyszukiwania za pomocą polecenia „mkvmerge -o fixed.mkv broken.mkv".
Analiza bezpieczeństwa i wektory ataku na parser
Odczyt EBML wymaga dekodowania liczb całkowitych o zmiennej długości i przechodzenia przez zagnieżdżone drzewa elementów. Błędne długości elementów mogą prowadzić do problemów z zarządzaniem pamięcią.
Znane wektory ataku
- Przepełnienie bufora sterty (heap buffer overflow) podczas parsowania rozmiaru elementów EBML w odtwarzaczach multimedialnych.
- Wykonanie dowolnego kodu za pośrednictwem wadliwej obsługi osadzonych czcionek w modułach renderowania napisów.
- Atak typu „odmowa usługi" (DoS) za pomocą pętli z odwołaniami cyklicznymi w elementach rozdziałów Matroska.
Najlepsze praktyki obronne: Weryfikuj typy osadzonych załączników i odczytuj struktury EBML za pomocą parserów działających w piaskownicy, bezpiecznych pod względem zarządzania pamięcią.
Pochodzenie historyczne i kamienie milowe
Główne zalety
- Jeden z najbardziej wszechstronnych kontenerów: obsługuje niemal każdy kodek wideo i audio oraz napisów.
- Pełna obsługa zaawansowanych stylizowanych napisów (ASS/SSA), wielojęzycznych ścieżek audio i menu rozdziałów.
- Wysoka odporność na uszkodzenia: uszkodzone klastry nie uniemożliwiają odtwarzania sąsiadujących fragmentów wideo.
Ograniczenia techniczne i wady
- Brak wbudowanej natywnej obsługi w domyślnym odtwarzaczu Apple QuickTime oraz na urządzeniach z systemem iOS.
- Nie wszystkie komercyjne przystawki Smart TV i odtwarzacze sprzętowe obsługują ten format natywnie.
- Nie można go bezpośrednio osadzić w standardowych przeglądarkach za pomocą elementu HTML5 <video> bez transkodowania.
Ciekawe informacje techniczne
- Nazwa „Matroska” pochodzi od rosyjskiego słowa „matrioszka”, określającego tradycyjne drewniane lalki wkładane jedna w drugą.
- Bajty sygnatury „1A 45 DF A3” oznaczają uniwersalny identyfikator nagłówka EBML używany zarówno przez MKV, jak i WebM.
- Pliki MKV mogą osadzać w kontenerze całe pliki czcionek TrueType i OpenType, aby renderować napisy do anime.
Często zadawane pytania techniczne
Dlaczego mój telewizor lub telefon nie odtwarza plików MKV?
MKV jest popularny na komputerach, ale część telewizorów i urządzeń z iOS nie ma licencji na obsługę tego kontenera lub określonego kodeka audio (np. DTS), który on zawiera. Konwersja MKV do MP4 rozwiązuje problem zgodności.
Czy mogę przekonwertować plik MKV do formatu MP4 bez utraty jakości wideo?
Tak! Jeśli wideo wewnątrz pliku MKV jest zakodowane w formacie H.264 lub HEVC, File2File.app w ciągu kilku sekund po prostu przepakowuje strumienie wideo do kontenera MP4 bez ponownego kodowania, zachowując 100% pierwotnej jakości.
Jaki jest związek między MKV a WebM?
WebM opiera się na modelu kontenera Matroska/EBML i używa ograniczonego profilu określonych kodeków.