类说明
类说明
视频解码类,用于提供视频解码接口。
父主题: VideoDecoder类
VideoDecoder(pyVdecConfig, pyVdecCallBacker, deviceId, channelId)
函数功能
VideoDecoder类的构造函数。
若因内存不足,pyVdecCallBacker未注册回调函数,或无法识别芯片等构造失败的场景会抛出“std::runtime_error”异常。
输入参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| pyVdecConfig | VideoDecodeConfig类 | 视频解码的参数。 |
| pyVdecCallBacker | VdecCallBacker类 | 绑定回调函数的VdecCallBacker类。(须先注册回调函数,否则构造VideoDecoder会抛出异常。) |
| deviceId | int | 视频解码器部署的芯片,默认为 0 号芯片。 取值范围:[0, 识别到的芯片个数 - 1]。 |
| channelId | int | 视频解码器的视频流索引。 - Atlas 200I/500 A2 推理产品:取值范围:[0, 31]。 若存在重复构造相同 channelId的场景,则会构造失败。 |
返回参数说明
VideoDecoder对象。
父主题: VideoDecoder类
decode(inputData, frameId)
函数功能
VideoDecoder的视频解码接口。
输入参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| inputData | py::buffer二进制数据类型 | 传入视频帧二进制数据。 |
| frameId | int | 输入解码前视频帧的帧ID。 |
返回参数说明
无。(默认解码方式为非实时出帧,解码过程中存在缓存帧,Vdec需要在收到码流中的多帧数据后,才开始输出解码结果。)
抛异常接口
解码失败,抛出runtime异常。
父主题: VideoDecoder类
类说明
视频编码绑定回调函数类,用于绑定用户自定义的回调函数。
父主题: VencCallBacker类
回调函数格式
说明
回调函数用于接收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类
在线提单