x264命令行参数解释
作者: kykdu     
2006-09-14  
    本文对应的是x264命令行模式,VFW方式也用相同的参数,不过是图形界面,可以自己找对应的英文。

使用格式:x264 默认选项 -o 输出文件 输入文件 [长x宽]
输入支持格式:RAW/y4m/avi/avs(编译时可选)
输出支持格式:264/mkv/mp4(编译时可选)

x264的许多参数可以有-/--两种输入法,笔者也不知道为什么。以下等价参数用“参数1/参数2 <必需数值格式>”表示,参数尾部()内为个人推荐。

-h/--help 帮助

帧类型选项:

-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=<小数>(码率倍数)

分析选项:

-A/--analyse <字符串> 动态块划分方法,默认"p8x8,b8x8,i8x8,i4x4"。可选项:p8x8/p4x4/b8x8/i8x8/i4x4;none/all(p4x4需要p8x8. i8x8需要--8x8dct)
--direct <字符串>       动态预测方式,默认"spatial"。可选项:none/spatial/temporal/auto
-w/--weightb 允许B帧加权预测(可以减少相邻B帧质量低的影响)
--me <字符串> 对全像素块动态预测搜索的方式,默认"hex",可选项:
dia:菱形搜索,半径1 (快)
hex:正六边形搜索,半径2
umh:可变半径六边形搜索
esa:全面搜索(很慢,而且效果与umh几乎相同)
--merange <整数> --me为umh/esa时的搜索半径,最大64,默认16
-m/--subme <整数> 动态预测和分区方式,可选项1~7,默认5(与压缩质量和时间关系密切,1是7速度的四倍以上)
1:用全像素块进行动态搜索,对每个块再用快速模式进行四分之一像素块精确搜索
2:用半像素块进行动态搜索,对每个块再用快速模式进行四分之一像素块精确搜索
3:用半像素块进行动态搜索,对每个块再用质量模式进行四分之一像素块精确搜索
4:用快速模式进行四分之一像素块精确搜索
5:用质量模式进行四分之一像素块精确搜索
6:进行I、P帧像素块的速率失真最优化(rdo)
7:进行I、P帧运动矢量及块内部的速率失真最优化(质量最好)
--b-rdo B帧也进行rdo,需要--subme在6以上
--mixed-refs 可以在一帧内使用不同参考帧
--no-chroma-me 不进行色度的动态预测
--bime 可以平均B帧参考块的运动矢量
-8/--8x8dct 可以使用8x8的离散余弦变换(DCT)
-t/--trellis <整数>     Trellis量化,对每个8x8的块寻找合适的量化值,需要CABAC,默认0
0:关闭
1:只在最后编码时使用
2:一直使用
--no-fast-pskip 关闭快速P帧跳过检测
--no-dct-decimate       关闭P帧联合编码(可以增加细节,但也会增大体积)
--nr <整数> 噪声去除,范围0~100000,默认0

--cqm <字符串> 设置外部量化矩阵格式,默认"flat",可选项:jvt/flat
--cqmfile <字符串> 读取JM格式的外部量化矩阵文件,自动忽略其他--cqm*选项
--cqm4 <list> 设置4x4的量化矩阵,用逗号分开,范围1~255的16个整数
--cqm8 <list> 设置8x8的量化矩阵,用逗号分开,范围1~255的64个整数
--cqm4i/--cqm4p/--cqm8i/--cqm8p 设置I、P帧不同的量化矩阵
--cqm4iy/--cqm4ic/--cqm4py/--cqm4pc 设置亮度、色度不同的量化矩阵

视频标准化选项:
这些选项与编码无关,不过如果要用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 使用数据单元定义符号

from:http://bbs.siluhd.com/forum.php?mod=viewthread&tid=213396&highlight=

x264命令行参数解释相关推荐

  1. x264学习(2)——x264命令行参数解释

    原文地址:http://blog.csdn.net/liuchen1206/article/details/44174741 词汇翻译: macroblock:宏区块.是一种图像压缩的术语. 宏区块是 ...

  2. fastcopy 命令行参数解释

    为什么80%的码农都做不了架构师?>>>    FASTCOPY可以在WINDOWS下使用,也可以在DOS下运行命令 下面是FASTCOPY命令行方式: fastcopy.exe [ ...

  3. 命令行参数argc和argv的解释

    今日学习到K&R第5.10节,谈及命令行参数argc和argv,以下是本人的一些见解和思考. 在C语言环境中,main函数的括号里会有两个参数:argc和argv. 例如: int main( ...

  4. 【linux】Valgrind工具集详解(八):Memcheck命令行参数详解

    [linux]Valgrind工具集详解(五):命令行详解中不够全,在此专门针对Memcheck工具中的命令行参数做一次详细的解释. Memcheck命令行选项 –leak-check=<no| ...

  5. Python 获得命令行参数的方法

    本篇将介绍python中sys, getopt模块处理命令行参数 如果想对python脚本传参数,python中对应的argc, argv(c语言的命令行参数)是什么呢? 需要模块:sys 参数个数: ...

  6. [转]Python 命令行参数和getopt模块详解

    FROM : http://www.tuicool.com/articles/jaqQvq 有时候我们需要写一些脚本处理一些任务,这时候往往需要提供一些命令行参数,根据不同参数进行不同的处理,在Pyt ...

  7. python命令行参数处理

    使用sys.argv获得参数,使用getopt和optparse两个内建的模块处理命令行参数: getopt,只能简单处理 命令行参数: optparse,它功能强大,而且易于使用,可以方便地生成标准 ...

  8. 如何将命令行参数传递给Node.js程序?

    我有一个用Node.js编写的Web服务器,我想使用一个特定的文件夹启动. 我不确定如何在JavaScript中访问参数. 我正在像这样运行节点: $ node server.js folder 这是 ...

  9. python 命令行参数处理 getopt模块详解

    有时候我们需要写一些脚本处理一些任务,这时候往往需要提供一些命令行参数,根据不同参数进行不同的处理,在Python里,命令行的参数和C语言很类似(因为标准Python是用C语言实现的).在C语言里,m ...

最新文章

  1. 还不错的Table样式和form表单样式
  2. 学习Linux命令神器-看不懂直接给你解释
  3. 图解第一个Matlab仿真实例
  4. 成功解决raise ValueError(‘No model found in config file.‘) ValueError: No model found in config file.
  5. Go 导入当前项目下的包
  6. python3seek_Python3 file.seek()方法
  7. leetcode743. 网络延迟时间(迪杰斯特拉算法)
  8. 偶然发现一个大佬写的 React 脚手架,叫Moderate, 用起来很方便
  9. apex图表使用饼图居中_饼图若只有一个值的时候,normal.label.position='center'时,label居中指的是DOM居中而不是图表居中...
  10. GPU是如何工作的?
  11. c语言中的数组二分法排序程序,#C语言#二分法查找有序数组
  12. 宝宝树发行价为6.8港元 11月27日在港交所正式挂牌
  13. 微软回应法国指责Win10过度收集隐私数据:将更新隐私声明
  14. TracKit-Ocean:目标跟踪网络(二) -- 运行问题及解决逻辑设计
  15. 小呆学数据分析——用duplicated/drop_duplicates方法进行重复项处理
  16. Flutter如何有效地退出程序
  17. 淮阴工学院计算机网络题库,淮阴工学院计算机导论题库.doc
  18. centOS6.5中部署java调用h2o中python包环境
  19. 怎么样用计算机计算上浮的价格,原价上上涨百分比怎么算
  20. DINE: Domain Adaptation from Single and Multiple Black-box Predictors

热门文章

  1. 针对Typora for Win v0.11.18最后一个免费版本安装后提示更新解决办法This beta version of Typora Q is expired
  2. 程序员如何写好一篇技术文章?
  3. 双非渣本,5年从三流外包到阿里P6,面筋分享,给2021的移动开发一些建议
  4. 游标v_cur的%notfound
  5. NOSQL 之 Graph Database 之 neo4j
  6. 破解TP-Link路由-嗅探PPPoE拨号密码
  7. 谷歌帮——中国最牛的创业帮派
  8. 这些支付的负面记录,分分钟影响你的贷款
  9. 【线段树】[LUOGU 守墓人] [LUOGU 维护序列] 线段树模板题
  10. 自我认知(一)——打破思维的枷锁