4867
|
1 <HTML>
|
5583
|
2
|
|
3 <HEAD>
|
7509
|
4 <TITLE>Codificare - MEncoder - Movie Encoder per Linux</TITLE>
|
9512
|
5 <LINK REL="stylesheet" TYPE="text/css" HREF="../default.css">
|
7509
|
6 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
|
5583
|
7 </HEAD>
|
|
8
|
7509
|
9 <BODY>
|
4867
|
10
|
|
11
|
8707
|
12 <H2><A NAME="encoding">2.4. Codificare con MEncoder</A></H2>
|
4867
|
13
|
8707
|
14 <P>Per la lista completa delle opzioni disponibili per Mencoder e gli esempi, vedi
|
|
15 la pagina di man.</P>
|
4867
|
16
|
8707
|
17 <H3><A NAME="2pass">2.4.1. Codificare DivX4 in 2 o 3 passaggi</H3>
|
4867
|
18
|
|
19 <P><U><B>codifica a 2 passaggi :</B></U> il nome deriva dal fatto che questo metodo codifica il file <I>due volte</I>.
|
|
20 La prima codifica (<I>passaggio</I> doppiato) crea dei file temporanei (*.log) con una grandezza
|
|
21 di pochi megabyte, non cancellarli ancora (puoi cancellare l' AVI). Nel secondo passaggio, viene creato il
|
|
22 file di output, usando i dati sul bitrate dei file temporanei. Il file risultante avrà una
|
|
23 migliore qualità d'immagine. Se questa è la prima volta che ne senti parlare,
|
|
24 dovresti consultare alcune guide disponibili in rete.</P>
|
|
25
|
|
26 <P>Questo esempio mostra come codificare un DVD in un AVI DivX4 a 2 passaggi. Bisogna dare solo
|
|
27 due comandi :<BR>
|
8707
|
28
|
4867
|
29 <CODE> rm frameno.avi</CODE> - rimuovi questo file che può essere rimasto
|
|
30 da una precedente codifica a 3 passaggi (interferisce col processo attuale)<BR>
|
8707
|
31 <CODE> mencoder -dvd 2 -ovc lavc -lavcopts
|
|
32 vcodec=mpeg4:vpass=1 -oac copy -o movie.avi<BR>
|
|
33 mencoder -dvd 2 -ovc lavc -lavcopts
|
|
34 vcodec=mpeg4:vpass=2 -oac copy -o movie.avi</CODE></P>
|
4867
|
35
|
|
36 <P><U><B>codifica a 3 passaggi :</B></U> questa è un' estensione della codifica a 2 passaggi,
|
|
37 dove la codifica audio avviene in un passaggio separato. Questo metodo abilita la
|
|
38 stima del bitrate video raccomandato per far stare il file risultante in un CD. In più,
|
|
39 l'audio è codificato solo una volta, diversamente dalla modalità in 2 passaggi. Schema :</P>
|
|
40
|
8707
|
41 <OL>
|
|
42 <LI>Rimuovi il file temporaneo che va in conflitto:
|
|
43 <P><CODE>rm frameno.avi</CODE></P></LI>
|
|
44 <LI>Primo passaggio:
|
|
45 <P><CODE>mencoder <file/DVD> -ovc frameno -oac mp3lame -lameopts vbr=3 -o frameno.avi</CODE></P>
|
|
46 <P>Sarà creato un file avi di solo audio, contenente SOLO
|
4867
|
47 il flusso audio richiesto. Non dimenticare <CODE>-lameopts</CODE>, se ne
|
|
48 hai bisogno. Se stai codificando un filmato lungo, MEncoder da
|
|
49 i valori di bitrate consigliati per dimensioni di destinazione di 650Mb, 700Mb, e 800Mb,
|
8707
|
50 dopo la fine di questo passaggio.</P></LI>
|
|
51 <LI>Secondo passaggio:
|
|
52 <P><CODE>mencoder <file/DVD> -oac copy
|
|
53 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1:vbitrate=<bitrate></CODE></P>
|
|
54 <P>Cioè il primo passaggio della codifica del video DivX4.
|
4867
|
55 Puoi specificare il bitrate video dato da MEncoder alla fine del precedente
|
8707
|
56 passaggio.</P></LI>
|
|
57 <LI>Terzo passaggio:
|
|
58 <P><CODE>mencoder <file/DVD> -oac copy
|
|
59 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2:vbitrate=<bitrate></CODE></P>
|
|
60 <P>Cioè il secondo passaggio della codifica video DivX4.
|
4867
|
61 Puoi specificare il bitrate video dato da MEncoder alla fine del precedente
|
|
62 passaggio. In questo passaggio, l'audio da <CODE>frameno.avi</CODE> sarà inserito
|
8707
|
63 nel file di destinazione.. ed è tutto pronto!</P></LI>
|
|
64 </OL>
|
4867
|
65
|
|
66 <P><B>Esempio di codifica a 3 passaggi :</B></P>
|
|
67
|
|
68 <P><CODE> rm frameno.avi</CODE> - rimuovi questo file,
|
|
69 che può essere rimasto da una precedente codifica a 3 passaggi (interferisce con quella attuale)<BR>
|
|
70
|
|
71 <CODE> mencoder -dvd 2 -ovc frameno
|
8707
|
72 -o frameno.avi -oac mp3lame -lameopts vbr=3<BR>
|
|
73 mencoder -dvd 2 -ovc lavc
|
|
74 -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o movie.avi<BR>
|
|
75 mencoder -dvd 2 -ovc lavc
|
|
76 -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o movie.avi</CODE></P>
|
4867
|
77
|
8707
|
78 <H3><A NAME="rescaling">2.4.2. Ridimensionare i filmati</A></H3
|
4867
|
79
|
8707
|
80 <P>Spesso emerge l'esigenza di ridimensionare le immagini del filmato. Le ragioni possono
|
|
81 essere molte: diminuire la dimensione del file, la larghezza di banda della rete, ecc. Molte persone
|
|
82 usano il ridimensionamento anche quando convertono DVD o SVCD in AVI DivX. <B>Questo è male.</B>
|
|
83 Invece di fare così, leggete la sezione <A HREF="#aspect">Conservare
|
|
84 le proporzioni</A>.</P>
|
4867
|
85
|
5994
|
86 <P>Il processo di ridimensionamento è gestito dal filtro video <I>'scale'</I>:
|
8707
|
87 <CODE>-vop scale=larghezza:altezza</CODE>. La qualità può essere impostata tramite l'opzione
|
5994
|
88 <CODE>-sws</CODE>. Se non specificata, <B>MEncoder</B> userà il valore 0 :
|
|
89 bilineare veloce.</P>
|
4867
|
90
|
5994
|
91 <P>Utilizzo :<BR>
|
8707
|
92
|
|
93 <P><CODE> mencoder input.mpg -ovc lavc -lavcopts
|
|
94 vcodec=mpeg4 -vop scale=640:480 -oac copy -o
|
|
95 output.avi</CODE></P>
|
4867
|
96
|
|
97
|
8707
|
98 <H3><A NAME="copying">2.4.3. Copia da stream</A></H3>
|
4867
|
99
|
|
100 <P><B>MEncoder</B> può gestire i flussi in entrata in due modi : <B>codificandoli</B> o
|
|
101 <B>copiandoli</B>. Questa sezione tratta la <B>copia</B>.</P>
|
|
102
|
|
103 <P>
|
|
104 <UL>
|
|
105 <LI><B>Flusso video</B> (opzione <CODE>-ovc copy</CODE>) : si possono fare tante belle cose :)<BR>
|
|
106 Come, mettere (non convertire!) video FLI o VIVO o MPEG1 in un file AVI !
|
|
107 Naturalmente solo <B>MPlayer</B> può leggere tali file :) E probabilmente non ha
|
|
108 alcuna utilità nella vita reale. Seriamente : la copia del flusso video può essere utile per esempio
|
|
109 quando si vuole codificare solo il flusso audio (come, PCM non compresso
|
|
110 in MP3).</LI>
|
|
111
|
5583
|
112 <LI><B>Flusso audio</B> (opzione <CODE>-oac copy</CODE>) : semplice da capire.
|
|
113 E' possibile prendere un file audio esterno (MP3, AC3, Vorbis) e mixarlo
|
|
114 nel flusso di output. Usa l'opzione <CODE>-audiofile <filename></CODE>
|
|
115 per farlo.</LI>
|
4867
|
116 </UL>
|
|
117 </P>
|
|
118
|
|
119
|
8707
|
120 <H3><A NAME="fixing">2.4.4. Correggere gli AVI con indice o intervallo malformati</A></H3>
|
4867
|
121
|
8707
|
122 <P>E' semplicissimo. Copiamo semplicemente i flussi audio e video, e
|
4867
|
123 <B>MEncoder</B> genera l'indice. Naturalmente questo non può correggere possibili bug
|
4961
|
124 nei flussi video e/o audio. Corregge anche i file mal intervallati,
|
4867
|
125 così non sarà più necessaria l'opzione <CODE>-ni</CODE> per leggerli.</P>
|
|
126
|
5994
|
127 <P>Comando : <CODE>mencoder -idx input.avi -ovc copy -oac copy -o output.avi</CODE></P>
|
4867
|
128
|
|
129
|
8707
|
130 <H3><A NAME="libavcodec">2.4.5. Codificare con le famiglia di codec libavcodec</A></H3>
|
4867
|
131
|
7509
|
132 <P><A HREF="codecs.html#libavcodec">Libavcodec</A> fornisce una semplice codifica in
|
4867
|
133 molti interessanti formati video e audio (al momento i suoi codec audio non sono
|
|
134 supportati). Puoi codificare i seguenti codec :</P>
|
|
135
|
|
136 <P>
|
|
137 <UL>
|
|
138 <LI>mjpeg - Motion JPEG</LI>
|
|
139 <LI>h263 - H263</LI>
|
|
140 <LI>h263p - H263 Plus</LI>
|
|
141 <LI>mpeg4 - DivX4</LI>
|
|
142 <LI>msmpeg4 - il vecchio DivX</LI>
|
5994
|
143 <LI>msmpeg4v2 - Micro$oft MPEG4 V2 (predecessore del DivX alias MP43)</LI>
|
4867
|
144 <LI>rv10 - un vecchio codec RealVideo</LI>
|
|
145 <LI>mpeg1video - video MPEG1 :)</LI>
|
|
146 </UL>
|
|
147 </P>
|
|
148
|
|
149 <P>La prima colonna contiene i nomi dei codec che devono essere passati dopo l'opzione
|
|
150 <CODE>vcodec</CODE>, come : <CODE>-lavcopts vcodec=msmpeg4</CODE></P>
|
|
151
|
|
152 <P>Un esempio, con la compressione MJPEG :<BR>
|
8707
|
153 <CODE> mencoder -dvd 2 -o title2.avi -ovc lavc
|
|
154 -lavcopts vcodec=mjpeg -oac copy</CODE></P>
|
4867
|
155
|
|
156
|
8707
|
157 <H3><A NAME="image_files">2.4.6. Codificare da file di immagine multipli (JPEG, PNG o TGA)</A></H3>
|
4939
|
158
|
8707
|
159 <P><B>MEncoder</B> è in grado di creare filmati a partire da uno o più file JPEG, PNG o TGA.
|
4939
|
160 Con un semplice framecopy può creare file MJPEG (Motion JPEG) o MPNG
|
|
161 (Motion PNG).</P>
|
|
162
|
|
163 <P><B><I>Spiegazione del processo</I></B></P>
|
|
164
|
|
165 <P><B>MEncoder</B> <I>decodifica</I> le immagini in input con un codec video MJPEG
|
5583
|
166 disponibile (per i PNG, usa <B>libpng</B>).
|
4939
|
167 </P>
|
|
168
|
|
169 <P><B>MEncoder</B> quindi passa l' immagine decodificata al compressore video scelto
|
|
170 (DivX4, Xvid, ffmpeg msmpeg4, ecc...). Attenzione al decoder PNG, dato che
|
|
171 attualmente può fornire in output solo formati RGB, quindi non può essere usato con i codec
|
|
172 che richiedono un input YUV, come il DivX4 o l' msmpeg4 di ffmpeg.</P>
|
|
173
|
|
174 <P><B><I>Esempi</I></B></P>
|
|
175
|
|
176 <P>La spiegazione dell'opzione <CODE>-mf</CODE> si trova più sotto nella sezione
|
7509
|
177 delle <A HREF="#options">Opzioni</A> generali e nella pagina di man.</P>
|
4939
|
178
|
|
179 <P><I>Creare un file DivX4 da tutti i file JPEG presenti nella directory attuale :</I><BR>
|
8707
|
180 <CODE>mencoder \*.jpg -mf on:w=800:h=600:fps=25 -ovc divx4
|
|
181 -o output.avi</CODE></P>
|
4939
|
182
|
5583
|
183 <P><I>Creare un file DivX4 da alcuni dei file JPEG presenti nella directory attuale :</I><BR>
|
8707
|
184 <CODE>mencoder frame001.jpg,frame002.jpg -mf on:w=800:h=600:fps=25
|
|
185 -ovc divx4 -o output.avi</CODE></P>
|
5583
|
186
|
4939
|
187 <P><I>Creare un file Motion JPEG (MJPEG) da tutti i file JPEG presenti nella directory attuale :</I><BR>
|
|
188 <CODE>mencoder \*.jpg -mf on:w=800:h=600:fps=25 -ovc copy
|
|
189 -o output.avi</CODE></P>
|
|
190
|
|
191 <P><I>Creare un file non compresso da tutti i file PNG presenti nella directory attuale :</I><BR>
|
8707
|
192 <CODE>mencoder \*.png -mf on:w=800:h=600:fps=25:type=png -ovc raw
|
|
193 -o output.avi</CODE></P>
|
4939
|
194
|
|
195 <P><I>Creare un file Motion PNG (MPNG) da tutti i file PNG presenti nella directory attuale :</I><BR>
|
|
196 <CODE>mencoder \*.png -mf on:w=800:h=600:fps=25:type=png -ovc copy
|
|
197 -o output.avi</CODE></P>
|
|
198
|
7509
|
199 <P><I>Creare un file Motion TGA (MTGA) da tutti i file TGA presenti nella directory attuale:</I><BR>
|
|
200 <CODE>mencoder \*.tga -mf on:w=800:h=600:fps=25:type=tga -ovc copy
|
|
201 -o output.avi</CODE></P>
|
|
202
|
8707
|
203 <H3><A NAME="vobsub">2.4.7. Estrarre i sottotitoli dei DVD in un file Vobsub</A></H3>
|
6824
|
204
|
|
205 <P><B>MEncoder</B> è in grado di estrarre i sottotitoli dei DVD e codificarli nel formato file Vobsub.
|
|
206 Questi consistono in un paio di file con estensione .idx e .sub e sono generalmente impacchettati in un unico archivio .rar. MPlayer può leggerli usando le opzioni <I>-vobsub</I> e <I>-vobsubid</I>.</P>
|
|
207
|
|
208 <P>Devi specificare il nome di base (cioè senza le estensioni .idx o .sub) dei file di output con
|
|
209 <I>-vobsubout</I> e l'indice per questo sottotitolo nei file risultanti con <I>-vobsuboutindex</I>.</P>
|
|
210
|
|
211 <P>Se l'input non viene da un DVD dovresti usare <I>-ifo</I> per indicare il file .ifo necessario per
|
|
212 costruire il file .idx risultante.</P>
|
|
213
|
|
214 <P>Se l'input non viene da un DVD e non hai il file .ifo devi usare l'opzione <I>-vobsubid</I> per fargli
|
|
215 sapere quale identificativo di lingua mettere nel file .idx.</P>
|
|
216
|
|
217 <P>Ogni esecuzione aggiungerà l'attuale sottotitolo ai file .idx e .sub se questi esistono già.
|
|
218 Quindi dovresti rimuoverli prima di ogni nuova esecuzione.</P>
|
|
219
|
|
220 <P><B>Esempi</B></P>
|
|
221
|
|
222 <P><I>Copiare due sottotitoli da un DVD usando la codifica a tre passaggi</I><BR>
|
|
223 <CODE>rm sottotitoli.idx sottotitoli.sub</CODE><BR>
|
8707
|
224 <CODE>mencoder -dvd 1 -vobsubout sottotitoli -vobsuboutindex 0
|
|
225 -sid 2 -o frameno.avi -ovc frameno -oac mp3lame -lameopts vbr=3</CODE><BR>
|
|
226 <CODE>mencoder -dvd 1 -oac copy -ovc divx4 -divx4opts pass=1</CODE><BR>
|
|
227 <CODE>mencoder -dvd 1 -oac copy -ovc divx4 -divx4opts pass=2 -vobsubout
|
|
228 subtitles -vobsuboutindex 1 -sid 5</CODE></P>
|
6824
|
229
|
|
230 <P><I>Copiare un sottotitolo francese da un file MPEG</I><BR>
|
|
231 <CODE>rm sottotitoli.idx sottotitoli.sub</CODE><BR>
|
|
232 <CODE>mencoder movie.mpg -ifo movie.ifo -vobsubout subtitles -vobsuboutindex 0 -vobsuboutid fr -sid 1</CODE></P>
|
4939
|
233
|
8707
|
234 <H3><A NAME="aspect">2.4.8 Conservare le proporzioni</A></H3>
|
|
235
|
|
236 <P>I file dei DVD e dei SVCD (cioè MPEG1/2) contengono un valore di proporzione,
|
|
237 che descrive come il lettore dovrebbe ridimensionare il flusso video, così che
|
|
238 le persone non abbiano teste a uovo (es.: 480x480 + 4:3 = 640x480). Comunque quando
|
|
239 si codificano file AVI (DivX), bisogna considerare che le intestazioni degli AVI non salvano
|
|
240 questo valore. Ridimensionare il filmato è disgustoso e spreca tempo, deve esserci
|
|
241 un modo migliore!</P>
|
|
242
|
|
243 <P>C'è.</P>
|
4939
|
244
|
8707
|
245 <P>L'MPEG4 ha una caratteristica unica: il flusso video può contenere
|
|
246 le proporzioni che gli servono. Si, proprio come i file MPEG1/2 (DVD, SVCD).
|
|
247 Purtroppo, <U>non<U> ci sono lettori video la fuori che supportino questa
|
|
248 possibilità. Eccetto MPlayer.</P>
|
|
249
|
|
250 <P>Si può usare questa caratteristica solo con il codec <CODE>mpeg4</CODE> di <B>libavcodec</B>.
|
|
251 Ricorda: anche se MPlayer riproducerà correttamente il file creato,
|
|
252 gli altri lettori useranno le proporzioni sbagliate.</P>
|
|
253
|
|
254 <P>Dovresti considerare seriamente la possibilità di tagliare le bande nere sopra e sotto al filmato.
|
|
255 Vedi la pagina di man per l'utilizzo dei filtri <CODE>cropdetect</CODE> e
|
|
256 <CODE>crop</CODE>.</P>
|
|
257
|
|
258 <H5>Utilizzo:</H5>
|
|
259
|
|
260 <P><CODE>$ mencoder sample-svcd.mpg -ovc lavc -lavcopts
|
|
261 vcodec=mpeg4:aspect=16.0/9.0 -vop crop=714:548:0:14 -oac copy -o output.avi</CODE></P>
|
4867
|
262
|
|
263 </BODY>
|
|
264 </HTML>
|