Un articolo su questo meraviglioso programma multimediale per la visione di DVD, VCD, SVCD, DiVX, AVI ed altri formati video ed audio. La descrizione dettagliata
di dove reperirlo, come installarlo, come usarlo.
Linux Movie Player (installazione ed uso)
L'installazione di Linux Movie Player (d'ora in avanti MPlayer),
non e' ne' semplice
ne' veloce, ma se si seguono attentamente le istruzioni qui
descritte, credo che chiunque
riesca a farla. Cerchero', per tale motivo, di descrivere il tutto
in modo molto semplice.
Inoltre descrivero' l'installazione di Mplayer abilitando tutte le
opzioni durante la
compilazione, in modo da poter sfruttare al meglio anche l'encoder
(Mencoder),
e quindi avere la possibilita', oltre quella di vedere i DVD, VCD.
SVCD, DiVX,
e molteplici altri formati video e musicali (mp3 ecc..), anche di
convertire
i filmati video in molti formati, tra cui il DiVX. Si sara' quindi
in grado di rippare
(leggere e convertire) i propri DVD. Ricordo che questa pratica e'
per legge
possibile solo se si possiede il DVD originale, regolarmente
acquistato, per crearne una
copia di sicurezza (si declina la responsabilita' per qualsiasi
altro uso).
Prerequisiti:
Credo che sia essenziale una scheda
video accelerata, ed almeno un processore
800Mhz. Con un processore piu'
potente, si puo' tentare senza accelerazione grafica.
Installazione:
Prima di tutto, dovremo procurarci tutti i seguenti pacchetti dai
rispettivi url:
Le 2 librerie per poter leggere i DVD:
http://www.dtek.chalmers.se/groups/dvd/dist/libdvdcss-0.0.3ogle.tar.gz
e
http://www.dtek.chalmers.se/groups/dvd/dist/libdvdread-0.9.2.tar.gz
Il DiVX per Linux:
http://avifiles.sourceforge.net/download.html
divx4linux-20011025.tar.gz
Altro pacchetto di codec:
http://www.xvid.org/download.php xvid_snapshot_20020412.tar.gz
L'encoder audio Lame:
http://www.mp3dev.org/mp3/download/download.html lame-3.92.tar.gz
Il programma MPlayer:
http://mplayerhq.hu mplayer-0.90pre7.tar.bz2
e dallo stesso sito anche:
i pacchetti dei codec win32
w32codec-0.60.tar
il pacchetto dei fonts
font-arial-iso-8859-1.tar.bz2
ed un pacchetto delle skin (almeno uno, quello di default)
default.tar.bz2
e....basta..:-))
(Nota: si possono scaricare anche versioni piu' recenti di tutti i
pacchetti, tranne
quello di Mplayer, perche' di solito con le versioni cambiano
anche i comandi...)
Cominciamo l'installazione con i codec win32:
Come utente root, creiamo una cartella di nome win32 nella dir
/usr/lib/
Scompattiamo in una dir temporanea il pacchetto dei codec win32
con il comando:
tar xvf w32codec-0.60.tar
si creera' una cartella con all'interno tutti i codec.
Copiamo tutti questi codec nella dir /usr/lib/win32 .
Passiamo alle librerie dvd:
Dobbiamo installare categoricamente prima la libdvdcss e poi la
libdvdread !!!.
Installiamo la libreria libdvdcss.
Sempre in una dir provvisoria, scompattiamo il file delle
libdvdcss con il comando:
tar zxvf libdvdcss-0.0.3.ogle.tar.gz
Entriamo nella dir che si crea con la scompattazione del file, e
lanciamo il comando:
./configure --prefix=/usr
(l'opzione --prefix=/usr serve per installare nella dir
/usr (lib) anziche' quella di default /usr/local (lib).
Una volta terminato senza errori, dare il comando:
make libdvdcss
Se tutto e' andato per il verso giusto, dare infine il comando:
make install
Passiamo ora alla libreria libdvdread.
Sempre in una dir provvisoria, scompattiamo il file libdvdread con
il comando:
tar libdvdread-0.9.2.tar.gz
Entriamo nella dir che si crea con la scompattazione del file, e
lanciamo il comando:
./configure --prefix=/usr
Una volta terminato senza errori, dare il comando:
make
quindi:
make install
Passiamo all'installazione dell'encoder audio Lame.
In una dir provvisoria scompattiamo il file di Lame con il
comando:
tar zxvf lame-3.82.tar.gz
Entriamo nella dir che si crea con la scompattazione del file, e
lanciamo il comando:
./configure --prefix=/usr
Una volta terminato senza errori, dare il comando:
make
e poi:
make install
Installiamo ora i codec per Linux:
In una dir provvisoria scompattiamo il file Xvid con il comando:
tar zxvf xvid_snapshot_20020412.tar.gz
Entriamo nella dir /xvid_20020412/xvidcore/build/generic
Editiamo il file Makefile.linux :
alla riga 36 sostituiamo "pentiumpro", che e' l'opzione
di default, con : "athlon",
"pentium", "k6" o "i686", a seconda
del processore in uso. Salviamo il file, e
lanciamo il comando:
make -f Makefile.linux
Se la compilazione fallisce, controlliamo se e' installato nasm
(lo si trova nei cd della
distribuzione..).
Se invece va tutto a buon fine, copiamo il file (che troviamo
nella stessa dir):
libcore.a
nella dir /usr/lib
(Nota: nelle versioni piu' recenti, dovrebbe essere abilitato
l'autorivelamento del
processore, in quel caso non sara' necessario specificarlo come
sopra descritto .)
Installiamo ora il pacchetto DiVX (questo e' facile !:-)
Decomprimere il pacchetto divx4linux-20011025.tgz con il comando:
tar zxvf divx4linux-20011025.tgz
Entriamo nella dir creatasi e copiamo i 2 files
decore.h e encore2.h
nella dir /usr/include
Finito !.
Solo adesso possiamo installare MPlayer :-)
Scompattiamo il file con il comando:
tar jxvf MPlayer-0.90pre7.tar.bz2 (jxvf e' lopzione per
scompattare i files tar.bz2)
Ora per i possessori di schede video Matrox o Radeon e Rage 128,
c'e' un prologo:
si possono ottenere dei drivers ottimizzati per tali schede video
(i possessori di
schede NVidia possono solo installare i drivers distribuiti dalla
casa madre).
Tutti gli altri possono saltare direttamente alla sezione della
Compilazione di MPlayer.
Chi possiede una Matrox,entrera' nella dir
/MPlayer-0.90pre7/drivers, chi ha una Radeon
o una Rage 128 entrera' nella dir /MPlayer-0.90pre7/driver/radeon,
qui lancera' il comando:
make
seguito da
make install
chi ha le schede ATI, lanciera' in aggiunta anche il comando:
make nodes
(Nota: ho notato che si ha difficolta' ad installare tali moduli
in sistemi che non hanno mai avuto
una ricompilazione del kernel, per cui in caso di difficolta'
consiglio di fare una ricompilazione
del kernel anche se poi tale kernel non verra' effettivamente
installato).
Ora si dovra' creare la device speciale nella dir /dev lanciando
il comando:
mknod /dev/mga_vid c 178 0 (per chi possiede una Matrox)
mknod /dev/radeon_vid c 178 0 (per chi possiede una Radeon)
mknod /dev/rage128_vid c 178 0 (per chi possiede una Rage128)
A questo punto possiamo inserire il modulo creato con il comando:
insmod xxx_vid.o (sostituendo xxx rispettivamente con mga per le
Matrox, radeon per le Radeon
e rage128 per la Rage128)
Per caricarlo in automatico ad ogni avvio, aggiungeremo questa
riga nel file /etc/modules.conf :
alias char-major-178 xxx_vid (sostituendo sempre xxx con le
modalita' di cui sopra)
Compilazione ed installazione.
A questo punto possiamo passare finalmente alla compilazione di
MPlayer.
All'interno della dir MPlayer-0.90pre7 ottenuta scompattando il
file compresso, lanciamo il comando:
./configure --with-xvidcore=/usr/lib/libcore.a --enable-gui
--language=it --enable-fbdev
aggiungendo inoltre l'opzione
--disable-gcc-checking
per chi abbia i compilatori gcc 2.96 (di solito Red Hat e
Mandrake)
(nota: questa opzione richiede un ulteriore pressione del tasto
"Invio" dopo l'avvio del
comando ./configure, e dopo che un testo sara' stato
visualizzato).
Chi possiede una 3dfx (Voodo3/Banshee), aggiungera' anche le
opzioni:
--enable-3dfx --enable-tdfxfb
Solo a questo punto (./configure --help per leggere le infinite
altre opzioni...:-)
potremo dare finalmente "Invio" (piu' ancora Invio come
di cui sopra).
Se saremo premiati da una compilazione che va a buon fine, daremo
il comando:
make
seguito da
make install
Ora avremo gli eseguibili in /usr/local/bin
Ma prima di poter usare MPlayer (credevate di aver finito, eh?:-),
dovremo installare i fonts
ed almeno la skin di deafult.
Nella home dell'utente (e di tutti gli utenti che volessero usare
MPlayer),
creiamo una dir di nome .mplayer (notare il punto iniziale)
all'interno della quale altre due dir:
font e Skin (notare la S maiuscola)
Dentro la dir font copieremo l'intero contenuto di una delle dir
ottenute scompattando
il file font-arial-iso-8859-1.tar.bz2 (con il comando tar jzxvf
nomefile).
Dentro la dir Skin invece, scompatteremo direttamente il file
default.tar.bz2 con il comando:
tar jxvf default.tar.bz2
Ultima cosa: creare un link con nome dvd nella dir /dev che punti
alla device del proprio lettore DVD
(ad esempio a /dev/cdrom), entrando appunto nella dir /dev e
lanciando il comando:
ln -s cdrom dvd
oppure con il mouse, trascinando la device ad esempio sul Desktop,
scegliendo dal menu' contestuale
?Collega qui?, rinominandola in dvd , e rispostandola nella dir
/dev.
(meglio la riga di comando..:-)
Adesso abbiamo veramente terminato con l'installazione, ma "NON"
con il nostro lavoro !! :-))
Dobbiamo crearci degli script appositi per avviare MPlayer con
tutte le opzioni personalizzate:
Con un editor di testo, creiamo un nuovo file con all'interno le
seguenti righe:
#!/bin/bash
gmplayer -vo xv -ao oss
Salviamo con nome, ed lo rendiamo eseguibile (destro sul file,
Propieta'->Permessi e spuntiamo
Esecuzione con la KDE, oppure chmod + x nomefile da riga di
comando.)
Questo e' uno script generico che dovrebbe andare bene un po' per
tutti.
Chi possiede una Matrox pero', sostituira' -vo xv con -vo xmga ,
chi possiede una 3dfx sostituira' xv
con -vo xv con -vo 3dfx o con -vo tdfxfb, mentre per le ATI si
sostituira' -vo -xv con
-vo vesa:lvo:/dev/xxx_vid (per xxx vale il discorso di cui sopra).
Per avviare senza accelerazione grafica -vo x11.
A questo punto potremo finalmente avviare il nostro sospiratissimo
MPlayer, cliccando sullo script
eseguibile (o avviandolo da riga di comando, pratica sempre
consigliata per visualizzare eventuali errori).
Se siamo fortunati potremo vedere l'interfaccia grafica di MPlayer
+ un Controller.
Facendo destro sulla finestra di MPlayer, avremo un menu'
contestuale e potremo vederci un DVD
"semplicemente" andando alla voce DVD->Disco in
Riproduzione (cosi' per un VCD).
Lascio a voi "almeno" scoprire gli altri comandi ed
opzioni..:-))
Ora possiamo fare un accenno sulla conversione di un DVD in un
DiVX (ricordo che nella dir ottenuta
scompattando il file MPlayer ossia /MPlayer-0.90pre7/DOCS/italian
avremo a disposizione molti documenti
in italiano interessantissimi):
Ci sono molti modi di rippare un DVD, ad 1, 2 o 3 passate
(ottenendo qualita' diverse), usando vari
codec (DiVX, Xvid, libavcodec ...). Io vi mostro gli scripts che
uso io (3 passate con libavcodec= velocita'
di encoding unita ad una eccezzionale qualita'):
Script EstrAudio.
Il primo script, servira' per la prima passata (estrazione e
compressione audio in mp3)
Usando un editor, creeremo un file di testo eseguibile con
all'interno le seguenti righe:
#!/bin/bash
mencoder -dvd 1 -oac mp3lame -ovc frameno -lameopts
br=128:cbr:vol=6 -alang it -vop scale=640:480 -sws 2 -o frameno.avi
(Nota: vol=6 e' l'opzione per il volume : sostituire 6 con dei
valori che vanno da 1 a 10 per
diminuire o aumentare il volume, scale=640:480 e' l'opzione per il
rescaling, ossia il ridimensionamento
dell'immagine, che si fa per ottenere un miglior rapporto
qualita'/grandezza file. Ricordo che si ottiene una
buonissima qualita', anche utilizzando un solo cd da
650/700/800/878 MB. 878 MB si ottengono utilizzando
i cd da 100 minuti, che Linux e le ultime versioni dei programmi
di masterizzazione come XCDRoast, possono
masterizzare. Si usa il valore 640:480 per il filmati con formato
4:3, mentre per i formati 16:9 si usa il
valore 640:360. Il file derivante ossia frameno.avi, puo' avere un
percorso completo se lo si vuole creare
in una determinata dir. Esempio: -o /mnt/share/frameno.avi. In
questo caso, creare un link che punti a tale file,
nella stessa dir dello script )
Salviamo il file di testo con nome (es.: EstrAudio) in una dir
apposita (durante l'encoding si creranno
altri files), lo rendiamo eseguibile e lo lanciamo da riga di
comando con il DVD inserito nell'apposito lettore:
./EstrAudio
Una serie di indicazioni compariranno nella shell dei comandi, e
dopo circa 15/20 minuti, avremo il file
frameno.avi e, subito sopra il prompt dei comandi, l'indicazione
del valore di bitrate consigliato per rimanere
nelle dimensioni appropiate a seconda del cd che vorremo
utilizzare: memorizzare tali valori perche', come
vedremo, li dovremo inserire nello script seguente.
Script EstrVideo.
Usando un editor, creeremo un file di testo eseguibile con
all'interno le seguenti righe:
#!/bin/bash
mencoder -dvd 1 -oac copy -ovc lavc -lavcopts
vcodec=mpeg4:vbitrate=1010:vhq:vpass=1 -vop scale=640:480 -sws 2 -o
Video.avi &&
mencoder -dvd 1 -oac copy -ovc lavc -lavcopts
vcodec=mpeg4:vbitrate=1010:vhq:vpass=2 -vop scale=640:480 -sws 2 -o
Video.avi
(Nota: nell'opzione vbitrate=1010 dovremo inserire il valore di
bitrate consigliato come descritto sopra.
nell'opzione scale=640:480 sostituire il valore di rescaling
appropriato a seconda del formato video come di cui sopra.
Sostituire il nome Video.avi con ad esmpio il nome del film e la
possibilita' di inserire un intero percorso come
per il file audio di cui sopra.
Le due righe sono identiche ad eccezzione dell'opzione vpass=1-2
che sta ad indicare prima e seconda passata (in realta'
seconda e terza dopo quella per l'audio), e le due &&
finali nella prima riga che servono per lanciare la seconda
in successione.
Digitare man mplayer da terminale per leggere le infinite opzioni
disponibili sia per mplayer che per mencoder).
Salviamo il file di testo con nome (es.: EstrVideo) nella stessa
dir di EstrAudio, e lo rendiamo eseguibile.
Lo lanciamo con il comando:
./EstrVideo
Anche qui ci saranno una serie di indicazioni come sopra (durata
stimata dell'encoding, grandezza stimata del file
Video.avi ecc..), e dopo circa 2/3 ore (a seconda della durata del
film e della velocita' del
processore), avremo finalmente un file DiVX della grandezza
appropriata da poterlo masterizzare su di un unico cd.
Tale file (cd) potra' essere riprodotto con una qualita'
eccezzionale (considerando anche la differenza di grandezza
rispetto al DVD), su qualsiasi Player DiVX di qualsiasi
piattaforma.
Ad esempio con MPlayer, facciamo click destro sulla finestra,
Apri->Riproduci il file dal menu' contestuale, ed entrati
nella dir del nostro DVD/cdrom (ad esempio /mnt/cdrom),
selezioniamo il file da riprodurre.
Possiamo anche creare uno script apposito per i DiVX, modificando
quello per l'avvio di MPlayer,
in questa maniera:
#!/bin/bash
gmplayer -vo xv -ao oss /mnt/cdrom/*.avi
Otterremo cosi' un eseguibile, che ci avviera' MPlayer ed
automaticamente (a cd montato) il file video,
(o piu' files video sequenziali..).
(Nota: una volta terminata l'estrazione video, eliminare il file
frameno.avi prima di iniziarne una nuova. Potrebbe
interferire negativamente).
Conclusioni.
Come abbiamo potuto vedere, Movie Player per Linux, e' un
programma dalle mille risorse, e con una
grande possibilita' di sviluppo futuro. Un programma che mancava
al nostro amato Sistema Operativo.
Un grazie di cuore dunque, da parte di tutti noi, agli autori di
questo magnifico programma.
Corrado Bove
21/09/2002