venc_create_chn
产品支持情况
产品 |
是否支持 |
---|---|
|
√ |
|
√ |
|
x |
|
√ |
|
√ |
|
x |
功能说明
创建编码通道。
函数原型
- C函数原型
1
hi_s32 hi_mpi_venc_create_chn(hi_venc_chn chn, const hi_venc_chn_attr *attr);
- python函数
1
ret = acl.himpi.venc_create_chn(chn, attr)
参数说明
参数名 |
说明 |
---|---|
chn |
int,解码通道号。
说明:
对于 对于 对于 昇腾虚拟化实例(Ascend Virtual Instance)在各场景下的算力资源规格,在安装昇腾AI处理器的服务器上使用npu-smi info -t template-info命令查看。 |
attr |
dict,编码通道属性字典,具体请参见hi_venc_chn_attr。 |
返回值说明
返回值 |
说明 |
---|---|
ret |
int,错误码。
|
约束说明
- 单个Device上的通道号不能超出最大的通道号范围。
- 编码通道属性由三部分组成,编码器属性、码率控制器属性和帧结构类型属性,帧结构类型属性简称GOP(Group of Pictures )类型属性。
- 编码器属性必须设置编码码流Buffer深度、获取码流方式、编码profile等,表1详细描述了各种协议的各项属性的特性。
- 推荐的编码宽高为:3840 * 2160(4k)、1920 * 1080(1080P)、1280 * 720(720P)。
- H.264/H.265编码帧存由YHeaderSize、CHeaderSize、YSize、CSize、PmeSize、PmeInfoSize和TmvSize共同构成,编码器默认根据最大宽高计算帧存进行内存分配,在设置通道宽高时需保证根据通道宽高计算的每一部分帧存大小都不能大于最大宽高计算的帧存大小。
- 码率控制器属性中的输入/输出帧率(src_frame_rate/dst_frame_rate)是用于配合编码过程中的码率(bit_rate)分配,不是最终的播放器显示帧率,若想要设置显示帧率请参考acl.himpi.venc_set_h264_vui或acl.himpi.venc_set_h265_vui接口。
建议用户将码控帧率与显示帧率设置一致,否则播放时的码率可能与用户设置的编码码率不同,播放时的码率会随着所设置的显示帧率而变化。
参考信息
编码协议 |
编码方式 |
码流 Buffer 深度 |
获取码流模式 |
编码 profile |
---|---|---|---|---|
H.264 |
Frame |
|
Frame/Slice |
Baseline Mainprofile Highprofile |
JPEG |
Frame |
|
Frame/Ecs |
Baseline |
H.265 |
Frame |
|
Frame/Slice |
Main profile Main 10 profile(暂不支持) |
|
Frame/Slice |
Main 10 profile(暂不支持) |