当前位置: 首页 > news >正文

NVR场景语音对讲 - cann/docs

NVR场景语音对讲

【免费下载链接】docs该仓库用于维护cann公共文档项目地址: https://gitcode.com/cann/docs

本节介绍NVR音频业务处理的典型流程、关键接口及注意事项。

NVR,全称Network Video Recorder,即网络视频录像机,是网络视频系统的存储转发部分,NVR与网络摄像机协同工作,完成音频&视频的录像、存储及转发功能,同时,NVR具备本地人机交互界面、视频解码、视频显示及语音对讲功能。

NVR音频场景说明

**本章节描述NVR音频业务(语音对讲功能)的接口调用流程。**在语音对讲功能中,包括媒体数据处理系统初始化&去初始化、接收IP Camera发送的语音并播放声音、录制声音并向IP Camera发送语音,涉及的模块包括公共模块、音频输入模块(AI),音频编码模块(AENC)、音频输出模块(AO)、音频解码模块(ADEC)。

接收IP Camera发送的语音并播放声音

图 1接收IP Camera发送的语音并播放声音
![](https://raw.gitcode.com/cann/docs/raw/a173bdbfa81bbfd36d1c4da672d78301fb678d36/docs/app-dev/zh/figures/接收IP-Camera发送的语音并播放声音.png "接收IP-Camera发送的语音并播放声音"?utm_source=gitcode_repo_files)

接口调用流程说明如下:

  1. 调用hi_mpi_adec_create_chn接口创建音频解码通道

  2. 启用AO音频输出设备和通道

    1. 调用hi_mpi_ao_set_pub_attr接口设置AO设备属性。

    2. 调用hi_mpi_ao_enable接口启动AO设备。

    3. 调用hi_mpi_ao_enable_chn接口启动AO通道

    4. 调用hi_mpi_ao_enable_resample接口启用AO重采样功能。

      由于AO的采样率固定为48kHz,G.711a、G.711u协议的采样率仅支持8kHz,因此需启用重采样功能;而48kHz在AAC协议采样率支持的范围内,因此使用AAC协议时,在AO时无需重采样。

  3. 调用hi_mpi_sys_bind接口绑定ADEC与AO

    ADEC设备IDADEC通道号AO设备IDAO通道号
    0020
    0130
  4. 循环调用hi_mpi_adec_send_stream接口将每一帧待解码音频数据发送给解码器进行解码

    解码后的音频数据,根据第3步中的绑定关系,被自动发送到对应的AO设备,用于音频播放。

  5. 音频播放完成后,在退出流程中,先调用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发送语音
![](https://raw.gitcode.com/cann/docs/raw/a173bdbfa81bbfd36d1c4da672d78301fb678d36/docs/app-dev/zh/figures/录制声音并向IP-Camera发送语音.png "录制声音并向IP-Camera发送语音"?utm_source=gitcode_repo_files)

接口调用流程说明如下:

  1. 启用AI音频输入设备和通道

    1. 调用hi_mpi_ai_set_pub_attr接口设置AI设备属性。

    2. 调用hi_mpi_ai_enable接口启动AI设备。

    3. 调用hi_mpi_ai_set_chn_attr接口设置AI通道属性。

    4. 调用hi_mpi_ai_enable_chn接口启动AI通道。

    5. 调用hi_mpi_ai_enable_resample接口启用AI重采样功能。

      由于AI的采样率固定为48kHz,G.711a、G.711u协议的采样率仅支持8kHz,因此需启用重采样功能;而48kHz在AAC协议采样率支持的范围内,因此使用AAC协议时,在AI时无需重采样。

  2. 调用hi_mpi_aenc_create_chn接口创建音频编码通道

  3. 调用hi_mpi_sys_bind接口绑定AI与AENC

    AI设备IDAI通道号AENC设备IDAENC通道号
    2000
  4. 循环调用hi_mpi_aenc_get_stream获取编码数据,编码数据使用完成后,及时调用hi_mpi_aenc_release_stream接口释放编码数据

    经过AI设备获取到的音频数据,根据第3步中的绑定关系,被自动发送到对应的AENC通道进行编码,用于向IP Camera发送语音。

  5. 发送语音完成后,在退出流程中,先调用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设备。

【免费下载链接】docs该仓库用于维护cann公共文档项目地址: https://gitcode.com/cann/docs

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/1130376/

相关文章:

  • Motion Canvas:用代码创造专业级矢量动画的现代解决方案
  • Shopware 6:5步轻松搭建你的现代化开源电商平台
  • WavTap进阶技巧:提升Mac音频录制质量的5个方法
  • ProperTree:跨平台plist编辑器,告别配置文件格式兼容烦恼
  • AgentKit 与 MCP 集成指南:打造企业级智能体应用
  • File Viewer扩展开发指南:如何自定义新的文件格式渲染器
  • 如何在3分钟内快速搭建AI音乐创作平台:Suno-API完全指南
  • OpCore-Simplify:3步自动化OpenCore EFI配置,黑苹果安装效率提升95%
  • SMUDebugTool:锐龙处理器深度调试与性能优化的终极指南 [特殊字符]
  • 开源革命:OpenCore Legacy Patcher让老Mac重获新生的终极指南
  • Biopython终极指南:生物信息学数据分析的完整解决方案
  • 如何快速上手CorridorKey:AI绿幕抠像的5个专业技巧与常见问题解决方案
  • 简单快速提升视频流畅度:Flowframes AI视频插帧完整指南
  • 拯救者笔记本终极性能优化指南:3步释放C盘空间并提升系统效能
  • 终极指南:如何通过二进制补丁实现Windows微信/QQ/TIM防撤回功能
  • Stout与CloudFront集成:如何配置SSL证书和自定义域名
  • Apollo自动驾驶技术栈深度解析:从ROS到CyberRT的架构演进与实时性能优化
  • PandaWiki:企业级智能知识库系统的架构与实施指南
  • 如何免费将OBS直播转为专业RTSP流:面向初学者的完整实战指南
  • Kokoro TTS自动化脚本编写:批量处理大量文件的完整方案
  • 基于混沌系统与DNA编码的图像加密算法原理与Matlab实现
  • 揭秘sprocketnes架构:Rust如何实现高性能NES游戏机模拟的10个关键技术
  • 解锁2.5G网络性能:Realtek RTL8125 DKMS驱动终极指南
  • 终极游戏模组管理指南:用XXMI启动器打造个性化游戏体验
  • Shopware 6完整部署指南:5步搭建专业电商平台
  • Real-Time C++中的裸机编程艺术:无需操作系统的嵌入式开发终极指南
  • CTF命令执行绕过实战:从空格过滤到无回显外带的7种核心姿势
  • Serverless Node.js Starter完全指南:快速构建现代无服务器应用
  • Varnish Agent 2与Dashboard集成:实现实时监控的黄金组合
  • 终极指南:优化Audiobookshelf容器资源限制,轻松解决CPU与内存占用问题