Mercurial > mplayer.hg
view DOCS/Italian/codecs.html @ 6540:5b3cace64e9d
100l (non mmx versions didnt compile)
some cleanup
author | michael |
---|---|
date | Mon, 24 Jun 2002 00:18:29 +0000 |
parents | dc033b197434 |
children | 50f0d99097f5 |
line wrap: on
line source
<!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ù 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/è 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 è chiamata DivX4Linux e può anche decodificare i filmati fatti con l'infame codec DivX! Inoltre è molto più veloce della DLL DivX nativa di Win32, ma più lento di libavcodec. Quindi l'utilizzo di questo codec per la decodifica è <B>SCORAGGIATO</B>. Comunque è utile per l'encoding. Uno svantaggio di questo codec è che è attualmente a sorgenti chiusi.</P> <P>Il codec può essere scaricato da una di queste URL:</P> <P> <A HREF="http://avifile.sourceforge.net">http://avifile.sourceforge.net</A></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/DivX5 è (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 è 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à compatibile con OpenDivX come quella che puoi scegliere con le seguenti opzioni quando usi questo codec:</P> <P><TABLE BORDER=0> <TD> </TD><TD VALIGN=top>-vc odivx</TD><TD> </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 divx4</TD><TD></TD> <TD>Usa la conversione dello spazio dei colori del codec. in questa modalità, puoi usare anche YUY2/UYVY.</TD></TR> </TABLE></P> <P>Il metodo <CODE>-vc odivx</CODE> è 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 <CODE>-vc divx4</CODE>. Per le modalità RGB la velocità è la stessa, al massimo differisce a seconda della profondità di colore attuale.</P> <P>NOTA: se il tuo driver -vo supporta il direct rendering, allora <CODE>-vc divx4</CODE> può essere una soluzione più veloce, o perfino la più veloce.</P> <P>Nota: il <B>VECCHIO</B> OpenDivX supporta anche il postprocessing tramite <CODE>-oldpp</CODE>, ma il campo dei valori è strano: </P> <TABLE BORDER=0> <TR><TD> </TD><TD>0</TD><TD> </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 è 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ù 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à con <B>MPlayer</B>. Fai così:</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à così: <P> <CODE>main/libavcodec</CODE></P> Fare un link simbolico <B>non</B> è 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ù 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ò 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 è 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ò 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 è 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ò 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) (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à 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> multipiattaforma, il suo codice sorgente è 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à 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> usa di default il suo decoder opensource, multi-piattaforma per Cinepak. Supporta output YUV, così 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> è 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 è compatibile con DivX4 quindi è facile aggiungerne il supporto</LI> <LI>supporto codifica in 2 passaggi</LI> <LI>buona qualità di codifica, velocità 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ò 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> : è 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ò 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ù 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 è 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 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à 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 (pare che anche il più 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ò funzionare oppure no (sperimentale). Funzionerà solo con schede C-Media e schede SB Live! + driver ALSA. Non funzionerà 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> è 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) è 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> <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 specificati 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</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ò 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>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>