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模式语音对讲的版本,大家可以自由下载部署及进行功能测试。
【推荐】国内首个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 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结