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

国标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、配置操作等内容,欢迎大家关注我们的更新,或留言与我们互动。

 
posted on   EasyGBS  阅读(54)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 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

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