安防视频云服务EasyCVR集成海康SDK时语音对出现杂音问题,如何解决?
安防视频云服务EasyCVR能够支持多种不同的协议,包括RTSP、GB28181、海康SDK、EHome等私有协议,目前更多的协议也正在拓展中(EasyCVR如何接入海康SDK及Ehome等私有协议)。
我们测试EasyCVR集成海康SDK语音对讲功能时,发现实时对讲时会有很大杂音。
查看文档,我们了解到海康sdk 语音对讲时每次发送有字节限制,前端每次发送字节的数量是1024字节pcm 数据,发送频率为每80ms一次,后端通过websocket 接收音频数据后,转码为g711a数据(512字节)。解决每次发送字节限制的问题,后端接收到数据后丢弃一部分数据导致杂音。
在此我们的处理方法是添加接收缓存模块,新建发送线程,以下为发送代码示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | f:=func(){ for ; ; { if cacheExitFlag{ break } if cacheFd != nil{ tmpArr:=make([] byte ,160) cacheFdLock.Lock() iLen,err:=cacheFd.ReadAt(tmpArr,cacheFdPos) cacheFdLock.Unlock() if err == nil && iLen == 160{ cacheFdPos += 160 source.EasySdkInstances.SdkSendAudio(voiceTalkHandle,tmpArr[0:160],uintptr( unsafe .Pointer(encoderHandle))) } } time.Sleep(20*time.Millisecond) } } go f() |
TSINGSEE青犀视频旗下的产品EasyCVR视频解决方案分为设备端、服务端、客户端三个部分,设备端位于局域网,服务端及客户端位于互联网,支持传统网络摄像机、NVR、编码器、SDK等设备,最大程度的提高了硬件设备的兼容性。
关于安防视频云服务EasyCVR相关内容,大家可以参考EasyCVR如何配置接入设备、EasyCVR如何接入海康硬盘录像机等。如有需要,欢迎联系。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界