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