海康威视 WSS 视频取流原理:6014/559 端口、Nginx 代理与 TLS 证书问题

海康威视 WSS 视频取流原理:6014/559 端口、Nginx 代理与 TLS 证书问题

一、问题背景

在某项目对接海康威视视频监控平台时,调用录像回放接口能够正常返回数据(HTTP 200),但前端 H5Player 无法播放视频,浏览器控制台提示 WebSocket 连接失败。

接口返回示例(已脱敏):

json 复制代码
{
  "code": 200,
  "msg": "OK",
  "data": {
    "list": [
      {
        "beginTime": "2026-XX-XXT09:00:00+08:00",
        "endTime": "2026-XX-XXT10:00:00+08:00"
      }
    ],
    "url": "wss://<VIDEO_SERVER_IP>:6014/proxy/<STREAM_SERVER_IP>:559/openUrl/<TOKEN>?..."
  }
}

浏览器报错:

text 复制代码
WebSocket connection to
'wss://<VIDEO_SERVER_IP>:6014/media?...'
failed

wss连接失败,原因:
端口尚未开通、证书未安装、证书不安全

0x12f910019

说明录像查询接口正常,但视频流连接未成功建立。

二、海康 WSS 视频取流原理

海康 H5Player 通过 WebSocket 协议获取视频流,常见协议包括:

  • ws://:普通 WebSocket 连接。
  • wss://:基于 TLS 加密的 WebSocket 连接。

本次案例中的视频取流地址格式为:

text 复制代码
wss://<VIDEO_SERVER_IP>:6014/proxy/<STREAM_SERVER_IP>:559/openUrl/<TOKEN>

根据 URL 结构,可以初步判断:

组件 作用
H5Player 浏览器端视频播放器
6014 端口 WSS 服务入口
Nginx HTTPS/WSS 接入及反向代理
559 端口 后端视频取流服务端口
TLS 证书 加密连接与服务端身份验证

典型取流流程:

text 复制代码
浏览器 H5Player
       │
       │ WSS 视频请求
       ▼
视频服务器:6014
       │
       ▼
Nginx / WSS 代理
       │
       │ 转发请求
       ▼
视频取流服务:559
       │
       ▼
海康视频取流服务
       │
       ▼
返回视频流 → H5Player 播放

上述流程是根据取流 URL 推断的典型架构,具体端口用途和代理关系以实际部署配置为准。

三、故障排查过程

1. 检查接口返回

录像查询接口返回 code: 200,且包含录像时间和 WSS 取流地址。

说明 API 请求成功,但不代表 WSS 视频连接成功。

2. 检查端口连通性

在 Windows PowerShell 中执行:

powershell 复制代码
Test-NetConnection <VIDEO_SERVER_IP> -Port 6014

也可以通过浏览器访问:

text 复制代码
https://<VIDEO_SERVER_IP>:6014

实际测试中,浏览器成功显示:

text 复制代码
Welcome to nginx!

说明 6014 端口能够访问,且 Nginx 正常响应 HTTPS 请求。

但这并不代表 WebSocket 代理配置一定正确。

3. 检查 TLS 证书

浏览器访问时提示"不安全"。

查看证书信息(已脱敏):

项目 结果
证书 CN <VIDEO_SERVER_IP>
颁发机构 <INTERNAL_ROOT_CA>
证书有效期 有效期内
浏览器状态 不安全

证书尚未过期,但疑似由企业内部 CA 签发。

如果客户端未信任对应根证书,浏览器可能拒绝建立 WSS 加密连接。

此外,即使 CN 与访问 IP 一致,仍需检查证书的 SAN 是否包含该 IP。

四、解决方案

结合排查结果,优先检查证书信任问题。

方案一:客户端安装根证书

适用于少量电脑需要访问监控视频的情况。

  1. 联系平台技术人员获取对应根 CA 证书。
  2. 核验证书来源及指纹。
  3. 按企业安全规范将根证书安装至 Windows 的"受信任的根证书颁发机构"。
  4. 重启浏览器并重新测试录像回放。

方案二:服务端优化证书配置

适用于多用户、长期运行的视频集成场景。

由 IT 和平台实施人员检查:

  • Nginx HTTPS/WSS 证书配置是否正确。
  • 服务端是否提供完整证书链。
  • 证书 SAN 是否与浏览器访问地址匹配。
  • 客户端是否信任对应 CA。
  • WebSocket Upgrade 代理配置是否正确。

需要注意,单纯在服务端安装根证书,并不能自动解决浏览器端的证书信任问题。

五、总结

海康视频接口返回 HTTP 200,但 H5Player 播放失败时,应区分 API 查询链路 和 WSS 视频传输链路。

建议按照以下顺序排查:

text 复制代码
录像 API 是否成功
        ↓
是否返回有效 WSS URL
        ↓
6014 端口是否可访问
        ↓
TLS 证书是否可信
        ↓
WebSocket 握手是否成功
        ↓
Nginx 代理及后端取流服务是否正常

本次案例中,6014 端口可以访问,Nginx 正常响应,但浏览器显示证书不安全,因此将 TLS 证书信任异常列为优先排查方向。

最终是否由证书问题直接导致播放失败,仍需通过修复证书信任关系并重新测试 WSS 连接来确认。

六、参考资料

  1. 海康威视开放平台
  2. 海康威视音视频开发套件
  3. 海康知识库:WSS 协议预览回放取流、播放失败异常等常见问题

相关推荐
ruxshui1 小时前
Hadoop 生产运维实战手册
大数据·运维·hadoop
企业数字化笔记1 小时前
AI视频怎么做超分辨率增强?逐帧处理、画幅控制与音画验收
网络·人工智能·音视频
张文君2 小时前
Ubuntu iSCSI CHAP认证与Win11挂载
linux·运维·ubuntu
程序员-Benothing2 小时前
Linux防火墙配置教程:iptables、firewalld、nftables、ufw
linux·运维·服务器
李纲明2 小时前
WordPress 首页正常、内页全 404:固定链接与伪静态规则排查步骤(Apache / Nginx)
nginx·apache·wordpress
Black蜡笔小新2 小时前
中央厨房配餐看不见风险高?EasyCVR可视化监管方案设计
运维·安全·easycvr
木雷坞2 小时前
Docker Compose端口映射排查:用port和inspect定位网页访问失败
运维·docker·容器
龙亘川3 小时前
电子印章安全审计管理业务建模:从证书密钥、安全策略到审计预警的全链路闭环
运维·人工智能·安全·智慧城市·开源软件·数据可视化
非凡ghost8 小时前
视频剪辑不用等渲染,这款开源工具让切分合并秒级完成
运维·电脑·软件需求