MKV è l'abbreviazione di Matroska, un formato contenitore aperto creato nel 2002 da Steve Lhomme e da un gruppo di collaboratori che volevano un file video non di proprietà di nessuno e senza limitazioni. Il nome viene dalla bambola russa a matrioska e descrive bene l'idea: un file Matroska è una scatola che può contenere qualunque cosa ci metti dentro. Mentre MP4 accetta un insieme definito di codec e funzioni, Matroska è stato scritto per accettare qualsiasi cosa, motivo per cui è diventato il formato preferito per archivi cinematografici, anime con più set di sottotitoli e dischi Blu-ray copiati su un hard disk. La sua struttura di base è stata in seguito pubblicata come standard internet, e Google ne ha riutilizzato un sottoinsieme per creare WebM.
Come è strutturato un file MKV
Matroska è costruito su EBML, una struttura binaria che funziona come una versione compatta di XML: tutto è un elemento, gli elementi si annidano uno dentro l'altro e ognuno dichiara la propria lunghezza. Un file è composto da un'intestazione e poi da un segmento che contiene le tracce, un indice per la ricerca e il contenuto multimediale vero e proprio, suddiviso in cluster di piccoli blocchi con timestamp.
MKV non comprime nulla di suo. Il video all'interno è di solito H.264, HEVC, AV1 o VP9; l'audio può essere AAC, Opus, FLAC, DTS o audio Dolby, tra gli altri. Poiché il contenitore è indifferente a ciò che contiene, un singolo file può includere una traccia audio lossless accanto a una compressa, più doppiaggi, set di sottotitoli completi e forzati in forma di testo o bitmap, marcatori di capitolo per la selezione delle scene e allegati: la copertina o il font esatto di cui una traccia di sottotitoli ha bisogno per essere visualizzata correttamente.
Quali metadati contiene un file MKV
Matroska conserva i metadati in due punti, e in un report compaiono entrambi.
Il blocco di informazioni del segmento descrive il file stesso. Contiene il titolo generale, la durata, una data di creazione in UTC, un identificatore univoco per il segmento e due campi rivelatori: l'app di muxing e l'app di scrittura, che indicano la libreria e il programma che hanno prodotto il file, spesso con i rispettivi numeri di versione. Ogni traccia ha poi una propria voce con un nome, un codice lingua, il codec, le dimensioni di visualizzazione e flag che contrassegnano una traccia come predefinita o forzata.
I metadati descrittivi usano il sistema di tag di Matroska, più strutturato della maggior parte degli altri. I tag sono raggruppati per destinazione, quindi un tag può applicarsi all'intero file, a una traccia, a un capitolo o a una raccolta in stile album di livello superiore, e ogni tag è un nome e un valore. I nomi convenzionali sono scritti in maiuscolo e quelli che si incontrano più spesso sono title, artist, date released, genre, comment, description, encoder, part number e total parts. Un tag può inoltre indicare in quale lingua è scritto, così lo stesso campo può comparire più volte per pubblici diversi.
Ciò che Matroska di solito non contiene sono i metadati della fotocamera. Non c'è un blocco EXIF, nessun modello di fotocamera e nessun campo GPS, perché i file MKV sono in genere creati convertendo o copiando qualcos'altro, invece che da una fotocamera. Le tracce personali sono di altro tipo: l'app di scrittura indica quale programma e versione sono stati usati, la data di creazione indica quando, il titolo e i nomi delle tracce molto spesso conservano il nome della pubblicazione o del disco originali e un allegato può essere qualsiasi file, anche uno che qualcuno ha lasciato lì dentro.
Quando scegliere MKV
Usa MKV quando il file è da conservare. È il contenitore ideale in questo caso per un film con più lingue audio, tracce di sottotitoli tra cui vuoi passare e capitoli, e accetta senza problemi codec insoliti.
MP4 è l'alternativa e vince per diffusione: browser, telefoni, televisori e set-top box riproducono MP4 senza aiuto, mentre il supporto MKV dipende dal dispositivo e dalla presenza di molti player installati. Una buona abitudine è archiviare in MKV e distribuire in MP4. Passare da uno all'altro è spesso solo un remux, copiando i flussi in un altro contenitore senza perdita, purché i codec all'interno siano tra quelli che MP4 accetta.