Audio and video codecs for encoding are selected with the -oac and -ovc options, respectively. Type for instance:
mencoder -ovc help
to list all video codecs supported by the version of MEncoder on your machine. The following choices are available:
Audio Codecs:
Audio codec name | Description |
---|---|
mp3lame | encode to VBR, ABR or CBR MP3 with LAME |
lavc | use one of libavcodec 's audio codecs |
faac | FAAC AAC audio encoder |
toolame | MPEG Audio Layer 2 encoder |
twolame | MPEG Audio Layer 2 encoder based on tooLAME |
pcm | uncompressed PCM audio |
copy | do not reencode, just copy compressed frames |
Video codecs:
Video codec name | Description |
---|---|
lavc | use one of libavcodec 's video codecs |
xvid | Xvid, MPEG-4 Advanced Simple Profile (ASP) codec |
x264 | x264, MPEG-4 Advanced Video Coding (AVC), AKA H.264 codec |
nuv | nuppel video, used by some realtime applications |
raw | uncompressed video frames |
copy | do not reencode, just copy compressed frames |
frameno | used for 3-pass encoding (not recommended) |
Output container formats are selected with the -of option. Type:
mencoder -of help
to list all containers supported by the version of MEncoder on your machine. The following choices are available:
Container formats:
Container format name | Description |
---|---|
lavf | one of the containers supported by
libavformat |
avi | Audio-Video Interleaved |
mpeg | MPEG-1 and MPEG-2 PS |
rawvideo | raw video stream (no muxing - one video stream only) |
rawaudio | raw audio stream (no muxing - one audio stream only) |
The AVI container is the native container format for MEncoder, which means that it's the one that is best handled, and the one for which MEncoder was designed. As noted above, other container formats are usable, but you may experience problems when using them.
libavformat
containers:
If you selected libavformat
to do the muxing of the output file (by using the -of lavf),
the appropriate container format will be determined by the file extension
of the output file.
You may force a particular container format with
libavformat
's
format option.
libavformat container name | Description |
---|---|
mpg | MPEG-1 and MPEG-2 PS |
asf | Advanced Streaming Format |
avi | Audio-Video Interleaved |
wav | Waveform Audio |
swf | Macromedia Flash |
flv | Macromedia Flash video |
rm | RealMedia |
au | SUN AU |
nut | NUT open container (experimental and not yet spec-compliant) |
mov | QuickTime |
mp4 | MPEG-4 format |
dv | Sony Digital Video container |
mkv | Matroska open audio/video container |
As you can see, libavformat
allows MEncoder to mux into a considerable
variety of containers.
Unfortunately, as MEncoder was not designed
from the beginning to support container formats other than AVI,
your should really be paranoid about the resulting file.
Please check to be sure that the audio/video synchronization is OK
and that the file can be played correctly by players other than
MPlayer.
Example 13.1. encode to Macromedia Flash format
Creating a Macromedia Flash video suitable for playback in a web browser with the Macromedia Flash plugin:
mencoderinput.avi
-ooutput.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