关于x264编码帧,单个nalu还是多个nalu的问题

视频帧可以由一个或多个slice组成。在单CPU环境下,设置i_threads=1确保单slice编码;但在多CPU服务器上,即使设置为1,仍可能生成多slice。关闭slicethread(b_sliced_threads=0)能始终保证单slice,此参数在zerolatency模式下默认开启。推RTMP流时,保持单slice更简单,多slice的适用性待验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

视频帧分为:一个视频帧只有一个slice 和一个视频帧由多个slice组成两种情况。 如图所示:

一个视频帧只有一个slice


一个视频帧由多个slice组成



对于单个cpu来说,我们要让编码帧都是单个slice,而非多个slice的话,可以设置264编码的线程参数param->i_threads = 1, 就可以保证单个slice。

而对于多个cpu来说,因为我用的服务器是多个cpu,所以这是设置线程数param->i_threads = 1;仍然不起作用,还是会生成多个slice。

而其中一个参数可以直接解决这个问题,就是关掉slicethread就可以了p

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值