国标GB28181协议视频平台EasyGBS视频通道添加CDN推流分发功能开发

在直播系统中加入cdn,是传输内容尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输速度更快、更稳定。因此TSINGSEE青犀视频为了提高国标协议下视频传输的质量,在国标GB28181协议视频平台EasyGBS通道添加了CDN功能。

国标GB28181协议视频平台EasyGBS视频通道添加CDN推流分发功能开发

EasyGBS通道添加CDN功能的具体表现就是在每个设备播放的时候传入CDN地址,然后程序收流的时候会将流数据转推到这个地址。

后端添加代码如下:

defer func() { if p := recover(); p != nil { c.AbortWithStatusJSON(400, fmt.Sprintf("%v", p)) return } }() type Form struct { Serial string `form:"serial" binding:"required"` Code string `form:"code" binding:"required"` Cdn string `form:"cdn"` } var form = Form{} if err := c.Bind(&form); err != nil { return } device := models.GetDevice(form.Serial) if device == nil { c.AbortWithStatusJSON(400, fmt.Sprintf("device[%s] not found", form.Serial)) return } channelInfo := models.GetChannel(form.Code, form.Serial) if channelInfo == nil { c.AbortWithStatusJSON(400, fmt.Sprintf("channel[%s] not found", form.Code)) return } db.SQLite.Model(models.Channel{}).Where("id = ? and device_id=?", form.Code, form.Serial).Update("cdn", form.Cdn) 

首先查询数据库是否有这个设备,再根据传入的参数code查询数据库在这个设备下是否有这个通道。然后修改这个通道的CDN地址,前端在播放的视频流传递过来,然后后端播放时将流数据转推到该地址。

国标GB28181协议视频平台EasyGBS视频通道添加CDN推流分发功能开发

下面我们测试一下,当在EasyGBS播放的时候,播放界面如下:

国标GB28181协议视频平台EasyGBS视频通道添加CDN推流分发功能开发

同时播放这个RTMP的推流cCDN地址,也可以正常播放,功能实现正常。

国标GB28181协议视频平台EasyGBS视频通道添加CDN推流分发功能开发

TSINGSEE青犀视频开发的多种视频平台中,有支持国标GB28181协议的EasyGBS,有支持RTSP协议的EasyNVR,有支持RTMP协议的EasyDSS,当然也有兼容目前市面上大部分常见协议的EasyCVR平台。经过不断优化和调试,TSINGSEE青犀视频的平台已经在多个项目领域实践落地,如果大家有需求,欢迎联系我们获取测试账号进行实际部署测试,更多视频相关解决方案,欢迎访问TSINGSEE青犀视频官网。

国标GB28181协议视频平台EasyGBS视频通道添加CDN推流分发功能开发

原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/30671

(0)
优速盾-小U的头像优速盾-小U
上一篇 2025年6月18日 18:42
下一篇 2025年6月18日 23:04

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

优速盾注册领取大礼包www.cdnb.net
/sitemap.xml