2002-02-26 02:07:17 +00:00
< HTML >
2003-04-06 22:01:54 +00:00
<!-- Synced with english version 1.87 -->
2002-04-13 01:25:51 +00:00
< HEAD >
2002-09-26 17:22:49 +00:00
< TITLE > Codificare - MEncoder - Movie Encoder per Linux< / TITLE >
2003-02-28 19:58:12 +00:00
< LINK REL = "stylesheet" TYPE = "text/css" HREF = "../default.css" >
2002-09-26 17:22:49 +00:00
< META HTTP-EQUIV = "Content-Type" CONTENT = "text/html; charset=iso-8859-1" >
2002-04-13 01:25:51 +00:00
< / HEAD >
2002-09-26 17:22:49 +00:00
< BODY >
2002-02-26 02:07:17 +00:00
2003-04-06 22:01:54 +00:00
< H1 > < A NAME = "encoding" > 7. Codificare con MEncoder< / A > < / H1 >
2002-02-26 02:07:17 +00:00
2004-07-19 23:32:12 +00:00
< P > Per la lista completa delle opzioni disponibili per MEncoder e gli esempi, vedi
2003-04-06 22:01:54 +00:00
la pagina di man. Per una serie di esempi pratici ed una guida dettagliata
sull'uso dei parametri di codifica, leggi i
< A HREF = "tech/encoding-tips.txt" > consigli per la codifica< / A > raccolti da
varie discussioni avvenute sulla mailing list
< A HREF = "http://mplayerhq.hu/mailman7listinfo/mplayer-users" > mplayer-users< / A > .
Cerca negli < A HREF = "http://mlayerhq.hu/mailman/mplayer-users" > archivi< / A >
le discussioni sui dettagli ed i problemi relativi alla codifica con MEncoder.
< / P >
2002-02-26 02:07:17 +00:00
2003-04-06 22:01:54 +00:00
< H3 > < A NAME = "2pass" > 7.1 Codificare in MPEG-4 ("DivX") in 2 o 3 passaggii< / H3 >
2002-02-26 02:07:17 +00:00
< 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 >
2003-04-06 22:01:54 +00:00
< P > Questo esempio mostra come codificare un DVD in un AVI MPEG-4 ("DivX") a 2
passaggi. Bisogna dare solo due comandi :< BR >
2003-01-01 23:09:22 +00:00
2002-02-26 02:07:17 +00:00
< CODE > rm frameno.avi< / CODE > - rimuovi questo file che pu<70> essere rimasto
da una precedente codifica a 3 passaggi (interferisce col processo attuale)< BR >
2003-07-09 20:10:48 +00:00
< CODE > mencoder dvd://2 -ovc lavc -lavcopts
2003-01-01 23:09:22 +00:00
vcodec=mpeg4:vpass=1 -oac copy -o movie.avi< BR >
2003-07-09 20:10:48 +00:00
mencoder dvd://2 -ovc lavc -lavcopts
2003-01-01 23:09:22 +00:00
vcodec=mpeg4:vpass=2 -oac copy -o movie.avi< / CODE > < / P >
2002-02-26 02:07:17 +00:00
< 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 >
2003-01-01 23:09:22 +00:00
< OL >
< LI > Rimuovi il file temporaneo che va in conflitto:
< P > < CODE > rm frameno.avi< / CODE > < / P > < / LI >
< LI > Primo passaggio:
< P > < CODE > mencoder < file/DVD> -ovc frameno -oac mp3lame -lameopts vbr=3 -o frameno.avi< / CODE > < / P >
< P > Sar<EFBFBD> creato un file avi di solo audio, contenente SOLO
2002-02-26 02:07:17 +00:00
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,
2003-01-01 23:09:22 +00:00
dopo la fine di questo passaggio.< / P > < / LI >
< LI > Secondo passaggio:
< P > < CODE > mencoder < file/DVD> -oac copy
-ovc lavc -lavcopts vcodec=mpeg4:vpass=1:vbitrate=< bitrate> < / CODE > < / P >
2003-04-06 22:01:54 +00:00
< P > Questo <20> il primo passaggio della codifica video.
2002-02-26 02:07:17 +00:00
Puoi specificare il bitrate video dato da MEncoder alla fine del precedente
2003-01-01 23:09:22 +00:00
passaggio.< / P > < / LI >
< LI > Terzo passaggio:
< P > < CODE > mencoder < file/DVD> -oac copy
-ovc lavc -lavcopts vcodec=mpeg4:vpass=2:vbitrate=< bitrate> < / CODE > < / P >
2003-04-06 22:01:54 +00:00
< P > Questo <20> il secondo passaggio della codifica video.
Specifica lo stesso bitrate del passo precedente a meno che tu sappia
veramente cosa stai facendo. In questo passaggio, l'audio preso da
< CODE > frameno.avi< / CODE > sar<61> inserito
2003-01-01 23:09:22 +00:00
nel file di destinazione.. ed <20> tutto pronto!< / P > < / LI >
< / OL >
2002-02-26 02:07:17 +00:00
< P > < B > Esempio di codifica a 3 passaggi :< / B > < / P >
< P > < CODE > rm frameno.avi< / CODE > - rimuovi questo file,
che pu<70> essere rimasto da una precedente codifica a 3 passaggi (interferisce con quella attuale)< BR >
2003-07-09 20:10:48 +00:00
< CODE > mencoder dvd://2 -ovc frameno
2003-01-01 23:09:22 +00:00
-o frameno.avi -oac mp3lame -lameopts vbr=3< BR >
2003-07-09 20:10:48 +00:00
mencoder dvd://2 -ovc lavc
2003-01-01 23:09:22 +00:00
-lavcopts vcodec=mpeg4:vpass=1 -oac copy -o movie.avi< BR >
2003-07-09 20:10:48 +00:00
mencoder dvd://2 -ovc lavc
2003-01-01 23:09:22 +00:00
-lavcopts vcodec=mpeg4:vpass=2 -oac copy -o movie.avi< / CODE > < / P >
2002-02-26 02:07:17 +00:00
2003-04-06 22:01:54 +00:00
< H2 > < A NAME = "rescaling" > 7.2 Codificare in formato MPEG< / A > < / H2 >
< P > MEncoder pu<70> creare file in formato MPEG (MPEG-PS). Ci<43> <20> probabilmente utile
solo con il codec < I > mpeg1video< I > di libavcodec, poich<63> i programmi - tranne
MPlayer - si aspettano solo video MPEG1 ed audio MPEG1 layer 2 (MP2) nei file
MPEG.< / P >
< P > Questa funzione non <20> molto utile al momento, oltre ad avere probabilmente
molti bug, soprattutto perch<63> al momento MEncoder non pu<70> codificare l'audio
MPEG1 layer 2 (MP2), che tutti gli altri player si aspetano di trovare nei
file MPEG.< / P >
< P > Per modificare il formato d'uscita di MEncoder, usare l'opzione
< CODE > -of mpeg< / CODE > .< / P >
< P > Esempio:< BR >
< CODE > mencoder -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video
-oac copy < other options> media.avi -o output.mpg< / CODE > < / P >
< H2 > < A NAME = "rescaling" > 7.3 Ridimensionare i filmati< / A > < / H2 >
2002-02-26 02:07:17 +00:00
2003-01-01 23:09:22 +00:00
< P > Spesso emerge l'esigenza di ridimensionare le immagini del filmato. Le ragioni possono
essere molte: diminuire la dimensione del file, la larghezza di banda della rete, ecc. Molte persone
usano il ridimensionamento anche quando convertono DVD o SVCD in AVI DivX. < B > Questo <20> male.< / B >
Invece di fare cos<6F> , leggete la sezione < A HREF = "#aspect" > Conservare
le proporzioni< / A > .< / P >
2002-02-26 02:07:17 +00:00
2002-05-06 00:37:52 +00:00
< P > Il processo di ridimensionamento <20> gestito dal filtro video < I > 'scale'< / I > :
2003-03-22 12:02:27 +00:00
< CODE > -vf scale=larghezza:altezza< / CODE > . La qualit<69> pu<70> essere impostata tramite l'opzione
2002-05-06 00:37:52 +00:00
< CODE > -sws< / CODE > . Se non specificata, < B > MEncoder< / B > user<65> il valore 0 :
bilineare veloce.< / P >
2002-02-26 02:07:17 +00:00
2003-04-06 22:01:54 +00:00
< H5 > Utilizzo :< / H5 >
2003-01-01 23:09:22 +00:00
< P > < CODE > mencoder input.mpg -ovc lavc -lavcopts
2003-03-22 12:02:27 +00:00
vcodec=mpeg4 -vf scale=640:480 -oac copy -o
2003-01-01 23:09:22 +00:00
output.avi< / CODE > < / P >
2002-02-26 02:07:17 +00:00
2003-04-06 22:01:54 +00:00
< H2 > < A NAME = "copying" > 7.4 Copia da stream< / A > < / H2 >
2002-02-26 02:07:17 +00:00
< 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 >
2002-04-13 01:25:51 +00:00
< 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 < filename> < / CODE >
per farlo.< / LI >
2002-02-26 02:07:17 +00:00
< / UL >
< / P >
2003-04-06 22:01:54 +00:00
< H2 > < A NAME = "fixing" > 7.5 Correggere gli AVI con indice o intervallo malformati< / A > < / H2 >
2002-02-26 02:07:17 +00:00
2003-01-01 23:09:22 +00:00
< P > E' semplicissimo. Copiamo semplicemente i flussi audio e video, e
2002-02-26 02:07:17 +00:00
< B > MEncoder< / B > genera l'indice. Naturalmente questo non pu<70> correggere possibili bug
2002-03-06 23:28:06 +00:00
nei flussi video e/o audio. Corregge anche i file mal intervallati,
2002-02-26 02:07:17 +00:00
cos<EFBFBD> non sar<61> pi<70> necessaria l'opzione < CODE > -ni< / CODE > per leggerli.< / P >
2002-05-06 00:37:52 +00:00
< P > Comando : < CODE > mencoder -idx input.avi -ovc copy -oac copy -o output.avi< / CODE > < / P >
2002-02-26 02:07:17 +00:00
2003-04-06 22:01:54 +00:00
< H3 > < A NAME = "appending" > 7.5.1 Unire file AVI< / A > < / H3 >
< P > Un utile effetto collaterale della funzione di riparazione dei file AVI <20> la
possibilit<69> di usare MEncored per unire 2 (o pi<70> ) file AVI:< / P >
< P > Comando: < CODE > cat 1.avi 3.avi | mencoder -noidx -ovc copy -oac copy -o
output.avi -< / CODE > < / P >
< P > < B > Nota:< / B > MEncoder si aspetta che < CODE > 1.avi< / CODE > e < CODE > 2.avi< / CODE >
utilizzino gli stessi codec, risoluzione, stream rate, ecc, ed almeno 1.avi
non deve avere errori. Se necessario, puoi riparare i file prima di unirli,
come descritto < A HREF = "#fixing" > sopra< / A > .< / P >
< H2 > < A NAME = "libavcodec" > 7.6 Codificare con le famiglia di codec libavcodec< / A > < / H2 >
2002-02-26 02:07:17 +00:00
2002-09-26 17:22:49 +00:00
< P > < A HREF = "codecs.html#libavcodec" > Libavcodec< / A > fornisce una semplice codifica in
2002-02-26 02:07:17 +00:00
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 >
2003-04-06 22:01:54 +00:00
< LI > mpeg4 - ISO standard MPEG-4 (DivX 5, XviD compatibile)< / LI >
< LI > msmpeg4 - variant MPEG-4 pre-standard di MS, v3 (noto anche come DivX3)< / LI >
< LI > msmpeg4v2 - MPEG-4 pre-standard di MS, v2 (usati in vecchi file asf)< / LI >
< LI > wmv1 - Windows Media Video, versione 1 (noto anche come WMV7)< / LI >
2002-02-26 02:07:17 +00:00
< LI > rv10 - un vecchio codec RealVideo< / LI >
< LI > mpeg1video - video MPEG1 :)< / LI >
2003-04-06 22:01:54 +00:00
< LI > huffyuv - compressione lossless (senza perdita di qualit<69> , ndt)< / LI >
2002-02-26 02:07:17 +00:00
< / 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 >
2003-07-09 20:10:48 +00:00
< CODE > mencoder dvd://2 -o title2.avi -ovc lavc
2003-01-01 23:09:22 +00:00
-lavcopts vcodec=mjpeg -oac copy< / CODE > < / P >
2002-02-26 02:07:17 +00:00
2003-04-06 22:01:54 +00:00
< H2 > < A NAME = "image_files" > 7.7 Codificare da file di immagine multipli (JPEG, PNG o TGA)< / A > < / H2 >
2002-03-05 01:13:04 +00:00
2003-01-01 23:09:22 +00:00
< P > < B > MEncoder< / B > <20> in grado di creare filmati a partire da uno o pi<70> file JPEG, PNG o TGA.
2002-03-05 01:13:04 +00:00
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
2002-04-13 01:25:51 +00:00
disponibile (per i PNG, usa < B > libpng< / B > ).
2002-03-05 01:13:04 +00:00
< / P >
< P > < B > MEncoder< / B > quindi passa l' immagine decodificata al compressore video scelto
2003-04-06 22:01:54 +00:00
(DivX4, Xvid, ffmpeg msmpeg4, ecc...).< / P >
2002-03-05 01:13:04 +00:00
< P > < B > < I > Esempi< / I > < / B > < / P >
2003-04-06 22:01:54 +00:00
< P > La spiegazione dell'opzione < CODE > -mf< / CODE > si trova nella pagina di man.< / P >
2002-03-05 01:13:04 +00:00
< P > < I > Creare un file DivX4 da tutti i file JPEG presenti nella directory attuale :< / I > < BR >
2003-04-06 22:01:54 +00:00
< CODE > mencoder -mf on:w=800:h=600:fps=25 -ovc divx4
-o output.avi \*.jpg< / CODE > < / P >
2002-03-05 01:13:04 +00:00
2002-04-13 01:25:51 +00:00
< P > < I > Creare un file DivX4 da alcuni dei file JPEG presenti nella directory attuale :< / I > < BR >
2003-04-06 22:01:54 +00:00
< CODE > mencoder -mf on:w=800:h=600:fps=25
-ovc divx4 -o output.avi frame001.jpg,frame002.jpg< / CODE > < / P >
2002-04-13 01:25:51 +00:00
2002-03-05 01:13:04 +00:00
< P > < I > Creare un file Motion JPEG (MJPEG) da tutti i file JPEG presenti nella directory attuale :< / I > < BR >
2003-04-06 22:01:54 +00:00
< CODE > mencoder -mf on:w=800:h=600:fps=25 -ovc copy
-o output.avi \*.jpg< / CODE > < / P >
2002-03-05 01:13:04 +00:00
< P > < I > Creare un file non compresso da tutti i file PNG presenti nella directory attuale :< / I > < BR >
2003-04-06 22:01:54 +00:00
< CODE > mencoder -mf on:w=800:h=600:fps=25:type=png -ovc rawrgb
-o output.avi \*.png< / CODE > < / P >
< P > < B > Nota:< / B > La larghezza deve essere un multiplo intero di 4, <20> una
limitazione del formato RAW RGB dei file AVI.< / P >
2002-03-05 01:13:04 +00:00
< P > < I > Creare un file Motion PNG (MPNG) da tutti i file PNG presenti nella directory attuale :< / I > < BR >
2003-04-06 22:01:54 +00:00
< CODE > mencoder -mf on:w=800:h=600:fps=25:type=png -ovc copy
-o output.avi \*.png< / CODE > < / P >
2002-03-05 01:13:04 +00:00
2002-09-26 17:22:49 +00:00
< P > < I > Creare un file Motion TGA (MTGA) da tutti i file TGA presenti nella directory attuale:< / I > < BR >
2003-04-06 22:01:54 +00:00
< CODE > mencoder -mf on:w=800:h=600:fps=25:type=tga -ovc copy
-o output.avi \*.tga< / CODE > < / P >
2002-09-26 17:22:49 +00:00
2003-04-06 22:01:54 +00:00
< H2 > < A NAME = "vobsub" > 7.8 Estrarre i sottotitoli dei DVD in un file Vobsub< / A > < / H2 >
2002-07-27 20:46:48 +00:00
< 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 >
< CODE > rm sottotitoli.idx sottotitoli.sub< / CODE > < BR >
2003-07-09 20:10:48 +00:00
< CODE > mencoder dvd://1 -vobsubout sottotitoli -vobsuboutindex 0
2003-01-01 23:09:22 +00:00
-sid 2 -o frameno.avi -ovc frameno -oac mp3lame -lameopts vbr=3< / CODE > < BR >
2003-07-09 20:10:48 +00:00
< CODE > mencoder dvd://1 -oac copy -ovc divx4 -divx4opts pass=1< / CODE > < BR >
< CODE > mencoder dvd://1 -oac copy -ovc divx4 -divx4opts pass=2 -vobsubout
2003-01-01 23:09:22 +00:00
subtitles -vobsuboutindex 1 -sid 5< / CODE > < / P >
2002-07-27 20:46:48 +00:00
< P > < I > Copiare un sottotitolo francese da un file MPEG< / I > < BR >
< CODE > rm sottotitoli.idx sottotitoli.sub< / CODE > < BR >
< CODE > mencoder movie.mpg -ifo movie.ifo -vobsubout subtitles -vobsuboutindex 0 -vobsuboutid fr -sid 1< / CODE > < / P >
2002-03-05 01:13:04 +00:00
2003-04-06 22:01:54 +00:00
< H2 > < A NAME = "aspect" > 7.9 Conservare le proporzioni< / A > < / H2 >
2003-01-01 23:09:22 +00:00
< P > I file dei DVD e dei SVCD (cio<69> MPEG1/2) contengono un valore di proporzione,
che descrive come il lettore dovrebbe ridimensionare il flusso video, cos<6F> che
le persone non abbiano teste a uovo (es.: 480x480 + 4:3 = 640x480). Comunque quando
si codificano file AVI (DivX), bisogna considerare che le intestazioni degli AVI non salvano
questo valore. Ridimensionare il filmato <20> disgustoso e spreca tempo, deve esserci
un modo migliore!< / P >
< P > C'<27> .< / P >
< P > L'MPEG4 ha una caratteristica unica: il flusso video pu<70> contenere
le proporzioni che gli servono. Si, proprio come i file MPEG1/2 (DVD, SVCD).
Purtroppo, < U > non< U > ci sono lettori video la fuori che supportino questa
possibilit<69> . Eccetto MPlayer.< / P >
< P > Si pu<70> usare questa caratteristica solo con il codec < CODE > mpeg4< / CODE > di < B > libavcodec< / B > .
Ricorda: anche se MPlayer riproducer<65> correttamente il file creato,
gli altri lettori useranno le proporzioni sbagliate.< / P >
< P > Dovresti considerare seriamente la possibilit<69> di tagliare le bande nere sopra e sotto al filmato.
Vedi la pagina di man per l'utilizzo dei filtri < CODE > cropdetect< / CODE > e
< CODE > crop< / CODE > .< / P >
2003-04-06 22:01:54 +00:00
< H4 > Utilizzo:< / H4 >
2002-02-26 02:07:17 +00:00
2003-01-01 23:09:22 +00:00
< P > < CODE > $ mencoder sample-svcd.mpg -ovc lavc -lavcopts
2003-03-22 12:02:27 +00:00
vcodec=mpeg4:aspect=16.0/9.0 -vf crop=714:548:0:14 -oac copy -o output.avi< / CODE > < / P >
2002-02-26 02:07:17 +00:00
< / BODY >
< / HTML >