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

国标GB28181视频平台EasyGBS,接入设备超出授权设备数量有什么影响?

GB28181国标EasyGBS视频平台是一套支持国标GB28181协议摄像头接入的视频平台,TSINGSEE青犀视频做了多个不同路数的版本,方便用户根据自己需求进行选择。

正常来说EasyGBS接入的设备不可超过平台授权的通道数,如果接入的设备数超过授权的通道数,则所有的设备都可能会报错,无法播放。

下图我们举个例子,当接入设备过多时,EasyGBS所有通道的播放界面就会报“License Channel Count Overload”错误。

经过排查代码发现,系统在播放的时候增加了判断机制:如果接入通道数量超过了授权通道数,直接报错返回。

1
2
3
4
5
6
7
8
9
total := 0
         
            //db.SQLite.Model(models.Channel{}).Count(&total)
            db.SQLite.Model(models.Channel{}).Where("sub_count=0 and status='ON'").Count(&total)
            if total > license.ChannelCount {
                c.AbortWithStatusJSON(http.StatusForbidden, "License Channel Count Overload")
                return
            }
            c.Next()

  

 

而我们要达到的效果是即使接入设备的数量超过了授权通道数,在播放时,那些在授权范围内的通道视频流仍然要正常播放。基于这一需求,我们需要在代码上做如下更改:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
channels := make([]models.Channel, 0)
            db.SQLite.Table(models.Channel{}.TableName()).Where("sub_count=0 and status='ON'").Order("created_at asc").Limit(license.ChannelCount).Scan(&channels)
            var is_play = false
            for _, v := range channels {
                if v.DeviceID == deviceID && v.ID == channelID {
                    is_play = true
                }
            }
            //if total > license.ChannelCount {
            if !is_play {
                c.AbortWithStatusJSON(http.StatusForbidden, "已使用通道数超过授权通道数目!")
                //License Channel Count Overload
                return
            }
            c.Next()

  

修改之后,已授权的通道数能够正常播放,而未授权的通道数则无法播放视频。

如果大家有兴趣,也可以查看我们往期常见问题的解决方案:

EasyGBS平台如何开启“演示”模式

H.265编码如何降低CPU来增加视频传输效率

视频相关解决方案均可访问TSINGSEE青犀视频,可以联系我们获取演示方案,直观感受,也可随意进行下载及测试。

posted on   EasyGBS  阅读(625)  评论(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

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