MPlayer - Movie Player for LINUX (C) 2000-2002 Arpad Gereoffy (A'rpi/ESP-team)

http://www.mplayerhq.hu

[ English ] [ Hungarian ] [ German ] [ French ] [ Polish ] [ Italian ]


Tabella dei contenuti



Lamentele degli sviluppatori


0. Come leggere questa documentazione

Se installi per la prima volta: assicurati di leggere tutto da qui alla fine della sezione sull'installazione, e segui i link che troverai. se hai altre domande, Ritorna alla Tabella dei contenuti e cerca l'argomento, leggi le FAQ, o prova ad usare "grep" sui file.

La regola principale di questa documentazione: se non è documentato, non esiste. Se non dico che puoi codificare l'audio dal sintonizzatore TV, non puoi. Però una certa abilità nel combinare questo con altri software è la benvenuta. Buona fortuna. Ne avrai bisogno :)

1. Introduzione

1.1. Generale

MPlayer è un lettore di filmati per LINUX (funziona su molti altri Unix, e CPU non-x86, vedi la sezione 6). Legge la maggior parte dei file MPEG, VOB, AVI, OGG, VIVO, ASF/WMV, QT/MOV, FLI, RM, NuppelVideo, yuv4mpeg, FILM, RoQ, con l'aiuto di molti codec nativi, di XAnim, di RealPlayer e di Win32. Si possono guardare VideoCD, SVCD, DVD, 3ivx, RealMedia, e film in DivX (e non necessita assolutamente la libreria di avifile !). L'altra importante caratteristica di mplayer è l'ampia scelta di driver supportati per l'output. Funziona con X11, Xv, DGA, OpenGL, SVGAlib, fbdev, AAlib, DirectFB, ma puoi usare GGI e SDL (e così tutti i loro driver) e anche alcuni driver di basso livello specifici di alcune schede (Matrox, 3Dfx e Radeon, Mach64, Permedia3)! La maggior parte di queste supporta il ridimensionamento software o hardware, così puoi goderti i film a pieno schermo. MPlayer supporta la visualizzazione con alcune schede di decodifica MPEG , come la DVB e la DXR3/Hollywood+ ! E che dire dei magnifici sottotitoli ombreggiati dotati di antialiasing (10 tipi supportati!!!) con i caratteri europeo/ISO 8859-1,2 (ungherese, inglese, ceco, ecc), cirillico, coreano, e OSD?

MPlayer è distribuito sotto licenza GPL v2.

Il lettore è stabile con file MPEG danneggiati (utile per alcuni VCD), e legge file AVI corrotti che sono illeggibili col famoso windows media player. Perfino file AVI senza la sezione dell'indice sono leggibili, e e si può ricostruire il loro indice con l'opzione -idx o permanentemente con MEncoder, abilitando così la ricerca! Come potete vedere, la stabilità e la qualità sono le cose più importanti, ma anche la velocità è impressionante.

1.2. Storia

E' cominciato tutto un anno fa... Io (A'rpi) avevo provato molti lettori per linux (mtv,xmps,dvdview,livid/oms,videolan, xine,xanim,avifile,xmmp) ma tutti avevano dei problemi. Soprattutto con file speciali o con la sincronizzazione audio/video. La maggior parte non era in grado di leggere sia file MPEG1, MPEG2 e AVI (DivX). Molti lettori hanno anche problemi di qualità dell'immagine e di velocità. Così decisi di scriverne/modificarne uno...

1.3. Installazione

In questo capitolo proverò a guidarvi nel processo di compilazione e di configurazione di MPlayer. Non è facile, ma non sarà necessariamente difficile. Se riscontrate un comportamento diverso da quello qui descritto, per favore cercate in questa documentazione e troverete le risposte. Se vedete dei link, seguiteli e leggete attentamente cosa contengono. Vi costerà del tempo, ma ne vale sicuramente la pena.

Dovete avere un sistema abbastanza recente. Con Linux, sono raccomandati i kernel 2.4.x.

REQUISITI SOFTWARE

CODEC

SCHEDE VIDEO

Ci sono generalmente due tipi di schede video. Un tipo (la schede più nuove) supporta il ridimensionamento hardware e l'accelerazione YUV, l'altro tipo no.

Schede YUV

Possono visualizzare e riscalare (zoom) l'immagine a qualunque dimensione che rientri nella loro memoria, con scarso utilizzo della CPU (zoommare non lo aumenta!), così si ottiene un filmato a pieno schermo di buona qualità e molto veloce.

Schede Non-YUV

La visualizzazione a pieno schermo può essere ottenuta sia zoomando tramite software(usa l'opzione -zoom, ma sei avvisato: è leeento), o usando una modalità video più piccola, per esempio 352x288. Se non avete l'accelerazione YUV, quest'ultimo metodo è quello consigliato. Con MPlayer, questo può essere ottenuto usando l'opzione -vm e con i seguenti driver :

SCHEDE SONORE

CARATTERISTICHE

Quindi compila MPlayer:

    ./configure
    make
    make install

A questo punto, MPlayer è pronto ad essere usato. La directory $PREFIX/share/mplayer contiene il file codecs.conf, che serve per dire al programma di quali codec dispone e le loro caratteristiche. Questo file dovrebbe essere sempre tenuto aggiornato di pari passo col binario principale !
Controlla se hai codecs.conf nella tua directory home (~/.mplayer/codecs.conf) lasciato da vecchie versioni di MPlayer, e rimuovilo!

Gli utenti Debian possono costruirsi un pacchetto .deb, è molto semplice. Basta eseguire fakeroot debian/rules binary nella directory principale di MPlayer. Istruzioni dettagliate possono essere trovate qui.

Controllare SEMPRE l'output di ./configure e il file configure.log, contengono informazioni su quello che sarà compilato, e quello che non lo sarà. Potresti anche guardare i file config.h e config.mak.
Se hai delle librerie installate, ma non trovate da ./configure, allora controlla se hai anche i rispettivi file header (di solito i pacchetti -dev) e che le versioni coincidano. Il configure.log solitamente ti dice cosa manca.

Sebbene non obbligatorio, i font dovrebbero essere installati per ottenere le funzionalità di OSD, e sottotitoli. Scarica mp-arial-iso-8859-*.zip e/o aggiornamenti opzionali per la tua lingua (se esistono). E' CALDAMENTE CONSIGLIATO leggere la sezione 1.5 per dettagli.

    mkdir ~/.mplayer/font
    cd ~/.mplayer/font
    unzip mp-arial-iso-8859-1.zip
    ln -s ~/.mplayer/font/arial-24 font

1.4. E la GUI?

La GUI necessita GTK (non è GTK, ma lo sono i pannelli). Le skin sono in formato PNG, quindi devono essere installati gtk, libpng (e i rispettivi pacchetti di sviluppo). Puoi compilarla specificando --enable-gui al momento del ./configure . Quindi, per usare la modalità GUI, si può sia

SUGGERIMENTO: usa il bottone centrale (con mouse a 2 tasti premi sinistro e destro contemporaneamente) per visualizzare un menu GTK, con opzioni per la lettura di DVD!

Dato che MPlayer non ha una skin inclusa, devi scaricarle se vuoi usare la GUI. Vedi la pagina dei download. Dovranno essere estratti nella solita directory valida per tutto il sistema ($PREFIX/share/mplayer/Skin), o in $HOME/.mplayer/Skin . MPlayer cerca in queste una directory di nome default, ma puoi usare l'opzione -skin nuovaskin, o la direttiva skin=nuovaskin del file di configurazione per usare la skin nella directory */Skin/nuovaskin.

1.5. Sottotitoli e OSD

MPlayer può mostrare i sottotitoli dei film. Attualmente sono supportati i seguenti formati:

Le opzioni della riga di comando differiscono leggermente per i diversi formati:

Sottotitoli VobSub
I sottotitoli VobSub consistono di un grande (alcuni megabyte) file .SUB, e opzionali file .IDX e/o .IFO.
Utilizzo : se hai file come sample.sub, sample.ifo, sample.idx - devi passare l'opzione -vobsub sample -vobsubid <id> (volendo anche con l'intero path, naturalmente). L'opzione -vobsubid è come l'opzione -sid per i DVD, puoi scegliere la traccia del sottotitolo (le lingue) in questo modo.

Altri sottotitoli
Gli altri formati consistono di un singolo file di testo che contiene informazioni sulla temporizzazione, posizionamento e sul testo.
Utilizzo : se hai ad esempio un file sample.txt, devi passare l'opzione -sub sample.txt (opzionalmente col path completo, naturalmente).

Regolare la temporizzazione e il posizionamento dei sottotitoli
-subdelay <sec> : Ritarda i sottotitoli di <sec> secondi. Può essere negativo.
-subfps <rapporto> : Specifica il rapporto di frame/sec del file dei sottotitoli (numero razionale)
-subpos <0 - 100> : Specifica la posizione dei sottotitoli.

Se noti un ritardo crescente tra il filmato e i sottotitoli usando un file di sottotitoli MicroDVD, molto probabilmente la frequenza dei frame del filmato e quella dei sottotitoli sono diverse.
Per favore nota che il formato di sottotitoli MicroDVD usa numeri di frame assoluti per la temporizzazione, e quindi l'opzione -subfps non può essere usata con questo formato. Dato che MPlayer non ha modo di indovinare la frequenza dei frame del file dei sottotitoli, devi convertire manualmente la frequenza dei frame. C'è un piccolo script perl nella directory contrib del sito ftp di MPlayer che fa questa conversione per te.

Per i sottotitoli dei DVD, leggi la sezione DVD.

MPlayer introduce un nuovo formato di sottotitoli chiamato MPsub. E' stato ideato da me (Gabucino). La sua caratteristica principale è quella di essere dinamicamente basato sul tempo (ma ha anche una modalità basata sui frame). Esempio (da DOCS/tech/mpsub.sub) :

# primo numero : aspetta sempre questo tempo prima che scompaia il sottotitolo precedente
# secondo numero : mostra il sottotitolo attuale per questo numero di secondi

15 3
Tanto, tanto tempo fa...

0 3
in una galassia lontana...

0 3
Naboo era sotto attacco.

Come si può vedere, l'obbiettivo principale era semplificare la modifica/temporizzazione/unione/taglio dei sottotitoli. E, se - diciamo - hai un sottotitolo SSA ma è temporizzato/ritardato male per la tua versione del filmato, fai semplicemente un mplayer dummy.avi -sub source.ssa -dumpmpsub . Un file dump.mpsub sarà creato nella directory corrente, che conterrà il testo sorgente del sottotitolo, ma nel formato MPsub. Quindi puoi liberamente aggiungere/levare secondi al/dal sottotitolo.

I sottotitoli sono visualizzati con una tecnica chiamata 'OSD', On Screen Display. OSD si usa per visualizzare il tempo attuale, la barra del volume, la barra della ricerca ecc.

INSTALLARE OSD e SUB

Devi avere un pacchetto di font per MPlayer per essere in grado di usare la funzione di OSD/SUB. Ci sono molti modi per ottenerlo:

Dopo questo, decomprimi il file che hai scaricato in ~/.mplayer o $PREFIX/share/mplayer. Quindi rinomina o crea un symlink tra uno di questi e font (come : ln -s ~/.mplayer/arial-24 ~/.mplayer/font). Ora potrai vedere un timer nell'angolo in alto a sinistra del filmato (disattivabile col tasto 'o').

OSD ha 3 stati: (selezionabili con 'o')

Puoi cambiare il comportamento di default settando la variabile osdlevel= nel file di configurazione.

2. Caratteristiche

2.1. Formati supportati

2.2. Codec supportati

2.3. Dispositivi di output Video e Audio

2.4. MEncoder

2.5. Input TV

2.5.1. Generale

Questa sezione spiega come abilitare la visualizzazione/cattura da un sintonizzatore TV compatibile con V4L.

QUESTO CODICE NON E' ANCORA COMPLETO! Non aspettarti che funzioni senza regolazioni/esperimenti!

2.5.2. Compilazione

Suggerimento : i colori sono scombinati? Allora il tuo sintonizzatore non può usare lo spazio dei colori YV12. Prova I420 (devi usare anche l'opzione -vc rawi420!), o YUY2, UYVY, RGB32 (quest'ultimo con -vo sdl). Si possono specificare questi con l'opzione outfmt=YV12 vedi sotto.

2.5.3. Opzioni disponibili
   on    usa l'input TV
   noaudio    niente suono, grazie
   driver dummy - input TV NULL :) Usato solo per test, genera un input di tipo dummy.
v4l - cattura immagini dall'interfaccia V4L standard (default /dev/video0)
   device    specifica altri dispositivi al posto del default /dev/video0
   input    dice da quale input del sintonizzatore TV si vogliono prelevare le immagini (es. television, s-video, composite, ...)
Stampa quelli disponibili durante l'inizializzazione.
   freq    specifica la frequenza alla quale settare il sintonizzatore (es. 511.250)
   outfmt    in quale formato output vogliamo le immagini (rgb32, rgb24, yv12, uyvy, i420 (per i420 devi passare l'opzione -vc rawi420, a causa di un conflitto fourcc)
   width    la larghezza della finestra di output, in pixel
   height    l'altezza della finestra di output, in pixel
   norm    disponibili: PAL, SECAM, NTSC
   channel    imposta il sintonizzatore al canale dato
   chanlist    disponibili: us-bcast, us-cable, europe-west, europe-east, ecc

2.5.4. Controllo da tastiera

  h / k  seleziona il precedente/prossimo canale
n cambia norm
b cambia la lista dei canali

2.5.5. Esempi

Output dummy, a AAlib :)
    mplayer -tv on:driver=dummy:width=640:height=480 -vo aa

Input da standard V4L
    mplayer -tv on:driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv

Nota:
Se hai una scheda TV con un dispositivo audio esterno e ottieni solo uno schermo nero, sebbene l'input funzioni con xawtv o simili, prova ad usare l'opzione -noaudio. Seguendo l'esempio sopra risulterà:
    mplayer -tv on:noaudio:driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv

2.6. Filtri video

2.6.1. Generale

Sia MPlayer che MEncoder supportano un livello di filtro video universale, che comprende numerosi plugin - elencati e spiegati sotto. Questi plugin possono compiere varie azioni sull'immagine, come ridimensionare, tagliare i bordi neri (utile non solo per la codifica ma anche per la riproduzione, in quanto i bordi neri aumentano l'utilizzo del bus, e tagliarli può aumentare la velocità di riproduzione su schede lente), espandere l'immagine (per gli SVCD).

Con questo livello di filtro è possibile fare veloci conversioni del formato immagine tra i vari RGB e YUV quando necessario. Questo permette per esempio la riproduzione di dati RGB con output xv e xmga, tra gli altri. (vedi il filtro Scale)

Il livello usa anche il Direct Rendering tra i plugin, per massimizzare la velocità.

Nota che il codice di post-processing è ora anche una parte del livello. Sara spiegato sotto.

2.6.2. Utilizzo

  mplayer/mencoder -vop filtro1,filtro2,filtro3,...

Questo abilita i filtri (puoi usarne qualsiasi numero). I loro parametri sono opzionali e se omessi, alcuni usano i valori di default, ad esempio x e y sono impostati al centro dello schermo, e largh e alt vengono impostati ai valori di larghezza e altezza del filmato.

I filtri sono accodati a partire da libvo, quindi filtro1 sarà l'utimo filtro eseguito (dopo di che viene libvo, o usando MEncoder, la codifica).

Puoi ottenere la lista dei filtri video disponibili con il comando
"mplayer -vop help".

2.6.3. Crop

Descrizione:

Taglia una data parte dell'immagine e scarta il resto. Utile per rimuovere le bande nere dei filmati widescreen.

Utilizzo:

  -vop crop[=largh:alt:x:y]

2.6.4. Expand

Descrizione:

Espande (NON ridimensiona) la risoluzione del filmato al valore dato, e posiziona l'originale non ridimensionato in x y. Per filmati che non contengono bande nere, questo può essere usato per aggiungerle. Utile per creare SVCD, o da usare con l'output video SDL che può piazzare i sottotitoli in queste bande.

Utilizzo:

  -vop expand[=largh:alt:x:y]

2.6.5. Fame/Lavc

Descrizione:

Codifica in MPEG1 in realtime (usando libfame o libavcodec) (da usare con DVB/DXR3).

Utilizzo:

  -vop fame

  -vop lavc

2.6.6. Flip

Descrizione:

Capovolge semplicemente l'immagine. Utile per alcuni vecchi codec che possono fornire solo un'immagine capovolta (questi sono riconosciuti automaticamente).

Utilizzo:

  -vop flip

2.6.7. Format

Descrizione:

Questo filtro NON è un convertitore di formato dell'immagine. Forza al filtro seguente (o libvo) quale formato di immagine usare. Utile per schede con un lento YV12, come tdfx e Savage4. Per una vera conversione, usa il filtro Ridimensiona.

Utilizzo:

  -vop format[=formato] (dove formato può essere per esempio: rgb32, yuy2, ecc...)

2.6.8. Postprocess

Descrizione:

Questo è il nostro buon vecchio postprocess, solo inserito nel livello di filtro. esegue miglioramenti della qualità dell'immagine, deinterlacciamento, ecc, vedi -npp help per le opzioni disponibili.

Utilizzo:

  -vop pp[=postprocess opzioni]

2.6.9. RGB2BGR

Descrizione:

Esegue la conversione degli spazi di colore RGB 24/32 <-> BGR 24/32 (comportamento di default) o la conversione RGB 24/32 <-> RGB 24/32 con lo scambio R<->B (con l'opzione 'swap')

Utilizzo:

  -vop rgb2bgr[=swap]

2.6.10. Rotate

Descrizione:

Ruota (ribalta) l'immagine. Il parametro 'x' (valori: 0-3) controlla il ribaltamento orizontale e verticale.

Utilizzo:

  -vop rotate[=x]

2.6.11. Scale

Descrizione:

Ridimensiona l'immagine via software (lento). Si può regolare la qualità del ridimensionamento con l'opzione -sws, vedi la pagina di man. Qualità migliore implica perdita di velocità.

NOTA: usare questo filtro senza opzioni significa conversione dello spazio dei colori! Questo è utile per codec che non possono usare il formato che si vorrebbe con il dispositivo di output video specificato. Questi sono spesso riconosciuti automaticamente e il filtro è chiamato per la conversione. In altri casi, lo si può usare manualmente.

Utilizzo:

  -vop scale[=largh:alt]

2.6.12. YUY2

Descrizione:

Conversione software forzata da YV12/I420 a YUY2.

Utilizzo:

  -vop yuy2

2.6.13. Mirror

Descrizione:

Ribalta l'immagine sull'asse Y.

Utilizzo:

  -vop mirror

2.6.14. DVBscale

Descrizione:

Calcola il ridimensionamento Y per una scheda DVB.

Utilizzo:

  -vop dvbscale

2.6.15. Cropdetect

Descrizione:

Calcola i necessari parametri di taglio. Stamperà in stdout l'opzione -vop raccomanda.

Utilizzo:

  -vop cropdetect

3. Utilizzo

3.1. Linea di comando

MPlayer utilizza un complesso albero di opzioni. Questo è costituito da opzioni globali scritte prima (per esempio mplayer -vfm 5), e opzioni scritte dopo i nomi dei file, che si applicano solo al dato file/URL/qualsiasicosa (per esempio mplayer -vfm 5 movie1.avi movie2.avi -vfm 4).
Si possono raggruppare nomifile/URL usando { e }. E' utile con l'opzione -loop: mplayer { 1.avi -loop 2 2.avi } -loop 3 leggerà i file in questo ordine: 1 1 2 1 1 2 1 1 2

  file  mplayer [opzioni] [percorso/]nomefile
filemplayer [opzioni di default] [percorso/]nomefile1 [opzioni per nomefile1] nomefile2 [opzioni per nomefile2] ...
VCDmplayer [opzioni] -vcd numtraccia [-cdrom-device /dev/cdrom]
DVDmplayer [opzioni] -dvd numtitolo [-dvd-device /dev/dvd]
retemplayer [opzioni] http://sito.com/file.[mpg|avi] (si possono usare anche playlist)

Le ultime versioni di MPlayer accettano anche tracce VCD e DVD in stile URL, proprio come fa Xine: mplayer dvd://1 o mplayer vcd://1

  mplayer -vo x11 /mnt/Films/Contact/contact2.mpg
  mplayer -vcd 2
  mplayer -afm 3 /mnt/DVDtrailers/alien4.vob
  mplayer -dvd 1 -dvd-device /dev/hdc
  mplayer -abs 65536 -delay -0.4 -nobps ~/movies/test.avi

3.2. Controllo

MPlayer ha un livello di controllo totalmente configurabile che permette di controllare MPlayer usando la tastiera, il mouse, il joystick o un telecomando (usando LIRC).

3.2.1. Controlli standard

3.2. Tastiera

  <- o ->  cerca indietro/avanti 10 secondi
su o giuva indietro/avanti 1 minuto
pgsu/pggiuva indietro/avanti 10 minuti
< o >va indietro/avanti nella playlist
p o SPAZIOpausa il filmato (premi un tasto)
q o ESCferma la riproduzione e chiude il programma
+ o -regola il ritardo audio di +/- 0.1 secondi
/ o *diminuisce/aumenta il volume
ocambia l'OSD: nessuno / ricerca / ricerca+timer
z o xregola il ritardo dei sottotitoli di +/- 0.1 secondi
r o tregola la posizione dei sottotitoli
HOME o ENDvai alla prossima/precedente voce lista superiore dei file
INSERT o DELETEvai alla prossima/precedente sorgente alternativa (disponibile solo nella playlist asx)

(i seguenti tasti sono disponibili solo con l'opzione -vo xv)

1 o 2regola il contrasto
3 o 4regola la luminosità
5 o 6regola l'hue
7 o 8regola la saturazione

GUI

  , e .  precedente / prossimo file
- o +diminuisce / aumenta il volume
invioinizia riproduzione
spaziopausa
sstop
aabout
lcarica file
bskin browser
emostra l'equalizzatore
pmostra la playlist
fmodalità a pieno schermo
mmuto

TV

  h o l  seleziona precedente/prossimo canale
ncambia norm
bcambia lista canali

3.2.2. Configurazione dei controlli

MPlayer ti permette di collegare qualsiasi tasto/bottone a qualsiasi comando di MPlayer usando un semplice file di configurazione. La sintassi consiste in un nome tasto seguito da un comando. La posizione di default del file di configurazione è $HOME/.mplayer/input.conf ma può essere cambiata con l'opzione -input conf (path relativi sono relativi a $HOME/.mplayer).

Esempio:

##
## MPlayer input control file
##

RIGHT seek +10
LEFT seek -10
- audio_delay 0.100
+ audio_delay -0.100
q quit
> pt_step 1
< pt_step -1
ENTER pt_step 1 1

3.2.2.1. Nomi tasti

Puoi ottenere la lista completa eseguendo "mplayer -input keylist"

Tastiera

Mouse

Nota : il mouse è supportato solo sotto X

Joystick

Nota : il supporto al joystick deve essere abilitato quando si compila

3.2.2.2. Comandi

Puoi ottenere la lista completa eseguendo "mplayer -input cmdlist"

3.2.3. Controllo da LIRC

Linux Infrared Remote Control (Controllo remoto a infrarossi per Linux ndt) - usa un ricevitore IR fatto in casa, un (pressoche) arbitrario telecomando e controlla la tua linux box! Per saperne di più visita www.lirc.org.

Se hai installato il pacchetto lirc, configure lo troverà automaticamente. Se tutto è andato bene, MPlayer stamperà un messaggio come "Setting up lirc support..." quando viene avviato. Se avviene un errore te lo dirà. Se non ti dice nulla su LIRC non è stato compilato il supporto. Questo è quanto :-)

Il nome dell'applicazione per MPlayer è - indovina - 'mplayer'. Si possono usare tutti i comandi di mplayer e anche passarne più di uno separandoli con \n. Non dimenticare di abilitare la ripetizione per i pulsanti in .lircrc quando ha un senso (ricerca, volume, ecc). Ecco un estratto dal mio .lircrc:

begin
     button = VOLUME_PLUS
     prog = mplayer
     config = volume 1
     repeat = 1
end

begin
    button = VOLUME_MINUS
    prog = mplayer
    config = volume -1
    repeat = 1
end

begin
    button = CD_PLAY
    prog = mplayer
    config = pause
end

begin
    button = CD_STOP
    prog = mplayer
    config = seek 0 1\npause
end

Se non ti piace la posizione standard del file di configurazione di lirc (~/.lircrc) usa l'opzione -lircconf <nomefile> per specificare un altro file.

3.2.4. Modalità slave

La modalità slave ti permette di costruire un semplice frontend per MPlayer. Quando abilitato (con l'opzione -slave) MPlayer leggerà i comandi separati da una nuova linea (\n) dallo stdin.

3.3. Streaming dalla rete o da pipe

MPlayer può riprodurre file dalla rete, usando il protocollo HTTP.

La riproduzione funziona aggiungendo semplicemente l'URL alla linea di comando. MPlayer onora anche la variabile d'ambiente http_proxy, e usa il proxy se disponibile. L'utilizzo del proxy può anche essere forzato :

mplayer http_proxy://proxy.micorsops.com:3128/http://micorsops.com:80/stream.asf

MPlayer può leggere dallo standard input (NON da named pipe). Questo può essere per esempio usato per riprodurre da FTP:

wget ftp://micorsops.com/qualcosa.avi -O - | mplayer -

Nota: si consiglia anche di abilitare la CACHE quando si legge da rete:

wget ftp://micorsops.com/qualcosa.avi -O - | mplayer -cache 8192 -

4. Sezione FAQ (Domande frequenti ndt)

5. Sezione CD/DVD

6. Vari Sistemi Operativi

6.1. Pacchettizazione per Debian

Per costruire il pacchetto, prendi la versione cvs, o .tgz, decomprimila, e spostati nella directory del programma:

    cd main
    fakeroot debian/rules binary

(... mplayer rileva automaticamente hardware/software, si compila e.. ) dpkg-deb: building package `mplayer' in `../mplayer_0.18-1_i386.deb'.

E ora basta diventare root, e:

    dpkg -i ../mplayer_0.18-1_i386.deb

Ecco come dovrebbe essere:

	eyck@incubus:/src/main$ sudo dpkg -i ../mplayer_0.18-1_i386.deb
	Password:
	(Reading database ... 26946 files and directories currently installed.)
	Preparing to replace mplayer 0.17a-1 (using ../mplayer_0.18-1_i386.deb)
	Unpacking replacement mplayer ...
	Setting up mplayer (0.18-1) ...

6.2. FreeBSD

Per compilare il pacchetto devi avere GNU make (gmake, /usr/ports/devel/gmake), il make nativo di BSD non funzionerà.

Per eseguire MPlayer bisogna ricompilare il kernel con "options USER_LDT" (a meno che tu non abbia la versione -CURRENT, dove questo è di default). Se possiedi CPU con SSE usa anche "options CPU_ENABLE_SSE" per utilizzarlo (richiesto FreeBSD-STABLE, o usa le patch del kernel).

Se MPlayer si lamenta circa "CD-ROM Device '/dev/cdrom' not found!" fai un link simbolico: ln -s /dev/(your_cdrom_device) /dev/cdrom

Non c'è ancora il supporto al DVD per FreeBSD.

6.3. Solaris

MPlayer dovrebbe funzionare su Solaris 2.6 o più recente.

La riproduzione di file AVI funziona meglio su Solaris x86, perchè si possono usare i codec win32 sulla piattaforma x86, o si possono usare le istruzioni MMX/MMX2/3DNow/ecc per MP3/DivX/DVD/qualunquecosa. Su SPARC Solaris, troverai che con alcuni file AVI non funziona la riproduzione video e/o audio, perchè i codec video/audio che usano le DLL Win32 non sono disponibili. Comunque, i filmati DivX/OpenDivX dovrebbero funzionare, se si usa libavcodec.

Su UltraSPARC, MPlayer si avvantaggia delle loro estensioni VIS (equivalenti a MMX), attualmente solo con libmpeg2, libvo e libavcodec, ma non con mp3lib. Puoi vedere un file VOB su una CPU a 400Mhz. Necessita mLib installato.

Per compilare il pacchetto devi avere GNU make (gmake, /opt/sfw/gmake), il make nativo di Solaris non funzionerà. Errore tipico che si ottiene compilando col make di solaris al posto del GNU make:

   % /usr/ccs/bin/make
   make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen

Su Solaris SPARC, devi avere il compilatore GNU C/C++; non ha importanza se il compilatore GNU C/C++ è configurato con o senza l'assembler GNU.

Su Solaris x86, devi avere l'assembler GNU e il compilatore GNU C/C++, configurato per usare l'assembler GNU! Il codice dell'mplayer sulla piattaforma x86 fa un uso pesante di MMX, SSE e 3DNOW! Istruzioni che non possono essere compilate usando l'assembler della Sun /usr/ccs/bin/as.

Lo script di configurazione tenta di scoprire quale programma assembler è usato dal tuo comando "gcc" (in caso che la rilevazione automatica fallisse, usa l'opzione "--as=/dove/hai/installato/gnu-as" per dire allo script di configurazione dove può trovare "as" GNU sul tuo sistema).

Messaggio d'errore dalla configurazione su un sistema Solaris x86 usando GCC senza assembler GNU:

   % configure
   ...
   Checking assembler (/usr/ccs/bin/as) ... , failed
   Please upgrade(downgrade) binutils to 2.10.1...

(Soluzione: Installa e usa un gcc configurato con "--with-as=gas")

Errore tipico che si ottiene nel compilare con un compilatore GNU C che non usa as GNU:

   % gmake
   ...
   gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math
	-fomit-frame-pointer  -I/usr/local/include   -o mplayer.o mplayer.c
   Assembler: mplayer.c
   "(stdin)", line 3567 : Illegal mnemonic
   "(stdin)", line 3567 : Syntax error
   ... more "Illegal mnemonic" and "Syntax error" errors ...

Per il supporto DVD devi avere installato libcss con la patch. Patch: http://www.tools.de/solaris/mplayer/.

A causa di bug in solaris 8 x86, non è possibile riprodurre in modo affidabile DVD con una capacità >4GB:

Su Solaris con CPU UltraSPARC, si può ottenere maggiore velocità usando le istruzioni VIS della CPU per certe operazioni che impiegano molto tempo. L'accelerazione VIS può essere usata in MPlayer richiamando funzioni nella mediaLib di Sun.

Operazioni VIS accelerate da mediaLib sono usate per la decodifica video mpeg2 e per la conversione del color space nei driver di output video.

6.4. StrongARM

Ci è stato riportato che MPlayer compila su StrongARM. Usa la seguente linea di comando:

  ./configure --target=arm-linux --disable-css --with-x11libdir=/usr/arm/lib
	      --with-x11incdir=/usr/arm/lib --disable-gcc-checking

6.5. Silicon Graphics Indigo / IRIX

Ci è stato riportato che funziona. Probabilmente si deve usare il driver ao sgi. Qualcuno ha informazioni più precise?

6.6. QNX

Funziona. Bisogna scaricare SDL per QNX, e installarlo. Quindi esegui MPlayer con le opzioni -vo sdl:photon -ao sdl:nto, e dovrebbe essere veloce.

L'output -vo x11 è ancora più lento che in Linux, perchè QNX ha solo l'emulazione X che è MOLTO lenta. Usate l'SDL.

6.7. OpenBSD

Per compilare il pacchetto devi avere GNU make (gmake, /usr/ports/devel/gmake), il make nativo di BSD non funzionerà, e delle binutils recenti (incluso objcopy).

A causa di limitazioni nelle differenti versioni di gas (rilocazione vs mmx) , devi compilare in due passaggi: prima assicurati che l' as non nativo è il primo nel PATH e fai 'gmake -k', poi assicurati di usare la versione nativa e fai 'gmake'.

Per usare le DLL di Win32 con MPlayer devi ricompilare il kernel con "option USER_LDT".

Se MPlayer si lamenta di non trovare '/dev/cdrom' o '/dev/dvd' fai un link simbolico, es ln -s /dev/rcd0c /dev/dvd

Quelli tra di voi che non si sentono così "hardcore hacker" possono usare la versione ports (/usr/ports/x11/mplayer).

6.8. Cygwin

Devi andare nella directory di MPlayer, e copiare o creare un link simbolico etc/cygwin_inttypes.h a /usr/include/inttypes.h per far compilare MPlayer. Altrimenti si lamenterà del intypes.h mancante.

Appendice A - Autori

NOTA: *NON* inviate segnalazioni di bug, richieste di aiuto e di caratteristiche direttamente agli autori!

Leggete l'Appendice C e iscrivetevi alla mailing list mplayer-users.

Il progetto MPlayer:

Tester principali:

I codec, librerie:

Il loro codice non è nella versione attuale del lettore, ma ho avuto idee o aiuto tecnico da:

Appendice A/2 - Mainteiner del codice e della documentazione di MPlayer

Homepage

Documentazione inglese

Traduzioni della documentazione

Piattaforme/port

Codice MPlayer:

driver libvo:

driver VIDIX:

driver libao2:

UTILITA':

Appendice B - Le mailing list

Esistono alcune mailing list pubbliche su MPlayer. Ci si può iscrivere ai seguenti indirizzi: