NVR场景语音对讲
本节介绍NVR音频业务处理的典型流程、关键接口及注意事项。
NVR,全称Network Video Recorder,即网络视频录像机,是网络视频系统的存储转发部分,NVR与网络摄像机协同工作,完成音频&视频的录像、存储及转发功能,同时,NVR具备本地人机交互界面、视频解码、视频显示及语音对讲功能。
NVR音频场景说明
本章节描述NVR音频业务(语音对讲功能)的接口调用流程。在语音对讲功能中,包括媒体数据处理系统初始化&去初始化、接收IP Camera发送的语音并播放声音、录制声音并向IP Camera发送语音,涉及的模块包括公共模块、音频输入模块(AI),音频编码模块(AENC),音频输出模块(AO)、音频解码模块(ADEC)。
接收IP Camera发送的语音并播放声音
图1 接收IP Camera发送的语音并播放声音

接口调用流程说明如下:
- 调用hi_mpi_adec_create_chn接口创建音频解码通道。
- 启用AO音频输出设备和通道:
- 调用hi_mpi_sys_bind接口绑定ADEC与AO。
ADEC设备ID
ADEC通道号
AO设备ID
AO通道号
0
0
2
0
0
1
3
0
- 循环调用hi_mpi_adec_send_stream接口将每一帧待解码音频数据发送给解码器进行解码。
解码后的音频数据,根据3中的绑定关系,被自动发送到对应的AO设备,用于音频播放。
- 音频播放完成后,在退出流程中,先调用hi_mpi_sys_unbind接口解绑ADEC与AO,再依次调用hi_mpi_ao_disable_resample接口禁用AO重采样功能、调用hi_mpi_ao_disable_chn接口禁用AO通道、调用hi_mpi_ao_disable接口禁用AO设备,最后调用hi_mpi_adec_destroy_chn接口进行销毁ADEC通道。
录制声音并向IP Camera发送语音
图2 录制声音并向IP Camera发送语音

接口调用流程说明如下:
- 启用AI音频输入设备和通道:
- 调用hi_mpi_aenc_create_chn接口创建音频编码通道。
- 调用hi_mpi_sys_bind接口绑定AI与AENC。
AI设备ID
AI通道号
AENC设备ID
AENC通道号
2
0
0
0
- 循环调用hi_mpi_aenc_get_stream获取编码数据,编码数据使用完成后,及时调用hi_mpi_aenc_release_stream接口释放编码数据。
经过AI设备获取到的音频数据,根据3中的绑定关系,被自动发送到对应的AENC通道进行编码,用于向IP Camera发送语音。
- 发送语音完成后,在退出流程中,先调用hi_mpi_sys_unbind接口解绑AI与AENC,再调用hi_mpi_aenc_destroy_chn接口进行销毁AENC通道,最后依次调用hi_mpi_ai_disable_resample接口禁用AI重采样功能、调用hi_mpi_ai_disable_chn接口禁用AI通道、调用hi_mpi_ai_disable接口禁用AI设备。
父主题: 媒体数据处理(含图像/视频等)