随笔 - 936  文章 - 0  评论 - 3  阅读 - 30万

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

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

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

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

复制代码
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模式语音对讲的版本,大家可以自由下载部署及进行功能测试。

posted on   EasyGBS  阅读(170)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示