EasyNVR级联到EasyNVS,控制台请求无报错,WS-FLV视频无法播放是什么原因?

2022-05-06 11:30:42 浏览数 (1)

EasyNVR能将支持RTSP/Onvif的设备接入,并分发如RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等多种格式的视频流。EasyNVR的特点是部署快、API简单易用、使用便捷、视频能力强大,在安防监控领域有着广泛的使用场景。

在此前的文章中,我们和大家介绍过关于EasyNVS平台的能力,主要是对EasyNVR进行统一的管理,以及利用它来突破用户现场网络的限制,在外网条件下获取内网EasyNVR的所有视频能力。

有用户在EasyNVR级联到EasyNVS平台时,出现了WS-FLV格式无法播放的现象,但是HLS和HTTP-FLV格式的视频流能播放,查看控制台请求,也无报错。

我们查看了用户的EasyNVR与EasyNVS的日志,判断可能是外面加了一层代理。与用户沟通确认后,证实的确是有一层Nginx,导致后端没收到请求,前端直接断了,而且用户的现场服务器还开启了防火墙,所以才会出现上述的情况。

因为浏览器的一些机制,走Nginx代理时,Websocket需要特殊配置。

修改nginx.conf文件。在Linux终端中敲入vim /etc/nginx/nginx.conf,找到location这个位置,在conf文件的header上面增加以下参数:

proxy_http_version 1.1;

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection "upgrade";

其中第一行是告诉nginx使用HTTP/1.1通信协议,这是WebSocket必须要使用的协议。

第二行和第三行告诉nginx,当它想要使用WebSocket时,响应http升级请求。

那么解决以上问题,首先,因为防火墙的拦截,需要将IP事先加入白名单;需要长链接,Nginx要开Websocket。

修改完成后,可以成功播放WS-FLV视频了:

EasyNVS平台可将分布在不同区域和网络环境下的多套EasyNVR设备,进行统一的接口登记和管理,借助云端宽带资源解决单路设备在云直播中多路分发观看所需的上行宽带问题,以及分布式存储在云端的回放问题。

EasyNVR是我们软硬一体的视频平台,既有软件版本也有硬件版本,用户可以根据实际项目场景予以选择。无论是PC浏览器还是手机APP、手机浏览器、微信客户端,EasyNVR都能做到无缝接入,为用户提供随时随地查看监控视频的体验。EasyNVR目前在线下均有大量落地应用,如智慧工厂、智慧工地、智慧园区、智慧医院等等。

0 人点赞