mirror of https://github.com/mpv-player/mpv
Italian translation
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4868 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
d6b27069d3
commit
b8cf61a944
|
@ -0,0 +1,166 @@
|
|||
<HTML>
|
||||
<BODY BGCOLOR=white>
|
||||
|
||||
<FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
|
||||
<P><B><A NAME=C>Appendice C - Come segnalare i bug</A></B></P>
|
||||
|
||||
<P><B>Come si segnalano i bug?</B></P>
|
||||
|
||||
<P>Prima, prova l'ultimo CVS, forse il tuo bug è già stato corretto. Le istruzioni per scaricare tramite CVS
|
||||
(facili) si trovano sulla nostra homepage.</P>
|
||||
|
||||
<P>Se non è d'aiuto: leggi <A HREF="documentation.html#D">Appendice D</A>, e altri documenti. Se il tuo problema
|
||||
non è conosciuto o non si risolve con le nostre istruzioni, allora segnala il bug:</P>
|
||||
|
||||
<P><B>Dove?</B></P>
|
||||
|
||||
<P>Iscriviti alla mailing list mplayer-users:<BR>
|
||||
<A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-users">http://mplayerhq.hu/mailman/listinfo/mplayer-users</A><BR>
|
||||
e manda la tua segnalazione a:<BR>
|
||||
<A HREF="mailto:mplayer-users@mplayerhq.hu">mplayer-users@mplayerhq.hu</A><BR>
|
||||
Non accettiamo CC: quindi per favore iscriviti!!!</P>
|
||||
|
||||
<P>Non mandare segnalazioni di bug direttamente all'indirizzo privato degli autori!!!
|
||||
Stiamo lavorando insieme sul codice, quindi tutti sono interessati.
|
||||
Comunque molte volte gli utenti conoscono la soluzione (problemi di configurazione del sistema,
|
||||
cattivi driver ecc), perfino quando noi pensiamo sia un bug nel nostro codice.
|
||||
La lingua di questa lista è l' INGLESE!</P>
|
||||
|
||||
<P>Per favore descrivi il tuo problema in dettaglio, con esempi ecc, e non dimenticare di includere
|
||||
queste:</P>
|
||||
|
||||
<P><B>Cosa?</B></P>
|
||||
|
||||
<P><B><I>1. Le informazioni sul sistema, cosa vogliamo sempre sapere:</I></B></P>
|
||||
|
||||
<UL>
|
||||
<LI>distribuzione linux<BR>
|
||||
esempi:<UL>
|
||||
<LI>RedHat 7.1
|
||||
<LI>Slackware 7.0 + pacchetti di sviluppo dalla 7.1 ...</UL>
|
||||
<LI>versione kernel:<BR>
|
||||
<CODE>uname -a</CODE>
|
||||
<LI>versione libc:<BR>
|
||||
<CODE>ls -l /lib/libc[.-]*</CODE>
|
||||
<LI>versione X:<BR>
|
||||
<CODE>X -version</CODE>
|
||||
<LI>versione gcc e ld:<BR>
|
||||
<CODE>gcc -v<BR>
|
||||
ld -v</CODE>
|
||||
<LI>versione binutils:<BR>
|
||||
<CODE>as --version</CODE>
|
||||
</UL>
|
||||
|
||||
<P><B><I>2. Hardware & driver:</I></B></P>
|
||||
|
||||
<UL>
|
||||
<LI>informazioni sulla CPU:<BR>
|
||||
<CODE>cat /proc/cpuinfo</CODE>
|
||||
<LI>produttore e modello della scheda video<BR>
|
||||
esempi:<BR><UL>
|
||||
<LI>chip ASUS V3800U: nVidia TNT2 Ultra pro 32MB SDRAM
|
||||
<LI>Matrox G400 DH 32MB SGRAM</UL>
|
||||
<LI>tipo e versione del driver video<BR>
|
||||
esempi:<UL>
|
||||
<LI>driver di X
|
||||
<LI>nvidia 0.9.623
|
||||
<LI>Utah-GLX CVS 2001-02-17
|
||||
<LI>DRI di X 4.0.3</UL>
|
||||
<LI>tipo e driver della scheda sonora<BR>
|
||||
esempi:<BR><UL>
|
||||
<LI>Creative SBLive! Gold con driver OSS da oss.creative.com
|
||||
<LI>Creative SB16 con driver OSS del kernel
|
||||
<LI>GUS PnP con emulazione OSS di ALSA</UL>
|
||||
<LI>se non sei sicuro manda l'output di lspci -v
|
||||
</UL>
|
||||
|
||||
<P><B>Per problemi/errori di compilazione</B></P>
|
||||
|
||||
<P><B><I>3. questi file:</I></B></P>
|
||||
<UL><LI>configure.log
|
||||
<LI>config.h
|
||||
<LI>config.mak
|
||||
<LI>libvo/config.mak
|
||||
</UL>
|
||||
|
||||
<P><B>Per problemi di riproduzione:</B></P>
|
||||
|
||||
<P><B><I>3. L'output di mplayer al livello di verbosità 1 (-v)</I></B></P>
|
||||
<P><CODE> mplayer -v [opzioni] nomefile &> mplayer.log</CODE></P>
|
||||
|
||||
<P><B><I>4. Se il problema è specifico ad uno o più file,
|
||||
allora per favore mandaci il file a:</I></B></P>
|
||||
<P><CODE> ftp://mplayerhq.hu/MPlayer/incoming/</CODE></P>
|
||||
Manda anche un piccolo file .txt con lo stesso nome dell'altro file,
|
||||
dove descrivi il tuo problema!<BR>
|
||||
Di solito i primi 1-5 MB del file sono abbastanza per riprodurre
|
||||
il problema, ma prima dovresti provare questo:
|
||||
<P><CODE> dd if=tuofile of=piccolofile bs=1k count=1024</CODE></P>
|
||||
(questo taglierà il primo 1MB di 'tuofile' e lo salverà il 'piccolofile')
|
||||
Quindi riprova con il file piccolo, e se il bug è ancora presente
|
||||
allora è abbastanza mandare quest'ultimo.<BR>
|
||||
Non mandare MAI questi file via mail! Caricalo, e manda solo
|
||||
il percorso/nomefile su FTP.
|
||||
Se il file è presente sulla rete allora è sufficiente mandare l' URL
|
||||
_esatta_ !
|
||||
|
||||
<P><B><I>5. Per crash (segfault, SIGILL, signal 4 ecc):</I></B></P>
|
||||
|
||||
<P><I>Se hai il coredump del crash, vedi 5.a, altrimenti 5.b:</I></P>
|
||||
|
||||
<P><B><I>5.a: Per favore stampaci il coredump (se è stato creato).</I></B></P>
|
||||
|
||||
<P>Come:
|
||||
per favore crea il seguente file di comandi:</P>
|
||||
|
||||
<P><CODE>disass $eip-32 $eip+32<BR>
|
||||
printf "eax=%08lX\n",$eax<BR>
|
||||
printf "ebx=%08lX\n",$ebx<BR>
|
||||
printf "ecx=%08lX\n",$ecx<BR>
|
||||
printf "edx=%08lX\n",$edx<BR>
|
||||
printf "esp=%08lX\n",$esp<BR>
|
||||
printf "ebp=%08lX\n",$ebp<BR>
|
||||
printf "edi=%08lX\n",$edi<BR>
|
||||
printf "esi=%08lX\n",$esi<BR>
|
||||
</CODE></P>
|
||||
|
||||
<P>Quindi semplicemente esegui la seguente linea di comando:</P>
|
||||
<P> <CODE>gdb mplayer --core=core -batch --command=file_comandi >mplayer.bug</CODE></P>
|
||||
|
||||
<P><B><I>5.b.: esegui MPlayer in gdb:</I></B></P>
|
||||
<P>Ri-compila mplayer col codice di debug abilitato:<BR>
|
||||
./configure --enable-debug<BR>
|
||||
make
|
||||
</P>
|
||||
<P>[al prompt di shell root/utente]<BR>
|
||||
<CODE># gdb mplayer</CODE><BR>
|
||||
[al prompt gdb:]<BR>
|
||||
<CODE>> run -v [opzioni-per-mplayer] nomefile</CODE><BR>
|
||||
... (aspetta finche va in crash)<BR>
|
||||
<CODE>> bt</CODE><BR>
|
||||
<CODE>> disass $eip-32 $eip+32</CODE><BR>
|
||||
Mandaci tutto l'output delle cose sopra!
|
||||
</P>
|
||||
|
||||
<P><B>In generale:</B></P>
|
||||
|
||||
<P>Se qualcosa è grande (log ecc) allora è meglio caricarlo sull' ftp
|
||||
(gzippato), e includere solo il percorso/nomefile nella segnalazione di bug!</P>
|
||||
|
||||
<P><B>So quello che sto facendo...</B></P>
|
||||
|
||||
<P>Se hai fatto un appropriata segnalazione seguendo i passi sopra, e sei sicuro
|
||||
che sia un bug di mplayer, non un problema del compilatore o un file danneggiato, hai già
|
||||
letto la documentazione e non hai trovato la soluzione, i tuoi driver del suono sono ok,
|
||||
allora puoi voler iscriverti alla lista mplayer-advusers e mandare lì la tua
|
||||
segnalazione per avere una migliore e più rapida rispostar. Ma SEI AVVISATO: se mandi
|
||||
domande da newbie o con risposte presenti nella documentazione, sarai cacciato immediatamente, invece
|
||||
di avere una risposta!!! Quindi non ti arrabbiare con noi, iscriviti a -advusers solo se sai veramente
|
||||
cosa stai facendo e ti senti un utente o sviluppatore avanzato di mplayer.
|
||||
(e su come iscriversi: scoprilo! se sei veramente un utente avanzato,
|
||||
non dovrebbe essere un problema per te...)
|
||||
</P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
|
@ -0,0 +1,261 @@
|
|||
|
||||
<HTML>
|
||||
<BODY BGCOLOR=white>
|
||||
|
||||
<FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
|
||||
<P><B><A NAME=4.1>4.1. Lettori CD</A></B></P>
|
||||
|
||||
<P>Vedere gli standard Video CD:</P>
|
||||
|
||||
<P>
|
||||
mplayer -vcd <I>numerotraccia</I> [-cdrom-device device]<BR><BR>
|
||||
Esempi:<BR>
|
||||
mplayer -vcd 1<BR>
|
||||
mplayer -fs -vcd 2 -cdrom-device /dev/hdc<BR>
|
||||
</P>
|
||||
|
||||
<P>
|
||||
Note:<BR>
|
||||
- NON montare i VCD e leggere direttamente i file DAT! Può funzionare sotto windows
|
||||
ma non funzionerà sotto linux. Devi leggerli direttamente, con l'opzione -vcd !
|
||||
<BR>
|
||||
- solitamente i VCD hanno 2 tracce: una traccia di dati (che contiene il programma di autostart di windows,
|
||||
dati per il karaoke ecc) e una seconda (il filmato), quindi prova
|
||||
-vcd 2 prima!<BR>
|
||||
- il dispositivo VCD di default è /dev/cdrom. Se il dispositivo è diverso, allora devi fare un
|
||||
link simbolico, o specificarlo dalla linea di comando!
|
||||
</P>
|
||||
|
||||
<P>Dalla documentazione di Linux:</P>
|
||||
|
||||
<P>Alcuni lettori CDROM sono capaci di cambiare la loro velocità. Ci sono varie
|
||||
ragioni per cambiare la velocità di un CD-ROM. CDROM pressati male possono avere
|
||||
benefici da una velocità minore della massima. I moderni lettori CDROM possono raggiungere
|
||||
velocità molto alte (fino a 24-volte è comune). E' stato riportato che questi lettori
|
||||
possono dare errori di lettura a queste alte velocità, ridurre la velocità può prevenire
|
||||
perdite di dati in queste circostanze. In fine, alcuni di questi lettori possono
|
||||
produrre un fastidioso rumore, che si può ridurre a velocità più basse.</P>
|
||||
|
||||
<P>Il modo consigliato per farlo è con un programma chiamato 'setcd' . E' parecchio
|
||||
vecchio, ma non dovrebbe essere difficile da trovare sulla rete. (AGGIORNAMENTO : il nuovo hdparm
|
||||
ha un'opzione per questo !)
|
||||
Usalo così :</P>
|
||||
|
||||
<P> <CODE>setcd -x [velocità] [cdrom]</CODE></P>
|
||||
|
||||
<P>Puoi anche provare:</P>
|
||||
|
||||
<P> <CODE>echo current_speed:4 >/proc/ide/[cdrom device]/settings</CODE></P>
|
||||
|
||||
<P>ma devi avere i privilegi di root. Io uso anche il seguente comando:</P>
|
||||
|
||||
<P> <CODE>echo file_readahead:2000000 >/proc/ide/[cdrom device]/settings</CODE></P>
|
||||
|
||||
<P>per leggere 2MB in anticipo dal file (è utile per i CDROM rigati).
|
||||
Si consiglia anche di regolare il tuo lettore CDROM anche con hdparm:</P>
|
||||
|
||||
<P> <CODE>hdparm -d1 -a8 -u1 (cdrom device)</CODE></P>
|
||||
|
||||
<P>per abilitare l'accesso DMA, readahead, e l' IRQ unmasking.
|
||||
(se non capisci, *leggi la pagina di man di hdparm*)</P>
|
||||
|
||||
<P>Per favore fai riferimento a "<CODE>/proc/ide/[cdrom device]/settings</CODE>" per una regolazione fine del
|
||||
CDROM.</P>
|
||||
|
||||
<P><B><A NAME=4.2>4.2. Vedere i DVD</A></B></P>
|
||||
|
||||
<P>Si, il vero supporto DVD è arrivato. Non devi leggere i file VOB
|
||||
manualmente dal disco pensando a cosa serve quel file nella directory video_ts,
|
||||
non devi preoccuparti se è un disco criptato o no (nel vecchio
|
||||
<B>MPlayer</B> dovevi mettere '-dvdauth /dev/dvd' nella linea di comando in caso
|
||||
di dischi criptati), e non hai bisogno neanche di montare il disco per
|
||||
leggerlo (ma montarlo fa si che Linux metta in cache la chiave CSS, così la riproduzione
|
||||
inizierà più velocemente la seconda volta).</P>
|
||||
|
||||
<P>NOTA IMPORTANTE : per favore _NON_ richiedete altre caratteristiche per la riproduzione DVD.
|
||||
Questa è la prima vera versione del supporto DVD in <B>MPlayer</B> e
|
||||
siamo occupati a cercare i bug e implementare le caratteristiche base di un lettore DVD.</P>
|
||||
|
||||
<P><B>MPlayer</B> usa libdvdread che ha di per sè supporto al parsing IFO,
|
||||
lettura dei blocchi e all' autenticazione/descrambling. libdvdread
|
||||
usa libdvdcss per gli ultimi compiti. Quindi devi scaricare libdvdcss e libdvdread
|
||||
compilarli e installarli PRIMA di eseguire lo script ./configure di
|
||||
<B>MPlayer</B> che in questo modo troverà automaticamente libdvdread.</P>
|
||||
|
||||
<UL>
|
||||
<LI><P><B>Scarica i sorgenti di libdvdread e libdvdcss.</B></P>
|
||||
|
||||
<P><I>Puoi trovarli a
|
||||
<A HREF="http://www.dtek.chalmers.se/groups/dvd">http://www.dtek.chalmers.se/groups/dvd</A>
|
||||
(clicca su 'download' nel menu a sinistra, e troverai libdvdcss e
|
||||
libdvdread in una tabella).</I></P>
|
||||
|
||||
<P><B><I>IMPORTANTE !</I></B><BR>
|
||||
Per
|
||||
<UL>
|
||||
<LI>libdvdread 0.8 - devi usare <B>libcss</B> invece di libdvdcss</LI>
|
||||
<LI>libdvdread 0.9 - devi usare <B>libdvdcss 0.0.3</B> ! Non usare versioni
|
||||
più recenti, non funzioneranno!</LI>
|
||||
<LI>Per esempio <B><U>mai</U></B> usare libdvdcss <B>1.0</B>, sarebbe eccessivamente lento!</LI>
|
||||
</UL>
|
||||
</P>
|
||||
</LI>
|
||||
|
||||
<LI><P><B>Compila e installa libdvdcss POI libdvdread.</B></P>
|
||||
|
||||
<P><I>Leggi la documentazione di questi pacchetti per farlo facilmente.</I></P></LI>
|
||||
|
||||
<LI><P><B>Supporto DVD vecchio stile - <I>OPZIONALE</I></B></P>
|
||||
|
||||
<P><I>Utile se vuoi leggere file VOB dall' hardisk. Compila e
|
||||
installa <B>libcss</B> 0.0.1 (non più recente) (se <B>MPlayer</B> non lo trova,
|
||||
usa l'opzione <CODE>-csslib /percorso/di/libcss.so</CODE>).</P></LI>
|
||||
|
||||
<LI><P><B>Ricompila MPlayer.</B></P>
|
||||
|
||||
<P><I>Esegui <CODE>./configure</CODE>. Se hai installato libdvdread correttamente, ./configure
|
||||
dirà qualcosa di simile:<BR><CODE>Checking for DVDread support ... yes</CODE><BR>
|
||||
(Naturalmente puoi mettere le tue opzioni di configurazione preferite alla riga di comando
|
||||
quando esegui ./configure). Tutto qua! Fai: <CODE>make</CODE>, poi <CODE>make install</CODE>.</I></P></LI>
|
||||
</UL>
|
||||
|
||||
<P>Naturalmente dopo aver installato libdvdcss e libdvdread non devi ricompilarli
|
||||
ogni volta che vuoi ricompilare <B>MPlayer</B> (da una nuova versione CVS
|
||||
per esempio) in quanto i pacchetti necessari sono già stati installati sulla tua
|
||||
macchina.</P>
|
||||
|
||||
<P><B>Usare MPlayer per leggere i DVD:</B></P>
|
||||
|
||||
|
||||
<TABLE BORDER=0 WIDTH=100%>
|
||||
<TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-dvd <id_titolo> </TD>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Abilita il supporto DVD e seleziona il titolo.</TD><TR>
|
||||
<TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-chapter <id_capitolo> </TD>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Seleziona il capitolo del DVD da leggere (default: leggi dal capitolo 1).
|
||||
Esempio : <CODE>-chapter 5-10</CODE> o <CODE>-chapter -9</CODE></TD><TR>
|
||||
<TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-dvdangle <id_angolo> </TD>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Seleziona l'angolo della telecamera (default: 1)</TD><TR>
|
||||
<TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-alang <codice paese> </TD>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
Il <CODE>codice paese</CODE> dice a <B>MPlayer</B> quale lingua audio preferire.
|
||||
Per la lista delle lingue disponibili, aggiungi l'opzione <CODE>-v</CODE> dopo
|
||||
le tue opzioni DVD, e cerca nell'output.<BR>
|
||||
Per esempio :<BR>
|
||||
<CODE>-alang hu,en</CODE> - prima cerca di usare l'ungaro,
|
||||
e se non disponibile, usa l'audio inglese.</TD></TR>
|
||||
<TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-slang <codice paese> </TD>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
Abilita i sottotitoli. Il <CODE>codice paese</CODE> dice a <B>MPlayer</B>
|
||||
quale lingua audio preferire.
|
||||
Per la lista delle lingue disponibili, aggiungi l'opzione <CODE>-v</CODE> dopo
|
||||
le tue opzioni DVD, e cerca nell'output.<BR>
|
||||
Per esempio :<BR>
|
||||
<CODE>-slang hu,en</CODE> - prima cerca di mostrare i sottotitoli in ungaro,
|
||||
e se non trovati, mostra i sottotitoli in inglese.</TD></TR>
|
||||
<TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-sid <id_sottotitolo> </TD>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
Mostra il canale del sottotitolo con il dato <CODE>id</CODE> (i valori possono essere
|
||||
0-31). Utile per esempio con DVD masterizzati male dove il codice paese
|
||||
seleziona il canale sbagliato.</TD></TR>
|
||||
<TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-csslib <path/nomefile></TD>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
(opzione DVD vecchio stile) Questa opzione è usata per dare una locazione diversa da quella di default
|
||||
di <CODE>libcss.so</CODE>
|
||||
</TD></TR>
|
||||
<TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-dvdauth <dispositivo DVD> </TD>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
(opzione DVD vecchio stile) Abilita l'autenticazione DVD usando il dispositivo dato.
|
||||
</TD></TR>
|
||||
<TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-dvdkey <chiave CSS></TD>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
(opzione DVD vecchio stile) Quando si decodifica non da DVD, questa opzione da la chiave
|
||||
CSS necessaria per "crackare" il DVD (la chiave è stampata al momento dell'autenticazione col
|
||||
DVD).
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
|
||||
<P>Il dispositivo di default è <CODE>/dev/dvd</CODE>, puoi cambiarlo in config.h
|
||||
(Al momento della compilazione), o puoi specificarlo con l'opzione -dvd-device :
|
||||
</P>
|
||||
|
||||
<P> <CODE>mplayer -dvd 1 -dvd-device /dev/dvd</CODE></P>
|
||||
<P> <CODE>mplayer -dvd 1 -slang en -dvd-device /dev/dvd</CODE></P>
|
||||
<P> <CODE>mplayer -dvd 1 -slang en -dvd-device /dev/dvd -chapter 20-25</CODE></P>
|
||||
<P> <CODE>mplayer -dvd 2 -alang sp -chapter 5 -dvdangle 2</CODE></P>
|
||||
<P> <CODE>mplayer -dvdauth /dev/dvd /mnt/cd/video_ts/vts_03_1.vob</CODE></P>
|
||||
<P> <CODE>mplayer -dvdkey C005D4A16D vts_03_1.vob</CODE></P>
|
||||
|
||||
<P><B><A NAME=4.3>4.3. FAQ sulla riproduzione DVD</A></B></P>
|
||||
|
||||
<TABLE BORDER=0 ALIGN=left WIDTH=100%>
|
||||
|
||||
<TD></TD><TD VALIGN=top>D:</TD><TD WIDTH=100%><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
Leggendo un DVD, ho trovato questo errore :<BR>
|
||||
<CODE>mplayer: ifo_read.c:1143: ifoRead_C_ADT_internal: Assertion nfo_length /
|
||||
sizeof(cell_adr_t) >= c_adt->nr_of_vobs' failed.</CODE>
|
||||
</B></TD><TR><TD></TD><TD VALIGN=top>R:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
Questo è un bug conosciuto di libdvdread 0.9.1, dovrebbe essere già stato corretto nella 0.9.2.
|
||||
</TD><TR><TD COLSPAN=3> </TD><TR>
|
||||
|
||||
<TD></TD><TD VALIGN=top>D:</TD><TD WIDTH=100%><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
Posso compilare libdvdread e libdvdcss per esempio sul mio dolce Sparc/Solaris?
|
||||
</B></TD><TR><TD></TD><TD VALIGN=top>R:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
Chi sa ... Per favore provaci e dicci. Ma si dice che
|
||||
dovrebbe funzionare. Per favore leggi la documentazione di libdvdread e anche la sua homepage.
|
||||
Non siamo gli autori di libdvdread.
|
||||
</TD><TR><TD COLSPAN=3> </TD><TR>
|
||||
|
||||
<TD></TD><TD VALIGN=top>D:</TD><TD WIDTH=100%><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
E i sottotitoli? MPlayer può mostrarli?
|
||||
</B></TD><TR><TD></TD><TD VALIGN=top>R:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
Si! Vedi sopra nel capitolo sui DVD.
|
||||
</TD><TR><TD COLSPAN=3> </TD><TR>
|
||||
|
||||
<TD></TD><TD VALIGN=top>D:</TD><TD WIDTH=100%><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
Come posso configurare il codice regionale del mio lettore DVD ? Non ho windows!
|
||||
</B></TD><TR><TD></TD><TD VALIGN=top>R:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
Usa il programma 'regionset':
|
||||
<A HREF="http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz">http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz</A>
|
||||
</TD><TR><TD COLSPAN=3> </TD><TR>
|
||||
|
||||
<TD></TD><TD VALIGN=top>D:</TD><TD WIDTH=100%><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
Così MPlayer legge i DVD? Allora deve usare il DeCSS! Siete in arresto
|
||||
per il paragrafo XYZ#$ del--
|
||||
</B></TD><TR><TD></TD><TD VALIGN=top>R:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
Stai alla larga scemo, non c'è nessun codice DeCSS in <B>MPlayer</B>. <B>MPlayer</B> usa libdvdread
|
||||
lincandosi su questo, e libdvdread usa libdvdcss caricandolo dinamicamente.<BR>
|
||||
</TD><TR><TD COLSPAN=3> </TD><TR>
|
||||
|
||||
<TD></TD><TD VALIGN=top>D:</TD><TD WIDTH=100%><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
Devo essere root o rendere suid fibmap_mplayer per poter leggere i DVD?
|
||||
</B></TD><TR><TD></TD><TD VALIGN=top>R:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
No, non devi. Solo per il supporto DVD vecchio stile. Però naturalmente devi avere i
|
||||
permessi giusti sul file del dispositivo DVD (in /dev).
|
||||
</TD><TR><TD COLSPAN=3> </TD><TR>
|
||||
|
||||
<TD></TD><TD VALIGN=top>D:</TD><TD WIDTH=100%><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
Come posso ... (inserisci qui qualche caratteristica che ci si aspetta da un lettore DVD)?
|
||||
</B></TD><TR><TD></TD><TD VALIGN=top>R:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
L'implementazione attuale è la prima vera implementazione di alcune funzionalità di un lettore DVD.
|
||||
Vorremmo concentrarci sulla correzione dei bug e sulle
|
||||
funzioni base prima di implementare nuove caratteristiche.
|
||||
</TD><TR><TD COLSPAN=3> </TD><TR>
|
||||
|
||||
<TD></TD><TD VALIGN=top>D:</TD><TD WIDTH=100%><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
Da dove prendo i pacchetti libdvdread e libdvdcss?
|
||||
</B></TD><TR><TD></TD><TD VALIGN=top>R:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
Dal sito di Ogle:
|
||||
<A HREF="http://www.dtek.chalmers.se/groups/dvd">http://www.dtek.chalmers.se/groups/dvd</A>.
|
||||
</TD><TR><TD COLSPAN=3> </TD><TR>
|
||||
|
||||
<TD></TD><TD VALIGN=top>D:</TD><TD WIDTH=100%><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
E' possibile leggere/codificare solo determinati capitoli ?
|
||||
</B></TD><TR><TD></TD><TD VALIGN=top>R:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
Si, vedi l'opzione <CODE>-chapter</CODE>.
|
||||
</TD><TR><TD COLSPAN=3> </TD><TR>
|
||||
|
||||
</TABLE>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
|
@ -0,0 +1,371 @@
|
|||
<HTML>
|
||||
<BODY BGCOLOR=WHITE>
|
||||
|
||||
<FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
|
||||
<P><B><A NAME=2.2>2.2. Codec supportati</A></B></P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.2.1>2.2.1. Codec video</A></B></P>
|
||||
|
||||
<P>Vedi <A HREF="http://www.mplayerhq.hu/DOCS/codecs-status.html">http://www.mplayerhq.hu/DOCS/codecs-status.html</A> per la lista completa,
|
||||
generata giornalmente!!!</P>
|
||||
|
||||
<P>I più importanti tra tutti:<BR>
|
||||
<UL>
|
||||
<LI>MPEG1 (VCD) e MPEG2 (DVD)</LI>
|
||||
<LI>DivX ;-), OpenDivX (DivX4), 3ivx e altre varianti MPEG4</LI>
|
||||
<LI>Windows Media Video 7 (WMV1) e 8 (WMV2) usato nei file .wmv</LI>
|
||||
<LI>Intel Indeo (3.1,3.2,4.1,5.0)</LI>
|
||||
<LI>MJPEG, ASV2 e altri formati hardware</LI>
|
||||
<LI>Codec di XAnim</LI>
|
||||
<LI>VIVO</LI>
|
||||
<LI>FLI</LI>
|
||||
<LI>RealVideo 1.0</LI>
|
||||
</UL></P>
|
||||
|
||||
<P>Se hai un codec Win32 non presente qui, e non ancora supportato, basta leggere <A
|
||||
HREF="#2.2.3">importare i codec</A> per avere informazioni su come aiutarci ad aggiungerne il
|
||||
supporto!</P>
|
||||
|
||||
<P><B><A NAME=2.2.1.1>2.2.1.1. DivX4</A></B></P>
|
||||
|
||||
<P>Questa sezione contiene informazioni sul codec DivX4 di
|
||||
<A HREF="http://www.projectmayo.com">ProjectMayo</A>. La loro prima versione alpha disponibile era la OpenDivX 4.0
|
||||
alpha 47 e 48. Il supporto per questa era/è incluso in <B>MPlayer</B>, e compilato di
|
||||
default. Usavamo il suo codice di postprocessing per migliorare opzionalmente la
|
||||
qualità visiva dei filmati MPEG1/2. Ora usiamo il nostro.</P>
|
||||
|
||||
<P>La nuova generazione di questo codec può anche decodificare i filmati fatti con
|
||||
l'infame codec DivX! E non è tutto, è MOLTO più veloce della
|
||||
tradizionale DLL DivX Win32 (nota che libavcodec è ANCORA PIU' VELOCE :).
|
||||
Vedi sotto per la configurazione. L'unico svantaggio di questo codec è che è
|
||||
attualmente a sorgenti chiusi. :(</P>
|
||||
|
||||
<P>Il codec può essere scaricato dalla seguente URL:</P>
|
||||
|
||||
<P> <A HREF="http://avifile.sourceforge.net">http://avifile.sourceforge.net</A></P>
|
||||
|
||||
<P>Se non va, prova :</P>
|
||||
|
||||
<P> <A HREF="http://divx.com">http://divx.com</A></P>
|
||||
|
||||
<P>Scompattalo, ed esegui <CODE>./install.sh</CODE> da root.</P>
|
||||
|
||||
<P>Nota: NON dimenticare di aggiungere <CODE>/usr/local/lib</CODE> a
|
||||
<CODE>/etc/ld.so.conf</CODE> e di eseguire <CODE>ldconfig</CODE> !</P>
|
||||
|
||||
<P><B>MPlayer</B> riconosce automaticamente se DivX4 è (propriamente) installato, basta compilare
|
||||
come sempre. Se non lo trova, non lo hai installato esattamente come sopra,
|
||||
e/o ha una configurazione sbagliata (vedi l'ultima domanda della sezione 5.1).</P>
|
||||
|
||||
<P>Usarlo è un po' macchinoso. Dato che va in conflitto col vecchio OpenDivX (la sua API è
|
||||
molto simile a quella di OpenDivX), il codice OpenDivX è disabilitato, e anche il driver OpenDivX
|
||||
chiamo questa libreria.</P>
|
||||
|
||||
<P>Generalmente possiamo indicare la questione col fatto che hai due opzioni per usare
|
||||
questo codec:</P>
|
||||
|
||||
<P><TABLE BORDER=0>
|
||||
<TD> </TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-vc odivx</TD><TD> </TD>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>usare il codec divx4 come una nuova versione di OpenDivX.
|
||||
in questo caso produce immagini YV12 nel suo proprio buffer,
|
||||
e <B>MPlayer</B> (libvo) fa la conversione dello spazio dei colori. (<B>RACCOMANDATO!</B>)</TD><TR>
|
||||
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-vc divx4</TD><TD></TD>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>usare la conversione dello spazio dei colori del codec divx4.
|
||||
in questa modalità, puoi usare anche YUY2/UYVY.</TD></TR>
|
||||
</TABLE></P>
|
||||
|
||||
<P>Il metodo 'odivx' è solitamente più veloce, dovuto al fatto che trasferisce
|
||||
i dati dell'immagine in formato YV12 (planar YUV 4:2:0), richiedendo così molta meno
|
||||
larghezza di banda sul bus. Per le modalità YUV (YUY2, UYVY) usa il metodo 'divx4'.
|
||||
Per le modalità RGB puoi scegliere liberamente, la loro velocità è la stessa, forse
|
||||
differisce a seconda dell'attuale bpp.</P>
|
||||
|
||||
<P>Nota: supporta anche il postprocessing (usa l'opzione <CODE>-oldpp</CODE> per
|
||||
abilitarlo), ma il campo dei valori è strano: </P>
|
||||
|
||||
<P><TABLE BORDER=0>
|
||||
<TD> </TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>0</TD><TD> </TD>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>nessun postproc</TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>10 .. 20</TD>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>postprocessing, normale (come il livello 2 con divxds)</TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>30 .. 60</TD>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>alto prostprocessing, divora molta CPU (come il livello 4 con divxds</TD><TR>
|
||||
</TABLE></P>
|
||||
|
||||
<P><B><A NAME=2.2.1.2>2.2.1.2. DivX/libavcodec di ffmpeg</A></B></P>
|
||||
|
||||
<P>Dalla versione 0.4.2 , <A HREF="http://ffmpeg.sourceforge.net">ffmpeg</A> contiene un codec DivX <B>opensource</B>,
|
||||
che è compatibile con il tradizionale DivX. <B>MPlayer</B> supporta questo codec,
|
||||
e questo rende possibile <B>vedere filmati DivX/DivX4 su piattaforme non-x86</B>,
|
||||
ed avere una decodifica <B>DivX/DivX4</B> molto più veloce di quella dei codec Win32 e
|
||||
dell'originale libreria DivX4!</P>
|
||||
|
||||
<P>Contiene anche molti bei codec, come RealVideo 1.0, MJPEG, h263,
|
||||
h263+, ecc.</P>
|
||||
|
||||
<P>Se usi MPlayer
|
||||
|
||||
<UL>
|
||||
<LI>dalla release : allora hai libavcodec proprio nel pacchetto, basta
|
||||
compilare <B>MPlayer</B> come al solito.</LI>
|
||||
<LI>dal CVS : devi scaricarlo manualmente direttamente dall'albero di <B>FFmpeg</B>
|
||||
:
|
||||
|
||||
<P><CODE>
|
||||
cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg login<BR>
|
||||
cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg co ffmpeg
|
||||
</CODE></P>
|
||||
|
||||
<P>Nota: <I>se fai la copia delle sottodirettori con CVS, la prossima volta basta fare
|
||||
'cvs update'.</I></P>
|
||||
<P>Ora, sposta la directory dei sorgenti di <B>libavcodec</B> appena scaricata,
|
||||
(con tutte le sue sottodirectory) nell'albero di <B>MPlayer</B>, quindi risulterà così
|
||||
:</P>
|
||||
|
||||
<P> <CODE>main/libavcodec</CODE></P>
|
||||
|
||||
<P>Fare un link simbolico NON è abbastanza, devi copiarlo/spostarlo!!!</P>
|
||||
|
||||
</LI>
|
||||
</UL>
|
||||
</P>
|
||||
|
||||
<P>Quindi compila. configure controlla che tutto dia a posto, e può essere compilato. Il
|
||||
codec supporta anche il <B>postprocessing!</B></P>
|
||||
|
||||
<P>Per usarlo, aggiorna il tuo file codecs.conf, e modificalo come dicono la pagina di man,
|
||||
o il file example.conf (l'opzione -vfm).</P>
|
||||
|
||||
<P>Per raggiungere la <B>velocità massima</B> sul mio K6, rimuovo la sezione
|
||||
<CODE>ffmpeg12</CODE> da codecs.conf (questo codec non è ottimizzato, e
|
||||
libmpeg2 è due volte più veloce), e metto <CODE>vfm=5</CODE> nel mio file di configurazione.
|
||||
Quindi <B>MPlayer</B> usa sempre <B>ffdivx/ffodivx</B> per decodificare i file
|
||||
<B>DivX/DivX4</B>, e libmpeg2 per MPEG1/2 . Con questo e la mia Matrox G400, posso vedere anche
|
||||
i filmati DivX/DivX4 con la più alta risoluzione sul mio K6/2 500, senza framedrop.</P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.2.1.3>2.2.1.3. I codec di XAnim</A></B></P>
|
||||
|
||||
<P>Introduzione: usare (alcuni) codec XAnim con altri programmi che XAnim, è
|
||||
<B><I>ILLEGALE</I></B>. E' <B>TUA</B> responsibilità leggere la sua licenza,
|
||||
e comportarti di conseguenza. Gli autori di <B>MPlayer</B> non possono ritenersi responsabili
|
||||
per qualunque atto illegale dell'utente.</P>
|
||||
|
||||
<P>Quindi si, <B>MPlayer</B> può usare i codec di XAnim per la decodifica. E' molto facile
|
||||
abilitarli:</P>
|
||||
|
||||
<P>
|
||||
<UL>
|
||||
<LI>scarica i codec che vorresti usare dal
|
||||
<A HREF="http://xanim.va.pubnix.com">sito di XAnim</A>. Il codec <B>3ivx</B>
|
||||
non è lì, quindi scaricalo dal <A HREF="http://www.3ivx.com">sito 3ivx</A>.</LI>
|
||||
|
||||
<LI>usa l'opzione <CODE>--with-xanimlibdir</CODE> per dire a configure dove
|
||||
può trovare i codec xanim. Di default, li cerca in <CODE>/</CODE> (...) .
|
||||
Alternativamente puoi impostare la variabile d'ambiente <I>XANIM_MOD_DIR</I> alla
|
||||
directory dei codec XAnim.</LI>
|
||||
|
||||
<LI>rinomina i file tagliando la parte relativa all'architettura, quindi avranno dei
|
||||
nomi come questi : <CODE>vid_cvid.xa, vid_h263.xa, vid_iv50.xa</CODE>
|
||||
|
||||
</UL>
|
||||
</P>
|
||||
|
||||
<P>Sono la famiglia di codec numero 10, quindi puoi voler usare l'opzione <CODE>-vfm 10</CODE>
|
||||
per dire a <B>MPlayer</B> di usarli se possibile.</P>
|
||||
|
||||
<P>I codec testati sono: <B>Indeo 3.2</B>, <B>4.1</B>, <B>5.0</B>, <B>CVID</B>, <B>3ivX</B>, <B>h263</B>.</P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.2.1.4>2.2.1.4. Video VIVO</A></B></P>
|
||||
|
||||
<P><B>MPlayer</B> può leggere i video Vivo (1.0 e 2.0). Il codec più adatto
|
||||
per i file 1.0 è il decoder H263 di FFmpeg, puoi usarlo con l'opzione <CODE>-vc
|
||||
ffh263</CODE> (default) (devi avere il più recente libavcodec !). Per i file 2.0, usa
|
||||
il file dll <CODE>ivvideo.dll</CODE> di Win32 (da <A
|
||||
HREF="http://www.mplayerhq.hu/MPlayer/samples/drivers32/ivvideo.dll">qui</A>),
|
||||
e installalo in <CODE>/usr/lib/win32</CODE> o dovunque metti i codec
|
||||
Win32. Quest'ultimo codec non supporta le modalità YV12 e YUY2 solo BGR,
|
||||
quindi utilizzabile solo con gli output X11 e OpenGL. Si spera che ffh263 supporterà
|
||||
i file VIVO 2.0 in futuro.</P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.2.1.5>2.2.1.5. Video MPEG 1/2</A></B></P>
|
||||
|
||||
<P>MPEG1 e MPEG2 sono decodificati con la libreria nativa <B>libmpeg2</B>.
|
||||
Il suo codice sorgente è incluso in <B>MPlayer</B>, e naturalmente è multi-piattaforma.
|
||||
Gestiamo i file video MPEG1/2 difettosi controllando quale firma ritorna
|
||||
libmpeg2, e quando da sig11 (segmentation fault), rapidamente
|
||||
reinizializziamo il codec, e continuiamo esattamente da dove avviene l'errore.
|
||||
Nessuna diminuzione di velocità misurabile.</P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.2.1.6>2.2.1.6. MS Video1</A></B></P>
|
||||
|
||||
<P>Questo è un pessimo codec molto vecchio di Microsoft. In passato era
|
||||
decodificato con il codec Win32 <CODE>msvidc32.dll</CODE>, ora abbiamo la nostra implementazione
|
||||
open-source (di <A HREF="mailto:melanson@pcisys.net">Mike
|
||||
Melanson</A>).</P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.2.1.7>2.2.1.7. Cinepak CVID</A></B></P>
|
||||
|
||||
<P><B>MPlayer</B> ora ha il suo decoder opensource, multi-piattaforma per Cinepak.
|
||||
Supporta output YUV, così permette il ridimensionamento hardware se lo consente il driver di output video.
|
||||
Usato di default.</P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.2.1.8>2.2.1.8. RealVideo</A></B></P>
|
||||
|
||||
<P>Attualmente è supportato SOLO il codec RealVideo 1.0 (fourcc RV10), per mezzo di
|
||||
ffmpeg. Purtroppo, nessun nuovo file RealMedia ha questo, solo i nuovi codec
|
||||
RV20 e RV30 che sono closed-source. Il loro supporto futuro è
|
||||
improbabile :(</P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.2.2>2.2.2. Codec audio</A></B></P>
|
||||
|
||||
<P>I più importanti tra tutti :<BR>
|
||||
<UL>
|
||||
<LI>MPEG layer 2, e layer 3 (MP3) (codice <B>nativo</B>, con ottimizzazioni MMX/SSE/3DNow!)</LI>
|
||||
<LI>MPEG layer 1 (codice <B>nativo</B>, con libavcodec)</LI>
|
||||
<LI>AC3 Dolby (codice <B>nativo</B>, con ottimizzazioni SSE/3DNow!)</LI>
|
||||
<LI>Ogg Vorbis (libreria <B>nativa</B>)</LI>
|
||||
<LI>Voxware (usando la DLL DirectShow)</LI>
|
||||
<LI>alaw, msgsm, pcm e altri semplici vecchi formati audio</LI>
|
||||
<LI>VIVO (g723, Vivo Siren)</LI>
|
||||
<LI>RealAudio: DNET (AC3 a basso bitrate)</LI>
|
||||
</UL></P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.2.2.1>2.2.2.1. Decodifica software AC3</A></B></P>
|
||||
|
||||
<P>Questo è il codec di default usato per i file con audio AC3.</P>
|
||||
|
||||
<P>Il decoder AC3 può creare mix audio in output per 2, 4, o 6
|
||||
altoparlanti. Quando configurato per 6, questo decoder fornisce
|
||||
output separato per tutti i canali AC3 al driver della scheda sonora,
|
||||
consentendo il pieno "suono surround" senza il decoder AC3 esterno
|
||||
necessario per il codec hwac3.</P>
|
||||
|
||||
<P>Usa l'opzione <CODE>-channels</CODE> per selezionare il numero di canali output.
|
||||
Usa <CODE>-channels 2</CODE> per lo stereo. Per 4 canali (Sinistro Avanti,
|
||||
Destro Avanti, Surround Sinistro e Surround Destro), usa
|
||||
<CODE>-channels 4</CODE>. In questo caso, qualsiasi canale Centrale sarà mixato ugualmente
|
||||
ai canali frontali. In ultimo, "-channels 6" darà in output tutti i canali AC3
|
||||
come sono stati codificati - nell'ordine Sinistro, Destro, Surround Sinistro,
|
||||
Surround Destro, Centro e LFE.</P>
|
||||
|
||||
<P>Il numero di canali output di default è 2.</P>
|
||||
|
||||
<P>Per usare più di 2 canali, devi usare OSS,
|
||||
ed avere un driver della scheda sonora che supporta il numero appropriato di
|
||||
canali output tramite l' ioctl SNDCTL_DSP_CHANNELS. Per esempio, una
|
||||
versione del driver emu10k1 (usato con le schede SB Live) più recente dell'agosto
|
||||
2001 dovrebbe andare bene (ho sentito che anche il più nuovo CVS di ALSA lo supporta).</P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.2.2.2>2.2.2.2. Decodifica hardware AC3</A></B></P>
|
||||
|
||||
<P>Devi avere una scheda sonora capace di decodificare AC3, con l'uscita digitale (SP/DIF). Il
|
||||
driver della scheda deve supportare il formato AFMT_AC3 (come fanno SB Live! o C-Media).
|
||||
Connetti il tuo decoder AC3 all'uscita SP/DIF, e usa l'opzione '-ac hwac3'.
|
||||
Può funzionare oppure no (sperimentale). (probabilmente funzionerà solo
|
||||
con schede C-Media attualmente, sentiti libero di correggerlo per la SB Live)</P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.2.2.3>2.2.2.3. Supporto libmad</A></B></P>
|
||||
|
||||
<P><A HREF="http://mad.sourceforge.net">libmad</A> è una libreria di decodifica audio MPEG
|
||||
multi-piattaforma. Se non sai a cosa serve, probabilmente non ne hai bisogno.</P>
|
||||
|
||||
<P>Per abilitare il supporto, compila con l'opzione di configure <CODE>--enable-mad</CODE>.
|
||||
</P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.2.2.4>2.2.2.4. Audio VIVO</A></B></P>
|
||||
|
||||
<P>Il codec audio usato nei file VIVO dipende dal fatto che sia un file VIVO/1.0 o
|
||||
VIVO/2.0. I file VIVO/1.0 hanno audio <B>g.723</B>, e i file VIVO/2.0
|
||||
hanno <B>Vivo Siren</B>. Entrambi sono <U>supportati</U>. Puoi prendere la DLL Win32 g.723/Siren
|
||||
da
|
||||
<A HREF="http://www.mplayerhq.hu/MPlayer/samples/drivers32/vivog723.acm">qui</A>,
|
||||
quindi copiala nella directory <CODE>/usr/lib/win32</CODE>.</P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.2.2.5>2.2.2.5. RealAudio</A></B></P>
|
||||
|
||||
<P>Attualmente il solo supportato è il codec DNET. In realtà è una
|
||||
versione a basso bitrate del famoso codec AC3. Si può trovare sia nei vecchi
|
||||
che nei nuovi filmati RealMedia.</P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.2.3>2.2.3. Come importare i codec Win32</A></B></P>
|
||||
|
||||
<P><B><A NAME=2.2.3.1>2.2.3.1. codec VFW</A></B></P>
|
||||
|
||||
<P>VfW (Video for Windows) è la vecchia API video per Windows. I suoi codec hanno l'estensione
|
||||
.DLL o (raramente) .DRV.
|
||||
Se <B>MPlayer</B> fallisce col tuo AVI dicendo:</P>
|
||||
|
||||
<P> <CODE>UNKNOWN video codec: HFYU (0x55594648)</CODE></P>
|
||||
|
||||
<P>Significa che il tuo AVI è codificato con un codec che ha HFYU fourcc (HFYU =
|
||||
codec HuffYUV, DIV3 = DivX Low Motion, ecc...). Ora che lo sappiamo, dobbiamo
|
||||
scoprire quale DLL carica Windows per leggere questo file. Nel nostro caso,
|
||||
il system.ini contiene questo (insieme a molti altri):</P>
|
||||
|
||||
<P> <CODE>VIDC.HFYU=huffyuv.dll</CODE></P>
|
||||
|
||||
<P>Quindi abbiamo bisogno del file huffyuv.dll. Nota che i codec audio sono specificato
|
||||
dal prefisso MSACM:</P>
|
||||
|
||||
<P> <CODE>msacm.l3acm=L3codeca.acm</CODE></P>
|
||||
|
||||
|
||||
<P>Questo è il codec MP3c.
|
||||
Quindi, ora abbiamo tutte le informazioni (fourcc, file del codec, AVI di esempio), manda
|
||||
la tua richiesta di supporto codec via mail, e carica questi file all' FTP:</P>
|
||||
|
||||
<P> <CODE>ftp://ftp.mplayerhq.hu/MPlayer/incoming/[nomecodec]/</CODE></P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.2.3.2>2.2.3.2. Codec DirectShow</A></B></P>
|
||||
|
||||
<P>DirectShow è la nuova API video, che è anche peggiore della precedente.
|
||||
Le cose sono più difficili con DirectShow, infatti
|
||||
<UL>
|
||||
<LI>system.ini non contiene le informazioni necessarie, ma sono scritte nel
|
||||
registro :(
|
||||
<LI>abbiamo bisogno del GUID del codec.
|
||||
</UL></P>
|
||||
|
||||
<P>Quindi cerchiamo ne dannato registro..
|
||||
<UL>
|
||||
<LI>Esegui 'regedit'
|
||||
<LI>premi ctrl-f, disabilita i primi due checkbox, e abilita il terzo. Scrivi
|
||||
il fourcc del codec. (per es.: TM20)
|
||||
<LI>dovresti vedere un campo che contiene il path e il nome del file
|
||||
(per es. : C:\WINDOWS\SYSTEM\TM20DEC.AX)
|
||||
<LI>ora che abbiamo il file, serve il GUID. Prova a cercare ancora, ma
|
||||
ora cercheremo il nome del codec, non il fourcc. Si può conoscere il nome
|
||||
quando il Media Player sta leggendo il file, guardando in File/Properties/Advanced.
|
||||
Se no, peccato ;) Prova ad indovinarlo.
|
||||
(per es. cerca : TrueMotion)
|
||||
<LI>se trovato (nel registro), dovrebbe esserci un campo FriendlyName, e un campo CLSID.
|
||||
Scriviti quei 16 byte di CLSID, questo è il GUID che ci serve.
|
||||
</UL></P>
|
||||
|
||||
<P>NOTA: se la ricerca fallisce, prova ad abilitare tutte le checkbox.. potrai avere
|
||||
falsi risultati, ma forse avrai quello giusto, anche...</P>
|
||||
<P>NOTA: butta quella merda di M$.</P>
|
||||
|
||||
|
||||
<P>Quindi, ora abbiamo tutte le informazioni (fourcc, GUID, file del codec, AVI di esempio),
|
||||
manda la tua richiesta di supporto codec via mail, e carica questi file all' FTP:<BR>
|
||||
ftp://ftp.mplayerhq.hu/MPlayer/incoming/[nomecodec]/</P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,392 @@
|
|||
<HTML>
|
||||
<BODY BGCOLOR=white>
|
||||
|
||||
<FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
|
||||
<P><B><A NAME=2.4>2.4. Codificare con MEncoder</A></B></P>
|
||||
|
||||
<P><B><A NAME=2.4.1>2.4.1. Generale</B></P>
|
||||
|
||||
<P><B>MEncoder</B> (<B>MPlayer</B>'s Movie Encoder, Codificatore Filmati di MPlayer) è un semplice encoder,
|
||||
studiato per codificare i filmati leggibili da MPlayer
|
||||
(<B>AVI/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET</B>) in altri formati leggibili da MPlayer
|
||||
(vedi sotto). Può usare vari codec, come <B>DivX4</B> (1 o
|
||||
2 passaggi), libavcodec, audio <B>PCM</B>/<B>MP3</B>/<B>VBRMP3</B>. Ha anche
|
||||
capacità di copiare da stream e di ridimensionare i video.</P>
|
||||
|
||||
<P><B><A NAME=2.4.2>2.4.2. Compilazione</B></P>
|
||||
|
||||
<P>
|
||||
<UL>
|
||||
<LI><B>OPZIONALE</B> - leggi le istruzioni di compilazione di <B>MPlayer</B>, contengono informazioni
|
||||
su come installare <I>libdvdread</I> per il supporto <B>DVD</B>, ecc.</LI>
|
||||
<LI><B>OPZIONALE</B> - scarica le librerie <B>DivX4linux</B> più recenti
|
||||
da <A HREF="http://avifile.sourceforge.net/download.htm">avifile.sourceforge.net</A>,
|
||||
e installale CORRETTAMENTE. Ti servono se vuoi codificare in DivX4
|
||||
(1/2 passaggi).</LI>
|
||||
<LI><B>OPZIONALE</B> - per il supporto libavcodec, installa libavcodec come
|
||||
descritto nella <A HREF="codecs.html#2.2.1.2">sezione libavcodec</A>.</LI>
|
||||
<LI><B>OPZIONALE</B> - scarica e compila <B>libmp3lame</B> (da lame 3.89beta o lame CVS).<BR>
|
||||
<B>ATTENZIONE : NON COMPILARE LAME CON <U>GCC 2.96</U> ! Non funzionerà
|
||||
propriamente !</B><BR>
|
||||
Questo
|
||||
è necessario per la possibilità di codificare audio CBR/VBR MP3. Nota che il singolo binario di
|
||||
<CODE>lame</CODE> non è sufficiente. Comunque: meno ottimizzazione usi
|
||||
per lame, migliore sarà la qualità. Puoi testare la
|
||||
qualità eseguendo <CODE>make test</CODE> dopo aver finito il processo di compilazione di
|
||||
lame. Il numero risultante dovrebbe essere minore di <B>30</B>. Non ti spaventare
|
||||
se è <B>400</B> o comunque alto, non dovresti sentire una diminuzione di
|
||||
qualità. Oh, e se il tuo compilatore non esegue nemmeno <CODE>make test</CODE> ...
|
||||
Bhe, cancella quel <B>GCC 2.96</B>.</LI>
|
||||
</UL>
|
||||
</P>
|
||||
|
||||
<P>Sei pronto. Come forse saprai, altri strumenti per la codifica necessitano installata
|
||||
la libreria <I>avifile</I>. <B>MEncoder</B> non ne ha per niente bisogno.</P>
|
||||
|
||||
<P><B><A NAME=2.4.3>2.4.3. Caratteristiche di MEncoder</B></P>
|
||||
|
||||
<P>
|
||||
<UL>
|
||||
<LI>codifica dall'ampia scelta di formati file e decoder di <B>MPlayer</B></LI>
|
||||
<LI>codifica in tutti i codec del
|
||||
<A HREF=codecs.html#2.2.1.2>libavcodec</A>di ffmpeg</LI>
|
||||
<LI>codifica video da <B>sintonizzatori TV compatibili con V4L</B></LI>
|
||||
<LI>codifica/multiplexing a file AVI intervallati con un indice corretto</LI>
|
||||
<LI>1, 2 o 3 passaggi video <B>DivX4</B></LI>
|
||||
<LI>Audio MP3 <B>VBR</B> - <B>NOTA IMPORTANTE</B> : l'audio MP3 VBR non sempre
|
||||
viene letto bene da i lettori di windows! Se hai intenzione di codificare AVI
|
||||
principalmente per windows, codifica con CBR!</LI>
|
||||
<LI>Audio PCM</LI>
|
||||
<LI>copia da stream</LI>
|
||||
<LI>sincronizzazione dell'input A/V (basata su PTS, può essere disabilitata con l'opzione -mc 0)</LI>
|
||||
<LI>correzione FPS con l'opzione <CODE>-ofps</CODE> (utile quando si codifica
|
||||
un VOB a 29.97fps in un AVI a 24fps)</LI>
|
||||
<LI>ridimensionamento filmati</LI>
|
||||
</UL>
|
||||
</P>
|
||||
|
||||
<P><B><I>Caratteristiche programmate</I></B> :
|
||||
<UL>
|
||||
<LI>usare audio da un file separato (AC3, MP3, OGG)</LI>
|
||||
<LI>ancora più ampia scelta disponibile di formati/codec di (de)codifica
|
||||
(creare file VOB con flussi DivX4/Indeo5/VIVO :)</LI>
|
||||
<LI>codifica audio da v4l</LI>
|
||||
</UL>
|
||||
</P>
|
||||
|
||||
<P><B><A NAME=2.4.3.1>2.4.3.1. Codificare DivX4 in 2 o 3 passaggi</B></P>
|
||||
|
||||
<P><U><B>codifica a 2 passaggi :</B></U> il nome deriva dal fatto che questo metodo codifica il file <I>due volte</I>.
|
||||
La prima codifica (<I>passaggio</I> doppiato) crea dei file temporanei (*.log) con una grandezza
|
||||
di pochi megabyte, non cancellarli ancora (puoi cancellare l' AVI). Nel secondo passaggio, viene creato il
|
||||
file di output, usando i dati sul bitrate dei file temporanei. Il file risultante avrà una
|
||||
migliore qualità d'immagine. Se questa è la prima volta che ne senti parlare,
|
||||
dovresti consultare alcune guide disponibili in rete.</P>
|
||||
|
||||
<P>Questo esempio mostra come codificare un DVD in un AVI DivX4 a 2 passaggi. Bisogna dare solo
|
||||
due comandi :<BR>
|
||||
<CODE> rm frameno.avi</CODE> - rimuovi questo file che può essere rimasto
|
||||
da una precedente codifica a 3 passaggi (interferisce col processo attuale)<BR>
|
||||
<CODE> mencoder -dvd 2 -divx4opts br=1100
|
||||
-o movie.avi -pass 1<BR>
|
||||
mencoder -dvd 2 -divx4opts br=1100 -o movie.avi -pass 2</CODE></P>
|
||||
|
||||
<P><U><B>codifica a 3 passaggi :</B></U> questa è un' estensione della codifica a 2 passaggi,
|
||||
dove la codifica audio avviene in un passaggio separato. Questo metodo abilita la
|
||||
stima del bitrate video raccomandato per far stare il file risultante in un CD. In più,
|
||||
l'audio è codificato solo una volta, diversamente dalla modalità in 2 passaggi. Schema :</P>
|
||||
|
||||
<P>
|
||||
<TABLE>
|
||||
<TR>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
<CODE>rm frameno.avi</CODE></TD>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
<B>rimuovi il file temporaneo che va in conflitto</B></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
<CODE>mencoder <file/DVD> -ovc frameno -o
|
||||
frameno.avi</CODE></TD>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
<B><U>Primo passaggio</U> : sarà creato un file avi di solo audio, contenente SOLO
|
||||
il flusso audio richiesto. Non dimenticare <CODE>-lameopts</CODE>, se ne
|
||||
hai bisogno. Se stai codificando un filmato lungo, MEncoder da
|
||||
i valori di bitrate consigliati per dimensioni di destinazione di 650Mb, 700Mb, e 800Mb,
|
||||
dopo la fine di questo passaggio.</B></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
<CODE>mencoder <file/DVD> -oac copy -pass 1
|
||||
-divx4opts br=<bitrate></CODE></TD>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
<B><U>Secondo passaggio</U> : cioè il primo passaggio della codifica del video DivX4.
|
||||
Puoi specificare il bitrate video dato da MEncoder alla fine del precedente
|
||||
passaggio.</B></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
<CODE>mencoder <file/DVD> -oac copy -pass 2
|
||||
-divx4opts br=<bitrate></CODE></TD>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
<B><U>Terzo passaggio</U> : cioè il secondo passaggio della codifica video DivX4.
|
||||
Puoi specificare il bitrate video dato da MEncoder alla fine del precedente
|
||||
passaggio. In questo passaggio, l'audio da <CODE>frameno.avi</CODE> sarà inserito
|
||||
nel file di destinazione.. ed è tutto pronto!</B></TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</P>
|
||||
|
||||
<P><B>Esempio di codifica a 3 passaggi :</B></P>
|
||||
|
||||
<P><CODE> rm frameno.avi</CODE> - rimuovi questo file,
|
||||
che può essere rimasto da una precedente codifica a 3 passaggi (interferisce con quella attuale)<BR>
|
||||
|
||||
<CODE> mencoder -dvd 2 -ovc frameno
|
||||
-o frameno.avi<BR>
|
||||
<CODE> mencoder -dvd 2
|
||||
-divx4opts br=1100 -oac copy -o movie.avi -pass 1<BR>
|
||||
mencoder -dvd 2
|
||||
-divx4opts br=1100 -oac copy -o movie.avi -pass 2</CODE>
|
||||
</P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.4.3.2>2.4.3.2. Ridimensionare i filmati</B></P>
|
||||
|
||||
<P>Spesso emerge l'esigenza di ridimensionare le immagini del filmato. Le ragioni possono essere molte,
|
||||
come diminuire la grandezza del file di output, codificare SVCD in DivX. I DVD "rippati"
|
||||
sono spesso da ridimensionare, per esempio un DVD in scala 4:3 dovrebbe essere in 640x480, specialmente se vuoi
|
||||
che entri in 1 CD, e avere una buona qualità allo stesso tempo.
|
||||
Gli SVCD hanno dimensione di 480x480, e la loro intestazione contiene le proporzioni
|
||||
che il lettore dovrebbe usare (Es.: 480x480 + 4:3 = 640x480). Però quando codifichi
|
||||
un file AVI (DivX), devi fare attenzione che l'intestazione dell'AVI non includa
|
||||
questo valore. Quindi, l'unica soluzione è ridimensionare.</P>
|
||||
|
||||
<P><B>MEncoder</B> può ridimensionare le immagini di input se sono in formato YV12 (per esempio:
|
||||
ffdivx, driver odivx, o mpeg1/2). Le dimensioni di output si specificano co le opzioni
|
||||
<CODE>-x</CODE>, e <CODE>-y</CODE>. Inoltre, ci sono 3 filtri
|
||||
di ridimensionamento in <B>MEncoder</B>, <I>0
|
||||
: bilineare veloce</I>, <I>1 : bilineare</I>, <I>2 : bicubico</I> (migliore qualità).
|
||||
Possono essere specificati con l'opzione <CODE>-sws</CODE>. Se non specificato,
|
||||
<B>MEncoder</B> userà 0 : bilineare veloce.</P>
|
||||
|
||||
<P>Ridimensionare è molto semplice :<BR>
|
||||
<CODE> mencoder sample-svcd.mpg -divx4opts br=1300 -x 640 -y 480 -sws 2 -o output.avi</CODE></P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.4.3.3>2.4.3.3. Copia da stream</B></P>
|
||||
|
||||
<P><B>MEncoder</B> può gestire i flussi in entrata in due modi : <B>codificandoli</B> o
|
||||
<B>copiandoli</B>. Questa sezione tratta la <B>copia</B>.</P>
|
||||
|
||||
<P>
|
||||
<UL>
|
||||
<LI><B>Flusso video</B> (opzione <CODE>-ovc copy</CODE>) : si possono fare tante belle cose :)<BR>
|
||||
Come, mettere (non convertire!) video FLI o VIVO o MPEG1 in un file AVI !
|
||||
Naturalmente solo <B>MPlayer</B> può leggere tali file :) E probabilmente non ha
|
||||
alcuna utilità nella vita reale. Seriamente : la copia del flusso video può essere utile per esempio
|
||||
quando si vuole codificare solo il flusso audio (come, PCM non compresso
|
||||
in MP3).</LI>
|
||||
|
||||
<LI><B>Flusso audio</B> (opzione <CODE>-oac copy</CODE>) : inutile spiegare.</LI>
|
||||
</UL>
|
||||
</P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.4.3.4>2.4.3.4. Correggere gli AVI con indice o intervallo malformati</B></P>
|
||||
|
||||
<P>La cosa più semplice. Copiamo semplicemente i flussi audio e video, e
|
||||
<B>MEncoder</B> genera l'indice. Naturalmente questo non può correggere possibili bug
|
||||
nei flussi video e/o audio. Corregge anche i file con mal intervallati,
|
||||
così non sarà più necessaria l'opzione <CODE>-ni</CODE> per leggerli.</P>
|
||||
|
||||
<P>Comando : <CODE>mencoder input.avi -ovc copy -oac copy -o output.avi</CODE></P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.4.3.5>2.4.3.5. Codificare con le famiglia di codec <I>libavcodec</I></B></P>
|
||||
|
||||
<P><A HREF="codecs.html#2.2.1.2">libavcodec</A> fornisce una semplice codifica in
|
||||
molti interessanti formati video e audio (al momento i suoi codec audio non sono
|
||||
supportati). Puoi codificare i seguenti codec :</P>
|
||||
|
||||
<P>
|
||||
<UL>
|
||||
<LI>mjpeg - Motion JPEG</LI>
|
||||
<LI>h263 - H263</LI>
|
||||
<LI>h263p - H263 Plus</LI>
|
||||
<LI>mpeg4 - DivX4</LI>
|
||||
<LI>msmpeg4 - il vecchio DivX</LI>
|
||||
<LI>rv10 - un vecchio codec RealVideo</LI>
|
||||
<LI>mpeg1video - video MPEG1 :)</LI>
|
||||
</UL>
|
||||
</P>
|
||||
|
||||
<P>La prima colonna contiene i nomi dei codec che devono essere passati dopo l'opzione
|
||||
<CODE>vcodec</CODE>, come : <CODE>-lavcopts vcodec=msmpeg4</CODE></P>
|
||||
|
||||
<P>Un esempio, con la compressione MJPEG :<BR>
|
||||
<CODE> mencoder -dvd 2 -o title2.avi -ovc lavc -lavcopts vcodec=mjpeg</CODE></P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.4.4>2.4.4. Sintassi</B></P>
|
||||
|
||||
<P> <CODE>mencoder [opzioni] [file di input] [opzioni] ...</P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.4.5>2.4.5. Opzioni disponibili</B></P>
|
||||
|
||||
<P>NOTA : per tutte le opzioni disponibili, <B>leggi la pagina di man !</B></P>
|
||||
|
||||
<P>
|
||||
Dato che <B>MEncoder</B> è costruito sulle stesso codice di <B>MPlayer</B>, ci sono
|
||||
molte opzioni di <B>MPlayer</B> che hanno funzioni anche in <B>MEncoder</B>!
|
||||
Vedi, puoi usare <CODE>-sid</CODE> per "rippare" un DVD con i sottotitoli, o
|
||||
<CODE>-noidx</CODE> per ignorare in input l'indice malformato di un AVI. <B>Sii sveglio!</B>
|
||||
</P>
|
||||
|
||||
<TABLE BORDER=1>
|
||||
<TR>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
<I>-ss</I> tempo</TD>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
comincia a codificare dal tempo dato (può partire solo dai frame chiave !)
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
<I>-endpos</I> tempo</TD>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
smetti di codificare al tempo dato. Vedi la pagina di man per esempi !
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
<I>-o</I> nomefile</TD>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
specifica il nome del file di output
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
<I>-x</I> larghezza in pixel</TD>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
ridimensiona l'output alla data larghezza in pixel
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
<I>-y</I> altezza in pixel</TD>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
ridimensiona l'output alla data altezza in pixel
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
<I>-sws</I> 0-2</TD>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
metodo di ridimensionamento<BR>
|
||||
0 - bilineare veloce<BR>
|
||||
1 - bilineare<BR>
|
||||
2 - bicubico (migliore qualità)<BR>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
<I>-ovc</I> nomecodec</TD>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
Codifica col codec dato (i nomi dei codec sono quelli presenti in codecs.conf). Esempi:<BR>
|
||||
<B>help</B> - ottieni una lista dei codec disponibili<BR>
|
||||
<B>null</B> - non creare un flusso video nell'AVI di output<BR>
|
||||
<B>raw</B> - crea un video non compresso<BR>
|
||||
<B>rawrgb</B> - ?<BR>
|
||||
<B>copy</B> - nessuna codifica, copia il flusso (solo da AVI/ASF per ora)<BR>
|
||||
<B>divx4</B> - codifica in DivX4<BR>
|
||||
<B>lavc</B> - codifica con un codec di libavcodec<BR>
|
||||
<B>vfw</B> - codifica con una DLL Windows<BR>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
<I>-oac</I> nomecodec</TD>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
Codifica col codec dato (i nomi dei codec sono quelli presenti in codecs.conf). Esempi:<BR>
|
||||
<B>help</B> - ottieni una lista dei codec disponibili<BR>
|
||||
<B>copy</B> - nessuna codifica, copia il flusso (solo da AVI/ASF per ora)<BR>
|
||||
<B>pcm</B> - codifica in un PCM non compresso<BR>
|
||||
<B>mp3lame</B> - codifica in MP3 (usando Lame)<BR>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
<I>-divx4opts</I></TD>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
Se codifichi in DivX4, puoi specificare i sui parametri qui, come:<BR>
|
||||
<CODE>-divx4opts br=1800:deinterlace:key=250</CODE><BR>
|
||||
Opzioni comuni: <B>(per la lista completa leggi la pagina di man!)</B><BR>
|
||||
<B>help</B> - ottieni l'aiuto<BR>
|
||||
<B>br</B>=XXX - specifica il bitrate in kbit <4-16000> o bit <16001-24000000><BR>
|
||||
<B>q</B>=XXXX - qualità (1-veloce, 5-migliore - predefinito 5)<BR>
|
||||
<B>key</B>=XXXX - intervallo tra i frame chiave<BR>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
<I>-lavcopts</I></TD>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
Se codifichi in libavcodec, puoi specificare i sui parametri qui, come:<BR>
|
||||
<CODE>-lavcopts vcodec=msmpeg4:vbitrate=1800:vhq:keyint=250</CODE><BR>
|
||||
Opzioni comuni: <B>(per la lista completa leggi la pagina di man!)</B><BR>
|
||||
<B>help</B> - ottieni l'aiuto<BR>
|
||||
<B>vcodec</B>=XXX - seleziona il codec video (per la lista completa, vedi la sezione libavcodec sopra)<BR>
|
||||
<B>vbitrate</B>=XXX - specifica il bitrate in kbit <4-16000> o bit <16001-24000000><BR>
|
||||
<B>vhq</B> - alta qualità<BR>
|
||||
<B>keyint</B>=XXX - intervallo tra i frame chiave<BR>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
<I>-lameopts</I></TD>
|
||||
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
Se codifichi in MP3 con libmp3lame, puoi specificare i sui parametri qui, come:<BR>
|
||||
<CODE>-lameopts q=3</CODE><BR>
|
||||
<CODE>-lameopts br=192:cbr</CODE><BR>
|
||||
Opzioni comuni: <B>(per la lista completa leggi la pagina di man!)</B><BR>
|
||||
<B>help</B> - ottieni l'aiuto<BR>
|
||||
<B>cbr</B> - seleziona MP£ <B>CBR</B> MP3 (il default è <B>VBR</B>)<BR>
|
||||
<B>br</B>=XXX - specifica il bitrate in kbit <0-1024> (solo per <B>CBR</B>!)<BR>
|
||||
<B>q</B>=XXXX - qualità (0-alta, 9-veloce - predefinito 0) (solo per <B>VBR</B>!)<BR>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
<P><B><A NAME=2.4.6>2.4.6. Esempi</B></P>
|
||||
|
||||
<P>Usare <B>MEncoder</B> è la cosa più facile della Terra. Vedi il seguito :</P>
|
||||
|
||||
<P>Codificare da DVD, titolo 2 :<BR>
|
||||
<CODE> mencoder -dvd 2 -o title2.avi</CODE></P>
|
||||
|
||||
<P>Lo stesso, ma con la famiglia libavcodec, compressione MJPEG :<BR>
|
||||
<CODE> mencoder -dvd 2 -o title2.avi -ovc lavc -lavcopts vcodec=mjpeg -ffourcc mjpg</CODE></P>
|
||||
|
||||
<P>Codifica da DVD, titolo 2, con ridimensionamento :<BR>
|
||||
<CODE> mencoder -dvd 2 -x 640 -y 480 -sws 2 -o title2.avi</CODE></P>
|
||||
|
||||
<P>Codifica da HTTP :<BR>
|
||||
<CODE> mencoder http://mplayer.hq/example.avi -o example.avi</CODE></P>
|
||||
|
||||
<P>Codifica da pipe :<BR>
|
||||
<CODE> rar p test-SVCD.rar | mencoder -divx4opts br=800 -ofps 24 -pass 1 -- -</CODE></P>
|
||||
|
||||
<P>Codificare file *.vob multipli :<BR>
|
||||
<CODE> cat *.vob | mencoder <opzioni> -</CODE></P>
|
||||
|
||||
<P>Codifica da sintonizzatore TV (per le opzioni <A HREF="documentation.html#2.5">vedi la sezione input TV !</A>) :<BR>
|
||||
<CODE> mencoder -tv on:driver=v4l:width=640:height=480 <opzioni></CODE></P>
|
||||
|
||||
<P>Per tutte le opzioni disponibili, <B><I>controlla la pagina man di MEncoder !</I></B>
|
||||
<P>
|
||||
</FONT>
|
||||
</BODY>
|
||||
</HTML>
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,216 @@
|
|||
<HTML>
|
||||
<BODY BGCOLOR=WHITE>
|
||||
|
||||
<FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
|
||||
|
||||
<P><B><A NAME=2.1>2.1. Formati supportati</A></B></P>
|
||||
|
||||
<P><B>MPlayer</B> può leggere i seguenti dispositivi/formati:<BR>
|
||||
<UL>
|
||||
<LI> <A HREF="#2.1.1.1">VCD</A> (Video CD) direttamente dal CD-ROM o dal file immagine .bin di CDRwin
|
||||
<LI> <A HREF="#2.1.1.1">DVD</A>, direttamente dal lettore DVD, usando libdvdread per la decrittazione
|
||||
<LI> <A HREF="#2.1.1.1">MPEG 1/2</A> file di tipo System Stream (PS/PES/VOB) e Elementary Stream (ES)
|
||||
<LI> <A HREF="#2.1.1.2">RIFF AVI</A>, formato file
|
||||
<LI> <A HREF="#2.1.1.3">ASF/WMV</A> 1.0, formato file
|
||||
<LI> <A HREF="#2.1.1.4">QT/MOV</A>, formato file con intestazione compressa e non
|
||||
<LI> <A HREF="#2.1.1.5">VIVO</A> , formato file (.viv)
|
||||
<LI> <A HREF="#2.1.1.6">FLI</A>, formato file
|
||||
<LI> <A HREF="#2.1.1.7">RealMedia</A>, formato file (.rm)
|
||||
<LI> <A HREF="#2.1.1.8">NuppelVideo</A>, formato file (.nuv)
|
||||
<LI> <A HREF="#2.1.1.9">yuv4mpeg</A>, formato file
|
||||
<LI> <A HREF="#2.1.1.10">FILM</A>, formato file (.cpk)
|
||||
<LI> <A HREF="#2.1.1.11">RoQ</A>, formato file
|
||||
<LI> supporta la <A HREF="documentation.html#3.3">lettura da stdin</A>, o rete tramite HTTP
|
||||
</UL></P>
|
||||
|
||||
<P>E' importante fare chiarezza su un errore comune. Quando la gente cede un file con estensione
|
||||
<B>.AVI</B>, dice subito che non è un file MPEG.
|
||||
Questo non è vero. Almeno non del tutto. Se gli dici che quel file può contenere
|
||||
un video MPEG1, ti ridono dietro. Sentiti libero di prenderli a calci
|
||||
e poi digli di documentarsi.</P>
|
||||
|
||||
<P>Vedi, un <B>codec</B> non è la stessa cosa di un <B>formato file</B>.<BR>
|
||||
<B>Codec</B> video sono: MPEG1, MPEG2, DivX, Indeo5, 3ivx.<BR>
|
||||
<B>Formati</B> video sono: MPG, AVI, ASF.<BR>
|
||||
</P>
|
||||
|
||||
<P>In teoria, si può mettere un video OpenDivX con audio in MP3
|
||||
in un file di formato <B>.MPG</B>. Sebbene la maggior parte dei lettori non lo leggerà, perchè
|
||||
si aspettano video MPEG1 e audio MP2 (<B>.MPG</B> non ha i campi
|
||||
necessari per descrivere i suoi flussi video e audio, come invece fa <B>.AVI</B>).
|
||||
O mettere video MPEG1 in un .AVI. Per esempio <A HREF="http://ffmpeg.sourceforge.net">ffmpeg</A>
|
||||
e <A HREF="encoding.html">MEncoder</A> possono creare questi file.</P>
|
||||
|
||||
<P><B>Codec</B> e <B>formati</B> audio sono essenzialmente la stessa cosa.</P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.1.1>2.1.1. Formati video</A></B></P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.1.1.1>2.1.1.1. File MPEG</A></B></P>
|
||||
|
||||
<P>
|
||||
<LI>MPG : questa è la forma <B>base</B> del formato file MPEG. Contiene
|
||||
video MPEG1, e audio MP2 (MPEG-1 layer 2), o raramente MP1.</LI>
|
||||
<LI>DAT : questo è assolutamente lo stesso formato dell' MPG, solo diversa estensione. Usato
|
||||
sui <B>Video CD</B>. A causa di come sono fatti i VCD e di come Linux è strutturato,
|
||||
i file DAT non possono essere letti o copiati dai VCD. Devi usare l'opzione
|
||||
<CODE>-vcd</CODE> per vedere i VideoCD.</LI>
|
||||
<LI>VOB : questo è il formato file MPEG dei <B>DVD</B>. Come MPG, più
|
||||
la possibilità di contenere sottotitoli, o audio non-MPEG (AC3). Contiene video MPEG2,
|
||||
e di solito audio AC3, ma è permesso anche l'MP2.<BR>
|
||||
<B>Leggi la <A HREF="cd-dvd.html#4.2">sezione DVD</A> !</B></LI>
|
||||
</P>
|
||||
|
||||
<P>Nei file MPEG, serie di frame sono raggruppate insieme, e sono indipendenti
|
||||
dagli altri gruppi. Questo significa si può tagliare/unire un file MPEG con
|
||||
normali strumenti per i file (come dd, cut), e il risultato sarà totalmente funzionante.</P>
|
||||
|
||||
<P>Una caratteristica importante degli MPG è che hanno un campo per descrivere
|
||||
le proporzioni del flusso video che contengono. Per esempio gli SVCD hanno una risoluzione video di
|
||||
480x480, e nell'intestazione quel campo ha il valore 4:3, quindi
|
||||
è riprodotto in 640x480. I file AVI non hanno questo campo, quindi bisogna
|
||||
ridimensionarlo durante la codifica.</P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.1.1.2>2.1.1.2. File AVI</A></B></P>
|
||||
|
||||
<P>Introdotti dalla Micro$oft, l'<B>AVI (Audio Video Interleaved, Audio Video Intervallato ndt)</B> è un
|
||||
formato diffuso e multipurpose, attualmente usato soprattutto per i video DivX e DivX4.
|
||||
Ha molti svantaggi conosciuti, e incapacità (per esempio nello streaming).
|
||||
Supporta un flusso video, e 99 flussi audio. Può essere grande fino a
|
||||
2Gb. C'è un'estensione per renderlo più grande, chiamata <B>OpenDMS</B>.
|
||||
M$ attualmente scoraggia il suo uso e propaganda ASF/WMV. Non che
|
||||
a qualcuno importi.<BR>
|
||||
<B>NOTA</B> : le videocamere DV possono creare due tipi di formato AVI, uno è usuale e
|
||||
leggibile, l'altro no.</P>
|
||||
|
||||
<P>Ci sono due tipi di file AVI:
|
||||
<UL>
|
||||
<LI><B>Intervallato</B> : i contenuti audio e video sono intervallati. Questo è l'utilizzo
|
||||
standard. Raccomandato e più usato. Alcune applicazioni creano
|
||||
AVI intervallati con sincronia difettosa. <B>MPlayer</B> li riconosce come interleaved, e questo
|
||||
provoca la perdita della sincronia A/V, probabilmente nella ricerca. Questi file dovrebbero essere
|
||||
letti come non-intervallati (con l'opzione <CODE>-ni</CODE>).</LI>
|
||||
<LI><B>Non-intervallato</B> : cattivo. Prima viene l'intero flusso video, poi l'intero
|
||||
flusso audio, così richiede un sacco di ricerca. E' pessimo quando lo si legge da
|
||||
rete o CDROM.</LI>
|
||||
</UL>
|
||||
</P>
|
||||
|
||||
<P>MPlayer supporta 2 tipi di timing per i file AVI:
|
||||
<UL>
|
||||
<LI><B>basato su bps</B> : è basato sul bitrate/samplerate del flusso video/audio. Questo
|
||||
metodo è usato dalla maggior parte dei lettori, incluso avifile e windows media player.
|
||||
File con intestazione danneggiata, e file creati con codificatori audio VBR ma non aderenti
|
||||
agli standard VBR produrranno desincronia A/V con questo metodo (soprattutto
|
||||
nelle ricerche).</LI>
|
||||
<LI><B>basato sull'intervallo</B> : non usa il valore di bitrate dell'intestazione, usa invece
|
||||
la posizione relativa dei segmenti audio e video. Rende leggibili
|
||||
alcuni file malamente codificati con audio VBR.</LI>
|
||||
</UL>
|
||||
</P>
|
||||
|
||||
<P>Qualsiasi codec audio e video è permesso, ma nota che l'audio VBR non è ben
|
||||
supportato da molti lettori. Il formato file rende possibile usare audio VBR,
|
||||
ma molti lettori si aspettano audio CBR, così falliscono col VBR. VBR è
|
||||
inusuale, e le specifiche AVI di Microsoft descrivono solo l'audio CBR. Ho anche notato, che
|
||||
la maggior parte degli encoder/multiplexer AVI creano file malformati se usano audio VBRo. Solo 2
|
||||
eccezioni (da me conosciute): NaNDub e <A HREF="encoding.html">MEncoder</A>.</P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.1.1.3>2.1.1.3. File ASF/WMV</A></B></P>
|
||||
|
||||
<P>ASF (active streaming format, formato di flusso attivo ndt) viene da Microsoft. Hanno sviluppato due
|
||||
varianti di ASF, v1.0 e v2.0. La v1.0 è usata dai loro programmi multimediali (windows
|
||||
media player e windows media encoder) ed è molto segreta. La v2.0 è pubblica
|
||||
e registrata :). Naturalmente sono differenti, non c'è nessuna compatibilità (è solo
|
||||
un altro gioco legale). <B>MPlayer</B> supporta solo la v1.0, in quanto nessuno ha mai visto
|
||||
file v2.0 :) . Nota, che i file .ASF oggigiorno hanno l'estensione .WMA o
|
||||
.WMV.</P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.1.1.4>2.1.1.4. File QuickTime/MOV</A></B></P>
|
||||
|
||||
<P>Questi sono di Macintosh. Di solito hanno estensioni .QT o .MOV . Nota
|
||||
che da quando il Gruppo MPEG4 ha scelto QuickTime come formato file raccomandato
|
||||
per MPEG4, i loro file .MOV hanno estensione .MPG o .MP4 (interessante il fatto
|
||||
che in questi file il flusso video è un vero file .MPG. Con l'opzione
|
||||
<CODE>-dumpvideo</CODE> puoi perfino estrarlo).</P>
|
||||
|
||||
<P><B>Codec</B>: qualsiasi codec è permesso, sia CBR che VBR. Nota: la maggior parte dei nuovi file mov usano
|
||||
video <B>Sorenson</B> audio QDesign Music. Questo formati sono totalmente
|
||||
segreti, è solo il lettore quicktime di Apple è in grado di leggerli (solo su
|
||||
win/mac).</P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.1.1.5>2.1.1.5. File VIV</A></B></P>
|
||||
|
||||
<P><B>MPlayer</B> legge felicemente i formati file VIVO. Il più grande svantaggio di questo formato
|
||||
è che non c'è un'area per l'indice, ne una grandezza fissa di pacchetto o byte di sincronia,
|
||||
e a molti file mancano anche i frame chiave, quindi dimenticati la funzionalità di ricerca!</P>
|
||||
|
||||
<P>Il codec video dei file VIVO/1.0 è lo standard <B>h.263</B> . Il codec video dei file VIVO/2.0
|
||||
è un modificato, non standard <B>h.263</B> . L'audio è lo stesso,
|
||||
può essere <B>g.723</B> (standard), o <B>Vivo Siren</B> .</P>
|
||||
|
||||
<P>Vedi le sezioni <A HREF=codecs.html#2.2.1.4>codec video VIVO</A>
|
||||
e <A HREF=codecs.html#2.2.2.4>codec audio VIVO</A> per istruzioni
|
||||
sull'installazione.</P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.1.1.6>2.1.1.6. File FLI</A></B></P>
|
||||
|
||||
<P><B>FLI</B> è un formato file molto vecchi usato da Autodesk Animator, ma è
|
||||
un formato comune per brevi animazioni sulla rete. <B>MPlayer</B> legge
|
||||
i filmati FLI ed è anche in grado di ricercare in questi (utile quando
|
||||
usato con l'opzione -loop). I file FLI non hanno frame chiave, quindi la visualizzazione
|
||||
sarà confusa per breve tempo dopo una ricerca.</P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.1.1.7>2.1.1.7. File RealMedia (RM)</A></B></P>
|
||||
|
||||
<P>Si, <B>MPlayer</B> può leggere (demux) file RealMedia (.rm). La ricerca
|
||||
è in sviluppo, e RM ha i frame chiave, quindi non dovrebbero esserci problemi.
|
||||
Qui c'è la lista dei codec supportati: <A HREF="codecs.html#2.2.1.8">RealVideo</A>
|
||||
e <A HREF="codecs.html#2.2.2.5">RealAudio</A> .
|
||||
|
||||
|
||||
<P><B><A NAME=2.1.1.8>2.1.1.8. File NuppelVideo</A></B></P>
|
||||
|
||||
<P><A HREF="http://mars.tuwien.ac.at/~roman/nuppelvideo">NuppelVideo</A>
|
||||
è uno strumento per catturare da TV (AFAIK:). <B>MPlayer</B> può leggere i suoi file <CODE>.nuv</CODE>
|
||||
(solo di NuppelVideo 5.0). Questi file possono contenere frame YV12 non compressi,
|
||||
YV12+RTJpeg compressi, YV12 RTJpeg+lzo compressi, e YV12+lzo compressi,
|
||||
<B>MPlayer</B> li decodifica (e anche li <B>codifica</B> con MEncoder a
|
||||
DivX/etc!) tutti quanti. La ricerca è in implementazione.</P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.1.1.9>2.1.1.9. File yuv4mpeg</A></B></P>
|
||||
|
||||
<P><A HREF="http://mjpeg.sourceforge.net">yuv4mpeg / yuv4mpeg2</A> è
|
||||
anche un formato file per la cattura da TV, credo :) So solo una cosa:
|
||||
lo supportiamo.</P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.1.1.10>2.1.1.10. File FILM</A></B></P>
|
||||
|
||||
<P>Questo formato è usato nei CD-ROM dei giochi del vecchio Sega Saturn.</P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.1.1.11>2.1.1.11. File RoQ</A></B></P>
|
||||
|
||||
<P>I file RoQ sono file multimediali in alcuni giochi della ID come Quake III e
|
||||
Return to Castle Wolfenstein.</P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.1.2>2.1.2. Formati audio</A></B></P>
|
||||
|
||||
<P>Attualmente <B>MPlayer</B> è ancora un "<B>Movie</B> Player" e non un "<B>Media</B>
|
||||
Player", quindi i formati audio puri (per esempio MP3, WAV, audio ASF) non sono
|
||||
leggibili. Usa <A HREF="http://www.xmms.org">xmms</A>, <A HREF="http://www.mpg123.de">mpg123</A>
|
||||
o altro.</P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
|
@ -0,0 +1,122 @@
|
|||
<HTML>
|
||||
<BODY BGCOLOR=WHITE>
|
||||
<FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
|
||||
<P>
|
||||
<B>Domanda:</B> Cos'è il GCC 2.96 ? Non riesco a trovarlo sul sito GNU.
|
||||
</P>
|
||||
|
||||
<P>
|
||||
<B>Risposta:</B> Leggi la <A HREF="http://gcc.gnu.org/gcc-2.96.html">risposta ufficiale del team GNU GCC.</A>
|
||||
</P>
|
||||
|
||||
<P>
|
||||
<B>Domanda:</B> Qual'è il problema col GCC 2.96 ? E con il 3.x ?
|
||||
</P>
|
||||
|
||||
<P>
|
||||
<B>Risposta:</B>
|
||||
</P>
|
||||
|
||||
<P>Leggi nella documentazione di MySQL :</P>
|
||||
|
||||
<P><I>
|
||||
Avviso per il compilatore: molti nostri utenti hanno segnalato crash casuali e
|
||||
corruzione delle tabelle con binari MySQL compilati con gcc due-punto-nove-sei su
|
||||
piattaforma Linux x86. Sebbene non riusciamo a riprodurre gli errori
|
||||
o capire le cause esatte, sospettiamo con un certo grado di sicurezza
|
||||
che il problema sia relativo al compilatore. Rimpiazzare il binario difettoso
|
||||
col nostro ha sempre eliminato il problema.
|
||||
</I></P>
|
||||
|
||||
<P>
|
||||
E per le persone, che periodicamente chiedono quali siano gli esatti problemi col
|
||||
gcc 2.96, la mia risposta: <I>non lo sappiamo esattamente.</I>
|
||||
Ci sono vari problemi/bug e ne saltano fuori periodicamente di nuovi.
|
||||
<I>Non è un singolo problema/bug</I>. Noi vediamo solo varie segnalazioni di bug, soprattutto
|
||||
bug interni al gcc, errori di sintassi nei sorgenti del compilatore o codice compilato male.
|
||||
Questi sono tutti risolti usando una versione differente di gcc. Capisco che il gcc 2.96
|
||||
ha diverse ottimizzazioni di default e che queste vadano in conflitto col nostro codice
|
||||
asm, ma noi non possiamo correggerlo, e veramente non vogliamo in quanto
|
||||
funziona con altri compilatori o verdioni di gcc, e la correzione può causare perdite di velocità.
|
||||
</P>
|
||||
|
||||
<P>
|
||||
Penso che il gcc 2.96 dovrebbe essere corretto per essere compatibile con le opzioni delle altre
|
||||
versioni, ma i ragazzi della redhat si sono rifiutati di farlo. Se qualcuno è interessato - chieda
|
||||
a Eugene K., l'autore di avifile, che ha avuto un longo scambio di mail con loro, perchè aveva
|
||||
gli stessi problemi con avifile. Alla fine lui ha modificato i sorgenti di avifile per
|
||||
<I>aggirare</I> i bug del gcc 2.96...
|
||||
Noi semplicemente non abbiamo l'interesse e il tempo di farlo.
|
||||
</P>
|
||||
|
||||
<P>
|
||||
Ah, e a proposito del bug pipe-in-comment: non era in realtà un nostro bug.
|
||||
Ho parlato con uno dei mainteiner del gcc, e mi ha detto che il gcc 2.96 e 3.x
|
||||
supporta la sintassi asm intel, e questo causava il problema. Ma <I>è</I> un bug,
|
||||
perchè gcc <I>silenziosamente</I>, senza alcun avvertimento, ha ignorato l'intero blocco asm!
|
||||
</P>
|
||||
|
||||
<P>
|
||||
Altri problemi col gcc 3.x provengono dall'istallazione di libstdc++ difettoso o un header glibc (std_*.h).
|
||||
Non sono un nostro errore. MPlayer compila e funziona bene con le versioni di
|
||||
gcc 3.x. <B>Solo il 2.96 è difettoso</B>, ma dipende da molti elementi d'ambiente,
|
||||
incluso il numero di release del gcc 2.96, le caratteristiche di mplayer abilitate, ecc.
|
||||
<I>Se per te funziona usando il gcc 2.96, non significa che funzionerà per tutti.</I>
|
||||
</P>
|
||||
|
||||
<P><B>Risposta 2:</B></P>
|
||||
|
||||
<P>
|
||||
Leggi anche <A HREF="users_against_developers.html">questo</A> testo !!!</P>
|
||||
|
||||
<P>
|
||||
<B>Domanda:</B> No! Sbagli! Funziona tutto col gcc 2.96 <I>tranne</I> MPlayer
|
||||
</P>
|
||||
|
||||
<P>
|
||||
<B>Risposta:</B>
|
||||
</P>
|
||||
|
||||
<P>
|
||||
No. Tu sbagli!
|
||||
Molti progetti (soprattutto quelli che hanno nei sorgenti codice asm altamente ottimizzato)
|
||||
hanno avuto problemi col gcc 2.96. Per esempio: avifile, MESA / DRI, Wine, ffmpeg, lame, NuppelVideo.
|
||||
Ma altri progetti hanno già aggirato i bug gcc (hanno cambiato il codice che
|
||||
scatenava i bug del compilatore) così per ora funzionano.
|
||||
</P>
|
||||
|
||||
<P>
|
||||
<B>Domanda:</B> No! Sbagli! Funziona tutto col gcc 2.96 <I>incluso</I> MPlayer
|
||||
</P>
|
||||
|
||||
<P>
|
||||
<B>Risposta:</B>
|
||||
</P>
|
||||
|
||||
Bene. Sii felice. Ma sappi, dipende da molti elementi d'ambiente,
|
||||
incluso il numero di release del gcc 2.96, le caratteristiche di mplayer abilitate, ecc.
|
||||
<I>Se per te funziona usando il gcc 2.96, non significa che funzionerà per tutti!</I>
|
||||
Significa solo che sei fortunato, finchè non scopri un problema. Ma non dimenticare la
|
||||
<B>regola No.1 degli utenti gcc 2.96: MAI SEGNALARE BUG O PROBLEMI SE STAI USANDO IL GCC 2.96</B>
|
||||
|
||||
<P>
|
||||
<B>Domanda:</B> Ok. Capito. Ma voglio provarlo... come posso compilare col gcc 2.96?
|
||||
</P>
|
||||
|
||||
<P>
|
||||
<B>Risposta:</B> Veramente? Sei sicuro? Ok. Sai... eccotelo: ./configure --disable-gcc-checking
|
||||
</P>
|
||||
|
||||
<P>
|
||||
<B>Domanda:</B> No! Non sono daccordo con te, perchè ...
|
||||
</P>
|
||||
|
||||
<P>
|
||||
<B>Risposta:</B> Non importa. Tieni i tuoi commenti per te. Non siamo interessati in storie sul gcc 2.96.
|
||||
</P>
|
||||
|
||||
|
||||
</FONT>
|
||||
</BODY>
|
||||
</HTML>
|
|
@ -0,0 +1,867 @@
|
|||
<html>
|
||||
<head>
|
||||
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
|
||||
<title>MPlayer skin format</title>
|
||||
<style type="text/css">
|
||||
em.note {color: green}
|
||||
em.warn {color: red}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body bgcolor=white text=black>
|
||||
|
||||
<h1 align="center">Formato skin di MPlayer</h1>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2>Contenuti</h2>
|
||||
|
||||
<ul type=disc>
|
||||
<li><a href="#intro">1 Introduzione</a></li>
|
||||
<li><a href="#overview">2 Generale</a></li>
|
||||
<ul type=circle>
|
||||
<li><a href="#dirs">2.1 Directory</a></li>
|
||||
<li><a href="#images">2.2 Immagini</a></li>
|
||||
<li><a href="#parts">2.3 Parti di una skin</a></li>
|
||||
<li><a href="#files">2.4 File</a></li>
|
||||
</ul>
|
||||
<li><a href="#skin">3 Il file <code>skin</code></a></li>
|
||||
<ul type=circle>
|
||||
<li><a href="#mainwin">3.1 Finestra principale</a></li>
|
||||
<li><a href="#subwindow">3.2 Sotto finestra</a></li>
|
||||
<li><a href="#skinmenu">3.3 Menu della skin</a></li>
|
||||
</ul>
|
||||
<li><a href="#fonts">4 Font</a></li>
|
||||
<ul type=circle>
|
||||
<li><a href="#symbols">4.1 Simboli</a></li>
|
||||
</ul>
|
||||
<li><a href="#guimsg">Appendice A: messaggi della GUI</a></li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<div align=center>
|
||||
Ultima modifica: Sep 10, 2001
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="intro">1 Introduzione</a></h2>
|
||||
|
||||
Il proposito di questo documento è di descrivere il formato delle skin di MPlayer.
|
||||
Le in formazioni qui contenute possono essere errate, in quanto <em>a)</em> non sono stato io
|
||||
a scrivere la GUI, <em>b)</em> la GUI non è finita, <em>c)</em> posso
|
||||
sbagliarmi. Quindi non sorprenderti se qualcosa non funziona come descritto qui.
|
||||
|
||||
<p>
|
||||
Grazie a <em>Zoltán Ponekker</em> per il suo aiuto.
|
||||
|
||||
<p>
|
||||
<em>András Mohari <mayday@freemail.hu></em>
|
||||
|
||||
|
||||
<h2><a name="overview">2 Generale</a></h2>
|
||||
|
||||
Non ha niente a che fare col formato delle skin, ma dovresti sapere
|
||||
che <em>MPlayer <b>non</b> ha include una skin, quindi <b>devi installare almeno
|
||||
una skin per poter usare la GUI.</b></em>
|
||||
|
||||
|
||||
<h3><a name="dirs">2.1 Directory</a></h3>
|
||||
|
||||
Le directory in cui si cerca per le skin sono (in ordine):
|
||||
<pre>
|
||||
/usr/local/share/mplayer/Skin/
|
||||
~/.mplayer/Skin/
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
Nota che il primo path può variare a seconda di come è stato configurato MPlayer
|
||||
(vedi l'argomento <code>--datadir</code> dello script <code>configure</code>).
|
||||
|
||||
|
||||
<p>
|
||||
Ogni skin è installata in una sua propria directory sotto una delle directory
|
||||
elencate sopra, per esempio:
|
||||
<pre>
|
||||
/usr/local/share/mplayer/Skin/default/
|
||||
</pre>
|
||||
|
||||
|
||||
<h3><a name="images">2.2 Formati delle immagini</a></h3>
|
||||
|
||||
Le immagini devono essere in truecolor (24 o 32 bpp) e possono essere in formato
|
||||
BMP, PNG e TGA (nota che le immagini TGA devono essere non compresse).
|
||||
<em>Il formato preferito è PNG perchè si comprime molto bene.</em>
|
||||
|
||||
<p>
|
||||
Nella finestra principale (vedi sotto) puoi usare immagini con `trasparenze':
|
||||
regioni riempite col colore #FF00FF (<font color="#FF00FF">magenta</font>)
|
||||
sono del tutto trasparenti quando viste con MPlayer. Questo significa che puoi anche ottenere
|
||||
finestre con una certa forma se il tuo server X ha l'estensione XShape.
|
||||
|
||||
|
||||
<h3><a name="parts">2.3 Parti di una skin</a></h3>
|
||||
|
||||
Le skin sono del tutto in formato libero (non come le skin a formato fisso di
|
||||
Winamp/XMMS, per esempio), quindi sta a te creare qualcosa di grandioso.
|
||||
|
||||
<p>
|
||||
Attualmente ci sono tre finestre da essere decorate: la
|
||||
<a href="#mainwin">finestra principale</a>, la <a href="#subwindow">sotto finestra</a> e
|
||||
il <a href="#skinmenu">menu della skin</a> (che può essere attivata con il tasto
|
||||
destro).
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
La <b>finestra principale</b> è dove puoi controllare MPlayer. Lo sfondo della
|
||||
finestra è un'immagine. Vari oggetti possono (e devono) essere
|
||||
piazzati nella finestra: <em>bottoni</em>, <em>slider</em> e <em>etichetta</em>.
|
||||
Per ogni oggetto, devi
|
||||
specificare la sua posizione e dimensione.
|
||||
|
||||
<p>
|
||||
Un <b>bottone</b> ha tre stati (premuto, rilasciato,
|
||||
disabilitato), quindi la sua immagine deve essere divisa in tre parti verticalmente.
|
||||
Vedi l'oggetto <a href="#main.button">bottone</a> per dettagli.
|
||||
<p>
|
||||
Uno <b>slider</b> (usati principalmente per la barra di ricerca e il controllo di volume/bilanciamento)
|
||||
può avere qualsiasi numero di fasi dividendo la sua immagine in differenti parti
|
||||
una sotto l'altra.
|
||||
Vedi <a href="#main.hpotmeter">hslider</a> e
|
||||
<a href="#main.potmeter">slider</a> per dettagli.
|
||||
|
||||
<p>
|
||||
Le <b>etichette</b> sono un po' speciali: i caratteri necessari a disegnarli sono presi
|
||||
da un file immagine, e i caratteri nell'immagine sono descritti
|
||||
da un <a href="#fonts">file per la descrizione del font</a>.
|
||||
Questo è un normale file di testo che specifica
|
||||
la posizione x,y e la dimensione di ogni carattere nell'immagine. (Quindi
|
||||
il file d'immagine e il suo file di descrizione del font formano un font <em>insieme</em>.)
|
||||
Vedi <a href="#main.dlabel">dlabel</a> e <a href="#main.slabel">slabel</a>
|
||||
per dettagli.
|
||||
|
||||
<p>
|
||||
<em class=note>
|
||||
<b>Nota:</b> tutte le immagini possono avere la piena trasparenza come descritto nella
|
||||
sezione sui <a href="#images">formati immagine</a>.
|
||||
</em>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
La <b>sotto finestra</b> è dove appare il filmato. Può mostrare una specifica immagine
|
||||
se non c'è nessun video caricato (è noioso avere una finestra vuota
|
||||
:-))
|
||||
<em class=note><b>Nota:</b> la trasparenza
|
||||
<b>non è permessa</b> qui.</em>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
Il <b>menu della skin</b> è solo un modo per controllare MPlayer per mezzo delle voci
|
||||
del menu. Sono necessarie due immagini per il menu: una è l'immagine di base
|
||||
che mostra il menu nel suo stato normale, l'altra è usata per mostrare
|
||||
le voci selezionate. Quando attivi il menu, viene mostrata la prima immagine.
|
||||
Se muovi il mouse sulle voci del menu, la voce attualmente selezionata
|
||||
è copiata dalla seconda immagine sotto il puntatore del mouse.
|
||||
(Quindi la seconda immagine non è mai mostrata interamente.)
|
||||
<p>
|
||||
Una voce del menu è definita dalla sua posizione e dimensione nell'immagine (vedi la
|
||||
sezione sul <a href="#skinmenu">menu della skin</a> per dettagli).
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
C'è una cosa importante non ancora menzionata: per far funzionare bottoni, slider e
|
||||
voci del menu, MPlayer deve sapere cosa fare se sono cliccati.
|
||||
Questo è fatto tramite <a href="#guimsg">messaggi</a> (eventi). Per questi oggetti
|
||||
devi definire i messaggi che devono essere generati quando vengono attivati.
|
||||
|
||||
<h3><a name="files">2.4 File</a></h3>
|
||||
|
||||
Devi avere i seguenti file per fare una skin.
|
||||
<ul>
|
||||
<li>
|
||||
Il file di configurazione chiamato <a href="#skin">skin</a> dice a MPlayer come
|
||||
mettere insieme le diverse parti della skin e cosa fare se si clicca
|
||||
da qualche parte nella finestra.
|
||||
</li>
|
||||
<li>L'immagine di sfondo della finestra principale.</li>
|
||||
<li>Immagini per gli oggetti della finestra principale (inclusi uno o più file di descrizione dei font
|
||||
necessari per disegnare le etichette).</li>
|
||||
<li>l'immagine da mostrare nella sotto finestra (opzionale).</li>
|
||||
<li>Due immagini per il menu della skin (ne hai bisogno solo se vuoi creare un
|
||||
menu).
|
||||
</ul>
|
||||
|
||||
Con l'eccezione del file di configurazione della skin, puoi nominare gli altri file
|
||||
come vuoi (ma nota che i file di descrizione dei font devono avere l'estensione
|
||||
.fnt).
|
||||
|
||||
|
||||
<h2><a name="skin">3 Il file <code><b>skin</b></code></a></h2>
|
||||
|
||||
<p>
|
||||
Come menzionato sopra, questo è il file di configurazione della skin.
|
||||
E' orientato alla linea; le linee di commento iniziano col carattere '<code>;</code>'
|
||||
all'inizio della linea (solo spazi e tab sono permessi prima del
|
||||
'<code>;</code>').
|
||||
|
||||
<p>
|
||||
Il file è fatto di sezioni. Ogni sezione descrive la skin per un'applicazione e
|
||||
ha la seguente forma:
|
||||
<table border=1 width="100%"><tr bgcolor=silver><td><pre>
|
||||
section = <i>nome sezione</i>
|
||||
.
|
||||
.
|
||||
.
|
||||
end
|
||||
</pre></td></tr></table>
|
||||
|
||||
<p>
|
||||
Attualmente c'è solo una applicazione, quindi hai bisogno solo di una sezione:
|
||||
il suo nome è <b>movieplayer</b>.
|
||||
|
||||
<p>
|
||||
Dentro questa sezione ogni finestra è descritta da un blocco nella seguente forma:
|
||||
<table border=1 width="100%"><tr bgcolor=silver><td><pre>
|
||||
window = <i>nome finestra</i>
|
||||
.
|
||||
.
|
||||
.
|
||||
end
|
||||
</pre></tr></td></table>
|
||||
dove <i>nome finestra</i> può essere una di queste stringhe:
|
||||
<ul>
|
||||
<li><b>main</b> - per la finestra principale</li>
|
||||
<li><b>sub</b> - per la sotto finestra</li>
|
||||
<li><b>menu</b> - per il menu della skin</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
(I blocchi sub e menu sono opzionali---non devi per forza creare un menu o decorare
|
||||
la sotto finestra.)
|
||||
|
||||
<p>
|
||||
Dentro un blocco finestra, puoi definire ogni oggetto della finestra
|
||||
con una linea in questa forma:
|
||||
|
||||
<blockquote>
|
||||
<pre>
|
||||
oggetto = parametro
|
||||
</pre>
|
||||
</blockquote>
|
||||
|
||||
<p>
|
||||
dove <i>oggetto</i> è unastringa che identifica il tipo di oggetto della GUI,
|
||||
<i>parametro</i> è un valore numerico o testuale (o una lista di valori
|
||||
separati da virgole).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
mettendo insieme quanto sopra, l'intero file appare così:
|
||||
|
||||
<p>
|
||||
<table border=1 width="100%"><tr bgcolor=silver><td><pre>
|
||||
section = movieplayer
|
||||
window = main
|
||||
; ... oggetti della finestra principale ...
|
||||
end
|
||||
|
||||
window = sub
|
||||
; ... oggetti della sotto finestra ...
|
||||
end
|
||||
|
||||
window = menu
|
||||
; ... oggetti del menu della skin ...
|
||||
end
|
||||
end
|
||||
</pre></tr></td></table>
|
||||
|
||||
<p>
|
||||
In fine alcune parole su come specificare le immagini per i vari oggetti.
|
||||
<br>
|
||||
Il nome di un file immagine deve essere dato senza il percorso---
|
||||
le immagini vengono cercate nella directory della skin. Puoi (ma non è necessario)
|
||||
specificare l'estensione del file. Se il file non esiste, MPlayer cerca di
|
||||
caricare il file <i><nomefile>.<est></i>, dove <i>tga</i>,
|
||||
<i>TGA</i>, <i>bmp</i>, <i>BMP</i>, <i>png</i> e <i>PNG</i> sono provati
|
||||
al posto di <i><est></i> (in questo ordine). Il primo file corrispondente sarà usato.
|
||||
|
||||
<p>
|
||||
|
||||
<table border=1 cellpadding=5 width="100%"><tr bgcolor="#ffffcc"><td>
|
||||
Ecco un esempio per rendere le cose chiare. Supponi di avere un'immagine chiamata
|
||||
<i>main.png</i> che usi per la finestra principale:
|
||||
<blockquote>
|
||||
<pre>
|
||||
base = main, -1, -1
|
||||
</pre>
|
||||
</blockquote>
|
||||
|
||||
MPlayer cerca di caricare <i>main</i>, <i>main.tga</i>, <i>main.TGA</i>,
|
||||
<i>main.bmp</i> ecc, quindi verrà trovata <i>main.png</i>.
|
||||
<br>
|
||||
Se (per sbaglio) scrivi
|
||||
<blockquote>
|
||||
<pre>
|
||||
base = main.bmp, -1, -1
|
||||
</pre>
|
||||
</blockquote>
|
||||
allora saranno cercati <i>main.bmp</i>, <i>main.bmp.tga</i>, <i>main.bmp.TGA</i>,
|
||||
<i>main.bmp.bmp</i> e MPlayer alla fine rinuncerà
|
||||
perchè non c'è nessun <i>main.bmp</i> nella directory, ma <i>main.png</i>.
|
||||
</td></tr></table>
|
||||
|
||||
|
||||
<h3><a name="mainwin">3.1 Finestra principale</a></h3>
|
||||
|
||||
Sotto puoi vedere la lista degli oggetti che possono essere usati nel blocco
|
||||
'<code>window = main</code>' . . . '<code>end</code>'
|
||||
|
||||
<dl>
|
||||
<dt><a name="main.base">
|
||||
<b>base = <i>immagine, x, y</i></b>
|
||||
</a></dt>
|
||||
<dd>
|
||||
Permette di specificare l'immagine di sfondo da usare per la finestra principale.
|
||||
La finestra apparirà sullo schermo alla posizione <i>x</i>,<i>y</i> data
|
||||
(0,0 è l'angolo in alto a sinistra). Puoi specificare -1 per il centro
|
||||
e -2 per destra (x) e in basso (y). La finestra sarà larga quanto l'immagine.
|
||||
<p>
|
||||
<em class=warn>
|
||||
<b>Avvertimento:</b> le zone trasparenti dell' immagine (colore #FF00FF) appaiono
|
||||
nere se il server X non supporta l'estensione XShape.
|
||||
</em>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<dl>
|
||||
<dt><a name="main.button">
|
||||
<b>button = <i>immagine, x, y, larghezza, altezza, messaggio</i></b></a></dt>
|
||||
<dd>
|
||||
Posiziona un bottone di dimensioni <i>larghezza</i> * <i>altezza</i> alla posizione
|
||||
<i>x</i>,<i>y</i>. Il messaggio specificato è generato quando viene
|
||||
cliccato il bottone.
|
||||
L'immagine data da <i>immagine</i> deve avere tre parti una sotto l'altra
|
||||
(secondo i possibili stati del bottone), in questo modo:
|
||||
<div align=center><table><tr><td><pre><small>
|
||||
+------------+
|
||||
| premuto |
|
||||
+------------+
|
||||
| rilasciato |
|
||||
+------------+
|
||||
|disabilitato|
|
||||
+------------+
|
||||
</small></pre></td></tr></table></div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<dl>
|
||||
<dt><a name="main.decoration">
|
||||
<b>decoration = enable|disable</b>
|
||||
</a></dt>
|
||||
<dd>
|
||||
Abilita o disabilita la decorazione della finestra principale. Il default
|
||||
è <b>disable</b>.
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<dl>
|
||||
<dt>
|
||||
<a name="main.hpotmeter">
|
||||
<b>
|
||||
hpotmeter = <i>bott, lb,ab, fasi, numfasi, default, x, y, l, a, msg</i>
|
||||
</b>
|
||||
</a>
|
||||
</dt>
|
||||
<dd>
|
||||
Inserisce uno slider orizzontale di dimensioni <i>l</i> * <i>a</i> alla posizione
|
||||
<i>x</i>,<i>y</i>. L'immagine può essere divisa in diverse parti
|
||||
per le diverse fasi dello slider (per esempio,
|
||||
puoi avere uno slider per il controllo volume che cambia da verde a rosso
|
||||
al cambiare del suo valore dal minimo al massimo.)
|
||||
hpotmeter può avere un bottone che si può trascinare orizzontalmente.
|
||||
I parametri sono:
|
||||
<ul>
|
||||
<li><i>bott</i> - l'immagine da usare per il bottone
|
||||
(deve avere tre parti una sotto l'altra, come nel caso del
|
||||
<a href="#main.button">bottone</a>)</li>
|
||||
<li><i>lb</i>, <i>ab</i> - dimensione del bottone</li>
|
||||
<li><i>fasi</i> - L'immagine da usare per le differenti fasi dello
|
||||
slider. L'immagine deve essere divisa in <i>numfasi</i> parti verticalmente
|
||||
(vedi sotto). Può essere usato un valore speciale <kbd>NULL</kbd> se non vuoi
|
||||
l'immagine.
|
||||
</li>
|
||||
<li><i>numfasi</i> - numero di fasi inserite nell'immagine <i>fasi</i>
|
||||
</li>
|
||||
<li><i>default</i> - valore di default dello slider (da 0 a
|
||||
100)</li>
|
||||
<li><i>x</i>, <i>y</i> - posizione dello slider</li>
|
||||
<li><i>l</i>, <i>a</i> - larghezza e altezza dello slider</li>
|
||||
<li><i>msg</i> - il messaggio da generare quando viene cambiato il valore dello
|
||||
slider</li>
|
||||
</ul>
|
||||
L'immagine usata per le differenti fasi deve essere più o meno così:
|
||||
<div align=center><table border=0><tr><td><pre><small>
|
||||
+------------+
|
||||
| fase #1 |
|
||||
+------------+
|
||||
| fase #2 |
|
||||
+------------+
|
||||
...
|
||||
+------------+
|
||||
| fase #n |
|
||||
+------------+
|
||||
</small></pre></td></tr></table></div>
|
||||
<em class=note>
|
||||
<b>Nota:</b> ci sarà anche un oggetto vpotmeter, ma non è ancora stato
|
||||
implementato.
|
||||
</em>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<dl>
|
||||
<dt><a name="main.potmeter">
|
||||
<b>potmeter = <i>fasi, numfasi, default, x, y, l, a, msg</i></b>
|
||||
</a></dt>
|
||||
<dd>
|
||||
Uno slider senza bottone. (Penso sia inteso per essere girato,
|
||||
ma reagisce solo al trascinamento orizzontale.)
|
||||
Per la descrizione dei parametri vedi
|
||||
<a href="#main.hpotmeter">hpotmeter</a>. <i>fasi</i> può essere
|
||||
<code>NULL</code>, ma è proprio inutile, infatti non puoi vedere dove
|
||||
è situato lo slider.
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<dl>
|
||||
<dt><a name="main.font">
|
||||
<b>font = <i>filefont, fontid</i></b>
|
||||
</a></dt>
|
||||
<dd>
|
||||
Definisce un font. <i>filefont</i> è il nome di un file che descrive un font
|
||||
con estensione <code>.fnt</code> (<b>non c'è bisogno</b> di specificare l'estensione
|
||||
qui).
|
||||
<i>fontid</i> è usato per riferirsi al font
|
||||
(vedi <a href="#main.dlabel">dlabel</a> e <a href="#main.slabel">slabel</a>).
|
||||
Possono essere definiti fino a 25 font.
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<dl>
|
||||
<dt><a name="main.dlabel">
|
||||
<b>dlabel = <i>x, y, lunghezza, allineamento, fontid, "testo"</i></b>
|
||||
</a></dt>
|
||||
<dd>
|
||||
Posiziona una etichetta dinamica in <i>x</i>,<i>y</i>. L'etichetta è detta
|
||||
dinamica perchè il suo testo è aggiornato periodicamente.
|
||||
La lunghezza massima dell'etichetta è data da <i>lunghezza</i> (la sua altezza è quella di un
|
||||
carattere).
|
||||
Se il testo da visualizzare è più largo, allora sarà fatto
|
||||
ruotare, altrimenti è allineato nello spazio specificato tramite il valore
|
||||
del parametro <i>allineamento</i>: 0 per destra, 1 per centro,
|
||||
2 per sinistra.
|
||||
<br>
|
||||
Il testo da mostrare è dato da <i>testo</i>: deve essere scritto tra
|
||||
virgolette (<code>"</code>) (ma le <code>"</code> non possono essere parte del
|
||||
testo). L'etichetta è visualizzata usando il font identificato da <i>fontid</i>.
|
||||
Puoi usare le seguenti variabili nel testo.
|
||||
|
||||
<div align=center>
|
||||
<table valign=top border=1>
|
||||
<tr align=center><th>Variabile</th><th align=left>Significato</th></tr>
|
||||
<tr><td align=center><kbd>$1</kbd></td>
|
||||
<td>tempo in formato <em>hh:mm:ss</em></td></tr>
|
||||
<tr><td align=center><kbd>$2</kbd></td>
|
||||
<td>tempo in formato <em>mmmm:ss</em></td></tr>
|
||||
<tr><td align=center><kbd>$3</kbd></td>
|
||||
<td>tempo in formato <em>hh</em> (ore)</td></tr>
|
||||
<tr><td align=center><kbd>$4</kbd></td>
|
||||
<td>tempo in formato <em>mm</em> (minuti)</td></tr>
|
||||
<tr><td align=center><kbd>$5</kbd></td>
|
||||
<td>tempo in formato <em>ss</em> (secondi)</td></tr>
|
||||
<tr><td align=center><kbd>$6</kbd></td>
|
||||
<td>lunghezza filmato nel formato <em>hh:mm:ss</em></td></tr>
|
||||
<tr><td align=center><kbd>$7</kbd></td>
|
||||
<td>lunghezza filmato nel formato <em>mmmm:ss</em></td></tr>
|
||||
<tr><td align=center><kbd>$8</kbd></td>
|
||||
<td>tempo in formato <em>h:mm:ss</em></td></tr>
|
||||
<tr><td align=center><kbd>$v</kbd></td>
|
||||
<td>volume in formato <em>xxx.xx%</em></td></tr>
|
||||
<tr><td align=center><kbd>$V</kbd></td>
|
||||
<td>volume in formato <em>xxx.x</em></td></tr>
|
||||
<tr><td align=center><kbd>$b</kbd></td>
|
||||
<td>bilanciamento in formato <em>xxx.xx%</em></td></tr>
|
||||
<tr><td align=center><kbd>$B</kbd></td>
|
||||
<td>bilanciamento in formato <em>xxx.x</em></td></tr>
|
||||
<tr><td align=center><kbd>$$</kbd></td>
|
||||
<td>il carattere <kbd>$</kbd></td></tr>
|
||||
<tr><td align=center><kbd>$a</kbd></td>
|
||||
<td>un carattere a seconda del tipo di audio (nessuno: <code>n</code>,
|
||||
mono: <code>m</code>, stereo: <code>t</code>)</td></tr>
|
||||
<tr><td align=center><kbd>$t</kbd></td>
|
||||
<td>numero traccia (nella playlist)</td></tr>
|
||||
<tr><td align=center><kbd>$o</kbd></td>
|
||||
<td>nomefile</td></tr>
|
||||
<tr><td align=center><kbd>$f</kbd></td>
|
||||
<td>nomefile in minuscolo</td></tr>
|
||||
<tr><td align=center><kbd>$F</kbd></td>
|
||||
<td>nomefile in maiuscolo</td></tr>
|
||||
<tr><td align=center><kbd>$T</kbd></td>
|
||||
<td>un carattere a seconda del tipo di stream (file: <code>f</code>,
|
||||
video CD: <code>v</code>, DVD: <code>d</code>, URL: <code>u</code>)
|
||||
</td></tr>
|
||||
<tr><td align=center><kbd>$p</kbd></td>
|
||||
<td>il carattere "p" (se si sta leggendo un filmato e il font ha il carattere
|
||||
"p")
|
||||
</td></tr>
|
||||
<tr><td align=center><kbd>$s</kbd></td>
|
||||
<td>il carattere "s" (se non si sta leggendo un filmato e il font ha il carattere
|
||||
"s")
|
||||
</td></tr>
|
||||
<tr><td align=center><kbd>$e</kbd></td>
|
||||
<td>il carattere "e" (se il filmato è in pausa e il font ha il carattere
|
||||
"e")
|
||||
</td></tr>
|
||||
</table></div>
|
||||
<p>
|
||||
<b>Nota:</b> Le variabili <kbd>$a</kbd>, <kbd>$T</kbd>, <kbd>$p</kbd>, <kbd>$s</kbd>
|
||||
e <kbd>$e</kbd> ritornano tutte caratteri che dovrebbero essere visualizzati
|
||||
come simboli speciali (per esempio, "e" è per il simbolo della pausa che di solito
|
||||
appare come <code>||</code>). Dovresti avere un font per i caratteri normali
|
||||
e un altro per i simboli.
|
||||
Vedi la sezione sui <a href="#symbols">simboli</a> per altre informazioni.
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<dl>
|
||||
<dt><a name="main.slabel">
|
||||
<b>slabel = <i>x, y, fontid, testo</i></b>
|
||||
</a></dt>
|
||||
<dd>
|
||||
Posiziona una etichetta statica in <i>x</i>,<i>y</i>.
|
||||
Il <i>testo</i> è visualizzato usando il font identificato da <i>fontid</i>.
|
||||
Il testo è una pura stringa (le variabili $x non funzionano) che deve essere racchiuso
|
||||
tra virgolette (le <code>"</code> non possono essere parte del testo).
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<h3><a name="subwindow">3.2 Sotto finestra</a></h3>
|
||||
|
||||
I seguenti oggetti possono essere usati nel blocco
|
||||
'<code>window = sub</code>' . . . '<code>end</code>'.
|
||||
|
||||
<dl>
|
||||
<dt><a name="sub.base">
|
||||
<b>base = <i>immagine, x, y, larghezza, altezza</i></b>
|
||||
</a></dt>
|
||||
<dd>
|
||||
L'immagine da visualizzare nella finestra.
|
||||
La finestra apparirà alla posizione <i>x</i>,<i>y</i> data
|
||||
sullo schermo (0,0 è l'angolo in alto a sinistra). Puoi specificare -1 per centro
|
||||
e -2 destra (x) e sotto (y). La finestra sarà grande quanto l'immagine.
|
||||
<i>larghezza</i> e <i>altezza</i> danno la dimensione della finestra; sono opzionali
|
||||
(se mancano, la finestra è grande quanto l'immagine).
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<dl>
|
||||
<dt><a name="sub.background">
|
||||
<b>background = <i>r, g, b</i></b>
|
||||
</a></dt>
|
||||
<dd>
|
||||
Permette di definire il colore di sfondo. Utile se l'immagine è più piccola della
|
||||
finestra.
|
||||
<i>r</i>, <i>g</i> e <i>b</i> specificano le componenti rossa, verde e blu
|
||||
del colore (ognuno è un numero decimale compreso tra 0 e 255).
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<h3><a name="skinmenu">3.3 Menu della skin</a></h3>
|
||||
|
||||
Come menzionatoprima, il menu è visualizzato usando due immagini.
|
||||
Le normali voci del menu sono prese dall'immagine specificata dall'oggetto <i>base</i>,
|
||||
mentre la voce attualmente selezionata è presa dall'immagine specificata dall'oggetto
|
||||
<i>selected</i>.
|
||||
Devi definire la posizione e la dimensione di ogni voce del menu tramite l'oggetto <i>menu</i>.
|
||||
|
||||
|
||||
<p>
|
||||
Questi sono gli oggetti che possono essere usati nel blocco '<code>window = menu</code>'
|
||||
. . . '<code>end</code>'.
|
||||
|
||||
<dl>
|
||||
<dt><a name="menu.base">
|
||||
<b>base = <i>immagine</i></b>
|
||||
</a></dt>
|
||||
<dd>
|
||||
L'immagine delle normali voci del menu.
|
||||
</dl>
|
||||
</dd>
|
||||
|
||||
<dl>
|
||||
<dt><a name="menu.selected">
|
||||
<b>selected = <i>immagine</i></b>
|
||||
</a></dt>
|
||||
<dd>
|
||||
L'immagine che mostra il menu con tutte le voci selezionate.
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<dl>
|
||||
<dt><a name="menu.menu">
|
||||
<b>menu = <i>x, y, larghezza, altezza, messaggio</i></b>
|
||||
</a></dt>
|
||||
<dd>
|
||||
Definisce la posizione <i>x</i>,<i>y</i> e la grandezza di una voce del menu nelle
|
||||
immagini. <i>messaggio</i> è il messaggio da generare quando
|
||||
il bottone del mouse è rilasciato sopra la voce.
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<h2><a name="fonts">4 Font</a></h2>
|
||||
|
||||
Come detto nella sezione sulle varie parti di una skin, un font è definito da
|
||||
un'immagine e un file di descrizione.
|
||||
Puoi mettere i caratteri ovunque nell'immagine, ma assicurati
|
||||
che la loro posizione e dimensione sia data esattamente nel file di descrizione.
|
||||
|
||||
<p>
|
||||
Il file di descrizione del font (con estensione .fnt) può avere linee di commento
|
||||
che iniziano con '<code>;</code>'.
|
||||
Il file deve avere una linea nella forma
|
||||
<blockquote>
|
||||
<pre>
|
||||
image = <i>immagine</i>
|
||||
</pre>
|
||||
</blockquote>
|
||||
|
||||
<p>
|
||||
dove <i>immagine</i> è il nome del file immagine da usare per
|
||||
il font (non devi specificare l'estensione).
|
||||
La linea sopra è seguita dalle linee di definizione del carattere nella forma:
|
||||
|
||||
<blockquote>
|
||||
<pre>
|
||||
"<i>car</i>" = <i>x, y, l, a</i>
|
||||
</pre>
|
||||
</blockquote>
|
||||
|
||||
<p>
|
||||
Qui <i>x</i> e <i>y</i> specificano la posizione del carattere
|
||||
<i>car</i> nell'immagine (0,0 è l'angolo in alto a sinistra).
|
||||
<i>l</i> e <i>a</i> sono la larghezza e l'altezza del carattere
|
||||
(in pixel, naturalmente).
|
||||
|
||||
<p>
|
||||
Ecco un esempio che definisce i caratteri A, B, C usando font.png.
|
||||
<table width="100%" border=1><tr bgcolor=silver><td><pre>
|
||||
; può essere "font" invece di "font.png"
|
||||
image = font.png
|
||||
|
||||
; Tre caratteri sono abbastanza solo per una dimostrazione. :-)
|
||||
"A" = 0,0, 7,13
|
||||
"B" = 7,0, 7,13
|
||||
"C" = 14,0, 7,13
|
||||
</pre></td></tr></table>
|
||||
|
||||
|
||||
<h3><a name="symbols">4.1 Simboli</a></h3>
|
||||
|
||||
Alcuni caratteri hanno significati speciali quando ritornati da alcune variabili
|
||||
usate in
|
||||
<a href="#main.dlabel">dlabel</a>; questi caratteri vengono visualizzati
|
||||
come simboli. (Per esempio, in caso di un flusso DVD, si può visualizzare
|
||||
un bel logo DVD invece del carattere 'd'.)
|
||||
|
||||
<p>
|
||||
La tabella seguente elenca tutti i caratteri che possono essere usati per visualizzare
|
||||
simboli (e quindi richiedono un font differente).
|
||||
|
||||
<div align=center>
|
||||
<table>
|
||||
<tr><th align=center>Carattere</th><th align=left>Simbolo</th></tr>
|
||||
<tr><td align=center><kbd>p</kbd></td>
|
||||
<td align=left>play</td></tr>
|
||||
<tr><td align=center><kbd>s</kbd></td>
|
||||
<td align=left>stop</td></tr>
|
||||
<tr><td align=center><kbd>e</kbd></td>
|
||||
<td align=left>pausa</td></tr>
|
||||
<tr><td align=center><kbd>n</kbd></td>
|
||||
<td align=left>muto</td></tr>
|
||||
<tr><td align=center><kbd>m</kbd></td>
|
||||
<td align=left>suono mono</td></tr>
|
||||
<tr><td align=center><kbd>t</kbd></td>
|
||||
<td align=left>suono stereo</td></tr>
|
||||
<tr><td align=center><kbd>f</kbd></td>
|
||||
<td align=left>lo stream è un file</td></tr>
|
||||
<tr><td align=center><kbd>v</kbd></td>
|
||||
<td align=left>lo stream è un video CD</td></tr>
|
||||
<tr><td align=center><kbd>d</kbd></td>
|
||||
<td align=left>lo stream è un DVD</td></tr>
|
||||
<tr><td align=center><kbd>u</kbd></td>
|
||||
<td align=left>lo stream è una URL</td></tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<b>Nota:</b> attualmente sono usati solo 'p', 's', 'e', 'n', 'm' e 't'.
|
||||
</p>
|
||||
|
||||
<h2><a name="guimsg">Appendice A: messaggi della GUI</a></h2>
|
||||
|
||||
Questi sono i messaggi che possono essere generati da bottoni, slider e
|
||||
voci del menu.
|
||||
|
||||
<p>
|
||||
<em class=note>
|
||||
<b>Nota:</b> alcuni messaggi possono non funzionare come ci si aspetta (o non
|
||||
funzionare del tutto). Come sai, la GUI è in sviluppo.</em>
|
||||
|
||||
<p>
|
||||
<i>Controllo riproduzione:</i>
|
||||
<blockquote>
|
||||
<dl>
|
||||
<dt><b>evNext</b>
|
||||
<dd>Salta alla prossima traccia della playlist.
|
||||
|
||||
<dt><b>evPause</b>
|
||||
<dd>Pausa la riproduzione.
|
||||
|
||||
<dt><b>evPauseSwitchToPlay</b>
|
||||
<dd>Forma un interruttore logico insieme a <i>evPlaySwitchToPause</i>. Possono essere usati
|
||||
per avere un bottone comune di play/pausa. Entrambi i messaggi dovrebbero venire assegnati
|
||||
a bottoni visualizzati nella stessa posizione della finestra. Questo
|
||||
messaggio mette in pausa la riproduzione e viene mostrata l'immagine per il bottone <i>evPlaySwitchToPause</i>
|
||||
(ad indicare che il bottone può essere premuto per continuare la riproduzione).
|
||||
|
||||
<dt><b>evPlay</b>
|
||||
<dd>Inizia la riproduzione.
|
||||
|
||||
<dt><b>evPlaySwitchToPause</b>
|
||||
<dd>L'opposto di <i>evPauseSwitchToPlay</i>. Questo messaggio inizia la riproduzione
|
||||
ed è mostrata l'immagine per il bottone <i>evPauseSwitchToPlay</i> (ad
|
||||
indicare che il bottone può essere premuto per mettere in pausa).
|
||||
|
||||
<dt><b>evPrev</b>
|
||||
<dd>Salta alla traccia precedente nella playlist.
|
||||
|
||||
<dt><b>evStop</b>
|
||||
<dd>Ferma la riproduzione.
|
||||
</dl>
|
||||
</blockquote>
|
||||
|
||||
<p>
|
||||
<i>Ricerca nello stream:</i>
|
||||
<blockquote>
|
||||
<dl>
|
||||
<dt><b>evBackward10sec</b>
|
||||
<dt><b>evBackward1min</b>
|
||||
<dt><b>evBackward10min</b>
|
||||
<dd>Per andare indietro di 10 secondi / 1 minuto / 10 minuti.
|
||||
|
||||
<dt><b>evForward10sec</b>
|
||||
<dt><b>evForward1min</b>
|
||||
<dt><b>evForward10min</b>
|
||||
<dd>Per andare avanti di 10 secondi / 1 minuto / 10 minuti.
|
||||
|
||||
<dt><b>evSetMoviePosition</b>
|
||||
<dd>Per andare alla posizione (può essere usato da uno slider; è usato il valore
|
||||
relativo (0-100%) dello slider).
|
||||
</dl>
|
||||
</blockquote>
|
||||
|
||||
<p>
|
||||
<i>Controllo video:</i>
|
||||
<blockquote>
|
||||
<dl>
|
||||
<dt><b>evDoubleSize</b>
|
||||
<dd>Raddoppia le dimensioni della finestra del filmato.
|
||||
|
||||
<dt><b>evFullScreen</b>
|
||||
<dd>Manda a pieno schermo e vice versa.
|
||||
|
||||
<dt><b>evNormalSize</b>
|
||||
<dd>Regola la finestra del filmato alle sue dimensioni normali.
|
||||
</dl>
|
||||
</blockquote>
|
||||
|
||||
<p>
|
||||
<i>Controllo audio:</i>
|
||||
<blockquote>
|
||||
<dl>
|
||||
<dt><b>evDecAudioBufDelay</b>
|
||||
<dd>Diminuisce il ritardo del buffer audio.
|
||||
|
||||
<dt><b>evDecBalance</b>
|
||||
<dd>Diminuisce il bilanciamento.
|
||||
|
||||
<dt><b>evDecVolume</b>
|
||||
<dd>Diminuisce il volume.
|
||||
|
||||
<dt><b>evIncAudioBufDelay</b>
|
||||
<dd>Aumenta il ritardo del buffer audio.
|
||||
|
||||
<dt><b>evIncBalance</b>
|
||||
<dd>Aumenta il bilanciamento.
|
||||
|
||||
<dt><b>evIncVolume</b>
|
||||
<dd>Aumenta il volume.
|
||||
|
||||
<dt><b>evMute</b>
|
||||
<dd>Regola il suono su muto e vice versa.
|
||||
|
||||
<dt><b>evSetBalance</b>
|
||||
<dd>Regola il bilanciamento (può essere usato da uno slider; è usato il valore
|
||||
relativo (0-100%) dello slider).
|
||||
|
||||
<dt><b>evSetVolume</b>
|
||||
<dd>Regola il volume (può essere usato da uno slider; è usato il valore
|
||||
relativo (0-100%) dello slider).
|
||||
</dl>
|
||||
</blockquote>
|
||||
|
||||
<p>
|
||||
<i>Vari:</i>
|
||||
<blockquote>
|
||||
<dl>
|
||||
<dt><b>evAbout</b>
|
||||
<dd>Apre la finestra "about".
|
||||
|
||||
<dt><b>evEqualeaser</b>
|
||||
<dd>Accende/spegne l'equalizzatore.
|
||||
|
||||
<dt><b>evExit</b>
|
||||
<dd>Esce dal programma.
|
||||
|
||||
<dt><b>evIconify</b>
|
||||
<dd>Riduce ad icona la finestra.
|
||||
|
||||
<dt><b>evLoad</b>
|
||||
<dd>Carica un file (aprendo una finestra del file browser, dove puoi scegliere
|
||||
un file).
|
||||
|
||||
<dt><b>evLoadPlay</b>
|
||||
<dd>Fa la stessa cosa di <i>evLoad</i>, ma inizia automaticamente la riproduzione
|
||||
dopo il caricamento del file.
|
||||
|
||||
<dt><b>evNone</b>
|
||||
<dd>Messaggio vuoto, non ha nessun effetto. (Eccetto forse nella versione CVS. :-))
|
||||
|
||||
<dt><b>evPlayList</b>
|
||||
<dd>Apre/chiude la finestra della playlist.
|
||||
|
||||
<dt><b>evPreferences</b>
|
||||
<dd>Apre la finestra delle preferenze.
|
||||
|
||||
<dt><b>evSkinBrowser</b>
|
||||
<dd>Apre la finestra dello skin browser.
|
||||
</dl>
|
||||
</blockquote>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,215 @@
|
|||
<HTML>
|
||||
<BODY BGCOLOR=white>
|
||||
|
||||
<FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
|
||||
<P><B><A NAME=2.3.2>2.3.2. Dispositivi di output audio</A></P></B>
|
||||
|
||||
<P>L'interfaccia audio di <B>MPlayer</B> è chiamata <I>libao2</I>. Attualmente contiene
|
||||
questi driver :</P>
|
||||
|
||||
<TABLE BORDER=0>
|
||||
|
||||
<TD COLSPAN=4><P><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Generale:</B></P></TD>
|
||||
|
||||
<TR><TD> </TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>oss</TD><TD> </TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>driver OSS (ioctl)</TD></TR>
|
||||
<TR><TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>sdl</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>driver SDL (supporta sopra/sottocampionamento, <B>ESD</B>, <B>ARTS</B> ecc)</TD></TR>
|
||||
<TR><TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>nas</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>driver NAS (Network Audio System, sistema audio per la rete, ndt)</TD></TR>
|
||||
<TR><TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>alsa5</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>driver nativo ALSA 0.5</TD></TR>
|
||||
<TR><TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>alsa9</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>driver nativo ALSA 0.9 (funziona, ma ha dei problemi -> usa OSS)</TD></TR>
|
||||
<TR><TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>sun</TD><TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>driver audio SUN (/dev/audio) per utenti BSD e Solaris8</TD></TR>
|
||||
|
||||
</TABLE>
|
||||
|
||||
<P>Il fatto è che i driver per le schede sonore di Linux sono solitamente cattivi, e sempre tanto
|
||||
incompatibili quanto possono essere. PUO' volerci un po' prima di trovare la tua configurazione ottimale.</P>
|
||||
<P><UL>
|
||||
<LI>se hai OSS come driver, prima prova con <I>-ao oss</I> (questo è il default).
|
||||
Se sperimenti interruzioni, o qualunque cosa fuori dall'ordinario, prova
|
||||
<I>-ao sdl</I> (NOTA: naturalmente devi avere una nuova libreria SDL e le sue parti
|
||||
di sviluppo installate). Aiuta in molti casi (supporta anche ESD, ARTS, e
|
||||
sopra/sottocampionamento. /esd è il demone del suono di GNOME, arts è quello di KDE/).</LI>
|
||||
<LI>se hai ALSA versione 0.5, allora dovrai usare QUASI sempre <I>-ao alsa5</I> ,
|
||||
dato che la 0.5 ha un codice di emulazione OSS con dei bug, e manderà in <B>crash MPlayer</B> con
|
||||
un messaggio come questo:<BR>
|
||||
<UL>
|
||||
<CODE>DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer!</CODE></UL>
|
||||
</LI>
|
||||
<LI>se hai ALSA versione 0.9, usa <I>-ao oss</I> o <I>-ao sdl</I> come vuoi.
|
||||
Puoi anche usare <I>-ao alsa9</I> dato che ora funziona, comunque ha molti
|
||||
problemi (perde la sincronia, l'audio scompare, ecc).</LI>
|
||||
</UL></P>
|
||||
|
||||
<P>Su sistemi <B>Solaris/FreeBSD</B>, usa il driver audio SUN con l'opzione
|
||||
<I>-ao sun</I>, altrimenti no avrai ne riproduzione video, ne audio.</P>
|
||||
|
||||
<P><B><A NAME=2.3.2.1>2.3.2.1. Esperienze con le schede sonore, raccomandazioni</A></B></P>
|
||||
|
||||
<P><TABLE BORDER=0 WIDTH=100%>
|
||||
<TD COLSPAN=3><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Chipset VIA integrato (via82cxxx) solo 48Khz</B></TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Driver:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2> prelevabile da <A HREF="http://sourceforge.net/project/showfiles.php?group_id=3242&release_id=59602">qui</A></TD><TR>
|
||||
|
||||
<TD COLSPAN=3><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Aureal Vortex 2</B></TD><TR>
|
||||
<TD> </TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>OSS:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>nessun driver</TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>OSS/Pro:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>OK</TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>ALSA:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>nessun driver</TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>KHz massimi:</TD><TD>48</TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Driver:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2><A HREF="http://aureal.sourceforge.net">aureal.sourceforge.net</A></TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Driver2:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2> prelevabile da <A HREF="http://makacs.poliod.hu/~pontscho/aureal/au88xx-1.1.3.tar.bz2">qui</A><BR>
|
||||
(<I>grandezza del buffer aumentata a 32k</I>)</TD><TR>
|
||||
|
||||
<TD COLSPAN=3><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>GUS PnP</B></TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>OSS:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>nessun driver</TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>OSS/Pro:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>OK</TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>ALSA:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>OK</TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>KHz massimi:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>48</TD><TR>
|
||||
|
||||
<TD COLSPAN=3><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>SB Live!</B></TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>OSS:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>OK</TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>ALSA:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>(?)</TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>KHz massimi:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>48</TD><TR>
|
||||
|
||||
<TD COLSPAN=3><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>SB AWE 64</B></TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>OSS:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>massimo 44kHz</TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>ALSA:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>a 48kHz suona male</TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>KHz massimi:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>48</TD><TR>
|
||||
|
||||
<TD COLSPAN=3><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Gravis UltraSound ACE</B></TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>OSS:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>non OK</TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>ALSA:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>OK</TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>KHz massimi:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>44</TD><TR>
|
||||
|
||||
<TD COLSPAN=3><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Gravis UltraSound MAX</B></TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>OSS:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>OK</TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>ALSA:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>OK (?)</TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>KHz massimi:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>48</TD><TR>
|
||||
|
||||
<TD COLSPAN=3><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>ESS 688</B></TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>OSS:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>OK</TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>ALSA:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>OK (?)</TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>KHz massimi:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>48</TD><TR>
|
||||
|
||||
<TD COLSPAN=3><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Schede C-Media (quali?)</B></TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>OSS:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>non OK (sibila) (?)</TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>ALSA:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>OK (?)</TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>KHz massimi:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>?</TD><TR>
|
||||
|
||||
<TD COLSPAN=3><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Schede Yamaha (*ymf*)</B></TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>OSS:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>non OK (?) (forse -ao sdl)</TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>ALSA:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>OK solo con ALSA 0.5 con emulazione OSS <B>E</B> <I>-ao sdl</I> (!) (?)</TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>KHz massimi:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>?</TD><TR>
|
||||
|
||||
<TD COLSPAN=3><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Schede con chip envy24 (come Terratec EWS88MT)</B></TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>OSS:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>?</TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>OSS/Pro:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>OK</TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>ALSA:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>?</TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>KHz massimi:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>?</TD><TR>
|
||||
|
||||
<TD COLSPAN=3><B><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>PC Speaker o DAC</B></TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>OSS:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>OK (<I>usa il driver SDL : -ao sdl</I>)</TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>ALSA:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>nessun driver</TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>KHz massimi:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>il driver emula 44.1 forse più</TD><TR>
|
||||
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Driver:</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2><A HREF="ftp://ftp.infradead.org/pub/pcsp">ftp://ftp.infradead.org/pub/pcsp</A></TD><TR>
|
||||
</TABLE></P>
|
||||
|
||||
<P><UL>
|
||||
<LI>su Linux, usa almeno il kernel 2.4 se possibile, 2.2 non è stato testato
|
||||
<LI>se emette dei click leggendo da CD-ROM, abilita l' IRQ unmasking !
|
||||
per esempio "hdparm -u1 /dev/cdrom" (vedi "man hdparm" !!!)
|
||||
Questo è consigliato comunque... (per XMMS, ecc...)
|
||||
Leggi la sezione <A HREF="cd-dvd.html#4.1">4.1</A>.
|
||||
<LI>non usare la scheda sonora con altre applicazioni ( es. XMMS ) !
|
||||
se usi ESD, esegui MPlayer con l'opzione '-vo sdl:esd' !
|
||||
<LI>Per favore dicci come MPlayer e la tua scheda sonora hanno lavorato insieme!
|
||||
</UL></P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.3.2.2>2.3.2.2. Plugin Audio</A></B></P>
|
||||
|
||||
<P><B>MPlayer</B> supporta plugin audio. Possono essere usati per
|
||||
cambiare le proprietà dei dati audio prima che raggiungano la scheda
|
||||
sonora. Sono abilitati con l'opzione <CODE>-aop</CODE> seguita da
|
||||
<CODE>list=plugin1,plugin2,...</CODE>. L'opzione <CODE>list</CODE> è
|
||||
necessaria e determina quali plugin devono essere usate e in quale ordine
|
||||
devono essere eseguite, esempio:
|
||||
</P>
|
||||
|
||||
<P> <CODE>mplayer media.avi -aop list=resample,format</CODE></P>
|
||||
|
||||
<P>farà passare il suono attraverso il plugin di ricampionamento seguito da quello di
|
||||
formattazione.
|
||||
</P>
|
||||
|
||||
<P>I plugin possono anche avere opzioni che ne modificano il comportamento. Queste
|
||||
sono spiegate in dettaglio nelle sezioni sotto. Un plugin sarà eseguito
|
||||
con la configurazione di default se non vengono date opzioni. Esempi di come usare
|
||||
plugin in combinazione con loro opzioni specifiche:
|
||||
</P>
|
||||
|
||||
<P> <CODE>mplayer media.avi -aop
|
||||
list=resample,format:fout=48000:format=0x8</CODE>
|
||||
</P>
|
||||
|
||||
<P>cambierà la frequenza di uscita del plugin di ricampionamento a 44100Hz e il formato
|
||||
output del plugin di formattazione a AFMT_U8.
|
||||
</P>
|
||||
|
||||
<P>Attualmente i plugin audio non possono essere usati in <B>MEncoder</B>.</P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.3.2.2.1>2.3.2.2.1. Sopra/Sotto campionamento</A></B></P>
|
||||
|
||||
<P><B>MPlayer</B> supporta pienamente la sopra/sotto campionamento del suono. Questo plugin può
|
||||
per esempio essere usato se hai una scheda sonora a frequenza fissa o se sei
|
||||
bloccato con una vecchia scheda sonora in grado di dare al massimo 44.1kHz.
|
||||
Le limitazioni del tuo hardware non sono riconosciute automaticamente, quindi devi
|
||||
esplicitare la frequenza di campionamento. Questo plugin ha una opzione:
|
||||
<CODE>fout</CODE> che è usata per specificare la frequenza di output desiderata,
|
||||
di default 48kHz, ed è data in
|
||||
<Hz>.
|
||||
</P>
|
||||
|
||||
<P>Utilizzo :<BR>
|
||||
<CODE>mplayer media.avi -aop list=resample:fout=<necessaria
|
||||
frequenza in Hz, come 44100></CODE></P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.3.2.2.2>2.3.2.2.2. Decodifica Suono Surround</A></B></P>
|
||||
|
||||
<P><B>MPlayer</b> ha un plugin audio che puo decodificare una matrice di suono
|
||||
surround. Dolby Surround è un esempio di un formato di matrice.</p>
|
||||
|
||||
<P>Molti file con 2 canali in realtà contengono una matrice di suono
|
||||
surround.</p>
|
||||
|
||||
<P>Per usare questa caratteristica, devi avere una scheda sonora che supporta almeno 4 canali.</P>
|
||||
|
||||
<P>Utilizzo :<BR>
|
||||
<CODE>mplayer media.avi -aop list=surround</CODE></P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.3.2.2.3>2.3.2.2.3. Convertitore del formato di campionamento</A></B></P>
|
||||
|
||||
<P>Se il driver della tua scheda sonora non supporta gli int signed a 16bit, questo plugin può
|
||||
essere usato per cambiare il formato ad uno compreso dalla tua scheda sonora. Ha
|
||||
una opzione <CODE>format</CODE> che può avere come valori uno dei numeri
|
||||
che si trovano in libao2/afmt.h. Questo plugin è difficilmente necessario ed è da intendersi per
|
||||
utenti avanzati. Nota che questo plugin cambia solo il formato di campionamento e
|
||||
non la frequenza o il numero di canali.
|
||||
</P>
|
||||
|
||||
<P>Utilizzo :<BR>
|
||||
<CODE>mplayer media.avi -aop
|
||||
list=format:format=<necessario formato di output></CODE>
|
||||
</P>
|
||||
|
||||
|
||||
<P><B><A NAME=2.3.2.2.4>2.3.2.2.4. Ritardo</A></B></P>
|
||||
|
||||
<P>Questo plugin ritarda il suono ed è da intendersi come un esempio di come sviluppare
|
||||
nuovi plugin. Non può essere usato per niente di utile dalla prospettiva degli utenti
|
||||
ed è menzionato qui solo per dovere di completezza. Non usare questo plugin
|
||||
se non sei uno sviluppatore.</P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
|
@ -0,0 +1,176 @@
|
|||
<HTML>
|
||||
<BODY BGCOLOR=white>
|
||||
|
||||
<FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
||||
|
||||
<P><B><I>In medias res</I></B></P>
|
||||
|
||||
<P>Ci sono due argomenti principali che causano sempre grandi dispute e flame sulla mailing list degli
|
||||
<A HREF="http://www.MPlayerHQ.hu/cgi-bin/htsearch">utenti-mplayer</A>.
|
||||
Il numero uno è naturalmente l'argomento</P>
|
||||
|
||||
<A NAME=gcc><P><B><I>GCC 2.96</I></B></P>
|
||||
|
||||
<P><B>Leggi anche <A HREF="gcc-2.96-3.0.html">questo</A> testo !!!</B></P>
|
||||
|
||||
<P>Il <I>retroscena</I> : C'erano/ci sono le serie GCC <B>2.95</B>. Il migliore
|
||||
era il 2.95.3 . Per favore nota lo stile di numerazione delle versioni.
|
||||
Così è come il team GCC numera i loro compilatori. Quelli della serie 2.95 sono buoni.
|
||||
Non abbiamo mai visto nulla compilato male a causa di errori del 2.95.</P>
|
||||
|
||||
<P>L' <I>atto</I> : <B>RedHat</B> cominciò ad includere una versione <B>2.96</B> di GCC
|
||||
con le loro distribuzioni. Nota il numero di versione. Questo dovrebbe essere una versione del
|
||||
team GCC. Hanno modificato la versione CVS di GCC (qualcosa tre 2.95 e 3.0)
|
||||
L'hanno modificata profondamente, e hanno usato questa versione nella distribuzione perchè il 3.0
|
||||
non era uscito a quel tempo, e vollero che IA64 supportasse ASAP (ragioni di mercato).
|
||||
Oh, e GCC 2.95 compila male bash sull'architettura s390 (non esiste nessuna
|
||||
distribuzione RedHat per s390..) .</P>
|
||||
|
||||
<P>I <I>fatti</I> : Per compilare <B>MPlayer</B> necessita l'opzione
|
||||
<CODE>--disable-gcc-checking</CODE> per procedere dopo l'aver trovato la versione 2.96 di GCC
|
||||
(apparentemente la necessita anche con <B>egcs</B>. Questo perchè noi non
|
||||
testiamo <B>MPlayer</B> con egcs. Perdonaci, noi preferiamo sviluppare <B>MPlayer</B>).
|
||||
Se conosci <B>MPlayer</B>, dovresti sapere che è molto veloce. Ottiene questo
|
||||
grazie al fatto di avere codici MMX/SSE/3DNow/ecc stra-ottimizzati, fastmemcpy, e
|
||||
molte altre caratteristiche. <B>MPlayer</B> contiene istruzioni MMX/3DNow in una
|
||||
sintassi che tutti i compilaturi linux accettano... tranne il GCC della RedHat (è più
|
||||
compatibile con gli standard). Semplicemente li <B><I>salta</I></B>. Non mostra
|
||||
errori. Non mostra avvertimenti. <B>E</B>, c'è Lame. Col gcc 2.96, il suo test di qualità
|
||||
(<CODE>make test</CODE> dopo aver compilato) <I>non parte nemmeno !!!</I>
|
||||
Ma hey, compila bash su s390 e IA64.</P>
|
||||
|
||||
<P>Le <I>dichiarazioni</I> : la maggior parte degli sviluppatori del mondo cominciarono
|
||||
ad avere una cattiva idea del GCC 2.96 della RedHat, e dissero ai loro utenti RedHat di
|
||||
compilare con un altro compilatore. Il disappunto degli utenti RedHat si trasformò lentamente
|
||||
in rabbia. A cosa serviva,
|
||||
se non a procurare mal di testa agli sviluppatori, gettare benzina su flame anti-RedHat,
|
||||
confondere gli utenti? La risposta, non la conosco.</P>
|
||||
|
||||
<P><I>I giorni nostri</I> : RedHat dice che il GCC 2.96-85 e superiori
|
||||
sono stati corretti, e funzionano propriamente. Nota il numero di versione. Avrebbero dovuto cominciare
|
||||
con qualcosa del genere. Com'è il GCC 2.96.85 ? Non importa ora.
|
||||
Non ho cercato, ma vedo ancora bug nel 2.96 . Non importa ora,
|
||||
si spera che ora <B>RedHat dimenticherà il 2.96</B> e si rivolgerà verso il <B>3.0</B>.
|
||||
Verso un 3.0 profondamente modificato...
|
||||
</P>
|
||||
|
||||
<P><I>Quello che non capisco</I> è perchè gli utenti RedHat ci odino per aver
|
||||
inserito messaggi di avvertimento, e documenti che consigliano di stare alla larga dal 2.96 in <B>MPlayer</B> .
|
||||
Perchè siamo chiamati "teste bacate", "scemi totali", "puerili" dagli
|
||||
<B>utenti RedHat</B>, sulla nostra mailing list, e perfino su quella <B>redhat-devel</B> .
|
||||
Hanno anche considerato l'idea di un fork di <B>MPlayer</B> per loro stessi. Utenti RedHat.
|
||||
Perchè? E' RedHat che ha fatto il compilatore, perchè <U>voi</U> dovete odiarci?
|
||||
Siete <U>così</U> adoratori di RedHat? Per favore smettetela. Non abbiamo
|
||||
nessun rancore nei confronti degli utenti, non importa se vi sembra tanto il contrario.
|
||||
Per favore andateci di flame con Linus Torvalds, gli sviluppatori DRI (oh, ora so perchè sono
|
||||
stati sospesi da VA!), di Wine, di avifile. Anche se siamo arroganti,
|
||||
non siamo come questi elencati? Perchè <B>noi</B> dovremmo
|
||||
soffrire la vostra ingiusta collera?</P>
|
||||
|
||||
<P><A HREF="mailto:willis_matthew@yahoo.com">Matt Willis</A> ci ha gentilmente mandato
|
||||
un semplice documento su come compilare col GCC-3.0.3, lo copio qui sotto:</P>
|
||||
|
||||
<P>
|
||||
<UL>
|
||||
<LI>Scarica gcc. Vai alla pagina <A
|
||||
HREF="http://gcc.gnu.org/mirrors.html">http://gcc.gnu.org/mirrors.html</A>
|
||||
Io ho scaricato i seguenti file, ma non devi avere tutto:<BR>
|
||||
<CODE>gcc-g++-3.0.3.tar.gz<BR>
|
||||
gcc-objc-3.0.3.tar.gz<BR>
|
||||
gcc-3.0.3.tar.gz<BR>
|
||||
gcc-g77-3.0.3.tar.gz<BR>
|
||||
gcc-testsuite-3.0.3.tar.gz<BR>
|
||||
gcc-core-3.0.3.tar.gz<BR>
|
||||
gcc-java-3.0.3.tar.gz</CODE>
|
||||
</LI>
|
||||
|
||||
<LI>Scompatta i file, fai una directory per la compilazione, e compila<CODE><PRE>
|
||||
tar xvzf gcc-*3.0.3.tar.gz
|
||||
mkdir gcc-build; cd gcc-build
|
||||
../gcc-3.0.3/configure --prefix=/opt --program-suffix=-3.0.3
|
||||
make bootstrap; mkdir -p /opt; make install</PRE></CODE>
|
||||
|
||||
<LI>Inserisci nel tuo path /opt/bin<BR>
|
||||
<CODE>export PATH=/opt/bin:${PATH}</CODE>
|
||||
|
||||
<LI>Ora puoi compilare MPlayer.</LI>
|
||||
</UL>
|
||||
</P>
|
||||
|
||||
<A NAME=binary><P><B><I>Distribuzione binaria di MPlayer</I></B></P>
|
||||
|
||||
<P>Tonnellate di utenti ci hanno chiesto questo. Per esempio gli utenti Debian tendono a dire: Oh,
|
||||
Posso <CODE>apt-get install avifile</CODE>, perchè dovrei <B>compilare MPlayer</B> ?
|
||||
Sebbene questo possa sembrare ragionevole, la questione è un po' più complessa che
|
||||
quei-fottuti-sviluppatori-MPlayer-odiano-gcc-2.96-e-RedHat-e-Debian.</P>
|
||||
|
||||
<P>Ragioni: <B>Legge</B></P>
|
||||
|
||||
<P><B>MPlayer</B> designa il <U>codice sorgente</U>. Questo contiene molti file con licenze
|
||||
incompatibili specialmente a livello di clausole di redistribuzione. Come file sorgente, possono
|
||||
coesistere in uno stesso progetto.</P>
|
||||
|
||||
<P>Quindi, <U>NON POSSONO ESISTERE NE BINARI NE PACCHETTI BINARI DI <B>MPlayer</B> IN QUANTO
|
||||
TALI OGGETTI VANNO CONTRO LE LICENZE</U>. PERSONE CHE DISTRIBUISCONO TALI PACCHETTI BINARI STANNO
|
||||
COMPIENDO ATTIVITA' ILLEGALI.</P>
|
||||
|
||||
<P>Quindi se conosci qualcuno che mantiene un pacchetto binario mandagli
|
||||
questo testo e contattaci o chiedi a lui di farlo. Quello che sta facendo è illegale e
|
||||
NON E' PIU' <B>MPlayer</B>, ma il <U>suo</U> mplayer. Se qualcosa non va con quel pacchetto, è
|
||||
colpa sua. Non venite a lamentarvi sulle mailing list di <B>MPlayer</B>, sarai probabilmente
|
||||
messo in blacklist.</P>
|
||||
|
||||
<P>Ragioni: <B>Tecniche</B></P>
|
||||
|
||||
<P>
|
||||
<UL>
|
||||
<LI>Le ottimizzazioni di velocità di <B>MPlayer</B> (MMX, SSE, fastmemcpy, ecc) sono
|
||||
stabilite durante la compilazione. Così un binario compilato contiene codice
|
||||
specifico del processore. Un binario <B>MPlayer</B> compilato per K6 non funzionerà su
|
||||
Pentium e vice versa. Questo deve essere aggirato dal riconoscimento a
|
||||
runtime, che non è una cosa facile da fare perchè da come risultato una grande diminuzione di
|
||||
velocità. Se non ci credi (è stato spiegato in dettaglio 10000 volte su
|
||||
mplayer-users, cerca negli archivi), risolvi il problema e mandaci una patch. Qualcuno
|
||||
aveva cominciato a lavorarci, ma da allora è scomparso.</LI>
|
||||
<LI>Il sistema audio/video di <B>MPlayer</B> non è basato su plugin. E' compilato
|
||||
nel binario, facendolo così dipendere da varie librerie (la
|
||||
GUI dipende da GTK, DivX4 dipende da libdivxdecore, SDL dipende da libSDL,
|
||||
ogni versione di SDL contiene un bug proprio che deve essere aggirato alla
|
||||
compilazione, l'output X11 compila diversamente per X3 e X4, ecc). Potrai dire:
|
||||
si, facciamo 30 versioni di binari scaricabili! Noi no. Inseriremo
|
||||
queste cose come plugin nel futuro.</LI>
|
||||
</UL>
|
||||
|
||||
<A NAME=nvidia><P><B><I>NVidia</I></B></P>
|
||||
|
||||
<P>Non ci piacciono i driver binari di nvidia, la loro qualità, instabilità,
|
||||
l'inesistente supporto all'utente, la regolare comparsa di nuovi bug. E la maggio parte degli utenti fa
|
||||
lo stesso. Ultimamente siamo stati contattati da NVidia, e loro hanno detto che questi bug non
|
||||
esistono, l'instabilità è causata da pessimi chip AGP, e che non hanno ricevuto nessuna segnalazione
|
||||
di bug del driver (la linea viola, per esempio). Quindi: se hai problemi con
|
||||
la tua NVidia, aggiorna il driver nvidia e/o compra una nuova
|
||||
scheda madre.</P>
|
||||
|
||||
<A NAME=kotsog><P><B><I>Joe Barr</I></B></P>
|
||||
|
||||
<P>Non risponde alle nostre mail. Il suo editore non risponde alle nostre mail.
|
||||
la rete è piena delle sue false dichiarazioni e accuse (apparentemente non
|
||||
gli piacciono i ragazzi BSD, a causa dei loro diversi punti di vista
|
||||
[su cosa?]).</P>
|
||||
|
||||
<P>Ora alcune citazioni di diverse persone circa Joe Barr (solo per farvi sapere
|
||||
perchè non conta assolutamente niente):</P>
|
||||
|
||||
<P><I>"Voi tutti ricorderete il LinuxWorld 2000, quando lui affermò che Linus T disse
|
||||
che 'FreeBSD è solo un aiuto per i programmatori'. Linus non disse NIENTE del
|
||||
genere. Quando furono chieste spiegazioni a Joe, la sua reazione fu quella di chiamare tutti i sostenitori BSD
|
||||
stupidi e tonti."</I></P>
|
||||
|
||||
<P><I>"E' interessante, ma non è bravo ad evitare, um... le discussioni. Joe Barr
|
||||
era regolarmente presente sul forum Canopus di Zachmann su Compuserve,
|
||||
anni fa. Allora era un sostenitore di OS/2 (anche io ero un fan di OS/2).
|
||||
Era solito passare il limite, insultando la gente, e credo che avesse passato dei brutti quarti d'ora,
|
||||
la tempo. Si è ammorbidito un po' recentemente, giudicando dalle sue colonne. L'umorismo moderatamente
|
||||
subdolo non era suo uso a quei tempi, per niente."</I></P>
|
||||
|
||||
</HTML>
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue