mirror of https://github.com/mpv-player/mpv
372 lines
16 KiB
HTML
372 lines
16 KiB
HTML
<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
|
|
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> </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 sia 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 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 è 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 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
|
|
<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ò 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>
|