EasyGBS国标协议视频平台添加国标tcp模式的语音对讲功能

2021-05-21 11:13:47 浏览数 (1)

在EasyGBS国标平台之前的版本中,添加了udp海康模式的对讲,该对讲功能让很多项目都实现了远程语音喊话,但是我们近期在某个客户现场遇到了一个设备无法对讲的问题,通过抓包排查发现对讲是tcp模式的。

由于我们碰到的tcp模式对讲需求并不多,因此这块一直没有得到完善处理。这次刚好趁这个机会,对语音对讲的模式进行拓展优化,增加tcp模式的对讲功能。

实现tcp模式对讲与udp模式对讲的差别并不大,只需添加一层tcp协议代码,代码参考如下:

代码语言:javascript复制
tcpPortMin, tcpPortMax := 35000, 40000
tcpPortSlice := strings.Split(conf.GetIniConf().RtpTcpPortRange, ",")
if len(tcpPortSlice) >= 2 {
   if _tcpPortMin, err := strconv.Atoi(tcpPortSlice[0]); err == nil && _tcpPortMin > 0 {
      if _tcpPortMax, err := strconv.Atoi(tcpPortSlice[1]); err == nil && _tcpPortMax > 0 {
         if _tcpPortMin <= _tcpPortMax {
            tcpPortMin = _tcpPortMin
            tcpPortMax = _tcpPortMax
         }
      }
   }
}
start := tcpPortMin
lastTCPPort := rtps.GetLastTCPPort()
if lastTCPPort > 0 {
   start = int(lastTCPPort   1)
}

再次通过EasyGBS平台向设备喊话,已经能够正常发送音频信息。

目前的EasyGBS版本即是同时支持udp和tcp模式语音对讲的版本,大家可以自由下载部署及进行功能测试。

0 人点赞