h264(8)---------------x264参数

预设值

preset fast/slow 

 --preset的参数主要调节编码速度和质量的平衡,有ultrafast、superfast、veryfast、faster、fast、medium、slow、slower、veryslow、placebo这10个选项,从快到慢

 

 --tune的参数主要配合视频类型和视觉优化的参数,或特别的情况。如果视频的内容符合其中一个可用的调整值又或者有其中需要,则可以使用此选项,否则建议不使用(如tune grain是为高比特率的编码而设计的)。

tune的值有: film:  电影、真人类型; 

 

帧相关参数

keyint gop的大小

min_keyint 场景切换的时候如果发现变化率超过了scenecut设定的值并且超过了min_keyint的值就插入一个I帧

scenecut 场景切换的时候变化多少算切换

bframes 连续B帧的数量 一般不超过3帧

ref 参考帧的数量,解码器中存放的参考帧的数量

no-deblock/block 去块滤镜

no-cabac 是否使用cabac压缩

 

码流控制

Qp 关注量化器,比crf码流大且与bitrate/crf互斥。一般而言crf都能代替QP模式,不过QP因为完全不需要预测所以它会运行地更快些。

Bitrate 关注码流,无法控制质量

crf 关注质量,默认是23,数值越低越好

 

量化器的取值

Qmin 10

Qmax51

Qpstep 两帧之间量化器的最大变化,默认为4

 

 

编码分析

partitions

默认:’p8x8,b8x8,i8x8,i4x4′

说明:H.264在压缩前会被切分为16×16大小的宏块。这些块可被进一步切分成更小的块,利用此参数,可以控制不同的帧类型(I、P、B)开启更细的帧切分(8×8、4×4),具体参数如下:

I帧:i8x8、i4x4;

P帧:p8x8(会同时开启p16x8和p8x16)、p4x4(会同时开启p8x4和p4x8);

B帧:b8x8(会同时开启b18x8和b8x16);

另外,也可以设置为’none’和’all’。一般而言,开启p4x4不会带来多少的质量提升,而且它极其耗时,是个性价比比较低的选项。

 

me

默认:’hex’

说明:设置全局的运动预测方法,有以下5种选择:

dia(四边形搜索) —— 最简单的搜索,从最乐观的情况开始预测,在运动矢量的上下左右分别偏移一个像素对比,选择其中最好的,循环直至找不到更匹配的运动矢量。

hex(六边形搜索) —— 和菱形差不多的策略,不同的是,它在6边形的6个顶点上进行rang-2的搜索,它实现了比dia有效率地多的搜索而几乎不会使用更多的耗时,它是普通编码任务一个很好的选择。

umh(不均匀的多六边形搜索) —— 显著地比hex要慢,但它尝试进行复杂多六边形的搜索,以避免错过那些难以找到的运动矢量。与hex和dia不同的是,merange参数直接任意大小控制umh的搜索半径。

esa(全局搜索) —— 高度优化的全局智能搜索,在最佳预测器的merange范围内进行运动搜索。在全局面进行运动向量的算术对比,虽然计算过程并不慢,但好事仍比umh有显著提升,而且并不会带来太多质量方面的提升。所以,对于日常的编码任务来说,它不是特别有用。

tesa(变换全局搜索) —— 使用一种算法,效果近于对全局的每个运动矢量进行Hadamard 变换比对。搜索方式上和esa很像,但是效果比esa好一点点,耗时也多一点点。

 

输出

SAR

设置输出的宽高比

fps

帧率

leve

设置输出的规格

例子

ffmpeg -vsync 1

-async 1

-i xxx.flv

-b:v 200k

-maxrate 250k

-bufsize 400k

-pix_fmt yuv420p

-vcodec libx264

-coder 1

-refs 3

-bf 5

-flags +loop -deblock -1:1

-partitions i4x4 + i8x8+p8x8+b8x8

-me_method umh

-g 60

-keyint_min 30

-qmin 0 -qmax 69 -qdiff 2

out.mp4

vsync 视频同步

async 音频同步

-b:v 200k 控制视频码流是200k

-maxrate 最大码流

-bufsize 缓冲区大小

-pix_fmt 原始数据的格式

-vcodec 使用的编码库

-coder 1 使用熵编码 cabac

-refs 3 参考帧的数量是3

-bf b帧的最大数量是5

-flags +loop -deblock 使用去块化的滤波器

-partitions 编码前被切分的宏块

-me_method 宏块匹配算法

-g gop的大小

-keyint_min gop的最小值

-qmin 0 -qmax 69 -qdiff 2 qbdiff就是Qpstep

 

我们可以通过下面两个网址查看更多的参数

http://www.chaneru.com/Roku/HLS/X264_Settings.htm

https://sites.google.com/site/linuxencoding/x264-ffmpeg-mapping

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值