在https下访问后台wss_flv视频流无法播放,如何处理?
【摘要】 添加如下代码,在路由列表中添加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)