MPlayer - Movie Player for LINUX

© 2000-2003 Arpad Gereoffy (A'rpi/ESP-team)
http://www.mplayerhq.hu

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


Tabella dei contenuti



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

MPlayer è un lettore di filmati per LINUX (funziona su molti altri Unix, e CPU non-x86, vedi la sezione port). Legge la maggior parte dei file MPEG, VOB, AVI, OGG, VIVO, ASF/WMA/WMV, QT/MOV/MP4, 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?

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.

MEncoder (l' encoder di filmati di MPlayer) è un semplice codificatore di filmati, progettato per codificare i filmati leggibili da MPlayer (AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET/PVA) in altri formati leggibili da MPlayer (vedi sotto). Può usare vari codec, come DivX4 (1 o 2 passaggi), libavcodec, audio PCM/MP3/VBR MP3. Ha anche un potente sistema di plugin per la manipolazione dei video.

Caratteristiche di MEncoder

Caratteristiche pianificate

MPlayer e MEncoder sono distribuiti nei termini della licenza GNU General Public License Versione 2.

1.1. 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.2. 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 :

Alcune schede:

Schede sonore

Caratteristiche

Quindi compila MPlayer:

    ./configure
    make
    make install

A questo punto, MPlayer è pronto ad essere usato. La directory $PREFIX/etc/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.Il metodo consigliato è di installare un file di caratteri TTF e dire ad MPlayer di usarlo. Vedi la sezione Sottotitoli e OSD per i dettagli.

1.3. E la GUI?

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

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.4. Sottotitoli e OSD

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

MPlayer fare un dump dei formati di sottotitoli elencati sopra (tranne i primi tre) nei seguenti formati di destinazione, con le opzioni date:

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(opzionale), sample.idx - devi passare a MPlayer l'opzione -vobsub sample -vobsubid <id> (l'intero path è opzionale). L'opzione -vobsubid è come l'opzione -sid per i DVD, in questo modo puoi scegliere la traccia del sottotitolo (le lingue). In caso che -vobsubid sia omesso, MPlayer tenterà di usare le lingue date con l'opzione -slang e sceglie l'oggetto langidx nel file .IDX per impostare la lingua del sottotitolo. Se non ci riesce, non ci saranno i sottotitoli.

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 (il path completo è opzionale).

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.

MPlayer cercherà di indovinare i file di sottotitolo che vuoi usare per un filmato. Se ,come nella maggior parte dei casi, i file del sottotitolo e del filmato hanno lo stesso nome e si trovano nello stesso posto, non è necessario impostare le opzioni dei sottotitoli. Basta far pertire il filmato, MPlayer gestirà i sottotitoli automaticamente.

Per i sottotitoli dei DVD, leggi la sezione DVD.

1.4.1 Il formato di sottotitoli proprio di MPlayer (MPsub)

MPlayer introduce un nuovo formato di sottotitoli chiamato MPsub. E' stato ideato da 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.

1.4.2 Installare OSD e sottotitoli

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:

Se hai scelto di non usare i caratteri TTF, decomprimi il file che hai scaricato in ~/.mplayer o $PREFIX/share/mplayer. Quindi rinomina o crea un symlink tra una delle directory estratte e font (ad esempio : 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 4 stati: (selezionabili con 'o')

(i sottotitoli sono sempre abilitati, per come disattivarli leggi la pagina man.

Puoi cambiare il comportamento di default settando la variabile osdlevel= nel file di configurazione, o con l'opzione -osdlevel sulla linea di comando.

1.4.3 Menu OSD

MPlayer ha una interfaccia di menu OSD completamente definibile dall'utente.

Installazione

  1. compila MPlayer passando il parametro --enable-menu a ./configure
  2. assicurati di avere un carattere OSD installato
  3. copia etc/menu.conf nella tua directory .mplayer
  4. copia etc/input.conf nella tua directory .mplayer o nella directory di configurazione di MPlayer del sistema (default: /usr/local/etc/mplayer)
  5. controlla e modifica input.conf per abilitare i tasti di movimento nel menu (è descritto nel file).
  6. fai partire MPlayer come nel seguente esempio:
    $ mplayer -menu file.avi
  7. premi qualunque tasto di menu che hai definito

1.5 RTC

Ci sono tre metodi di temporizzazione in MPlayer. Nota: MAI installare un binario MPlayer setuid su un sistema multiutente! E' un modo semplice per far ottenere a chiunque i privilegi di root.

2. Caratteristiche

2.1. Formati supportati

2.2. Codec supportati

2.3. Dispositivi di output Video e Audio

2.4. Input TV

Questa sezione spiega come abilitare la visualizzazione/cattura da un sintonizzatore TV compatibile con V4L.Vedi la pagina di man per le opzioni TV e i controlli via tastiera

2.4.1. Compilazione

2.4.2. Consigli di utilizzo

La lista completa delle opzioni è disponibile nella pagina di man. Qui ci sono solo alcuni consigli:

2.4.3. 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
Un esempio più complesso. In questo modo MEncoder cattura l'intera immagine PAL, taglia i margini, e fa il deinterlace dell'immagine usando un algoritmo di unione lineare. L'audio è compresso con un bitrate costante di 64kbps, usando il codec di LAME. Queste impostazioni sono adatte per catturare film.
    mencoder -tv on:driver=v4l:width=768:height=576 \
    -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \
    -oac mp3lame -lameopts cbr:br=64 \
    -vf crop=720:544:24:16,pp=lb -o output.avi


Questo in aggiunta ridimensiona l'immagine a 384x288 e comprime il video con un bitrate di 350kbps in modalità ad alta qualità. Nell'opzione vqmax manca il quantificatore e permette al compressore video di raggiungere veramente un così basso bitrate anche a spese della qualità. Questo può essere usato per catturare lunghe serie TV, dove la qualità video non è così importante.
    mencoder -tv on:driver=v4l:width=768:height=576 \
    -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \
    -oac mp3lame -lameopts cbr:br=48 \
    -vf crop=720:540:24:18,pp=tn/lb,scale=384:288 -sws 1 -o output.avi

E' anche possibile specificare dimensioni d'immagine più piccole nell'opzione -tv e non usare il ridimensionamento software ma questo approccio usa la massima informazione disponibile ed è più resistente ai disturbi. I chip bt8x8 possono fare la media dei pixel solo nella direzione orizzontale a causa di limitazioni hardware.

2.5 Edit Decision Lists (EDL)

Il sistema EDL permette di saltare o azzerare il volume automaticamente in sezioni del video durante la riproduzione, basandosi su un file di configurazione EDL specifico per il filmato.

Questo è utile per chi vuole vedere un film in modalità "bollino verde". Si può tagliare qualsiasi scena di violenza, empietà, Jar-Jar Binks .. da un film secondo le preferenze personali. A parte questo, ci sono altri usi, come saltare automaticamente le pubblicità.

Il formato file EDL è molto semplice. Quando il sistema EDL avrà raggiunto un certo livello di maturità, verrà probabilmente implementato un formato file basato su XML (mantenendo la compatibilità all'indietro coi precedenti formati EDL).

Il numero massimo di unità EDL nell'attuale incarnazione è 1000. Se per caso ne servono di più, si può cambiare #define MAX_EDL_ENTRIES nel file edl.h.

2.5.1 Usare un file EDL

Usa l'opzione -edl <nomefile> quando esegui MPlayer, col nome del file EDL che vuoi applicare al video.

2.5.2 Fare un file EDL

L' attuale formato per i file EDL è:

[secondo di inizio] [secondo di fine] [azione]

Dove i secondi sono numeri a virgola mobile e l'azione è 0 per saltare o 1 per azzerare il volume. Esempio:

5.3   7.1    0
15    16.7   1
420   422    0

Questo salterà dal secondo 5.3 al secondo 7.1 del video, azzererà il volume tra 15 e 16.7 e saltare dal secondo 420 al 422. Queste azioni verranno intraprese quando il timer dela riproduzione raggiunge i tempi dati nel file.

Per creare un file EDL col quale lavorare, usa l'opzione -edlout <filename>. Durante la riproduzione, quandio vuoi segnare i precedenti due secondi da saltare, batti i. Un'entrata corrispondente verrà scritta nel file per quel tempo. Poi si può tornare indietro e regolare più finemente il file EDL generato.

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)
RTSPmplayer [opzioni] rtsp://server.example.com/nomeStream

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). Guarda la pagina di man per la lista completa dei comandi da tastiera

3.2.1. 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.1.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.1.2. Comandi

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

3.2.2. 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 è - oh, 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.3. 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, MMS o RTSP/RTP .

La riproduzione funziona aggiungendo semplicemente l'URL alla linea di comando. MPlayer può usare 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 Linux

La piattaforma di sviluppo principale è Linux su x86, anche se MPlayer funziona su molti altri port di Linux. Pacchetti binari sono disponibili da varie fonti. Comunque, nessuno di questi pacchetti è supportato. Segnalate i problemi agli autori del pacchetto, non a noi.

6.1.1 Pacchetti Debian

Per costruire il pacchetto, esegui il seguente comando nella directory dei sorgenti di MPlayer:

    fakeroot debian/rules binary

Da root ora puoi installare il pacchetto .deb come al solito:

    dpkg -i ../mplayer_<versione>.deb

Christian Marillat sta facendo dei pacchetti non ufficiali di MPlayer, MEncoder e di font, puoi prenderli dalla sua homepage.

6.1.2 Pacchetti RPM

Dominik Mierzejewski ha creato e mantiene i pacchetti RPM ufficiali su Red Hat. Ha impacchettato MPlayer, la GUI, i caratteri, le skin, parecchi driver e codec. Sono disponibili dalla sua homepage.

Gli RPM per Mandrake sono disponibili dalla P.L.F). SuSE include una versione "censurata" di MPlayer nella sua distribuzione. Se vuoi tutte le funzionalità devi compilare MPlayer dai sorgenti.

6.1.3 ARM

MPlayer funziona sui PDA con CPU ARM, quali Sharp Zaurus e Compaq Ipaq. il metodo più semplice consoste nel prendere i pacchetti da uno dei feed OpenZaurus. Se vuoi compilarlo da solo, guarda le directory mplayer e libavcodec nella directory buildroot della distribuzione OpenZaurus. Qui trovi sempre gli ultimi Makefile e patch per compilare la CVS di MPlayer con libavcodec.
Se ti serve una GUI, puoi utilizzare xmms-embedded.

6.2. *BSD

MPlayer funziona su FreeBSD, OpenBSD, NetBSD, BSD/OS e Darwin. Ci sono versioni ports/pkgsrc/fink/ecc di MPlayer disponibili che sono probabilmente più facili da usare dei nostri sorgenti crudi.

Per compilare MPlayer devi avere il make GNU (gmake, il make nativo di BSD non funzionerà) e una versione recente delle binutils.

Se MPlayer lamenta di non trovare /dev/cdrom o /dev/dvd fai un link simbolico: ln -s /dev/(tuo_cdrom) /dev/cdrom

Per usare le DLL Win32 con MPlayer dovrai ricompilare il kernel con "option USER_LDT" (a meno che tu non stia usando FreeBSD -CURRENT, dove questo è il default).

6.2.1 FreeBSD

Se la tua CPU ha l'SSE ricompila il kernel con "options CPU_ENABLE_SSE" per utilizzarlo (richiesto FreeBSD-STABLE, o una patch del kernel).

6.2.2 OpenBSD

A causa di limitazioni in differenti versioni di gas (rilocazione vs MMX), dovrai compilare in due passaggi: prima assicurati che l'as non nativo è il primo nel tuo $PATH e fai un gmake -k, poi fai in modo che venga usata la versione nativa e fai gmake.

6.3. Solaris

MPlayer dovrebbe funzionare su Solaris 2.6 o più recente.

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

A causa di bug in solaris 8, 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. Silicon Graphics / IRIX

Puoi provare ad installare il programma install GNU, e (se non lo inserisci nel tuo path globale) poi puntare alla sua locazione con:

  ./configure --install-path=PATH

O puoi usare l'install fornito di default con IRIX 6.5 nel qual caso dovrai modificare leggermente il Makefile. Cambia le seguenti due linee:

  $(INSTALL) -c -m 644 DOCS/mplayer.1 $(MANDIR)/man1/mplayer.1

  $(INSTALL) -c -m 644 etc/codecs.conf $(CONFDIR)/codecs.conf

in:

  $(INSTALL) -m 644 mplayer.1 $(MANDIR)/man1/

  $(INSTALL) -m 644 codecs.conf $(CONFDIR)/

Quindi fai (dalla directory dei sorgenti di MPlayer):

  cp DOCS/mplayer.1 . ; cp etc/codecs.conf .

e poi procedi normalmente con la compilazione e l'installazione.

6.5. 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.6. Cygwin

Il port a Cygwin è ancora immaturo. Attualmente non c'è il supporto per le DLL Win32 e l' OpenGL. L'SDL distorce il suono e l'immagine oppure va in crash su alcuni sistemi. Le patch sono sempre le benvenute. I risultati migliori si ottengono con il driver di output video DirectX nativo (-vo directx) e con il driver audio nativo di Windows (-ao win32). Dovresti anche guardare la mailing list mplayer-cygwin per avere aiuto e per le ultime informazioni.

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.

Per ottenere la riproduzione DirectX nativa (-vo directx), estrai i file header di DirectX 7 in /usr/include/ o /usr/local/include/ e ricompila. Se l'immagine è distorta, prova a levare l'accelerazione hardware con -vo directx:noaccel.

Istruzioni e file per far andare l'SDL sotto Cygwin si trovano sul sito libsdl.

Puoi vedere i VCD riproducendo i file .DAT o .MPG che Windows mostra sui VCD. Fai così (usa la lettera del tuo drive CD-ROM):

mplayer d:/mpegav/avseq01.dat

mplayer /cygdrive/d/MPEG27AVSEQ01.MPG

Anche i DVD funzionano, basta impostare il dispositivo DVD con la lettera del drive CD-ROM:

mplayer dvd://<title> -dvd-device '\\.\d:'

ci è stato riferito che le DLL di QuickTime sembrano funzionare. Compila con --enable-qtx-codecs e metti i codec nella posizione predefinita per le DLL, cioè C:\WINNT\system32 o C:\Windows\system a seconda della versione di windows in uso.

7. Codifica con MEncoder

Appendice A - Le mailing list

Esistono alcune mailing list pubbliche su MPlayer. La lingua delle liste sopra è l'INGLESE, a meno che non sia specificato altrimenti. Per favore non mandate messaggi in altre lingue o mail in HTML! Il limite per la grandezza dei singoli messaggi è 80k. Se hai qualcosa di più grande mettilo da qualche parte per il download. Clicca sui link per iscriverti. Sulle mailing list si applicano le stesse regole di usenet per scrivere e quotare. Per favore rispettatele, rendono la vita di quelli che leggono le vostre mail molto più facile. Se non le conosci per favore leggi HOWTO edit messages o (se hai fretta) Quoting HOWTO.

Appendice B - Come segnalare i bug

Appendice C - Bug conosciuti

Bug/problemi speciali relativi al sistema/cpu:

Vari problemi audio e di sincronizzazione A-V:

Ritardo generale dell'audio o suono saltellante (presente con tutti o molti file):

Ritardo/desincronizzazione audio relativa a uno o più file:

Nessun suono:
Nessuna immagine (solo una finestra grigia/verde):

Problemi di output video:

Prima nota: le opzioni -fs -vm e -zoom sono solo suggerimenti, non sono (ancora) supportate da tutti i driver. Quindi non è un bug se non funzionano. Solo pochi driver supportano il ridimensionamento/zoom, non aspettartelo per x11 o dga.

Tremolio OSD/sub:
- driver x11: spiacente, non può essere corretto ora
- driver xv: usa l'opzione -double

Immagine verde usando mga_vid (-vo mga / -vo xmga):
- mga_vid ha riconosciuto male la quantità di RAM della tua scheda, ricaricalo usando l'opzione mga_ram_size

Appendix D - Come diventare un famoso SkinMaker in 5 minuti!

Appendix E - Lamentele degli sviluppatori

Appendix F - Come inviare patch