选 择编解码器及容器格式
编码使用的音频及视频编码器分别通过-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 之外的播放器中播放。
例 10.1. 编码为Macromedia Flash格式
生成Macromedia Flash视频,以便在安装有Macromedia Flash插件的网页浏览器中播放:
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
改 变电影大小
经常出现要改变电影图片大小的需求。原因可能是多样的:减小文件大小,网络带宽 等等。大多数人甚至在将DVD或SVCD转换成DivX AVI时也改变影片大小。如果你想改变 影片大小,阅读保持长宽比 一节
变换过程由scale
视频滤镜处理: -vf scale=宽
:高
。 输出质量可由-sws 选项调节。 如果没有设置,MEncoder 将使用2:双三次。
用法:
mencoderinput.mpg
-ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell \ -vf scale=640:480 -o
output.avi
保 持视频画面比例
DVD及SVCD(例如MPEG-1/2)文件包含画面比例,此信息可用来指示播放器应如何显示视频流, 所以显示的人不会有个鸡蛋头(例如480x480 + 4:3 = 640x480)。然而当编码为AVI(DivX) 文件时,你要小心AVI头信息里没有包含这些值。重新设置这些比例是非常讨厌并且很花时间, 应该有更好的方法!
还有
MPEG-4有个独特的特点:视频流可以包含它需要的画面比例。是的,正像MPEG-1/2 (DVD, SVCD)及H.263文件一样。可惜的是,除了MPlayer 几乎没有播放器 支持这项MPEG-4属性。
这种特性之可以与 libavcodec
的 mpeg4
编码器一同使用。记住:虽然 MPlayer 可以正常播放所生成的文件,其他播放器可能使用错误 的图象比例。
你应剪切电影图像上下方的黑条。针对cropdetect
及 crop
滤镜的用法参考man页。
用法
mencodersample-svcd.mpg
-vf crop=714:548:0:14 -oac copy -ovc lavc \ -lavcopts vcodec=mpeg4:mbd=2:trell:autoaspect -o
output.avi