hi_mpi_venc_create_chn
函数功能
创建编码通道。
Atlas 200/300/500 推理产品,不支持该接口。
Atlas 训练系列产品,不支持该接口。
约束说明
- 单个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)分配,不是最终的播放器显示帧率,若想要设置显示帧率请参考hi_mpi_venc_set_h264_vui或hi_mpi_venc_set_h265_vui接口。
建议用户将码控帧率与显示帧率设置一致,否则播放时的码率可能与用户设置的编码码率不同,播放时的码率会随着所设置的显示帧率而变化。
函数原型
hi_s32 hi_mpi_venc_create_chn(hi_venc_chn chn, const hi_venc_chn_attr *attr)
参数说明
返回值说明
- 0:成功
- 非0:失败,参见VENC视频编码/JPEGE图片编码返回码
参考信息
编码协议 |
编码方式 |
码流 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(暂不支持) |