Skip to main content

decode(inputData, frameId)

类说明

视频解码类,用于提供视频解码接口。

父主题: VideoDecoder类

VideoDecoder(pyVdecConfig, pyVdecCallBacker, deviceId, channelId)

函数功能

VideoDecoder类的构造函数。

若因内存不足,pyVdecCallBacker未注册回调函数,或无法识别芯片等构造失败的场景会抛出“std::runtime_error”异常。

输入参数说明

参数名类型说明
pyVdecConfigVideoDecodeConfig类视频解码的参数。
pyVdecCallBackerVdecCallBacker类绑定回调函数的VdecCallBacker类。(须先注册回调函数,否则构造VideoDecoder会抛出异常。)
deviceIdint视频解码器部署的芯片,默认为 0 号芯片。 取值范围:[0, 识别到的芯片个数 - 1]。
channelIdint视频解码器的视频流索引。
- Atlas 200I/500 A2 推理产品:取值范围:[0, 31]。 若存在重复构造相同 channelId的场景,则会构造失败。

返回参数说明

VideoDecoder对象。

父主题: VideoDecoder类

decode(inputData, frameId)

函数功能

VideoDecoder的视频解码接口。

输入参数说明

参数名类型说明
inputDatapy::buffer二进制数据类型传入视频帧二进制数据。
frameIdint输入解码前视频帧的帧ID。

返回参数说明

无。(默认解码方式为非实时出帧,解码过程中存在缓存帧,Vdec需要在收到码流中的多帧数据后,才开始输出解码结果。)

抛异常接口

解码失败,抛出runtime异常。

父主题: VideoDecoder类

类说明

视频编码绑定回调函数类,用于绑定用户自定义的回调函数。

父主题: VencCallBacker类

回调函数格式

说明

回调函数用于接收VideoEncoder编码后的数据(如视频帧数据、ByteSize、frameId等)并在回调函数内实现自定义处理功能。

用户如需实现自定义处理功能,建议进行简单的操作,如数据保存、列表写入(append),降低函数处理耗时,防止编码线程阻塞,导致视频编码速度变慢。

函数原型

def callback_func(pyBytes: bytes, outDataSize: int, channelId: int, frameId: int) -> None

参数说明

callback_func为函数名称,用户可自己定义,与registerVencCallBack注册的函数名一致即可。

参数名类型说明
pyBytesbytes编码后输出视频帧字节数据。
outDataSizeint编码后输出视频帧数据的内存大小。
channelIdint视频流索引,在 VideoEncoder 类初始化设置。
frameIdint视频帧索引,由 VideoEncoder 类的 encode 函数来设置。

返回参数说明

无。

抛异常接口

未按指定格式定义的函数参数及输出,抛出“pybind11::error_already_set”异常。

父主题: VencCallBacker类

在线提单