mpv/DOCS/Italian/codecs.html

414 lines
18 KiB
HTML
Raw Normal View History

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<LINK REL="stylesheet" TYPE="text/css" HREF="default.css">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
<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:</P>
<UL>
<LI>MPEG1 (VCD) e MPEG2 (DVD)</LI>
<LI>DivX ;-), OpenDivX (DivX4), DivX 5.01, 3ivx M$ MPEG4 v2 e altre varianti MPEG4</LI>
<LI>Windows Media Video 7 (WMV1) e 8 (WMV2) usato nei file .wmv</LI>
<LI>Cinepak e Intel Indeo (3.1,3.2,4.1,5.0)</LI>
<LI>MJPEG, AVID, VCR2, ASV2 e altri formati hardware</LI>
<LI>VIVO 1.0, 2.0, I263 e altre varianti h263(+)</LI>
<LI>FLI//FLC</LI>
<LI>RealVideo 1.0 da ffmpeg, e RealVideo 2.0, 3.0 usando le librerie di RealPlayer</LI>
<LI>Vari vecchi semplici formati tipo RLE</LI>
</UL>
<P>Se hai un codec Win32 non presente qui, e non ancora supportato, per favore leggi <A
HREF="#2.2.3">come importare i codec</A> aiutaci ad aggiungerne il
supporto!</P>
<P><B><A NAME=2.2.1.1>2.2.1.1. DivX4/DivX5</A></B></P>
<P>Questa sezione contiene informazioni sul codec DivX4 di
<A HREF="http://www.projectmayo.com">Project Mayo</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 <20> chiamata DivX4Linux e pu<70> anche decodificare i filmati fatti con
l'infame codec DivX! Inoltre <20> molto pi<70> veloce della
DLL DivX nativa di Win32, ma pi<70> lento di libavcodec.
Quindi l'utilizzo di questo codec per la decodifica <20> <B>SCORAGGIATO</B>. Comunque <20> utile per
l'encoding. Uno svantaggio di questo codec <20> che <20> attualmente a sorgenti chiusi.</P>
<P>Il codec pu<70> essere scaricato da una di queste URL:</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="http://avifile.sourceforge.net">http://avifile.sourceforge.net</A></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/DivX5 <20> (propriamente) installato, basta compilare
come sempre. Se non lo trova, non lo hai installato o configurato
correttamente.</P>
<P>DivX4Linux va in conflitto col vecchio OpenDivX e la sua API <20>
simile a quella di OpenDivX, ma non compatibile. Quindi puoi avere solo uno di questi
compilato in <B>MPlayer</B> alla volta.</P>
<P>DivX4Linux offre una modalit<69> compatibile con OpenDivX come quella che puoi scegliere con le seguenti
opzioni quando usi questo codec:</P>
<P><TABLE BORDER=0>
<TD>&nbsp;&nbsp;</TD><TD VALIGN=top>-vc&nbsp;odivx</TD><TD>&nbsp;&nbsp;</TD>
<TD>Usa il codec alla maniera di OpenDivX.
in questo caso produce immagini YV12 nel suo proprio buffer,
e <B>MPlayer</B> fa la conversione dello spazio dei colori tramite libvo. (<B>RACCOMANDATO!</B>)</TD><TR>
<TD></TD><TD VALIGN=top>-vc&nbsp;divx4</TD><TD></TD>
<TD>Usa la conversione dello spazio dei colori del codec.
in questa modalit<69>, puoi usare anche YUY2/UYVY.</TD></TR>
</TABLE></P>
<P>Il metodo <CODE>-vc odivx</CODE> <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 <CODE>-vc divx4</CODE>.
Per le modalit<69> RGB la velocit<69> <20> la stessa, al massimo
differisce a seconda della profondit<69> di colore attuale.</P>
<P>NOTA: se il tuo driver -vo supporta il direct rendering, allora <CODE>-vc divx4</CODE> pu<70>
essere una soluzione pi<70> veloce, o perfino la pi<70> veloce.</P>
<P>Nota: il <B>VECCHIO</B> OpenDivX supporta anche il postprocessing tramite <CODE>-oldpp</CODE>,
ma il campo dei valori <20> strano: </P>
<TABLE BORDER=0>
<TR><TD>&nbsp;&nbsp;</TD><TD>0</TD><TD>&nbsp;&nbsp;</TD>
<TD>nessun postprocessing</TD></TR>
<TR><TD></TD><TD>10 .. 20</TD>
<TD></TD><TD>postprocessing normale (come il livello 2 con divxds)</TD></TR>
<TR><TD></TD><TD>30 .. 60</TD>
<TD></TD><TD>alto prostprocessing, divora molta CPU (come il livello 4 con divxds</TD></TR>
</TABLE>
<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/DivX5/MP41/MP42 su piattaforme non-x86</B>,
ed avere una decodifica 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 una release di <B>MPlayer</B> allora hai libavcodec proprio nel pacchetto, basta
compilare come al solito.Se usi <B>MPlayer</B> dal CVS devi prendere libavcodec direttamente dall'albero CVS di FFmpeg
dato che la versione 0.4.5 di Ffmpeg <B>non</B> funzioner<65> con <B>MPlayer</B>. Fai cos<6F>:</P>
<OL>
<LI><CODE>cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg login</CODE></LI>
<LI><CODE>cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg co ffmpeg</CODE></LI>
<LI>Sposta la directory dei sorgenti di <B>libavcodec</B>
nell'albero di <B>MPlayer</B>, quindi risulter<65> cos<6F>:
<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>main/libavcodec</CODE></P>
Fare un link simbolico <B>non</B> <20> abbastanza, devi copiarlo/spostarlo!!!</LI>
<LI>Compila. Configure controlla che non ci siano problemi prima di compilare.</LI>
</OL>
<P><B>NOTA:</B> MPlayer in versione CVS contiene una subdirectory libavcodec,
ma NON contiene i sorgenti di libavcodec!
Devi seguire i passi sopra per ottenere i sorgenti di questa libreria.</P>
<P>Il codec supporta anche il <B>postprocessing!</B></P>
<P>Con ffmpeg e la mia Matrox G400, riesco a vedere filmati DivX anche alla pi<70> alta risoluzione
sul mio K6/2 500, senza frame scartati.</P>
<P><B><A NAME=2.2.1.3>2.2.1.3. I codec di XAnim</A></B></P>
<P>Introduzione:<BR>
Ti avvertiamo che i codec binari di XAnim sono impacchettati con un pezzo di testo
che afferma di essere una legale licenza software che, tra altre restrizioni,
proibisce all'utente di usare i codec in congiunzione con qualunque
programma diverso da XAnim. Comunque l'autore di XAnim non ha ancora condotto
alcuna azione legale contro chicchessia per questioni relarive ai codec.
</P>
<P><B>MPlayer</B> pu<70> usare i codec di XAnim per la decodifica. Segui le istruzioni per
abilitarli:</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<>, ma sul <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>/usr/local/lib/xanim/mods,
/usr/lib/xanim/mods e /usr/lib/xanim</CODE>.
Oppure puoi impostare la variabile d'ambiente <I>XANIM_MOD_DIR</I> alla
directory dei codec XAnim.</LI>
<LI>Rinomina/crea un symlink ai 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>XAnim <20> la famiglia di codec numero 10, quindi puoi usare l'opzione <CODE>-vfm 10</CODE>
per dire a <B>MPlayer</B> di usarli se possibile.</P>
<P>I codec testati includono: <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) (richiede libavcodec aggiornato). 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> multipiattaforma,
il suo codice sorgente <20> incluso in <B>MPlayer</B>.
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.
Questo metodo non implica 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> usa di default 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.</P>
<P><B><A NAME=2.2.1.8>2.2.1.8. RealVideo</A></B></P>
<B>MPlayer</B> supporta tutte le versioni di RealVideo:
<UL>
<LI>RealVideo 1.0 (fourcc RV10) - codifica e decodifica supportata da <B>libavcodec</B></LI>
<LI>RealVideo 2.0 (fourcc RV20) - decodifica supportata dalle <B>librerie RealPlayer</B></LI>
<LI>RealVideo 3.0 (fourcc RV30) - decodifica supportata dalle <B>librerie RealPlayer</B></LI>
</UL>
<P>Per sapere come installare le librerie RealPlayer, vedi la sezione
<A HREF="formats.html#2.1.1.7">Formato file RealMedia</A>.</P>
<P><B><A NAME=2.2.1.9>2.2.1.9. XViD</A></B></P>
<P><B>XViD</B> <20> un altro sviluppo del gruppo OpenDivX (il loro primo sviluppo
fu DivX4).</P>
<P><B>Vantaggi:</B></P>
<UL>
<LI>opensource</LI>
<LI>la sua API <20> compatibile con DivX4 quindi <20> facile aggiungerne il
supporto</LI>
<LI>supporto codifica in 2 passaggi</LI>
<LI>buona qualit<69> di codifica, velocit<69> maggiore del DivX4 (puoi ottimizzalo per la tua
box durante la compilazione)</LI>
</UL>
<P><B>Svantaggi:</B></P>
<UL>
<LI>attualmente non <B>decodifica</B> propriamente tutti i file DivX/DivX4 (nessun problema, libavcodec pu<70> leggerli)</LI>
<LI>devi scegliere tra il supporto DivX4 <B>O</B> XViD quando
compili</LI>
<LI>in sviluppo</LI>
</UL>
<P><B>Installazione</B> : <20> attualmente disponibile solo in CVS. Ecco le istruzioni
per scaricarlo e compilarlo :</P>
<OL>
<LI><CODE>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid
login</CODE></LI>
<LI><CODE>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co
xvidcore</CODE></LI>
<LI><CODE>cd xvidcore/build/generic</CODE></LI>
<LI><CODE>Cambia Makefile.linux a seconda di ci<63> che ti serve</CODE></LI>
<LI><CODE>make -f Makefile.linux</CODE></LI>
<LI>Prendi encore2.h e decore.h dal pacchetto Divx4linux, e copiali in <CODE>/usr/local/include/</CODE></LI>
<LI><CODE>recompila <B>MPlayer</B> con
--with-xvidcore=/path/to/libcore.a</CODE></LI>
</OL>
<P><B><A NAME=2.2.2>2.2.2. Codec audio</A></B></P>
<P>I pi<70> importanti tra tutti :<BR></P>
<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 MMX/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><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 sonoro,
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 (pare che anche il pi<70> nuovo CVS di ALSA lo supporti).</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 fa la C-Media).
Connetti il tuo decoder AC3 all'uscita SP/DIF, e usa l'opzione '-ac hwac3'.
Pu<EFBFBD> funzionare oppure no (sperimentale). Funzioner<65> solo con schede C-Media
e schede SB Live! + driver ALSA. Non funzioner<65> con i driver OSS della
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. Non gestisce bene i file difettosi, e a volte ha dei problemi con la ricerca.</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>
<B>MPlayer</B> supporta tutte le versioni di RealAudio:
<UL>
<LI>RealAudio DNET - decodifica supportata da <B>libavcodec</B></LI>
<LI>RealAudio Cook - decodifica supportata dalle <B>librerie RealPlayer</B></LI>
<LI>RealAudio Sipro - decodifica supportata dalle <B>librerie RealPlayer</B></LI>
</UL>
<P>Per sapere come installare le librerie RealPlayer, vedi la sezione
<A HREF="formats.html#2.1.1.7">Formato file RealMedia</A>.</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 nel leggere il tuo AVI con questo tipo di messaggio:</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</P>
<UL>
<LI>system.ini non contiene le informazioni necessarie, ma sono scritte nel
registro :(
<LI>abbiamo bisogno del GUID del codec.
</UL></P>
<P>Fai un bel respiro e comincia a cercare nel registro...</P>
<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>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>