13.1. 选择编解码器及容器格式
上一页 | 第 13 章 MEncoder的基础用法 | 下一页

## 13.1. 选择编解码器及容器格式

编码使用的音频及视频编码器分别通过`-oac`及 `-ovc`选项指定 例如输入如下命令

    mencoder -ovc help

可列出你机器上相应版本的MEncoder所支持的所有视频编码。 下列选择也是可用的：

音频编码器：

音频编码器名称 | 描述
--- | ---
mp3lame | 通过LAME编码为VBR，ABR或CBR格式的MP3文件
lavc | 利用`libavcodec`中的一个编码器
faac | FAAC AAC音频编码器
toolame | MPEG音频Layer 2编码器
twolame | 基于tooLAME的MPEG音频Layer 2编码器
pcm | 未压缩的PCM音频
copy | 不要重新编码，这是复制已压缩的各桢

是频编码器：

是频编码器名称 | 描述
--- | ---
lavc | 使用`libavcodec`中的一个是频编码器
xvid | Xvid, MPEG-4高级简单格式(ASP)编码器
x264 | x264, MPEG-4高级视频编码(AVC), AKA H.264编码器
nuv | nuppel视频，为一些实时程序所用
raw | 未压缩的视频桢
copy | 不要重新编码，只是复制已压缩的各桢
frameno | 用于三通道编码（不推荐）

输出容器格式通过`-of`选项选择。 输入：

    mencoder -of help

以便列出你机器上相应版本的MEncoder所支持的 所有容器。 如下选项也是可用的

容器格式：

容器格式名称 | 描述
--- | ---
lavf | 由`libavformat` 支持的一种容器
avi | 音-视频混合
mpeg | MPEG-1及MPEG-2节目流
rawvideo | 原始视频流（未经混合 - 只含一视频流）
rawaudio | 原始音频流（未经混合 - 只含一音频流）

AVI容器是MEncoder的基本容器格式，也就是说它能够 被最好的处理，MEncoder也是为之而设计。 如上所述，其他容器格式也可被使用，但你使用的时候可能遇到问题。

`libavformat`容器：

如果你选择了`libavformat` 来做输出文件的混编（通过使用`-of lavf`选项）， 适当的容器将由文件扩展名而定。 你也可以通过`libavformat`的 `format`选项强制一种容器格式。

`libavformat`容器名称 | 描述
--- | ---
mpg | MPEG-1及MPEG-2节目流
asf | 高级流格式
avi | 音-视频混合
wav | 波形音频
swf | Macromedia Flash
flv | Macromedia Flash视频
rm | RealMedia
au | SUN AU
nut | NUT开放容器（实验中，不兼容标准）
mov | QuickTime
mp4 | MPEG-4格式
dv | Sony数字视频容器

如你所见，`libavformat`允许 MEncoder把媒体混合到各种格式的容器内。 不巧的是，因为MEncoder从开始设计的时候 没有支持AVI之外的其他容器，你要小心最终生成的文件。 请多次检查以确认音频/视频同步是正确的以及文件能在 MPlayer之外的播放器中播放。

例 13.1. 编码为Macromedia Flash格式

生成Macromedia Flash视频，以便在安装有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

上一页 | 上一级 | 下一页
第 13 章 MEncoder的基础用法 | 起始页 | 13.2. 选择输入文件或设备