registerVencCallBack(callback_func)
回调函数格式
说明
回调函数用于接收VideoEncoder编码后的数据(如视频帧数据、ByteSize、frameId等)并在回调函数内实现自定义处理功能。
用户如需实现自定义处理功能,建议进行简单的操作,如数据保存、列表写入(append),降低函数处理耗时,防止编码线程阻塞,导致视频编码速度变慢。
函数原型
def callback_func(pyBytes: bytes, outDataSize: int, channelId: int, frameId: int) -> None
参数说明
callback_func为函数名称,用户可自己定义,与registerVencCallBack注册的函数名一致即可。
| 参数名 | 类型 | 说明 |
|---|---|---|
| pyBytes | bytes | 编码后输出视频帧字节数据。 |
| outDataSize | int | 编码后输出视频帧数据的内存大小。 |
| channelId | int | 视频流索引,在 VideoEncoder 类初始化设置。 |
| frameId | int | 视频帧索引,由 VideoEncoder 类的 encode 函数来设置。 |
返回参数说明
无。
抛异常接口
未按指定格式定义的函数参数及输出,抛出“pybind11::error_already_set”异常。
父主题: VencCallBacker类
VencCallBacker()
函数功能
VencCallBacker的构造函数。
输出参数说明
VencCallBacker对象。
父主题: VencCallBacker类
registerVencCallBack(callback_func)
函数功能
将用户自定义的回调函数注册,以便编码后在回调函数中实现自定义操作。
输入参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| callback_func | Python定义的函数名 | 需传入按指定格式定义的函数,否则将抛出异常。 |
返回参数说明
无。
抛异常接口
未按指定格式传入定义的回调函数,将抛出TypeError异常或runtime异常。
父主题: VencCallBacker类
类说明
VideoEncoder类,作为视频编码类,主要开放视频编码接口。
父主题: VideoEncoder类
VideoEncoder(pyVencConfig, pyVencCallBacker, deviceId, channelId)
函数功能
VideoEncoder类的构造函数。
若因内存不足,pyVencCallBacker未注册回调函数,或无法识别芯片等构造失败的场景会抛出“std::runtime_error”异常。
输入参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| pyVencConfig | VencConfig类 | 视频编码的参数。视频编码的最大分辨率(宽 * 高)不能超过 4096 * 2304。 |
| pyVencCallBacker | VencCallBacker类 | 绑定回调函数的VencCallBacker类。(须先注册回调函数,否则构造VideoEncoder会抛出异常。) |
| deviceId | int | 视频编码器部署的芯片,默认为 0 号芯片。 取值范围:[0, 识别到的芯片个数 - 1]。 |
| channelId | int | 视频编码器的视频流索引。 - Atlas 200I/500 A2 推理产品:只能实例化一个VideoEncoder,因此用户无需设置 channelId。 |
返回参数说明
VideoEncoder对象。
父主题: VideoEncoder类
在线提单