Utilizzo base di MEncoder
Per la lista completa delle opzioni disponibili ed esempi per
MEncoder, leggi per favore la pagina di manuale. Per
una serie di esempi pronti all'uso e guide dettagliate sull'utilizzo di
svariati parametri di codifica leggi le
indicazioni per la codifica
che sono stati selezionati da vari thread sulla mailing list MPlayer-users.
Cerca
qui
negli archivi e soprattutto per cose più vecchie, anche
qui per
una buona serie di discussioni riguardanti tutti gli aspetti e i problemi
relativi alla codifica con MEncoder.
Selezionare codec e formati contenitore
I codec audio e video per la codifica vengono selezionati rispettivamente con
le opzioni e .
Esegui per esempio:
mencoder -ovc help
per elencare tutti i codec video supportati dalla versione di
MEncoder sul tuo sistema.
Sono disponibili le scelte seguenti:
Codec audio:
Nome codec audioDescrizionemp3lamecodifica in MP3 VBR, ABR o CBR MP3 tramite LAMElavcusa uno dei codec audio di
libavcodecfaaccodificatore audio FAAC AACtoolamecodificatore MPEG Audio Layer 2twolamecodificatore MPEG Audio Layer 2 basato su tooLAMEpcmaudio PCM non compressocopynon ricodifica, copia solo il flusso compresso
Codec video:
Nome codec videoDescrizionelavcusa uno dei codec video di libavcodecxvidXvid, codec MPEG-4 Advanced Simple Profile (ASP)x264x264, codec MPEG-4 Advanced Video Coding (AVC), AKA H.264nuvnuppel video, utilizzato da alcune applicazioni in tempo realerawfotogrammi video non compressicopynon ricodifica, copia solo il flusso compressoframenousato per codifica a 3 passaggi (non consigliato)
I formati contenitore di uscita si selezionano con l'opzione
.
Scrivi:
mencoder -of help
per elencare tutti i contenitori supportati dalla versione di
MEncoder sul tuo sistema.
Sono disponibili le scelte seguenti:
Formati contenitore:
Nome formato contenitoreDescrizionelavfuno dei contenitori supportati da
libavformataviAudio-Video InterleavedmpegMPEG-1 e MPEG-2 PSrawvideoflusso video grezzo (nessun mux - solo un flusso video)rawaudioflusso audio grezzo (nessun mux - solo un flusso audio)
Il contenitore AVI è il formato contenitore nativo per
MEncoder, il che significa che è quello meglio
gestito e quello per cui MEncoder è stato
progettato.
Come su specificato, si possono utilizzare altri formati contenitore, ma
potresti avere qualche problema utilizzandoli.
Contenitori libavformat:
Se hai impostato libavformat per fare
il mux del file di uscita (usando ), il giusto formato
contenitore verrà determinato dall'estensione del file di uscita.
Puoi forzare un formato contenitore specifico con l'opzione
di libavformat.
nome contenitore libavformatDescrizionempgMPEG-1 e MPEG-2 PSasfAdvanced Streaming FormataviAudio-Video InterleavedwavAudio WaveformswfMacromedia FlashflvMacromedia Flash videormRealMediaauSUN AUnutcontenitore "aperto" NUT (sperimentale e non ancora spec-compliant)movQuickTimemp4formato MPEG-4dvcontenitore Sony Digital Videomkvcontenitore "aperto" audio/video Matroska
Come puoi notare, libavformat permette
a MEncoder di fare il mux in una buona quantità
di contenitori.
Sfortunatamente, dato che MEncoder non è stato
progettato dall'inizio per supportare formati contenitore diversi da AVI,
dovresti essere piuttosto paranoici riguardo al file risultante.
Assicurati per favore che la sincronizzazione audio/video sia a posto e che il
file possa essere riprodotto correttamente da altri programmi oltre a
MPlayer.
codificare nel formato Macromedia Flash
Creare un video Macromedia Flash che sia riproducibile in un browser internet
con il plugin Macromedia Flash:
mencoder input.avi -o output.flv -of lavf \
-oac mp3lame -lameopts abr:br=56 -srate 22050 -ovc lavc \
-lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3
Selezionare il file in ingresso o il dispositivoMEncoder può codificare da file o direttamente da
un disco DVD o VCD.
Includi semplicemente nella riga comando il nome file per codificare dal file
stesso, oppure numero_titolo
o numero_traccia per
codificare da un titolo DVD o da una traccia VCD.
Se hai già copiato un DVD sul tuo disco fisso (puoi usare uno strumento come
dvdbackup, disponibile per la maggior parte dei
sistemi) e desideri codificare da tale copia, dovresti ancora usare la sintassi
, insieme con seguita dal
percorso della radice del DVD copiato.
Le opzioni e
possono anche essere usate per reimpostare i percorsi dei dispositivi al fine
di leggere direttamente dal disco, se i valori di default
/dev/dvd e /dev/cdrom non funzionano
sul tuo sistema.
Durante la codifica da DVD, spesso si vogliono selezionare un capitolo o una
serie di capitoli da codificare.
Per questo fine puoi usare l'opzione .
Per esempio, 1-4
codificherà solo i capitoli dall'1 al 4 dal DVD.
Questo è particolarmente utile se vuoi fare una codifica in 1400 MB destinata
a due CD, visto che puoi esser sicuro che il punto di divisione sia proprio tra
un capitolo e l'altro invece che a metà di una scena.
Se hai una scheda di acquisizione TV supportata, puoi anche codificare dal
dispositivo di ingresso TV.
Usa numero_canale come
nome file e per configurare varie opzioni di acquisizione.
L'ingresso DVB funziona in modo simile.
Codificare MPEG-4 ("DivX") in due passaggi
La definizione viene dal fatto che questo metodo codifica il file
due volte. La prima codifica (dubbed pass) genera alcuni
file temporanei (*.log) con una dimensione di pochi
megabyte, non cancellarli dopo il primo passaggio (puoi cancellare l'AVI o
meglio ancora non creare alcun video ridirezionandolo verso
/dev/null o verso NUL sotto Windows).
Nel secondo passaggio viene creato il secondo file di output, usando i dati
del bitrate presi dai file temporanei. Il file risultante avrà una qualità
dell'immagine decisamente migliore. Se questa è la prima volta che senti
parlare di quasta cosa ti conviene leggere qualcuna delle guide disponibili su
internet.
copiare la traccia audio
La codifica in due passaggi della seconda traccia di un DVD in un AVI MPEG-4
("DivX") copiando la traccia audio.
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o /dev/null
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
-oac copy -o output.avicodificare la traccia audio
La codifica in due passaggi della seconda traccia di un DVD in un AVI MPEG-4
("DivX") codificando la traccia audio in MP3.
Fai attenzione se usi questo metodo, dato che in alcuni casi può portare
desincronizzazione audio/video.
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 \
-oac mp3lame -lameopts vbr=3 -o /dev/null
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
-oac mp3lame -lameopts vbr=3 -o output.aviCodificare nel formato video per Sony PSPMEncoder fornisce la codifica in formato video Sony
PSP, ma, relativamente alla revisione del software PSP, i vincoli possono
essere diverse.
Dovresti accertarti di rispettare i seguenti vincoli:
Bitrate: non dovrebbe oltrepassare i
1500kbps, tuttavia, versioni precedenti supportavano quasi ogni frequenza a
patto che l'intestazione non dicesse che era troppo alta.
Dimensioni: la larghezza e l'altezza del
video PSP dovrebbero essere multipli di 16 e il prodotto larghezza * altezza
dovrebbe essere <= 64000.
In alcune circostanze, potrebbe essere possibile che la PSP riproduca
risoluzioni più grandi.
Audio: la frequenza dovrebbe essere 24kHz
per video MPEG-4, e 48kHz per H.264.
codificare per PSP
mencoder -ofps 30000/1001 -af lavcresample=24000 -vf harddup -of lavf \
-oac lavc -ovc lavc -lavcopts aglobal=1:vglobal=1:vcodec=mpeg4:acodec=aac \
-lavfopts format=psp \
input.video -o output.psp
Nota che puoi impostare il titolo del video con
.
Codificare in formato MPEGMEncoder può generare file nel formato di output
MPEG (MPEG-PS).
Di solito, quando stai usando video MPEG-1 o MPEG-2, è perché stai codificando
per un formato vincolato come SVCD, VCD, o DVD.
Le richieste specifiche per questi formati sono spiegate nella sezione
creazione di VCD e DVD.
Per modificare il formato file di uscita di MEncoder,
usa l'opzione .
Esempio:
mencoder input.avi -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video \
-oac copy altre_opzioni -o output.mpg
Creare un file MPEG-1 che possa essere riprodotto da sistemi con un supporto
multimediale minimale, come l'installazione di default di Windows:
mencoder input.avi -of mpeg -mpegopts format=mpeg1:tsaf:muxrate=2000 \
-o output.mpg -oac lavc -lavcopts acodec=mp2:abitrate=224 -ovc lavc \
-lavcopts vcodec=mpeg1video:vbitrate=1152:keyint=15:mbd=2:aspect=4/3
Lo stesso, ma usando il muxer MPEG di
libavformat:
mencoder input.avi -o VCD.mpg -ofps 25 -vf scale=352:288,harddup -of lavf \
-lavfopts format=mpg -oac lavc -lavcopts acodec=mp2:abitrate=224 -ovc lavc \
-lavcopts vcodec=mpeg1video:vrc_buf_size=327:keyint=15:vrc_maxrate=1152:vbitrate=1152:vmax_b_frames=0
Consiglio:
Se per qualche motivo la qualità video del secondo passaggio non ti soddisfa,
puoi rilanciare la tua codifica video con un diverso bitrate di uscita,
sempre che tu abbia tenuto i file con le statistiche del passaggio precedente.
Questo è possbilie dato che l'obiettivo principale del file delle statistiche
è registrarsi la complessità di ciascun frame, che non dipende direttamente
dal bitrate. Dovresti tuttavia essere consapevole che otterrai i risultati
migliori se tutti i passaggi sono eseguiti con bitrate non troppo diversi tra
loro.
Ridimensionare filmati
Spesso emerge la necessità di ridimensionare le immagini del filmato.
Le ragioni possono essere molte: diminuire la dimensione del file, la banda di
rete, etc... Molte persone ridimensionano anche quando convertono DVD o CVD in
AVI DivX. Se desideri ridimensionare, leggi la sezione
Preservare il rapporto di aspetto.
Il processo di ridimensionamento è gestito dal filtro video
scale:
.
La sua qualità può essere impostata con l'opzione .
Se non è specificato, MEncoder userà 2: bicubico.
Uso:
mencoder input.mpg -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell \
-vf scale=640:480 -o output.aviCopia dei flussiMEncoder può gestire i flussi in ingresso in due
modi: codifica o
copia. Questa sezione tratta la
copia.
Flussi video (opzione ):
si possono fare delle cose carine :) Come infilare (senza converzione!) video
FLI o VIVO o MPEG-1 in un file AVI! Di sicuro solo
MPlayer può riprodurre file siffatti :)
E probabilmente non ha alcuna utilità. Razionalmente: la copia dei flussi
video può essere utile per esempio quando si deve codificare solo il flusso
audio (come da PCM non compresso a MP3).
Flussi audio (opzione ):
direttamente. E' possibile prendere un file audio esterno (MP3, WAV) e farne
il mux nel flusso di uscita. Usa l'opzione
per farlo.
Usare per copiare da un formato contenitore ad un
altro potrebbe richiedere l'utilizzo di per
conservare l'etichetta del formato audio del file di partenza.
Per esempio, se stai convertendo un file NSV con audio AAC a un contenitore AVI,
l'etichetta del formato audio sarà sbagliata e bisognerà modificarla.
Per una lista delle etichette dei formati audio, controlla
codecs.conf.
Esempio:
mencoder input.nsv -oac copy -fafmttag 0x706D \
-ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -o output.aviCodificare file immagine multipli (JPEG, PNG, TGA, etc.)MEncoder è in grado di creare filmati da uno o più
file immagine JPEG, PNG, TGA o altri. Con una semplioce copia fotogrammi può
creare file MJPEG (Motion JPEG), MPNG (Motion PNG) o MTGA (Motion TGA).
Spiegazione del processo:MEncoderdecodifica le
immagini in entrata con libjpeg
(decodificando PNG, userà libpng).
MEncoder passa poi le immagini decodificate al
compressore video scelto (DivX4, Xvid, FFmpeg msmpeg4, etc.).
Esempi
La spiegazione dell'opzione è nella pagina man.
Creare un file MPEG-4 da tutti i file JPEG nella directory corrente:
mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc lavc \
-lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o output.avi
Creare un file MPEG-4 da alcuni file JPEG nella directory corrente:
mencoder mf://frame001.jpg,frame002.jpg -mf w=800:h=600:fps=25:type=jpg \
-ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o output.avi
Creare un file MPEG-4 da una lista definita di file JPEG (lista.txt nella
directory corrente contiene la lista dei file da usare come sorgente, uno per
riga):
mencoder mf://@lista.txt -mf w=800:h=600:fps=25:type=jpg \
-ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o output.avi
Puoi mescolare diversi tipi di immagine, senza considerare il metodo che usi
— nomi file singoli, wildcard o file da una lista — posto ovviamente
che abbiano la stessa dimensione.
Per cui puoi per es. prendere il fotogramma dei titoli da un file PNG e poi
fare una presentazione delle tue foto in JPEG.
Creare un file Motion JPEG (MJPEG) da tutti i file JPEG nella directory
corrente:
mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc copy -oac copy -o output.avi
Creare un file non compresso da tutti i file PNG nella directory corrente:
mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc raw -oac copy -o output.avi
La larghezza deve essere un intero multipli di 4, è una limitazione del
formato grezzo RAW RGB AVI.
Creare un file Motion PNG (MPNG) da tutti i file PNG nella directory corrente:
mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc copy -oac copy -o output.avi
Creare un file Motion TGA (MTGA) da tutti i file TGA nella directory corrente:
mencoder mf://*.tga -mf w=800:h=600:fps=25:type=tga -ovc copy -oac copy -o output.aviEstrarre sottotitoli DVD in un file VOBsubMEncoder è in grado di estrarre i sottotitoli da un
DVD in file formattati VOBsub. Essi sono composti da una coppia di file che
terminano in .idx e .sub e sono
solitamente compressi in un singolo archivio .rar.
MPlayer può riprodurli con le opzioni
e .
Specifica il nome di base (per es. senza l'estensione .idx
o .sub) del file di uscita con
e l'indice per questo sottotitolo nel file risultante con
.
Se i dati in entrata non arrivano da un DVD usa per
indicare il file .ifo che serve per costruire il
risultante file .idx.
Se i dati in entrata non arrivano da un DVD e non hai il file
.ifo dovrai usare l'opzione per
impostare l'id della lingua da scrivere nel file .idx.
Se esistono già i file .idx e .sub
ogni esecuzione aggiungerà il sottotitolo selezionato. Perciò dovresti
cancellarli prima di iniziare.
Copiare due sottotitoli da un DVD durante la codifica in due passaggi
rm sottotitoli.idxsottotitoli.sub
mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 \
-vobsubout sottotitoli -vobsuboutindex 0 -sid 2
mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \
-vobsubout sottotitoli -vobsuboutindex 1 -sid 5Copiare i sottotitoli francesi da un file MPEG
rm sottotitoli.idxsottotitoli.sub
mencoder film.mpg -ifo film.ifo -vobsubout sottotitoli -vobsuboutindex 0 \
-vobsuboutid fr -sid 1 -nosound -ovc copy
Preservare il rapporto di aspetto
I file dei DVD e dei VCD (per es. MPEG-1/2) contengono un valore del rapporto
d'aspetto che instruisce il riproduttore su come ridimensionare il flusso video,
così gli umani non avranno teste a uovo (es.: 480x480 + 4:3 = 640x480).
Tuttavia, codificando in file AVI (DivX), devi fare attenzione che
l'intestazione AVI non salva questo valore. Ridimensionare il film è disgustoso
e una perdita di tempo, ci deve essere un modo migliore!
C'è
MPEG-4 ha un caratteristica unica: il flusso video può contenere il rapporto
di aspetto che serve. Sì, proprio come i MPEG-1/2 (DVD, SVCD) e H.263.
Tristemente, ci sono pochi riproduttori oltre ad
MPlayer che gestiscono questo attributo MPEG-4.
Questa caratteristica può essere usata solo con il codec
mpeg4 di
libavcodec.
Ricorda: anche se MPlayer riprodurrà correttamente
il file generato, altri riproduttori potrebbero usare il rapporto di aspetto
sbagliato.
Devi assolutamente tagliare le bande nere sopra e sotto all'immagine del film.
Vedi la pagina man per l'utilizzo dei filtri cropdetect
e crop.
Uso
mencoder svcd-di-esempio.mpg -vf crop=714:548:0:14 -oac copy -ovc lavc \
-lavcopts vcodec=mpeg4:mbd=2:trell:autoaspect -o output.avi