13.1. Selezionare codec e formati contenitore

I codec audio e video per la codifica vengono selezionati rispettivamente con le opzioni -oac e -ovc. 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 audioDescrizione
mp3lamecodifica in MP3 VBR, ABR o CBR MP3 tramite LAME
lavcusa uno dei codec audio di libavcodec
faaccodificatore audio FAAC AAC
toolamecodificatore MPEG Audio Layer 2
twolamecodificatore MPEG Audio Layer 2 basato su tooLAME
pcmaudio PCM non compresso
copynon ricodifica, copia solo il flusso compresso

Codec video:

Nome codec videoDescrizione
lavcusa uno dei codec video di libavcodec
xvidXvid, codec MPEG-4 Advanced Simple Profile (ASP)
x264x264, codec MPEG-4 Advanced Video Coding (AVC), AKA H.264
nuvnuppel video, utilizzato da alcune applicazioni in tempo reale
rawfotogrammi video non compressi
copynon ricodifica, copia solo il flusso compresso
framenousato per codifica a 3 passaggi (non consigliato)

I formati contenitore di uscita si selezionano con l'opzione -of. 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 contenitoreDescrizione
lavfuno dei contenitori supportati da libavformat
aviAudio-Video Interleaved
mpegMPEG-1 e MPEG-2 PS
rawvideoflusso 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 -of lavf), il giusto formato contenitore verrà determinato dall'estensione del file di uscita. Puoi forzare un formato contenitore specifico con l'opzione format di libavformat.

nome contenitore libavformatDescrizione
mpgMPEG-1 e MPEG-2 PS
asfAdvanced Streaming Format
aviAudio-Video Interleaved
wavAudio Waveform
swfMacromedia Flash
flvMacromedia Flash video
rmRealMedia
auSUN AU
nutcontenitore "aperto" NUT (sperimentale e non ancora spec-compliant)
movQuickTime
mp4formato MPEG-4
dvcontenitore Sony Digital Video

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.

Esempio 13.1. 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