您的位置:首页 > 编程语言

x264命令参数与相关代码对应关系

2015-02-03 10:14 120 查看


x264命令参数与相关代码对应关系

(2015-02-03 08:44:46)


转载▼

标签:


x264


h.264

作者博客地址:http://blog.sina.com.cn/s/blog_7ba0009b0102vd4o.html

帧类型选项:

-I/--keyint i_keyint_max 最大IDR帧间距,默认为250

-i/--min-keyint i_keyint_min 最小IDR帧间距,默认为25

--scenecut i_scenecut_threshold 画面动态变化阈值,当超出此值时插入I帧,默认为40

-b/--bframes i_bframe 在IP帧之间可插入的B帧数目最大值,范围0~16,默认值为0

-no-b-adapt b_bframe_adaptive 关闭自适应B帧判定(-b为1时可用,其他不推荐)

--b-bias i_bframe_bias 控制插入B帧判定,范围-100~+100,越高越容易插入B帧,默认为0

--b-pyramid b_bframe_pyramid 允许B帧做参考帧

--no-cabac b_cabac 关闭内容自适应二进制算术编码(CABAC,高效率的熵编码)(会提高速度,但会严重影响质量)

-r/--ref i_frame_reference 最大参考帧数,范围0~16,默认为1

--nf b_deblocking_filter 关闭环路滤波

-f/--filter i_deblocking_filter_alphac0 设置环路滤波的AlphaC和Beta的参数,范围-6~6,默认都为0

i_deblocking_filter_beta

码率控制选项:

-q/--qp rc.i_qp_constant 固定量化模式并设置使用的量化值,范围0~51,0为无损压缩默认为26

-B/--bitrate rc.i_bitrate,rc.b_cbr 设置平均码率

--crf rc.i_rf_constant 质量模式,量化值动态可变

--qpmin rc.i_qp_min 设置最小量化值,范围0~51,默认为10

--qpmax rc.i_qp_max 设置最大量化值,范围0~51,默认为51

--qpstep rc.i_qp_step 量化步长,范围0~50,默认为4

--ratetol rc.f_rate_tolerance 平均码率下,瞬时码率可以偏离的倍数,范围0.1~100.0,默认为1.0

--vbv-maxrate rc.i_vbv_max_bitrate 平均码率下,最大瞬时码率,默认为0(与-B设置相同)

--vbv-bufsize rc.i_vbv_buffer_size 码率控制缓冲区的大小,单位Kbit,默认为0

--vbv-init rc.f_vbv_buffer_init 码率控制缓冲区数据保留的最大数据量与缓冲区大小之比,范围0~1.0,默认为0.9

--ipratio rc.f_ip_factor I帧和P帧之间的量化系数,默认为1.40

--pbratio rc.f_pb_factor P帧和B帧之间的量化系数,默认为1.30

--chroma-qp-offset analyse.i_chroma_qp_offset 色度和亮度之间的量化差,范围-12~+12,默认为0

-p/--pass rc.b_stat_write,b_stat_read 多次压缩编码控制

--stats rc.psz_stat_in,rc.psz_stat_out 统计文件的名称,默认"x264_2pass.log"

--rceq rc.psz_rc_eq 速率控制公式,默认"blurCplx^(1-qComp)"

--qcomp rc.f_qcompress 线性量化控制,0.0为固定码率,1.0为固定量化值,默认0.6只用于2-pass和质量模式

--cplxblur rc.f_complexity_blur 根据相邻帧平滑量化值比例的最大值,范围0~99.0,默认20.0,只用于2-pass和质量模式

--qblur rc.f_qblur 对统计文件结果平滑量化值比例的最大值,范围0~99.9,默认0.5只用于2-pass

--zones rc.psz_zones 分段量化,格式为:<开始帧>,<结束帧>,<选项>可选项为:q=<整数>或b=<小数>

模式抉择分析选项:

-A/--analyse analyse.inter 块划分方法,默认"p8x8,b8x8,i8x8,i4x4",可选项:p8x8/p4x4/b8x8/i8x8/84x4;none/all

--direct analyse.i_direct_mv_pred 动态预测方式,默认"spatia"。可选项:none/spatial/temporal/auto

-w/--weightb analyse.b_weighted_bipred 允许B帧加权预测

--me analyse.i_me_method 对全像素块动态预测搜索的方式,默认"hex",可选项如下:

dia:菱形搜索,半径1

hex:正六边形搜索,半径2

umh:可变半径六边形搜索;

esa:全局搜索

--merange analyse.i_me_range 选项--me为umh/esa时的搜索半径,最大64,默认16

-m/--subme analyse.i_subpel_refine 动态预测和分区方式,可选项1~7,默认5

1:用全像素块进行动态搜索,对每个块再用快速模式进行四分之一像素块精确搜索。

2:用半像素块进行动态搜索,对每个块再用快速模式进行四分之一像素块精确搜索。

3:用全像素块进行动态搜索,对每个块再用质量模式进行四分之一像素块精确搜索。

4:用快速模式进行四分之一像素块精确搜索

5:用质量模式进行四分之一像素块精确搜索

6:进行I,P帧像素块的速率失真最优化(rdo)

7:进行I,P帧运动矢量及块内部的速率失真最优

--b-rdo analyse.b_bframe_rdo B帧也进行RDO,需要--subme在6以上

--mixed-refs analyse.b_mixed_references 可以在一帧内使用不同参考帧

--no-chroma-me analyse.b_chroma_me 不进行色度的动态预测

--bime analyse.b_bidir_me 可以平均B参考块的运动矢量

-8/--8x8dct analyse.b_transform_8x8 可以使用8x8的DCT

-t/--trellis analyse.i_trellis Trellis量化,对每个8x8的块寻找合适的量化值,需要CABAC,默认0

0:关闭

1:只在最后编码时使用

2:一直使用

--cqm i_cqm_preset 设置外部量化矩阵,默认"flat",可选项"jvt/flat"

--cqmfile psz_cqm_file 读取JM格式的外部量化矩阵文件,自动忽略其他--cqm*选项

--cqm4 i_cqm_preset

cqm_4iy,cqm_4ic,cqm_4py,cqm_4pc 设置4x4的量化矩阵,用逗号分开,范围1~255的16个整数

--cqm8 i_cqm_preset

cqm_8iy,cqm_8py 设置8x8的量化矩阵,用逗号分开,范围1~255的64个整数

--cqm4i/--cqm4p/

--cqm8i/--cqm8p 设置IP帧不同的量化矩阵

--cqm4iy/--cqm4ic/

--cqm4py/--cqm4pc 设置亮度,色度不同的量化矩阵

视频标准化选项:

--sar width:height vui.i_sar_width,vui.i_sar_height 设置长宽比

--overscan vui.i_overscan 过扫描线,默认"undef",可选项:show/crop

--videoformat vui.i_vidformat 视频模式,默认"undef",可选项:component/pal/ntsc/secam/mac/undef

--fullrange vui.b_fullrange Specify
full range samples setting,默认"off",可选项:off/on

--colorprim vui.i_colorprim 原始色度格式,默认"undef",可选项:

undef/bt709/bt470m/bt70gbg,smpte170m/smpte240m/film

--transfer vui.i_transfer 转换方式:默认"undef",可选项:

undef/bt709/bt470m/bt470bg/inear,log100/log316/smptel70m/smpte240m

--colormatrix vui.i_colmatrix 色度距阵设置,默认"undef",可选项: undef/bt709/fcc/bt470bg,smpte170m/smpte240m/GBR/YcgCo

--chromaloc vui.i_chroma_loc 色度样本指定,范围0~5,默认0

输入/输出选项:

--level i_level_idc 设定等级

--fps i_fps_num,i_fps_den 设定帧率

--seek 设定起始帧

--frames i_frame_total 最大编码帧数

--o/--output 指定输出文件

--threads i_threads 编码线程

--thread-input 在编码线程中运行Avisynth

--no-asm cpu 关闭全部CPU优化命令

--no-psnr analyse.b_psnr 关闭PSNR计算

--quiet i_log_level 安静模式

-v/--verbose i_log_level 显示每一个帧的信息

--progress b_progress 显示编码进程

--visualize b_visualize 显示运动矢量

--sps-id 设置SPS和PPS的ID值,默认为0

--aud b_aud 使用数据单元定义符号
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: