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

本文介绍了在EasyNVR与EasyNVS平台集成过程中,遇到WS-FLV视频格式无法播放的问题。问题源于Nginx代理配置不支持WebSocket,通过修改nginx.conf文件,添加特定参数支持WebSocket,解决了播放故障。同时,强调了防火墙设置和Websocket配置在视频流服务中的重要性。

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目前在线下均有大量落地应用,如智慧工厂、智慧工地、智慧园区、智慧医院等等。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值