随笔 - 1506  文章 - 1  评论 - 7  阅读 - 58万

网络IP摄像头RTSP协议安防视频平台EasyNVR演示模式下rtsp地址无法播放原因分析

TSINGSEE青犀视频云边端架构中很多产品由于开发架构类似,因此功能的实现过程或者出现的问题等都有类似的地方。比如我们先测试了EasyGBS演示模式下视频播放的问题,随后就发现了EasyNVR视频平台也出现了同样类似的问题。

EasyNVR演示模式下获取到的RTSP地址无法播放,演示模式是之前添加的新功能,主要是为了实现在演示模式下,播放几分钟后(这个几分钟可以在配置文件配置的)断流,让这个流不能在播放。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
func wrapURLWithLiveToken(rawURL string, c *gin.Context) (wrapURL string) {
   wrapURL = rawURL
   demo := utils.Conf().Section("base_config").Key("demo").MustBool(false)
   if !demo {
      return
   }
   if rawURL == "" {
      return
   }
   _url, err := url.Parse(rawURL)
   if err != nil {
      return
   }
   q := _url.Query()
   //token := utils.MD5(sessions.Default(c).ID() + rawURL)
   token := createRandomString(8)
   q.Set("token", token)
   _url.RawQuery = q.Encode()
   wrapURL = _url.String()
   liveTokenCache.SetDefault(token, wrapURL)
   return
}

  

该处代码就是在流地址后面添加token的地方。

目前EasyNVR对外提供的流有这几种格式的:WS-FLV、HTTP-FLV、HLS、RTMP、RTSP,其中前4种格式都是可以播放的,只有RTSP流地址比较特殊,该流地址后不能添加标识符,不然不能播放,我们将其排除出去即可。

1
2
3
4
5
if _url, ok := ack.EasyDarwin.Body["URL"].(string); ok {
   if !strings.EqualFold(params["protocol"], "RTSP") {
      ack.EasyDarwin.Body["URL"] = wrapURLWithLiveToken(_url, c)
   }
}

  

这个地方先判断,如果想要获取RTSP流地址,就不进行token后缀的添加。
这样返回的RTSP流地址就不会带有token后缀。

 
posted on   EasyNVR  阅读(274)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界
历史上的今天:
2019-11-05 基于EasyNVR摄像机无插件直播流媒体服务器之linux系统如何打包EasyNVR为deb包?
2019-11-05 海康、大华RTSP/Onvif安防摄像头网页无插件直播流媒体服务器方案之Arm版本的NVR一直无法登录到配置界面如何解决?
2019-11-05 RTSP、Onvif协议安防摄像头RTMP、RTSP、HLS、FLV视频流网页无插件直播方案EasyNVR多次错误登录导致服务锁定怎么解决?
2019-11-05 RTSP安防网络摄像头/海康大华硬盘录像机网页无插件直播方案EasyNVR出现操作和画面显示不一致问题如何优化?
2019-11-05 关于安防摄像头RTSP/Onvif协议网页无插件直播视频流媒体服务器EasyNVR、EasyDSS获取指定时间段录像接口的使用介绍
2019-11-05 海康大华网络摄像头RTSP_Onvi安防摄像机流媒体服务器EasyNVR录像存储天数达不到自身设定存储天数的问题解析
< 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

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