X264算法参数一(X264线程参数)

一、线程参数概览

参数名称 参数类型 参数含义 参数配置
cpu unsigned int cpu型号 根据编译环境自动确定,无需单独配置。
i_threads int 并行编码线程数 b_sliced_threads为0时:帧级并行编码线程数
b_sliced_threads为1时:slice级并行编码线程数
i_lookahead_threads int 计算slicetype_slice_cost使用线程数。 配置成0,算法会根据帧级线程数和slice线程数,自动分配。
b_sliced_threads int 是否开启基于slice分片的多线程

open:i_threads为slice级多线程数。
close:i_threads为帧级多线程数。

开启多slice会提高一帧的编码速度,但是会略微降低编码质量。

b_deterministic int 是否允许非确定性时线程优化 默认开启,可减少多线程的开销。
b_cpu_independent int 强制采用典型行为,而不是采用独立于cpu的优化算法 open:执行普通的C语言。
close:使用intel simd指令集,做并行运算
i_sync_lookahead int 前向参考帧数。用于配置线程预测的帧缓存大小。 实时视频会议场景,建议配置成0。否则会增加首帧延时时间。

二、参数说明

1、i_threads可以是帧级多线程,也可以是slice级多线程。需要根据实际应用场景确定:视频会议这种编码实时性要求很高的场景,建议使用slice级多线程功能;视频点播这种对编码效率要求很高的场景,建议使用帧级多线程功能。

备注:webrtc对slice级多线程的QOS支持不友好。webrtc默认非I帧视频,一帧里面只能有一个NAL。在帧完整性判断那里,也是按照这个思路设计的。所以若不进行特殊优化,在webrtc里面开启slice级多线程,弱网下,会有大量花屏现象。

2、i_sync_lookahead,实时视频会议场景,建议配置成0。否则会增加首帧延时时间。

发布了107 篇原创文章 · 获赞 84 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/CrystalShaw/article/details/89572684
今日推荐