在https下访问后台wss_flv视频流无法播放,如何处理?

举报
TSINGSEE青犀视频 发表于 2021/11/25 17:18:24 2021/11/25
【摘要】 添加如下代码,在路由列表中添加wss_flv的路由地址,然后将请求地址的url解析为http的具体设备和通道的具体地址,然后代理到流媒体中去播放。

经常会有人对比HTTP和HTTPS,HTTP向HTTPS过度的主要原因可以说是信息数据化的必经过程,为了对数据进行更加精密的加密,HTTPS也日益受到用户的青睐。不难看出,HTTPS的加密机制将会成为未来电子信息化发展的主流。我们的视频监控云边端项目架构中,最先通过HTTPS实验的就是EasyNVR和EasyDSS,紧随其后的有EasyCVR、EasyGBS等。

近期我们测试EasyCVR时,发现通过https访问后台时,wss_flv格式的视频流无法播放:

排查后端代码,发现wss_flv的路由后端没有添加,所以导致https访问后台的时候,返回的websocket的flv的播放地址不能播放。

添加如下代码,在路由列表中添加wss_flv的路由地址,然后将请求地址的url解析为http的具体设备和通道的具体地址,然后代理到流媒体中去播放。

func WSFlvHandler() gin.HandlerFunc {
       return func(c *gin.Context) {
              //Grader.ReadBufferSize = 102400000
              //Grader.WriteBufferSize = 102400000
              ws, err := Grader.Upgrade(c.Writer, c.Request, nil)
              if err != nil {
                     return
              }
              defer func() {
                     fmt.Printf("关闭长连接")
                     ws.Close()
              }()

              countSplit := strings.SplitN(c.Param("path"), "/", 3)

              path := "/" + countSplit[2]

              if strings.HasSuffix(path, ".flv") {

再次使用https去播放wss_flv,一切正常:

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。