1
0
mirror of https://github.com/mpv-player/mpv synced 2025-02-10 00:47:38 +00:00
mpv/DOCS/Italian/encoding.html

343 lines
16 KiB
HTML
Raw Normal View History

<HTML>
<HEAD>
<TITLE>Codificare - MEncoder - Movie Encoder per Linux</TITLE>
<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="encoding">2.4. Codificare con MEncoder</A></B></P>
<P><B>MEncoder</B> (<B>MPlayer</B>'s Movie Encoder, Codificatore Filmati di MPlayer) <20> un semplice encoder,
studiato per codificare i filmati leggibili da MPlayer
(<B>AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET</B>) in altri formati leggibili da MPlayer
(vedi sotto). Pu<50> usare vari codec, come <B>DivX4</B> (1 o
2 passaggi), libavcodec, audio <B>PCM</B>/<B>MP3</B>/<B>VBRMP3</B>. Ha anche un
potente sistema di plugin per la manipolazione video.</P>
<P><B><A NAME="compilation">2.4.1. Compilazione</B></P>
<P>
<UL>
<LI><B>OPZIONALE</B> - leggi le istruzioni di compilazione di <B>MPlayer</B>.
<LI><B>OPZIONALE (SOLO PER LINUX)</B> - scarica le librerie <B>DivX4linux</B> pi<70> 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>OPTIONALE</B> - <A HREF="codecs.html#xvid">scarica e installa
<B>XViD</B></A>. Non molto utile, il codec <I>mpeg4</I> di libavcodec
pu<70> codificare pi<70> velocemente e con una migliore qualit<69> di XViD o DivX4/5.</LI>
di una codifica pi<70> veloce del DivX4, con approssimativamente la stessa qualit<69>.</LI>
<LI><B>OPZIONALE</B> - per il supporto libavcodec, installa libavcodec come
descritto nella <A HREF="codecs.html#libavcodec">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 &lt; 3.90 CON <U>GCC 2.96</U> ! Non funzioner<65>
correttamente !</B><BR>
Questo
<20> necessario per la possibilit<69> di codificare audio CBR/VBR MP3. Nota che il singolo binario di
<CODE>lame</CODE> non <20> sufficiente. Comunque: meno ottimizzazione usi
per lame, migliore sar<61> la qualit<69>. Puoi testare la
qualit<69> 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 <20> <B>400</B> o comunque alto, non dovresti sentire una diminuzione di
qualit<69>. Oh, e se il tuo compilatore non esegue nemmeno <CODE>make test</CODE> ...
Bhe, cancella quel <B>GCC 2.96</B> o aggiorna lame almeno all versione <B>3.90</B>.</LI>
<LI><B>OPZIONALE</B> - <CODE>libjpeg</CODE> e <CODE>libpng</CODE> -
come descritto nella sezione <A HREF="documentation.html#installation">Installazione</A>
</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="features">2.4.2. 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#libavcodec>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>creazione di file da flusso audio esterno</LI>
<LI>codifica a 1, 2 o 3 passaggi</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! D'altra parte, attualmente
la codifica CBR di <B>MEncoder</B> non funziona coi lettori win32 :)</LI>
<LI>Audio PCM</LI>
<LI>copia da stream</LI>
<LI>sincronizzazione dell'input A/V (basata su PTS, pu<70> 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>usa il nostro potente sistema a plugin (taglia, espandi, capovolgi, post-processa,
ruota, ridimensiona, conversione rgb/yuv)</LI>
<LI>pu<EFBFBD> codificare DVD/VOBsub <B>E</B> il testo dei sottotitoli nel file di output</LI>
<LI>pu<EFBFBD> catturare i sottotitoli dei DVD in formato Vobsub</LI>
</UL>
</P>
<P><B><I>Caratteristiche programmate</I></B> :
<UL>
<LI>ancora pi<70> 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="2pass">2.4.2.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<76> una
migliore qualit<69> d'immagine. Se questa <20> 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>&nbsp;&nbsp;&nbsp;&nbsp;rm frameno.avi</CODE> - rimuovi questo file che pu<70> essere rimasto
da una precedente codifica a 3 passaggi (interferisce col processo attuale)<BR>
<CODE>&nbsp;&nbsp;&nbsp;&nbsp;mencoder -dvd 2 -lavcopts vcodec=mpeg4:altre_opzioni
-o movie.avi -pass 1<BR>
&nbsp;&nbsp;&nbsp;&nbsp;mencoder -dvd 2 -lavcopts vcodec=mpeg4:altre_opzioni -o movie.avi -pass 2</CODE></P>
<P><U><B>codifica a 3 passaggi :</B></U> questa <20> 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<70>,
l'audio <20> codificato solo una volta, diversamente dalla modalit<69> in 2 passaggi. Schema :</P>
<P>
<TABLE>
<TR>
<TD>
<CODE>rm frameno.avi</CODE></TD>
<TD>
<B>rimuovi il file temporaneo che va in conflitto</B></TD>
</TR>
<TR>
<TD>
<CODE>mencoder &lt;file/DVD&gt; -ovc frameno -o
frameno.avi</CODE></TD>
<TD>
<B><U>Primo passaggio</U> : sar<61> 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>
<CODE>mencoder &lt;file/DVD&gt; -oac copy -pass 1
-ovc divx4 -divx4opts br=&lt;bitrate&gt;</CODE></TD>
<TD>
<B><U>Secondo passaggio</U> : cio<69> 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>
<CODE>mencoder &lt;file/DVD&gt; -oac copy -pass 2
-ovc divx4 -divx4opts br=&lt;bitrate&gt;</CODE></TD>
<TD>
<B><U>Terzo passaggio</U> : cio<69> 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<61> inserito
nel file di destinazione.. ed <20> tutto pronto!</B></TD>
</TR>
</TABLE>
</P>
<P><B>Esempio di codifica a 3 passaggi :</B></P>
<P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;rm frameno.avi</CODE> - rimuovi questo file,
che pu<70> essere rimasto da una precedente codifica a 3 passaggi (interferisce con quella attuale)<BR>
<CODE>&nbsp;&nbsp;&nbsp;&nbsp;mencoder -dvd 2 -ovc frameno
-o frameno.avi<BR>
<CODE>&nbsp;&nbsp;&nbsp;&nbsp;mencoder -dvd 2
-lavcopts vcodec=mpeg4:altre_opzioni -oac copy -o movie.avi -pass 1<BR>
&nbsp;&nbsp;&nbsp;&nbsp;mencoder -dvd 2
-lavcopts vcodec=mpeg4:altre_opzioni -oac copy -o movie.avi -pass 2</CODE>
</P>
<P><U><B>Codifica a 2 o 3 passaggi usando il controller interno di libavcodec</B></U> :
Opzionalmente puoi usare la modalit<69> interna a 2 o 3 passaggi di libavcodec, pu<70> risultare
una migliore accuratezza del frame rate rispetto al controller esterno.<BR>
<UL>
<B>codifica a 2 passaggi</B> :<BR>
<CODE>rm -f lavc_stats.txt<BR>
mencoder -dvd 2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 (opzioni audio) -o movie.avi<BR>
mencoder -dvd 2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 (opzioni audio) -o movie.avi</CODE><BR>
<BR>
<B>codifica a 3 passaggi</B> :<BR>
<CODE>rm -f frameno.avi lavc_stats.txt<BR>
mencoder -dvd 2 -ovc frameno (opzioni audio) -o frameno.avi<BR>
mencoder -dvd 2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o movie.avi<BR>
mencoder -dvd 2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o movie.avi</CODE><BR>
</UL>
</P>
<P><B><A NAME="rescaling">2.4.2.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<69> 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<65> quando codifichi
un file AVI (DivX), devi fare attenzione che l'intestazione dell'AVI non includa
questo valore. Quindi, l'unica soluzione <20> ridimensionare.</P>
<P>Il processo di ridimensionamento <20> gestito dal filtro video <I>'scale'</I>:
<CODE>-vop scale=X:Y</CODE>. La qualit<69> pu<70> essere impostata tramite l'opzione
<CODE>-sws</CODE>. Se non specificata, <B>MEncoder</B> user<65> il valore 0 :
bilineare veloce.</P>
<P>Utilizzo :<BR>
<CODE>&nbsp;&nbsp;&nbsp;&nbsp;mencoder esempio-svcd.mpg -lavcopts vcodec=mpeg4:altre_opzioni -vop scale=640:480 -sws 2 -o output.avi</CODE></P>
<P><B><A NAME="copying">2.4.2.3. Copia da stream</B></P>
<P><B>MEncoder</B> pu<70> 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<70> leggere tali file :) E probabilmente non ha
alcuna utilit<69> nella vita reale. Seriamente : la copia del flusso video pu<70> 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>) : semplice da capire.
E' possibile prendere un file audio esterno (MP3, AC3, Vorbis) e mixarlo
nel flusso di output. Usa l'opzione <CODE>-audiofile &lt;filename&gt;</CODE>
per farlo.</LI>
</UL>
</P>
<P><B><A NAME="fixing">2.4.2.4. Correggere gli AVI con indice o intervallo malformati</B></P>
<P>La cosa pi<70> semplice. Copiamo semplicemente i flussi audio e video, e
<B>MEncoder</B> genera l'indice. Naturalmente questo non pu<70> correggere possibili bug
nei flussi video e/o audio. Corregge anche i file mal intervallati,
cos<EFBFBD> non sar<61> pi<70> necessaria l'opzione <CODE>-ni</CODE> per leggerli.</P>
<P>Comando : <CODE>mencoder -idx input.avi -ovc copy -oac copy -o output.avi</CODE></P>
<P><B><A NAME="libavcodec">2.4.2.5. Codificare con le famiglia di codec <I>libavcodec</I></B></P>
<P><A HREF="codecs.html#libavcodec">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>msmpeg4v2 - Micro$oft MPEG4 V2 (predecessore del DivX alias MP43)</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>&nbsp;&nbsp;&nbsp;&nbsp;mencoder -dvd 2 -o title2.avi -ovc lavc -lavcopts vcodec=mjpeg</CODE></P>
<P><B><A NAME="image_files">2.4.2.6. Codificare da file di immagine multipli (JPEG o PNG)</B></P>
<P><B>MEncoder</B> <20> in grado di creare filmati a partire da uno o pi<70> file JPEG o PNG.
Con un semplice framecopy pu<70> creare file MJPEG (Motion JPEG) o MPNG
(Motion PNG).</P>
<P><B><I>Spiegazione del processo</I></B></P>
<P><B>MEncoder</B> <I>decodifica</I> le immagini in input con un codec video MJPEG
disponibile (per i PNG, usa <B>libpng</B>).
</P>
<P><B>MEncoder</B> quindi passa l' immagine decodificata al compressore video scelto
(DivX4, Xvid, ffmpeg msmpeg4, ecc...). Attenzione al decoder PNG, dato che
attualmente pu<70> fornire in output solo formati RGB, quindi non pu<70> essere usato con i codec
che richiedono un input YUV, come il DivX4 o l' msmpeg4 di ffmpeg.</P>
<P><B><I>Esempi</I></B></P>
<P>La spiegazione dell'opzione <CODE>-mf</CODE> si trova pi<70> sotto nella sezione
delle <A HREF="#options">Opzioni</A> generali e nella pagina di man.</P>
<P><I>Creare un file DivX4 da tutti i file JPEG presenti nella directory attuale :</I><BR>
&nbsp;&nbsp;<CODE>mencoder \*.jpg -mf on:w=800:h=600:fps=25 -ovc divx4 -o
output.avi</CODE></P>
<P><I>Creare un file DivX4 da alcuni dei file JPEG presenti nella directory attuale :</I><BR>
&nbsp;&nbsp;<CODE>mencoder frame001.jpg,frame002.jpg -mf on:w=800:h=600:fps=25 -ovc divx4 -o
output.avi</CODE></P>
<P><I>Creare un file Motion JPEG (MJPEG) da tutti i file JPEG presenti nella directory attuale :</I><BR>
&nbsp;&nbsp;<CODE>mencoder \*.jpg -mf on:w=800:h=600:fps=25 -ovc copy
-o output.avi</CODE></P>
<P><I>Creare un file non compresso da tutti i file PNG presenti nella directory attuale :</I><BR>
&nbsp;&nbsp;<CODE>mencoder \*.png -mf on:w=800:h=600:fps=25:type=png -ovc raw -o
output.avi</CODE></P>
<P><I>Creare un file Motion PNG (MPNG) da tutti i file PNG presenti nella directory attuale :</I><BR>
&nbsp;&nbsp;<CODE>mencoder \*.png -mf on:w=800:h=600:fps=25:type=png -ovc copy
-o output.avi</CODE></P>
<P><I>Creare un file Motion TGA (MTGA) da tutti i file TGA presenti nella directory attuale:</I><BR>
&nbsp;&nbsp;<CODE>mencoder \*.tga -mf on:w=800:h=600:fps=25:type=tga -ovc copy
-o output.avi</CODE></P>
<P><B><A NAME="vobsub">2.4.2.7. Estrarre i sottotitoli dei DVD in un file Vobsub</A></B></P>
<P><B>MEncoder</B> <20> in grado di estrarre i sottotitoli dei DVD e codificarli nel formato file Vobsub.
Questi consistono in un paio di file con estensione .idx e .sub e sono generalmente impacchettati in un unico archivio .rar. MPlayer pu<70> leggerli usando le opzioni <I>-vobsub</I> e <I>-vobsubid</I>.</P>
<P>Devi specificare il nome di base (cio<69> senza le estensioni .idx o .sub) dei file di output con
<I>-vobsubout</I> e l'indice per questo sottotitolo nei file risultanti con <I>-vobsuboutindex</I>.</P>
<P>Se l'input non viene da un DVD dovresti usare <I>-ifo</I> per indicare il file .ifo necessario per
costruire il file .idx risultante.</P>
<P>Se l'input non viene da un DVD e non hai il file .ifo devi usare l'opzione <I>-vobsubid</I> per fargli
sapere quale identificativo di lingua mettere nel file .idx.</P>
<P>Ogni esecuzione aggiunger<65> l'attuale sottotitolo ai file .idx e .sub se questi esistono gi<67>.
Quindi dovresti rimuoverli prima di ogni nuova esecuzione.</P>
<P><B>Esempi</B></P>
<P><I>Copiare due sottotitoli da un DVD usando la codifica a tre passaggi</I><BR>
&nbsp;&nbsp;<CODE>rm sottotitoli.idx sottotitoli.sub</CODE><BR>
&nbsp;&nbsp;<CODE>mencoder -dvd 1 -vobsubout sottotitoli -vobsuboutindex 0 -sid 2 -o frameno.avi -ovc frameno</CODE>
&nbsp;&nbsp;<CODE>mencoder -dvd 1 -oac copy -ovc divx4 -pass 1</CODE><BR>
&nbsp;&nbsp;<CODE>mencoder -dvd 1 -oac copy -ovc divx4 -pass 2 -vobsubout sottotitoli -vobsuboutindex 1 -sid 5</CODE></P>
<P><I>Copiare un sottotitolo francese da un file MPEG</I><BR>
&nbsp;&nbsp;<CODE>rm sottotitoli.idx sottotitoli.sub</CODE><BR>
&nbsp;&nbsp;<CODE>mencoder movie.mpg -ifo movie.ifo -vobsubout subtitles -vobsuboutindex 0 -vobsuboutid fr -sid 1</CODE></P>
<P><B><A NAME="options">2.4.3. Opzioni disponibili</B></P>
<P>Per tutte le opzioni disponibili e gli esempi, leggi la pagina di man</P>
</BODY>
</HTML>