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. 😛

Scaricare, ritagliare e convertire le puntate RAI per guardarle sul telefono

Questa guida nasce per spiegare come ho fatto per risolvere una situazione che mi riguarda personalmente. Sono partito da alcuni presupposti base per cercare di capire come ottimizzare la mia fruizione di una trasmissione che mi piace. Prima considerazione: guardo ben poco la RAI, ma c’è una trasmissione che mi interessa e seguo fedelmente: Chi l’ha visto? Seconda considerazione: ogni mercoledì sera sono impegnato col gruppo Linux, quindi non posso guardare la trasmissione in diretta.

La soluzione più ovvia è adoperare il videoregistratore per memorizzare su cassetta la puntata alla sera e guardarla successivamente. Il problema è che spesso mi dimentico di farlo o continuo a rimandare perché ho tante cose da fare al pomeriggio. Da qui nasce la terza e ultima considerazione: per cinque giorni a settimana, quando vado all’università, ho due ore di treno, una all’andata e una al ritorno.

Dato che sono sempre accompagnato dal mio fedele HTC Wildfire (mi scuso se non ve ne ho parlato ma di recensioni ne trovate tante in rete, sarebbe inutile un’ennesima) ho deciso di approfittare del tempo “perso” in treno e guardare le puntate di Chi l’ha visto mentre viaggio verso Mestre o torno a casa. Ecco come ho fatto…

Continua a leggere…

Guida: installare i codec su Ubuntu per riprodurre tutti i file multimediali e i DVD

Avevo già illustrato delle istruzioni veloci su come abilitare i formati audio e video più comuni (ad esempio MP3 e WMV) su Ubuntu, in un vecchio post. Col tempo mi sono accordo che è una richiesta che mi fanno diverse persone. Inoltre era il caso di aggiornare le istruzioni, perciò ho deciso di scrivere questa guida in modo più dettagliato e opportuno.

Nota: questa guida è stata aggiornata per funzionare con Ubuntu versione 14.04 e successive.

Precisazioni importanti

Prima di iniziare con la guida vera e propria mi preme sottolineare un paio di cose che spesso generano confusione negli utenti.

Numero uno: non è obbligatorio installare dei codec con licenza proprietaria! Infatti con questa guida installeremo dei codec che sono software libero ma servono ad aprire dei file nei cosiddetti formati proprietari. I codec non sono preinstallati su Ubuntu non perché siano software non liberi, ma perché i formati come MP3 ed altri sono protetti da brevetti software in alcuni paesi. Ciò non consente la preinstallazione dei codec all’interno del sistema operativo. Se la cosa vi preoccupasse (ma non deve) vi ricordo che i brevetti software non hanno validità giuridica in Europa.

Moltissime guide consigliano agli utenti di installare dei codec proprietari chiamati w32codecs o w64codecs, adducendo che altrimenti i formati Windows Media non si possono riprodurre. Bene, io non ho installato nessuno dei due pacchetti e non ho problemi di sorta a riprodurre tutti i tipi di file: per questo motivo non vi consiglierò di installarli.

Numero due: la guida fa un uso intenso del Terminale (che si trova nel menu delle applicazioni). Questo non significa che le stesse operazioni (come alcuni purtroppo credono) non si possano effettuare lo stesso da interfaccia grafica. Anzi, si può fare tutto senza aprirlo, il fatto è che col terminale si risparmia moltissimo tempo ed è anche più semplice per me guidarvi tramite comandi da dare nel terminale. La procedura è semplice, si copiano i comandi che vi fornisco dopo averli spiegati, si incollano nella finestra di terminale e si preme invio.

Codec e programmi

Alcuni pensano che i codec siano “programmi” per leggere la musica o i video. In realtà i codec sono delle librerie, ovvero delle “aggiunte” che permettono ai programmi multimediali di comprendere il contenuto di certi file. Quindi se volete aprire i file audio e video non vi bastano i codec, ovviamente avrete sempre bisogno di un riproduttore multimediale.

Questa guida vi permetterà di attivare dei codec utilizzabili dal riproduttore musicale di Ubuntu (Rhythmbox) e il riproduttore video (Totem). Vi consiglio di installare anche VLC dal Software Center perché in alcuni casi (succede solo con video particolari) si comporta meglio di Totem ed inoltre vi offre più funzioni, non fa mai male averlo quando serve.

Rhythmbox, Totem e VLC

Formati audio e video

Tutto ciò che serve per i formati audio e video è già presente tra le sorgenti software di Ubuntu, l’importante è assicurarsi che siano tutte attive. Aprite l’Ubuntu Software Center e poi andate su Modifica > Sorgenti software… e controllate che le fonti universe e multiverse siano attivate.

Cliccate su Chiudi e quando vi compare una finestra che vi chiede se volete ricaricare l’elenco, fatelo. Infine chiudete la finestra del gestore dei pacchetti.

A questo punto ci sono un po’ di pacchetti da installare. Nel terminale basta un comando che li includa tutti in un colpo solo:

sudo apt-get install -y gstreamer0.10-fluendo-mp3 gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-ugly libavcodec5. libavdevice5. libavformat5. libavutil5. libpostproc5. libswscale.$

Il puntino nel nome di alcuni pacchetti serve come carattere “jolly” per funzionare su diverse versioni di Ubuntu.

Probabilmente vi verrà chiesta la password, è sufficiente digitarla (anche se non si vede) e premere Invio di nuovo. Una volta finito potrete riprodurre tutto ciò che volete, con una importante eccezione… i DVD. 😉

Dischi DVD

Ad essere precisi i dischi DVD fatti in casa funzionano subito con Ubuntu, il problema si pone con i dischi commerciali, cioè i film che si comprano in negozio. Questi dischi sono protetti con un sistema di cifratura anti-copia, e chi ha creato tale meccanismo non ha mai accettato di permettere a Linux di leggerlo. Fortunatamente il sistema è stato decifrato dal famoso Jon Lech Johansen ed esiste una libreria per leggere i DVD commerciali.

Il problema come al solito è quello dei brevetti, per cui la libreria deCSS che è software libero non viene distribuita direttamente con Ubuntu. È tuttavia possibile usare uno script incluso dentro al pacchetto per i DVD non criptati, che consente di installare automaticamente anche la libreria per i DVD cifrati:

sudo apt-get install libdvdnav4 libdvdread4
sudo /usr/share/doc/libdvdread4/install-css.sh

Ora è tutto pronto anche per leggere i DVD. Qualche volta non funzionano benissimo con Totem, in quel caso provate ad aprirli con VLC. Vi ricordo anche che con deCSS nella maggior parte dei casi potete leggere qualsiasi DVD indipendentemente dal codice regionale, anche se il vostro lettore DVD ha un codice impostato! 😀

Considerazioni finali

Come avete potuto vedere, installare i codec è una cosa molto meno impegnativa di quanto sembri, si fa una volta e poi non ci si pensa più. Presto vi renderete conto, come è capitato a me, di quante cose siano facili da fare su Linux che prima sotto Windows richiedevano software, tempo e fatica. Un esempio banale è il download dei video da Internet, oppure la conversione tra formati diversi… Basta provare per credere. 😛