Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3495348
  • 博文数量: 534
  • 博客积分: 11595
  • 博客等级: 上将
  • 技术积分: 5785
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-22 17:00
文章分类

全部博文(534)

文章存档

2015年(4)

2014年(27)

2013年(15)

2012年(38)

2011年(36)

2010年(85)

2009年(63)

2008年(142)

2007年(124)

分类:

2009-09-24 12:32:27

一、选择编码器和容器过滤器

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

mencoder -ovc help

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

音频编码器:

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

是频编码器:

是频编码器名称 描述
lavc 使用
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选项),适当的容器将由文件扩展名而定。你也可以通过libavformatformat选项强制一种容器格式。

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之外的播放器中播放。

例 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
二、选择输入文件或者设备

MEncoder可以从文件或直接从DVD或VCD的盘片进行编 。秩序在命令行中包含文件名以便从文件进行编 ,或 dvd:// 题数vcd://轨道数以便从DVD 题或VCD轨道进行编 。如果 已经把DVD复制到 的硬盘上( 可以使用像dvdbackup 这 的工具,大多数系统上都有),然后想从副本进行编 , 仍需使用 dvd://语法, 上附带了指向DVD副本的 目录的 -dvd-device选项。 -dvd-device-cdrom-device选项也能用于覆盖用来直接从光盘中直接读取数据的设备的路径,如果缺省的 /dev/dvd/dev/cdrom在 的系统上步工作的话。
当从DVD进行编 时,最好是选其中的一 或 进行编 。为此 可以使用-chapter选项。例如-chapter 1-4将只编 DVD中的1至4 。如果 针对包含1400MB数据的两 CD进行编 ,这将非常有用, 为 可以确定只在一 的边缘处分割,而不是在一个场景中间。
如果 有 被支持的电视卡, 也可以通过播放电视节目的设备进行编 。使用tv://channelnumber为文件名,并用-tv配置各种截取选项。 DVB输入工作原理类似。
 
三、编 的例子(双通道MPEG4文件)
之所以这 命名,是 为这种编 两次对文件进行编 。第一次编 (配音通道)生成一些 兆大的临时文件(*.log),先不要 除它们( 可以 除AVI或者通过重定向到/dev/null 而不生成视频)。第二次编 时,生成了双通道输出文件,使用的即是从临时文件提供的比特律数据。生成文件会有更好的图像质量。如果这是 第一次听说, 可以在互联网上找到相关参考。

例 2. 复制音轨

双通道编码在复制音轨时将DVD的第二个轨道转换成MPEG-4 ("DivX") AVI。

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.avi 


例 3. 对音轨编码

将一个DVD编码成MPEG-4 ("DivX") AVI,音轨采用MP3格式使用这个方法的时候要当心,因为有时它可能造成音/视频不同步。

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.avi 




四、改变影片大小
经常出现要改变电影图片大小的需求。原 可能是多 的:减小文件大小,网络带宽等等。大多数人甚至在将DVD或SVCD转换成DivX AVI时也改变影片大小。如果 想改变影片大小,阅读一节
变换过程由scale视频滤镜处理: -vf scale=:。输出质量可由-sws选项调节。如果没有设置,MEncoder将使用2:双三次。
用法:
mencoder input.mpg -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell \ -vf scale=640:480 -o output.avi 

五、媒体流复制

MEncoder能以两种方式处理输入媒体流: 编码复制。本节是关于复制的。

  • 视频流 (选项-ovc copy):一系列工作可以完成的很好 :) 好像把FLI或VIVO或MPEG-1视频放入(不是转换)到一个AVI文件中!当然,只有MPlayer能播放这样的文件:)并且也许它并没有生活上的实际价值。实际意义上:当只有音频流要被编码(例如从无压缩的PCM到MP3)时,视频流才可能有用。

  • 音频流 (选项-oac copy):直接的。你可能提取一个外部音频文件(MP3,WAV)并将其合成到一个输出媒体流里。为此可使用-audiofile 文件名选项。

使用-oac copy从一种容器格式复制到另一种容器格式时,你可能需要使用-fafmttag选项以保持原始文件的音频格式标签。例如,如果你将一个使用AAC音频的NSV文件转换到AVI容器中,音频格式文件标签可能是错误的,需要被转换。对于详细的音频格式标签,查看codecs.conf

例子:

mencoder input.nsv -oac copy -fafmttag 0x706D \ -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -o output.avi 
 
六、将DVD子 题提取到VOBsub文件

MEncoder能将DVD子 题提取到VOBsub 式的文件中。它们是一对由.idx.sub结尾的文件组成。并且经常被压缩成一个.rar文件。 MPlayer可通过 -vobsub-vobsubid选项播放这些文件。
可以通过-vobsubout指定输出文件的基础名(例如不包括 .idx.sub后缀),对于生成文件子 题的索引使用-vobsuboutindex
如果不是从DVD输入, 应该使用-ifo来表明构建生成的.idx文件所需的.ifo文件。
如果输入不是DVD并且 没有.ifo文件, 需使用 -vobsubid选项以使其知道放入.idx 文件的语言 识。
如果.sub.idx文件存在,每次执行都回添 子 题。所以 再开始前需要手动清除这些文件。

例 5. 在做双通道编码时从DVD复制子标题

rm subtitles.idx subtitles.sub mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 \ -vobsubout subtitles -vobsuboutindex 0 -sid 2 mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vpass=2 \ -vobsubout subtitles -vobsuboutindex 1 -sid 5


例 6. 从一个MPEG文件复制法文子标题

rm subtitles.idx subtitles.sub mencoder movie.mpg -ifo movie.ifo -vobsubout subtitles -vobsuboutindex 0 \ -vobsuboutid fr -sid 1 -nosound -ovc copy
 
七、保持视频画面比例

DVD及SVCD(例如MPEG-1/2)文件包含画面比例,此信息可用来指示播放器应如何显示视频流,所以显示的人不会有个鸡蛋头(例如480x480 + 4:3 = 640x480)。然而当编 为AVI(DivX) 文件时, 要小心AVI头信息里没有包含这些值。重新设置这些比例是非常讨厌并且很花时间,应该有更好的方法!
还有
MPEG-4有个独特的特点:视频流可以包含它需要的画面比例。是的,正像MPEG-1/2 (DVD, SVCD)及H.263文件一 。可惜的是,除了MPlayer 乎没有播放器支持这项MPEG-4属性。
这种特性之可以与 的 mpeg4编 器一同使用。记住:虽然 MPlayer可以正常播放所生成的文件,其他播放器可能使用错误的图象比例。
应剪切电影图像上下方的黑条。针对cropdetectcrop滤镜的用法参考man页。
用法
mencoder sample-svcd.mpg -vf crop=714:548:0:14 -oac copy -ovc lavc \ -lavcopts vcodec=mpeg4:mbd=2:trell:autoaspect -o output.avi 
 
#############################################################
http://liuyu.blog.51cto.com/183345/198696
 
mencoder 64784722.mov -o qd.avi -srate 22050 -vf scale=208:176 -oac mp3lame -lameopts mode=3:cbr:br=24 -ovc lavc -ffourcc dx50 -lavcopts vcodec=mpeg4:vhq:vbitrate=112 -noskip 
 
mencoder -srate 22050 -vf scale=208:-3 -ofps 12 -oac MP3lame -lameopts mode=3:cbr:br=24 -ovc lavc -ffourcc DX50 -lavcopts vcodec=mpeg4:vhq:vbitrate=112 src.avi -o dst.avi
    # -srate 22050 声音采样频率设置,现为22K
    # -vf scale=208:-3 宽度为208,高度自动调整保持比例;-vf scale=-3:176宽度自动调整保持比例,高度为176;如果想保持原来的大小可以不要这个参数
    # -ofps 12 帧速率设置,现为12fps
    # -oac MP3lame 音频采用mp3编码
    # -lameopts mode=3:cbr:br=24单声道,音频码率为24kbps;-lameopts mode=0:cbr:br=24立体声,音频码率为24kbps; 还可设置音量,-lameopts mode=3:cbr:br=32:vol=1,设置范置为1~10,但不宜设得太高
    # -ovc lavc -ffourcc DX50 -lavcopts vcodec=mpeg4:vhq:vbitrate=112采用高质DivX视频编码,视频码率为112kbps;
    # -ovc xvid -xvidencopts bitrate=112采用XviD视频编码 bitscn.com
    音频:动态码率,质量6 (0-9,0最好),编码:MP3,采样:32000Hz,音频算法:7
    视频:动态码率,质量 8(0-31,0最好),编码:xvid,尺寸:不改变大小
    CODE:
    mencoder -oac MP3lame -lameopts aq=7:vbr=2:q=6 -srate 32000 -vf harddup -ovc xvid -xvidencopts fixed_quant=8 src.avi -o dst.avi
 
    音频:动态码率,质量6 ,编码:MP3,采样:32000Hz,音频算法:7
    视频:动态码率,质量 8 ,编码:xvid,尺寸:320:240
    CODE:
    mencoder -oac MP3lame -lameopts aq=7:vbr=2:q=6 -srate 32000 -vf scale=320:240,harddup -ovc xvid -xvidencopts fixed_quant=8 src.avi -o dst.avi

    音频:固定码率,编码:64kbps,采样:32000Hz ,音频算法:7
    视频:动态码率,质量 4(高) ,编码:xvid
    CODE:
    mencoder -oac MP3lame -lameopts aq=7:cbr:br=64 -srate 32000 -vf harddup -ovc xvid -xvidencopts fixed_quant=4 src.avi -o dst.avi
 
    音频:动态码率,质量 4 (0-9,0最好),编码:MP3,采样:32000Hz,音频算法:7
    视频:动态码率,质量 8(0-31,0最好),编码:xvid,尺寸:原尺寸 feedom.net
    CODE:
    mencoder -oac MP3lame -lameopts aq=7:vbr=2:q=4 -srate 32000 -vf harddup -ovc xvid -xvidencopts fixed_quant=8 src.avi -o dst.avi
阅读(3456) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~