国标GB28181视频流媒体平台EasyGBS视频直播支持H.265平台吗?
程序员文章站
2022-07-04 22:59:55
...
对于目前市面上各种不同的流媒体平台,我们很难区分出哪个平台具体适合哪种项目场景。比如现在比较普遍的国标GB/T2818协议,可以连接*部的安防平台,是很多人的选择。我们的国标流媒体平台EasyGBS就支持接入国标协议的摄像头并进行管理。
鉴于目前H.265编码是大趋势,加之之前有很多用户向我们提出EasyGBS支持H.265的诉求,所以我们也研发了EasyGBS的H.265版本(国标GB/T28181流媒体服务器EasyGBS支持H265编码格式)。
在开发EasyGBS流媒体平台H.265编码功能的时候,出现了一个问题:推流库从ps流中解析视频编码格式返回的数据是0。
推流库推了PS流之后,需要从PS流中解析视频编码格式。然后前端页面点击播放,发送invite消息的时候将推过来的ps流进行解析随后返回给前端播放器此时视频的编码格式。
但是前端在此时接受到的返回参数一直是0,导致服务器进行下一步操作。
经过排查分析,我们在后台拿到ps流地址分析的时机,是在给前端返回之后,所以导致设置视频编码的方式为0。
设备编码赋值代码:
timestampSec := msess.TimestampSec - msess.FirstTimestampSec
if timestampSec < 0 {
timestampSec = 0 - timestampSec
}
stream.RTPTimestampSec = int64(timestampSec)
stream.RTPInBytes = msess.RTPInBytes
stream.VideoCode = msess.MessTypes
处理方式,是在取值的时候进行循环等待
for {
tempstream := uas.Server.GetStreamFromRedis(stream.StreamID)
if tempstream != nil {
VideoCode = tempstream.VideoCode
}
if VideoCode == 0 {
time.Sleep(time.Second * 1)
continue
}
break
}
然后我们可以来看一下处理后的结果,返回的数据已经恢复正常了。
推荐阅读
-
国标GB28181协议视频流媒体平台EasyGBS更新通道后音频被关闭是什么原因?
-
国标GB28181协议视频平台EasyGBS实现告警功能,自动截取快照
-
如何解决国标GB28181协议EasyGBS视频平台CPU占用过高的情况?
-
新版国标GB28181协议视频平台EasyGBS频繁打印console.log信息优化方案
-
国标GB28181协议国标平台EasyGBS视频平台推送音视频复合流,播放视频黑屏是什么原因?
-
国标GB28181协议客户端EasyGBS视频平台更新后界面出现滚动条是什么原因导致的?
-
国标GB28181协议视频平台EasyGBS设备离线无法查看云端录像是什么原因?
-
国标GB28181协议视频平台EasyGBS的云端录像能够永久保存吗?会不会丢失?
-
国标GB28181协议客户端EasyGBS国标视频平台级联EasyNVR:EasyNVR到EasyGBS上是如何注册及注销的?
-
国标GB28181协议视频智能分析平台EasyGBS切换Tab菜单栏时出现抖动修复