Wideo Matroska (.mkv)
Matroska StandardowyMatroska Video (MKV) to darmowy, rozszerzalny i otwartoźródłowy standardowy format kontenera multimedialnego, zdolny pomieścić nieograniczoną liczbę ścieżek wideo, audio, obrazów i napisów w jednym pliku.
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 oparty na 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 | Nieograniczone; obsługuje wideo w rozdzielczości 8K, 16K oraz wysokiej częstotliwości klatek |
| Przezroczystość | Pełna obsługa kanału alfa w przypadku strumieni VP9 lub ProRes |
| Streaming i progresywne ładowanie | Ramkowanie fragmentów oparte na klastrach umożliwia stabilny streaming 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 | Renderowanie z idealną wiernością bitową dzięki dołączonym plikom czcionek | 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: Uszkodzony lub brakujący element „Cues" (tabela wyszukiwania Matroska) z powodu niekompletnego pobierania.
Odzyskiwanie: Odbuduj natychmiast tabelę indeksu wyszukiwania za pomocą polecenia „mkvmerge -o fixed.mkv broken.mkv".
Analiza bezpieczeństwa i wektory ataku na parser
Analiza składniowa EBML wymaga dekodowania liczb całkowitych o zmiennej długości oraz zagnieżdżonych drzew elementów. Nieprawidłowe długości elementów mogą wywołać błędy zarządzania 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: Oczyszczaj typy osadzonych załączników i parsuj struktury EBML przy użyciu bezpiecznych pod względem pamięci bibliotek parserów działających w piaskownicy.
Pochodzenie historyczne i kamienie milowe
Główne zalety
- Najbardziej uniwersalny kontener w historii: obsługuje niemal każdy kodek wideo, audio i 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.
- Brak natywnej obsługi przez niektóre komercyjne inteligentne huby telewizyjne i odtwarzacze sprzętowe.
- Brak możliwości bezpośredniego osadzania w standardowych przeglądarkach internetowych za pomocą elementu HTML5 <video> bez transkodowania.
Ciekawe informacje techniczne
- Nazwa „Matroska" pochodzi od rosyjskiego słowa „Matrioszka", odnoszącego się do tradycyjnych drewnianych lalek zagnieżdżonych jedna w drugiej.
- Magiczne bajty „1A 45 DF A3" reprezentują uniwersalny identyfikator nagłówka EBML używany zarówno przez MKV, jak i WebM.
- Pliki MKV mogą osadzać całe pliki czcionek TrueType i OpenType bezpośrednio w kontenerze w celu renderowania napisów anime.
Często zadawane pytania techniczne
Dlaczego mój telewizor lub telefon nie odtwarza plików MKV?
Chociaż format MKV jest popularny na komputerach PC, niektóre telewizory i urządzenia z systemem iOS nie posiadają licencji na obsługę tego kontenera lub konkretnego zaawansowanego kodeka audio (takiego jak DTS) znajdującego się wewnątrz. Konwersja MKV do MP4 natychmiast rozwiązuje problemy z kompatybilnoś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 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 jest oficjalnym podzbiorem formatu Matroska. WebM używa identycznej struktury kontenera EBML jak MKV, ale rygorystycznie ogranicza kodeki wyłącznie do otwartych standardów internetowych (VP8/VP9/AV1 oraz Vorbis/Opus).