7mod Feature
作者:pphh77
以下部分参数详解直接照搬upyzl的NMM的贴子和06_taro的原话,部分内容根据本人理解,可能有误欢迎指出.
1 Add support --chapter/--no-container-sar/--no-remux/--fragments
新增4个参数,当支持MP4输出为L-SMASH才能使用,且输出为MP4格式才能使用:
--chapter <string> Set the chapter list from chapter format file
--chpl-with-bom Add UTF-8 BOM to the chapter strings in the chapter list
--no-container-sar Disable sample aspect ratio within the container
--no-remux Inhibit auto-remuxing for progressive download
--fragments Enable movie fragments structure
2 Film Grain Optimization:
新增参数:--fgo
默认0 范围0~50 需要subme>=7 如果是2pass编码,且pass 1时没有使用--slow-firstpass,
则此参数在pass 1时强制归0(不影响pass 2)此参数会强制开启--no-fast-pskip
作用 顾名思义,主要针对film和grain类型视频的特别优化。
全称应该叫PSY Film Grain Optimization, 与x264现有的--psy-rd采用的算法不同。
具有抑制Banding产生的作用。一般不需要设很高的值,对动画来说5以内即可。
不熟的话最好用2pass斟酌比较看看。
3 Fade Compensation:
新增参数 --fade-compensate <float>
默认0.00 建议值0.00~1.00 注意如果使用了--no-psy或者--no-mbtree, 则此参数无效;
如果使用--weightp 0,则这个参数会自动+0.1
作用 为淡入淡出场景补偿/分配更多的码率。
对没有什么fade的场景一般不需要开,现在默认的--weightp 2在这方面就能处理得比较好。
4 Log file:
新增参数--log-file <string> --log-file-level <int/string>
其中CLI窗口部分为自动显示
作用 显示x264写入H.264 SEI的编码信息(即mediainfo里的Encoding Settings);额外以
文件形式保存x264在编码时的信息。
5 Encoding time
无参数被动使用。
作用 显示开始编码时间、结束编码时间,以及编码耗费时间。
6 New experimental AQ mode (modification of Auto-variance AQ)
新增官方参数的非官方使用值--aq-mode 3,--aq-mode 4,官方只有1和2
作用 两者都是BugMaster基于aq mode 2修改而来,AQ Mode 3相比Mode 2略微提升了SSIM,
速度上有略微损失(同码率,其余条件相同),不管哪种AQ Mode,应该结合具体视频和压制要求而定。
7 Print video info with lavf/ffms demuxer
无参数被动使用,直接使用x264对媒体文件编码,demuxer为lavf和ffms显示输入源文件的信息
8 Detect color matrix with lavf/ffms demuxer
无参数被动使用,当使用ffms和lavf自动根据源文件的matrix自动设置matrix
9 Fix AviSynth/swscale color space converting matrix
根据avs和swscale自动转换matrix,当宽度大于1024或者高大于576自动matrix为709,否则为601
10 don't show opencl help in opencl disabled builds
当编译时候禁用opencl时候,x264帮助不显示与之相关的参数,对于一般用户没什么用
11 version: print whether opencl is disabled or enabled
x264 --version参数时候显示编译opencl是否启用,对于一般用户没什么用
12 AviSynth 16bit hack
无参数,作用 让x264支持16bit AVS输入,而不需要通过avs2yuv pipe.
13 Skip bit depth filter when possible
无参数,作用当输入位深和输出位深一样,跳过x264内部的位深转换。
14 Level force
新增参数 --level-force
作用 强制level, 确保视频符合H.264 level规范。
15 Profile force
新增参数 --profile-force
作用阻止x264根据参数自动降低到其所需要的最低Profile
16 Remove stats before renaming
无参数被动使用,作用 2pass下对--stat相关有微量性能提升。
17 Add back "touhou" tune
增加tune的一个使用值"touhou" ,具体所对应的参数可以直接看帮助文档。
18 Utilize internal threading in lavf/ffms
新增参数 --demuxer-threads
支持ffms和lavf多线程demuxer
19 Support "dgi" file extension
支持dgi文件的直接输入,dgi是由dgindexnv生成,所对应的解码插件必须在avs安装目录的plugins
下才可以使用
20 Support "vpy" file extension
支持vpy文件的直接输入,关于vpy请google搜索VapourSynth这个软件
21 Support invoking LSMASHSource in avs demuxer
当直接输入媒体文件,且ffms和lavf没有被编译进去或者无法解码,则会以avs的方式打开输入文件
x264会自动按源滤镜FFmpegSource2->DSS2->DirectShowSource这几个来尝试打开源文件,这里就是增加LWLibavVideoSource
这个需要LSMASHSource.dll在avs安装目录的plugin才能使用,
所以新的顺序为:LWLibavVideoSource->FFmpegSource2->DSS2->DirectShowSource,
mp4/qt/mov/m4a/3gp/3g2优先调用LSMASHVideoSource
22 Auto VBV settings
新增加官方参数的非官方使用值
--vbv-maxrate <auto_high|auto_main|auto_high10|auto_high422|auto_high444>
--vbv-bufsize <auto_high|auto_main|auto_high10|auto_high422|auto_high444>
作用 根据--profile和--level的参数自动设定该H.264规格等级下对应的VBV数值
23 More detailed version head
详细的x264文件版本信息,包含x264编译时的位深(8bit或者10bit)、平台(x86或者x64),CHROMA FORMATS(420/422/444/all)
24 Add sar to x264 SEI info header (7mod only)
增加--sar 写入头文件,也就将sar这个参数也写入mediainfo里的Encoding Settings,官方版这个参数是不写入的,我觉得
这个有一定的参考价值,所以加上比较好。
25 Set thread execution state (7mod only)
阻止x264进入待机/睡眠,无参数被动使用.
26 More detailed "zones" help
增加--zones参数更加详细的帮助
27 Add a parameter to set level of writing options in User Data Unregistered SEI
新增参数 --opts --no-opts
--opts 1 只向压制写入x264的版本信息
--opts 2 只向压制文件写入编码设置,也就是mediainfo里的Encoding Settings。
--opts 3 同时想压制文件写入x264的版本信息和编码设置,效果和官方版一样,默认为3
--opts 0 不向压制文件写入x264的版本信息和编码设置
--no-opts 此参数等同于--opts 0,没有为--no-opts写帮助文件.
28 Separate I/P/B qpmin/qpmax parameters
增加官方参数的非官方使用值,作用可以分别限定I帧、P帧和B帧的最大QP值和最小QP值,官方原版只能
一起设置,使用方法--qpmin <integer>[:<integer>:<integer>] 举个例子:--qmin 2:18:56 --qmax 30:70:99
29 Use f3kdb for bit depth conversion when needed
使用f3kdb来进行位深转换,只有当输入位深不是16bit或者当输入位深和输出位深不相同的时候才开始工作,
且需要flash3kyuu_deband.dll在avs安装目录的plugins下才会自动使用。
30 Unofficial --device
新增参数 --device
可以使用的值为 dxva、bluray、psp、psv、ps3、xbox、xbox360、iphone、ipad、generic。
兼容某种设备的参数,例如 --device psv这样压制出来的文件可以在psv上播放,也可以这样
使用--device psv+ipad,这样出来的文件可以同时在这两种设备上播放。
31 Variable progress precision, print encoded file size & estimated total size
CLI编码显示已编码文件大小,预计最终文件大小,这个预计最终文件大小是根据已编码的文件大小和当前
码率得出的,码率是时时刻刻变化的,所以预计文件大小也会跟着变化,这个功能超出命令行屏幕缓冲区而导致
刷屏,请将命令行的窗口的屏幕缓冲区由默认的80改为120就可以了。
32 Add an option to use r2204 style progress indicator
新增参数 --stylish
这个原先x264开发者新设计的编码界面的显示风格,提交计数是第2204个git提交,后来因为不兼容很多gui工具,
如megui等被取消,使用--stylish后CLI按照这个风格来显示,具体效果自己使用看就可以了
33 AVI output
增加AVI格式输出,注意,avi不支持VFR,如果是vfr(动态帧率),请使用MP4、FLV和mkv输出,建议编译时候Libpack
请使用FFmpeg,不能使用Libav,经测试使用FFmpeg编译可以正常通过,Libav无法通过。
34 Add an option to specify lavf decoder
新增参数 --decoder
当使用lavf作为解码的时候指定解码器
有些视频解码在lavf也就是FFmpeg解码中有两个或者两个以上的解码器,通常解码器的效率是不同的,解码的效率
也会影响编码效率,如VP9的解码有官方libvpx和FFmpeg自己的VP9解码器,如果你的源是VP9格式的,可以指定选择
解码器,所以这个功能还和支持lavf的Libpack有关,假如你编译ffmpeg的时候根本就没有把libvpx编译进去,Libpack
中只有FFmpeg自己的VP9解码器,这时候没得选,目前能选择的就是vp9/libvpx-vp9,utvideo/libutvideo这两个可以选择。
35 Filters hqdn3d pad vflip yadif patch
增加官方参数的非官方使用值
hqdn3d
- 使用 --vf hqdn3d:ls,cs,lt,ct
- 作用 降噪滤镜,源于Mplayer,质量效果明显优于x264自带的--nr
pad
- 使用 --vf pad:[left][,top][,right][,bottom][,width][,height][,red][,green][,blue]
- 作用 加边。如跟640x360的视频上下各加60像素黑边补成640x480,则用--vf pad:0,60,0,60
vflip
- 使用 --vf vflip
- 作用 垂直翻转视频。
yadif
- 使用 --vf yadif:[mode][,order]
- 作用 反交错滤镜,源于Mplayer. 注意当同时resize时,必须先反交错。
36 Video filter: subtitles
增加内置字幕渲染,不用通过avs来支持字幕 新增参数 --sub
通过--sub "1.ass" --vf subtiltes来支持
32bit的x264需要和VSFilter.dll放在一起
64bit的x264需要和VSFilter64.dll放在一起
VSFilter.dll和VSFilter64.dll都需要06_taro编译的版本,可以去下载tMod里面包含。
37 Auto keyint (7mod only)
自动设定keyint,增加官方参数的非官方使用值
当使用值为负数或者auto的时候自动设定次参数的值为帧率的10倍
举例 --keyint auto
38 Improve compability with AviSynth+
改进avs+的兼容性在无avs脚本下
39 Cosmetics: cli log info (7mod only)
改进cli log 信息, 显示当前x264版本号 ,无参数被动使用.
40 K-means weightp (7mod only)
增加官方参数的非官方使用值
--weightp 3
K-Means search,存在部分老版本解码器的兼容性,慎用.
38 TriAQ
新增参数以下参数,除了--aq3-mode支持的数据类型为整数,其余都是浮点,也就是可以是小数,具体查看x264 --fullhelp
--aq-sensitivity
--aq-ifactor
--aq-bfactor
--aq2-strength
--aq2-sensitivity
--aq2-ifactor
--aq2-pfactor
--aq2-bfactor
--aq3-mode
--aq3-strength
--aq3-sensitivity
--aq3-ifactor
--aq3-pfactor
--aq3-bfactor
--aq3-boundary
实际上是由06_taro把OreAQ以aq3合并进MixAQ替换的官方版的AQ,这个新的合体就就是TriAQ,
这样两种AQ可以一起使用,凡是以aq3开头的参数实际就是原来OreAQ的参数。
由于我本人对这样参数也不是很理解,使用也没有经验,引用一些相关资料,总之这些参数不懂就不要动,用好了是神器,用不好会出
很大问题,属于高度实验性且危险的东西。
MixAQ是现在官方x264的Variance AQ和更早期的具高度实验性质的Haali AQ这两个AQ混合,也可以设参数只去其一起效;另AQ可设置方面也有所增强
OreAQ的思路是按照Luma和Chroma(主要是前者)将mb分为四种:Bright, Middle, Dark, M.Dark。OreAQ降低或保持Middle类mb的qp值分配,
而适当提高其他三种的qp值。详见: http://forum.doom9.org/showthread.php?p=1172141#post1172141