欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

安防视频云服务EasyCVR集成海康SDK时语音对出现杂音问题,如何解决?

程序员文章站 2022-07-05 11:11:11
...

安防视频云服务EasyCVR能够支持多种不同的协议,包括RTSP、GB28181、海康SDK、EHome等私有协议,目前更多的协议也正在拓展中(EasyCVR如何接入海康SDK及Ehome等私有协议)。

安防视频云服务EasyCVR集成海康SDK时语音对出现杂音问题,如何解决?

我们测试EasyCVR集成海康SDK语音对讲功能时,发现实时对讲时会有很大杂音。

查看文档,我们了解到海康sdk 语音对讲时每次发送有字节限制,前端每次发送字节的数量是1024字节pcm 数据,发送频率为每80ms一次,后端通过websocket 接收音频数据后,转码为g711a数据(512字节)。解决每次发送字节限制的问题,后端接收到数据后丢弃一部分数据导致杂音。

安防视频云服务EasyCVR集成海康SDK时语音对出现杂音问题,如何解决?

在此我们的处理方法是添加接收缓存模块,新建发送线程,以下为发送代码示例:

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集成海康SDK时语音对出现杂音问题,如何解决?

关于安防视频云服务EasyCVR相关内容,大家可以参考EasyCVR如何配置接入设备EasyCVR如何接入海康硬盘录像机等。如有需要,欢迎联系。

相关标签: EasyCVR