mirror of https://github.com/mpv-player/mpv
1445 lines
68 KiB
HTML
1445 lines
68 KiB
HTML
<HTML>
|
|
<!-- Sync with english version 1.136 -->
|
|
|
|
<HEAD>
|
|
<TITLE>Video - MPlayer - Movie Player per Linux</TITLE>
|
|
<LINK REL="stylesheet" TYPE="text/css" HREF="../default.css">
|
|
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
|
|
</HEAD>
|
|
|
|
<BODY>
|
|
|
|
<H3><A NAME="video">2.3.1. Dispositivi di output video</A></H3>
|
|
|
|
<H4><A NAME="mtrr">2.3.1.1. Configurare l' MTRR</A></H4>
|
|
|
|
<P>E' DECISAMENTE consigliato controllare se i registri MTRR sono ben configurati,
|
|
perchè possono fornire un grande aumento di prestazioni.</P>
|
|
|
|
<P>Fai un '<CODE>cat /proc/mtrr</CODE>' :</P>
|
|
|
|
<P><CODE>
|
|
--($:~)-- cat /proc/mtrr<BR>
|
|
reg00: base=0xe4000000 (3648MB), size= 16MB: write-combining, count=9<BR>
|
|
reg01: base=0xd8000000 (3456MB), size= 128MB: write-combining, count=1<BR>
|
|
</CODE></P>
|
|
|
|
<P>E' a posto, mostra la mia Matrox G400 con 16Mb di memoria. L'ho ottenuto con
|
|
XFree 4.x.x , che configura i registri MTRR automaticamente.</P>
|
|
|
|
<P>Se non ha funzionato, devi farlo manualmente. Prima, bisogna trovare l'indirizzo
|
|
di base.
|
|
Hai 3 modi per scoprirlo:</P>
|
|
|
|
<P><UL>
|
|
<LI>dai messaggi di avvio di X11, per esempio:
|
|
<P><CODE>(--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000<BR>
|
|
(--) SVGA: Linear framebuffer at 0xD8000000</CODE></P></LI>
|
|
<LI>da /proc/pci (usa il comando lspci -v):
|
|
<P>
|
|
<CODE>01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525</CODE>
|
|
<CODE>Memory at d8000000 (32-bit, prefetchable)</CODE>
|
|
</P>
|
|
<LI>dai messaggi del driver del kernel mga_vid (usa dmesg):
|
|
<P><CODE>mga_mem_base = d8000000</CODE></P>
|
|
</UL></P>
|
|
|
|
<P>Poi troviamo la dimensione della memoria. E molto semplice, basta convertire la quantità di ram video
|
|
in esadecimale, o usare questa tabella:</P>
|
|
|
|
<TABLE BORDER=0>
|
|
<TD> </TD><TD>1 MB</TD><TD WIDTH=10%></TD><TD>0x100000</TD><TR>
|
|
<TD></TD><TD>2 MB</TD><TD></TD><TD>0x200000</TD><TR>
|
|
<TD></TD><TD>4 MB</TD><TD></TD><TD>0x400000</TD><TR>
|
|
<TD></TD><TD>8 MB</TD><TD></TD><TD>0x800000</TD><TR>
|
|
<TD></TD><TD>16 MB</TD><TD></TD><TD>0x1000000</TD><TR>
|
|
<TD></TD><TD>32 MB</TD><TD></TD><TD>0x2000000</TD><TR>
|
|
</TABLE>
|
|
|
|
|
|
<P>Conosci l'indirizzo di base e la dimensione della memoria, configuriamo i registri mtrr!
|
|
Per esempio, per la scheda Matrox di cui sopra (base=0xd8000000) con 32MB di
|
|
ram (size=0x2000000) basta eseguire:</P>
|
|
|
|
|
|
<P><CODE> echo "base=0xd8000000 size=0x2000000 type=write-combining" >| /proc/mtrr</CODE></P>
|
|
|
|
|
|
<P>Non tutte le CPU supportano l'MTRR. Per esempio i più vecchi K6-2 [circa 266Mhz,
|
|
stepping 0] non supportano l'MTRR, ma gli stepping 12 si ('<CODE>cat /proc/cpuinfo</CODE>'
|
|
per controllare').</P>
|
|
|
|
<H4><A NAME="normal">2.3.1.2 Output video per normali schede video</A></H4>
|
|
|
|
<H4><A NAME="xv">2.3.1.2.1 Xv</A></H4>
|
|
|
|
<P>Sotto XFree86 4.0.2 o più recente, si possono usare le routine hardware della tua scheda
|
|
usando l'estensione XVideo. Questo è quello che usa l'opzione '-vo xv'. Inoltre,
|
|
questo driver è quello che supporta la regolazione di luminosità/contrasto/hue/etc (a meno che tu stia usando
|
|
il vecchio, lento codec DirectShow DivX, che lo supporta ovunque), vedi la pagina di
|
|
man.</P>
|
|
|
|
<P>Per farlo funzionare, assicurati delle seguenti cose:</P>
|
|
<P><UL>
|
|
<LI>Devi usare XFree86 4.0.2 o più recente (le versioni precedenti non hanno XVideo)
|
|
<LI>La tua scheda supporta l'accelerazione hardware (le schede moderne lo fanno)
|
|
<LI>X carica l'estensione XVideo, è qualcosa del genere:
|
|
|
|
<P><CODE> (II) Loading extension XVideo</CODE></P>
|
|
<P>in /var/log/XFree86.0.log</P>
|
|
|
|
<P>NOTA: questo carica solo l'estensione XFree86. In una buona installazione, questo è
|
|
sempre caricato, e non significa che il supporto XVideo _della scheda_ è caricato!</P>
|
|
|
|
<LI>La tua scheda ha il supporto Xv sotto Linux. Per vederlo, prova 'xvinfo', è
|
|
parte della distribuzione di XFree86. Dovrebbe mostrare un lungo testo, simile
|
|
a questo:
|
|
<PRE>
|
|
X-Video Extension version 2.2
|
|
screen #0
|
|
Adaptor #0: "Savage Streams Engine"
|
|
number of ports: 1
|
|
port base: 43
|
|
operations supported: PutImage
|
|
supported visuals:
|
|
depth 16, visualID 0x22
|
|
depth 16, visualID 0x23
|
|
number of attributes: 5
|
|
(...)
|
|
Number of image formats: 7
|
|
id: 0x32595559 (YUY2)
|
|
guid: 59555932-0000-0010-8000-00aa00389b71
|
|
bits per pixel: 16
|
|
number of planes: 1
|
|
type: YUV (packed)
|
|
id: 0x32315659 (YV12)
|
|
guid: 59563132-0000-0010-8000-00aa00389b71
|
|
bits per pixel: 12
|
|
number of planes: 3
|
|
type: YUV (planar)
|
|
(...ecc...)
|
|
</PRE>
|
|
|
|
<P>Deve supportare i formati pixel YUY2 packed, e YV12 planar per essere
|
|
utilizzabile con MPlayer.</P>
|
|
|
|
<LI>E infine, controlla se MPlayer è stato compilato col supporto 'xv'.
|
|
./configure ti dice questo.
|
|
|
|
</UL></P>
|
|
|
|
<H4><A NAME="xv_3dfx">2.3.1.2.1.1 Schede 3dfx</A></H4>
|
|
|
|
<P>I vecchi driver 3dfx avevano problemi con l'accelerazione XVideo,
|
|
non supportavano ne YUY2 ne YV12, e cose del genere. Verifica di possedere
|
|
XFree86 versione 4.2.0 o maggiore, funziona bene con YV12 e YUY2. Le versioni
|
|
precedenti, inclusa la 4.1.0 <B>vanno in crash con YV12</B>!
|
|
Se hai strani effetti con -vo xv, prova SDL (ha anche XVideo)
|
|
e guarda se aiuta. Controlla la <A HREF="#sdl">sezione SDL</A> per dettagli.</P>
|
|
|
|
<P><B>O</B>, prova il NUOVO driver -vo tdfxfb! Vedi la sezione <A HREF="#tdfxfb"">tdfxfb</A>!</P>
|
|
|
|
|
|
|
|
<H4><A NAME="xv_s3">2.3.1.2.1.2. Schede S3</A></H4>
|
|
|
|
<P>La S3 Savage3D dovrebbe funzionare bene, ma per la Savage4, usa XFree86 versione 4.0.3
|
|
o maggiore (in caso di problemi con l'immagine, prova 16bpp). Come per S3 Virge.. c'è il supporto
|
|
xv, ma la scheda stessa è molto lenta, quindi faresti meglio a rivenderla.</P>
|
|
|
|
<P><B>NOTA</B>: non è chiaro in quali modelli Savage manchi il supporto YV12,
|
|
ed è convertito dal driver (lento). Se hai dei sospetti sulla tua scheda, prendi un nuovo driver,
|
|
o chiedi gentilmente sulla mailing list mplayer-users mailing un driver col supporto
|
|
MMX/3DNow.</P>
|
|
|
|
<H4><A NAME="xv_nvidia">2.3.1.2.1.3. Schede nVidia</A></H4>
|
|
|
|
<P>nVidia non è una scelta molto buona sotto Linux (secondo NVidia, questo
|
|
<A HREF="users_against_developers.html#nvidia">non è vero</A>).. Sarai costretto ad usare
|
|
il driver binario closed-source di nVidia, disponibile sul sito di nVidia. Il driver XFree86 standard
|
|
non supporta XVideo per queste schede, a causa delle specificazioni e dei sorgenti chiusi di nVidia.</P>
|
|
|
|
|
|
<P>Per quanto ne so l'ultimo driver XFree86 contiene il supporto XVideo per
|
|
Geforce 2 e 3.</P>
|
|
|
|
<P><UL><LI>Le schede Riva128 non hanno il supporto XVideo neanche col driver di nvidia :(
|
|
Lamentati con NVidia.</UL></P>
|
|
|
|
|
|
<H4><A NAME="xv_ati">2.3.1.2.1.4. Schede ATI</A></H4>
|
|
|
|
<P>
|
|
<LI>Il <A HREF="http://gatos.sourceforge.net">driver GATOS</A> (che dovresti
|
|
usare, a meno che tu non abbia Rage128 o Radeon) ha VSYNC abilitato di default. Questo
|
|
significa che la velocità di decodifica (!) è sincronizzata con quella di refresh del monitor. Se
|
|
la riproduzione sembra essere lenta, prova a disabilitare il VSYNC in qualche modo, o regola la velocità di refresh
|
|
a n*(fps del filmato) Hz.</LI>
|
|
|
|
<LI>Radeon VE - attualmente solo il CVS di XFree86 ha un driver per questa scheda, la versione
|
|
4.1.0 no. E nessun supporto TV out. Naturalmente con MPlayer puoi felicemente
|
|
ottenere una visualizzazione <B>accelerata</B>, con o senza <B>output TV</B>, e
|
|
non servono librerie o X. Leggi le sezioni <A HREF="#vidix">VIDIX</A>.</LI>
|
|
</UL>
|
|
|
|
|
|
<H4><A NAME="xv_neomagic">2.3.1.2.1.5. Schede NeoMagic</A></H4>
|
|
|
|
<P>
|
|
Queste schede possono essere trovate su molti laptop. Sfortunatamente, il driver in
|
|
X 4.2.0 non può usare Xv, ma abbiamo un driver modificato, capace di Xv, per te.
|
|
<A HREF="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/neomagic_drv.o.4.2.0.bz2">Scaricalo da qui</A>.
|
|
Driver fornito da Stefan Seyfried.</P>
|
|
|
|
<P>Per permettere la riproduzione di DVD cambia il tuo XF86Config così:</P>
|
|
|
|
<P>
|
|
Section "Device"<BR>
|
|
<I>[...]</I><BR>
|
|
Driver "neomagic"<BR>
|
|
<B>Option "OverlayMem" "829440"</B><BR>
|
|
<I>[...]</I><BR>
|
|
EndSection
|
|
</P>
|
|
|
|
<H4><A NAME="xv_trident">2.3.1.2.1.6. Schede Trident</A></H4>
|
|
|
|
<P>Se vuoi usare xv con una scheda Trident, dato che non funziona
|
|
col 4.1.0, installa XFree 4.2.0 che
|
|
aggiunge il supporto per xv a pieno schermo con la scheda
|
|
Cyberblade XP.</P>
|
|
|
|
<H4><A NAME="xv_powervr">2.3.1.2.1.7 Kyro/PowerVR cards</A></H4>
|
|
|
|
<P>Se vuoi usare Xv con una scheda basata su Kyro (ad esempio la Hercules
|
|
Prophet 4000XT), devi scaricare i driver dal
|
|
<A HREf="http://www.powervr.com">sito PowerVR</A>.</P>
|
|
|
|
|
|
<H4><A NAME="dga_summary">2.3.1.2.2 DGA</A></H4>
|
|
|
|
<H4>INTRODUZIONE</H4>
|
|
|
|
<P>Questa sezione tenta di spiegare cosa sia il DGA in generale e
|
|
cosa può fare (e cosa non può) il driver di output video DGA di mplayer.</P>
|
|
|
|
|
|
<H4>COS'E IL DGA</H4>
|
|
|
|
<P>DGA è l'acronimo di Direct Graphics Access (Accesso Diretto alla Grafica, ndt) ed è un modo per un programma di
|
|
aggirare il server X e modificare direttamente la memoria del framebuffer.
|
|
Detto tecnicamente questo è possibile mappando la memoria del framebuffer nell'area
|
|
di memoria del tuo processo. Questo è permesso dal kernel solo se
|
|
hai i privilegi di superutente. Puoi ottenerli o loggandoti come
|
|
root o applicando il bit suid all'eseguibile mplayer (NON
|
|
consigliato!).</P>
|
|
|
|
<P>Esistono due versioni di DGA: DGA1 è usato da XFree 3.x.x e DGA2 è stato
|
|
introdotto con XFree 4.0.1.</P>
|
|
|
|
<P>DGA1 fornisce solo accesso diretto al framebuffer come descritto sopra. Per
|
|
cambiare la risoluzione del segnale video bisogna appoggiarsi all'estensione
|
|
XVidMode.</P>
|
|
|
|
<P>DGA2 incorpora le caratteristiche di XVidMode e permette anche
|
|
di cambiare la profondità del display. Cosi puoi, anche se è in esecuzione
|
|
un server X a 32 bit di profondità, cambiare ad una profondità di 15 bit e vice
|
|
versa. </P>
|
|
|
|
<P>Però il DGA ha alcune pecche. Sembra che siano in qualche modo dipendenti dal
|
|
chip grafico che si usa e dall'implementazione del driver video del server X
|
|
che controlla questo chip. Quindi non funziona su tutti i sistemi.</P>
|
|
|
|
|
|
<H4>INSTALLARE IL SUPPORTO DGA PER MPLAYER</H4>
|
|
|
|
<P>Per prima cosa assicurati che X carichi l'estensione DGA, controlla in /var/log/XFree86.0.log:</P>
|
|
|
|
<P> <CODE>(II) Loading extension XFree86-DGA</CODE></P>
|
|
|
|
<P>Vedi, XFree86 4.0.x o maggiore è DECISAMENTE CONSIGLIATO!
|
|
Il driver DGA di MPlayer è trovato automaticamente da ./configure, o si può forzare con
|
|
--enable-dga.</P>
|
|
|
|
<P>Se il driver non può cambiare ad una risoluzione minore, prova con le opzioni
|
|
-vm (solo con X 3.3.x), -fs, -bpp, -zoom per trovare una modalità adatta.
|
|
Non c'è una conversione per ora.. :(</P>
|
|
|
|
<P>Diventa ROOT. DGA ha bisogno dell'accesso di root per poter scrivere direttamente nella memoria video.
|
|
Se vuoi eseguirlo da utente, allora installa MPlayer SUID root:</P>
|
|
|
|
<P><CODE>
|
|
chown root /usr/local/bin/mplayer<BR>
|
|
chmod 750 /usr/local/bin/mplayer<BR>
|
|
chmod +s /usr/local/bin/mplayer</CODE></P>
|
|
|
|
|
|
<P>Ora funziona anche da semplice utente.</P>
|
|
|
|
|
|
<P><B>!!!! MA RIMANI IN ASCOLTO !!!!</B><BR>
|
|
Questo è un <B>GRANDE</B> rischio per la sicurezza! Non farlo mai su un server o un computer
|
|
al quale possono accedere altre persone perchè si possono ottenere i privilegi di root
|
|
attraverso mplayer suid root.<BR>
|
|
<B>!!!! QUINDI SEI STATO AVVISATO ... !!!!</B></P>
|
|
|
|
<P>Ora usa l'opzione '-vo dga', ed ecco fatto! (spero:)
|
|
Dovresti anche provare se l'opzione '-vo sdl:dga' funziona per te! E' molto più
|
|
veloce!!!</P>
|
|
|
|
<H4><A NAME="dga_modelines">CAMBIARE RISOLUZIONE</A></H4>
|
|
|
|
<P>Il driver DGA permette di cambiare la risoluzione del segnale di uscita.
|
|
Questo evita la necessita di eseguire un (lento) ridimensionamento software e allo stesso
|
|
tempo fornisce un'immagine a pieno schermo. Idealmente dovrebbe andare all'esatta risoluzione
|
|
(tranne che per rispettare le proporzioni) dei dati video, ma il server X
|
|
permette solo di andare ad una risoluzione presente in
|
|
<CODE>/etc/X11/XF86Config</CODE> (<CODE>/etc/X11/XF86Config-4</CODE> per XFree 4.0.X).
|
|
Queste sono definite dalle cosi dette modeline e dipendono dalle capacità
|
|
del tuo hardware video. Il server X legge questo file di configurazione all'avvio e
|
|
disabilita le modeline non adatte al tuo hardware. Puoi scoprire quali modalità rimangono
|
|
nel file di log di X11. Si trova in:
|
|
<CODE>/var/log/XFree86.0.log</CODE>.</P>
|
|
|
|
<P>Queste funzionano bene col mio chip Riva128, usando il modulo del driver
|
|
XServer <CODE>nv.o</CODE>.</P>
|
|
|
|
<PRE>
|
|
Section "Modes"
|
|
Identifier "Modes[0]"
|
|
Modeline "800x600" 40 800 840 968 1056 600 601 605 628
|
|
Modeline "712x600" 35.0 712 740 850 900 400 410 412 425
|
|
Modeline "640x480" 25.175 640 664 760 800 480 491 493 525
|
|
Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan
|
|
Modeline "352x288" 25.10 352 368 416 432 288 296 290 310
|
|
Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan
|
|
Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan
|
|
EndSection
|
|
</PRE>
|
|
|
|
|
|
<H4>DGA & MPlayer</H4>
|
|
|
|
<P>DGA è utilizzato in due posti in MPlayer: nel driver SDL
|
|
(-vo sdl:dga) e nel driver DGA (-vo dga).
|
|
Quello detto sopra è valido per entrambi; nella seguente sezione spiegherò come funziona
|
|
il driver DGA di MPlayer.</P>
|
|
|
|
<H4>CARATTERISTICHE</H4>
|
|
|
|
<P>Il driver DGA è invocato specificando -vo dga alla riga di comando.
|
|
Il comportamento di default è quello di cambiare ad una risoluzione il più vicino possibile
|
|
a quella originale del filmato. Ignora deliberatamente le opzioni
|
|
-vm e -fs (cambiare la modalità video e il pieno schermo) -
|
|
tenta sempre di coprire la maggior parte possibile del monitor cambiando la
|
|
modalità video, astenendosi così dall'usare anche un solo ciclo in più della CPU
|
|
per ridimensionare l'immagine.
|
|
Se non ti piace la modalità che ha scelto puoi forzarlo ad usare la risoluzione
|
|
più vicina a quella che gli viene passata con le opzioni -x e -y.
|
|
Con l'opzione -v, il driver DGA stamperà a video, tra le altre cose,
|
|
una lista delle risoluzioni supportate dal tuo attuale file
|
|
XF86-Config.
|
|
Con il DGA2 puoi anche forzarlo ad usare una certa profondità usando l'pzione -bpp.
|
|
Le profondità valide sono 15, 16, 24 e 32. Dipende dal tuo hardware
|
|
se queste profondità sono supportate nativamente o se deve essere fatta una (possibilmente lenta)
|
|
conversione.</P>
|
|
|
|
<P>Se sei abbastanza fortunato da avere abbastanza memoria video rimasta
|
|
per inserire un'intera immagine, il driver DGA userà il doppio buffering, che permette una riproduzione
|
|
video più fluida. Ti dirà se il doppio buffering è abilitato oppure
|
|
no.</P>
|
|
|
|
<P>Doppio buffering significa che la successiva immagine del filmato viene disegnata nella
|
|
memoria video mentre è mostrata l'immagine attuale. Quando il successivo frame
|
|
è pronto, basta dire al chip grafico la posizione nella memoria
|
|
del nuovo frame e prende semplicemente i dati da visualizzare da lì.
|
|
Nel frattempo un altro buffer nella memoria sarà di nuovo riempito con nuovi dati
|
|
video.</P>
|
|
|
|
Il doppio buffering può essere abilitato con l'opzione -double e disabilitato con
|
|
-nodouble. L'azione attualmente predefinita è quella di disabilitare il doppio
|
|
buffering. Quando si usa il driver DGA, l' OSD funziona
|
|
solo col doppio buffering abilitato. Comunque, abilitare il doppio buffering può
|
|
risultare in una grande perdita di velocità (sul mio K6-II+ 525 usa un 20% in più di tempo della
|
|
CPU!) a seconda dell'implementazione del DGA per il tuo hardware.</P>
|
|
|
|
|
|
<H4>QUESTIONI SULLA VELOCITA'</H4>
|
|
|
|
<P>Parlando in generale, l'accesso al framebuffer DGA dovrebbe essere veloce almeno quanto
|
|
il driver X11 con in più il beneficio di avere l'immagine a pieno schermo.
|
|
I valori di velocità in percentuale dati da mplayer devono essere interpretati con una certa
|
|
cura, dato che per esempio, col driver X11 non includono il tempo impiegato
|
|
dal server X necessario per il reale disegno. Aggancia un terminale alla porta
|
|
seriale della tua box ed esegui top per vedere cosa sta realmente accadendo.</P>
|
|
|
|
<P>Parlando in generale, l'incremento di velocità dato da DGA rispetto ad un uso 'normale' di X11
|
|
dipende in larga misura dalla tua scheda grafica e da quanto sia ben ottimizzato il modulo X-Server
|
|
per essa.</P>
|
|
|
|
<P>Se hai un sistema lento, faresti meglio ad usare una profondità di 15 o 16bit in quanto necessitano
|
|
solo metà della larghezza di banda della memoria rispetto ai 32.</P>
|
|
|
|
<P>Anche usare una profondità di 24bit è una buona idea se la tua scheda li supporta nativamente solo i
|
|
32 bit in quanto trasferisce il 25% in meno di dati rispetto alla modalità 32/32.</P>
|
|
|
|
<P>Ho visto già dei file avi riprodotti su un Pentium MMX 266. Le CPU AMD K6-2
|
|
dovrebbero andare bene dai 400 MHZ in su.</P>
|
|
|
|
<H4>BUG CONOSCIUTI</H4>
|
|
|
|
<P>Bene, secondo alcuni sviluppatori di XFree, DGA è proprio una bestiaccia. Raccomandano
|
|
di non usarlo. La sua implementazione non è sempre perfetta
|
|
con tutti i driver per chipset di XFree la fuori.</P>
|
|
|
|
<P><UL>
|
|
<LI>con XFree 4.0.3 e nv.o c'è un bug che risulta in strani colori</LI>
|
|
<LI>il driver ATI necessita di cambiare la modalità più volte dopo aver finito di usare
|
|
DGA</LI>
|
|
<LI>alcuni driver semplicemente falliscono nel ritornare alla risoluzione normale (usa
|
|
Ctrl-Alt-Keypad +, - per ritornarci manualmente)</LI>
|
|
<LI>alcuni driver semplicemente mostrano strani colori</LI>
|
|
<LI>alcuni driver mentono sulla quantità di memoria che mappano nello spazio di indirizzamento del
|
|
processo, così vo_dga non userà il doppio buffering (SIS?)</LI>
|
|
<LI>alcuni driver sembrano fallire nel riportare anche una singola modalità valida. In questo caso
|
|
il driver DGA si interromperà lamentandosi di una modalità senza senso di
|
|
100000x100000 o simile.</LI>
|
|
<LI>OSD funziona solo col doppio buffering abilitato</LI>
|
|
</UL></P>
|
|
|
|
<H4><A NAME="sdl">2.3.1.2.3 SDL</A></H4>
|
|
|
|
<P>SDL (Simple Directmedia Layer, Semplice Livello Diretto per media, ndt) è in generale una interfaccio video/audio
|
|
unificata. I programmi che ne fanno uso conoscono solo l' SDL, e nulla su quale driver video
|
|
o audio SDL usano veramente. Per esempio un port di Doom che usa SDL può
|
|
essere eseguito su svgalib, aalib, X, fbdev, e altri, devi solo specificare il
|
|
(per esempio) driver video da usare con la variabile d'ambiente SDL_VIDEODRIVER.
|
|
Bhe, in teoria.</P>
|
|
|
|
<P>Con MPlayer, abbiamo usato la capacita di ridimensionamento software del suo driver X11 per
|
|
schede/driver che non supportano XVideo, finchè non abbiamo fatto il nostro (più veloce,
|
|
più bello) ridimensionatore software. Abbiamo anche usato il suo output aalib, ma ora abbiamo il nostro che è
|
|
più comodo. La sua modalità DGA era migliore della nostra, fino a poco
|
|
tempo fà. Afferrato ora? :)</P>
|
|
|
|
<P>Aiuta anche con alcuni driver/schede difettosi se il video o l'audio sono a scatti
|
|
(non un problema di sistema lento).</P>
|
|
|
|
<P>Il video output SDL supporta la visualizzazione dei sottotitoli sotto al filmato, sulla (se
|
|
presente) barra nera.</P>
|
|
|
|
<P><B>Ci sono molte opzioni a riga di comando per SDL:</B></P>
|
|
<DL>
|
|
<DT><CODE>-vo sdl:name</CODE></DT>
|
|
<DD>specifica il driver video sdl da usare (es. aalib, dga, x11)</DD>
|
|
|
|
<DT><CODE>-ao sdl:name</CODE></DT>
|
|
<DD>specifica il driver audio sdl da usare (es. dsp, esd, arts)</DD>
|
|
|
|
<DT><CODE>-noxv</CODE></DT>
|
|
<DD>disabilita l'accelerazione hardware Xvideo</DD>
|
|
|
|
<DT><CODE>-forcexv</CODE></DT>
|
|
<DD>tenta di forzare l'accelerazione Xvideo</DD>
|
|
</DL>
|
|
|
|
<TABLE BORDER=0>
|
|
<TR><TD COLSPAN=4><P><B>Tasti per SDL:</B></P></TD></TR>
|
|
<TR><TD></TD><TD><CODE>F</CODE></TD><TD></TD><TD>scambia le modalità pieno schermo/finestra</TD></TR>
|
|
<TR><TD></TD><TD><CODE>C</CODE></TD><TD></TD><TD>cambia tra le modalità a pieno schermo disponibili</TD></TR>
|
|
<TR><TD></TD><TD><CODE>W/S</CODE></TD><TD></TD><TD>sostituiscono * e / (controllo mixer)</TD></TR>
|
|
</TABLE>
|
|
|
|
<H4>BUG CONOSCIUTI:<H4>
|
|
<P><UL><LI>I tasti premuti sotto il driver sdl:aalib si ripetono all'infinito. (usa -vo aa !)
|
|
E' un bug di SDL, io non posso cambiarlo (provato con SDL 1.2.1).
|
|
<LI>NON USARE L'SDL CON LA GUI! Non funziona come dovrebbe.</LI>
|
|
</UL></P>
|
|
|
|
<H4><A NAME="svgalib">2.3.1.2.4 SVGAlib</A></H4>
|
|
|
|
<H4>INSTALLAZIONE</H4><P>
|
|
Devi installare svgalib ed il suo pacchetto di sviluppo per fare in modo che
|
|
MPlayer compili il suo driver SVGAlib (riconosciuto automaticamente, ma può essere forzato),
|
|
e non dimenticare di modificare /etc/vga/libvga.config per adattarlo alla tua scheda & monitor.</P>
|
|
|
|
<H4>NOTE</H4><P>
|
|
Non usare l'opzione -fs, in quanto abilita il ridimensionamento via software,
|
|
che è lento. Se ne hai davvero bisogno, usa l'opzione <CODE>-sws 4</CODE>,
|
|
risulterà una qualità peggiore ma è in qualche modo più veloce.</P>
|
|
|
|
<H4>SUPPORTO EGA (4BPP)</H4><P>
|
|
SVGAlib incorpora EGAlib, e MPlayer può mostrare qualsiasi
|
|
filmato in 16 colori, quindi è utilizzabile con le seguenti configurazioni:</P>
|
|
|
|
<UL>
|
|
<LI>Scheda EGA con monitor EGA: 320x200x4bpp, 640x200x4bpp, 640x350x4bpp</LI>
|
|
<LI>Scheda EGA con monitor CGA: 320x200x4bpp, 640x200x4bpp</LI>
|
|
</UL>
|
|
|
|
<P>Il valore di bpp (bits per pixel) deve essere impostato manualmente a 4:<BR>
|
|
<CODE>-bpp 4</CODE><BR>
|
|
Il filmato probabilmente deve essere ridimensionato per adattarlo alla modalità EGA:<BR>
|
|
<CODE>-vf scale=640:350</CODE> or<BR>
|
|
<CODE>-vf scale=320:200</CODE><BR>
|
|
Per questo abbiamo bisogno di una routine di ridimensionamento veloca ma di cattiva qualità:<BR>
|
|
<CODE>-sws 4</CODE><BR>
|
|
Forse deve essere disabilitata la correzione automatica dell'aspetto:<BR>
|
|
<CODE>-noaspect</CODE><BR>
|
|
</P>
|
|
|
|
<P><B>NOTA:</B> secondo la mia esperienza, la migliore qualità di immagine su EGA
|
|
si ottiene riducendo un po' la luminosità: <CODE>-vf eq=-20:0</CODE>. Sulla
|
|
mia macchina ho dovuto anche ridurre la frequenza di campionamento dell'audio,
|
|
poichè il suono dava problemi a 44kHz: <CODE>-srate 22050</CODE>.</P>
|
|
|
|
<P>Puoi attivare l'OSD ed i sottotitoli con il filtro <CODE>expand</CODE>, vedi
|
|
la pagina man per i parametri esatti.</P>
|
|
|
|
|
|
<H4><A NAME="fbdev">2.3.1.2.5 Output col Framebuffer (FBdev)</A></H4>
|
|
|
|
<P>Se compilare il driver FBdev è stabilito automaticamente da ./configure .
|
|
Leggi la documentazione del framebuffer nei sorgenti del kernel
|
|
(Documentation/fb/*) per informazioni su come abilitarlo, ecc.. !</P>
|
|
|
|
<P>Se la tua scheda non supporta lo standard VBE 2.0 (le più vecchie schede ISA/PCI,
|
|
come la S3 Trio64), ma solo VBE 1.2 (o più vecchio?) :
|
|
ebbene, VESAfb è ancora disponibile, ma dovrai caricare il programma SciTech Display
|
|
Doctor (prima UniVBE) prima di fare il boot di Linux. Usa un dischetto di boot DOS o
|
|
quello che vuoi. E non dimenticare di registrare il tuo UniVBE ;))</P>
|
|
|
|
<P>L'output FBdev accetta alcuni parametri supplementari tra i quali:</P>
|
|
|
|
<P><TABLE BORDER=0>
|
|
<TD> </TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-fb</TD><TD> </TD><TD>
|
|
<FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>specifica il dispositivo framebuffer da usare (/dev/fb0)</TD><TR>
|
|
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-fbmode</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>nome della modalità da usare (secondo /etc/fb.modes)</TD><TR>
|
|
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-fbmodeconfig</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2> file di configurazione delle modalità (default /etc/fb.modes)</TD><TR>
|
|
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-monitor-hfreq</TD><TD></TD><TD ROWSPAN=3><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>valori IMPORTANTI, vedi example.conf</TD><TR>
|
|
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-monitor-vfreq</TD><TD></TD><TR>
|
|
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-monitor-dotclock</TD><TD></TD><TR>
|
|
</TABLE></P>
|
|
|
|
<P>Se vuoi cambiare ad una modalità specifica, allora usa</P>
|
|
|
|
<P><CODE> mplayer -vm -fbmode (NomeModalità) nomefile</CODE></P>
|
|
|
|
<P><UL><LI>l'opzione <B>-vm</B> sceglierà la modalità più adatta da /etc/fb.modes . Può essere usata
|
|
anche insieme alle opzioni -x e -y. L'opzione -flip è supportata solo se
|
|
il formato dei pixel del filmato corrisponde a quello dei pixel della modalità video.
|
|
Fai attenzione al valore di bpp, il driver fbdev tenta di usare l'attuale,
|
|
o se si specifica l'opzione -bpp, allora quella.</LI>
|
|
<LI>l'opzione <B>-zoom</B> non è supportata (il ridimensionamento software è lento). l'opzione -fs
|
|
non è supportata. Non puoi usare le modalità a 8bpp (o meno).</LI>
|
|
<LI>Probabilmente vuoi nascondere il cursore : <CODE>echo -e '\033[?25l'</CODE>
|
|
o <CODE>setterm -cursor off</CODE><BR>
|
|
e lo screen saver: <CODE>setterm -blank 0</CODE><BR>
|
|
Per riavere il cursore : <CODE>echo -e '\033[?25h'</CODE>
|
|
o <CODE>setterm -cursor on</CODE>
|
|
</UL></P>
|
|
|
|
<P>NOTA: il cambiamento di modalità video di FBdev _non funziona_ col framebuffer VESA,
|
|
e non richiederlo, in quanto non è una limitazione di MPlayer.</P>
|
|
|
|
<H4><A NAME="mga_vid">2.3.1.2.6. Framebuffer Matrox (mga_vid)</A></H4>
|
|
|
|
<P>Questa sezione parla del supporto BES (Back-End Scaler) di Matrox G200/G400/G450/G550,
|
|
il driver del kernel mga_vid. E' attualmente sviluppato da A'rpi, e
|
|
ha il supporto VSYNC hardware con triplo buffering. Funziona sia da console col framebuffer
|
|
che sotto X.</P>
|
|
|
|
<P><B>ATTENZIONE</B>: Questo vale solo per Linux! Su sistemi non-Linux (testato
|
|
su FreeBSD), usa <A HREF=#vidix>VIDIX</A>!</P>
|
|
|
|
<P>Per usarlo, devi prima compilare mga_vid.o:</P>
|
|
|
|
<P><CODE> cd drivers<BR>
|
|
make</CODE></P>
|
|
|
|
<P>Poi crea il dispositivo /dev/mga_vid:</P>
|
|
|
|
<P><CODE> mknod /dev/mga_vid c 178 0</CODE></P>
|
|
|
|
<P>e carica il driver con</P>
|
|
|
|
<P><CODE> insmod mga_vid.o</CODE></P>
|
|
|
|
<P>Dovresti controllare il riconoscimento della dimensione della memoria usando il comando 'dmesg'. Se è
|
|
sbagliata, usa l'opzione mga_ram_size (prima rmmod mga_vid), specifica la dimensione della memoria
|
|
della scheda in MB:</P>
|
|
|
|
<P><CODE> insmod mga_vid.o mga_ram_size=16</CODE></P>
|
|
|
|
<P>Per farlo caricare/scaricare automaticamente quando ce n'è bisogno, prima inserisci la seguente riga
|
|
alla fine di /etc/modules.conf:</P>
|
|
|
|
<P><CODE> alias char-major-178 mga_vid</CODE></P>
|
|
|
|
<P>Quindi copia il modulo <CODE>mga_vid.o</CODE> nella posizione appropriata sotto
|
|
<CODE>/lib/modules/<versione kernel>/daqualcheparte</CODE>.</P>
|
|
|
|
<P>Poi esegui</P>
|
|
|
|
<P><CODE> depmod -a</CODE></P>
|
|
|
|
<P>Ora devi (ri)compilare MPlayer, ./configure troverà /dev/mga_vid
|
|
e compilerà il driver 'mga'. In MPlayer si usa con '-vo mga' se
|
|
hai la console matroxfb, o '-vo xmga' sotto XFree86 3.x.x o 4.x.x.</P>
|
|
|
|
<P>Il driver mga_vid coopera con Xv.</P>
|
|
|
|
<P>Il file del dispositivo <CODE>/dev/mga_vid</CODE> può essere letto (per esempio con
|
|
<CODE>cat /dev/mga_vid</CODE>) per avere alcune informazioni, e scritto per cambiare la luminosità
|
|
: <CODE>echo "brightness=120" > /dev/mga_vid</CODE></P>
|
|
|
|
<H4><A NAME="tdfxfb">2.3.1.2.7. Supporto YUV 3dfx (tdfxfb)</A></H4>
|
|
|
|
<P>Questo driver usa il driver framebuffer del kernel tdfx per riprodurre i filmati con
|
|
accelerazione YUV. Devi avere un kernel col supporto tdfxfb, e ricompilare con
|
|
<CODE>./configure --enable-tdfxfb</CODE></P>
|
|
|
|
<H4><A NAME="opengl">2.3.1.2.8. Output in OpenGL</A></H4>
|
|
|
|
<P>MPlayer supporta la visualizzazione dei filmati usando OpenGL, ma se
|
|
la tua piattaforma/driver supporta xv come dovrebbe essere su un PC con Linux, usa xv
|
|
invece, le prestazioni di OpenGL sono peggiori. Se hai una implementazione X11
|
|
senza il supporto di xv, OpenGL è un' alternativa disponibile.</P>
|
|
|
|
<P>Sfortunatamente, non tutti
|
|
i driver hanno questa capacità. Per esempio i driver Utah-GLX
|
|
(per XFree86 3.3.6) lo supportano, con tutte le schede.
|
|
Vedi <A HREF="http://utah-glx.sourceforge.net">http://utah-glx.sourceforge.net</A>
|
|
per dettagli su come installarlo.</P>
|
|
|
|
<P>XFree86(DRI) >= 4.0.3 supporta OpenGL con schede Matrox, e Radeon, >= 4.2
|
|
lo supporta anche per le Rage128.
|
|
Vedi <A HREF="http://dri.sourceforge.net">http://dri.sourceforge.net</A> per scaricarlo,
|
|
e per istruzioni sull'installazione.</P>
|
|
|
|
<H4><A NAME="aalib">2.3.1.2.9. AAlib - visione in modalità testo</A></H4>
|
|
|
|
<P><B>AAlib</B> è una libreria per vedere la grafica in modalità testo, usando un potente
|
|
renderer ASCII. Ci sono MOLTI programmi che già la supportano, come Doom,
|
|
Quake, ecc. MPlayer contiene un driver molto facile da usare per questa.
|
|
Se ./configure trova aalib installata, sarà compilato il driver libvo aalib.</P>
|
|
|
|
<P><TABLE BORDER=0>
|
|
<TD COLSPAN=4><P><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Puoi usare alcuni tasti nella finestra AA per cambiare le opzioni di rendering:</B></P></TD><TR>
|
|
<TD> </TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>1</TD><TD> </TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>diminuisce il contrasto</TD><TR>
|
|
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>2</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>aumenta il contrasto</TD><TR>
|
|
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>3</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>diminuisce la luminosità</TD><TR>
|
|
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>4</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>aumenta la luminosità</TD><TR>
|
|
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>5</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>(dis)attiva il rendering veloce</TD><TR>
|
|
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>6</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>cambia la modalità di dithering (nessuno, distribuzione dell'errore, floyd steinberg)</TD><TR>
|
|
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>7</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>inverte l' immagine</TD><TR>
|
|
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>a</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>cambia i controlli da aa a mplayer</TD><TR>
|
|
|
|
<TD COLSPAN=4><P><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Possono essere usate le seguenti opzioni a riga di comando:</B></P></TD><TR>
|
|
|
|
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-aaosdcolor=V</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>cambia il colore dell'osd</TD><TR>
|
|
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-aasubcolor=V</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>cambia il colore dei sottotitoli</TD><TR>
|
|
<TD COLSPAN=3></TD><TD><P><I><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>dove V può essere: (0/normal, 1/dark, 2/bold, 3/boldfont, 4/reverse, 5/special)</P></TD><TR>
|
|
|
|
<TD COLSPAN=4><P><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>La stessa AAlib fornisce un gran numero do opzioni.
|
|
Eccone alcune importanti:</P></B></TD><TR>
|
|
|
|
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-aadriver</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>seleziona il driver aa consigliato (X11, curses, linux)</TD><TR>
|
|
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-aaextended</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>usa tutti i 256 caratteri</TD><TR>
|
|
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-aaeight</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>usa ascii a otto bit</TD><TR>
|
|
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-aahelp</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>stampa tutte le opzioni di aalib</TD><TR>
|
|
</TABLE></P>
|
|
|
|
<P>NOTA: il rendering utilizza molta CPU, specialmente usando aalib su X,
|
|
e ne usa meno su console standard,
|
|
non-framebuffer. Usa SVGATextMode per selezionare una modalità testo grande,
|
|
e divertiti! (le schede Hercules con uscita secondaria vanno forte :)) (anche
|
|
se, secondo me, puoi usare l'ozione <CODE>-vf 1bpp</CODE> per avere un
|
|
immagine grafica su hgafb:)</P>
|
|
|
|
<P>Usa l'opzione -framedrop se il tuo computer non è abbastanza veloce da renderizzare tutti i frame!</P>
|
|
|
|
<P>Usandolo da terminale otterrai una più alta velocità e qualità usando il driver di linux, non
|
|
curses (-aadriver linux). Ma per questo devi avere accesso in scrittura a /dev/vcsa<terminale>!
|
|
Questa non è ipostata automaticamente da aalib, ma vo_aa cerca di trovare la modalità migliore.
|
|
Vedi <A HREF="http://aa-project.sourceforge.net/tune/">http://aa-project.sourceforge.net/tune/</A> per ulteriori questioni di regolazione.</P>
|
|
|
|
|
|
<H4><A NAME="vesa">2.3.1.2.10. VESA - output col BIOS VESA</H4>
|
|
<P>
|
|
Questo driver è stato pensato e introdotto come un <b>driver generico</b> per qualsiasi scheda video
|
|
con un BIOS VESA VBE 2.0+ compatibile. Ma c'è ancora una ragione per lo sviluppo di
|
|
questo driver - la sua possibilità di abilitare l'output sulla TV.<BR>
|
|
<b>VESA BIOS EXTENSION (VBE) Versione 3.0 Data: 16 Settembre 1998</b> (Pagina 70)
|
|
dice:
|
|
</P>
|
|
|
|
<P>
|
|
<code><i>
|
|
<b>Design a doppio controller</b><br>
|
|
VBE 3.0 supporta il design a doppio controller supponendo che, dato che entrambi
|
|
i controller sono solitamente forniti dallo stesso OEM, sotto il controllo di una
|
|
singola ROM BIOS sulla stessa scheda grafica, è possibile nascondere all'applicazione il fatto che
|
|
sono realmente presenti due controller. Questo ha la limitazione
|
|
di impedire l'uso contemporaneo dei controller indipendenti,
|
|
ma consente alle applicazioni rilasciate prima del VBE 3.0 di operare normalmente. La funzione
|
|
VBE 00h fornisce l'informazione combinata dei due
|
|
controller, inclusa la lista combinata delle modalità disponibili.
|
|
Quando l'applicazione seleziona una modalità, viene attivato il controller appropriato.
|
|
Ogni rimanente funzione VBE quindi opera sul controller attivo.
|
|
</i></code>
|
|
</P>
|
|
|
|
<P>
|
|
Quindi si ha la possibilità di far andare il TV-out con questo driver.<br>
|
|
(Suppongo che spesso il TV-out abbia un output suo proprio,
|
|
almeno.)
|
|
</P>
|
|
|
|
<H4>VANTAGGI:</H4>
|
|
<UL>
|
|
<LI>Hai la possibilità di vedere filmati <B>anche se Linux non conosce nemmeno
|
|
</B> il tuo hardware video.</LI>
|
|
<LI>Non devi aver installato niente per la grafica sul tuo Linux
|
|
(come X11 (cioè XFree86), fbdev e così via). Questo driver può essere
|
|
eseguito dalla <B>modalità testo</B>.</LI>
|
|
<LI>Hai la possibilità di avere il <B>TV-out funzionante</B> (almeno con le
|
|
schede ATI).</LI>
|
|
<LI>Questo driver richiama l'handler <B>int 10h</B> quindi non è un emulatore
|
|
- richiama le cose <B>reali</B> del <B>reale</B> BIOS in modalità
|
|
<B>reale</B>. (detto meglio -in modalità vm86).</LI>
|
|
<LI>Puoi usarlo insieme a Vidix, ottenendo così l'accelerazione video <B>E</B>
|
|
l'output su TV allo stesso tempo! (raccomandato per le schede ATI)</LI>
|
|
<LI>Se hai VESA VBE 3.0+, e hai specificato <CODE>monitor-hfreq</CODE>,
|
|
<CODE>monitor-vfreq</CODE>, <CODE>monitor-dotclock</CODE> da qualche parte (file di
|
|
configurazione, o linea di comando) otterrai il refresh rate più alto possibile. (Usando
|
|
General Timing Formula). Per abilitalo dovrai specificare
|
|
<B>tutte</B> le opzioni del tuo monitor.</LI>
|
|
</UL>
|
|
|
|
<H4>SVANTAGGI:</H4>
|
|
<UL>
|
|
<LI>Funziona solo su <B>sistemi x86</B>.</LI>
|
|
<LI>Può essere usato solo da <B>ROOT</B>.</LI>
|
|
<LI>Attualmente è disponibile solo per <B>Linux</B>.</LI>
|
|
</UL>
|
|
|
|
<P>Non usare questo driver col <B>GCC 2.96</B> ! Non funzionerà !</P>
|
|
|
|
<H4>OPZIONI A RIGA DI COMANDO DISPONIBILI PER VESA:</H4>
|
|
<DL>
|
|
<DT><CODE>-vo vesa:opzioni</CODE></DT>
|
|
<DD>attualmente riconosciute: <B>dga</B> per forzare la modalità dga e <B>nodga</B> per
|
|
disabilitarla. Nella modalità dga si può abilitare il double buffering con l'opzione
|
|
<CODE>-double</CODE>. Nota: si possono tralasciare questi parametri per abilitare il
|
|
<B>riconoscimento automatico</B> della modalità dga.</DD>
|
|
</DL>
|
|
|
|
<H4>PROBLEMI CONOSCIUTI E COME AGGIRARLI</H4>
|
|
<UL>
|
|
<LI>Se hai installato il font <B>NLS</B> sulla tua Linux box ed esegui il
|
|
driver VESA dalla modalità testo allora dopo aver chiuso mplayer avrai il
|
|
<B>font ROM</B> caricato invece del nazionale. Puoi ricaricare il font
|
|
nazionale usando l'utilità <CODE>setsysfont</CODE> dalla, per esempio,
|
|
distribuzione Mandrake. (<B>Suggerimento</B>: la stessa utilità è usata per
|
|
la "localizzazione" di fbdev).</LI>
|
|
<LI>Alcuni <B>driver grafici di Linux</B> non aggiornano la <B>modalità
|
|
BIOS</B> attiva nella memoria DOS. Quindi se hai un tale problema - usa sempre
|
|
il driver VESA solo dalla <B>modalità testo</B>. Altrimenti la modalità testo
|
|
(#03) sarà attivata comunque e dovrai far ripartire il computer.</LI>
|
|
<LI>Spesso dopo aver terminato il driver VESA si ottiene uno <B>schermo
|
|
nero</B>. Per farlo ritornare allo stato originale - cambia semplicemente
|
|
console (premendo <B>Alt-Fx</B>) poi ritorna alla precedente console nello
|
|
stesso modo.</LI>
|
|
<LI>Per far <B>funzionare il TV-out</B> devi avere il connettore della tv
|
|
inserito prima di far partire il tuo PC in quanto il BIOS video si
|
|
inizializza solo una volta durante la procedura di POST.</LI>
|
|
</UL>
|
|
|
|
|
|
<H4><A NAME="x11">2.3.1.2.11. X11</A></H4>
|
|
|
|
<P>Evitalo se possibile. Da l'output a X11 (usa l'estensione per la memoria condivisa), senza alcuna
|
|
accelerazione hardware. Supporta (accelerato da MMX/3DNow/SSE, ma ancora
|
|
lento) il ridimensionamento software, usa le opzioni <CODE>-fs -zoom</CODE>. Molte schede
|
|
hanno il supporto per il ridimensionamento hardware, usa l'output <CODE>-vo xv</CODE> per queste, o
|
|
<CODE>-vo xmga</CODE> per le Matrox.</P>
|
|
|
|
<P>Il problema è che il driver della maggior parte delle schede non supporta
|
|
l'accelerazione hardware sulla seconda uscita/TV. In quei casi, si vede una finestra verde/blu
|
|
invece del filmato. Qui è dove questo driver è utile,
|
|
ma hai bisogno di una CPU potente per usare il ridimensionamento software. Non usare
|
|
l'output+scaler software del driver SDL, ha una pessima qualità d'immagine !</P>
|
|
|
|
<P>Il ridimensionamento software è molto lento, faresti meglio a cambiare modalità video invece.
|
|
E' molto semplice. Vedi la <A HREF="#dga_modelines".A>sezione sulle modeline DGA</A>, e
|
|
inseriscile nel tuo XF86Config.
|
|
<UL>
|
|
<LI>Se hai XFree86 4.x.x - usa l'opzione <CODE>-vm</CODE>. Cambierà ad una
|
|
risoluzione adatta al tuo filmato. Se non funziona :</LI>
|
|
<LI>Con XFree86 3.x.x - devi cercare tra tutte le risoluzioni disponibili
|
|
con i tasti <B>CTRL-ALT-più</B> e <B>meno</B>.</LI>
|
|
</UL>
|
|
|
|
Se non riesci a trovare le modalità che hai inserito, controlla l'output di XFree86. Alcuni
|
|
driver non possono usare i bassi pixelclock necessari per modalità video a bassa
|
|
risoluzione.</P>
|
|
|
|
|
|
<H4><A NAME="vidix">2.3.1.2.12. VIDIX</A></H4>
|
|
|
|
<H4>INTRODUZIONE</H4>
|
|
|
|
<P>VIDIX è l'acronimo di <B>VID</B>eo <B>I</B>nterface for *ni<B>X</B>
|
|
(Interfaccia Video per *nix, ndt).
|
|
E' stato studiato e implementato come un'interfaccia per veloci driver in spazio utente
|
|
che offrono le stesse performance video che mga_vid fornisce pe le schede Matrox. E anche
|
|
molto portabile.</P>
|
|
<P>Questa interfaccia è stata studiata come un tentativo di far rientrare le esistenti interfacce
|
|
di accelerazione video (conosciute come mga_vid, rage128_vid, radeon_vid, pm3_vid) in uno schema fisso. Fornisce
|
|
un'interfaccia di alto livello ai chip conosciuti come BES (BackEnd
|
|
scaler) o OV (Video Overlay). Non fornisce un'interfaccia di basso livello
|
|
a cose conosciute come server grafici. (Non voglio competere con il team di X11
|
|
nel cambiamento di modalità grafica). Cioè, l'obbiettivo principale di questa interfaccia
|
|
è di fornire la massima velocità di riproduzione video.
|
|
</P>
|
|
|
|
<P><B><I>UTILIZZO</I></B></P>
|
|
|
|
<P>
|
|
<LI>Puoi usare il driver di output video da solo: <CODE>-vo xvidix</CODE><BR>
|
|
Questo driver è stato sviluppato come una interfaccia di X11 per la tecnologia VIDIX.
|
|
necessita di un server X e può funzionare solo sotto un server X. Nota che, in quanto
|
|
accede direttamente all'hardware e aggira il driver X, le pixmap
|
|
salvate nella memoria della scheda video potrebbero essere corrotte. Si può evitare questo
|
|
limitando la quantità di memoria video usata da X con l'opzione di XF86Config
|
|
"VideoRam" nella sezione device. Dovresti impostarla al valore della memoria della
|
|
scheda meno 4MB. Se hai meno di 8MB di
|
|
ram video, puoi invece usare l'opzione "XaaNoPixmapCache" nella sezione screen.</LI>
|
|
<LI>Si può usare il sottodispositivo VIDIX che è stato applicato a molti driver di output video,
|
|
come:<BR>
|
|
<CODE>-vo vesa:vidix</CODE> (<B>SOLO PER LINUX</B>) e <CODE>-vo fbdev:vidix</CODE></LI>
|
|
Infatti non importa quale driver di output video si usa con <b>VIDIX</b>.
|
|
</P>
|
|
|
|
<P><B><I>REQUISITI</I></B></P>
|
|
|
|
<P>
|
|
<LI>La scheda video dovrebbe essere in modalità grafica (ho scritto <b>dovrebbe</b> semplicemente
|
|
perchè l'ho provato in modalità testo - funziona, ma da un terribile output ;) Usa
|
|
AAlib per quello).<BR>
|
|
<I>Nota: chiunque può provare questo trucco commentando il cambiamento di modalità nel driver
|
|
vo_vesa.</I></LI>
|
|
<LI>Il driver di output video di MPlayer dovrebbe conoscere la modalità video attiva ed essere in grado di
|
|
dire al sottodispositivo VIDIX alcune caratteristiche video del server.</LI>
|
|
</P>
|
|
|
|
<P><B><I>METODI DI UTILIZZO</I></B></P>
|
|
|
|
<P>Quando VIDIX è usato come <b>sottodispositivo</b> (<CODE>-vo vesa:vidix</CODE>) allora
|
|
la configurazione della modalità video è fatta dal dispositivo di output video
|
|
(<b>vo_server</b> in breve). Quindi puoi passare alla linea di comando di
|
|
MPlayer le stesse opzioni di vo_server. In aggiunta interpreta l'opzione
|
|
<CODE>-double</CODE> come un parametro globalmente visibile. (Consiglio di usare
|
|
questa opzione con VIDIX almeno per le schede ATI).<BR>
|
|
Come per <CODE>-vo xvidix</CODE> : attualmente riconosce le seguenti
|
|
opzioni: <CODE>-fs -zoom -x -y -double</CODE>.<BR>
|
|
</P>
|
|
|
|
<P>Puoi anche specificare il driver VIDIX direttamente come terzo sotto argomento alla linea di
|
|
comando :<BR>
|
|
<BR>
|
|
<code>mplayer -vo xvidix:mga_vid.so -fs -zoom -double
|
|
file.avi</code><BR>
|
|
o<BR>
|
|
<code>mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp
|
|
32 file.avi</code><BR>
|
|
<BR>
|
|
Ma è pericoloso, e non dovresti farlo. In questo caso il driver dato sarà
|
|
forzato e il risultato è imprevedibile (potrebbe <b>bloccare</b> il tuo
|
|
computer). Dovresti farlo SOLO se sei assolutamente sicuro che funzionerà,
|
|
e MPlayer non lo fa automaticamente. Per favore dillo agli
|
|
sviluppatori. Il Modo Giusto è usare VIDIX senza argomenti per abilitare il riconoscimento automatico del
|
|
driver.
|
|
</P>
|
|
|
|
<P>
|
|
VIDIX è una tecnologia molto nuova ed è molto probabile che sul tuo sistema
|
|
non funzioni. In questo caso la sola soluzione per te è di eseguire
|
|
un port (principalmente libdha). Ma c'è la speranza che funzioni su quei sistemi dove funziona
|
|
X11.
|
|
</P>
|
|
|
|
<P>Poiché VIDIX richiede l'accesso diretto all'hardware, devi eseguirlo come
|
|
root od impostare il bit SUID sull'eseguibile di MPlayer (<B>Attenzione:
|
|
questo comporta grossi problemi di sicurezza!</B>). In alternativa, puoi usare
|
|
uno speciale modulo del kernel, facendo così:</P>
|
|
|
|
<OL>
|
|
<LI>Scarica la
|
|
<A HREF="http://www.arava.co.il/matan/svgalib/">versione in sviluppo</A>
|
|
di svgalib (ad esemplio 1.9.17),<BR>
|
|
<B>O</B><BR>
|
|
scarica una versione creata da Alex apposta per l'utilizzo con
|
|
MPlayer (non richiede i sorgenti di svgalib per essere compilata) da
|
|
<A HREF="http://www.mplayerhq.hu/~alex/svgalib_helper-1.9.17-mplayer.tar.bz2">
|
|
qui</A>.</LI>
|
|
<LI>Compila il modulo nella directory <CODE>svgalib_helper</CODE> (lo trovi
|
|
nella directory <CODE>svgalib-1.9.17/kernel/</CODE> se hai
|
|
scaricato i sorgenti dal sito di svgalib) ed inseriscilo (insmod).</LI>
|
|
<LI>Sposta la directory <CODE>svgalib_helper</CODE> in
|
|
<CODE>mplayer/main/libdha/svgalib_helper</CODE>.</LI>
|
|
<LI>Da fare se hai scaricato i sorgenti dal sito svgalib: togliere il
|
|
commento prima della linea CFLAGS che contiene la stringa "svgalib_helper"
|
|
da <CODE>libdha/Makefile</CODE>.</LI>
|
|
<LI>Ricompilare ed installare libdha.</LI>
|
|
</OL>
|
|
|
|
|
|
<H4><A NAME="vidix_ati">2.3.1.2.12.1 Schede ATI</A></H4>
|
|
|
|
<P>Attualmente la maggior parte delle schede ATI sono supportate in modo nativo,
|
|
dalla Mach64 alle ultime Radeon.</P>
|
|
|
|
<P>Ci sono due driver: <CODE>radeon_vid</CODE> per le schede Radeon e
|
|
<CODE>rage128_vid</CODE> per le Rage 128. Puoi forzarne uno o lasciare che sia
|
|
VIDIX a cercare autonomamente il driver corretto.</P>
|
|
|
|
|
|
<H4><A NAME="vidix_matrox">2.3.1.2.12.2 Schede Matrox</A></H4>
|
|
|
|
<P>Le Matrox G200,G400,G450 e G550 sono state confermate funzionanti.</P>
|
|
|
|
<P>Il driver supporta l'equalizzatore video e dovrebbere essere altrettanto
|
|
veloce come il <A HREF="#mga_vid">framebuffer Matrox</A>.</P>
|
|
|
|
|
|
<H4><A NAME="vidix_trident">2.3.1.12.3 Schede Trident</A></H4>
|
|
|
|
<P>C'è un driver disponibile per il chipset Trident Cyberblade/i1 chipset, che
|
|
si trova sulle motherboard VIA Epia.</P>
|
|
|
|
<P>il driver è stato scritto ed è mantenuto da Alastair M. Robinson, che offre
|
|
l'ultima versione disponibile sulla sua
|
|
<A HREF="http://www.blackfiveservices.co.uk/EPIAVidix.shtml">homepage</A>.
|
|
I driver vengono portati in MPlayer con pochissimo ritardo, quindi
|
|
dovrebbero essere sempre aggiornati.</P>
|
|
|
|
|
|
<H4><A NAME="vidix_3dlabs">2.3.1.2.12.4 Schede 3DLabs</A></H4>
|
|
|
|
<P>Sebbene esista un driver per i chip 3DLabs GLINT R3 e Permedia3, nessuno lo
|
|
ha testato; quindi se hai notizie faccelo sapere.</P>
|
|
|
|
|
|
|
|
|
|
<H4><A NAME="directfb">2.3.1.2.13 DirectFB</A></H4>
|
|
|
|
<P><I>"DirectFB è una libreria grafica che è stata progettata con in mente i sistemi
|
|
embedded. Offre la massima performance per l'accelerazione hardware con un minimo
|
|
utilizzo di risorse."</I> - citato da
|
|
<A HREF="http://www.directfb.org">http://www.directfb.org</A>.</P>
|
|
|
|
<P>Escluderò le caratteristiche di DirectFB da questa sezione.</P>
|
|
|
|
<P>Sebbene MPlayer non sia supportato come "video provider" in DirectFB, questo
|
|
driver di output abilita la riproduzione video tramite DirectFB. Naturalmente
|
|
è accelerata sulla mia Matrox G400 la velocità di DirectFB è la stessa di
|
|
XVideo.</P>
|
|
|
|
<P>Cerca sempre di usare l'ultima versione di DirectFB. Si possono usare le opzioni di DirectFB
|
|
da riga di comando con l'opzione <CODE>-dfbopts</CODE>.
|
|
La selezione del layer si può fare col metodo del sottodispositivo, es.: <CODE>-vo
|
|
directfb:2</CODE> (layer -1 è il default: riconoscimento automatico)</P>
|
|
|
|
<H4><A NAME="dfbmga">2.3.1.2.14 DirectFB/Matrox (dfbmga)</A></H4>
|
|
|
|
<P>Leggi la <A HREF="#directfb">sezione principale di DirectFB</A> per le informazioni
|
|
generali.</P>
|
|
|
|
<P>Questo driver di output video abilita il CRTC2 (sulla seconda uscita) sulle schede
|
|
Matrox G400/G450/G550, mostrando il video <B>indipendentemente</B> dalla prima uscita.</P>
|
|
|
|
<P>Le istruzioni per farlo funzionare si trovano nella
|
|
<A HREF="../tech/directfb.txt">sezione tecnica</A>
|
|
o direttamente sulla
|
|
<A HREF="http://www.sci.fi/~syrjala/directfb/Matrox_TV-out_README.txt">
|
|
home page</A> di Ville Syrjala.</P>
|
|
|
|
<P>Nota: noi non siamo riusciti a farlo andare, ma altri si. Comunque,
|
|
è iniziato il porting del codice CRTC2 in <B>mga_vid</B>.</P>
|
|
|
|
<H4><A NAME="mpegdec">2.3.1.3 Decoder MPEG</A></H4>
|
|
|
|
<H4><A NAME="dvb">2.3.1.3.1 DVB</A></H4>
|
|
|
|
<P>MPlayer supporta le schede con chipset DVB Siemens fabbricati da aziende quali
|
|
Siemens, Technotrend, Galaxis o Hauppauge. I driver DVB più recenti sono disponibili sul
|
|
sito <A HREF="http://www.linuxtv.org">Linux TV</A>. Se vuoi
|
|
fare il transcoding software devi avere almeno una CPU da 1GHz.</P>
|
|
|
|
<P>Lo script configure dovrebbe riconoscere automaticamente la tua scheda DVB. se non riesce, forzane
|
|
il riconoscimento con</P>
|
|
|
|
<PRE>
|
|
./configure --enable-dvb
|
|
</PRE>
|
|
|
|
<P>Se hai gli header ost in una locazione non-standard, imposta il path con</P>
|
|
|
|
<PRE>
|
|
./configure --with-extraincdir=<directory sorgenti DVB>/ost/include
|
|
</PRE>
|
|
|
|
<P>Quindi compila e installa come al solito.</P>
|
|
|
|
<B>UTILIZZO</B>
|
|
|
|
<P>Si può abilitare la decodifica hardware (riproduzione di file MPEG1/2 standard)
|
|
col comando:</P>
|
|
|
|
<PRE>
|
|
mplayer -ao mpegpes -vo mpegpes file.mpg|vob
|
|
</PRE>
|
|
|
|
<P>Si può abilitare la decodifica software o il transcoding da diversi formati a MPEG1
|
|
usando un comando come questo:</P>
|
|
|
|
<PRE>
|
|
mplayer -ao mpegpes -vo mpegpes -vf lavc tuofile.ext
|
|
mplayer -ao mpegpes -vo mpegpes -vf expand,fame tuofile.ext
|
|
</PRE>
|
|
|
|
<P>Nota che le schede DVB supportano solo un'altezza di 288 o 576 per il PAL e 240 o 480
|
|
per NTSC. <B>Devi</B> ridimensionare se vuoi altre altezze aggiungendo
|
|
<CODE>scale=larghezza:altezza</CODE> con le dimensioni desiderate all'opzione
|
|
<CODE>-vf</CODE>. Le schede DVB accettano varie larghezze, come 720, 704,
|
|
640, 512, 480, 352 ecc e utilizzano il ridimensionamento hardware nella direzione orizzontale,
|
|
quindi nella maggior parte dei casi non devi ridimensionare orizzontalmente. Per un DivX 512x384 (aspetto 4:3) prova:</P>
|
|
|
|
<PRE>
|
|
mplayer -ao mpegpes -vo mpegpes -vf scale=512:576,lavc
|
|
</PRE>
|
|
|
|
<P>Se hai un filmato widescreen e non vuoi ridimensionarlo a piena altezza,
|
|
puoi usare il plugin <CODE>expand=l:a</CODE> per aggiungere delle bande nere. Per vedere
|
|
un DivX 640x384, prova:</P>
|
|
|
|
<PRE>
|
|
mplayer -ao mpegpes -vo mpegpes -vf expand=640:576,lavc file.avi
|
|
</PRE>
|
|
|
|
<P>Se la tua CPU è troppo lenta per un DivX a dimensione intera 720x576, prova a ridurlo:</P>
|
|
|
|
<PRE>
|
|
mplayer -ao mpegpes -vo mpegpes -vf scale=352:576,lavc file.avi
|
|
</PRE>
|
|
|
|
<P>Se la velocità non aumenta, prova anche a ridurlo verticalmente:</P>
|
|
|
|
<PRE>
|
|
mplayer -ao mpegpes -vo mpegpes -vf scale=352:288,lavc file.avi
|
|
</PRE>
|
|
|
|
<P>Per l'OSD e i sottotitoli usa l'opzione OSD del filtro di espansione. Quindi, invece
|
|
di <CODE>expand=l:a</CODE> o <CODE>expand=l:a:x:y</CODE>, usa
|
|
<CODE>expand=l:a:x:y:1</CODE> (il quinto parametro <CODE>:1</CODE> alla fine
|
|
abilita il rendering OSD). Potresti aver bisogno di spostare l'immagine un po' in alto
|
|
per ottenere una zona nera più grande per i sottotitoli. Potresti anche voler spostare in alto i sottotitoli, se
|
|
sono fuori dallo schermo della TV, usa l'opzione <CODE>-subpos <0-100></CODE>
|
|
per regolarli (<CODE>-subpos 80</CODE> è una buona scelta).</P>
|
|
|
|
<P>Per riprodurre filmati non a 25fps su una TV PAL o con una CPU lenta, aggiungi l'opzione
|
|
<CODE>-framedrop</CODE>.</P>
|
|
|
|
<P>Per mantenere le proporzioni dei file DivX e ottenere i parametri di ridimensionamento ottimali
|
|
(ridimensionamento orizzontale in hardware e verticale in software mentre si conservano
|
|
le giuste proporzioni), usa il nuovo filtro dvbscale:</P>
|
|
|
|
<PRE>
|
|
per TV 4:3: -vf dvbscale,scale=-1:0,expand=-1:576:-1:-1:1
|
|
per TV 16:9: -vf dvbscale=1024,scale=-1:0,expand=-1:576:-1:-1:1
|
|
</PRE>
|
|
|
|
<H4>FUTURO</H4>
|
|
|
|
<P>Se hai domande o vuoi sentire gli annunci di nuove caratteristiche e prender parte alle
|
|
discussioni su questo argomento, unisciti alla nostra mailing list
|
|
<A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-dvb">MPlayer-DVB</A>.
|
|
Per favore ricorda che la lingua di questa lista è l'inglese.</P>
|
|
|
|
<P>In futuro potresti aspettarti la possibilità di mostrare l'OSD e i sottotitoli usando
|
|
la caratteristica OSD nativa delle schede DVB, e anche una riproduzione più fluente
|
|
dei filmati non a 25fps e il transcoding in tempo reale tra MPEG2 e MPEG4 (decompressione
|
|
parziale).</P>
|
|
|
|
<H4><A NAME="dxr2">2.3.1.3.2 DXR2</A></H4>
|
|
|
|
<P>DA FARE.</P>
|
|
|
|
<H4><A NAME="dxr3">2.3.1.3.3 DXR3/Hollywood+</A></H4>
|
|
|
|
<P>MPlayer supporta la riproduzione accelerata in hardware con le schede Creative DXR3
|
|
e Sigma Designs Hollywood Plus. Queste schede usano il chip di decodifica MPEG em8300
|
|
prodotto da Sigma Designs.</P>
|
|
|
|
<P>Prima di tutto devi installare correttamente i driver DXR3/H+, versione
|
|
0.12.0 o successiva. I driver e le istruzioni per l'installazione si trovano sul sito
|
|
<A HREF="http://dxr3.sourceforge.net/">DXR3 & Hollywood Plus per
|
|
Linux</A>. Lo script configure dovrebbe riconoscere automaticamente la tua scheda, la compilazione
|
|
dovrebbe procedere senza problemi.</P>
|
|
|
|
<H4>UTILIZZO:</H4>
|
|
<DL>
|
|
<DT><CODE>-vo dxr3:prebuf:sync:norm=x:<device></CODE></DT>
|
|
<DD><CODE>overlay</CODE> attiva l' overlay invece del TVOut. Necessita
|
|
un supporto overlay corretamente configurato. Il modo più facile per
|
|
configurarlo è di eseguire prima autocal. Quindi eseguire mplayer con l'output
|
|
dxr3 senza l'overlay, e eseguire dxr3view. In dxr3view si possono regolare
|
|
le impostazioni dell'overlay e vedere gli effetti in tempo reale, forse questa caratteristica
|
|
verrà supportata dalla GUI di MPlayer GUI in futuro. Quando l'overlay sarà
|
|
correttamente impostato non dovrai più usare dxr3view.<BR>
|
|
<DD><CODE>prebuf</CODE> attiva il prebuffering. Il prebuffering è una caratteristica
|
|
del chip em8300 che gli consente di tenere più di un frame del video alla volta.
|
|
Qusto significa che quando utilizzi il prebuffering
|
|
MPlayer tenta di tenere sempre pieno il buffer video.
|
|
Se sei su una macchina lenta probabilmente MPlayer userà circa
|
|
o esattamente il 100% della CPU. Questa situazione è comune in particolare nella riproduzione
|
|
di puri stream MPEG (come DVD, SVCD, ecc.) in quanto MPlayer non deve
|
|
ricodificarli in MPEG e riempirà il buffer molto velocemente.<BR>
|
|
Col prebuffering la riproduzione video è <B>molto</B> meno sensibile ad altri
|
|
programmi che divorano la CPU, non scarterà alcun frame a meno che le altre applicazioni
|
|
non carichino la CPU per un lungo periodo.<BR>
|
|
Senza il prebuffering l' em8300 è molto più sensibile al carico della CPU load, quindi è
|
|
caldamente consigliato usare l'opzione di
|
|
MPlayer <CODE>-framedrop</CODE> per evitare ulteriori perdite di sincronia.<BR>
|
|
<CODE>sync</CODE> attiva il nuovo metodo di sincronia. E' attualmente in fase
|
|
sperimentale. Con questa opzione il clock interno dell' em8300
|
|
sarà continuamente monitorato, se comincia a deviare dal clock di MPlayer
|
|
verrà resettato facendo sì che l' em8300 scarti i frame che sono rimasti indietro.<BR>
|
|
<CODE>norm=x</CODE> imposta il norm della TV norm della scheda DXR3 senza la necessità di
|
|
utility esterne come em8300setup. Norm valide sono 5 = NTSC, 4 = PAL-60,
|
|
3 = PAL. Norm speciali sono 2 (riconosce automaticamente PAL/PAL-60) e 1
|
|
(riconosce automaticamente PAL/NTSC) in quanto decidono quale norm usare
|
|
controllando il frame rate del filmato. norm = 0 (default) non modifica
|
|
il norm attuale.<BR>
|
|
<CODE><device></CODE> = numero del dispositivo da usare se hai più di una scheda
|
|
em8300.
|
|
<BR>
|
|
Queste opzioni possono tutte essere tralasciate.
|
|
<CODE>:prebuf:sync</CODE> sembra andare benissimo per i DivX.
|
|
Alcuni hanno segnalato problemi usando l'opzione <CODE>prebuf</CODE>
|
|
con i normali MPEG. Prova prima senza queste opzioni, se hai problemi di
|
|
sincronia o con i sottotitoli DVD prova ad usare <CODE>:sync</CODE>.</DD>
|
|
|
|
<DT><CODE>-ao oss:/dev/em8300_ma-X</CODE></DT>
|
|
<DD>Per l'output audio, dove <CODE>X</CODE> è il numero del dispositivo
|
|
(0 se hai una sola scheda).</DD>
|
|
|
|
<DT><CODE>-aop list=resample:fout=xxxxx</CODE></DT>
|
|
<DD>L' em8300 non può riprodurre campioni con frequenza minore di 44100Hz. Se la frequenza
|
|
di campionamento è sotto 44100Hz seleziona 44100Hz o 48000Hz a seconda di quale più si
|
|
avvicina. Cioè se il filmato usa 22050Hz, allora usa 44100Hz dato che
|
|
44100 / 2 = 22050, se è a 24000Hz, usa 48000Hz dato che 48000 / 2 = 24000 e così via.
|
|
Questo non funziona con output audio digitale (<CODE>-ac hwac3</CODE>).</DD>
|
|
|
|
<DT><CODE>-vf lavc/fame</CODE></DT>
|
|
<DD>Per vedere contenuti non-MPEG sul em8300 (cioè DivX o RealVideo) devi specificare
|
|
un filtro video MPEG1 come libavcodec (lavc) o libfame
|
|
(fame). Al momento lavc è più veloce che e ha una migliore qualità dell'immagine,
|
|
suggeriamo di usarlo a meno che tu non riscontra problemi. Leggi la pagina di man
|
|
per altre informazioni su <CODE>-vf lavc/fame</CODE>.<BR>
|
|
Usare lavc è caldamente consigliato. Al momento non è possibile regolare
|
|
l'fps dell' em8300 e ciò significa che è fisso a 29.97fps. Perciò si
|
|
consiglia di usare <CODE>-vf lavc=<qualità>:25</CODE>,
|
|
specialmente se usi il prebuffering. Quindi perchè 25 e non 29.97? Bhe,
|
|
il fatto è che quando si usa 29.97 l'immagine saltella un po'. La ragione
|
|
è a noi sconosciuta. Se lo si imposta a qualcosa tra 25 e
|
|
27 l'immagine si stabilizza. Per ora tutto quello che possiamo fare è accettarlo
|
|
come un fatto.</DD>
|
|
|
|
<DT><CODE>-vf expand=-1:-1:-1:-1:1,lavc</CODE></DT>
|
|
<DD>Anche se il driver DXR3 può inserire degli OSD nei video MPEG1/2/4,
|
|
ha una qualità molto minore dell'OSD di MPlayer, e ha anche alcuni problemi di
|
|
refresh. La riga di comando scritta sopra prima converte il video in entrata
|
|
in MPEG4 (questo è obbligatorio, spiacente), poi applica un filtro di espansione
|
|
che in realtà non espande nulla (-1: default), ma applica il normale OSD
|
|
sull'immagine (questo è quello che fa l' "1" alla fine).</DD>
|
|
|
|
<DT><CODE>-ac hwac3</CODE></DT>
|
|
<DD>L' em8300 supporta la riproduzione audio AC3 (suono surround) attraverso
|
|
l'uscita audio digitale della scheda. Vedi l'opzione <CODE>-ao oss</CODE>
|
|
sopra, deve essere usata per specificare l'output DXR3 al posto di una scheda
|
|
sonora.</DD>
|
|
</DL>
|
|
|
|
|
|
<H4><A NAME="other">2.3.1.4 Altro hardware di visualizzazione</A></H4>
|
|
|
|
<H4><A NAME="zr">2.3.1.4.1 Zr</A></H4>
|
|
|
|
<P>Questo è un driver per la visualizzazione (<CODE>-vo zr</CODE>) per un certo numero di schede MJPEG
|
|
di cattura/riproduzione (testato per DC10+ e Buz, e dovrebbe funzionare per
|
|
LML33, DC10). Il driver funziona codificando il frame in jpeg e mandandolo poi
|
|
alla scheda. Per la codifica jpeg è usato <B>libavcodec</B>,
|
|
ed è quindi necessario. Con la speciale modalità <I>cinerama</I>, si possono
|
|
guardare i film in vero wide screen se hai due beamer e due schede
|
|
MJPEG. A seconda della risoluzione e delle impostazioni di qualità, questo driver
|
|
può richiedere molta potenza di CPU, ricorda di specificare <CODE>-framedrop</CODE>
|
|
se la tua macchina è troppo lenta. Nota: ill mio AMD K6-2 350MHz è abbastanza (con <CODE>
|
|
-framedrop</CODE>) potente per vedere cose della dimensione dei VCD e film
|
|
ridimensionati.</P>
|
|
|
|
<P>Questo driver dialoga col driver del kernel disponibile a
|
|
<A HREF="http://mjpeg.sourceforge.net">http://mjpeg.sourceforge.net</A>, quindi
|
|
devi far funzionare questo prima. La presenza di una scheda MJPEG è rilevata
|
|
automaticamente dallo script configure; se l'autorilevamento non ha successo
|
|
forzalo con</P>
|
|
<PRE>
|
|
./configure --enable-zr
|
|
</PRE>
|
|
|
|
<P>L'output può essere controllato con varie opzioni, una descrizione completa
|
|
si trova nella pagina man; per una descrizione breve eseguire
|
|
|
|
<PRE>
|
|
mplayer -zrhelp
|
|
</PRE>
|
|
|
|
<P>Funzioni quali la scalatura o l'OSD non sono gestite dal driver, ma possono
|
|
essere fatte tramite i filtri video. Ad esempio, supponi di avere un filmato
|
|
con una risoluzione di <CODE>512x272</CODE> e vuoi vederlo a schermo intero
|
|
sulla tua scheda DC10+. Ci sono essenzialmente tre possibilità: puoi riscalare
|
|
il filmato con una larghezza di <CODE>768</CODE> o <CODE>384</CODE> o
|
|
<CODE>192</CODE>. Per ragioni di performance e qualità, io sceglierei di
|
|
ridimensionare il filmato a <CODE>384x204</CODE> usando lo scalatore software
|
|
con l'algoritmo bilineare veloce. La linea di comando è
|
|
|
|
<PRE>
|
|
mplayer -vo zr -sws 0 -vf scale=384:204 movie.avi
|
|
</PRE>
|
|
|
|
<P>Il ritaglio (cropping) può essere fatto sia dal filtro <CODE>crop</CODE> che
|
|
dal driver stesso. Supponi che un filmato sia troppo largo per essere
|
|
visualizzato dalla tua scheda Buz e che vuoi usare <CODE>-zrcrop</CODE> per
|
|
ridurne la larghezza; il comando da usare sarebbe
|
|
|
|
<PRE>
|
|
mplayer -vo zr -zrcrop 720x320+80+0 benhur.avi
|
|
</PRE>
|
|
|
|
se vuoi invece usare il filtro <CODE>crop</CODE> fai
|
|
|
|
<PRE>
|
|
mplayer -vo zr -vf crop=720:320:80:0 benhur.avi
|
|
</PRE>
|
|
|
|
<P>Usando più di un'opzione <CODE>-zrcrop</CODE> si attiva la modalità
|
|
<I>cinerama</I>, che permette di dividere l'immagine su più TV o proiettori
|
|
(beamer), al fine di creare uno schermo più grande. Supponi di avere due
|
|
proiettori. Quello di sinistra è collegato alla tua scheda Buz
|
|
<CODE>/dev/video1</CODE> e quello di destra alla tua scheda DC10+
|
|
<CODE>/dev/video0</CODE>. Il filmato ha risoluzione <CODE>704x288</CODE>.
|
|
Supponi anche di voler far funzionare il proiettore di destra in bianco e nero,
|
|
e di avere su quello di sinistra immagini con qualità jpeg <CODE>10</CODE>.
|
|
Il comando da utilizzare sarebbe
|
|
|
|
<PRE>
|
|
mplayer -vo zr -zrdev /dev/video0 -zrcrop 352x288+352+0 -zrxdoff 0 -zrbw \
|
|
-zrcrop 352x288+0+0 -zrdev /dev/video1 -zrquality 10 movie.avi
|
|
</PRE>
|
|
|
|
<P>Puoi notare che le opzioni che appaiono prima del secondo
|
|
<CODE>-zrcrop</CODE> si riferiscono solo alla scheda DC10+ e quelle che lo
|
|
seguono si applicano alla scheda Buz. Il numero massimo di schede utilizzabili
|
|
con <I>cinerama</I> è quattro, quindi puoi construire un maxischermo
|
|
<CODE>2x2</CODE>.
|
|
|
|
<P>Per finire un avviso importante: non avviare o fermare XawTV sul dispositivo
|
|
di riproduzione durante la stessa,
|
|
bloccherà il tuo computer. Va comunque bene far partire <B>PRIMA</B>
|
|
XawTV, e <B>POI</B> MPlayer, aspettare che MPlayer finisca e
|
|
<B>POI</B> fermare XawTV.</P>
|
|
|
|
<H4><A NAME="blinken">2.3.1.4.2 Blinkenlights</A></H4>
|
|
|
|
<P>Questo driver è in grado di usare il protocollo UPD Blinkenlights.
|
|
Se non sai cosa sia <A HERF="http://www.blinkenlights.de">Blinkenlights</A>,
|
|
non hai bisogno di questo driver.</P>
|
|
|
|
<H4><A NAME="tv-out">2.3.1.5. Supporto TV-out</A></H4>
|
|
|
|
<H4><A NAME="tv-out_matrox">2.3.1.5.1. Schede Matrox G400</A></H4>
|
|
|
|
<P>Sotto Linux hai due modi per far funzionare l'output TV delle G400 :</P>
|
|
|
|
<P><B>IMPORTANTE:</B> per istruzioni sul supporto TV-out delle Matrox G450/G550) vedi la
|
|
prossima sezione!</B></P>
|
|
|
|
<P>
|
|
<UL>
|
|
<LI><B>XFree86</B>: usando il driver e il modulo HAL, disponibile al
|
|
<A HREF="http://www.matrox.com">sito della Matrox</A>. Questo ti darà X sulla
|
|
TV.<BR> <B>Questo metodo non da una riproduzione accelerata</B> come
|
|
sotto Windoze! Il secondo connettore ha solo il framebuffer YUV, il <I>BES</I>
|
|
(Back End Scaler, il ridimensionatore YUV sulle schede G200/G400/G450/G550) non funziona
|
|
su questo! Il driver per windows in qualche modo aggira questo problema, probabilmente usando il motore
|
|
3D per zoomare, e il framebuffer YUV per visualizzare l'immagine zoomata.
|
|
Se vuoi veramente usare X, usa le opzioni <CODE>-vo x11 -fs -zoom</CODE>,
|
|
ma sarà <B>LENTO</B>, e ha la protezione da copia <B>Macrovision</B>
|
|
abilitata (puoi "aggirare" Macrovision usando
|
|
<A HREF="http://avifile.sourceforge.net/mgamacro.pl">questo</A> script perl.
|
|
</LI>
|
|
<LI><B>Framebuffer</B>: usando i <B>moduli matroxfb</B> dei kernel 2.4.
|
|
I kernel 2.2 non hanno la possibilità di usare il TVout, quindi sono inutili per questo.
|
|
Devi abilitare TUTTE le voci relative al matroxfb durante la compilazione (eccetto il
|
|
MultiHead), e compilarle come <B>moduli</B>! Devi avere anche I2C abilitato.
|
|
<UL>
|
|
<LI>
|
|
Entra in <CODE>TVout/matroxset</CODE> e fai <CODE>make</CODE>. Installa
|
|
<CODE>matroxset</CODE> da qualche parte nel tuo PATH.</LI>
|
|
<LI>
|
|
Se non hai <CODE>fbset</CODE> installato, entra in
|
|
<CODE>TVout/fbset</CODE> e fai <CODE>make</CODE>. Installa
|
|
<CODE>fbset</CODE> da qualche parte nel tuo PATH.</LI>
|
|
<LI>
|
|
Poi entra nella directory <CODE>TVout/</CODE> dei sorgenti di MPlayer,
|
|
ed esegui <CODE>./modules</CODE> da root. La tua console in modalità testo
|
|
entrerà in modalità framebuffer (non si può tornare indietro!).</LI>
|
|
<LI>Quindi, MODIFICA ed esegui lo script <CODE>./matroxtv</CODE>. Questo ti presenterà un
|
|
menu molto semplice. Premi <B>2</B> e <B>ENTER</B>. Ora dovresti avere la stessa immagine
|
|
sul monitor e sulla TV. Se
|
|
l'immagine della TV (PAL di default) ha delle strane strisce, lo script non è stato in grado di
|
|
settare correttamente la risoluzione (a 640x512 di default). Prova altre
|
|
risoluzioni e/o esperimenta con fbset</LI>
|
|
</UL>
|
|
|
|
<P>
|
|
Yoh. Il prossimo compito è quello di far scomparire il cursore su tty1 (o quello che è),
|
|
e disattivare lo spegnimento dello schermo. Esegui i seguenti comandi:</P>
|
|
|
|
<P>
|
|
<CODE>echo -e '\033[?25l'</CODE> o <CODE>setterm -cursor off<BR>
|
|
setterm -blank 0</CODE>
|
|
</P>
|
|
|
|
<P>
|
|
Probabilmente vorrai metterli in uno script, e anche pulire lo
|
|
schermo.. Per riavere il cursore :<BR><CODE>echo -e '\033[?25h'</CODE>
|
|
o <CODE>setterm -cursor on</CODE>
|
|
</P>
|
|
|
|
<P>Inizia la riproduzione del filmato con <CODE>mplayer -vo mga -fs -screenw 640
|
|
-screenh 512 <nomefile></CODE><BR>
|
|
(se usi X, ora cambia a matroxfb con per esempio CTRL-ALT-F1 !)<BR>
|
|
Cambia 640x512 se hai impostato la risoluzione diversamente..<BR>
|
|
<B>Goditi l' ultra-veloce output TV Matrox (meglio di Xv) !</B>
|
|
</P>
|
|
</LI>
|
|
</LI>
|
|
</UL>
|
|
</P>
|
|
|
|
<H4>Costruire un cavo TV-out Matrox</H4>
|
|
|
|
<P>Nessuno si assume alcuna responsabilità né fornisce alcuna garanzia per
|
|
qualsiasi danno causato seguendo questa documentazione.</P>
|
|
|
|
<P><B>Cavo per G400</B>: Il quarto pin del connettore CRTC2 è il segnale video
|
|
composito. Le masse sono il sesto, settimo e ottavo pin (informazioni fornite
|
|
da Balázs Rácz).</P>
|
|
|
|
<P><B>Cavo per G450</B>: Il primo pin del connettore CRTC2 è il segnale video
|
|
composito. Le masse sono il quinto, sesto, settimo e quindicesimo (5, 6, 7, 15)
|
|
pin (informazioni fornite da Balázs Kerekes).</P>
|
|
|
|
<H4><A NAME="tv-out_matrox_g450">2.3.1.5.2 Schede Matrox G450/G550</A></H4>
|
|
|
|
<P>Il supporto al TV output per queste schede è stato introdotto solo recentemente, e non
|
|
è ancore ne kernel ufficiale. Al momento il modulo <B>mga_vid</B>
|
|
non può essere usato AFAIK, perchè il driver G450/G550 funziona solo in una configurazione:
|
|
il primo chip CRTC (con molte più caratteristiche) sul primo
|
|
display (sul monitor), e il secondo CRTC (non <B>BES</B> - per una spiegazione del
|
|
BES, vedi la sezione G400 sopra) sulla TV. Quindi al momento puoi usare solo il driver di
|
|
output <I>fbdev</I> di MPlayer.</P>
|
|
|
|
<P>Il primo CRTC non può essere indirizzato alla seconda uscita, al momento.
|
|
L'autore del driver del kernel matroxfb - Petr Vandrovec - ne implementerà probabilmente il
|
|
supportp, visualizzando l'output del primo CRTC su entrambe le uscite insieme,
|
|
come attualmente raccomandato per la G400, vedi la sezione sopra.</P>
|
|
|
|
<P>La patch del kernel necessaria e le istruzioni dettagliate sono scaricabili da
|
|
<A HREF="http://www.bglug.ca/matrox_tvout/">http://www.bglug.ca/matrox_tvout/</A></P>
|
|
|
|
|
|
<P><B><A NAME="tv-out_ati">2.3.1.5.3. Schede ATI</A></B></P>
|
|
|
|
<P>
|
|
<H4>PREAMBOLO</H4>
|
|
Attualmente ATI non vuole supportare nessuno dei suoi chip TV-out sotto Linux
|
|
a causa della tecnologia sotto licenza della Macrovision che utilizzano.
|
|
|
|
<H5>STATO DEL TV-OUT DELLE SCHEDE ATI SOTTO LINUX<H5>
|
|
<UL>
|
|
<LI><b>ATI Mach64</b> è supportato da <A HREF="http://gatos.sf.net">gatos</A>.</LI>
|
|
<LI><b>ASIC Radeon VIVO</b> è supportato da <A HREF="http://gatos.sf.net">gatos</A>.</LI>
|
|
<LI><B>Radeon</B> e <B>Rage128</B>: supportate da MPlayer!
|
|
Controlla le sezioni <a href="#vesa">driver VESA</a> e <A HREF="#vidix">Vidix</A>.</LI>
|
|
<LI><B>Rage Mobility P/M, Radeon, Rage 128, Mobility M3/M4</B>: Supportate da
|
|
<A HREF="http://www.stud.uni-hamburg.de/users/lennart/projects/atitvout/">
|
|
atitvout</A>.
|
|
</UL>
|
|
<P>
|
|
Con altre schede, usate semplicemente il <a href="#vesa">driver VESA</a>, senza
|
|
Vidix. Però è necessaria una CPU potente.
|
|
</P>
|
|
|
|
<P>La sola cosa che devi fare - <B>collegare la TV prima di avviare
|
|
il PC</B> in quanto il BIOS video viene inizializzato solo al momento della
|
|
procedura di POST.
|
|
</P>
|
|
|
|
|
|
<H4><A NAME="tv-out_voodoo">2.3.1.5.4. Voodoo 3</A></H4>
|
|
|
|
<P>
|
|
Controlla <A HREF="http://www.iki.fi/too/tvout-voodoo3-3000-xfree">questa URL</A>.
|
|
</P>
|
|
|
|
<H4><A NAME="tv-out_nvidia">2.3.1.5.5 nVidia</A></H4>
|
|
|
|
<P>Primo, DEVI scaricare i driver a sorgenti chiusi da
|
|
<A HREF="http://nvidia.com">http://nvidia.com</A>. Non descriviamo il processo
|
|
di installazione e configurazione perchè non rientra negli scopi di
|
|
questa documentazione.</P>
|
|
|
|
<P>Dopo che XFree86, XVideo, e l'accelerazione 3D funzionano correttamente,
|
|
modifica la sezione Device della tua scheda nel file <CODE>XF86Config</CODE>,
|
|
riferendoti al seguente esempio (adattalo per la tua scheda/TV):</P>
|
|
|
|
<PRE>
|
|
Section "Device"
|
|
Identifier "GeForce"
|
|
VendorName "ASUS"
|
|
BoardName "nVidia GeForce2/MX 400"
|
|
Driver "nvidia"
|
|
#Option "NvAGP" "1"
|
|
Option "NoLogo"
|
|
Option "CursorShadow" "on"
|
|
|
|
Option "TwinView"
|
|
Option "TwinViewOrientation" "Clone"
|
|
Option "MetaModes" "1024x768,640x480"
|
|
Option "ConnectedMonitor" "CRT, TV"
|
|
Option "TVStandard" "PAL-B"
|
|
Option "TVOutFormat" "Composite"
|
|
|
|
EndSection
|
|
</PRE>
|
|
|
|
<P>Naturalmente la perte importante è quella del TwinView.</P>
|
|
|
|
</BODY>
|
|
</HTML>
|