Video Matroska (.mkv)
Matroska StandardMatroska Video (MKV) è un formato contenitore multimediale libero, estensibile e a standard aperto in grado di contenere un numero illimitato di tracce video, audio, immagini e sottotitoli all'interno di un singolo file.
Ispezione e metadati
I sistemi operativi e gli analizzatori di file identificano i file MKV ispezionando la sequenza di byte binari iniziale:
Firma dell'intestazione a livello di byte (Magic Bytes)
I sistemi operativi e gli analizzatori di file identificano i file MKV ispezionando la sequenza di byte binari iniziale:
FIRMA ESADECIMALE (OFFSET 0):
1A 45 DF A3RAPPRESENTAZIONE ASCII: Eߣ
Standardizzazione: Matroska Open Standard / IETF Working Group Draft
Specifiche tecniche
| Architettura del contenitore | Contenitore gerarchico Extensible Binary Meta Language (EBML) |
| Compressione | Indipendente dai codec: supporta AV1, HEVC, H.264, VP9, DTS-HD, TrueHD, FLAC e video non compresso |
| Endianness dei byte | Rappresentazioni di interi Big-Endian con descrittori di dimensione a lunghezza variabile |
| Spazi colore | HDR10, Dolby Vision, HLG e tutti gli spazi colore |
| Canali e struttura | Tracce audio, flussi di sottotitoli e angolazioni di ripresa virtualmente illimitati |
| Dimensioni massime | Illimitate; supporta video 8K, 16K e ad alto frame rate |
| Trasparenza | Pieno supporto per il canale alpha quando contiene flussi VP9 o ProRes |
| Streaming e progressivo | La suddivisione in chunk basata su cluster consente uno streaming live robusto e resilienza alla corruzione |
Matrice di confronto tecnico: MKV vs Concorrenti
| Attributo tecnico | MKV (Attuale) | MP4 | WEBM | AVI |
|---|---|---|---|---|
| Libertà dei codec | Universale: accetta qualsiasi codec video, audio o di sottotitoli | Ristretto principalmente a H.264/HEVC/AV1 e AAC | Ristretto a VP8/VP9/AV1 e Vorbis/Opus | Solo codec legacy |
| Fedeltà dei sottotitoli | I font allegati possono aiutare il rendering se il lettore li supporta; l’aspetto dipende dal software. | Solo stili di testo di base | Solo stili WebVTT di base | Richiesti file di sottotitoli esterni |
| Supporto nativo Apple | Richiede lettore di terze parti (VLC, IINA, Infuse) | 100% nativo su tutti i dispositivi Apple | Supportato in Safari tramite framework moderni | Plugin QuickTime legacy |
| Architettura del contenitore | Extensible Binary Meta Language (EBML) | ISO Base Media File Format (Atoms/Boxes) | EBML (sottoinsieme di Matroska) | Architettura a chunk RIFF |
Modalità di corruzione comuni e guida al recupero esadecimale
Il file viene riprodotto ma lo scorrimento della timeline è compromesso o la durata viene calcolata in modo errato.
Causa principale: Elemento 'Cues' danneggiato o mancante (la tabella degli indici Matroska) a causa di un download incompleto.
Ripristino: Ricostruire istantaneamente la tabella dell'indice di ricerca usando 'mkvmerge -o fixed.mkv broken.mkv'.
Analisi di sicurezza e vettori di attacco del parser
L'analisi EBML richiede la decodifica di interi a lunghezza variabile e alberi di elementi annidati. Lunghezze degli elementi malformate possono innescare difetti di gestione della memoria.
Vettori di attacco noti
- overflow del buffer nell'heap nell'analisi della dimensione degli elementi EBML nei lettori multimediali.
- Esecuzione di codice arbitrario tramite la gestione di font incorporati malformati nei renderer di sottotitoli.
- Attacco di negazione del servizio tramite cicli di riferimento circolari negli elementi dei capitoli Matroska.
Migliori pratiche difensive: Sanificare i tipi di allegati incorporati e analizzare le strutture EBML utilizzando librerie di analisi sicure per la memoria ed eseguite in una sandbox.
Origini storiche e tappe fondamentali
Vantaggi principali
- Il contenitore più versatile esistente: supporta praticamente qualsiasi codec video, audio e di sottotitoli.
- Pieno supporto per sottotitoli con stili avanzati (ASS/SSA), tracce audio in più lingue e menu dei capitoli.
- Elevata resistenza alla corruzione: i cluster danneggiati non impediscono la riproduzione del video circostante.
Limiti tecnici e svantaggi
- Non supporta la riproduzione nativa pronta all'uso con il lettore Apple QuickTime predefinito e sui dispositivi iOS.
- Non è supportato nativamente da tutte le piattaforme smart TV e dai lettori hardware commerciali.
- Non può essere incorporato direttamente nei browser web standard tramite HTML5 <video> senza transcodifica.
Curiosità tecniche
- Il nome 'Matroska' deriva dalla parola russa 'Matryoshka', che indica le tradizionali bambole russe di legno, inserite l'una dentro l'altra.
- I byte magici '1A 45 DF A3' rappresentano l'ID di intestazione EBML universale utilizzato sia da MKV che da WebM.
- I file MKV possono incorporare interi file di font TrueType e OpenType direttamente all'interno del contenitore per renderizzare i sottotitoli degli anime.
Domande tecniche frequenti
Perché la mia TV o il mio telefono non riescono a riprodurre i file MKV?
Sebbene l'MKV sia popolare sui PC, alcuni televisori e dispositivi iOS non concedono in licenza il contenitore o lo specifico codec audio di fascia alta (come DTS) al suo interno. La conversione da MKV a MP4 risolve istantaneamente la compatibilità.
Posso convertire MKV in MP4 senza perdere la qualità video?
Sì! Se il video all'interno del file MKV è in formato H.264 o HEVC, File2File.app riconfeziona i flussi video in un contenitore MP4 in pochi secondi senza ricodificarli, preservando tutta la qualità originale.
Qual è la relazione tra MKV e WebM?
WebM si basa sul modello di contenitore Matroska/EBML e usa un profilo limitato con codec specifici.