X264命令含参数实例与参数详解

来源:互联网 发布:superjunior厂牌知乎 编辑:程序博客网 时间:2024/06/06 05:01

参数实例:

./x264  -o  720p.264  1280x720.yuv -q 28
720p.264:输出文件名称 ,也就是编码后文件名称,要以分辨率名称命名
1280x720.yuv:输入文件名称,要以分辨率命名
-q 28: 参考后面参数解析

./x264  -o  qvga.264  320x240.yuv -q 28

./x264  -o  qvga.264  320x240.yuv -q 28 --fps 10.0


各种分辨率分辨率名称对应如下:
1080p: 1920x1080、  1920x1088
  720p:  1280x720p
  480p:  720x480、  640x480、  704x480
  qvga:  320x240
      cif:      352x288
    qcif    176x144 

帧类型选项:

-I/--keyint<整数> 最大IDR帧间距,默认250-i/--min-keyint<整数> 最小IDR帧间距,默认25--scenecut  <整数> 画面动态变化限,当超出此值时插入I帧,默认40-b/--bframes<整数> 在IP帧之间可插入的B帧数量最大值,范围0~16,默认0--no-b-adapt  关闭自适应B帧判定(-b设为1时可用,其他不推荐)--b-bias<整数> 控制插入B帧判定,范围-100~+100,越高越容易插入B帧,默认0--b-pyramid    允许B帧做参考帧--no-cabac  关闭内容自适应二进制算术编码(CABAC,高效率的熵编码)(会提高速度,但严重影响质量)-r/--ref<整数>  最大参考帧数,范围0~16,默认1--nf 关闭环路滤波(一种除马赛克算法)-f/--filter<alpha:beta>设置环路滤波的AlphaC和Beta的参数,范围-6-6,默认都为0

码率控制选项:

-q/--qp             <整数> 固定量化模式并设置使用的量化值,范围0~51,0为无损压缩,默认26
-B/--bitrate       <整数> 设置平均码率
--crf                 <整数> 质量模式,量化值动态可变(目前不太成熟,质量不如设置固定量化值)
--qpmin            <整数> 设置最小量化值,范围0~51,默认10
--qpmax            <整数> 设置最大量化值,范围0~51,默认51
--qpstep          <整数> 设置相邻帧之间的量化值差,范围0~50,默认4
--ratetol          <小数> 平均码率模式下,瞬时码率可以偏离的倍数,范围0.1~100.0,默认1.0
--vbv-maxrate  <整数> 平均码率模式下,最大瞬时码率,默认0(与-B设置相同)
--vbv-bufsize       <整数> 码率控制缓冲区的大小,单位kbit,默认0
--vbv-init          <小数> 码率控制缓冲区数据保留的最大数据量与缓冲区大小之比,范围0~1.0,默认0.9
--ipratio           <小数> I帧和P帧之间的量化系数,默认1.40
--pbratio             <小数> P帧和B帧之间的量化系数,默认1.30
--色度-qp-offset <整数> 色度和亮度之间的量化差,范围-12~+12,默认0
-p/--pass <1|2|3> 多次压缩码率控制
          1:第一次压缩,创建统计文件
          2:按建立的统计文件压缩并输出,不覆盖统计文件,
          3:按建立的统计文件压缩,优化统计文件
--stats           <字符串> 统计文件的名称,默认"x264_2pass.log"
--rceq            <字符串> 速率控制公式,默认"blurCplx^(1-qComp)"
--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=<小数>(码率倍数)

视频标准化选项:

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

--sar width:height 设置长宽比

--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


输入、输出选项:

--level              <字符串> 设定等级(as defined by Annex A)
--fps                 <小数> 设定帧率
--seek              <整数> 设定起始帧
--frames           <整数> 最大编码帧数
-o/--output       指定输出文件
--threads         <整数> 编码线程(使用分片技术)
--thread-input  在编码线程中运行Avisynth
--no-asm          关闭全部CPU优化指令
--no-psnr         关闭PSNR计算
--quiet             安静模式
-v/--verbose    显示每一个帧的信息
--progress       显示编码进程
--visualize       显示运动矢量
--sps-id          <整数> 设置SPS和PPS的ID值,默认0
--aud              使用数据单元定义符号