Fino a un pò di tempo fa quello che Linux era in grado di fare nel "campo della grafica" era ridotto a ciò che era consentito da alcuni (pochissimi) programmi disponibili del settore. Tra questi ad esempio gli eccellenti GIMP per la manipolazione delle immagini, blender, per la grafica 3d, e xanim per la visualizzazione dei filmati.
Vedere un DVD con Linux era fino a poco tempo fa quasi un'impresa. In particolare con l'uscita dei DVD criptati, furono non pochi i problemi per il nostro sistema operativo. Le vicende legali sul DeCSS, un programma ideato originariamente per scavalcare le protezioni presenti sui DVD rendendoli liberamente leggibili, non sono ancora concluse anche se recentemente una sentenza si è pronunciata a favore di quest'ultimo, rendendo di fatto legale il suo utilizzo.
Fino a poco tempo fa una delle cose che mancava a Linux era proprio un programma che permettesse di visualizzare filmati in maniera fluida. Il problema era più che altro legato ai codec, sicuramente perfettibili. Ora la situazione è cambiata. Sono rimasto molto impressionato da un programma che sembra essere nato in risposta a Windows Media Player di Microsoft. Si tratta di MPlayer, che nonostante sia ancora nelle prime fasi di sviluppo, presenta delle caratteristiche molto interessanti.
Questo programma, che alla scrittura del presente articolo è giunto alla versione 0.60, è in grado di riprodurre filmati nei più comuni formati come AVI (compresi i moderni DivX ;-) ), MPEG, MOV, RM (Real Player), WMV (Windows Media Video), ma non solo, e riprodurre DVD, tutto in maniera molto fluida con una qualità analoga a quella del suo "concorrente" per Windows.
Come se non bastasse, MPlayer è un programma molto snello ed è in grado persino di essere usato direttamente da console (senza usare quindi X) facendo ricorso al supporto diretto al framebuffer di Linux. Questa opzione mi ha praticamente stregato, non essendo una persona che non fa molto uso del server X, preferendo la leggerezza e l'immediatezza della console.
INSTALLAZIONE
Essendo un progetto abbastanza recente, è difficile trovarlo distribuito in pacchetti precompilati aggiornati (inoltre problemi di licenza di alcune componenti rendono illegale la distribuzione di questo programma sottoforma di binario), e poiché i cambiamenti da release in release sono significativi è sempre consigliabile tenersi aggiornati all'ultima versione. Inoltre compilando questo programma si ha la possibilità di ottimizzarlo per la propria CPU, e credetemi, ne vale la pena.
Scarichiamo quindi dal sito http://www.mplayerhq.hu/homepage/dload.html i sorgenti (http://www.mplayerhq.hu/MPlayer/releases/MPlayer-0.60.tar.bz2), i codec relativi all'ultima versione (http://www.mplayerhq.hu/MPlayer/releases/w32codec-0.60.tar.bz2), e i font per i sottotitoli (http://www.mplayerhq.hu/MPlayer/releases/mp-arial-iso-8859-1.zip e http://www.mplayerhq.hu/MPlayer/releases/mp-arial-iso-8859-2.zip). Per riprodurre i DVD avrete bisogno anche di due librerie libdvdread (http://www.dtek.chalmers.se/groups/dvd/dist/libdvdread-0.9.2.tar.gz) e libdvdcss (http://www.dtek.chalmers.se/groups/dvd/dist/libdvdcss-0.0.3.ogle3.tar.gz).
Codec
Copiamo il file con i codec appena scaricato (w32codec-0.60.tar.bz2) nella directory /usr/lib con:
nxbox1:~# cp w32codec-0.60.tar.bz2 /usr/lib
Entriamo nella directory /usr/lib:
lnxbox1:~# cd /usr/lib
E decomprimiamo i codec:
lnxbox1:/usr/lib# tar xfvj w32codec-0.60.tar.bz2
Rinominiamo la directory w32codec-0.60 appena creata in win32:
lnxbox1:/usr/lib# mv w32codec-0.60 win32
E cambiamo l'utente proprietario dei files (per un errore i file dell'archivio hanno uno strano utente che sul vostro sistema non è presente) con:
lnxbox1:/usr/lib# chown -R root.root win32
A questo punto avete correttamente installato i codec (potete anche cancellare il file /usr/lib/w32codec-0.60.tar.bz2).
libdvdread e libdvdcss
Volendo usare MPlayer anche per riprodurre DVD sarà necessario compilare queste due librerie. Sono molto semplici da installare, ma è importante farlo nell'ordine giusto. Prima bisognerà installare le libdvdcss e in seguito le libdvdread. Copiamo il file libdvdcss-0.0.3.ogle3.tar.gz nella directory /usr/local/src e decomprimiamolo:
lnxbox1:~# cp libdvdcss-0.0.3.ogle3.tar.gz /usr/local/src lnxbox1:~# cd /usr/local/src
lnxbox1:/usr/local/src# tar xfvz libdvdcss-0.0.3.ogle3.tar.gz
Entriamo nella directory appena creata e compiliamo questa libreria:
lnxbox1:/usr/local/src# cd libdvdcss-0.0.3.ogle3
lnxbox1:/usr/local/src/libdvdcss-0.0.3.ogle3# ./configure --prefix=/usr
lnxbox1:/usr/local/src/libdvdcss-0.0.3.ogle3# make && make install
Diamo quindi un ldconfig.
lnxbox1:/usr/local/src/libdvdcss-0.0.3.ogle3# ldconfig
Fatto questo passiamo a libdvdread. Copiamo come prima il file libdvdread-0.9.2.tar.gz in /usr/local/src, decomprimiamolo e compiliamo la libreria:
lnxbox1:~# cp libdvdread-0.9.2.tar.gz /usr/local/src
lnxbox1:~# cd /usr/local/src
lnxbox1:/usr/local/src# tar xfvz libdvdread-0.9.2.tar.gz
lnxbox1:/usr/local/src# cd libdvdread-0.9.2
lnxbox1:/usr/local/src/libdvdread-0.9.2# ./configure --prefix=/usr
lnxbox1:/usr/local/src/libdvdread-0.9.2# make && make install
Come prima eseguiamo ldconfig.
lnxbox1:/usr/local/src/libdvdread-0.9.2# ldconfig
MPlayer
Se tutto è andato bene fino a questo punto, ora saremo in grado di compilare MPlayer. Copiamo quindi il file MPlayer-0.60.tar.bz2 in /usr/local/src, decomprimiamo l'archivio e posizioniamoci nella directory appena creata:
lnxbox1:~# cp MPlayer-0.60.tar.bz2 /usr/local/src
lnxbox1:~# cd /usr/local/src
lnxbox1:/usr/local/src# tar xfvj MPlayer-0.60.tar.bz2
lnxbox1:/usr/local/src# cd MPlayer-0.60
Ora bisognerà compilare:
lnxbox1:/usr/local/src/MPlayer-0.60# ./configure --enable-gui
--enable-fbdev --language=it --enable-streaming
Per capire cosa stiamo facendo analizziamo un attimo i parametri che stiamo passando a configure per la creazione dei binari di MPlayer. Con --enable-gui (il è stato messo per poter eseguire il comando, scritto su due righe, come se fosse su un'unica riga) facciamo in modo di inserire il supporto alla GUI (interfaccia grafica), con --enable-fbdev abilitiamo il supporto al framebuffer (per visualizzare filmati direttamente su framebuffer dovete però avere il supporto abilitato nel kernel, il cui segno inconfondibile è il piccolo pinguino che appare sul bordo in alto a sinistra del monitor in fase di boot), con --language=it scegliamo la nostra lingua (l'italiano) e con --enable-streaming abilitiamo il supporto alla visualizzazione di filmati in stream (in questo modo possiamo passare direttamente un URL a mplayer e vedere il filmato senza aspettare di scaricarlo tutto).A questo punto diamo un make per compilare il programma e make install per installarlo:
lnxbox1:/usr/local/src/MPlayer-0.60# make && make install
Probabilmente ci metterà qualche minuto, ma il grosso del lavoro è stato fatto, manca solo l'installazione dei font, degli skin e la configurazione finale.
Font
Per poter visualizzare i sottotitoli dei DVD avete bisogno di installare i font appositi. Copiamo i font nella directory /usr/local/share/mplayer/font e decomprimiamoli:
lnxbox1:~# cp mp-arial-iso-8859-1.zip mp-arial-iso-8859-2.zip
/usr/local/share/mplayer/font
lnxbox1:~# cd /usr/local/share/mplayer/font
lnxbox1:/usr/local/share/mplayer/font# unzip mp-arial-iso-8859-1.zip
lnxbox1:/usr/local/share/mplayer/font# unzip mp-arial-iso-8859-2.zip
SKIN
MPlayer funziona da linea di comando ma vi abbiamo anticipato la presenza di una GUI. Abbiamo fatto già in modo che il supporto venga compilato, quella che manca pero è una skin (pelle), proprio come quelle di programmi come WinAmp. Potete sceglierne una all'indirizzo http://www.mplayerhq.hu/homepage/dload.html. Una volta scelta e scaricatala, dovrete copiare il file .tar.bz2 nella directory /usr/local/share/mplayer/Skin e decomprimerlo.
Ad esempio per installare la Skin chiamata "neutron" eseguiremo:
lnxbox1:~# cp neutron.tar.bz2 /usr/local/share/mplayer/Skin
lnxbox1:~# cd /usr/local/share/mplayer/Skin
lnxbox1:/usr/local/share/mplayer/Skin# tar xfvj neutron.tar.bz2
Ultima cosa da fare è specificare nel file di configurazione di MPlayer (ogni utente ne ha uno) ~/.mplayer/config la skin scelta. Basta aggiungere una riga del tipo:
skin = neutron
Come si lancia
MPlayer è un programma da riga di comando. Questo vuol dire che dovrete essere voi a passare i parametri necessari al suo corretto funzionamento. Il parametro più importante è quello che riguarda il driver video. La sintassi è:
lnxbox1:~# mplayer -vo driver filmato.avi
Al posto di driver dovrete mettere una delle seguenti scelte (potete avere un elenco completo dei driver supportati con il parametro -vo help):
- fbdev Per visualizzare il filmato direttamente da console tramite framebuffer se ne avete abilitato il supporto nel kernel;
- xv Per usare le XVideo extension presenti nelle moderne schede video e supportato a partire da XFree86 4.0;
- x11 Questo è il generico driver per X. Non supporta nessuna accelerazione delle moderne schede video, ed è quindi più lento del precedente. Consiglio di usare x11 solo se si hanno dei problemi con xv.
- mga Usate questo driver ottimizzato per le schede video Matrox (G200/G400) per visualizzare i filmati su framebuffer.
- xmga Questo è il driver per X ottimizzato per le schede video Matrox (G200/G400).
In pratica se disponete di una scheda video Matrox, usate i driver accelerati (per X o per framebuffer), mentre per una scheda video generica potete scegliere tra fbdev (per framebuffer) e xv (consigliato) e x11 (da usare solo se non riuscite a far andare xv).
Se non volete specificare direttamente da linea di comando quale driver usare potete modificare il file di configurazione ~/.mplayer/config in modo da inserire un driver di default. Per farlo aggiungetevi la riga:
vo = driver
E se volessimo utilizzare l'interfaccia grafica? Per quanto sia gradevole usare una GUI, soprattutto se personalizzabile come quella di MPlayer, devo però dire che limita (e non di poco) il raggio di azione di un programma. Alcune Skin però sono fatte molto bene e vale la pena di provarle. Per caricare la GUI avete tre possibilità:
- Lanciare gmplayer al posto di mplayer;
- usare l'opzione -gui di mplayer;
- inserire gui=yes nel file di configurazione ~/.mplayer/config .
Sinceramente come vi ho già detto, io preferisco la visualizzazione dei filmati in framebuffer (anche se devo dire questa modalità non supporta la possibilità di visualizzare il filmato a tutto schermo).
Tra le altre opzioni importanti vanno ricordate:-fs per la visualizzazione a tutto schermo;-framedrop Qualora doveste avere dei problemi su macchine lente a visualizzare in maniera fluida i filmati usate questa opzione.
COME FUNZIONA
Una volta lanciato noterete subito il timer che avanza e l'indicazione di play in alto a sinistra. Si tratta dell'OSD (On Screen Display), che viene usato per visualizzare l'avanzamento video, l'aumento di volume, lo stato della riproduzione e ogni altra informazione, quasi come se fosse un dispositivo quale un lettore DVD e un videoregistratore. Questa feature contribuisce ad aumentare la gradevolezza di quest'applicazione. Per avanzare all'interno del video potete usare i tasti cursore. Con "freccia in sù" e "freccia in giù" faremo andare rispettivamente avanti e indietro di un minuto la riproduzione, mentre con "freccia destra" e "freccia sinistra" si andrà avanti o indietro di una decina di secondi. Potete premere spazio per mettere in pausa e "o" per disabilitare/abilitare l'OSD, passando attraverso tre modalità: niente/sola barra di avanzamento/barra di avanzamento e tempo.
In alcuni casi vi potrà capitare di non avere una sintonizzazione tra video e audio. Potrete rimediare a questo problema correggendo manualmente l'errore con i tasti "+" e "-". Con "*" e "/" poi potrete aumentare o diminuire il livello del volume audio. Per uscire prima della fine della riproduzione premete "q".
DVD
Come vi abbiamo già detto MPlayer è anche un ottimo player di DVD. Nonostante il supporto sia ancora nella fase inizale, vi dà già la possibilità di visualizzare i sottotoli e di scegliere la lingua. Purtroppo il supporto non è completo e non si ha ancora la possibilità di "navigare" i DVD, come con ogle o con analoghi programmi per Windows. Per poter riprodurre un DVD MPlayer va lanciato con le seguenti opzioni:
mplayer -vo driver -dvd titolo -chapter capitolo -dvdangle angolatura
-alang lingua_audio -slang lingua_sottotitoli /dev/device
È bene precisare che l'unica opzione veramente essenziale per la riproduzione di DVD, a parte -vo driver, è -dvd titolo. Le altre servono solo per soddisfare al meglio le vostre esigenze. Per comprendere il significato di "titolo" bisogna tener presente la struttura di un DVD. Un DVD è diviso in sezioni, solitamente una introduttiva dove si sceglie cosa riprodurre, una dove si sceglie la lingua, una contentente il film vero, e magari altre contenti dietro le quinte e scene tagliate. Al posto di "titolo" dovrete quindi inserire il numero di "sezione" che si vuole vedere. Di default viene messo 1. Sostituite "capitolo" con il capitolo a partire dal quale vorrete riprodurre il DVD.
Anche qui il valore di default è 1. Al posto di "angolatura" dovete inserire il numero relativo all'angolatura desiderata. Come per i casi precedenti, anche qui si assume 1 come valore di default. Al posto di lingua_audio e lingua_sottotitoli dovrete inserire il codice relativo alla lingua scelta (it per italiano, en per inglese). È anche possibile specificare i sottotitoli inserendovi il codice relativo con l'opzione -sid numero (1,2,3,...). Per quel che riguarda /dev/device, questo indica il device a cui fa riferimento il lettore DVD (solitamente /dev/dvd, che è un link a /dev/hdX, sostituendo X alla lettera che indica il drive, a e c per primary e secondary master, b e d per primary e secondary slave)
Ad esempio se volessimo visualizzare (utilizzando come driver fbdev) il "titolo" 3 di un DVD (sapendo che il nostro lettore viene riconosciuto come /dev/dvd) senza nessun sottotitolo e scegliendo la lingua italiana useremo:
mplayer -vo fbdev -dvd 3 -alang it /dev/dvd
MPlayer è un eccellente programma, già molto maturo, nonostante la sua tenera età. Alcune cose sono ancora in fase di sviluppo (il supporto ai DVD non è ancora completo), ma è uno dei più validi progetti di software libero per la visualizzazione di filmati. Inoltre è completamente modulare (è possibile infatti fargli riconoscere anche altri codec). In questo articolo non siamo riusciti a parlarvi di tutto quello che può fare. Oltre a tutto quello che è stato detto, infatti, è in grado per esempio di essere controllato da remoto con dei dispositivi a infrarossi tramite LIRC (Linux Infrared Remote Control). E in più è multipiattaforma. Che dire di più!
A questo punto non mi rimane altro che augurarvi: Buona Visione!