在EasyNVR、EasyGBS、EasyDSS这一类视频平台中,经常会碰到用户问我们跨域相关的问题。在视频流的传输上,某些项目需要将视频流嵌入第三方平台或者app进行直播,这时极大可能会产生跨域相关的问题,这并不是传输上的问题,而是浏览器自带的机制。
当我们测试EasyDSS不同格式视频流的直播时,发现只有当浏览器打开flv地址进行播放,才会出现跨域的错误,视频不能播放,其他接口访问则没有问题。
经过检查代码,发现gin框架中在设置路由的时候已经设置了跨域操作,然后查到访问flv,代理访问本地地址时,又设置了一遍跨域,所以出现两个头消息,导致网页解析错误出现跨域问题,具体现象如下图:
解决方法:
在访问flv地址时,后端重新代理访问本地flv地址将跨域设置为空,避免设置多个跨域头。
之前我们也为大家讲过一些跨域相关的问题,大家如果想了解可以关注我们或者直接到博客内搜索跨域,同时我们也会不定期在博客内和大家分享开发经验,和大家共同成长。