目录
一.背景和问题描述
1.1平台介绍
AS-V1000视频平台是我司研发的视频监控网关能够实现接入不同厂家的视频监控平台、外围设备、第三方平台等等;支持国际和国内的一些标准对接协议,包括Onvif协议、GB/T28181协议、eHome协议等等。可以通过这些协议,接入IPC、DVR、DVS、NVR等设备,以及一些平台设备包括海康、大华、宇视、科达、华为、松下等平台,也能够通过SDK、私有协议接入第三方平台。
1.2背景和问题描述
客户有一个下级平台,它对接许多执法记录仪和摄像机;下级平台通过GB28181协议级联到AS-V1000视频平台。客户通过AS-V1000视频平台从而满足自身的实际需要。
客户反映,在web客户端查看实时视频,发现请求的视频都黑屏,没有任何报错信息。如下图所示。
该实时视频比较重要,不能出现问题,需要尽快解决。
二.问题排查流程
2.1初步解析
由于没有报错提示,该问题经分析有三种可能的原因;第一是下级平台黑屏,造成上级平台无法观看,第二是平台出现问题,第三则是服务器设置问题造成视频流无法正常传输。接下来是根据这三种可能原因逐步排查的过程。
2.2排查下级平台
2.2.1查看下级平台在线情况
登录AS-V1000视频平台的管理端,查看该下级平台,发现平台正常在线,如下图所示。
因此问题不是上下级平台的连接问题,还需要继续排查。
2.2.2排查下级平台视频情况
接下来让客户协助,登录下级平台的客户端并看视频,发现视频请求正常,没有黑屏情况发生,如下图所示。因为下级平台正常请求且通信接下来则需要排查平台模块和服务器设置原因。
2.3排查平台模块
2.3.1排查sipp模块
Sipp模块是AS-V1000视频平台的国标对接模块,经检查没有错误,证明sipp模块没有问题。如下图所示。
2.3.2排查mrrs模块
Mrrs模块则是视频流转发模块,所有客户端视频播放都需要此模块;经检查也没有错误,证明不是平台模块的问题。
2.4排查服务器设置
使用如下命令查看防火墙状态:
systemctl status firewalld
查询结果显示防火墙在正常工作,如下图所示:
接下来使用命令查看防火墙打开端口情况:
firewalld -cmd --list-ports
发现防火墙的没有开放端口,如下图所示。
经过排查,发现问题原因是服务器防火墙没有开启相关端口,导致视频流被防火墙拦截,因此导致客户端请求视频黑屏且没有任何报错提示。
三.问题解决
3.1问题解决过程
防火墙拦截视频流这个问题的解决办法有两种,分别是关闭防火墙和开启视频流端口;但是客户的环境对于安全性要求比较高,因此关闭防火墙并不合适,因此选择开放防火墙端口解决问题。
3.1.1防火墙开启端口流程
确认好需要开启的TCP和UDP端口,使用命令:
sudo firewall-cmd --zone=public --add-port=开放端口/tcp --permanent
或
sudo firewall-cmd --zone=public --add-port=开放端口/udp --permanent
开放所有必要的端口。
3.1.2加载新的开放规则
防火墙开放端口后,使用下面命令重新加载防火墙:
sudo firewall-cmd --reload
只有加载完毕后防火墙才能开放相关端口,若缺少这一步防火墙不会开放端口。
3.1.3查看已开放端口
使用如下命令:
firewall-cmd --zone=public --list-ports
用来查看已开放端口,如果所有需要开启端口都能找到则证明新端口开启成功。如下图所示。
3.2问题解决结果
3.2.1客户端视频请求情况
端口开放后,客户再次登录客户端并点播视频,发现原先黑屏的视频都能正常加载画面,如下图所示。
3.2.2HTTP视频分享页请求情况
AS-V1000平台的视频分享页对于客户后续开发相当重要,因此也需要检查。输入请求地址后发现分享页也能正常播放,如下图所示。
客户经过多次点播测试,视频均能正常请求,黑屏问题不再出现。且合理的解决办法保证客户环境的安全,因此对解决问题的工作相当满意,问题得以顺利解决。
文章正下方可以看到我的联系方式:鼠标“点击” 下面的 “威迪斯特-就是video system 微信名片”字样,就会出现我的二维码,欢迎沟通探讨。