diff --git a/DOCS/man/zh/mplayer.1 b/DOCS/man/zh/mplayer.1 index 68b39828e4..28259b3b75 100644 --- a/DOCS/man/zh/mplayer.1 +++ b/DOCS/man/zh/mplayer.1 @@ -1,7 +1,5 @@ -.\" Partial sync with en/mplayer.1 r23455 +.\" sync with en/mplayer.1 r23748 .\" Encoding: utf-8 -.\" Only 1 section unfinished: "CODEC SPECIFIC ENCODING OPTIONS", -.\" also see line 4560. .\" Reminder of hard terms which need better/final solution later: .\" /capture; playtree in parent list; colorkey; retrace; desync; downmix; .\" wrapper script ... shellescapes; keyframe; deblock; dering; @@ -10,6 +8,8 @@ .\" .\" MPlayer (C) 2000-2007 MPlayer 团队 .\" 本(英文)手册页由 Gabucino, Diego Biurrun, Jonas Jermann 编写 +.\" 视频滤镜、通用编解码器选项、特定编解码器专用选项三个章节由 +.\" JRaSH 重新翻译 .\" 参于翻译本中文手册页的有: .\" Lu Ran , .\" Sheldon Jin , JRaSH @@ -82,7 +82,7 @@ vcd://轨迹[/设备] . .br .B mplayer -tv://[频道] +tv://[频道][/input_id] [选项] . .br @@ -241,6 +241,8 @@ MPlayer 有个完全可配置的, 命令驱动的控制层, 降低/\:提高音量。 .IPs "9 和 0" 降低/\:提高音量。 +.IPs "( 和 )" +调整有利用于左/\:右声道的声音平衡。 .IPs "m\ \ \ \ " 静音。 .IPs "_ (仅用于MPEG-TS和libav库格式)" @@ -655,6 +657,7 @@ idle|belownormal|normal|abovenormal|high|realtime .TP .B \-really-quiet (也请参见 \-quiet) 显示比 \-quiet 更少的输出和状态信息。 +同时禁止图形界面错误消息对话框。 . .TP .B \-show-profile <配置轮廓> @@ -855,6 +858,19 @@ n 大小的 FIFO 能容纳 (n-1) 缓冲事件。 使用另一种的 menu.conf。 . .TP +.B \-menu-chroot <路径>(仅用于OSD菜单) +将文件选择菜单的根目录更改为一个特定位置。 +.sp 1 +.I 示例: +.PD 0 +.RSs +.IPs "\-menu-chroot=/home" +将限制文件选择菜单查找/\:home以及其下的目录(即不可能访问 /,但可以访问 +/home/user_name)。 +.RE +.PD 1 +. +.TP .B \-menu-keepdir(仅用于OSD菜单) 文件浏览器从最近浏览位置开始浏览,而不是当前目录。 . @@ -1822,8 +1838,8 @@ SSA/ASS 提供器能在那里放置字幕 (与 \-ass-use-margins 组合用)。 SSA/ASS 提供器能在那里放置字幕 (与 \-ass-use-margins 组合用)。 . .TP -.B \-(no)ass-use-margins -启用/停用放置字幕(如果有的话)在黑框中 (默认是: no)。 +.B \-ass-use-margins +启用放置字幕(如果有的话)在黑框中。 . .TP .B \-dumpjacosub (仅用于 MPlayer) @@ -1861,7 +1877,7 @@ SSA/ASS 提供器能在那里放置字幕 (与 \-ass-use-margins 组合用)。 也请参见 \-dump*sub 和 \-vobsubout* 选项。 . .TP -.B \-(no)embeddedfonts (仅用于 FreeType) +.B \-embeddedfonts (仅用于 FreeType) 允许抽取 Matroska 内嵌字体(默认值:禁止)。 这些字体能用于 SSA/ASS 字幕渲染 (\-ass 选项)。 字体文件创建在~/.mplayer/\:fonts目录中。 @@ -2707,7 +2723,7 @@ gl, gl2, directx 和 tdfxfb 视频输出驱动支持。 .TP .B \-monitoraspect <宽高比> (也请参见 \-aspect) 设置监视器或电视屏幕的宽高比。 -值 0 将禁用先前的屏幕宽高比设置(例如,\&在配置文件中的设置)。如果激活了,此 +值 0 将禁用先前的设置(例如,配置文件中的设置)。如果激活了,此 选项将屏蔽\-monitorpixelaspect中的设置。 .sp 1 .I 示例: @@ -3951,7 +3967,7 @@ nonkey: 跳过所有的帧除了 keyframes。 .br all: 跳过所有的帧。 .REss -.IPs skipidct=<跳略值> (仅用于 MPEG1/2) +.IPs "skipidct=<跳略值> (仅用于 MPEG1/2)" 跳过 IDCT 步骤。 在几乎所有的情况下此步骤使得品质降级许多 (可用的跳略值请参见 skiploopfilter)。 @@ -3959,7 +3975,7 @@ all: 跳过所有的帧。 完全跳过解码帧。 大的提速, 但是有痉挛的动作或有时糟糕的图像 (可用的跳略值请参见 skiploopfilter)。 -.IPs threads=<1\-8> +.IPs "threads=<1\-8>(仅用于MPEG-1/2)" 用于解码的线程数 (默认是: 1) .IPs vismv=<参数值> 可视化运动矢量。 @@ -5303,29 +5319,29 @@ FIXME:解释一下这个是干什么的。 . .TP .B noise[=luma[u][t|a][h][p]:chroma[u][t|a][h][p]] -添加噪点效果。 +添加噪声效果。 .PD 0 .RSs .IPs <0\-100> -亮度噪点 +亮度噪声 .IPs <0\-100> -色度噪点 +色度噪声 .IPs u -均匀噪点(否则就是高斯分布的) +均匀噪声(否则就是高斯分布的) .IPs t -瞬时噪点(噪点样式在不同帧上是不同的) +瞬时噪声(噪声样式在不同帧上是不同的) .IPs a -平均化瞬时噪点(更平滑,但相较而言渲染得很慢) +平均化瞬时噪声(更平滑,但相较而言渲染得很慢) .IPs h 高质量(稍显好看,渲染稍慢) .IPs p -具有(半)规则样式的混合随机噪点 +具有(半)规则样式的混合随机噪声 .RE .PD 1 . .TP .B denoise3d[=luma_spatial:chroma_spatial:luma_tmp:chroma_tmp] -该滤镜目标在于消除图像上的噪点,产生平滑的图像,并且使静态图像真正静止(这能提 +该滤镜目标在于消除图像上的噪声,产生平滑的图像,并且使静态图像真正静止(这能提 高可压缩性。)。 .PD 0 .RSs @@ -5456,7 +5472,7 @@ denoise3d滤镜的高精确/\:质量版本。 只适用于MEncoder。 softskip将编码中跳过(丢弃)帧的步骤从滤镜链之前移至滤镜链中的某个 位置。 -这使那些需要读取所有帧的滤镜(反电视图像模式、反瞬时噪点等等)能正 +这使那些需要读取所有帧的滤镜(反电视图像模式、反瞬时噪声等等)能正 常工作。 应被放置在那些需要读取所有帧的滤镜之后,而在这些滤镜后的任何大量消 耗CPU的滤镜之前。 @@ -5607,7 +5623,7 @@ Donald Graft的自适应内核级反隔行扫描滤镜。 滤镜。 其工作方式是锁定电视图像模式中的3:2画面特征,然后尽可能长地跟踪这个特 征。 -这使它适合完全电视图像模式化的来源,即使在有一定噪点的情况下亦是如此, +这使它适合完全电视图像模式化的来源,即使在有一定噪声的情况下亦是如此, 但不适用于复杂的后期电视图像模式的图像的编辑。 这个滤镜的开发已不再继续,因为ivtc、pullup、和filmdint在大多数应用中效 果更好。 @@ -5646,7 +5662,7 @@ Donald Graft的自适应内核级反隔行扫描滤镜。 实验性的‘无状态’逆转电视图像模式滤镜。 ivtc并不像detc滤镜那样尝试锁定一个特征,而是对于每一帧独立地决策。 这对于那些在应用电视图像模式后经历较多编辑的来源相对而言具有很好的效 -果,但相应地它相对不能容忍有噪点的输入,比如电视上捕捉来的视频。 +果,但相应地它相对不能容忍有噪声的输入,比如电视上捕捉来的视频。 可选参数(ivtc=1)对应于detc滤镜的dr=1选项,并且应当用于MEncoder中而不 能用于MPlayer。 与detc一样,你必须在使用MEncoder时指定正确的输出帧率 @@ -5680,7 +5696,7 @@ ivtc更稳定。 这个选项可以设置成1或2以使用色度平面而不是亮度平 面来进行pullup的计算。 这能提高处理清晰来源时的精确度,但更可能的是降低精确度,尤其是存在 -色度噪点(彩虹效应)或灰度视频的场合。 +色度噪声(彩虹效应)或灰度视频的场合。 将mp设置成色度平面的主要目的是降低CPU负荷,并使pullup在慢速机器上可用。 .REss .RS @@ -5741,7 +5757,7 @@ n值较大时能提高滤镜的运行速度但牺牲了精确性。 断,这样做会增加将垂直方向上细节很多的图像误测为隔行扫描内容的可能性。 .IPs verbose= 如果n是非零值,则打印出用于每个帧的具体测量标准。 -适用于程序除错。 +适用于程序调试。 .IPs dint_thres= 解除隔行扫描的阈值。 用于解除未匹配任何特征的帧的隔行扫描结构的过程中。 @@ -6490,547 +6506,1340 @@ h参数值。 . . . -.SH "CODEC SPECIFIC ENCODING OPTIONS 特定编解码器使用的编码选项(仅用于MENCODER)" -您能使用下面的语法指定编解码器的编码参数: +.SH "特定编解码器专用的编码选项(仅用于MENCODER)" +你可以使用以下的句法指定特定编解码器专用的参数: . .TP -.B \-lameopts <选项1:选项2:...> -如果使用libmp3lame编码为MP3, 你可以由此设置它的参数. -.br -可用选项有: +.B \-opts . -.RSs -.IPs help -获得帮助 -.IPs vbr=<0\-4> +.PP +这里可以是:lavc、xvidenc、lame、toolame、twolame、nuv、xvfw、faac、 +x264enc、mpeg、lavf。 +. +. +.SS lame (\-lameopts) +. +.TP +.B "help\ \ \ " +获取帮助信息 +. +.TP +.B vbr=<0\-4> 可变比特率方式 -.RSss -0: cbr -.br -1: mt -.br -2: rh (默认) -.br -3: abr -.br -4: mtrh -.REss -.IPs abr -平均比特率 -.IPs cbr -常比特率. -.br -也会在后继ABR预置模式中强制使用CBR模式 -.IPs br=<0\-1024> -以kBit为单位设置比特率(仅用于CBR和ABR) -.IPs q=<0\-9> -质量(0-最高, 9-最低) (仅用于VBR) -.IPs aq=<0\-9> -算法质量(0\-最好/\:最慢, 9\-最差/\:最快) -.IPs ratio=<1\-100> -压缩率 -.IPs vol=<0\-10> -设置音频输入增益 -.IPs mode=<0\-3> -(默认值: 自动) -.RSss -0: 立体声 -.br -1: 联合立体声 -.br -2: 双声道 -.br -3: 单声道 -.REss -.IPs padding=<0\-2> -.RSss -0: 无 -.br -1: 所有 -.br -2: 调整 -.REss -.IPs fast -启用更快的后继VBR预置编码模式, 质量稍低而比特率提高. -.IPs preset=<参数> -预设参数 -.RSss -medium: VBR编码, 质量好, 150\-180 kbps的比特率范围. -.br -standard: VBR编码, 质量高, 170\-210 kbps的比特率范围. -.br -extreme: VBR编码, 质量非常高, 200\-240 kbps的比特率范围. -.br -insane: CBR编码, 质量最高, 320 的比特率范围. -.br -<8-320>: 将所给参数作为平均比特率的ABR编码. -.br -.REss -.RE - -.I 示例: .PD 0 .RSs -.IPs "\-lameopts fast:preset=standard" -用于大多数人和大多数音乐, 质量已经相当高了. -.IPs "\-lameopts cbr:preset=192" -用指定的192 kbps常比特率的ABR预置模式编码. -.IPs "\-lameopts preset=172" -用172 kbps平均比特率的ABR预置模式编码. -.IPs "\-lameopts preset=extreme" -用于有绝好听力和同样好的配置的人. -.IPs "\-lameopts preset=help" -显示预置设置的附加选项等信息. +.IPs 0 +cbr +.IPs 1 +mt +.IPs 2 +rh(默认值) +.IPs 3 +abr +.IPs 4 +mtrh .RE .PD 1 . .TP -.B \-lavcopts <选项1:选项2:...> -如果使用libavcodec编码, 你可以由此设置它的参数. - -.I 示例: +.B "abr\ \ \ \ " +平均比特率 +. +.TP +.B "cbr\ \ \ \ " +恒定比特率 +同时强制在后面指定的ABR预设模式中使用CBR模式。 +. +.TP +.B br=<0\-1024> +以kbps计量的比特率(仅用于CBR和ABR) +. +.TP +.B q=<0\-9> +质量(0 \- 最好,9 \- 最差)(仅用于VBR) +. +.TP +.B aq=<0\-9> +算法质量(0 \- 最好/最慢,9 \- 最差/最快) +. +.TP +.B ratio=<1\-100> +压缩比 +. +.TP +.B vol=<0\-10> +音频输入的增益 +. +.TP +.B mode=<0\-3> +(默认方式:自动判断) .PD 0 .RSs -\-lavcopts vcodec=msmpeg4:vbitrate=1800:vhq:keyint=250 +.IPs 0 +立体声 +.IPs 1 +共享式立体声 +.IPs 2 +双声道 +.IPs 3 +单声道 .RE .PD 1 - +. +.TP +.B padding=<0\-2> +.PD 0 +.RSs +.IPs 0 +无填充 +.IPs 1 +所情况下均填充 +.IPs 2 +调整 +.RE +.PD 1 +. +.TP +.B "fast\ \ \ " +打开后面所指定的VBR预设模式中的较快编码方式。 +这将造成质量稍差而比特率稍高。 +. +.TP +.B highpassfreq= +设置高通过滤的频率值,单位为Hz。 +低于所指定值的频率将被滤除。 +值-1将禁用过滤,值0将让LAME自动选择一个值。 +. +.TP +.B lowpassfreq= +设置低通过滤的频率值,单位为Hz。 +高于所指定值的频率将被滤除。 +值-1将禁用过滤,值0将让LAME自动选择一个值。 +. +.TP +.B preset= +预设值 +.RSs +.IPs "help\ " +打印预设设置的其它选项与信息。 +.IPs medium +VBR编码,质量不错,比特率范围为150\-180 kbps +.IPs standard +VBR编码,高质量,比特率范围为170\-210 kbps +.IPs extreme +VBR编码,超高质量,比特率范围为200\-240 kbps +.IPs insane +CBR编码,最高的预设质量,比较率为320bps +.IPs <8\-320> +ABR编码,平均比特率为所给的kbps值 +.RE +.sp 1 .RS -可用选项有: +.I 示例: +.RE +.PD 0 +.RSs +.IPs fast:preset=standard +适用大多数人以大多数音乐类型,质量已经相当高了 +.IPs cbr:preset=192 +使用192kbps的ABR预设模式,强制使用固定比特率编码。 +.IPs preset=172 +使用ABR预设模式、172kbps的平均比特率编码。 +.IPs preset=extreme +用于那些有极好听力和极好设备的人 +.RE +.PD 1 +. +. +.SS toolame和twolame(分别对应\-toolameopts和\-twolameopts) +. +.TP +.B br=<32\-384> +在CBR模式下该参数指明比特率值,单位为kbps,而在VBR模式下则是每个音频帧所允许的最 +小比特率。VBR模式不能在该值低于112时工作。 +. +.TP +.B vbr=<-50\-50>(仅用于VBR) +比特率可变范围;如果为负值,则编码器使平均比特率向所限制最低值靠拢,如果为正值, +则向最高值靠拢。 +设为0时使用CBR模式(默认值)。 +. +.TP +.B maxvbr=<32\-384>(仅用于VBR) +每个音频帧所允许的最大比特率,单位为kbps +. +.TP +.B mode= +(默认值:单声道音频使用mono,否则为stereo) +. +.TP +.B psy=<-1\-4> +心理声学模型(默认值:2) +. +.TP +.B errprot=<0 | 1> +使用错误保护功能。 +. +.TP +.B debug=<0\-10> +调试等级 +.RE +.PD 1 +. +. +.SS faac(\-faacopts) +. +.TP +.B br= +平均比特率,单位为kbps(与quality选项不能同时使用) +. +.TP +.B quality=<1\-1000> +质量模式,值越高效果越好(与br选项不能同时使用) +. +.TP +.B object=<1\-4> +目标类型的复杂度 +.PD 0 +.RSs +.IPs 1 +MAIN(默认值) +.IPs 2 +LOW +.IPs 3 +SSR +.IPs 4 +LTP(运行极慢) +.RE +.PD 1 +. +.TP +.B mpeg=<2|4> +MPEG版本(默认值:4) +. +.TP +.B "tns\ \ \ \ " +启用瞬时噪声整形(TNS)功能。 +. +.TP +.B cutoff=<0\-采样频率/2> +截断频率(默认值:采样频率/2) +. +.TP +.B "raw\ \ \ \ " +将比特流保存为原始负载,而额外的数据保存在容器文件的头部中(默认值:0,与ADTS相 +一致)。如果没有明确的需要就不要设置这个标志位,否则你以后将不能重新将音频流合并 +进容器文件了。 +.RE +.PD 1 +. +. +.SS lavc(\-lavcopts) +. +有许多libavcodec(简称lavc)选项只是简要说明。 +要了解详情请阅读源代码。 +.PP +.I 示例: +.PD 0 +.RSs +.IPs vcodec=msmpeg4:vbitrate=1800:vhq:keyint=250 +.RE +.PD 1 +. +.TP +.B acodec= +音频编解码器(默认值:mp2) +.PD 0 +.RSs +.IPs "mp2\ \ " +MPEG Layer 2 +.IPs "mp3\ \ " +MPEG Layer 3 +.IPs "ac3\ \ " +AC3 +.IPs adpcm_ima_wav +IMA自适应PCM(每个采样占用4比特,4:1的压缩率) +.IPs "sonic\ " +试验性的有损/无损编解码器 +.RE +.PD 1 +. +.TP +.B abitrate= +音频比特率,单位为kbps(默认值:224) +. +.TP +.B atag= +使用所指定的Windows音频格式标签(例如atag=0x55)。 +. +.TP +.B bit_exact +只使用精确到比特的算法(除了(I)DCT)。 +此外,精确到比特的方式禁用了许多的优化模式,因而应当只用于回归测试。这种测试要求 +即使编码器的版本变了,文件的二进制内容也要相同。 +该选项同时禁用MPEG-4流中的用户数据头。 +除非你确切知道你要做什么,否则不要使用这个选项。 +. +.TP +.B threads=<1\-8> +最大能使用的线程数(默认值:1)。 +可能对运动预测有一定负面影响。 .RE . +.TP +.B vcodec= +使用所指定的编解码器(默认值:mpeg4)。 +.PD 0 .RSs -.IPs vcodec=<参数> -设置使用的编解码器(没有默认值, 你必须设置它): -.RSss -mjpeg: Motion JPEG +.IPs mjpeg +动态JPEG +.IPs ljpeg +无损JPEG +.IPs "h261\ " +H.261 +.IPs "h263\ " +H.263 +.IPs h263p +H.263+ +.IPs mpeg4 +MPEG-4(DivX 4/5) +.IPs msmpeg4 +DivX 3 +.IPs msmpeg4v2 +微软MPEG4v2 +.IPs "wmv1\ " +Windows媒体视频,版本1(也就是WMV7) +.IPs "wmv2\ " +Windows媒体视频,版本2(也就是WMV8) +.IPs "rv10\ " +一个老旧的RealVideo编解码器 +.IPs mpeg1video +MPEG-1视频 +.IPs mpeg2video +MPEG-2视频 +.IPs huffyuv +HuffYUV +.IPs ffvhuff +使用YV12格式的非标准压缩率提升20%的HuffYUV +.IPs "asv1\ " +华硕视频v1 +.IPs "asv2\ " +华硕视频v2 +.IPs "ffv1\ " +FFmpeg的无损视频编解码器 +.IPs "flv\ \ " +用于Flash视频的Sorenson H.263 +.IPs dvvideo +Sony数字视频 +.IPs "svq1\ " +苹果Sorenson视频1 +.IPs "snow(另参见:vstrict)" +FFmpeg实验性的基于小波变换的编解码器 +.RE +.PD 1 +. +.TP +.B vqmin=<1\-31> +最低量化参数(第1/2阶段编码) +.RSs +.IPs 1 +不推荐(文件大很多,质量差别不大,而且有奇怪的副作用:msmpeg4、h263的质量会很差, +码率控制会混乱从而质量下升,而且一些解码器将不能解码)。 +.IPs 2 +推荐用于普通mpeg4/\:mpeg1video编码(默认值)。 +.IPs 3 +推荐用于h263(p)/\:msmpeg4。 +建议采用3而不是2的原因是2可能造成溢出。(这在h263(p)中会在将来通过改变每个宏块的 +量化参数而解决,而msmpeg4中无法修复,因为它不支持那种方式。) +.RE +. +.TP +.B lmin=<0.01\-255.0> +用于码率控制的最小帧级别的拉格朗日乘子(默认值:2.0)。 +Lavc很少会使用低于vqmin值的量化参数。 +降低lmin会使lavc更容易在处理某些帧选用更低的量化参数,但不会低于vqmin值。 +类似的,提高lmin将使lavc更不可能选用低的量化参数,即使vqmin参数允许使用这些量化 +参数。 +你很可能想将lmin设为大致与vqmin相等。 +当使用自适应量化模式时,改变lmin/lmax可能影响不大;参见mblmin/mblmax。 +.RE +. +.TP +.B lmax=<0.01\-255.0> +用于码率控制的最大拉格朗日乘子(默认值:31.0) +.RE +. +.TP +.B mblmin=<0.01\-255.0> +用于码率控制的最小宏块级别的拉格朗日乘子(默认值:2.0) +该参数影响诸如qprd、lumi_mask等自适应量化选项。 +.RE +. +.TP +.B mblmax=<0.01\-255.0> +用于码率控制的最大宏块级别的拉格朗日乘子(默认值:31.0) +.RE +. +.TP +.B vqscale=<0\-31> +恒定量化参数/\:恒定质量编码(选用固定量化参数模式)。 +值越小意味着质量越好,但文件越大(默认值:-1)。 +在使用snow编解码器的情况下,值0表示无损编码。 +由于其它编解码器不支持这个值,vqscale=0会有未经定义的效果。 +不推荐用1(参见vqmin获取详情)。 +. +.TP +.B vqmax=<1\-31> +最大量化参数(第1/2阶段编码),10\-31应该是一个合理的范围(默认值:31)。 +. +.TP +.B mbqmin=<1\-31> +过时参数,应使用vqmin +. +.TP +.B mbqmax=<1\-31> +过时参数,应使用vqmax +. +.TP +.B vqdiff=<1\-31> +连续的I或P帧之间最大的量化参数差别(第1/2阶段编码)(默认值:3) +. +.TP +.B vmax_b_frames=<0\-4> +非B帧之间存在的最大B帧数目: +.PD 0 +.RSs +.IPs 0 +无B帧(默认值) +.IPs 0\-2 +对于MPEG-4来说是合理的范围 +.RE +.PD 1 +. +.TP +.B vme=<0\-5> +运动预测方式。 +可用方式有: +.PD 0 +.RSs +.IPs 0 +none(质量很低) +.IPs 1 +full(运行慢,当前代码未维护且已禁用) +.IPs 2 +log(质量低,当前代码未维护且已禁用) +.IPs 3 +phods(质量低,当前代码未维护且已禁用) +.IPs 4 +EPZS:size=1的菱形模板,size可以通过*dia选项调整(默认值) +.IPs 5 +X1(实验性选项,当前是EPZS的一个别名) +.IPs 8 +iter(递归重叠的区块,仅用于snow) +.RE +.PD 1 +.sp 1 +.RS .br -h263: H263 +.I 注意: +目前0\-3无视所花费比特的多少,所以质量可能比较低。 +.RE +. +.TP +.B me_range=<0\-9999> +运动预测的搜索范围(默认值:0(不限制)) +. +.TP +.B mbd=<0\-2>(另参见*cmp、qpel) +宏块决策算法(高质量模式),将每个宏块在所有的模式下编码然后选择最佳的模式。 +该模式运行很慢,但能使质量提高,文件大小降低。 +当mbd设为1或2时,比较宏块过程中将不考虑mbcmp的值。 +然而当某个比较设置(precmp、subcmp、cmp或mbcmp)为非零值时,将会使用一种更慢但更 +好的半像素运动搜索模式,而不管mbd设为何值。 +如果设置了qpel参数,则将肯定使用四分之一像素运动搜索模式。 +.PD 0 +.RSs +.IPs 0 +使用mbcmp提供的比较函数(默认方式)。 +.IPs 1 +选用需要比特最少的宏块模式(=vhq)。 +.IPs 2 +选用码率失真最优的宏块模式。 +.RE +.PD 1 +. +.TP +.B "vhq\ \ \ \ " +与mbd=1相同,出于兼容性考虑而保留了下来。 +. +.TP +.B "v4mv\ \ \ " +允许每个宏块有4个运动矢量(质量较好些)。 +如果在mbd>0时使用效果更好。 +. +.TP +.B "obmc\ \ \ " +重叠块的运动补偿(H.263+) +. +.TP +.B "loop\ \ \ " +遁环过滤(H.263+) +注意,该选项有问题 +. +.TP +.B inter_threshold <-1000\-1000> +当前没有任何作用。 +. +.TP +.B keyint=<0\-300> +关键帧的最大间隔,单位为帧数(默认值:250或者说25fps的影片中每10秒一个关键帧。这 +个数值是MPEG-4中推荐使用的默认值)。 +大多数编解码器需要定期使用关键帧以限制不匹配错误聚积过多。 +关键帧也在播放定位时需要,因为只能定位于关键帧——但关键帧比其它帧需要更多空间, +所以这里的数值设得越大意味着文件越小,但定位越不精确。 +0与1相同,这将使每个帧都成为关键帧。 +不推荐大于300的值,因为质量可能很差,这取决于解码器、编码器和运气。 +通常MPEG-1/2使用小于等于30的值。 +. +.TP +.B sc_threshold=<-1000000000\-1000000000> +用于场景切换侦测的阈值。 +当libavcodec侦测到场景切换时,它将插入一个关键帧。你可以通过这个选项指定侦测模式 +的敏感度。 +-1000000000表示每个帧下都会侦测出一个场景切换,1000000000表示侦测不出任何场景切 +换(默认值:0)。 +. +.TP +.B sc_factor= +导致使用较高量化参数的帧更容易引发场景切换的侦测,从而使libavcodec使用一个I帧 +(默认值:1)。 +1\-16是一个合理的范围。 +2至6之间的值能提高峰值信噪比(PSNR)(最高大约为0.04dB)并且让I帧在高动态场景中 +放置于更合适的位置 +高于6的值可能提高一点点PSNR(大约比sc_factor=6多0.01dB),而视觉质量下降却相当可 +观。 +. +.TP +.B vb_strategy=<0\-2>(只用于第一阶段编码) +选用I/P/B帧的策略: +.PD 0 +.RSs +.IPs 0 +总是使用最多的B帧(默认值)。 +.IPs 1 +在高动态场景中避免使用B帧。 +参观b_sensitivity选项以调试这一策略。 +.IPs 2 +调整使用B帧的个数以使质量最好(运行缓慢)。 +你可以要通过调整brd_scale选项以减少该选项对于运行速度的负面作用。 +.RE +.PD 1 +. +.TP +.B b_sensitivity=<任何大于0的整数> +调整vb_strategy=1时运动侦测的敏感程度从而避免使用B帧(默认值:40)。 +敏感程度越低将导致越多的B帧。 +使用更多的B帧通常能提升峰值信噪比,但太多的B帧可能导致在高动态场景中质量下降。 +除非运动程度极其高,否则b_sensitivity设为低于默认的值是很安全的;10在大多数情况 +下是一个理想的值。 +. +.TP +.B brd_scale=<0\-10> +减小动态B帧决策中帧的尺寸(默认值:0)。 +brd_scale每增加一,帧的宽高将减小一半,这样就使运行速度提升至四倍。 +尺寸减小后帧的宽和高都必须是偶数,所以brd_scale=1要求原来的宽高尺寸是四的倍数, +brd_scale=2要求原来的宽高尺寸是八的倍数,依次类推。 +换句话说,原来帧的宽高尺寸都必须能被2^(brd_scale+1)整除。 +. +.TP +.B bidir_refine=<0\-4> +优化用于双向宏块的两个运动矢量,而不是重复使用向前和向后搜索所找到的矢量。 +该选项只对B帧有效。 +.PD 0 +.RSs +.IPs 0 +禁用(默认值)。 +.IPs 1\-4 +使用更广泛的搜索模式(值越大运行越慢)。 +.RE +.PD 1 +. +.TP +.B vpass=<1\-3> +启用内置的二阶段(或更多阶段)编码模式,只有当你想使用二阶段(或更多阶段)编码模 +式时才指定这个值。 +.PD 0 +.RSs +.IPs 1 +第一阶段编码(另参见turbo) +.IPs 2 +第二阶段编码 +.IPs 3 +第N阶段编码(N阶段编码模式中第二阶段以及之后各阶段的编码) +.RE +.RS +以下展示了其如何工作,以及如何使用: .br -h263p: H263 Plus +第一阶段编码(vpass=1)输出统计文件。 +你可能希望关闭一些大量消耗CPU的选项,就像“turbo”模式所做的那样。 .br -mpeg4: DivX 4/\:5 +在二阶段编码模式中,第二阶段(vpass=2)读取统计文件的内容并依据该内容作出码率控 +制的决策。 .br -msmpeg4: DivX 3 +在N阶段模式中,第二阶段(vpass=3——这不是本文档的印刷错误)同时做两件事:首先读 +取统计信息,然后重写这些信息。如果存在不得不终断MEncoder的可能,那么你可能希望在 +做这一步前备份divx2pass.log。 +你可以使用所有的编码选项,除非是非常消耗CPU的选项如“qns”。 .br -msmpeg4v2: MS MPEG4v2 +你可以反复执行与此相同的编码阶段以优化编码。 +每个紧接着的编码阶段将使用上一个阶段的统计信息并进一步优化。 +最后一个编码阶段可以包含任意大量消耗CPU的编码选项。 .br -wmv1: Windows Media Video 7 +如果你想用二阶段编码模式,那么先使用vpass=1,然后再用vpass=2。 .br -wmv2: Windows Media Video 8 +如果你想用三阶段或更多阶段的编码模式,那么在第一阶段使用vpass=1,接着用vpass=3, +接着不断用vpass=3直至你对编码结果满意了。 +.RE +.PD 1 +.sp 1 +.RS +huffyuv: +.RE +.PD 0 +.RSs +.IPs "第一阶段" +保存统计信息。 +.IPs "第二阶段" +使用基于第一阶段统计信息的最优哈夫曼表编码。 +.RE +.PD 1 +. +.TP +.B turbo(仅用于二阶段编码) +使用更快的算法并禁用大量占用CPU的选项以使第一阶段编码的运行大幅加快。 +该选项可能稍稍降低全局峰值信噪比(大约为0.01dB)并且改变单个帧的类型以及稍稍改变 +该帧的峰值信噪比(最多至0.03dB)。 +. +.TP +.B aspect= +在文件内部保存影片的宽高比,就像MPEG文件一样。 +比使用缩放功能效果好多了,因为质量不下降。 +只有MPlayer能正确播放这些文件,其它播放器会以错误的宽高比显示。 +宽高比参数可以以比率或浮点数字的形式给出。 +.sp 1 +.RS +.I 示例: +.RE +.RSs +.PD 0 +.IPs "aspect=16/9或aspect=1.78" +.PD 1 +.RE +. +.TP +.B autoaspect +与aspect选项相同,但是通过综合考量滤镜链上的各种调整(crop/\:expand/\:scale/\:等 +等)自动计算宽高比。 +不会对性能产生负面影响,所以你可以放心地让该选项保持为打开的状态。 +. +.TP +.B vbitrate= +指定比特率(第1/2阶段编码)(默认值:800)。 .br -rv10: 一个老的RealVideo编解码器 +.I 警告: +1kbit = 1000 bits +.PD 0 +.RSs +.IPs 4\-16000 +(单位为kbit) +.IPs 16001\-24000000 +(单位为bit) +.RE +.PD 1 +. +.TP +.B vratetol= +文件大小控制中允许出入的数量,单位为kbit。 +1000\-100000是一个合理的范围。 +(警告:1kbit = 1000 bits) +(默认值:8000) .br -mpeg1video: MPEG1视频:) -.br -huffyuv: HuffYUV -.REss -.IPs vqmin=<1\-31> -最小量化值(pass\ 1/\:2) -.RSss -1: 不推荐(文件大很多, 质量没什么区别而且奇怪的副作用: msmpeg4, -h263质量很低, 拒绝速率控制结果质量更低而且有些解码器不能解码). -.br -2: 推荐用于一般的mpeg4/mpeg1视频编码(默认值). -.br -3: 推荐用于h263(p)/msmpeg4. 选择3而不是2的理由是2会导致溢出, -(对于h263(p)将来可以通过改变每MB的量化值来修正, -msmpeg4没法修正因为它不支持这个) -.REss -.IPs vqscale=<1\-31> -常量化值/\:常质量编码(选择固定量化值模式). -较低值表示更好的质量但更大的文件(默认值: 0(禁用)). -不推荐使用1(细节参见\-vqmin). -.IPs vqmax=<1\-31> -最大量化值(pass\ 1/\:2), 10\-31的范围比较合理(默认值: 31) -.IPs mbqmin=<1\-31> -最小宏块量化值(pass\ 1/\:2)(默认值: 2) -.IPs mbqmax=<1\-31> -最大宏块量化值(pass\ 1/\:2)(默认值: 31) -.IPs vqdiff=<1\-31> -I或P帧的最大量化差值(pass\ 1/\:2)(默认值: 3) -.IPs vmax_b_frames=<0\-4> -非B帧之间的最大B帧数: -.RSss -0: 无B帧(默认值) -.br -0\-2: MPEG4的合理范围 -.REss -.IPs vme=<0\-5> -运动判断模式: -.RSss -0: none(非常低的质量) -.br -1: full(很慢) -.br -2: log(低质量) -.br -3: phods(低质量) -.br -4: EPZS(默认) -.br -5: X1(试验) -注意: 0\-3忽略Bits消耗量, 所以质量可能降低. -.REss -.IPs vhq -高质量模式, 把每个宏块用所有模式编码并选择其中最好的. -这很慢但得到的文件质量和文件大小都更好.(默认值: 禁用) -.IPs v4mv -允许没有宏块4个运动矢量(质量略有提高).(默认值: 禁用) -.IPs keyint=<0\-300> -关键帧的最大间距, 以帧为单位. 搜索需要关键帧因为只有关键帧可以被搜索, -但是关键帧比其它帧需要更多空间. 所以较大的参数产生较少的文件, -但搜索不够精确, 0表示没有关键帧. -不推荐大于300的参数因为效果可能不好, 取决于解码器, 编码器和运气. -如果要严格遵循的MPEG1/\:2/\:4这个值应该小于等于132. -(默认值: 250或在25fps的电影中每10秒一个关键帧) -.IPs vb_strategy=<0\-1> -选择I/\:P/\:B帧的策略(pass\ 2): -.RSss -0: 总使用最大数量的B帧(默认值) -.br -1: 在高速运动的场景中避免B帧(将导致比特率误测) -.REss -.IPs vpass=<1\-2> -激活内部2 pass模式, 只有当你希望使用2 pass编码时使用(默认值: 禁用). -.RSss -1: 第一次pass -.br -2: 第二次pass -.REss -.IPs -技巧: 对1 pass尝试使用常量化值模式(vqscale=<量化值>). -.br -huffyuv: -.RSss -pass 1保存统计信息 -.br -pass 2使用基于pass 1统计的优化霍夫曼表编码. -.REss -.IPs aspect= -内部保存电影长宽比, 像MPEG文件一样. -比重新缩放效果好的多, 因为质量没有损失. -只有MPlayer可以正确播放这些文件, 其它播放器会显示错误的长宽比. -aspect的参数可以以分数或浮点数形式给出. -示例: -.RSss -aspect=16/9, aspect=1.78 -.REss -.IPs vbitrate=<参数> -设置比特率(pass\ 1/\:2)以 -.RSss -kBit<4\-16000>或者 -.br -Bit<16001\-24000000> -.br -(警告: 1kBit = 1000 Bits) -.br -(默认值: 800) -.REss -.IPs vratetol=<参数> -以kBit为单位的可容忍的近似文件大小. 1000\-100000是比较合理的范围. -(警告: 1kBit = 1000 Bits) -(默认值: 8000) -.IPs vrc_maxrate=<参数> -最大比特率, 以kbit/\:sec为单位(pass\ 1/\:2) -.IPs vrc_minrate=<参数> -最小比特率, 以kbit/\:sec为单位(pass\ 1/\:2) -.IPs vrc_buf_size=<参数> -缓冲大小, 以kbit为单位(pass\ 1/\:2). -注意: vratetol在第二次pass的时候不能太大否则使用vrc_(min|max)rate会有问题. -.IPs vb_qfactor=<-31.0\-31.0> -B帧和非B帧之间的量化因子(pass\ 1/\:2)(默认值: 1.25) -.IPs vi_qfactor=<-31.0\-31.0> -(pass\ 1/\:2)(默认值: 0.8) -.IPs vb_qoffset=<-31.0\-31.0> -B帧和非B帧之间的量化偏移(pass\ 1/\:2)(默认值: 1.25) -.IPs vi_qoffset=<-31.0\-31.0> -(pass\ 1/\:2)(默认值: 0.0) +.I 注意: +vratetol在第二阶段编码中不应设得太大,否则当设置了vrc_(min|max)rate时,可能会产 +生问题。 +. +.TP +.B vrc_maxrate= +最大比特率,单位为kbit/\:sec(第1/2阶段编码) +(默认值:0,无限制) +. +.TP +.B vrc_minrate= +最小比特率,单位为kbit/\:sec(第1/2阶段编码) +(默认值:0,无限制) +. +.TP +.B vrc_buf_size= +缓冲大小,单位为kbit(第1/2阶段编码)。 +在MPEG-1/2中该选项同时设置了vbv缓冲的大小,对于VCD请使用327,对于SVCD使用917,而 +DVD使用1835。 +. +.TP +.B vrc_buf_aggressivity +当前没有什么作用 +. +.TP +.B vrc_strategy +码率控制方式。 +注意当vrc_strategy不设为0时,一些影响码率控制的选项将不起任何作用。 +.PD 0 +.RSs +.IPs 0 +使用内置的lavc码率控制方式(默认值)。 +.IPs 1 +使用Xvid的码率控制方式(仅供测试用;要求MEncoder编译时加入对Xvid 1.1或更高版本的 +支持)。 +.RE +.PD 1 +. +.TP +.B vb_qfactor=<-31.0\-31.0> +B帧和非B帧间的量化参数因数(第1/2阶段编码)(默认值1.25) +. +.TP +.B vi_qfactor=<-31.0\-31.0> +I帧和非I帧间的量化参数因数(第1/2阶段编码)(默认值0.8) +. +.TP +.B vb_qoffset=<-31.0\-31.0> +B帧和非B帧间的量化参数偏移量(第1/2阶段编码)(默认值1.25) +. +.TP +.B vi_qoffset=<-31.0\-31.0> +(第1/2阶段编码)(默认值0.0) .br 如果v{b|i}_qfactor > 0 .br -I/\:B帧量化值 = P帧量化值 * v{b|i}_qfactor + v{b|i}_qoffset +I/B帧量化参数 = P帧量化参数 * v{b|i}_qfactor + v{b|i}_qoffset .br 否则 .br -进行正常的流控制(不固定于下一个P帧的量化值), -设置q= -q * v{b|i}_qfactor + v{b|i}_qoffset -.IPs -技巧: 对I/P和B帧使用不同的量化值的常量化编码可以使用: -vqmin=:vqmax=:vb_qfactor= -.IPs vqblur=<0.0\-1.0> -量化模糊(pass\ 1), 值越大量化对时间平均越大(变化缓慢). -.RSss -0.0: 禁用qblur +使用常规的码率控制方式(不限定于下一个P帧的量化参数)而设置 +q= -q * v{b|i}_qfactor + v{b|i}_qoffset .br -0.5 (默认值) -.br -1.0: 对所有以前帧量化值平均 -.REss -.IPs vqblur=<0.0\-99.0> -量化高斯模糊(pass\ 2), 值越大量化对时间平均越大(变化缓慢)(默认值: 0.5) -.IPs vqcomp=<参数> -量化压缩, 取决于vrc_eq(pass\ 1/\:2)(默认值: 0.5) -.IPs vrc_eq=<方程> -速率控制主方程(pass\ 1/\:2): - -1: 常比特率 -.br -tex: 常质量 -.br -1+(tex/\:avgTex-1)*qComp: 老速率控制的近似方程 -code -.br -tex^qComp: 使用qcomp 0.5或类似的东西(默认值) - -插入算符: +,-,*,/,^ - -变量: -.br -tex: 材质复杂度 -.br -iTex,pTex: 内部, 非内部的材质复杂度 -.br -avgTex: 平均材质复杂度 -.br -avgIITex: I帧的平均内部复制度 -.br -avgPITex: P帧的平均内部复制度 -.br -avgPPTex: P帧的平均非内部复制度 -.br -avgBPTex: B帧的平均非内部复制度 -.br -mv: 用于运动矢量的比特值 -.br -fCode: 以log2为标度运动矢量的最大长度 -.br -iCount: 内部宏块数/\:宏块数 -.br -var: 空间复杂度 -.br -mcVar: 时间复杂度 -.br -qComp: 从命令行读取的qcomp -.br -isI, isP, isB: 如果帧是I/\:P/\:B帧为1, 否则为0 -.br -Pi,E: 看你最喜欢的数学书 - -functions: -.br -max(a,b),min(a,b): 最大值/\:最小值 -.br -gt(a,b): 如果a>b为1, 否则为0 -.br -lt(a,b): 如果a:lmax= :vb_qfactor= 。 . -.IPs vrc_override=<选项> -设置特定部分的质量(结尾, 致谢, ..)(pass\ 1/\:2). -选项格式为<开始帧>, <结束帧>, <质量>[/\:<开始帧>, -<结束帧>, <质量>[/...]]: -.RSss -quality 2\-31: 量化值 +.TP +.B vqblur=<0.0\-1.0>(第一阶段编码) +量化参数模糊系数(默认值:0.5),值越大将使量化参数在时间上分布得越平均(变化得 +越慢)。 +.PD 0 +.RSs +.IPs 0.0 +禁用量化参数模糊功能。 +.IPs 1.0 +使量化参数在所有先前出现的帧中平均化。 +.RE +.PD 1 +. +.TP +.B vqblur=<0.0\-99.0>(第二阶段编码) +量化参数高斯模糊(默认值:0.5),值越大将使量化参数在时间上分布得越平均(变化得 +越慢)。 +. +.TP +.B vqcomp=<0.0\-1.0> +量化参数压缩,vrc_eq选项依赖于该选项(第1/2阶段编码)(默认值:0.5)。 +例如,假设使用了默认的码率控制方程式,如果vqcomp=1.0,那么码率控制过程中将分配给 +每个帧足够的比特数,以使它们在同一个量化参数下编码。 +如果vqcomp=0.0,那么码率控制中将分配给每个帧相同的比特数,也就是严格的CBR模式。 +.I 注意: +以上都是极端性的设置,应当从不使用。 +在这两个极端值之间的某个值能使感观质量达到最优。 +. +.TP +.B vrc_eq= +主码率控制方程式(第1/2阶段编码) +.RE +.RSs +.IPs "1\ \ \ \ " +恒定比特率 +.IPs "tex\ \ " +恒定质量 +.IPs 1+(tex/\:avgTex-1)*qComp +近似于以前码率控制代码所用的方程式 +.IPs tex^qComp +式中qcomp为0.5或某个类似设置(默认值) +.RE +.PP +.RS +中置运算符: +.RE +.RSs +.IPs +,-,*,/,^ +.RE +.PP +.RS +变量: +.RE +.RSs +.IPs "tex\ \ " +纹理复杂度 +.IPs iTex,pTex +内部、非内部纹理复杂度 +.IPs avgTex +平均纹理复杂度 +.IPs avgIITex +I帧中的平均内部纹理复杂度 +.IPs avgPITex +P帧中的平均内部纹理复杂度 +.IPs avgPPTex +P帧中的平均非内部纹理复杂度 +.IPs avgBPTex +B帧中的平均非内部纹理复杂度 +.IPs "mv\ \ \ " +用于运动矢量的比特数 +.IPs fCode +以log2对数值计量的最大运动矢量长度 +.IPs iCount +内部宏块数/宏块数 +.IPs "var\ \ " +空间复杂度 +.IPs mcVar +时间复杂度 +.IPs qComp +命令行输入的qcomp值 +.IPs "isI, isP, isB" +若图像类型为I/P/B则为1,否则为0。 +.IPs "Pi,E\ " +参见你最喜欢的数学书。 +.RE +.PP +.RS +函数: +.RE +.RSs +.IPs max(a,b),min(a,b) +最大值/最小值 +.IPs gt(a,b) +若a>b则为1,否则为0 +.IPs lt(a,b) +若a +用户指定的针于影片特定部分(尾声、演职员表……)的质量值(第1/2阶段编码)。 +选项有[/, +, [/...]]: +.PD 0 +.RSs +.IPs "quality (2\-31)" +量化参数 +.IPs "quality (-500\-0)" +质量修正的百分比程度 +.RE +.PD 1 +. +.TP +.B vrc_init_cplx=<0\-1000> +初始复杂度(第一阶段编码) +. +.TP +.B vrc_init_occupancy=<0.0\-1.0> +初始缓冲占用量,为vrc_buf_size值的一个分数(默认值:0.9) +. +.TP +.B vqsquish=<0|1> +指定如何使量化参数保持在qmin和qmax之间(第1/2阶段编码)。 +.PD 0 +.RSs +.IPs 0 +使用截断方式。 +.IPs 1 +使用一种不错的微分函数(默认值)。 +.RE +.PD 1 +. +.TP +.B vlelim=<-1000\-1000> +设置亮度的单一系数消减阈值。 +设为负数值则将同时考量直流系数(在以quant=1编码时应当至少设为-4或更低): +.PD 0 +.RSs +.IPs 0 +禁用(默认值) +.IPs -4 +JVT推荐值 +.RE +.PD 1 +. +.TP +.B vcelim=<-1000\-1000> +设置色度的单一系数消减阈值。 +设为负数值则将同时考量直流系数(在以quant=1编码时应当至少设为-4或更低): +.PD 0 +.RSs +.IPs 0 +禁用(默认值) +.IPs 7 +JVT推荐值 +.RE +.PD 1 +. +.TP +.B vstrict=<-2|-1|0|1> +严格符合编码标准 +.PD 0 +.RSs +.IPs 0 +禁用 +.IPs 1 +只有当你想让MPEG-4标准解码器读取编码输出结果时才推荐使用 +.IPs -1 +允许使用libavcodec专用的扩展功能(默认值)。 +.IPs -2 +启用实验性的编解码器和功能,这些可能在将来版本的MPlayer中无法播放(用于snow)。 +.RE +.PD 1 +. +.TP +.B "vdpart\ " +数据分隔。 +每个视频数据包增加2字节内容,从而改善在不可靠信道上传输时(例如,在因特网上传输 +流媒体)的容错能力。 +每个视频数据包将编码为3个独立的部分: +.PD 0 +.RSs +.IPs "1. MVs" +运动信息 +.IPs "2. DC coefficients(直流系数)" +低分辨率画面 +.IPs "3. AC coefficients(交流系数)" +细节 +.RE +.PD 1 +.RS +MV和DC最为重要,丢失这两个部分似乎远比丢失AC部分和1. & 2.部分严重得多。 +(MV & DC)远比3.部分(AC)小得多,这意味着传输错误更多出现在AC部分而不是MV & DC部 +分。 +所以,画面在数据分割后将比未分割时看上去更好,因为未分割时传输错误将同等地损坏 +AC/\:DC/\:MV三个部分。 +.RE +. +.TP +.B vpsize=<0\-10000>(另参见vbpart) +视频数据包的大小,用于改善容错能力。 +.PD 0 +.RSs +.IPs "0\ \ \ \ " +禁用(默认值) +.IPs 100\-1000 +较好的选择 +.RE +.PD 1 +. +.TP +.B "ss\ \ \ \ \ " +用于H.263+的分片结构模式 +. +.TP +.B "gray\ \ \ " +仅灰度的编码(较快) +. +.TP +.B vfdct=<0\-10> +DCT算法 +.PD 0 +.RSs +.IPs 0 +自动选用一个良好的算法(默认值)。 +.IPs 1 +快速整数式 +.IPs 2 +精确整数式 +.IPs 3 +MMX +.IPs 4 +mlib +.IPs 5 +AltiVec +.IPs 6 +浮点AAN +.RE +.PD 1 +. +.TP +.B idct=<0\-99> +IDCT算法 .br -quality \-500\-0: 质量修正百分比 -.REss -.IPs vrc_init_cplx=<0\-1000> -初始复杂度(pass\ 1) -.IPs vqsquish=<0,1> -设置如何在qmin和qmax之间保持量化值(pass\ 1/\:2): -.RSss -0: 使用削波 +.I 注意: +据我们所知,所有这些IDCT算法均通过IEEE1180测试。 +.PD 0 +.RSs +.IPs 0 +自动选用一个良好的算法(默认值)。 +.IPs 1 +JPEG标准整数式 +.IPs 2 +简单式 +.IPs 3 +简单MMX +.IPs 4 +libmpeg2mmx(不精确,不要用于keyint >100模式下的编码) +.IPs 5 +ps2 +.IPs 6 +mlib +.IPs 7 +arm +.IPs 8 +AltiVec +.IPs 9 +sh4 +.IPs 10 +simplearm +.IPs 11 +H.264 +.IPs 12 +VP3 +.IPs 13 +IPP +.IPs 14 +xvidmmx +.IPs 15 +CAVS +.IPs 16 +simplearmv5te +.IPs 17 +simplearmv6 +.RE +.PD 1 +. +.TP +.B lumi_mask=<0.0\-1.0> +亮度屏蔽是一种‘心理感官性’的设置,一般认为其所利用的事实是人眼倾向于在画面中很 +亮的部分里只注意到较少的细节。 +亮度屏蔽模式比中性的模式更大幅度地压缩明亮的区域,所以它能省下不少比特将其用于其 +它的帧中,从而提高整体的主观感官质量,但同时可能降低了峰值信噪比。 .br -1: 使用精细的可微函数(默认值) -.REss -.IPs vlelim=<-1000\-1000> -亮度的单参数剪除阀值. 负值将同时考虑dc参数(quant=1编码时至少为-4或更低): -.RSss -0: 禁用(默认值) +.I 警告: +小心,值过大可能导致灾难性的后果。 .br --4 (JVT推荐) -.REss -.IPs vcelim=<-1000\-1000> -色度的单参数剪除阀值. 负值将同时考虑dc参数(quant=1编码时至少为-4或更低): -.RSss -0 禁用(默认值) +.I 警告: +值设得大可能在某些显示器上看起来效果好,但可能在其它显示器上就显得难看。 +.PD 0 +.RSs +.IPs "0.0\ \ " +禁用(默认值) +.IPs 0.0\-0.3 +合理的范围 +.RE +.PD 1 +. +.TP +.B dark_mask=<0.0\-1.0> +暗度屏蔽是一种‘心理感官性’的设置,一般认为其所利用的事实是人眼倾向于在画面中很 +暗的部分里只注意到较少的细节。 +暗度屏蔽模式比中性的模式更大幅度地压缩明亮的区域,所以它能省下不少比特将其用于其 +它的帧中,从而提高整体的主观感官质量,但同时可能降低了峰值信噪比。 .br -7 (JVT推荐) -.REss -.IPs vstrict=<-1,0,1> -严格遵循标准 -.RSss -0: 禁用(默认值) +.I 警告: +小心,值过大可能导致灾难性的后果。 .br -1: 当你想把输出用于mpeg4推荐的解码器时推荐 +.I 警告: +值设得大可能在某些显示器上看起来效果好,但可能在其它显示器/电视/液晶屏上就显得难 +看。 +.PD 0 +.RSs +.IPs "0.0\ \ " +禁用(默认值) +.IPs 0.0\-0.3 +合理的范围 +.RE +.PD 1 +. +.TP +.B tcplx_mask=<0.0\-1.0> +时间复杂度屏蔽(默认值:0.0(禁用))。 +设想一下一个场景中一只鸟飞过整个场景;tcplx_mask将提高描绘鸟的宏块的量化参数(从 +而降低这些宏块的质量),而人眼通常没有时间去看清鸟的所有细节。 +注意如果被屏蔽的对象停止运动(例如鸟儿落地了),那么很有可能在短时间内这个对象会 +显得很难看,直至编码器注意到这个对象不动了而需要更好的块来描绘。 +节省下来的比特将用于视频中的其它部分,只要tcplx_mask经过精心选取,这将提高主观感 +官质量。 +. +.TP +.B scplx_mask=<0.0\-1.0> +空间复杂度屏蔽 +如果没有解块效应滤镜用于解码过程,那么较大的值有助于消除块效应,但这可能不是一个 +好办法。 .br --1: 运行非标准的YV12 huffyuv编码(文件减小20%, -但不能被官方的huffyuv编解码器播放) -.REss -.IPs vdpart -数据分区. -每个视频包增加2字节, 改进当通过不可信赖的通道传输时的错误抵御能力, -(比如通过internet的流媒体) -每个视频包将分成3个独立区域编码: -.RSss -1. MVs (=运动) +设想一下一个含有草丛(这通常有很大的空间复杂度)、蓝天和一间房子的场景; +scplx_mask将提高描绘草丛的宏块的量化参数,从而降低其质量,由此将更多的比特花在天 +空和房子上。 .br -2. DC coefficients (=低分辨率图像) +.I 提示: +要充分切除所有的影片黑边,因为它们使宏块的质量下降(这同样适用于不用scplx_mask的 +情形)。 +.PD 0 +.RSs +.IPs "0.0\ \ " +禁用(默认值) +.IPs 0.0\-0.5 +合理的范围 +.RE +.PD 1 +.sp 1 +.RS +.I 注意: +这个设置与使用能更大幅度压缩高频信号的自定义量化矩阵不具有相同效果,因为 +即使直流信号改变时scplx_mask也不会降低P块的质量。 +scplx_mask的效果可能也不如那种方式好。 +.RE +. +.TP +.B p_mask=<0.0\-1.0>(另参见vi_qfactor) +降低帧间块的质量。 +这等价于提高内部块的质量,因为码率控制器仍在整个视频序列上以相同的平均码率分配了 +数据资源(默认值:0.0(禁用))。 +p_mask=1.0使分配到每个内部块的比特数加倍。 +. +.TP +.B border_mask=<0.0\-1.0> +用于MPEG风格编码器的画面边缘处理模式。 +画面边缘处理模式提高距离画面帧边缘不到1/5个帧宽度/高度的宏块的量化参数,因为这些 +宏块通常对于显示效果较为不重要。 +. +.TP +.B "naq\ \ \ \ " +使自适应量化模式正态化(实验性选项)。 +当使用自适应量化模式(*_mask)时,平均每个宏块的量化参数大小可能不再与所需要的帧 +级别的量化参数相一致。 +Naq将尝试调整每个宏块的量化参数以保证平均值为适当的值。 +. +.TP +.B "ildct\ \ " +使用隔行扫描的DCT。 +. +.TP +.B "ilme\ \ \ " +使用隔行扫描的运动估计模式(与qpel不能同时使用)。 +. +.TP +.B "alt\ \ \ \ " +使用另一种扫描表。 +. +.TP +.B "top=<-1\-1>\ \ \ " +.PD 0 +.RSs +.IPs -1 +自动判断 +.IPs 0 +下半扫描场先进入 +.IPs 1 +上半扫描场先进入 +.RE +.PD 1 +. +.TP +.B format= +.PD 0 +.RSs +.IPs "YV12\ " +默认值 +.IPs "444P\ " +用于ffv1 +.IPs "422P\ " +用于HuffYUV、无损JPEG、dv和ffv1 +.IPs "411P\ " +用于无损JPEG、dv和ffv1 +.IPs "YVU9\ " +用于无损JPEG、ffv1和svq1 +.IPs "BGR32" +用于无损JPEG和ffv1 +.RE +.PD 1 +. +.TP +.B "pred\ \ \ " +(用于HuffYUV) +.PD 0 +.RSs +.IPs 0 +左预测 +.IPs 1 +平面/\:梯度预测 +.IPs 2 +中位数预测 +.RE +.PD 1 +. +.TP +.B "pred\ \ \ " +(用于无损JPEG) +.PD 0 +.RSs +.IPs 0 +左预测 +.IPs 1 +上预测 +.IPs 2 +左上预测 +.IPs 3 +平面/\:梯度预测 +.IPs 6 +平均数预测 +.RE +.PD 1 +. +.TP +.B "coder\ \ " +(用于ffv1) +.PD 0 +.RSs +.IPs 0 +vlc编码(Golomb-Rice) +.IPs 1 +算术编码(CABAC) +.RE +.PD 1 +. +.TP +.B context +(用于ffv1) +.PD 0 +.RSs +.IPs 0 +小型上下文环境模式 +.IPs 1 +大型上下文环境模式 +.RE +.PD 1 +.sp 1 +.RS +(用于ffvhuff) +.RE +.PD 0 +.RSs +.IPs 0 +预先确定的哈夫曼表(内置的或是二阶编码中产生的) +.IPs 1 +自适应哈夫曼表 +.RE +.PD 1 +. +.TP +.B "qpel\ \ \ " +使用四分之一像素的运动补偿模式(与ilme不能同时使用)。 .br -3. AC coefficients (=细节) -.REss -.IPs -MV和DC是最重要的, 放宽他们看起来远比放宽AC效果差, -而1&2分区(MV&DC)远比3分区(AC)小, -所以错误破坏AC分区的机会比破坏MV&DC分区的机会大很多. 因此, -分区的图像比没有分区的图像看起来好的多, -因为不分区时一个错误会把AC/DC/MV都毁掉. -.IPs vpsize=<0\-10000> -视频包大小, 提高错误抵御能力(参考\-vdpart选项): -.RSss -0: 禁用(默认值) +.I 提示: +该选项似乎只对高比特率的编码有用。 +. +.TP +.B mbcmp=<0\-2000> +设置用于宏块决策的比较函数,只有当mbd=0时才有作用。 +.PD 0 +.RSs +.IPs "0 (SAD)" +绝对值差的合,运行快(默认值) +.IPs "1 (SSE)" +误差的平方合 +.IPs "2 (SATD)" +Hadamard变换后绝对值差的合 +.IPs "3 (DCT)" +DCT变换后绝对值差的合 +.IPs "4 (PSNR)" +量化误差的平方合(避免使用,质量差) +.IPs "5 (BIT)" +块中所需的比特的数量 +.IPs "6 (RD)" +码率失真最优,运行慢 +.IPs "7 (ZERO)" +0 +.IPs "8 (VSAD)" +垂直方向绝对值差的合 +.IPs "9 (VSSE)" +垂直方向绝对值差的平方合 +.IPs "10 (NSSE)" +保留噪声的差值的平方合 +.IPs "11 (W53)" +5/3小波,只用于snow中 +.IPs "12 (W97)" +9/7小波,只用于snow中 +.IPs "+256\ " +同时使用色度信息,当前无法在B帧中(正确)运行。 +.RE +.PD 1 +. +.TP +.B ildctcmp=<0\-2000> +设置隔行扫描DCT决策中使用的比较函数(参见mbcmp以获取可用比较函数信息)。 +. +.TP +.B precmp=<0\-2000> +设置运动估计预处理阶段所使用的比较函数(参见mbcmp以获取可用比较函数信息)(默认 +值:0)。 +. +.TP +.B cmp=<0\-2000> +设置整像素运动估计中所使用的比较函数(参见mbcmp以获取可用比较函数信息)(默认 +值:0)。 +. +.TP +.B subcmp=<0\-2000> +设置亚像素运动估计中所使用的比较函数(参见mbcmp以获取可用比较函数信息)(默认 +值:0)。 +. +.TP +.B nssew=<0\-1000000> +该设置控制NSSE的权重,其中较大的权重将导致较多的噪声。 +0 NSSE与SSE是一样的 +如果你希望在你编码后的视频中保留一些噪声,而不是在编码时将他们滤除,那么你会发现 +这个设置很有用(默认值:8)。 +. +.TP +.B predia=<-99\-6> +运动估计预处理阶段中使用菱形的类型和大小 +. +.TP +.B dia=<-99\-6> +运动估计中使用的菱形的类型和大小。 +运动搜索是一个迭代式的过程。 +使用一个较小的菱形并不会限制搜索中只找较小的运动矢量。 +而是说在找到最合适的运动矢量前搜索更倾向于停止,尤其是在噪声介入的情形下。 +较大的菱形将允许对于最佳运动矢量的搜索更加广泛,从而搜索更加慢但得到的结果质量更 +加好。 .br -100-1000: 不错的选择 -.REss -.IPs gray -只编码灰度图像(更快)(默认值: 禁用) -.IPs vfdct=<0\-10> -dct算法: -.RSss -0: 自动选择最好的(默认值) +大型的常规菱形比自适应形状的菱形质量更好。 .br -1: 快速整数 +自适应形状的菱形在速度和质量之间有较好的折中。 .br -2: 精确整数 -.br -3: mmx -.br -4: mlib -.REss -.IPs idct=<0\-99> -idct算法: -注意: 据我们所了解的最新消息这些IDCT确实通过了IEEE1180 -tests. -.RSss -0: 自动选择最好的(默认值) -.br -1: jpeg参考整数 -.br -2: 简单 -.br -3: 简单mmx -.br -4: libmpeg2mmx (不精确, 不要用于keyint >100的编码) -.br -5: ps2 -.br -6: mlib -.br -7: arm -.REss -.IPs lumi_mask=<0.0\-1.0> -亮度掩饰. -警告: 小心, 过大的值会导致破坏图像. -警告2: 较大的值可能在有些显示器上看起来不错但在别的显示器上看着很恐怖: -.RSss -0.0: 禁用(默认值) -.br -0.0\-0.3: 合理范围 -.REss -.IPs dark_mask=<0.0\-1.0> -黑暗掩饰. -警告: 小心, 过大的值会导致破坏图像. -警告2: 较大的值可能在有些显示器上看起来不错但在别的显示器/\:电视/\:液晶上看着很恐怖: -.RSss -0.0: 禁用(默认值) -.br -0.0\-0.3: 合理范围 -.REss -.IPs tcplx_mask=<0.0\-1.0> -时间复杂度掩饰(默认值: 0.0(禁用)) -.IPs scplx_mask=<0.0\-1.0> -空间复杂度掩饰. -如果解码时没有去马赛克滤镜, 较大的值会有帮助. -技巧: 完全切掉所有黑边因为他们降低宏块的质量, (不用scplx_mask也应该这么做). -.RSss -0.0: 禁用(默认值) -.br -0.0\-0.5: 合理范围 -.REss -.IPs naq -适应量化正则话(试验). -当使用适应量化(*_mask)时, 平均每MB的量化值跟要求的帧水平的量化值不一致.. -Naq尝试调整每MB的量化值来保持适当的平均. -.IPs ildct -使用交错dct -.IPs format=<参数> -.RSss -YV12: 默认值 -.br -422P: 用于huffyuv -.REss -.IPs pred -(用于huffyuv) -.RSss -0: 左预测 -.br -1: 平面/\:梯度预测 -.br -2: 中值预测 -.REss -.IPs qpel -使用四分之一像素运动补偿 -技巧: 这只有高比特率编码时有用. -.IPs precmp=<0\-2000> -用于每个pass的运动估计比较函数 -.IPs cmp=<0\-2000> -全点运动估计的比较函数 -.IPs subcmp=<0\-2000> -副点运动估计的比较函数 -.RSss -0 (SAD): 绝对差值求和, 很快(默认值) -.br -1 (SSE): 方差和 -.br -2 (SATD): hadamard位移绝对值求和 -.br -3 (DCT): dct位移绝对值求和 -.br -4 (PSNR): 量化方差求和(别用, 低质量) -.br -5 (BIT): 块需要的比特数 -.br -6 (RD): 最佳变形率, 很慢 -.br -7 (ZERO): 0 -.br -+256: 也应用到色度, 目前不能(正确)用于B帧 -.REss -.IPs predia=<\-99\-6> -每个pass用于运动估计的菱形的类型和尺寸 -.IPs dia=<\-99\-6> -用于运动估计的菱形的类型和尺寸. -注意: 普通菱形和外形检测菱形的大小的意义是不同的 -.RSss -\-3: 大小为3的外形检测(快速)菱形 -.br -\-2: 大小为2的外形检测(快速)菱形 -.br -\-1: 试验 -.br - 1: 大小为1的普通菱形(默认值) =EPZS类菱形 +.I 注意: +常规菱形和自适应形状菱形在大小概念上的含义是不同的。 +.RSs +.IPs -3 +大小为3的自适形形状(快速)菱形 +.IPs -2 +大小为2的自适形形状(快速)菱形 +.IPs -1 +非均匀的多重六边形搜索(运行慢) +.IPs 1 +size=1的常规菱形(默认值)=EPZS类型的菱形 .nf .ne 0 000 0 .fi -.br - 2: 大小为2的普通菱形 +.IPs 2 +size=2的常规菱形 .nf .ne 0 @@ -7039,178 +7848,1515 @@ YV12: 默认值 000 0 .fi -.REss -.IPs trell -Trellis量化. -这种方法对每个8x8的块寻找合适的编码方法. -Trellis量化在PSNR vs 比特率方面是一个相当简单的优化量化方法, -(假设IDCT没有引入舍入错误, 但显然不是这样), -他简单的对每个块寻找最小的error和lambda*bits. -.RSss -lambda: qp倚赖常数 -.br -bits: 每个块需要的比特数 -.br -error: 量化的方差和 -.REss -.IPs last_pred=<0\-99> -基于上一帧的运动预报数 -.RSss -0: (默认值) -.br -a: 将使用2a+1 x 2a+1的宏块进行基于上一帧的运动矢量预报 -.REss -.IPs preme=<0\-2> -每pass的运动估计 -.RSss -0: 禁用 -.br -1: 仅在I帧之后(默认值) -.br -2: 始终 -.REss -.IPs subq=<1\-8> -副点质量精细化(用于qpel)(默认值: 8). -注意: 这对速度有显著影响. -.IPs psnr -编码后显示整个视频的psnr(信号峰值与噪音的比率), -并把每帧的psnr储存在一个类似'psnr_012345.log'的文件里. -返回值以dB(分贝)为单位, 越高越好. -.IPs mpeg_quant -使用MPEG量化而不是H.263. -(默认值: 禁用)(就是使用H.263量化) -.IPs aic -高级内部预报(仅用于H.263+) -注意: vqmin必须为8或者更大. -.IPs umv -无限MV(仅用于H.263+) -允许编码任意长度的MV. -.IPs ibias=<\-256\-256> -内部量化乖离率 (256 == 1.0) -.br -mpeg量化默认值: 96 -.br -h263量化默认值: 0 -.br -注意: h263 MMX量化不能处理正的乖离率(设置vfdct=1或2) - mpeg MMX量化不能处理负的乖离率(设置vfdct=1或2) -.IPs pbias=<\-256\-256> -相互量化乖离率 (256 == 1.0) -.br -mpeg量化默认值: 0 -.br -h263量化默认值: -64 -.br -注意: h263 MMX量化不能处理正的乖离率(设置vfdct=1或2) - mpeg MMX量化不能处理负的乖离率(设置vfdct=1或2) .RE . .TP -.B \-xvidencopts <选项1:选项2:...> -如果使用Xvid编码, 你可以由此设置它的参数. -.br -有三种可用模式: 常比特率(CBR), 固定量化和2 pass. -.br -可用选项有: +.B "trell\ \ " +使用格子因子搜索的量化模式。 +该选项将为每个8x8块找到最优的编码方式。 +使用格子因子搜索的量化方式就是一种在峰值信噪比对比码率意义下最优的量化模式(假设 +IDCT不造成任何数值舍入错误,这种情形显然不在讨论之列。)。 +这种量化模式就是找一个具有最小错误数和lambda*bits值的块。 +.PD 0 +.RSs +.IPs lambda +与量化参数(QP)相关的常数 +.IPs "bits\ " +编码这个块所需的比特数量。 +.IPs error +量化错误数的平方和 +.RE +.PD 1 . +.TP +.B "cbp\ \ \ \ " +码率失真最优的编码后块的特征。 +将选取使削减值与lambda*rate值的合最小化的编码后块的特征。 +该选项只能与格子因子量化模式一起使用。 +. +.TP +.B "mv0\ \ \ \ " +尝行在运动矢量=<0,0>的条件下编码每个宏块并选取最好的一个。 +当mbd=0时该选项没有作用。 +. +.TP +.B mv0_threshold=<任意非负整数> +当周围的运动矢量为<0,0>,而当前块的运动估计评分小于mv0_threshold时,将使用<0,0> +作为运动矢量,而跳过进一步的运动估计步骤(默认值:256)。 +将mv0_threshold降低至0可以使峰值信噪比有稍许(0.01dB)增加,并且可能使编码后的视 +频看上去稍微好一些;将mv0_threshold设为高于320时将导致峰值信噪比和视觉质量大大降 +减。 +较高的值使编码加快一点点(通常低于1%,这取决于所使用的其它选项)。 +.br +.I 注意: +该选项不要求启用mv0选项。 +. +.TP +.B qprd(仅用于mbd=2) +对于每个宏块中给定lambda值的码率失真最优的量化参数(QP) +. +.TP +.B last_pred=<0\-99> +来自前一帧的运动预测器的数量 +.PD 0 .RSs -.IPs pass=<1|2> -设置2 pass模式中的pass -.IPs bitrate=<参数> -如果<16000以kbits/\:second为单位设置比特率, -或者以bits/\:second为单位如果>16000 -(CBR或者2 pass模式, 默认值=687 kbits/s) -.IPs fixed_quant=<1\-31> -切换到固定量化模式并设置使用的量化值 -.IPs me_quality=<0\-6> -设置运动检测质量(默认值=6) -IPs interlacing -启用交错内容支持(默认值=off) -.IPs 4mv -每个宏块使用4运动矢量, 可能有更好的压缩率, 代价是更慢的编码速度(默认值=off) -.IPs rc_reaction_delay_factor=<参数> -设置速率反应多快, 参数值越小更快 -.IPs rc_averaging_period=<参数> -达到要求平均值的周期 -.IPs rc_buffer=<参数> -速率控制缓冲区的大小 -.IPs quant_range=<1\-31>\-<1\-31>[/<1\-31>\-<1\-31>] -所有帧的最小和最大的量化值(默认值=2\-31, CBR模式) -.br -I/P帧的最小和最大的量化值(默认值=2\-31/2\-31, 2 pass模式) -.IPs min_key_interval=<参数> -关键帧之间的最小间距(默认值=0, 仅用于2 pass模式) -.IPs max_key_interval=<参数> -关键帧之间的最大间距(默认值=10*帧速率) -.IPs mpeg_quant -使用MPEG量化而不是H.263(默认值=off) -.IPs mod_quant -一帧一帧的决定使用MPEG还是H.263量化. -(默认值=off, 仅用于2 pass模式) -.IPs greyscale -黑白编码(默认值=off) -.IPs debug -在xvid.dbg中保存每一帧的统计值(默认值=off) -.br -这不是2 pass的控制文件 -.IPs keyframe_boost=<0\-1000> -(默认值=0, 仅用于2 pass模式) -.IPs kfthreshold=<参数> -(默认值=10, 仅用于2 pass模式) -.IPs kfreduction=<0\-100> -(默认值=30, 仅用于2 pass模式) +.IPs 0 +(默认值) +.IPs a +将使用2a+1 x 2a+1宏块数平方个来自前一帧的运动矢量预测器。 .RE - +.PD 1 +. +.TP +.B preme=<0\-2> +运动估计的预处理阶段 +.PD 0 .RSs -下面的选项仅能用于不稳定(cvs -HEAD)版本的Xvid. -这些选项是试验性的并且不一定会想料想的那样工作. -.IPs packed -创建可以即时解码的比特流(默认值=off) -.br -.I 警告: -这会产生一个非法的比特流, -而且不能被除了divx/libavcodec/xvid之外的ISO-MPEG4解码器解码. -.br -.I 警告: -这还会在文件中储存一个假的divx版本号, 所以有些解码器的bug自动检测功能可能会混乱. -.IPs divx5bvop -产生DivX5兼容的B帧 (默认值=on) -.IPs qpel -启用四分之一像素运动估计(默认值=off) -.IPs gmc -启用全角运动补偿, 可以节省一些摇晃场景的大小(默认值=off) -.IPs chroma_me -使用色度信息来估计运动(默认值=off) -.IPs chroma_opt -启用色度优化预滤镜(默认值=off) -.IPs reduced -启用降低帧分辨率的编码方式(默认值=off) -.IPs max_bframes=<0\-4> -I/P帧之间的最大B帧数(默认值=0) -.IPs bquant_ratio=<0\-1000> -B帧和非B帧之间的量化值比, 150=1.50 (默认值=150) -.IPs bquant_offset=<-1000\-1000> -B帧和非B帧之间的量化偏移, 100=1.00 (默认值=100) -.IPs hq_ac -启用更好的AC部分预测, 能减小尺寸但会稍稍降低编码速度(默认值=off) -.IPs vhq=<0\-4> -启用基于DCT的更高质量的ME搜索, 由快到慢: - -.br -0 = 关闭(默认值) -.br -1 = 模式决定(相互/内部MB) -.br -2 = 限制搜索 -.br -3 = 中度搜索 -.br -4 = 大范围搜索 -.IPs psnr -编码后显示整个视频的psnr(信号峰值与噪音的比率), -并把每帧的psnr储存在一个类似'psnr_hhmmss.log'的文件里. -返回值以dB(分贝)为单位, 越高越好. +.IPs 0 +禁用 +.IPs 1 +只在I帧后使用(默认值) +.IPs 2 +总是使用 .RE +.PD 1 +. +.TP +.B subq=<1\-8> +亚像素优化质量(用于qpel)(默认值:8(高质量)) +.br +.I 注意: +该选项对速度有极大影响。 +. +.TP +.B refs=<1\-8> +运动补偿中所考虑的参照帧的数量(仅用于Snow)(默认值:1) +. +.TP +.B "psnr\ \ \ " +编码后打印整个视频的PSNR(峰值信噪比),并将每个帧的PSNR存放在一个名字诸如 +‘psnr_hhmmss.log’的文件中。 +返回的值单位为dB(分贝),值越高越好。 +. +.TP +.B mpeg_quant +使用MPEG的量化器而不是H.263的。 +. +.TP +.B "aic\ \ \ \ " +启用MPEG-4的AC预测模式,或是H.263+的高级帧内预测模式。 +该选项将很有限地提升质量(大约0.02dB的PSNR),同时很有限地减慢编码速度(大约为 +1%)。 +.br +.I 注意: +vqmin应当设为8或更大以使用H.263+ AIC。 +. +.TP +.B "aiv\ \ \ \ " +用于H.263+的另一种帧间vlc模式 +. +.TP +.B "umv\ \ \ \ " +无限制的运动矢量(MV)(仅用于H.263+) +允许编码任意长的MV。 +. +.TP +.B ibias=<-256\-256> +帧内量化器偏向系数(256等价于1.0,MPEG类型的量化器的默认值:96,H.263类型的量化 +器的默认值:0) +.br +.I 注意: +H.263 MMX量化器无法处理正值的偏向系数(应设置vfdct=1或2), +MPEG MMX量化器无法处理负值的偏向系数(应设置vfdct=1或2)。 +. +.TP +.B pbias=<-256\-256> +帧间量化器偏向系数(256等价于1.0,MPEG类型的量化器的默认值:0,H.263类型的量化器 +的默认值:-64) +.br +.I 注意: +H.263 MMX量化器无法处理正值的偏向系数(应设置vfdct=1或2), +MPEG MMX量化器无法处理负值的偏向系数(应设置vfdct=1或2)。 +.br +.I 提示: +偏向系数的值越大(-32 \- -16而不是-64)看上去越能提升PSNR。 +. +.TP +.B nr=<0\-100000> +噪声削减模式,0表示禁用。 +0\-600对于典型的视频内容来说是一个有用的范围,但是你可能希望将其调高一点以用于噪 +点十分多的视频内容(默认值:0)。 +考虑到该选项对于编码速度影响小,你可能想更倾向于使用这个选项,而不是用诸如 +denoise3d或hqdn3d之类的视频滤镜来过滤噪声。 +. +.TP +.B qns=<0\-3> +量化器噪声整形模式。 +该选项不是选择在PSNR上最接近源视频的量化模式,而是选择能使噪声(通常是色斑)会被 +图像中相近频率内容所屏蔽的量化模式。 +较大的值运行速度较慢,但可能不能产生较好的编码质量。 +该选项可以并且应当与格子因子量化模式一起使用,在这种情况下格子因子量化模式(对于 +恒定权值是最优的)将作为迭代搜索的起始操作。 +.PD 0 +.RSs +.IPs 0 +禁用(默认值) +.IPs 1 +仅降低系数的绝对值。 +.IPs 2 +仅改变最后一个非零系数+1之前的系数。 +.IPs 3 +尝试所有可能操作。 +.RE +.PD 1 +. +.TP +.B inter_matrix=<逗号分隔的矩阵> +使用自定义的帧间矩阵。 +该选项需要一个用逗号分隔的64个整数组成的字符串。 +. +.TP +.B intra_matrix= +使用自定义的帧内矩阵。 +该选项需要一个用逗号分隔的64个整数组成的字符串。 +. +.TP +.B vqmod_amp +实验性的量化器调整模式 +. +.TP +.B vqmod_freq +实验性的量化器调整模式 +. +.TP +.B "dc\ \ \ \ \ " +以比特为单位的帧内DC精度(默认值:8)。 +如果你指定了vcodec=mpeg2video,那么这个值可以是8、9、10或11。 +. +.TP +.B cgop(另参见sc_threshold) +关闭所有的GOP。 +当前该选项只有当场景切换侦测功能禁用时才能工作(sc_threshold=1000000000)。 +. +.TP +.B vglobal=<0\-3> +控制写入全局视频头部信息的方式。 +.PD 0 +.RSs +.IPs 0 +编解码器决在哪里写入全局头部信息(默认值)。 +.IPs 1 +只在extradata(额外数据)域中写入全局头部信息(.mp4/MOV/NUT需要这样做)。 +.IPs 2 +只在关键帧之前写入全局头部信息。 +.IPs 3 +结合1和2两种方式。 +.RE +.PD 1 +. +.TP +.B aglobal=<0\-3> +与vglobal相同,用于音频头部信息。 +. +.TP +.B level= +设置编解码器环境等级。 +使用31或41以在Playstation 3上播放视频。 +. +. +.SS nuv(\-nuvopts) +. +Nuppel视频基于RTJPEG和LZO。 +默认方式下,帧首先以RTJPEG方式编码,然后再用LZO压缩,但可以禁用这两个阶段的一个 +或两个。 +于是,你可以实际上输出的是原始的i420、LZO压缩的i420、RTJPEG或默认情况下的经LZO压 +缩的RTJPEG。 +.br +.I 注意: +nuvrec文件包含了一些关于用于大多数常见TV编码的设置的建议和示例。 +. +.TP +.B c=<0\-20> +色度阈值(默认值:1) +. +.TP +.B l=<0\-20> +亮度阈值(默认值:1) +. +.TP +.B "lzo\ \ \ \ " +启用LZO压缩(默认值)。 +. +.TP +.B "nolzo\ \ " +禁用LZO压缩。 +. +.TP +.B q=<3\-255> +质量等级(默认值:255) +. +.TP +.B "raw \ \ \ " +禁用RTJPEG编码。 +. +.TP +.B "rtjpeg\ " +启用RTJPEG编码。(默认值)。 +. +. +.SS xvidenc (\-xvidencopts) +. +有三个模式可以使用:恒定比特率模式(CBR)、固定量化器模式和二阶段编码模式。 +. +.TP +.B pass=<1|2> +在二阶段编码模式中指定哪一个阶段。 +. +.TP +.B turbo(仅用于二阶段编码模式) +通过使用更快的算法并禁用大量消耗CPU的选项,以加速第一阶段编码。 +该选项可能稍许降低全局的PSNR,并且改变单个帧的类型,以及稍许提升这个帧的PSNR。 +. +.TP +.B bitrate=(用于CBR或二阶段编码模式) +设置所使用的比特率。若值小于16000,则单位为千比特/\:秒;若值大于16000,则单位 +为bits/\:second。 +如果为负数,那么Xvid将把这个值的绝对值作为视频的目标大小(单位为 +kBytes),并自动计算出相应的比特率(默认值:687kbits/s)。 +. +.TP +.B fixed_quant=<1\-31> +切换至固定量化器模式,并指定所使用的量化器。 +. +.TP +.B zones=[/[/...]](CBR或二阶段编码模式) +用户指定的针对影片特定部分(片尾、演职员表、……)的质量值。 +每个zone的格式是,,,其中可以是 +.PD 0 +.RSs +.IPs "q" +更改恒定量化器,在这种模式下value=<2.0\-31.0>,代表量化参数值。 +.IPs "w" +更改码率控制权值,在这种模式下value=<0.01\-2.00>,代表单位为%的质量修正值。 +.RE +.PD 1 +.sp 1 +.RS +.I 示例: +.RE +.PD 0 +.RSs +.IPs zones=90000,q,20 +将90000开始的所有帧以恒定量化参数20编码。 +.IPs zones=0,w,0.1/10001,w,1.0/90000,q,20 +将0\-10000帧以10%的比特率编码,将90000直至结尾的帧以20的恒定量化参数编码。 +注意需要有第二个zone以限定第一个zone,因为没有它直至89999的所有帧都会以10%的比特 +率编码。 +.RE +.PD 1 +. +.TP +.B me_quality=<0\-6> +该选项控制运动估计子系统。 +值越高,运动估计就越精确(默认值:6)。 +运动估计越精确,就能节省越多的比特。 +提高精度是以牺牲CPU时间为代价的,所以如果你需要实时编码,那么就降低这个设置。 +. +.TP +.B (no)qpel +MPEG-4默认在其运动搜索中采用半像素的精度。 +标准中提出了一种允许编码器采用四分之一像素精度的模式。 +该选项通常导致图像较为锐化。 +不幸的是,该选项对于比特率有很大影响,并且有时候这种较高的比特率的占用阻碍其在固 +定比特率下给予图像较好质量。 +最好在启用和禁用这个选项的情况下测试一下,以看看是否值得激活该选项。 +. +.TP +.B (no)gmc +启用全局运动补偿模式,该模式使Xvid生成特殊的帧(GMC帧),这种帧相当适合带有摇摄 +/\:推近/\:旋转等镜头的画面。 +使用该选项是否能节省比特是高度取决于源视频素材。 +. +.TP +.B (no)trellis +格子因子量化模式是一种自适应的量化方式,该方式通过修改量化后的系数,以使这些系数 +能被熵编码器更大幅度地压缩,从而节省比特。 +其对质量的提升是不错的,如果VHQ对你来说占用了太多CPU,那么这个设置可能是相比VHQ +而言以较少代价节省一些比特(并且提升固定比特率下画面质量)的一种替代方法(默认 +值:打开)。 +. +.TP +.B (no)cartoon +如果你编码的帧序列是动画/\:卡通的话,那么就激活这个选项。 +这个选项修改Xvid内部的一些阈值,以使Xvid在针对外观平面化的卡通片的帧类型和运动矢 +量的决策中有较好判断。 +. +.TP +.B (no)chroma_me +通常的运动估计算法仅使用亮度信息寻找最佳的运动矢量。 +然而对于一些视频素材,使用色度平面能有助于找到更好的矢量。 +该设置开启在运动估计中对于色度平面的使用(默认值:开启)。 +. +.TP +.B (no)chroma_opt +启用色度优化器的一个预过滤器。 +这个预过滤器将对色彩信息做一些额外的特殊处理,以使图形边缘的阶梯性变化效果降至最 +低。 +这个预过滤器会以牺牲编码速度为代价以提升质量。 +这自然会降低PSNR,因为相对于原始画面的数学上的偏移将增大,但是主观感觉上图像的质 +量将得到提升。 +由于其依据色彩信息而工作,因而在以灰度模式编码时你可能想把这个选项关掉。 +. +.TP +.B (no)hq_ac +对于来自邻近块的内部帧,激活对于AC系数的高质量预测模式(默认值:开启)。 +. +.TP +.B vhq=<0\-4> +运动搜索算法基于一种对于通常色彩域的搜索,并且尝试找到一个能将参照帧和编码所得帧 +的差别降至最小的运动矢量。 +激活该选项时,Xvid将同时利用频率域(DCT)以搜索到一个既将空间上的差别降至最小, +又将块的编码长度降至最短的运动矢量。 +从运行最快至运行最慢的设置有: +.PD 0 +.RSs +.IPs 0 +关闭 +.IPs 1 +根椐模式决定(帧间/\:帧内宏块)(默认值) +.IPs 2 +限制性搜索 +.IPs 3 +中性搜索 +.IPs 4 +宽泛性搜索 +.RE +.PD 1 +. +.TP +.B (no)lumi_mask +自适应的量化模式使宏块的量化器能在每个帧中有所不同。 +这是一种‘心理感官性’的设置,一般认为它所利用的事实是人眼倾向于在画面中十分亮的 +和十分暗的部分只注意到较少的细节。 +相对于中性的区域,该选项对于这些区域压缩幅度更大,这将节省一些比特而将其用在其它 +的帧中,从而提升整体的主观视觉质量但可能降低了PSNR。 +. +.TP +.B (no)grayscale +使Xvid丢弃色度平面信息,从而使编码得到的视频只是灰度模式的。 +注意该选项并不加快编码速度,而只是在编码的最后阶段阻止写入色度数据。 +. +.TP +.B (no)interlacing +编码隔行扫描视频内容的扫描场。 +打开该选项以用于隔行扫描内容。 +.br +.I 注意: +如果你要改变视频的尺寸,那么你需要一个能识别隔行扫描内容的缩放器,你可以使用 +\-vf scale=::1来激活这种缩放器。 +. +.TP +.B min_iquant=<0\-31> +最小I帧量化参数(默认值:2) +. +.TP +.B max_iquant=<0\-31> +最大I帧量化参数(默认值:31) +. +.TP +.B min_pquant=<0\-31> +最小P帧量化参数(默认值:2) +. +.TP +.B max_pquant=<0\-31> +最大P帧量化参数(默认值:31) +. +.TP +.B min_bquant=<0\-31> +最小B帧量化参数(默认值:2) +. +.TP +.B max_bquant=<0\-31> +最大B帧量化参数(默认值:31) +. +.TP +.B min_key_interval=(仅用于二阶段编码模式) +关键帧间的最小间隔(默认值:0) +. +.TP +.B max_key_interval= +关键帧间的最大间隔(默认值:10*fps) +. +.TP +.B quant_type= +设置所使用的量化器类型。 +对于高码率,你会发现MPEG量化模式保留了更多的细节。 +对于低码率,H.263的平滑特性会为了你带来较少的宏噪声。 +当使用自定义的量化矩阵时, +.B 必须 +使用MPEG量化模式。 +. +.TP +.B quant_intra_matrix= +载入一个自定义的帧内量化矩阵文件。 +你可以使用xvid64conf的矩阵编码器以构建这样的文件。 +. +.TP +.B quant_inter_matrix= +载入一个自定义的帧间量化矩阵文件。 +你可以使用xvid64conf的矩阵编码器以构建这样的文件。 +. +.TP +.B keyframe_boost=<0\-1000>(仅用于二阶段编码模式) +将一些比特从其它帧类型的空间储备中转移至内部帧中,从而提高关键帧的质量。 +该数量是增加的百分比量,所以值为10将给你的关键帧带来比通常情况下多10%的比特量 +(默认值:0)。 +. +.TP +.B kfthreshold=(仅用于二阶段编码模式) +与kfreduction一同使用。 +定义一个最小距离,低于这个距离你就认为两个帧应当视作是连续的,从而根据 +kfreduction的设置处理这个情况 +(默认值:10)。 +. +.TP +.B kfreduction=<0\-100>(仅用于二阶段编码模式) +以上两个设置可用于调整那些你认为过于接近(一个序列中)头个帧的关键帧的大小。 +kfthreshold设置了在哪个范围内的关键帧要被削减,而kfreduction决定了这些关键帧被削 +减比特率的量。 +最后一个I帧将以通常的方式处理 +(默认值:30)。 +. +.TP +.B max_bframes=<0\-4> +放置于I/P帧间的B帧的最大数量(默认值:2)。 +. +.TP +.B bquant_ratio=<0\-1000> +B帧与非B帧间的量化参数比,150=1.50(默认值:150) +. +.TP +.B bquant_offset=<-1000\-1000> +B帧与非B帧间的量化参数差值,100=1.00(默认值:100) +. +.TP +.B bf_threshold=<-255\-255> +该选项让你指定使用B帧的优先级。 +这个值越高,B帧就越可能被使用(默认值:0)。 +不要忘了B帧通常量化参数比较高,从而过分产生B帧可能导致视觉质量变差。 +. +.TP +.B (no)closed_gop +该选项告诉Xvid封闭每个GOP(Group Of Pictures——由两个I帧分隔出来的画面组),这 +使GOP彼此之间相互独立。 +这就是意味着GOP的最后一个帧要么是P帧,要么是N帧,而不是B帧。 +通常开启这个选项是比较好的(默认值:开启)。 +. +.TP +.B (no)packed +该选项意在解决编码至诸如AVI之类的不能处理乱序帧序列的容器格式时,所发生的帧顺序 +问题。 +实际应用中,大多数解码器(无论是软件的还是硬件的)都能够自己处理帧的顺序,因而当 +此选项开启时可能反而引起混乱,所以你可以放心地让这个选项保留为关闭状态,除非你确 +实知道你在做什么。 +.br +.I 警告: +该选项会产生非法的比特流,从而不能被DivX/\:libavcodec/\:Xvid以外的ISO-MPEG-4的解 +码器解码。 +.br +.I 警告: +该选项同时会在文件中存入一个虚假的DivX版本号,所以某些解码器中有问题的自动侦测系 +统可能会搞不清楚。 +. +.TP +.B frame_drop_ratio=<0\-100>(仅用于max_bframes=0时) +该设置控制可变帧率视频流的创建。 +该设置的值指定了一个阈值,如果后一个帧相对于前一个帧的差别低于或等于这个阈值,那 +么将跳过对于一个帧的编码(一个所谓的n-vop将放置于视频流中)。 +在播放时,当遇到一个n-vop时,将显示前一个帧。 +.br +.I 警告: +滥用这个设置可能导致视频跳跃,所以使用该选项后果自负! +. +.TP +.B rc_reaction_delay_factor= +该参数控制CBR码率控制在对于比特率变后作出反应并且对其作出补偿,以使比特率在一个 +平均化范围内的帧中保持恒定前,所等待的帧的数量。 +. +.TP +.B rc_averaging_period= +真正的CBR是很难达到的。 +由于视频素材的不同,比特率可能是变化而难以预测的。 +所以Xvid采用了一种平均化周期,在这个周期中它保证比特数量为给定的一个值(减去一个 +较小的可变值)。 +这个设置所表达的是Xvid使“多少数量的帧”的比特率平均化从而达到CBR。 +. +.TP +.B rc_buffer= +码率控制缓冲的大小 +. +.TP +.B curve_compression_high=<0\-100> +该设置让Xvid从高比特率的场景中拿出一定百分比的比特,而将这些比特还给比特预留储备 +中。 +你也可以使用这个设置,如果你的一个视频有太多的比特分配给了高比特率的场景,以致于 +(较)低比特率的场景变得看上去很糟糕(默认值:0)。 +. +.TP +.B curve_compression_low=<0\-100> +该设置让Xvid将一定百分比的额外的比特分给低比特率的场景,而从整个视频剪辑中拿去一 +部分比特。 +如果你的一些低比特率场景仍然有马赛克,那么这个设置可能很好用(默认值:0)。 +. +.TP +.B overflow_control_strength=<0\-100> +在二阶段编码模式的第一阶段,计算出了一个经过缩放的比特率曲线。 +这个所期望曲线与编码中得到的曲线之间的差值称为溢出。 +显然,二阶段编码的码率控制器尝试弥补这个溢出量,将这个差值派分到后续帧中。 +该设置控制了每次有一个新帧时,有多少溢出量分配至其上。 +较低的值允许使用较迟缓的溢出控制,较大的码率喷发将较慢地得到补偿(可能导致小型视 +频剪辑中缺乏精度)。 +较大的值将使比特再分配过程中的变化更具突发性,如果你设得太高则可能太突然,以致产 +生损伤(默认值:5)。 +.br +.I 注意: +该设置对于质量极具影响,小心使用! +. +.TP +.B max_overflow_improvement=<0\-100> +在帧所用比特的分配过程中,溢出控制可能增加帧的大小。 +该参数溢出控制所允许相对理想分配曲线所增加帧大小的最大的百分比 +(默认值:5)。 +. +.TP +.B max_overflow_degradation=<0\-100> +在帧所用比特的分配过程中,溢出控制可能减少帧的大小。 +该参数溢出控制所允许相对理想分配曲线所减小帧大小的最大的百分比 +(默认值:5)。 +. +.TP +.B container_frame_overhead=<0...> +指定每帧的平均开销,单位为字节。 +大多数时候用户表达的是他们针对视频的目标比特率,而不关心视频容器文件的开销。 +这种较小的但(往往)恒定的开销可以导致目标文件大小超过预期值。 +Xvid让用户设置容器产生的平均每帧的开销数量(只给出每帧的平均值)。 +0具有特殊的含义,这个值让Xvid采用自己的默认值(默认值:24——AVI的平均开销)。 +. +.TP +.B profile= +根据简单配置集(Simple Profile)、高级简单配置集(Advanced Simple Profile)以及 +DivX配置集(DivX Profile)限制选项的使用和VBV(短时间内的峰值比特率)。 +所产生的视频应该能够在符合这些配置集标准的独立播放器上播放。 +.PD 0 +.RSs +.IPs unrestricted +没有限制(默认值) +.IPs "sp0\ \ " +第0级的简单配置集 +.IPs "sp1\ \ " +第1级的简单配置集 +.IPs "sp2\ \ " +第2级的简单配置集 +.IPs "sp3\ \ " +第3级的简单配置集 +.IPs "asp0\ " +第0级的高级简单配置集 +.IPs "asp1\ " +第1级的高级简单配置集 +.IPs "asp2\ " +第2级的高级简单配置集 +.IPs "asp3\ " +第3级的高级简单配置集 +.IPs "asp4\ " +第4级的高级简单配置集 +.IPs "asp5\ " +第5级的高级简单配置集 +.IPs dxnhandheld +DXN手持式设备配置集 +.IPs dxnportntsc +DXN便携NTSC制式设备配置集 +.IPs dxnportpal +DXN便携PAL制式设备配置集 +.IPs dxnhtntsc +DXN家庭影院NTSC制式设备配置集 +.IPs dxnhtpal +DXN家庭影院PAL制式设备配置集 +.IPs dxnhdtv +DXN高清电视设备配置集 +.RE +.PD 1 +.RS +.I 注意: +这些配置集应当与适当的\-ffourcc选项一起使用。 +通常DX50是可以采用的,因为某些播放器不能识别Xvid但大多数能识别DivX。 +.RE +. +.TP +.B par= +指定像素宽高比(Pixel Aspect Ratio)模式(不要与DAR——屏幕宽高比——混淆在一起 +)。 +PAR是单个像素的宽度和高度的比例。 +所以两者的关系如下:DAR = PAR * (宽度/高度)。 +.br +MPEG-4定义了5种像素宽高比以及一种泛用宽高比,这为指定一种专用的像素宽高比 +留下了余地。 +可以指定5种标准模式: +.PD 0 +.RSs +.IPs vga11 +这是通常用于PC视频内容的PAR。 +像素是正方形单元。 +.IPs pal43 +PAL标准的4:3的PAR。 +像素是长方形的。 +.IPs pal169 +与前面同理 +.IPs ntsc43 +与前面同理 +.IPs ntsc169 +与前面同理(不要忘了给出精确的比率) +.IPs "ext\ \ " +允许你使用par_width和par_height指定你自己的像素宽高比。 +.RE +.PD 1 +.RS +.I 注意: +通常,设置aspect和autoaspect选项就已经足够了。 +.RE +. +.TP +.B par_width=<1\-255>(仅用于par=ext时) +指定自定像素宽高比的宽度。 +. +.TP +.B par_height=<1\-255>(仅用于par=ext时) +指定自定像素宽高比的高度。 +. +.TP +.B aspect= +将影片的宽高比存放于文件内部,就像MPEG文件一样。 +与重新缩放的效果好很多,因为质量并不下降。 +MPlayer与其它一些播放器能正确播放这些文件,除此之外的播放器会以错误的宽高比显示 +这些文件。 +宽高比参数可以以比率或是浮点数的形式给出。 +. +.TP +.B (no)autoaspect +与aspect选项相同,但是是自动计算宽高比,在此过程中考虑了滤镜链中所进行的所有的调 +整(crop/\:expand/\:scale/\:等等)。 +. +.TP +.B "psnr\ \ \ " +编码之后打印出整个视频的PSNR(峰值信噪比),并将逐帧计算的PSNR保存在当前目录中名 +字诸如‘psnr_hhmmss.log’的一个文件里。 +返回值的单位是dB(分贝),值越高越好。 +. +.TP +.B "debug\ \ " +将逐帧计算的统计信息保存在./xvid.dbg中。(这个文件不是二阶段编码模式中的码率控制 +文件。) +.RE +. +.PP +.sp 1 +以下选项只存在于Xvid 1.1.x中。 +. +.TP +.B bvhq=<0|1> +该设置允许通过使用一种针对码率失真优化的运算,来选取用于编码中使用的B帧的候 +选运动矢量,对于P帧这种方式是通过vhq选项实现的。 +该方式产生的B帧看上去较好,而同时也几乎不影响性能(默认值:1)。 +. +.PP +.sp 1 +以下选项只存在于1.2.x版的Xvid中。 +. +.TP +.B threads=<0\-n> +创建n个线程用以运行运动估计任务(默认值:0)。 +最多可以使用的线程的数量为画面的高度除以16所得的值。 +. +. +.SS x264enc(\-x264encopts) +. +.TP +.B bitrate= +设置所采用的平均比特率,单位为千比特/\:秒(默认值:关闭)。 +由于局部比特率会变化,因而这个平均值对于十分短的视频来说可以不精确 +(参见ratetol)。 +可以通过将此设置与vbv_maxrate一起使用来实现恒定的比特率,代价是质量严重下降。 +. +.TP +.B qp=<0\-51> +该选项选择的是用于P帧的量化器。 +I与B帧的话分别是该值加上ip_factor与pb_factor后得到的值。 +20\-40是一个有用的范围。 +较低的值产生较好的精确,但导致比特率较高。 +0代表无损。 +注意H.264的量化模式与MPEG-1/2/4的工作方式不同: +H.264的量化参数是基于对数尺度的。 +两者之间的映射关系大至是H264QP = 12 + 6*log2(MPEGQP)。 +例如,MPEG的QP=2与H.264的QP=18是等价的。 +. +.TP +.B crf=<1.0\-50.0> +启用恒定质量模式,并选择质量值。 +该质量值的尺度与QP的相类似。 +就像基于比特率的模式一样,该模式允许每个帧根据帧的复杂度使用不同的QP。 +. +.TP +.B pass=<1\-3> +启用2或3阶段编码模式。 +推荐总是以2或3阶段编码模式编码,因为该模式使比特的分配更佳,从而提升整体质量。 +.PD 0 +.RSs +.IPs 1 +第一阶段 +.IPs 2 +(二阶段编码模式中的)第二阶段 +.IPs 3 +第N阶段(三阶段编码模式的第二和第三阶段) +.RE +.RS +以下介绍的是其如何工作,以及使用这个参数: +.br +第一阶段(pass=1)收集视频上的统计信息,并将这些信息写入一个文件中。 +除了那些默认为打开的选项,你可能想关闭一些消耗CPU的选项。 +.br +在二阶段编码模式,第二阶段(pass=2)读取统计信息文件,并基于这个文件进行码率控制 +决策。 +.br +在三阶段编码模式中,第二阶段(pass=3——这是不打印错误)同时做两件事:其首先读取 +统计信息,然后重写这些统计信息。 +你可以使用所有的编码选项,除了那些十分消耗CPU的选项。 +.br +第三阶段(pass=3)与第二阶段相同,只是这一阶段基于第二阶段产生的统计信息工作。 +你可以使用所有的编码选项,包括消耗CPU的那些选项。 +.br +第一阶段可以使用平均比特率模式,或是使用恒定量化器模式。 +推荐使用ABR,因为该模式不需求猜测所要使用的量化器。 +后续的阶段是ABR模式的,并且必须指定比特率。 +.REss +. +.TP +.B turbo=<0\-2> +快速第一阶段模式。 +在二阶段或更多阶段编码的第一阶段中,可以通过禁用一些对于最终阶段输出质量影响甚 +小,甚至没有影响的选项,以提升运行速度。 +.PD 0 +.RSs +.IPs 0 +禁用(默认值) +.IPs 1 +减小subq、frameref的值,并且禁用一些宏块间划分分析的模式。 +.IPs 2 +减小subq、frameref至1,使用菱形运动估计搜索,并且禁用所有划分分析模式。 +.RE +.RS +第1级可以最多使第一阶段的速度加快至2倍,而与完全质量的第一阶段模式相比,对于最 +终阶段的全局PSNR没有任何改变。 +.br +第2级可以最多使第一阶段的速度加快至4倍,而与完全质量的第一阶段模式相比,对于最 +终阶段的全局PSNR有大约+/- 0.05dB的改变。 +.REss +. +.TP +.B keyint= +设置IDR帧间的最大间隔(默认值:250)。 +较大的值节省比特,从而提高质量,代价是降低播放中的定位精度。 +与MPEG-1/2/4不同,H.264在keyint值很大是并不受DCT漂移效应影响。 +. +.TP +.B keyint_min=<1\-keyint/2> +设置IDR帧间的最小间隔(默认值:25)。 +如果这个间隔中出现了场景切换,那么这个切换仍然编码为I帧,但不产生新的GOP。 +在H.264中,I帧并不一定约束出一个封闭的GOP,因为这里允许P帧在其前面的一帧之前预测 +出来(另参见frameref)。 +所以,I帧并不一定可用于播放定位。 +IDR帧限制其后续P帧,不让它们参照该IDR帧之前的帧。 +. +.TP +.B scenecut=<-1\-100> +控制插入额外I帧行为的激进程度(默认值:40)。 +当scenecut值小时,编解码器在即将超过keyint所规定值时总是强制使用I帧。 +scenectu值设置得好可能为I帧找到一个更好的位置。 +较大的数值导致使用多于所需要的I帧,从而浪费了比特。 +-1表示禁用场景切换侦测,这样I帧只有每过keyint个帧时才会插入一个,即使场景切换之 +前就已发生。 +这种方式不推荐使用,并且其浪费比特率,因为场景切换编码为P帧与编码为I帧几乎差不多 +大,但其并不重置‘keyint计数器’。 +. +.TP +.B frameref=<1\-16> +B帧和P帧中的预测器里所使用的之前出现的帧的数量(默认值:1)。 +该选项在动画是有效果的,但在实况视频素材中,大约6个参照帧之后参照帧的优化效果急 +剧下降。 +该选项对于解码速度没有影响,但确实增加了解码所需的内存量。 +某些解码器最多只能处理15个参照帧。 +. +.TP +.B bframes=<0\-16> +I帧和P帧之间连续出现的B帧的最大数量(默认值:0) +. +.TP +.B (no)b_adapt +自动决定何时使用B帧以及使用多少,数量上限为以上所指定的最大值(默认值:开启)。 +如果禁用了这个该项,那么将使用的B帧数为最大值。 +. +.TP +.B b_bias=<-100\-100> +控制b_adapt所做的决策。 +b_bias值最高产生的B帧越多(默认值:0)。 +. +.TP +.B (no)b_pyramid +允许B帧作用预测其它帧的参照帧。 +例如,考虑3个连续的B帧:IO B1 B2 B3 P4。 +不用这个选项的话,B帧的样式与MPEG-[124]中的一样。 +这样这些帧将以IO P4 B1 B2 B3的次序编码,而所有的B帧都是从IO和P4中预测出来的。 +使用了这个选项后,这些帧将编码为IO 04 B2 B1 B3。 +B2与前面所述的一样,但B1是从IO和B2预测出来的,而B3是从B2和P4预测出来的。 +这种方式通常产生稍许好一些的压缩效果,而几乎没有运行速度上的开销。 +然而,这是一个实验性的选项:没有完全调整好并且可能不能总是起作用。 +要求bframes >= 2。 +缺点:将解码延迟量增加至2帧。 +. +.TP +.B (no)deblock +使用反块效应滤镜(默认值:开启)。 +由于相对于其提高的质量而言,该选项占用极少时间,所以不推荐禁用这个选项。 +. +.TP +.B deblock=<-6\-6>,<-6\-6> +第一个参数是AlphaC0(默认值:0)。 +该参数调整的是H.264内循环反块效应滤镜所用的阈值。 +第一,该参数调整的是滤镜对于任何一个像素所允许产生的变动的最大数量。 +第二,该参数影响的是将被滤除的边界两侧差别的阈值。 +正数值使更多的块效应损伤得到削减,但同时也会损伤画面细节。 +.br +第二个参数是Beta(默认值:0)。 +该参数影响的是画面细节的阈值。 +细节很多的块将不被过滤,因为滤镜产生的平滑效果会比原来的块效应效果更加明显。 +.br +滤镜的默认行为几乎总是带来最优的质量,所以最好要么不调这个选项,要么只对其作少量 +调整。 +然而,如果你的源视频素材已经有一些块效应或噪声效果你想要去除,那么可能将这个选项 +调高一点是个不错的办法。 +. +.TP +.B (no)cabac +使用CABAC模式(Context-Adaptive Binary Arithmetic Coding,上下文自适应的二进制算 +术编码)(默认值:开启)。 +稍稍减慢编码和解码的速度,但应该可以节省10-15%的比特率。 +除非你要解码速度,否则你不该禁用这个选项。 +. +.TP +.B qp_min=<1\-51>(用于ABR或二阶段编码模式) +最小量化参数,10\-30似乎是一个有用的范围(默认值:10)。 +. +.TP +.B qp_max=<1\-51>(用于ABR或二阶段编码模式) +最大量化参数(默认值:51) +. +.TP +.B qp_step=<1\-50>(用于ABR或二阶段编码模式) +量化参数在帧之间增加/降低的最大数值(默认值:4) +. +.TP +.B ratetol=<0.1\-100.0>(用于ABR或二阶段编码模式) +相对于平均比特率的所允许的变化程度(不针对特定编码单元)(默认值:1.0) +. +.TP +.B vbv_maxrate=(用于ABR或二阶段编码模式) +局部最大的比特率,单位为千比特/\:秒(默认值:禁用) +. +.TP +.B vbv_bufsize=(用于ABR或二阶段编码模式) +计算vbv_maxrate时所使用的平均化周期,单位为千比特 +(默认值:无,如果启用了vbv_maxrate那么必须指定这个选项) +. +.TP +.B vbv_init=<0.0\-1.0>(用于ABR或二阶段编码模式) +初始缓冲占用量,为相对于vbv_bufsize值的一个分数(默认值:0.9) +. +.TP +.B ip_factor= +I帧和P帧间的量化参数因数(默认值:1.4) +. +.TP +.B pb_factor= +P帧和B帧间的量化参数因数(默认值:1.3) +. +.TP +.B qcomp=<0\-1>(用于ABR或二阶段编码模式) +量化器压缩率(默认值:0.6)。 +值越小使比特率越恒定, +而值越大使量化参数越恒定。 +. +.TP +.B cplx_blur=<0\-999>(仅用于二阶段编码模式) +估计出的帧复杂度的时间模糊度,应用于曲线压缩之前(默认值:20)。 +值越低则让量化参数值浮动得越多, +值越高则使其变化得越平滑。 +cplx_blur保证每个I帧的质量与其后的P帧相当,并保证复杂度高低交替变化的帧(例如, +低帧率的动画)不会因为量化参数的波动而浪费比特。 +. +.TP +.B qblur=<0\-99>(仅用于二阶段编码模式) +量化参数的时间模糊度,应用于曲线压缩之后(默认值:0.5)。 +值越低则允许量化参数浮动得越多, +值越高则使其变化得越平滑。 +. +.TP +.B zones=[/[/...]] +用户指定的用于影片特定部分(片尾、演职员表、……)的质量值。 +每个zone的格式是,,