Risolvere i problemi di riproduzione dei file MKV

Recentemente abbiamo acquistato un televisore LED della LG. Per provare la funzionalità di riproduzione USB, ho messo sulla chiavetta alcuni video di trasmissioni televisive.

Ho usato sia dei programmi RAI, che si possono scaricare seguendo le mie istruzioni, sia alcuni episodi dei Cesaroni, scaricati da Video Mediaset con il procedimento di cui vi ho parlato in quest’altro articolo.

Nel primo caso, si trattava di file MP4, e ho verificato che funzionano perfettamente. Posso riprodurre i filmati, usare l’avanzamento veloce (anche fino a 16x), riavvolgere, saltare a un punto preciso, eccetera. Il problema invece è sorto con la fiction salvata da Video Mediaset.

Come ben sapete, quando salvate filmati Silverlight utilizzando ismdownloader, il programma produce in uscita un video in formato Matroska, con estensione MKV. Il televisore lo riproduce, tuttavia i problemi iniziano quando si tenta di usare l’avanzamento veloce.

Nel tentare di superare la velocità 2x, un triste messaggio appare in mezzo allo schermo:

Messaggio di errore del televisore tentando di usare l'avanzamento veloce su un filmato MKV
Messaggio di errore del televisore tentando di usare l’avanzamento veloce su un filmato MKV

Ancor peggio, quando si vuole riavvolgere il filmato, si riceve la stessa risposta:

Funzione al momento non disponibile

Questo è scomodissimo, perché se per qualche motivo non abbiamo capito una frase e la vogliamo sentire nuovamente, non possiamo. Se per sbaglio premiamo stop dopo aver visto mezz’ora di filmato, non siamo in grado di riprendere la riproduzione se non dopo 15 minuti di avanzamento a velocità 2x.

Un problema assai simile succede anche con alcuni software di riproduzione: mentre VLC e Totem riescono a farci vedere il video e ci permettono di saltare in qualsiasi punto (operazione chiamata seek), Mplayer non lo permette.

Ho cercato di trovare una soluzione al problema. Ovviamente, fare la ricodifica dei video è fuori discussione. Non solo per la perdita di qualità, ma anche per il tempo necessario. Alla fine ho trovato una risposta in questo forum, dove viene suggerito l’utilizzo del programma MKVToolNix, in particolare dello strumento mkvmerge.

Questo software consente la ricostruzione del contenitore MKV (operazione definita muxing) senza ricodificare i flussi audio e video. Questo permette di compiere l’operazione in pochi secondi per un intero video (circa 20-30, dipende dalla velocità del computer).

Con un apposito parametro, si può risolvere il problema dell’avanzamento veloce e del seek!

Innanzitutto, provvedete a installare il software necessario. Dovreste trovare il pacchetto di mkvtoolnix nel gestore pacchetti della vostra distribuzione (ad esempio, su Ubuntu potete cercarlo nell’Ubuntu Software Center).

A questo punto, vi basta invocare il programma con il parametro risolutivo, in questo modo:

mkvmerge -o file_corretto.mkv --clusters-in-meta-seek file_originale.mkv

Ovviamente adattate il comando con il nome del filmato di partenza e il nome finale che desiderate. 😉 Nel giro di poco, il software produrrà il video corretto a partire da quello originale, creando una piccola sezione alla fine del file che consente la corretta riproduzione.

Lo stesso video, riprodotto a 8x dopo il procedimento di "riparazione"
Lo stesso video, riprodotto a 8x dopo il procedimento di “riparazione”

Se volete uno script che converta tutti i filmati di una cartella, potete usare quello che ho creato per me:

#!/bin/bash

echo "MKV fix for fast-forward and seek"
echo ""

for i in "$@"; do
    echo "Fixing $i"
    mkvmerge -o "${i}_fix.mkv" --clusters-in-meta-seek "$i"
    mv -f "${i}_fix.mkv" "$i"
done

echo ""
echo "Done!"

Attenzione: questo script sovrascrive i video originali dopo la “riparazione”!

Salvatelo in un file mkv_fix.sh, dategli i permessi di esecuzione, e poi richiamatelo sui file che volete, per esempio così:

mkv_fix.sh *.mkv

Infine, c’è anche la possibilità di usare il parametro di cui vi ho parlato tramite l’interfaccia grafica del programma. Ovviamente tale metodo è più lento e scomodo, perciò non lo spiego, ma potete leggere come si fa in questo topic. 😛

16 pensieri riguardo “Risolvere i problemi di riproduzione dei file MKV

  1. Buonasera Andrea

    ho letto il tuo articolo sulla riproduzione dei file mkv ed a tal proposito volevo chiederti una “consulenza”, ovemai possibile. Ho acquistato uno smart tv LG 55LA965V ed ho collegato al router, in condivisione, un hard disk sul quale ho copiato alcuni film tra i quali ce ne sono alcuni in formato mkv o anche 3d. Purtroppo il televisore non riconosce il formato e non li riproduce; avevo già avuto modo di utilizzare, seppur velocemente, il programma MKVtoolnix per convertire il file in un formato riproducibile ma evidentemente non ci sono riuscito. Sapresti darmi qualche consiglio su cosa fare o su come utilizzare MKVtoolnix.
    Grazie anticipatamente della disponibilità.

    P.s.: nel caso non sia stato esaustivo non esitare a farmelo presente.

  2. Il televisore non riconosce il formato e non li riproduce

    Il fatto è che, probabilmente, non è questione di MKV (che è un contenitore), bensì il problema è relativo al codec utilizzato per le tracce audio e video (o almeno una delle due dà problemi). Bisognerebbe vedere il caso specifico, però è l’ipotesi più probabile così “su due piedi”. 😛

    avevo già avuto modo di utilizzare, seppur velocemente, il programma MKVtoolnix per convertire il file in un formato riproducibile

    Occhio che MKVtoolnix è uno strumento che effettua il muxing (lo accennavo nel post), non fa alcuna ricodifica sul file originale. Non converte nulla, insomma, ma crea/ripara/modifica il contenitore MKV. Se il televisore ha problemi di riproduzione di un certo formato, il file va ricodificato. Consiglio di usare pertanto un convertitore video, tipo Handbrake o simili. 🙂

    1. MKV è un contenitore, devi vedere con quale codec sono stati codificati i filmati che vengono letti e con quale codec invece sono stati codificati gli altri. Vedi anche il commento sopra al tuo. 🙂

  3. ho provato il procedimento ma con gli mkv che ho io non funziona…continua a bloccarsi quando provo ad avanzare/andare indietro velocemente
    se puoi potresti spiegarmi cosa intendi poi per “invocare il programma” ?
    dove devo inserire la stringa di testo ?
    le prove che ho effettuato io sono tutte tramite interfaccia grafica
    ho anche provato a fare la suddivisione in capitoli ma non funziona neanche quello
    🙁

  4. potresti spiegarmi cosa intendi poi per “invocare il programma” ?

    Invocare il programma significa lanciarlo da terminale, nel caso specifico usando la linea di comando che ho suggerito con il parametro che risolve il problema. Lascia stare la GUI e fai direttamente da terminale, che è più veloce e sei sicuro che il muxing parta col parametro corretto. 🙂

  5. ti chiedo scusa ma continuo a non capire come poter fare…io sono sotto windows xp o windows 7
    se provo da “esegui” di windows e cioè dal prompt di comandi non succede nulla.
    dovresti spiegarmi meglio come fare la procedura davvero non riesco a capire dove devo scrivere la stringa di comando…devo aprire il software ? e se si dove devo scriverlo ? non devo aprire il software ? e se no dove devo scriverlo ? se vuoi…se puoi…grazie in anticipo

  6. sono sotto windows

    Ah ma non usi Linux? Come mai non l’avevi detto?

    In teoria, se gli dai il percorso completo dell’eseguibile dovrebbe funzionare lo stesso, suppongo. Comunque fai decisamente prima a usare Linux, al di là di tutti i numerosi motivi per preferirlo come sistema operativo. 🙂 Io comunque personalmente non fornisco assistenza su Windows.

  7. ok ti ringrazio…proverò dal server dello studio dove ho linux…sperando di riuscirci…grazie per le risposte e per l’attenzione

  8. IIRC gli switch da aggiungere sono vari, sulla documentazione online di mkvtoolnix si trova la pagina per la compatibilità

    1. Certamente, se uno desidera fare altre operazioni, ci sono altre opzioni disponibili, tutte consultabili tramite man mkvmerge. Quella che ho indicato io è solo quella necessaria a sistemare i problemi di riproduzione con alcuni player.

  9. salve
    ho notato che se guardo un file mkv in 1980×800 con il lettore blu rey lg sul tv lm620s il video è appena più alto rispetto quando uso il lettore del medesimo tv lm620s di circa mezzo centimtro…come mai questa differenza?

    1. Be’, direi che questo non è certo un problema delle informazioni di seek contenute nel file MKV, quindi non ti saranno utili le indicazioni date nel post. Riguardo a come è configurato il tuo impianto televisivo, di certo non possiamo saperlo. 🙂

  10. Salve,
    ho un televisore Samsung (serie B6000) che non riesce a leggere alcuni film in formato .mkv, ho scaricato HandBrake ma vorrei sapere quali settaggi usare per convertire il file. Io ho provato ed il film mi viene letto dalla tv ma si vede veramente male. Grazie per la risposta!

  11. vorrei sapere quali settaggi usare per convertire il file

    Siamo un po’ fuori tema rispetto al post, che non parla di encoding ma semplicemente di miglioramento del contenitore MKV… in ogni caso i parametri sono a piacere. Dipende da che tipo di output vuoi in termini di qualità versus peso del file di destinazione.

    Handbrake contiene diversi preset nel pannello di destra, con varie qualità. Ma i parametri si possono anche toccare a mano, se si vuole.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *