x264中的参数说明

    技术2022-05-20  44

    帧类型选项:

    -I/–keyint <整数> 最大IDR帧间距,默认250-i/–min-keyint <整数> 最小IDR帧间距,默认25–scenecut <整数> 画面动态变化限,当超出此值时插入I帧,默认40–pre-scenecut         更快,但低精度的画面动态检测,需要多线程,并且在启用多线程时自动打开。-b/–bframes <整数>     在IP帧之间可插入的B帧数量最大值,范围0~16,默认0-b-adapt 自适应B帧判定模式。 0:关闭;1:快速;2:优化(高B帧时速度大大下降),默认1–b-bias <整数> 控制插入B帧判定,范围-100~+100,越高越容易插入B帧,默认0–b-pyramid             允许B帧做参考帧–no-cabac              关闭内容自适应二进制算术编码(CABAC,高效率的熵编码)(会提高速度,但严重影响质量)-r/–ref <整数>         最大参考帧数,范围0~16,默认1–no-deblock            关闭环路滤波(一种除马赛克算法)-f/–filter <alpha:beta>设置环路滤波的AlphaC和Beta的参数,范围-6-6,默认都为0–interlaced 启用纯交错模式(用于隔行扫描的源)

    码率控制选项:

    -q/–qp <整数> 固定量化模式并设置使用的量化值,范围0~51,0为无损压缩,默认26-B/–bitrate <整数> 设置平均码率–crf <整数> 质量模式,量化值动态可变–vbv-maxrate <整数> 平均码率模式下,最大瞬时码率,默认0(与-B设置相同)–vbv-bufsize <整数> 码率控制缓冲区的大小,单位kbit,默认0–vbv-init <小数> 码率控制缓冲区数据保留的最大数据量与缓冲区大小之比,范围0~1.0,默认0.9–qpmin <整数> 设置最小量化值,范围0~51,默认10–qpmax <整数> 设置最大量化值,范围0~51,默认51–qpstep <整数> 设置相邻帧之间的量化值差,范围0~50,默认4–ratetol <小数> 平均码率模式下,瞬时码率可以偏离的倍数,范围0.1~100.0,默认1.0–ipratio <小数> I帧和P帧之间的量化系数,默认1.40–pbratio <小数> P帧和B帧之间的量化系数,默认1.30–chroma-qp-offset <整数> 色度和亮度之间的量化差,范围-12~+12,默认0–aq-mode <整数>     自适应量化模式,可以在1帧中不同宏块间重新分配量化值,能提高暗部细节,但会提高码率。与–qp不能同时使用,0关闭,1开启,默认1–aq-strength <小数>   AQ强度,减小低细节宏块的量化值,默认1.0-p/–pass <1|2|3> 多次压缩码率控制1:第一次压缩,创建统计文件2:按建立的统计文件压缩并输出,不覆盖统计文件,3:按建立的统计文件压缩,优化统计文件–stats <字符串> 统计文件的名称,默认"x264_2pass.log"–qcomp <小数> 线性量化控制,0.0为固定码率,1.0为固定量化值,默认0.6,只用于2-pass和质量模式–cplxblur <小数> 根据相邻帧平滑量化值比例的最大值,范围0~99.9,默认20.0,只用于2-pass和质量模式–qblur <小数> 对统计文件结果平滑量化值比例的最大值,范围0~99.9,默认0.5,只用于2-pass–zones <z0>/<z1>/… 分段量化,格式为:<开始帧>,<结束帧>,<选项>,可选项为:q=<整数>(量化值)或b=<小数>(码率倍数)–qpfile <字符串>      强制帧的类型和量化值

    分析选项:

    -A/–analyse <字符串> 动态块划分方法,默认"p8x8,b8x8,i8x8,i4x4"。可选项:p8x8/p4x4/b8x8/i8x8/i4x4;none/all(p4x4需要p8x8. i8x8需要–8x8dct)–direct <字符串>       动态预测方式,默认"spatial"。可选项:none/spatial/temporal/auto–direct-8×8 <-1|0|1>   动态预测方式宏块大小。 0: 4×4、1: 8×8、-1:尽可能减小体积,默认1-w/–weightb 允许B帧加权预测(可以减少相邻B帧质量低的影响)–me <字符串> 对全像素块动态预测搜索的方式,默认"hex",可选项:dia:菱形搜索,半径1 (快)hex:正六边形搜索,半径2umh:可变半径六边形搜索esa:全面搜索(很慢,而且效果与umh几乎相同)tesa: 用hadamard方式进行全面搜索,比esa更慢–merange <整数> –me为umh/esa时的搜索半径,最大64,默认16–mvrange <整数>     设置运动矢量的最大范围,默认-1(自动确定)–mvrange-thread <整数>  线程间最小缓冲,用于一些播放器的兼容性,默认-1(自动确定)-m/–subme <整数> 动态预测和分区方式,可选项1~9,默认6(与压缩质量和时间关系密切,1是7速度的四倍以上)1:用全像素块进行动态搜索,对每个块再用快速模式进行四分之一像素块精确搜索2:用半像素块进行动态搜索,对每个块再用快速模式进行四分之一像素块精确搜索3:用半像素块进行动态搜索,对每个块再用质量模式进行四分之一像素块精确搜索4:用快速模式进行四分之一像素块精确搜索5:用质量模式进行四分之一像素块精确搜索6:进行I、P帧像素块的速率失真最优化(rdo)7:进行全部帧像素块的速率失真最优化8:进行I、P帧运动矢量及块内部的速率失真最优化9:进行全部帧运动矢量及块内部的速率失真最优化(质量最好)–psy-rd 在rdo中使用Psy算法(一种心理视觉模型)和Psy-Trellis量化,可提高细节,但会大幅提高码率。需要-m>6。默认 ["1.0:0.0"]。第一个值为Psy-rdo强度,第二个值为Psy-Trellis强度。–mixed-refs 可以在一帧内使用不同参考帧–no-chroma-me 不进行色度的动态预测-8/–8x8dct 可以使用8×8的离散余弦变换(DCT)-t/–trellis <整数>     Trellis量化,对每个8×8的块寻找合适的量化值,需要CABAC,默认00:关闭1:只在最后编码时使用2:一直使用–no-fast-pskip 关闭快速P帧跳过检测–no-dct-decimate       关闭P帧联合编码(可以增加细节,但也会增大体积)–nr <整数> 噪声去除,范围0~100000,默认0–deadzone-inter <整数>  设置inter模式下,亮度死区量化值,范围0~32,默认21。–deadzone-intra <整数>  设置intra模式下,亮度死区量化值,范围0~32,默认11。–cqm <字符串> 设置外部量化矩阵格式,默认"flat",可选项:jvt/flat–cqmfile <字符串> 读取JM格式的外部量化矩阵文件,自动忽略其他–cqm*选项–cqm4 <list> 设置4×4的量化矩阵,用逗号分开,范围1~255的16个整数–cqm8 <list> 设置8×8的量化矩阵,用逗号分开,范围1~255的64个整数–cqm4i/–cqm4p/–cqm8i/–cqm8p 设置I、P帧不同的量化矩阵–cqm4iy/–cqm4ic/–cqm4py/–cqm4pc 设置亮度、色度不同的量化矩阵

    视频标准化选项:这些选项与编码无关,不过如果要用mp4之类的播放器,可以设置,风险自担

    –overscan <字符串> 过扫描线,默认"undef"(不设置),可选项:show(观看)/crop(去除)–videoformat <字符串> 视频格式,默认"undef",可选项:component/pal/ntsc/secam/mac/undef–fullrange <字符串>    Specify full range samples setting,默认"off",可选项:off/on(我也不明白这是干什么的,请高手指点)–colorprim <字符串>    原始色度格式,默认"undef",可选项:undef/bt709/bt470m/bt470bg,

    smpte170m/smpte240m/film–transfer <字符串>     转换方式,默认"undef",可选项:

    undef/bt709/bt470m/bt470bg/linear,log100/log316/smpte170m/smpte240m–colormatrix <字符串>  色度矩阵设置,默认"undef",undef/bt709/fcc/bt470bg,smpte170m/smpte240m/GBR/YCgCo–chromaloc <整数> 色度样本指定,范围0~5,默认0

    输入、输出选项:

    -o/–output 指定输出文件–sar width:height 设置采样比例设置,表示采样像素长宽比–fps <小数|rational> 设定帧率–seek <整数> 设定起始帧–frames <整数> 最大编码帧数–level <字符串> 类似于MPEG4里的"profile&level",表示编/解码等级-v/–verbose 显示每一个帧的信息–progress 显示编码进程–quiet 安静模式–no-psnr 关闭PSNR计算–no-ssim            关闭SSIM计算–threads <整数> 编码线程(使用多线程技术)–thread-input 在自有线程中运行Avisynth–non-deterministic   非确定性。可以稍微减少多线程的开销–asm <整数> 覆盖CPU检测–no-asm 关闭全部CPU优化指令–visualize 显示编码帧信息图,和XVID类似–dump-yuv <字符串>   保存帧为yuv格式–sps-id <整数> 设置SPS和PPS的ID值,默认0–aud 使用数据定义符号


    最新回复(0)