mpv/DOCS/Italian/codecs.html

372 lines
16 KiB
HTML
Raw Normal View History

<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<70> 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/<2F> incluso in <B>MPlayer</B>, e compilato di
default. Usavamo il suo codice di postprocessing per migliorare opzionalmente la
qualit<EFBFBD> visiva dei filmati MPEG1/2. Ora usiamo il nostro.</P>
<P>La nuova generazione di questo codec pu<70> anche decodificare i filmati fatti con
l'infame codec DivX! E non <20> tutto, <20> MOLTO pi<70> veloce della
tradizionale DLL DivX Win32 (nota che libavcodec <20> ANCORA PIU' VELOCE :).
Vedi sotto per la configurazione. L'unico svantaggio di questo codec <20> che <20>
attualmente a sorgenti chiusi. :(</P>
<P>Il codec pu<70> essere scaricato dalla seguente URL:</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="http://avifile.sourceforge.net">http://avifile.sourceforge.net</A></P>
<P>Se non va, prova :</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;<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 <20> (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 <20> un po' macchinoso. Dato che va in conflitto col vecchio OpenDivX (la sua API <20>
molto simile a quella di OpenDivX), il codice OpenDivX <20> disabilitato, e anche il driver OpenDivX
chiama 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>&nbsp;&nbsp;</TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-vc&nbsp;odivx</TD><TD>&nbsp;&nbsp;</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&nbsp;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<69>, puoi usare anche YUY2/UYVY.</TD></TR>
</TABLE></P>
<P>Il metodo 'odivx' <20> solitamente pi<70> veloce, dovuto al fatto che trasferisce
i dati dell'immagine in formato YV12 (planar YUV 4:2:0), richiedendo cos<6F> molta meno
larghezza di banda sul bus. Per le modalit<69> YUV (YUY2, UYVY) usa il metodo 'divx4'.
Per le modalit<69> RGB puoi scegliere liberamente, la loro velocit<69> <20> 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 <20> strano: </P>
<P><TABLE BORDER=0>
<TD>&nbsp;&nbsp;</TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>0</TD><TD>&nbsp;&nbsp;</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 <20> 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<70> 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<65> cos<6F>
:</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>main/libavcodec</CODE></P>
<P>Fare un link simbolico NON <20> abbastanza, devi copiarlo/spostarlo!!!</P>
</LI>
</UL>
</P>
<P>Quindi compila. configure controlla che tutto sia a posto, e pu<70> 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<EFBFBD> massima</B> sul mio K6, rimuovo la sezione
<CODE>ffmpeg12</CODE> da codecs.conf (questo codec non <20> ottimizzato, e
libmpeg2 <20> due volte pi<70> 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<70> 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, <20>
<B><I>ILLEGALE</I></B>. E' <B>TUA</B> responsibilit<69> 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<70> 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 <20> 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<70> 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<70> leggere i video Vivo (1.0 e 2.0). Il codec pi<70> adatto
per i file 1.0 <20> il decoder H263 di FFmpeg, puoi usarlo con l'opzione <CODE>-vc
ffh263</CODE> (default) (devi avere il pi<70> 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<69> YV12 e YUY2 solo BGR,
quindi utilizzabile solo con gli output X11 e OpenGL. Si spera che ffh263 supporter<65>
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 <20> incluso in <B>MPlayer</B>, e naturalmente <20> 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<69> misurabile.</P>
<P><B><A NAME=2.2.1.6>2.2.1.6. MS Video1</A></B></P>
<P>Questo <20> 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<6F> 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 <20> 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 <20>
improbabile :(</P>
<P><B><A NAME=2.2.2>2.2.2. Codec audio</A></B></P>
<P>I pi<70> 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 <20> il codec di default usato per i file con audio AC3.</P>
<P>Il decoder AC3 pu<70> 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<61> mixato ugualmente
ai canali frontali. In ultimo, "-channels 6" dar<61> 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 <20> 2.</P>
<P>Per usare pi<70> 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<70> recente dell'agosto
2001 dovrebbe andare bene (ho sentito che anche il pi<70> 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<EFBFBD> funzionare oppure no (sperimentale). (probabilmente funzioner<65> 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> <20> 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 si tratti di 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 <20> il codec DNET. In realt<6C> <20> una
versione a basso bitrate del famoso codec AC3. Si pu<70> 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) <20> 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>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>UNKNOWN video codec: HFYU (0x55594648)</CODE></P>
<P>Significa che il tuo AVI <20> 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>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>VIDC.HFYU=huffyuv.dll</CODE></P>
<P>Quindi abbiamo bisogno del file huffyuv.dll. Nota che i codec audio sono specificati
dal prefisso MSACM:</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>msacm.l3acm=L3codeca.acm</CODE></P>
<P>Questo <20> 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>&nbsp;&nbsp;&nbsp;&nbsp;<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 <20> la nuova API video, che <20> anche peggiore della precedente.
Le cose sono pi<70> 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 nel 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<70> 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 <20> 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>