zoukankan      html  css  js  c++  java
  • x264命令参数与代码中变量的对应关系

    帧类型选项:

     -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
    i_deblocking_filter_beta
     设置环路滤波的AlphaC和Beta的参数,范围-6~6,默认都为0


    码率控制选项:

     -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 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  显示每一个帧的信息
     --visualize  b_visualize  显示运动矢量
     --sps-id    设置SPS和PPS的ID值,默认为0
     --aud  b_aud  使用数据单元定义符号
     --progress  b_progress  显示编码进程
  • 相关阅读:
    接入微信公众平台开发之用户关注(取消)事件触发后台自定义消息体通知给用户的实现过程
    谈缓存数据库在web开发中的重要性
    在linux服务器下日志提取的python脚本(实现输入开始时间和结束时间打包该时间段内的文件)
    关于java多线程任务执行时共享资源加锁的方式思考
    关于近期开发中遇到的同一账户多人登录造成数据库数据不一致的思考和解决(避开了数据库存状态的常用处理手段)
    spingmvc实现在程序启动时调用数据库数据
    一个前端统计图,柱形图,饼状图,折线图的前端链接
    取得ascii的例子
    BCB 延时DelayTime
    C++ Builder中串口通讯的经验之谈
  • 原文地址:https://www.cnblogs.com/icoolmedia/p/x264_params_desc.html
Copyright © 2011-2022 走看看