发新话题
打印

[学习]MPlayer mencoder 全接触

音频过滤器


音频过滤器允许你修改音频流及其属性。语法是:


−af <过滤器1[=参数1:参数2:...],过滤器2,...>


建立音频过滤器链。


注意: 请参见 −af help, 获得可用的音频过滤器其完整列表。

可用的过滤器有:


resample[=srate[:sloppy[:type]]]


改变音频流的采样(速/频)率。可用于声卡只有一个固定的频率或者要卡住的旧卡最高只能达 44.1kHz。此过滤器在必要时被自动启用。它只支持 16-位 native-endian(低位在前) 格式的整数值和浮点数作为输入。
注意: 对于 MEncoder, 你也需要使用 −srate <srate>。


<srate>


输出的采样率(以 Hz 为单位)。参数的有效范围是从 8000 到 192000。如果输入和输出的采样率相同, 或者如果此参数被省略, 此过滤器被自动卸载。正常情况下高的采样率能改善音频品质, 尤其是与其它过滤器结合时。


<sloppy>


允许(1) 或不允许(0) 输出采样率与给定的频率 <srate> 稍微不同 (默认是: 1)。可用于启动回放时极端慢的情形。


<type>


选择使用何种重采样方式。


0: 线性插值 (快速, 品质低尤其是 upsampling 时)
1: 多相过滤器组(filterbank)并且整数处理
2: 多相过滤器组(filterbank)并且浮点数处理 (慢, 品质最佳)


示例:


mplayer −af resample=44100:0:0


设置重采样过滤器的输出采样率为 44100Hz, 使用此不允许微调的输出采样率缩放和线性插值。


lavcresample[=srate[:length[:linear[:count[:cutoff]]]]]


改变音频流采样率为整数 <srate> (以 Hz 为单位)。它只支持 16位 native-endian(低位在前) 格式。
注意: 对于 MEncoder, 你也需要使用 −srate <srate>。


<srate>


输出的采样率


<length>


有关较低采样率的过滤器长度 (默认是: 16)


<linear>


如果值是 1, 过滤器将在多相进入处之间线性插值


<count>


多相进入处数量的 log2 (..., 10->1024, 11->2048, 12->4096, ...) (默认是: 10->1024)


<cutoff>


截频 (0.0-1.0), 默认设置取决于过滤器长度


sweep[=speed]


产生正弦 sweep。


<0.0−1.0>


delta 的正弦, 使用非常低的值听此扫听(sweep)。


sinesuppress[=freq:decay]


删除一个指定频率的正弦。对去除低品质音频设备上 50/60Hz 的噪音时有用。可能只在单声道输入上可工作。


<freq>


应删除的频率 (以 Hz 为单位) (默认是: 50)


<decay>


控制适应性 (一个较大的值会使得过滤器适应幅度和相位的变化较迅速, 而一个较小的值会使得此适应过程较慢) (默认是: 0.0001)。合理的值约为 0.001。


hrtf[=flag]


头部相关的转变功能: 为头戴式耳机转换多声道音频成双声道输出, 但保留声音的空间感。


Flag 含义


m 后场声道矩阵解码


s 双声道矩阵解码


0 无矩阵解码 (默认)


equalizer=[g1:g2:g3:...:g10]


10-八度波段图形均衡器, 其实现使用了 10 IIR 带通过滤器。这意味着不管回放的是何种音频都行。10 波段的中心频率各是:


段号频率


0 31.25 Hz


1 62.50 Hz


2 125.00 Hz


3 250.00 Hz


4 500.00 Hz


5 1.00 kHz


6 2.00 kHz


7 4.00 kHz


8 8.00 kHz


9 16.00 kHz


如果此声音播放的采样率低于频率波段的中心频率, 此波段就被停用。此过滤器的一个已知错误是, 最高波段的特性没有完全对称, 如果采样率接近其波段的中心频率时。此问题可被绕过。办法是 upsampling 其声音: 在此过滤器之前使用重采样过滤器。


<g1>:<g2>:<g3>:...:<g10>


浮点数代表各频率波段的增益分贝(dB) (-12−12)


示例:


mplayer −af equalizer=11:11:10:5:0:-12:0:5:12:12 media.avi


放大声音的高端和底端的频率区段, 但几乎完全取消 1kHz 附近的声音。


channels=nch[:nr:from1:to1:from2:to2:from3:to3:...]


能用于添加, 去除, 路由和拷贝音频声道。如果仅给定 <nch>, 默认是用路由(跳接), 其所做工作如下: 如果输出声道数大于输入声道数, 插入空的声道 (除了混音单声道成立体声时, 在两个输出声道中重复此单声道)。如果输出声道数小于输入声道数, 截掉多余的声道。


<nch>


输出声道数 (1−6)


<nr>


路由数 (1−6)


<from1:to1:from2:to2:from3:to3:...>


0 到 5 对定义各声道的路由。


示例:


mplayer −af channels=4:4:0:1:1:0:2:2:3:3 media.avi


改成 4 声道并设置 4 对路由: 交换声道 0 和声道 1, 保留声道 2 和 3 未动。会观察到如果回放媒体含有两个声道, 声道 2 和 3 无声, 但声道 0 和 1 仍要交换。


mplayer −af channels=6:4:0:0:0:1:0:2:0:3 media.avi


改成 6 声道并设置 4 对路由: 拷贝声道 0 到声道 0 至 3。声道 4 和 5 无声。


format[=format] (也请参见 −format)


在不同的采样格式之间转换。自动被启用, 当声卡或其他的过滤器需要时。


<format>


设置所需的格式。一般的形式是 "sbe", 其中 "s" 指示符号 (要么 "s" 指带符号, 要么 "u" 指不带符号), "b" 指示每个样本的位数 (16, 24 或 32) 而 "e" 指示 endian 格式 ("le" 指 little-endian, "be" 指 big-endian 或者 "ne" 指 MPlayer 运行其上的计算机所用的 endian 格式)。有效值(尤其)有: "s16le", "u32be" 和 "u24ne"。例外但也有效的指定格式有: u8, s8, floatle, floatbe, floatne, mulaw, alaw, mpeg2, ac3 和 imaadpcm。


volume[=v[:sc]]


实现软件的音量控制。请谨慎使用此过滤器, 因为会降低信号至声音的噪声率。在大多数情况下设置 PCM 音量至最大是最佳的, 省去过滤器, 而用混音器的主音量控制来控制输出到音响的水平。万一你的声卡有数码的 PCM 混音器而不是模拟的, 且听到失真, 请使用 MASTER(主) 混音器。如果计算机联有外接扩音器(这几乎总是常有的事), 调节主音量和扩音器的音量旋钮能减少噪声水平, 直到背景的嘶嘶声消失。
此过滤器有第二个功能: 测量总体的最高声音水平并通过 MPlayer 显示出来。此估计的音量能用来设置 MEncoder 的音量以使用最大动态范围。
注意: 此过滤器不能重返进入, 所以对每个音频流只能启用一次。


<v>


设置所有声道中流所需的增益分贝(dB) : 范围从 -200dB 至 +60dB, 其中 -200dB 完全靜音而 +60dB 等于增益 1000 (默认是: 0)。


<sc>


打开 (1) 或关闭 (0) 软剪切。软-剪切能使得声音更平滑流畅, 如果使用了非常高的音量水平。启用此选项, 如果扩音器的动态范围非常低。
警告: 此功能产生失真, 是应该最后才考虑使用的手段。


示例:


mplayer −af volume=10.1:0 media.avi


放大声音 10.1dB, 且声音水平太高时使用硬-剪切。


pan=n[000102:...L101112:...Ln0n1:Ln2:...]


武断混音。基本上是音量和声道过滤器的组合能用于混合许多声道至仅仅几个声道, 如: 立体声到单声道或者改变环绕声系统中心扬声器的 "宽度"。此过滤器很难用, 且需要一些修补才能获得所要的结果。此过滤器的选项数取决于输出声道数。如何用此过滤器把 6-声道文件混音成双声道的实例, 能在示例一节中将近最后的地方找到。


<n>


输出声道数 (1−6)


<Lij>


输入声道 i 混音成输出声道 j 的份量 (0−1)。所以基本上你先要有 n 个数表示要作用到第一个输入声道, 然后再有 n 个数要作用到第二个输入声道, 如此以往。如果你不对某些输入声道指定任何数, 就认为是 0。


示例:


mplayer −af pan=1:0.5:0.5 media.avi


立体声混音成单声道。


mplayer −af pan=3:1:0:0.5:0:1:0.5 media.avi


给定 3 声道输出, 保留声道 0 和 1 未动, 但混合声道 0 和 1 成输出声道 2 (被送到比如超低音声道)。


sub[=fc:ch]


添加一个超低音(subwoofer)声道到音频流。用于创建超低音声道的音频数据声道 0 和声道 1 的平均声音。四阶 Butterworth(巴特沃斯) 过滤器低通过滤声音的结果是默认截频 60Hz 且在音频流中添加了一个独立的声道。
警告: 停用此过滤器, 当播放 DVDs 带杜比(Dolby Digital 5.1)声音时, 否则此过滤器分解声音到超低音声道。


<fc>


低通过滤器的截频(以 Hz 单位) (20Hz 至 300Hz) (默认是: 60)。为了最佳结果, 尝试设置截频尽可能低。这能改善立体声或环绕音效的体验。


<ch>


决定插入超音声道音频的声道号。声道号在 0 和 5 之间 (默认是: 5)。观察到声道数会自动增加到 <ch>, 如果必要的话。


示例:


mplayer −af sub=100:4 −channels 5 media.avi


添加超低音声道到输出声道 4 且其中截频为 100Hz。


center


从前方声道中创建中心声道。可能目前品质较低, 因为还没有实现用高通过滤器进行适当抽取, 而是用平均和半折其前方声道替代。


<ch>


决定插入中心声道的声道号。声道号在 0 和 5 之间 (默认是: 5)。观察到声道数会自动增加到 <ch>, 如果必要的话。


surround[=delay]


矩阵编码的环绕音效解码器, 像杜比环绕音效(Dolby Surround)。许多双声道音频文件事实上含有矩阵编码的环绕音效。需要声卡支持至少 4 声道。


<delay>


后方扬声器的延迟时间(以 ms 为单位) (0 至 1000) (默认是: 20)。此延迟按如下设置: 如果 d1 是聆听点到前方扬声器的距离, d2 是聆听点到后方扬声器的距离, 那么延迟该设为 15ms 如果 d1 <= d2 或设为 15 + 5*(d1-d2) 如果 d1 > d2。


示例:


mplayer −af surround=15 −channels 4 media.avi


添加环绕音效解码, 后方扬声器声音为 15ms 的延迟。


delay[=ch1:ch2:...]


延迟声音到扬声器, 这样可以让不同声道的声音同时到达聆听点。这只对多于两个扬声器时有用。


ch1,ch2,...


应该加给每个声道的延迟时间(以 ms 为单位) (0 至 1000 之间的浮点数)。


不同声道所需的延迟时间计算如下:


1.


测量不同的扬声器到聆听点的距离(以 meters(米) 为单位), (对于 5.1 的系统) 得到距离 s1 至 s5。没有补偿超低音的点 (因为你听不出差异)。


2.


取其中最大距离与各个 s1 至 s5 的差, 即 s = max(s) - s; i = 1...5。


3.


计算所需的各个延迟时间(以 ms 为单位)为 d = 1000*s/342; i = 1...5。


示例:


mplayer −af delay=10.5:10.5:0:0:7:0 media.avi


延迟左前方和右前方声道各 10.5ms, 两个后方声道和超低音声道 0ms, 而中心声道 7ms。


export[=mmapped_file[:nsamples]]


使用内存映射 (mmap()) 导出进入的信号到其它处理过程。内存映射的区域含有头部:

int nch /*声道数*/
int size /*缓冲大小*/
unsigned long long counter /*用于保持同步, 更新每次
新导出的数据。*/

其余是 (无间隔方式) 有效载荷的 16-位数据。


<mmapped_file>


映射数据到文件 (默认是: ~/.mplayer/mplayer-af_export)


<nsamples>


每个声道的样本数 (默认是: 512)


示例:


mplayer −af export=/tmp/mplayer-af_export:1024 media.avi


导出每个声道的 1024 样本到 "/tmp/mplayer-af_export"。


extrastereo[=mul]


(线性地)增加左右声道的差异以添加某些 "现场" 回放效果。


<mul>


设置差异系数 (默认是: 2.5)。 0.0 表示单声道 (两个声道的平均值), 1.0 表示声音未改变, 而 -1.0 表示交换了左右声道。


volnorm[=method:target]


没有失真的最大音量。


<method>


设置被用的方式。


1: 使用单样本平滑差异, 通过对旧的样本进行标准加权平均 (默认)。
2: 使用几个样本平滑差异, 通过对旧的样本进行标准加权平均。


<target>


为此样本类型设置目标幅度为最大值的分数 (默认是: 0.25)。


ladspa=file:label[:controls...]


装载 LADSPA (Linux Audio Developer’s Simple Plugin API) 插件。此过滤器可重返进入, 所以多个 LADSPA 插件可同时使用。


<file>


指定 LADSPA 插件的库文件。如果设置了 LADSPA_PATH, 从中搜寻指定的文件。如果没设置, 你一定要提供一个完整说明的路径名。


<label>


指定库中的过滤器。有些库仅含一个过滤器, 但有些含许多。进入这里的 "help", 会列出指定库中所有可用的过滤器, 从而消除使用 LADSPA SDK 的 "listplugins"。


<controls>


控制 0 或多个浮点数值, 其决定装载的插件的行为(例如: 延迟, 阈值和增益)。在冗赘模式(添加 −v 到 MPlayer 命令行)下, 所有可用的控制及其有效范围可打印。从而消除使用 LADSPA SDK 的 "analyseplugin"。


comp


压缩/扩张过滤器, 话筒输入有用。防止人为的非常高的声音和提高非常低的声音的音量。此过滤器未经测试, 甚至可能不稳定。


gate


噪声门过滤器类似于 comp(压缩/扩张) 音频过滤器。此过滤器未经测试, 甚至可能不稳定。


karaoke


简单声音去除过滤器利用这样的事实: 人的声音通常录成单声道, 之后 "中心(center)" 混音进最后的音频流。小心此过滤器会把信号变成单声道。对 2-声道音轨工作得很好; 在非 2-声道立体声上别费劲去尝试。

TOP

视频滤镜


视频滤镜让你修改视频流及其属性。其句法是:


−vf <滤镜1[=参数1:参数2:...],滤镜2,...>


设置一连串的视频滤镜。


许多参数是可选的并且如果省略的话则设为默认值。要明确表示使用默认值,则将参数设为‘-1’。参数 w:h 表示以像素为单位宽 x 高 h,x:y 表示从较大的图像的左上角开始数 x:y 的位置。
注意: 要获取可用视频滤镜列表,参见 −vf help。

视频滤镜以列表的形式维护。有一些命令用于维护滤镜列表。


−vf-add <滤镜1[,滤镜2,...]>


在滤镜列表尾部加上参数中所给的滤镜。


−vf-pre <滤镜1[,滤镜2,...]>


在滤镜列表头部加上参数中所给的滤镜。


−vf-del <索引号1[,索引号2,...]>


删除位于指定索引号上的滤镜。索引号起始为0,负数表示从列表尾部开始寻址(-1表示最后一个)。


−vf-clr


完全清空滤镜列表。 Completely empties the filter list.


如果滤镜支持,你可以通过参数的名字访问参数。


−vf <滤镜>=help


打印特定滤镜的参数名及参数的取值范围。


−vf <滤镜=已命名参数1=参数值1[:已命名参数2=参数值2:...]>


将一个已命名参数设置为指定参数值。使用 on 和 off 或 yes 和 no 来设置标志位参数。


可用插件有:


crop[=w:h:x:y]


切割出图像的指定部分并丢弃其余部分。对去掉宽银幕电影的黑边很有用。


<w>,<h>


切割出来部分的宽和高,默认值为原始的宽度和高度。


<x>,<y>


切割出来部分的位置,默认值是中央.


cropdetect[=0−255]


计算必要的切割参数并把推荐值显示在标准输出上。


<limit>


门限值,可设范围为无(0)至所有(255)(默认值:24)


<round>


指定宽:高值为该值的倍数(默认值:16)。偏移值将被自动调整以使视频位于屏幕中心。使用 2 以只得到偶数尺寸( 4:2:2 的视频需要此选项)。 16 对于大多数编码器的编码来说是很适合的。


rectangle[=w:h:x:y]


该插件响应 input.conf 中的两参数指令‘change_rectangle’。


<w>,<h>


宽度和高度(默认值:-1,在边缘可见的条件下宽度最大的可能值)。


<x>,<y>


左上角的位置(默认值:-1,屏幕最左上角)


expand[=w:h:x:y:a:r]


将影片的分辨率扩展(而不是缩放)至指定的值并将未缩放的原点移至x,y坐标。可以用于把字幕/ OSD放置在该滤镜生成的黑边中。


<w>,<h>


扩展后的宽、高(默认值:原始的宽、高)。 w和h的负数值将被视作为相对于原始大小的增量。

示例:


expand=0:-50:0:0


在图片的底部添加50像素的边。


<x>,<y>


原始图像在扩展后图像中的位置(默认:位于中心)


<o>


渲染OSD/ 字幕


0:禁用(默认值)
1:启用


<a>


扩展时适应某个宽高比而不是某个分辨率(默认值:0)。

示例:


expand=800:::::4/3


除非源视频有更高的分辨率,否则扩展至800x600,当出现前一种情况时,其将扩展直至填满一个4/3宽高比的区域。


<r>


舍入数值以使宽和高值能被<r>整除(默认值:1)。


flip(另参见−flip)


翻转图像使其上下颠倒。


mirror


使图像相对于Y轴反转。


rotate[=<0−7>]


以90度为单位旋转图像并有选择地将其翻转。对于4至7间的值,只有当影片的几何形状为肖像式(译注:宽度比高度小)而不是风景画式(译注:宽度比高度大)时才执行旋转操作。


0


顺时针旋转90度并翻转(默认值)。


1


顺时针旋转90度。


2


逆时针旋转90度。


3


逆时针旋转90度并翻转。


scale[=w:h[:ilaced[:chr_drop[:par[:par2[:presize[:noup[:arnd]]]]]]]]


使用软件缩放器(速度慢)缩放图像并执行YUV<−>RGB色彩空间转换(另参见−sws)。


<w>,<h>


缩放后的宽/ 高值(默认值:原始的宽/ 高值)
注意: 若使用了−zoom,并且底层的滤镜(包括libvo)无法执行缩放,则其默认设置为 d_宽/ d_高!


0:缩放后的d_宽/ d_高
-1:原始的宽/ 高
-2:使用另一个尺寸的值和缩放前的宽高比计算w/h。
-3:使用另一个尺寸的值和原始的宽高比计算w/h。
-(n+8):与以上的-n相似,但舍入尺寸值至最接近的16的倍数。


<ilaced>


触发隔行扫描视频的缩放方式。


0:关闭(默认)
1: 打开


<chr_drop>


色度信息的跳过方式 chroma skipping


0:使用所有可用输入扫描行上的色度信息。
1: 只使用每隔2个输入扫描行上的色度信息。
2: 只使用每隔4个输入扫描行上的色度信息。
3: 只使用每隔8个输入扫描行上的色度信息。


<par>[:<par2>](另参见−sws)


根据−sws中所选的缩放器类型设置缩放参数。


−sws 2 (双立方插值):B(雾化)和C(色斑)
0.00:0.60 默认值
0.00:0.75 VirtualDub中的“精确双立方插值”
0.00:0.50 Catmull-Rom插值
0.33:0.33 Mitchell-Netravali插值
1.00:0.00 立方式B-插值
−sws 7 (高斯模糊):锐化度(0(柔和) − 100 (锐利))
−sws 9 (LANCZOS迭代):过滤长度(1−10)


<presize>


缩放至预设尺寸。


qntsc: 352x240 (NTSC四分之一大小屏幕)
qpal: 352x288 (PAL四分之一大小屏幕)
ntsc: 720x480 (标准NTSC)
pal: 720x576 (标准PAL)
sntsc: 640x480 (正方形像素NTSC)
spal: 768x576 (正方形像素PAL)


<noup>


不允许放大时超出原始尺寸。


0:允许放大时超出(默认)。
1: 若有一个尺寸超出其原始值时则不允许。
2: 若有两个尺寸均超出其原始值时则不允许。


<arnd>


垂直缩放器使用精确数值舍入,这可能比默认的舍入方式快速或缓慢。


0:禁止精确数值舍入(默认)
1:允许精确数值舍入(默认)


dsize[=aspect|w:h:aspect-method:r]


更改滤镜链上任意位置要使用的显示大小/ 宽高比。宽高比可以是分数(4/3)或浮点数(1.33)。或者,你可以指定所希望显示的宽和高的实际大小。注意这个滤镜自己 不 做任意缩放操作;它只影响到后面的(硬件或软件)缩放器在修正宽高比时将采取什么样的行为。


<w>,<h>


新显示模式的宽度和高度。也可以是以下这些特殊值:


0:原来显示模式的宽度和高度
-1:原始视频的宽度和高度(默认)
-2:使用另一个尺寸的值和原来显示模式的宽高比计算w/h。
-3:使用另一个尺寸的值和原始视频宽高比计算w/h。


示例:


dsize=800:-2


当视频宽高比为4/3时指定显示分辨率为800x600,或当视频宽高比为16/9时指定为800x450。


<aspect-method>


根据原来的宽高比修改宽度和高度。


-1:忽略原有的宽高比。(默认)
0:在<w>和<h>作为最大的分辨率的情况下保持显示模式的宽高比。
1:在<w>和<h>作为最小的分辨率的情况下保持显示模式的宽高比。
2: 在<w>和<h>作为最大的分辨率的情况下保持视频的宽高比。
3: 在<w>和<h>作为最小的分辨率的情况下保持视频的宽高比。


示例:


dsize=800:600:0


指定显示分辨率小于等于800x600,以保持宽高比。


<r>


将宽度和高度值舍入至可被<r>整除(默认值:1)。


yuy2


强制执行YV12/ I420/ 422P至YUY2的软件转换。对于那些对YV12支持较差但对YUY2支持较好的显卡很有用。


yvu9


强制执行YVU9至YV12色彩空间的软件转换。不赞成使用,因为使用软件色彩调整器更好。


yuvcsp


将YUV色彩值限制在CCIR 601定义的范围内而不做实际的色彩转换。

TOP

rgb2bgr[=swap]


RGB 24/32 <−> BGR 24/32色彩空间转换。


swap


同样是执行R <-> B转换。


palette


使用palette(调色板)进行RGB/BGR 8 −> 15/16/24/32bpp色彩空间转换。


format[=fourcc]


限制下一个滤镜使用的色彩空间而不做任何转换。与色彩调整滤镜共同作用完成实际转换。
注意: 要获取可用格式列表参见format=fmt=help。


<fourcc>


格式名称如rgb15、bgr24、yv12(默认值:yuy2)


noformat[=fourcc]


限制下一个滤镜使用的色彩空间而不做任何转换。与format滤镜不同,这个滤镜能处理任意色彩空间 除了 你自己定义的。
注意: 要获取可用格式列表参见noformat=fmt=help。


<fourcc>


格式名称如rgb15、bgr24、yv12(默认值:yv12)


pp[=filter1[:option1[:option2...]]/[-]filter2...](另参见−pphelp)


启用指定序列的后期处理子滤镜。子滤镜必须用‘/’分隔并且可以通过在其名字前加以‘−’禁用。每个子滤镜和一些选项有一个短名和一个长名,两者可以互换使用。例如 dr/dering 是一样的。一些共用的选项在所有的子滤镜中使用以决定这些子滤镜的作用范围:


a/autoq


如果CPU太慢则自动关闭子滤镜。


c/chrom


同时执行色度过滤(默认值)。


y/nochrom


只执行亮度过滤(不使用色度信息)。


n/noluma


只执行色度过滤(不使用亮度信息)。


注意: −pphelp列出了可用子滤镜的列表。

可用的子滤镜有


hb/hdeblock[:difference[:flatness]]


水平方向上的反块效应(deblocking)滤镜


<difference>:差别系数,值越高意味着反块效应效果越强(默认值:32)。
<flatness>:平坦度阈值,值越低意味着反块效应效果越强(默认值:39)。


vb/vdeblock[:difference[:flatness]]


垂直方向上的反块效应(deblocking)滤镜


<difference>:差别系数,值越高意味着反块效应效果越强(默认值:32)。
<flatness>:平坦度阈值,值越低意味着反块效应效果越强(默认值:39)。


ha/hadeblock[:difference[:flatness]]


精确的水平方向上的反块效应(deblocking)滤镜


<difference>:差别系数,值越高意味着反块效应效果越强(默认值:32)。
<flatness>:平坦度阈值,值越低意味着反块效应效果越强(默认值:39)。


va/vadeblock[:difference[:flatness]]


精确的垂直方向上的反块效应(deblocking)滤镜


<difference>:差别系数,值越高意味着反块效应效果越强(默认值:32)。
<flatness>:平坦度阈值,值越低意味着反块效应效果越强(默认值:39)。


水平反块效应滤镜和垂直反块效应滤镜共用同一个差别系数和平坦度阈值,所以不能在水平和垂直方向上设置不同阈值。


h1/x1hdeblock


试验性的水平方向上的反块效应(deblocking)滤镜


v1/x1vdeblock


试验性的垂直方向上的反块效应(deblocking)滤镜


dr/dering


去色斑(deringing)滤镜


tn/tmpnoise[:threshold1[:threshold2[:threshold3]]]


瞬时噪声去除器


<threshold1>:更大规模->更强的过滤
<threshold2>:更大规模->更强的过滤
<threshold3>:更大规模->更强的过滤


al/autolevels[:f/fullyrange]


自动更正亮度/对比度


f/fullyrange:增大亮度范围至(0−255)。


lb/linblenddeint


线性混合反隔行扫描滤镜,通过使用(1 2 1)过滤器过滤所有的输入扫描行以解除所给区块的隔行扫描。


li/linipoldeint


线性插值反隔行扫描滤镜,通过线性插值算法每隔两个扫描行执行插值以解除所给区块的隔行扫描。


ci/cubicipoldeint


立方插值反隔行扫描滤镜,通过立方插值算法每隔两个扫描行执行插值以解除所给区块的隔行扫描。


md/mediandeint


中位数反隔行扫描滤镜,通过每隔两个扫描行应用中位数过滤器以解除所给区块的隔行扫描。


fd/ffmpegdeint


FFmpeg反隔行扫描滤镜,通过每隔两个扫描行使用(-1 4 2 4 -1)过滤以解除所给区块的隔行扫描。


l5/lowpass5


垂直方向上应用的FIR低用反隔行扫描滤镜,通过对所有输入扫描行使用(-1 2 6 2 -1)过滤器以解除所给区块的隔行扫描。


fq/forceQuant[:quantizer]


将输入进来的量化表替换为你指定的常数量化表。


<quantizer>:所使用的量化表


de/default


默认pp过滤器组合(hb:a,vb:a,dr:a)


fa/fast


快速pp过滤器组合(h1:a,v1:a,dr:a)


ac


高质量pp过滤器组合(ha:a:128:7,va:a,dr:a)


示例:


−vf pp=hb/vb/dr/al


水平和垂直方向上反块效应、去色斑以及自动亮度/ 对比度调整


−vf pp=de/-al


使用默认的过滤器组合而不使用亮度/ 对比度调整


−vf pp=default/tmpnoise:1:2:3


启用默认的过滤器组合以及瞬时噪声去除器。


−vf pp=hb:y/vb:a


水平方向反块效应只针对亮度信息,并且根据可用CPU时间资源打开或关闭垂直方向的反块效应过滤。


spp[=quality[:qp[:mode]]]


简单后期处理滤镜,它在多次(或者——在质量等级为6时——在所有的)变换中压缩和解压图像并使结果平均化。


<quality>


0−6 (默认值:3)


<qp>


强制使用的量化参数(默认值:0,使用来自视频的量化参数)。


<mode>


0:刚性阈值(默认值)
1:柔性阈值(去色斑效果好,但较模糊)
4:与0相似,但同时使用B帧的量化参数(可能导致闪烁)
5:与1相似,但同时使用B帧的量化参数(可能导致闪烁)


uspp[=quality[:qp]]


极简单且缓慢的后期处理滤镜,它在多次(或者——在质量等级为8时——在所有的)变换中压缩和解压图像并使结果平均化。其与spp行为的差异在于uspp 在所有情况下使用libavcodec Snow编码及解码,而spp仅使用类似于MJPEG的简化的内部8x8DCT变换。


<quality>


0−8 (默认值:3)


<qp>


强制使用的量化参数(默认值:0,使用来自视频的量化参数)。


fspp[=quality[:qp[:strength[:bframes]]]]


简单后期处理滤镜的一个快速版本


<quality>


4−5 (与spp中的等价;默认值:4)


<qp>


强制使用的量化参数(默认值:0,使用来自视频的量化参数)。


<-15−32>


过滤强度,值越低意味着加入更多细节但同时也带来更多损伤,而值越高越使图像平滑但同时也越模糊(默认值:0 − PSNR优化)。


<bframes>


0:不使用B帧的量化参数(默认值)
1:也使用B帧的量化参数(可能导致闪烁)


pp7[=qp[:mode]]


spp滤镜的变种,与使用7顶点DCT的spp=6相似,在这种情况下只有中央的采样在IDCT后使用。


<qp>


强制使用的量化参数(默认值:0,使用来自视频的量化参数)。


<mode>


0:刚性阈值
1:柔性阈值(去色斑效果较好,但较模糊)
2:中性阈值(默认值,效果好)


qp=equation


量化参数(QP)变换滤镜


<equation>


诸如“2+2*sin(PI*qp)”之类的方程式


geq=equation


通用方程式变换滤镜


<equation>


某种方程式,例如用以水平翻转图像的‘p(W-XY)’。你可以使用空白分隔符使方程式更容易读懂。有一些常量可以在方程式中使用:


PI:圆周率派
E:自然常数e
X / Y:当前采样中的坐标
W / H:图像的宽度和高度
SW / SH:当前滤镜处理过后的平面的宽/高度量尺度,例如用于YUV 4:2:0的1,1和 0.5,0.5。
p(x,y):返回当前平面x/y位置上像素的值。


test


生成各种测试中的测试用图样。


rgbtest


生成一个RGB测试图样,适用于对比RGB和BGR的场合。你会看到由上而下的红、黄、蓝三色条纹。


lavc[=quality:fps]


使用libavcodec的YV12至MPEG-1的快速软件转换,用于与DVB/ DXR3/ IVTV一同使用。


<quality>


1−31:固定的量化尺度
32−:以kbits为单位的固定比特率


<fps>


强制指定的输出fps值(浮点值)(默认值:0,根据图像高度自动检测)


dvbscale[=aspect]


设置用于DVB卡的优化缩放比例,用硬件度量x轴而用软件计算y轴比率以保持宽高比。只有当与expand和scale滤镜一同使用时才有用。


<aspect>


控制宽高比例,计算方式为DVB_HEIGHT*ASPECTRATIO(默认值:576*4/3=768 ),对于16:9的电视将其设置为576*(16/9)=1024。


示例:


−vf dvbscale,scale=-1:0,expand=-1:576:-1:-1:1,lavc


FIXME:解释一下这个是干什么的。


noise[=luma[t|a][h][p]:chroma[t|a][h][p]]


添加噪声效果。


<0−100>


亮度噪声


<0−100>


色度噪声


u


均匀噪声(否则就是高斯分布的)


t


瞬时噪声(噪声样式在不同帧上是不同的)


a


平均化瞬时噪声(更平滑,但相较而言渲染得很慢)


h


高质量(稍显好看,渲染稍慢)


p


具有(半)规则样式的混合随机噪声


denoise3d[=luma_spatial:chroma_spatial:luma_tmp:chroma_tmp]


该滤镜目标在于消除图像上的噪声,产生平滑的图像,并且使静态图像真正静止(这能提高可压缩性。)。


<luma_spatial>


空间亮度强度(默认值:4)


<chroma_spatial>


空间色度强度(默认值:3)


<luma_tmp>


亮度瞬时强度(默认值:6)


<chroma_tmp>


色度瞬时强度(默认值:luma_tmp*chroma_spatial/luma_spatial)


hqdn3d[=luma_spatial:chroma_spatial:luma_tmp:chroma_tmp]


denoise3d滤镜的高精确/ 质量版本。参数与用法与denoise3d相同。


eq[=brightness:contrast](已被淘汰)


就像硬件均衡器一样的可以交互式控制的软件均衡器,用于那些不支持硬件级亮度和对比度控制的显卡/ 驱动。可能对于MEncoder很有用,不管是用来修改抓取得不好的影片,还是稍稍降低对比度以隐藏画质损伤以及在低比特率下保持质量


<-100−100>


初始亮度


<-100−100>


初始对比度


eq2[=gamma:contrast:brightness:saturation:rg:gg:bg:weight]


另一种软件均衡器,其使用对照表(运行缓慢),除了简单的亮度和对比度调整外还允许伽玛修正。注意当所有的伽玛值为1.0时,它与−vf eq使用同样的MMX优化代码。参数值是以浮点值形式给出的。


<0.1−10>


初始伽玛值(默认值:1.0)


<-2−2>


初始对比度,其中负数值将导致图像呈现负片效果(默认值:1.0)


<-1−1>


初始亮度(默认值:0.0)


<0−3>


初始饱和度(默认值:1.0)


<0.1−10>


红色成份的伽玛值(默认值:1.0)


<0.1−10>


绿色成份的伽玛值(默认值:1.0)


<0.1−10>


蓝色成份的伽玛值(默认值:1.0)


<0−1>


权值参数可以用来消减速高伽玛值在图像明亮区域的效果,比方说防止这些区域过度增益而变得仅仅是纯白色。值为0.0则使得在所有情况下执行伽玛值修正,而值为1.0则让伽玛值始终保持其修饰力度(默认值:1.0)。


hue[=hue:saturation]


就像硬件均衡器一样的可以交互控制的软件均衡器,,用于那些不支持硬件级色调和饱和度控制的显卡/ 驱动。


<-180−180>


初始色调(默认值:0.0)


<-100−100>


初始饱和度,其中负数值将导致负色度(默认值:1.0)


halfpack[=f]


将按平面存放的YUV 4:2:0格式转换成半高度打包的4:2:2格式,对于亮度值降低质量采样但保留所有色度采样值。适用于当硬件收缩图像的质量不高或无法提供该功能时,将信号输出至一个低分辨率显示设备的场合。也可以用来作为一种占用CPU低的仅针对亮度信号的基本反隔行扫描滤镜。


<f>


默认情况下,半打包过程在降低质量采样时在每对扫描行间取平均值。任何不为0或1的值都是指定采用默认的(取平均值的)行为。


0:在降低质量采样时只使用偶数扫描行的信息。
0:在降低质量采样时只使用奇数扫描行的信息。


ilpack[=mode]


当隔行扫描视频以YUV 4:2:0格式存放时,由于色度信道在垂直方向的降低质量采样的关系,色度信号在隔行扫描中没有恰当地地排列。该滤镜将按平面存放的4:2:0的数据打包进YUY2(4:2:2)格式时将色度信号恰当地排列至应处的位置,以便在任何扫描行中,亮度和色度数据来源于同一个数据域时。


<mode>


选择采样的模式。


0:最接近邻居采样模式,快速但不准确
1:线性插值(默认方式)


harddup


只适用于MEncoder。如果在编码中使用了hardup,则它将强制使重复的帧编码至输出中。这将占用稍多的空间,但对于输出至MPEG文件或当你要在编码后分离再合并视频流时却有必要。应被放置于滤镜链的最后或接近于最后,除非你有充足的理由不这样做。


softskip


只适用于MEncoder。 softskip将编码中跳过(丢弃)帧的步骤从滤镜链之前移至滤镜链中的某个位置。这使那些需要读取所有帧的滤镜(反电视图像模式、反瞬时噪声等等)能正常工作。应被放置在那些需要读取所有帧的滤镜之后,而在这些滤镜后的任何大量消耗CPU的滤镜之前。


decimate[=max:hi:lo:frac]


丢弃那些与先前的帧差别不大的帧,以降低帧率。该滤镜的主要用途是为了在极低的比特率下编码(例如在拨号接入的调制解调器线路上传输流媒体),但在理论上它可以用于修复那些不准确地去除电视模式过的影片)。

TOP

<max>


设置最大可以连续丢弃的帧的个数(当该值为正数时),或被丢弃帧间的最小间隔(当该值为负数时)。


<hi>,<lo>,<frac>


当没有一个8x8的区域的差别值大于阈值<hi>,并且不超过<frac>个部分(1表示整幅画面)的差别值大于阈值< lo>时,这个帧就可以被丢弃。数值<hi>和<lo>表示8x8像素区块中实际存在的不同值的像素个数,于是阈值64 对应于每个像素都有一个不同的值,或这种情形以不同的形式在整个区块中分布的形式。


dint[=sense:level]


这个丢弃反隔行扫描(dint)滤镜侦测出并丢弃一连串隔行扫描视频的帧中的第一个帧。


<0.0−1.0>


相邻像素间的相对差别值(默认值:0.1)


<0.0−1.0>


图像中的哪个部分必须被侦测以判定是否为隔行扫描以便丢弃帧(默认值:0.15)。


lavcdeint(已被淘汰)


FFmpeg中的反隔行扫描滤镜,与−vf pp=fd相同


kerndeint[=thresh[:map[:order[:sharp[:twoway]]]]]


Donald Graft的自适应内核级反隔行扫描滤镜。当超过配置中的一个阈值时,解除视频中的隔行扫描部分。


<0−255>


阈值(默认值:10)


<map>


0:忽略超出阈值的像素(默认方式)。
1:将超出阈值的像素输出为白色。


<order>


0:不对场次序做更改(默认方式)。
1:交换场的次序。


<sharp>


0:禁用额外的锐化处理(默认方式)。
1:启用额外的锐化处理


<twoway>


0:禁用双向锐化处理(默认方式)。
1:启用双向锐化处理。


unsharp[=l|cWxH:amount[:l|cWxH:amount]]


反锐化修饰 / 高斯模糊


l


将效果应用于亮度部分。


c


将效果应用于色度部分。


<width>x<height>


矩阵的宽度和高度,两者都是奇数尺寸(最小值 = 3x3,最大值 = 13x11或11x13,通常在3x3至7x7之间)


amount


图像锐力度/ 模糊度的相对增量(合理的值应为-1.5−1.5)。


<0:模糊
>0:锐力


swapuv


交换U和V两个平面的位置。


il[=d|i][s][:[d|i][s]]


对扫描行执行(反)交错操作。该滤镜的目标是提供处理隔行扫描图像的前半个扫描场而不对其进行反隔行扫描操作的功能。你可以在不破化隔行扫描结构的情况下过滤你的隔行扫描DVD视频,然后让其在电视上播放。(在后期处理滤镜的作用下)反隔行扫描(通过柔化、平均化之类的手段)永久性地去除了隔行扫描结构,而解交错操作将帧分离成2个扫描场(所谓的半幅画面),因此你可以分别地处理(过滤)这些扫描场然后重新将它们交错起来。


d


反交错操作(将一个扫描场置于另一个上方)


i


交错操作


s


交换扫描场的位置(交换奇偶扫描线的位置)


fil[=i|d]


对扫描行执行(反)交错操作。与il滤镜十分相像,但相较之下运行得很快,其主要的缺点是它不是总能工作。尤其是当它与其它滤镜一起使用时,它可能随机产生一些渲染错误的图像,所以如果它能工作则暗自庆幸吧,但如果它在你的滤镜组合中不能工作也不要抱怨。


d


对扫描场执行反交错操作,将它们一个个紧挨着放在一起。


i


对扫描场再次执行交错操作(产生与fil=d相反的效果)。


field[=n]


使用大跨度计算方式从一幅隔行扫描图像中抽取单个扫描场,以避免浪费CPU 时间。可选参数n指定抽取的是偶数场还是奇数场(取决于n是偶数还是奇数)。


detc[=var1=value1:var2=value2:...]


尝试逆转‘电视图像模式’处理操作以还原一个电影帧率下的纯净、非隔行扫描的视频流。这是第一个也是最基本的一个添加到MPlayer/ MEncoder中的反电视图像模式滤镜。其工作方式是锁定电视图像模式中的3:2画面特征,然后尽可能长地跟踪这个特征。这使它适合完全电视图像模式化的来源,即使在有一定噪声的情况下亦是如此,但不适用于复杂的后期电视图像模式的图像的编辑。这个滤镜的开发已不再继续,因为ivtc、pullup、和 filmdint在大多数应用中效果更好。以下参数(参见下面的句法解释)可用于控制detc的行为:


<dr>


设置丢弃帧的模式。


0:不丢弃帧以保证输出帧率恒定(默认方式)。
1:当最近5个帧没有丢弃或不是电视图像模式时则一定丢弃一个帧。
2:总保证输入输出帧率比正好为5:4。
注意: 模式1和2用于MEncoder。


<am>


分析模式。


0:固定特征,初始帧代号由<fr>中所指定。
1:积极搜寻电视图像模式特征(默认值)


<fr>


设定帧序列中初始帧的代号。 0−2是三个纯逐行扫描的帧;3和4是两个隔行扫描的帧。默认值-1表示‘初始帧不在电视图像模式的序列中’。这里指定的代号是影片开始前假想的那个前一帧的类型。


<t0>, <t1>, <t2>, <t3>


用于某些模式下的阈值。


ivtc[=1]


实验性的‘无状态’逆转电视图像模式滤镜。 ivtc并不像detc滤镜那样尝试锁定一个特征,而是对于每一帧独立地决策。这对于那些在应用电视图像模式后经历较多编辑的来源相对而言具有很好的效果,但相应地它相对不能容忍有噪声的输入,比如电视上捕捉来的视频。可选参数(ivtc=1)对应于detc滤镜的dr=1选项,并且应当用于 MEncoder中而不能用于MPlayer。与detc一样,你必须在使用MEncoder时指定正确的输出帧率(−ofps24000/1001)。 ivtc的进一步开发已停止,因为pullup和filmdint滤镜显得相对精确得多。


pullup[=jl:jr:jt:jb:sb:mp]


第三代反pulldown(逆转电视图像模式)滤镜,能够处理混合型硬性电视图像模式的, 24000/1001帧率逐行扫描的,以及30000/1001帧率逐行扫描的内容。 pullup滤镜的设计原则是通过在决策中利用将来的内容环境,以求得比detc或 ivtc更稳定。与ivtc相似,pullup是无状态的,这源于它不锁定扫描场以识别要匹配的内容然后重塑逐行扫描的帧。它仍处于开发之中,但人们相信它是相当精确的。


jl, jr, jt, and jb


这些选项用于设置图像的左边、右边、上边和下边各有多少 “垃圾信息”要忽略。左/ 右两边是以8像素为一个单元,而上/ 下两边是以2个扫描行为一个单元。默认是每边各取8个像素。


sb (strict breaks)


将该选项设置为1将减小pullup产生偶发性不匹配帧的机率,但它也可能导致高动态的帧序列中有太多的帧被丢弃。相反地,将它设置为-1将使pullup能更容易地匹配扫描场。这能帮助处理那些在扫描场间存在一些模糊特性的视频,但也可能导致输出中存在隔行扫描的帧。


mp (metric plane)


这个选项可以设置成1或2以使用色度平面而不是亮度平面来进行pullup的计算。这能提高处理清晰来源时的精确度,但更可能的是降低精确度,尤其是存在色度噪声(彩虹效应)或灰度视频的场合。将mp设置成色度平面的主要目的是降低CPU负荷,并使pullup在慢速机器上可用。


注意: 在编码中一定要在pullup后跟上softskip滤镜以保证pullup能读取所有帧。由于编解码器/ 滤镜层在设计上的局限,不这样做会导致输出不正确,并且往往程序会崩溃。


filmdint[=options]


逆转电视图像模式滤镜,与上面的pullup滤镜相似。它被设计成用于处理任意下拉特征,包括混合型软性和硬性的电视图像模式,以及提供对于那些会慢于或快于其在电视上的原始帧率的影片的有限支持。只有亮度平面用以寻找帧分开的位置。如果一个扫描场没有匹配上特征,则就使用简单的线性估计方式解除其隔行扫描结构。如果来源是MPEG-2格式,那么这个滤镜必须是第一个滤镜以便能够访问 MPEG-2解码器设置的扫描场标志。根据来源MPEG的不同,你可能不需采纳这个建议,只要你不看到许多“下半场先扫描”的警告。不设选项时,它只是做普通的逆转电视图像模式处理,并且应当与 mencoder −fps 30000/1001 −ofps 24000/1001一同使用。当这个滤镜用于mplayer时,它将导致播放时帧速率不匀衡,但在通常情况下比使用pp=lb或不进行解除隔行扫描操作要好。多个选项可以使用/.分隔开指定。


crop=<w>:<h>:<x>:<y>


就像crop滤镜一样,但更快而且能用于混合型硬性和软性电视图像模式的内容,以及y不用4的倍数的情形。如果x或y的设置将需要从色度平面中切除部分像素时,切除区域将延伸。这通常意味着x和y必须是偶数。


io=<ifps>:<ofps>


对于每ifps个输入帧,滤镜将输出ofps个帧。 ifps/ ofps的比率应当与−fps/−ofps的比率相匹配。这可以用于过滤那些在电视上以不同原始帧率的帧率播放的影片。


luma_only=<n>


如果n为非零值,色度平面就原封不动地输出。这适用于YV12采样的电视,这种方式丢弃其中一个色度扫描场。


mmx2=<n>


在x86系统上,如果n=1,则使用MMX2优化的函数,如果n=2,则使用3DNow! 优化的函数,否则使用普通的C语句。如果不指定这个选项,则将自动侦测MMX2和3DNow!,使用这个选项重写自动侦测的结果。


fast=<n>


n值较大时能提高滤镜的运行速度但牺牲了精确性。默认值是n=3。如果n是奇数,MPEG的REPEAT_FIRST_FIELD标志位已标记的帧后紧跟的一帧将被认作是逐行扫描的,于是滤镜将不在处理软性电视图像模式的MPEG-2内容上花任何时间了。如果MMX2或3DNow!可用,那么这就是该标志位的唯一作用。在没有MMX2和3DNow!的情况下,如果n=0或1,那么将使用与n=2或3的时候同样的计算方式。如果n=2或3,用于寻找帧间断的亮度阶数值就从256降低为128,这使滤镜运行更快而不损失太多的精确性。如果n=4或5,将使用一个更快的,但相较之下很不精确的测量标准来寻找帧间断,这样做会增加将垂直方向上细节很多的图像误测为隔行扫描内容的可能性。


verbose=<n>


如果n是非零值,则打印出用于每个帧的具体测量标准。适用于程序调试。


dint_thres=<n>


解除隔行扫描的阈值。用于解除未匹配任何特征的帧的隔行扫描结构的过程中。阈值大意味着较少的帧经过解除隔行扫描处理,要完全关闭解除隔行扫描处理则使用n=256。默认值为n=8。


comb_thres=<n>


比较上半扫描场和下半扫描场的阈值。默认值为128。


diff_thres=<n>


用于侦测扫描场的瞬时变化的阈值。默认值为128。


sad_thres=<n>


合计绝对差的阈值,默认为64。


softpulldown


这个滤镜只能用于MEncoder并且依赖于用于软性3:2下拉(软性电视图像模式)的 MPEG-2标志位。如果你想对半软性电视模式的影片使用ivtc或detc滤镜,那么将该滤镜插入到它们之前能使他们更稳定。


divtc[=options]


逆转隔行扫描视频的电视图像模式。如果3:2下拉电视图像模式的视频丢失了其中的一个扫描场,或在解除隔行扫描时使用了保留一个扫描场而插值计算另一个的方法,那么输出的是一个晃动的视频,其中的每四个帧后有一个是重复的帧。该滤镜目的是找到并丢弃这些重复的帧,并还原原来的影片帧率。在使用这个滤镜时,你必须设将−ofps指定为输入视频文件帧率的4/5 并将softskip放在滤镜链中位于其后的地方,以保证divtc能读取所有的帧。有两种不同的模式可选:一阶段模式是默认的模式,并且直接就能使用,但缺点是任何电视图像模式下相位的变化(丢帧或编辑错误)将导致暂时的画面抖动直至滤镜重新恢复同步。二阶段模式通过事先分析整个视频来避免这种问题,所以它能事先知道相位的变化并能在准确的位置恢复同步。这两个阶段 不对应于第一阶段和第二阶段的编码处理过程。你必须在真正编码而释放出处理后的视频之前,使用divtc的第一阶段配置运行额外的一个阶段。使用 −nosound −ovc raw −o /dev/null来避免在这一阶段浪费 CPU的运算能力。你可以在divtc后加上诸如crop=2:2:0:0之类的东西以运行得更快。然后使用divtc第二阶段配置以进行真正的编码。如果你使用多阶段编码器编码,那么在所有阶段均要使用divtc第二阶段的配置。相关选项有:


pass=1|2


使用二阶段模式。


file=<filename>


设置第二阶段使用的日志的文件名(默认值:“framediff.log”)。


threshold=<value>


设置滤镜认为某个特征是电视图像模式特征时,该特征所必须达到的最小强度(默认值:0.5)。这用于避免从视频中很暗或很静止的部分里错误地识别出一些特征。


window=<numframes>


设置搜寻特征时需要察看多少个最近读到的帧(默认值:30)。较长的察看范围能增加特征搜寻的可靠性,但较短的察看范围能改善对于电视图像模式中相位变化的反应时间。该选项只对一阶段模式有作用。当前,二阶段模式使用固定的察看范围,该范围包含了过去和将来输入的帧。


phase=0|1|2|3|4


设置一阶段模式中电视图像模式的初始相位(默认值:0)。二阶段模式能读取将来输入的帧,所以它能够在一开始就使用正确的相位值,但一阶段模式只能靠猜测。当它找到正常的相位时它能跟上这个相位,但该选项能用来开始时可能出现的抖动。二阶段模式的第一阶段也使用该选项,所以如果你保存第一阶段的输出内容,你就会得到持续的相位值跟踪结果。


deghost=<value>


设置去鬼影处理的阈值(0−255用于一阶段模式,-255−255用于二阶段模式,默认0)。如果为非零值,则使用去鬼影模式。该选项用于那些通过将扫描场混合在一起而不是丢弃其中一个场的方式解除隔行扫描的视频。去鬼影处理会增强混合后帧中的压缩损伤,所以该参数值作为一个阈值,用以将那些在去鬼影过程中与前一帧的相差值小于一个特定值的像素排除在外。如果使用了二阶段模式,可以用负数值使滤镜在第二阶段开始时分析整个视频,以确定它是否需要去鬼影处理,然后要么选择一个零值,要么选择该值的绝对值作为去鬼影的参数。应将该选项用于第二阶段,这与用于第一阶段没有差别


phase[=t|b|p|a|u|T|B|A|U][:v]


将隔行扫描的视频延迟一个扫描场的时间,以改变扫描场的次序。其目的是修复那些在录像带传输至电脑视频的捕捉过程中使用了相反的扫描场次序的PAL影片。选项有:


t


捕捉时扫描场次序为上半场先输入,传输时为下半场先输入。滤镜将延迟下半场。


b


捕捉时扫描场次序为下半场先输入,传输时为上半场先输入。滤镜将延迟上半场。


p


捕捉和传输时使用同样的扫描场次序。该模式只是为了在其它选项的使用说明中引用而存在的,但如果你真的选了它,那么滤镜会按照您的旨意不做任何事情。;-)


a


捕捉时的次序将自动通过扫描场的标志位来判断,传输时的与捕捉时的相反。滤镜根据扫描场的标志位为每一个帧在t和b两个模式中选择一个。如果没有任何扫描场的信息,那么该模式就与u一样了。


u


捕捉时的次序未知或不断变化,传输时的与捕捉时的相反。滤镜通过分析图像并选择能在扫描场间产生最佳匹配的那个候选模式来给每一个帧在t和b两个模式中选择一个。


T


捕捉时为上半场先输入,传输时未知或不断变化。滤镜通过分析图像在t和p模式中选择一个。


B


捕捉时为下半场先输入,传输时未知或不断变化。滤镜通过分析图像在b和p模式中选择一个。


A


捕捉时的次序由扫描场标志位判断,传输时的未知或不断变化。滤镜通过扫描场标志位和图像分析从t、b和p中选择一个模式。如果没有任何扫描场信息,则该模式与U一样。这是默认的模式。


U


捕捉时和传输时的次序均未知或不断变化。滤镜只通过图像分析以从t、b和p中选择一个模式。


v


细节信息处理。打印每个帧所选用的模式以及在t、b和p三种模式下的扫描场间的均方差值。


telecine[=start]


应用3:2‘电视图像模式’处理以使帧率增加20%。该选项极可能无法用于MPlayer,但它可以以’mencoder −fps 30000/1001 −ofps 30000/1001 −vf telecine’形式使用。其中的两个fps选项都是必需的!(如果它们不正确,就无法A/V同步。)可选的start参数告诉滤镜从电视图像模式特征中的哪里开始执行(0−3)。


tinterlace[=mode]


瞬时扫描场隔行扫描化——将一对对帧合并为一个个隔行扫描的帧,使帧率减半。偶数帧移至上半扫描场,奇数帧移至下半扫描场。该滤镜可用于充分反转(模式0下)tfields滤镜的效果。可用模式有:


0


将奇数帧移至上半场,偶数帧移至下半场,以在半速帧率下产生一个完全高度的帧。


1


只输出奇数帧,丢弃偶数帧;帧的高度不变。


2


只输出偶数帧,丢弃奇数帧;帧的高度不变。


3


将每个帧扩展至完全高度,但每两个扫描行间插入黑色的行;帧速不变。


4


将偶数帧的偶数扫描行与奇数帧的奇数扫描行交叉在一起。帧高度不变,帧速减半。


tfields[=mode[:field_dominance]]


瞬时扫描场分离——将扫描场分离成帧,输出帧率加倍。就像telecine滤镜,tfields只在MEncoder中能正常工作,并且只在−fps 和−ofps设置成所需的(加倍的)帧率的情况下!


<mode>


0:保持扫描场不变(会产生跳帧/ 闪烁)。
1:插值恢复缺少的扫描行。(所用的算法可能不太好。)
2:使用线性插值法以1/4像素精度转换扫描场(不产生跳帧)。
4:使用4tap滤镜以1/4像素精度转换扫描场(较高质量)(默认方式)。


<field_dominance> (不推荐使用)


-1:自动(默认值)只有当解码器输出适当的信息并且在滤镜链中tfields之前没有其它的滤镜丢弃这些信息时才能工作,否则该值设回为0(上半扫描场先输入)。
0:上半扫描场先输入
1:下半扫描场先输入
注意: 该选项相当可能在以后的版里中去除。使用−field-dominance代替它。


yadif=[mode[:field_dominance]]


又一个解除隔行扫描的滤镜


<mode>


0:每存在一帧输出一帧。
1:每存在一个扫描场输出一帧。
2:与0相似但跳过空间隔行扫描检查。
3:与1相似但跳过空间隔行扫描检查。


<field_dominance> (不推荐使用)


与tfields运行方式相似。
注意: 该选项相当可能在以后的版本中去除。使用−field-dominance替代它。


mcdeint=[mode[:parity[:qp]]]


包含运动补偿的解除隔行扫描滤镜。它要求每帧有一个扫描场作为输入并且必须与tfields=1或yadif=1/3或与之等价的滤镜一起使用。


<mode>


0:快速
1:中等
2:慢速,迭代式的运动估计
3:更慢,与模式2外加参照多个帧的方式相似


<parity>


0或1用于选择使用哪个扫描场(注意:目前还不能自动侦测!)。


<qp>


较高的值能产生较平滑的运动矢量场,但单个矢量得到优化的较少。


boxblur=radius:power[:radius:power]


盒状模糊


<radius>


模糊过滤的强度


<power>


应用过滤的数量


sab=radius:pf:colorDiff[:radius:pf:colorDiff]


自适合形状的模糊


<radius>


模糊过滤的强度(~0.1−4.0)(值越大越慢)


<pf>


预过滤强度(~0.1−2.0)


<colorDiff>


像素间会被认同的最大差值(~0.1−100.0)


smartblur=radius:strength:threshold[:radius:strength:threshold]


智能模糊


<radius>


模糊过滤的强度(~0.1−5.0)(值越大越慢)


<strength>


模糊化(0.0−1.0)或锐利化(-1.0−0.0)


<threshold>


过滤全部区域(0),过滤平坦区域(0−30)或过滤边缘(-30−0)


perspective=x0:y0:x1:y1:x2:y2:x3:y3:t


修正没有摄制得垂直于屏幕的影片视角。


<x0>,<y0>,...


左上角、右上角、左下角、右下角的坐标


<t>


线性(0)或立方式(1)重采样


2xsai


使用2x缩放及插值算法缩放并平滑图像。


1bpp


YUV/BGR 8/15/16/ 32转换中的1bpp映射位图


down3dright[=lines]


重设立体图像的位置及大小。将两个立体扫描场都抽取出来并将其紧靠着摆放,以将它们缩放至保持原有影片宽高比的大小。


<lines>


要从图像的中间选取的扫描行的数量(默认值:12)


bmovl=hidden:opaque:fifo


这个位图覆盖滤镜从FIFO管道中读取位图并将它们显示在影片的上方,以支持某些对于图像的变换。另参见TOOLS/bmovl-test.c以获取一个小型的bmovl测试程序。


<hidden>


设置‘hidden’标志位的默认值(0=可见,1=不可见)。


<opaque>


设置‘opaque’标志位的默认值(0=透明,1=不透明)。


<fifo>


FIFO管道(连接‘mplayer −vf bmovl’和主控程序的命名管道)的路径/ 文件名


FIFO管道中使用的命令有:


RGBA32 width height xpos ypos alpha clear


其后出现的是width*height*4字节大小的原始RGBA32数据。


ABGR32 width height xpos ypos alpha clear


其后出现的是width*height*4字节大小的原始ABGR32数据。


RGB24 width height xpos ypos alpha clear


其后出现的是width*height*3字节大小的原始RGB24数据。


BGR24 width height xpos ypos alpha clear


其后出现的是width*height*3字节大小的原始BGR24数据。


ALPHA width height xpos ypos alpha


更改指定区域的阿尔法透明度。


CLEAR width height xpos ypos


清空某个区域。


OPAQUE


禁用一切阿尔法透明。要再次启用则发送“ALPHA 0 0 0 0 0”


HIDE


隐藏位图。


SHOW


显示位图。


参数有:


<width>, <height>


图像/区域的大小


<xpos>, <ypos>


从x/y位置开始位图混合


<alpha>


设置阿尔法差值。如果你将该值设为-255,你就可以发送一系列的阿尔法命令将该区域设置为-225、-200、 -175等等以得到一个不错的渐渐出现的效果!;)


0:保持原来的值
255:使所有的位图不透明。
-255:使所有的位图透明。


<clear>


在位图混合前清空帧缓冲。


0:在原来的图像上进行位图混合,于是你不必每当屏幕中的一小部分更新时就发送1.8MB 的RGB32数据。
1:清空图像


framestep=I|step


仅仅每隔n个帧或只对每个内部参照帧(关键帧)进行渲染。

如果你使用I(大写)作为参数调用这个滤镜,那么 只有关键帧才渲染。对于DVD来说它通常意味着每15/12个帧中才有一帧(IBBPBBPBBPBBPBB),对于 AVI来说它意味着每当场景切换时或每隔keyint值(参见−lavcopts keyint= value)所指定数量的帧过后才有一帧。

当找到关键帧时,将打印一个‘I!’字符串以及紧接着的一个换行符,以结束当前 MPlayer/ MEncoder在屏幕上输出的那一行,因为这段信息中包含了关键帧的时间值(以秒计)以及帧编号(你可以利用这一信息切分AVI。)。

如果你使用一个数值参数‘step’调用这个滤镜,那么只有每隔‘step’个帧过后才有一个帧得到渲染。

如果你在数值前加上一个‘i’(小写),那么将输出‘I!’(就像I参数一样)

如果你只给出i,那么不对帧做任何处理,只打印I!。


tile=xtiles:ytiles:output:start:delta


将一系列图像拼成单个大图像。如果你省略了一个参数或使用一个小于0的值,则将使用默认值。你也可以在你认为满意的情况下停止指定参数(... −vf tile=10:5 ...)。将缩放滤镜放在tile之前很可能是个好主意:-)

这些参数有:


<xtiles>


x轴方向拼贴的图像数(默认值:5)


<ytiles>


y轴方向拼贴的图像数(默认值:5)


<output>


当‘output’个帧到达时,渲染拼贴的图像,这里‘output’应当是一个小于 xtile * ytile的数。拼贴图像中缺失的部分保留为空白。比如,你可以每50帧写入一个8 * 7的拼帖图像,这样就在25fps下每2秒产生一幅图像。


<start>


以像素为单位的外边框的厚度(默认值:2)


<delta>


以像素为单位的内边框的厚度(默认值:4)


delogo[=x:y:w:h:t]


通过根据周围的像素进行简单的插值来去除电视台的台标。只需设置一个能盖住台标的长方形区域然后看着它消失就行了(有时更难看的画面会出现——你能得到效果是说不准的)。


<x>,<y>


台标的左上角


<w>,<h>


被清理的长方形区域的宽度和高度


<t>


长方形区域的模糊边缘的宽度(增加w和h的大小)。当设为-1时,屏幕上将绘出一个绿色的长方形以方便寻找合适的x、y、w、 h参数值。


remove-logo=/path/to/logo_bitmap_file_name.pgm


去除电视台台标,使用PGM或PPM图像文件来判断哪些像素组成了台标。图像文件的宽度和高度必须与所处理的视频流的宽高相匹配。使用过滤图像以及一个循环模糊算法去除台标。


/path/to/logo_bitmap_file_name.pgm


过滤图像的[路径] + 文件名。


zrmjpeg[=options]


与zr2视频输出设备一同使用的软件YV12至MJPEG编码器。


maxheight=<h>|maxwidth=<w>


这些选项zr采集卡能处理的最大宽度和高度(MPlayer的滤镜层当前还不能查询这些信息)。


{dc10+,dc10,buz,lml33}-{PAL|NTSC}


使用这些选项将maxwidth和maxheight自动设置为zr卡/ 混合模式所知的值。比如,有效的选项有:dc10-PAL和buz-NTSC(默认值:dc10+PAL)


color|bw


选择彩色或黑白的编码。黑白编码较快。彩色编码为默认方式。


hdec={1,2,4}


水平方向抽取采样因数1、2或4。


vdec={1,2,4}


垂直方向抽取采样因数1、2或4。


quality=1−20


设置JPEG压缩的质量[最好] 1 − 20 [非常差]。


fd|nofd


默认设置下,只有当Zoran采集卡的硬件支持MJPEG图像放大至其原有大小时才进行抽取采样。选项fd命令滤镜总是进行所请求的抽取采样操作(效果很糟)。


screenshot


允许使用可以与按键绑定的被动模式下的命令以获取影片的截屏。参见被动模式的说明文档以及交互式控制一节以获取详细信息。命名为 ‘shotNNNN.png’的文件将保存在工作目录下,所用的编号为第一个可以用的编号——不会覆盖任何文件。该滤镜在不用时不占用资源,并且支持任意色彩空间,所以将其添加进配置文件中很安全。


ass


将SSA/ASS字幕的渲染移至滤镜链中的任意一个位置。只适用于有−ass选项的时候。

示例:


−vf ass,screenshot


将SSA/ASS的渲染移至screenshot滤镜之前。这样做后的截屏内容将包含字幕。


blackframe[=amount:threshold]


侦测出(几乎)完全黑色的帧。可适用于侦测影片章节的切换或广告。输出行由所侦测出帧的编号、黑色程度的百分比、帧的类型和最近遇到的关键帧的编号组成。


<amount>


数值低于阈值的像素的百分比率(默认值:98)。


<threshold>


决定像素值低于多少就被认作是黑色的阈值(默认值:32)。

TOP

通用编码选项(仅用于MENCODER)


−audio-delay <any floating-point number>


通过在文件头部中设置延迟信息域来延迟音频或视频。(默认值:0.0)。该选项不在编码过程中延迟音频或视频流,但播放器会读出延迟信息域并做相应的补偿处理。正数值延迟音频,而负数值延迟视频。注意该选项正好与−delay选项相反。例如,如果一段视频在−delay 0.2下正确播放,那么你可以在MEncoder中使用 −audio-delay -0.2修复视频的不同步问题。

当前,该选项只能用于默认的流合并器(−of avi)。如果你使用了另外的流合并器,那么你必须使用−delay来代替该选项。


−audio-density <1−50>


每秒钟处理的音频数据块数量(默认值为2,用于0.5s长的音频数据块)。
注意: 只用于CBR,VBR方式忽略该选项,因为它将每个数据包分别放入一个数据块中。


−audio-preload <0.0−2.0>


设置音频缓冲的时音间隔(默认值:0.5s)。


−fafmttag <format>


可用于改写输出文件中的音频格式标签。

示例:


−fafmttag 0x55


将使输出文件包含0x55(mp3)的信息作为音频格式标签。


−ffourcc <fourcc>


可用于改写输出文件中的视频fourcc值。

示例:


−ffourcc div3


将使输出文件包含‘div3’的信息作为视频fourcc值。


−force-avi-aspect <0.2−3.0>


代替存储在AVI OpenDML vprp头部中的宽高比值。该选项可用于在使用‘−ovc copy’时更改宽高比值。


−frameno-file <filename>(不推荐使用)


指定包含有帧序号对应关系表的音频文件的文件名,该对应关系表是在特殊的三阶段编码模式的第一阶段(只处理音频)中生成的。
注意: 使用该模式很可能会让你得到A-V不同步的结果。不要使用它。它只是为了向后兼容而保留的,并且相当可能在以后的版本中去除。


−hr-edl-seek


在跳过处理区域时使用一种更精确但相对很慢的方式。不是定位标记为需跳过的处理区域,而是解码所有的帧并且只有编码需要的帧。该选项使从非关键帧的边界开始编码成为可能。
注意: 不保证能与‘−ovc copy’一同使用。


−info <option1ption2:...>(只用于AVI)


指定生成的AVI文件的头部信息内容。

可用选项有:


help


显示本部分描述。


name=<value>


作品的标题


artist=<value>


作品的作者


genre=<value>


原作的类别


subject=<value>


作品的内容


copyright=<value>


版权信息


srcform=<value>


数字化资料的原始格式


comment=<value>


关于作品的总体性注释


−noautoexpand


不要自动在MEncoder滤镜链中插入扩展滤镜。适用于将字幕内嵌入影片时控制在滤镜链中的哪一个点上渲染字幕。


−noencodedups


不要尝试将重复的帧重复地编码;必须以输出零字节帧的方式表明有重复帧。除非加载了能进行重复帧编码的滤镜或编码器,否则无论如何将写入零字节帧。当前这样的滤镜只有hardup。


−noodml(仅用于−of avi的情况下)


对于大于1GB的AVI文件不写入OpenDML索引。


−noskip


不要跳过任何帧。


−o <filename>


输出至所给的文件名。
如果你需要有一个默认的输出文件名,你可以将此选项放在MEncoder的配置文件中。


−oac <codec name>


使用所给的音频编解码器编码(没有默认值)。
注意: 使用−oac help来获取可用音频编解码器的列表。

示例:


−oac copy


不编码,直接复制音频流


−oac pcm


编码为未压缩的PCM格式。


−oac mp3lame


编码为MP3格式(使用LAME)。


−oac lavc


使用libavcodec编解码器编码。


−of <format>(BETA测试版代码!)


编码为指定的容器格式(默认值:AVI)。
注意: 使用−of help以获取可用的容器格式的列表。

示例:


−of avi


编码为AVI格式。


−of mpeg


编码为MPEG格式(另参见−mpegopts)。


−of lavf


使用libavformat流合并器编码(另参见−lavfopts)。


−of rawvideo


原始视频流(不合并——只含一个视频流)


−of rawaudio


原始音频流(不合并——只含一个音频流)


−ofps <fps>


为输出文件指定一个每秒帧数(fps)值,该值可以与原来视频中的不同。必须为可变fps(ASF、一些MOV)以及逐行扫描(30000/1001 fps电视图像模式的MPEG)文件设置该值。


−ovc <codec name>


使用给出的视频编解码器编码(没有默认值)。
注意: 使用−ovc help来获取可用视频编解码器的列表。

示例:


−ovc copy


不编码,直接复制视频流


−ovc raw


编码为任意的未压缩格式(使用‘−vf format’选择具体格式)。


−ovc lavc


使用libavcodec编解码器编码。


−passlogfile <filename>


在二阶段编码模式中将第一阶段的信息导出至<filename>,而不是默认的divx2pass.log。


−skiplimit <value>


指定编码了一帧之后最多可以跳过的帧的数量(−noskiplimit表示无限制)。


−vobsubout <basename>


指定输出的.idx和.sub文件的主文件名。该选项使字幕不在编码后影片得到渲染,而是将其转而输出至VOBsub的字幕文件。


−vobsuboutid <langid>


为字幕指定双字母的语言代码。该选项改写了从DVD或.ifo文件中读取的语言代码。


−vobsuboutindex <index>


指定输出文件中字幕的索引号(默认值:0)。

TOP

特定编解码器专用的编码选项(仅用于MENCODER)


你可以使用以下的句法指定特定编解码器专用的参数:


−<codec>opts <option1[=value],option2,...>


这里<codec>可以是:lavc、xvidenc、lame、toolame、twolame、nuv、xvfw、faac、 x264enc、mpeg、lavf。


lame (−lameopts)


help


获取帮助信息


vbr=<0−4>


可变比特率方式


0


cbr



1


mt



2


rh(默认值)


3


abr


4


mtrh


abr


平均比特率


cbr


恒定比特率同时强制在后面指定的ABR预设模式中使用CBR模式。


br=<0−1024>


以kbps计量的比特率(仅用于CBR和ABR)


q=<0−9>


质量(0 − 最好,9 − 最差)(仅用于VBR)


aq=<0−9>


算法质量(0 − 最好/最慢,9 − 最差/最快)


ratio=<1−100>


压缩比


vol=<0−10>


音频输入的增益


mode=<0−3>


(默认方式:自动判断)


0


立体声


1


共享式立体声


2


双声道


3


单声道


padding=<0−2>


0


无填充


1


所情况下均填充


2


调整



fast


打开后面所指定的VBR预设模式中的较快编码方式。这将造成质量稍差而比特率稍高。


highpassfreq=<freq>


设置高通过滤的频率值,单位为Hz。低于所指定值的频率将被滤除。值-1将禁用过滤,值0将让LAME自动选择一个值。


lowpassfreq=<freq>


设置低通过滤的频率值,单位为Hz。高于所指定值的频率将被滤除。值-1将禁用过滤,值0将让LAME自动选择一个值。


preset=<value>


预设值


help


打印预设设置的其它选项与信息。


medium


VBR编码,质量不错,比特率范围为150−180 kbps


standard


VBR编码,高质量,比特率范围为170−210 kbps


extreme


VBR编码,超高质量,比特率范围为200−240 kbps


insane


CBR编码,最高的预设质量,比较率为320bps


<8−320>


ABR编码,平均比特率为所给的kbps值


示例:


fast:preset=standard


适用大多数人以大多数音乐类型,质量已经相当高了


cbr:preset=192


使用192kbps的ABR预设模式,强制使用固定比特率编码。


preset=172


使用ABR预设模式、172kbps的平均比特率编码。


preset=extreme


用于那些有极好听力和极好设备的人


toolame和twolame(分别对应−toolameopts和−twolameopts)


br=<32−384>


在CBR模式下该参数指明比特率值,单位为kbps,而在VBR模式下则是每个音频帧所允许的最小比特率。VBR模式不能在该值低于112时工作。


vbr=<-50−50>(仅用于VBR)


比特率可变范围;如果为负值,则编码器使平均比特率向所限制最低值靠拢,如果为正值,则向最高值靠拢。设为0时使用CBR模式(默认值)。


maxvbr=<32−384>(仅用于VBR)


每个音频帧所允许的最大比特率,单位为kbps


mode=<stereo | jstereo | mono | dual>


(默认值:单声道音频使用mono,否则为stereo)


psy=<-1−4>


心理声学模型(默认值:2)


errprot=<0 | 1>


使用错误保护功能。


debug=<0−10>


调试等级


faac(−faacopts)


br=<bitrate>


平均比特率,单位为kbps(与quality选项不能同时使用)


quality=<1−1000>


质量模式,值越高效果越好(与br选项不能同时使用)


object=<1−4>


目标类型的复杂度


1


MAIN(默认值)


2


LOW



3


SSR


4


LTP(运行极慢)


mpeg=<2|4>


MPEG版本(默认值:4)


tns


启用瞬时噪声整形(TNS)功能。


cutoff=<0−采样频率/2>


截断频率(默认值:采样频率/2)


raw


将比特流保存为原始负载,而额外的数据保存在容器文件的头部中(默认值:0,与ADTS相一致)。如果没有明确的需要就不要设置这个标志位,否则你以后将不能重新将音频流合并进容器文件了。


lavc(−lavcopts)


有许多libavcodec(简称lavc)选项只是简要说明。要了解详情请阅读源代码。

示例:


vcodec=msmpeg4:vbitrate=1800:vhq:keyint=250


acodec=<value>


音频编解码器(默认值:mp2)


mp2


MPEG Layer 2


mp3


MPEG Layer 3


ac3


AC3


adpcm_ima_wav


IMA自适应PCM(每个采样占用4比特,4:1的压缩率)


sonic


试验性的有损/无损编解码器


abitrate=<value>


音频比特率,单位为kbps(默认值:224)


atag=<value>


使用所指定的Windows音频格式标签(例如atag=0x55)。


bit_exact


只使用精确到比特的算法(除了(I)DCT)。此外,精确到比特的方式禁用了许多的优化模式,因而应当只用于回归测试。这种测试要求即使编码器的版本变了,文件的二进制内容也要相同。该选项同时禁用MPEG-4流中的用户数据头。除非你确切知道你要做什么,否则不要使用这个选项。


threads=<1−8>


最大能使用的线程数(默认值:1)。可能对运动预测有一定负面影响。


vcodec=<value>


使用所指定的编解码器(默认值:mpeg4)。


mjpeg


动态JPEG


ljpeg


无损JPEG


h261


H.261


h263


H.263


h263p


H.263+


mpeg4


MPEG-4(DivX 4/5)


msmpeg4


DivX 3


msmpeg4v2


微软MPEG4v2


wmv1


Windows媒体视频,版本1(也就是WMV7)


wmv2


Windows媒体视频,版本2(也就是WMV8)


rv10


一个老旧的RealVideo编解码器


mpeg1video


MPEG-1视频


mpeg2video


MPEG-2视频


huffyuv


HuffYUV


ffvhuff


使用YV12格式的非标准压缩率提升20%的HuffYUV


asv1


华硕视频v1


asv2


华硕视频v2


ffv1


FFmpeg的无损视频编解码器


flv


用于Flash视频的Sorenson H.263


dvvideo


Sony数字视频


svq1


苹果Sorenson视频1


snow(另参见:vstrict)


FFmpeg实验性的基于小波变换的编解码器


vqmin=<1−31>


最低量化参数(第1/2阶段编码)


1


不推荐(文件大很多,质量差别不大,而且有奇怪的副作用:msmpeg4、h263的质量会很差,码率控制会混乱从而质量下升,而且一些解码器将不能解码)。


2


推荐用于普通mpeg4/ mpeg1video编码(默认值)。


3


推荐用于h263(p)/ msmpeg4。建议采用3而不是2的原因是2可能造成溢出。(这在h263(p)中会在将来通过改变每个宏块的量化参数而解决,而msmpeg4中无法修复,因为它不支持那种方式。)


lmin=<0.01−255.0>


用于码率控制的最小帧级别的拉格朗日乘子(默认值:2.0)。 Lavc很少会使用低于vqmin值的量化参数。降低lmin会使lavc更容易在处理某些帧选用更低的量化参数,但不会低于vqmin值。类似的,提高 lmin将使lavc更不可能选用低的量化参数,即使vqmin参数允许使用这些量化参数。你很可能想将lmin设为大致与vqmin相等。当使用自适应量化模式时,改变lmin/lmax可能影响不大;参见mblmin/mblmax。


lmax=<0.01−255.0>


用于码率控制的最大拉格朗日乘子(默认值:31.0)


mblmin=<0.01−255.0>


用于码率控制的最小宏块级别的拉格朗日乘子(默认值:2.0)该参数影响诸如qprd、lumi_mask等自适应量化选项。


mblmax=<0.01−255.0>


用于码率控制的最大宏块级别的拉格朗日乘子(默认值:31.0)


vqscale=<0−31>


恒定量化参数/ 恒定质量编码(选用固定量化参数模式)。值越小意味着质量越好,但文件越大(默认值:-1)。在使用snow编解码器的情况下,值0表示无损编码。由于其它编解码器不支持这个值,vqscale=0会有未经定义的效果。不推荐用1(参见vqmin获取详情)。


vqmax=<1−31>


最大量化参数(第1/2阶段编码),10−31应该是一个合理的范围(默认值:31)。


mbqmin=<1−31>


过时参数,应使用vqmin


mbqmax=<1−31>


过时参数,应使用vqmax


vqdiff=<1−31>


连续的I或P帧之间最大的量化参数差别(第1/2阶段编码)(默认值:3)


vmax_b_frames=<0−4>


非B帧之间存在的最大B帧数目:


0


无B帧(默认值)


0−2


对于MPEG-4来说是合理的范围


vme=<0−5>


运动预测方式。可用方式有:


0


none(质量很低)


1


full(运行慢,当前代码未维护且已禁用)


2


log(质量低,当前代码未维护且已禁用)


3


phods(质量低,当前代码未维护且已禁用)


4


EPZS:size=1的菱形模板,size可以通过*dia选项调整(默认值)


5


X1(实验性选项,当前是EPZS的一个别名)


8


iter(递归重叠的区块,仅用于snow)


注意: 目前0−3无视所花费比特的多少,所以质量可能比较低。


me_range=<0−9999>


运动预测的搜索范围(默认值:0(不限制))


mbd=<0−2>(另参见*cmp、qpel)


宏块决策算法(高质量模式),将每个宏块在所有的模式下编码然后选择最佳的模式。该模式运行很慢,但能使质量提高,文件大小降低。当mbd设为1 或2时,比较宏块过程中将不考虑mbcmp的值。然而当某个比较设置(precmp、subcmp、cmp或mbcmp)为非零值时,将会使用一种更慢但更好的半像素运动搜索模式,而不管mbd设为何值。如果设置了qpel参数,则将肯定使用四分之一像素运动搜索模式。


0


使用mbcmp提供的比较函数(默认方式)。


1


选用需要比特最少的宏块模式(=vhq)。


2


选用码率失真最优的宏块模式。


vhq


与mbd=1相同,出于兼容性考虑而保留了下来。


v4mv


允许每个宏块有4个运动矢量(质量较好些)。如果在mbd>0时使用效果更好。


obmc


重叠块的运动补偿(H.263+)


loop


遁环过滤(H.263+)注意,该选项有问题


inter_threshold <-1000−1000>


当前没有任何作用。


keyint=<0−300>


关键帧的最大间隔,单位为帧数(默认值:250或者说25fps的影片中每10秒一个关键帧。这个数值是MPEG-4中推荐使用的默认值)。大多数编解码器需要定期使用关键帧以限制不匹配错误聚积过多。关键帧也在播放定位时需要,因为只能定位于关键帧——但关键帧比其它帧需要更多空间,所以这里的数值设得越大意味着文件越小,但定位越不精确。 0与1相同,这将使每个帧都成为关键帧。不推荐大于300的值,因为质量可能很差,这取决于解码器、编码器和运气。通常MPEG-1/2使用小于等于30 的值。


sc_threshold=<-1000000000−1000000000>


用于场景切换侦测的阈值。当libavcodec侦测到场景切换时,它将插入一个关键帧。你可以通过这个选项指定侦测模式的敏感度。 -1000000000表示每个帧下都会侦测出一个场景切换,1000000000表示侦测不出任何场景切换(默认值:0)。


sc_factor=<any positive integer>


导致使用较高量化参数的帧更容易引发场景切换的侦测,从而使libavcodec使用一个I帧(默认值:1)。 1−16是一个合理的范围。 2至6之间的值能提高峰值信噪比(PSNR)(最高大约为0.04dB)并且让I帧在高动态场景中放置于更合适的位置高于6的值可能提高一点点PSNR (大约比sc_factor=6多0.01dB),而视觉质量下降却相当可观。


vb_strategy=<0−2>(只用于第一阶段编码)


选用I/P/B帧的策略:


0


总是使用最多的B帧(默认值)。


1


在高动态场景中避免使用B帧。参观b_sensitivity选项以调试这一策略。


2


调整使用B帧的个数以使质量最好(运行缓慢)。你可以要通过调整brd_scale选项以减少该选项对于运行速度的负面作用。


b_sensitivity=<任何大于0的整数>


调整vb_strategy=1时运动侦测的敏感程度从而避免使用B帧(默认值:40)。敏感程度越低将导致越多的B帧。使用更多的B帧通常能提升峰值信噪比,但太多的B帧可能导致在高动态场景中质量下降。除非运动程度极其高,否则b_sensitivity设为低于默认的值是很安全的;10在大多数情况下是一个理想的值。


brd_scale=<0−10>


减小动态B帧决策中帧的尺寸(默认值:0)。 brd_scale每增加一,帧的宽高将减小一半,这样就使运行速度提升至四倍。尺寸减小后帧的宽和高都必须是偶数,所以brd_scale=1要求原来的宽高尺寸是四的倍数, brd_scale=2要求原来的宽高尺寸是八的倍数,依次类推。换句话说,原来帧的宽高尺寸都必须能被2^(brd_scale+1)整除。


bidir_refine=<0−4>


优化用于双向宏块的两个运动矢量,而不是重复使用向前和向后搜索所找到的矢量。该选项只对B帧有效。


0


禁用(默认值)。


1−4


使用更广泛的搜索模式(值越大运行越慢)。


vpass=<1−3>


启用内置的二阶段(或更多阶段)编码模式,只有当你想使用二阶段(或更多阶段)编码模式时才指定这个值。


1


第一阶段编码(另参见turbo)


2


第二阶段编码


3


第N阶段编码(N阶段编码模式中第二阶段以及之后各阶段的编码)


以下展示了其如何工作,以及如何使用:
第一阶段编码(vpass=1)输出统计文件。你可能希望关闭一些大量消耗CPU的选项,就像“turbo”模式所做的那样。
在二阶段编码模式中,第二阶段(vpass=2)读取统计文件的内容并依据该内容作出码率控制的决策。
在N阶段模式中,第二阶段(vpass=3——这不是本文档的印刷错误)同时做两件事:首先读取统计信息,然后重写这些信息。如果存在不得不终断 MEncoder的可能,那么你可能希望在做这一步前备份divx2pass.log。你可以使用所有的编码选项,除非是非常消耗CPU的选项如 “qns”。
你可以反复执行与此相同的编码阶段以优化编码。每个紧接着的编码阶段将使用上一个阶段的统计信息并进一步优化。最后一个编码阶段可以包含任意大量消耗CPU的编码选项。
如果你想用二阶段编码模式,那么先使用vpass=1,然后再用vpass=2。
如果你想用三阶段或更多阶段的编码模式,那么在第一阶段使用vpass=1,接着用vpass=3,接着不断用vpass=3直至你对编码结果满意了。


huffyuv:


第一阶段


保存统计信息。


第二阶段


使用基于第一阶段统计信息的最优哈夫曼表编码。


turbo(仅用于二阶段编码)


使用更快的算法并禁用大量占用CPU的选项以使第一阶段编码的运行大幅加快。该选项可能稍稍降低全局峰值信噪比(大约为0.01dB)并且改变单个帧的类型以及稍稍改变该帧的峰值信噪比(最多至0.03dB)。


aspect=<x/y>


在文件内部保存影片的宽高比,就像MPEG文件一样。比使用缩放功能效果好多了,因为质量不下降。只有MPlayer能正确播放这些文件,其它播放器会以错误的宽高比显示。宽高比参数可以以比率或浮点数字的形式给出。


示例:


aspect=16/9或aspect=1.78


autoaspect


与aspect选项相同,但是通过综合考量滤镜链上的各种调整(crop/ expand/scale/等等)自动计算宽高比。不会对性能产生负面影响,所以你可以放心地让该选项保持为打开的状态。


vbitrate=<value>


指定比特率(第1/2阶段编码)(默认值:800)。
警告: 1kbit = 1000 bits


4−16000


(单位为kbit)


16001−24000000


(单位为bit)


vratetol=<value>


文件大小控制中允许出入的数量,单位为kbit。 1000−100000是一个合理的范围。(警告:1kbit = 1000 bits)(默认值:8000)
注意: vratetol在第二阶段编码中不应设得太大,否则当设置了vrc_(min|max)rate时,可能会产生问题。


vrc_maxrate=<value>


最大比特率,单位为kbit/ sec(第1/2阶段编码)(默认值:0,无限制)


vrc_minrate=<value>


最小比特率,单位为kbit/ sec(第1/2阶段编码)(默认值:0,无限制)


vrc_buf_size=<value>


缓冲大小,单位为kbit(第1/2阶段编码)。在MPEG-1/2中该选项同时设置了vbv缓冲的大小,对于VCD请使用327,对于SVCD使用917,而 DVD使用1835。


vrc_buf_aggressivity


当前没有什么作用


vrc_strategy


码率控制方式。注意当vrc_strategy不设为0时,一些影响码率控制的选项将不起任何作用。


0


使用内置的lavc码率控制方式(默认值)。


1


使用Xvid的码率控制方式(仅供测试用;要求MEncoder编译时加入对Xvid 1.1或更高版本的支持)。


vb_qfactor=<-31.0−31.0>


B帧和非B帧间的量化参数因数(第1/2阶段编码)(默认值1.25)


vi_qfactor=<-31.0−31.0>


I帧和非I帧间的量化参数因数(第1/2阶段编码)(默认值0.8)


vb_qoffset=<-31.0−31.0>


B帧和非B帧间的量化参数偏移量(第1/2阶段编码)(默认值1.25)


vi_qoffset=<-31.0−31.0>


(第1/2阶段编码)(默认值0.0)
如果v{b|i}_qfactor > 0
I/B帧量化参数 = P帧量化参数 * v{b|i}_qfactor + v{b|i}_qoffset
否则
使用常规的码率控制方式(不限定于下一个P帧的量化参数)而设置 q= -q * v{b|i}_qfactor + v{b|i}_qoffset
提示: 要执行恒定量化参数的编码而对I/P和B帧应用不同的量化参数,你可以使用: lmin= <I/P帧量化参数>:lmax= <I/P帧量化参数>:vb_qfactor= <B帧量化参数/ I/P帧量化参数>。


vqblur=<0.0−1.0>(第一阶段编码)


量化参数模糊系数(默认值:0.5),值越大将使量化参数在时间上分布得越平均(变化得越慢)。


0.0


禁用量化参数模糊功能。


1.0


使量化参数在所有先前出现的帧中平均化。


vqblur=<0.0−99.0>(第二阶段编码)


量化参数高斯模糊(默认值:0.5),值越大将使量化参数在时间上分布得越平均(变化得越慢)。


vqcomp=<0.0−1.0>


量化参数压缩,vrc_eq选项依赖于该选项(第1/2阶段编码)(默认值:0.5)。例如,假设使用了默认的码率控制方程式,如果vqcomp =1.0,那么码率控制过程中将分配给每个帧足够的比特数,以使它们在同一个量化参数下编码。如果vqcomp=0.0,那么码率控制中将分配给每个帧相同的比特数,也就是严格的CBR模式。 注意: 以上都是极端性的设置,应当从不使用。在这两个极端值之间的某个值能使感观质量达到最优。


vrc_eq=<equation>


主码率控制方程式(第1/2阶段编码)


1


恒定比特率


tex


恒定质量


1+(tex/avgTex-1)*qComp


近似于以前码率控制代码所用的方程式


tex^qComp


式中qcomp为0.5或某个类似设置(默认值)


中置运算符:


+,-,*,/,^


变量:


tex


纹理复杂度


iTex,pTex


内部、非内部纹理复杂度


avgTex


平均纹理复杂度


avgIITex


I帧中的平均内部纹理复杂度


avgPITex


P帧中的平均内部纹理复杂度


avgPPTex


P帧中的平均非内部纹理复杂度


avgBPTex


B帧中的平均非内部纹理复杂度


mv


用于运动矢量的比特数

TOP

fCode


以log2对数值计量的最大运动矢量长度


iCount


内部宏块数/宏块数


var


空间复杂度


mcVar


时间复杂度


qComp


命令行输入的qcomp值


isI, isP, isB


若图像类型为I/P/B则为1,否则为0。


Pi,E


参见你最喜欢的数学书。


函数:


max(a,b),min(a,b)


最大值/最小值


gt(a,b)


若a>b则为1,否则为0


lt(a,b)


若a<b则为1,否则为0


eq(a,b)


若a==b则为1,否则为0


sin, cos, tan, sinh, cosh, tanh, exp, log, abs


vrc_override=<options>


用户指定的针于影片特定部分(尾声、演职员表……)的质量值(第1/2阶段编码)。选项有<start-frame>、<end- frame>、<quality>[/<start-frame>, <end-frame>, <quality>[/...]]:


quality (2−31)


量化参数


quality (-500−0)


质量修正的百分比程度


vrc_init_cplx=<0−1000>


初始复杂度(第一阶段编码)


vrc_init_occupancy=<0.0−1.0>


初始缓冲占用量,为vrc_buf_size值的一个分数(默认值:0.9)


vqsquish=<0|1>


指定如何使量化参数保持在qmin和qmax之间(第1/2阶段编码)。


0


使用截断方式。


1


使用一种不错的微分函数(默认值)。


vlelim=<-1000−1000>


设置亮度的单一系数消减阈值。设为负数值则将同时考量直流系数(在以quant=1编码时应当至少设为-4或更低):


0


禁用(默认值)


-4


JVT推荐值


vcelim=<-1000−1000>


设置色度的单一系数消减阈值。设为负数值则将同时考量直流系数(在以quant=1编码时应当至少设为-4或更低):


0


禁用(默认值)


7


JVT推荐值


vstrict=<-2|-1|0|1>


严格符合编码标准


0


禁用



1

只有当你想让MPEG-4标准解码器读取编码输出结果时才推荐使用


-1


允许使用libavcodec专用的扩展功能(默认值)。


-2


启用实验性的编解码器和功能,这些可能在将来版本的MPlayer中无法播放(用于snow)。


vdpart


数据分隔。每个视频数据包增加2字节内容,从而改善在不可靠信道上传输时(例如,在因特网上传输流媒体)的容错能力。每个视频数据包将编码为3个独立的部分:


1. MVs


运动信息


2. DC coefficients(直流系数)


低分辨率画面


3. AC coefficients(交流系数)


细节


MV和DC最为重要,丢失这两个部分似乎远比丢失AC部分和1. & 2.部分严重得多。 (MV & DC)远比3.部分(AC)小得多,这意味着传输错误更多出现在AC部分而不是MV & DC部分。所以,画面在数据分割后将比未分割时看上去更好,因为未分割时传输错误将同等地损坏 AC/DC/ MV三个部分。


vpsize=<0−10000>(另参见vbpart)


视频数据包的大小,用于改善容错能力。


0


禁用(默认值)


100−1000


较好的选择


ss


用于H.263+的分片结构模式


gray


仅灰度的编码(较快)


vfdct=<0−10>


DCT算法


0


自动选用一个良好的算法(默认值)。


1


快速整数式


2


精确整数式


3


MMX



4


mlib



5


AltiVec



6


浮点AAN



idct=<0−99>


IDCT算法
注意: 据我们所知,所有这些IDCT算法均通过IEEE1180测试。


0


自动选用一个良好的算法(默认值)。


1


JPEG标准整数式


2


简单式


3


简单MMX



4


libmpeg2mmx(不精确,不要用于keyint >100模式下的编码)


5


ps2


6


mlib


7


arm


8


AltiVec


9


sh4


10


simplearm


11


H.264


12


VP3


13


IPP


14


xvidmmx


15


CAVS


16


simplearmv5te


17


simplearmv6


lumi_mask=<0.0−1.0>


亮度屏蔽是一种‘心理感官性’的设置,一般认为其所利用的事实是人眼倾向于在画面中很亮的部分里只注意到较少的细节。亮度屏蔽模式比中性的模式更大幅度地压缩明亮的区域,所以它能省下不少比特将其用于其它的帧中,从而提高整体的主观感官质量,但同时可能降低了峰值信噪比。
警告: 小心,值过大可能导致灾难性的后果。
警告: 值设得大可能在某些显示器上看起来效果好,但可能在其它显示器上就显得难看。


0.0


禁用(默认值)


0.0−0.3


合理的范围


dark_mask=<0.0−1.0>


暗度屏蔽是一种‘心理感官性’的设置,一般认为其所利用的事实是人眼倾向于在画面中很暗的部分里只注意到较少的细节。暗度屏蔽模式比中性的模式更大幅度地压缩明亮的区域,所以它能省下不少比特将其用于其它的帧中,从而提高整体的主观感官质量,但同时可能降低了峰值信噪比。
警告: 小心,值过大可能导致灾难性的后果。
警告: 值设得大可能在某些显示器上看起来效果好,但可能在其它显示器/电视/液晶屏上就显得难看。


0.0


禁用(默认值)


0.0−0.3


合理的范围


tcplx_mask=<0.0−1.0>


时间复杂度屏蔽(默认值:0.0(禁用))。设想一下一个场景中一只鸟飞过整个场景;tcplx_mask将提高描绘鸟的宏块的量化参数(从而降低这些宏块的质量),而人眼通常没有时间去看清鸟的所有细节。注意如果被屏蔽的对象停止运动(例如鸟儿落地了),那么很有可能在短时间内这个对象会显得很难看,直至编码器注意到这个对象不动了而需要更好的块来描绘。节省下来的比特将用于视频中的其它部分,只要tcplx_mask经过精心选取,这将提高主观感官质量。


scplx_mask=<0.0−1.0>


空间复杂度屏蔽如果没有解块效应滤镜用于解码过程,那么较大的值有助于消除块效应,但这可能不是一个好办法。
设想一下一个含有草丛(这通常有很大的空间复杂度)、蓝天和一间房子的场景; scplx_mask将提高描绘草丛的宏块的量化参数,从而降低其质量,由此将更多的比特花在天空和房子上。
提示: 要充分切除所有的影片黑边,因为它们使宏块的质量下降(这同样适用于不用scplx_mask的情形)。


0.0


禁用(默认值)


0.0−0.5


合理的范围


注意: 这个设置与使用能更大幅度压缩高频信号的自定义量化矩阵不具有相同效果,因为即使直流信号改变时scplx_mask也不会降低P块的质量。 scplx_mask的效果可能也不如那种方式好。


p_mask=<0.0−1.0>(另参见vi_qfactor)


降低帧间块的质量。这等价于提高内部块的质量,因为码率控制器仍在整个视频序列上以相同的平均码率分配了数据资源(默认值:0.0(禁用))。 p_mask=1.0使分配到每个内部块的比特数加倍。


border_mask=<