国标GB28181平台EasyGBS添加定制协议的播放功能
支持国标GB28181协议的EasyGBS国标视频云平台,对外可以提供RTSP、RTMP、FLV、HLS、WebRTC等多种格式的视频流进行分发。我们对外也提供了API接口,可满足用户的二次开发与集成需求。EasyGBS除了标准版本外,我们也会根据项目的需求开发定制版本。
今天我们来和大家分享下EasyGBS定制协议的播放功能实现逻辑与代码。
功能简介:与设备协商好对应的播放指令,当设备注册上来之后,通过对应的链接通道,下发播放指令。
实现逻辑:查询到本地是否有被监听的端口,然后开启端口监听,将封好对应的指令,发送给设备,再将设备上发来的流数据解析到ps-es数据,再将数据推送到流媒体中,分发出对应的前端播放地址,返回给前端。
添加如下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | channelint, _ := strconv.Atoi(channelid) body := &RealtimeVideoReq{ IPLength: len([] byte (ipaddr)), IPAddr: ipaddr, PortTCP: tcpport, PortUDP: udpport, Channel: channelint, DataType: 0, } fmt.Println(body) // 编码数据 ipLength, err := dec2HexByte(body.IPLength, 2) if err != nil { log.Printf( "[实时音视传输请求]连接地址:%s 编码服务器IP长度失败:%s" , terminalinfo.Conn.RemoteAddr().String(), err.Error()) return err } |
效果图如下:
随着现在新内核的EasyGBS、EasyNVR以及EasyCVR的使用场景越来越广泛,这些平台也被运用在大小不同的很多实际项目中。在功能上,基本都能满足大部分用户的需求,也有部分项目存在个性化需求,需要进行功能的定制。
我们将不定期在博客更新关于EasyGBS平台的功能开发及优化、FAQ、配置操作等内容,欢迎大家关注我们的更新,或留言与我们互动。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结