萤石开放平台 国标设备接入 | 三方品牌设备接入文档/宇视IPC对接文档

接入流程概览:

· 完整接入流程:

一. 绑定设备,获取接入参数(共2步)

1. 进入“国标控制台-设备管理”页,支持 绑定设备/批量绑定设备 申请国标设备所需的设备信息。

(以下操作以“绑定设备”为例展示,不进行批量绑定的操作展示。)

*注意:绑定设备后,即开始进行计费。

填写项说明
设备类型如您需要接入1个前端设备(IPC摄像头),则选择前端设备(IPC);如果您需要接入1个后端设备(NVR摄像头),则选择后端设备(NVR)。
设备名称可支持自定义,用于标注设备的具体名字。
设备国标ID设备的国标ID编码。当前支持自动生成/手动生成。根据国标协议中对于国标编码格式定义,前端设备国标编码为20位数字编码,其中11-13位固定为132后端设备国标编码为20位数字编码,其中11-13位固定为111
设备密码设备的密码,4-20位,可包含大小写字母、数字(大小写字母敏感)。

2. 完成后,您可以在“国标控制台-设备管理-前端设备(IPC)”中查看到申请的设备信息。

在配置过程中,所需的设备信息,可以通过 “设备详情” 按钮进行查看。(如您需要导出为excel,可通过页面右上角的 “导出设备” 按钮进行导出。)

二. 获取设备IP,准备进行设备注册(共2步)

1. 在配置设备前,都需要将设备和PC接在同一个局域网内,采用以下两种方式获取到设备的IP。

        a) 若设备IP没有更改过,那么可以通过购买设备时提供的设备说明书获取到设备的IP。

        b) 如果说明书遗失、默认IP地址不能用或者修改过,则需要使用宇视的EZTools(PC端)工具按照下图步骤搜索局域网设备(图1),搜索到设备后,按照步骤勾选需要配置的设备,点击登录,并在列表的IP字段中,获取到设备的IP地址(图2)。

图1 搜索设备

图2 登录设备并获取设备IP

三. 注册设备(共3步)

1. 在浏览器(IE9及以上)地址栏中输入设备IP地址,按Enter键,进入设备web客户端界面。(账号和密码默认为admin和123456,如果更改过则填入更改过的账号和密码)

2. 进入国标接入配置页面(登陆系统后点击{配置}-{常用}-{服务器},进入配置界面。)

【控制台配置指南】

【Excel配置指南】

3. 服务器配置信息

所需配置信息名称获取方式备注
平台接入方式28181一个设备一般只能通过一种协议接入一个平台。
设备ID对应SIP用户认证ID。Excel文件中,对应“设备信息”表格中的“设备国标ID”值。
管理协议GB/T28181
密码对应密码。Excel文件中,对应“设备信息”表格中的“设备密码”值。
视频通道ID自定义
音频通道ID自定义
设备名称自定义
服务器ID对应SIP服务器ID。Excel文件中,对应“项目信息”表格中的“项目编号”值。
服务器地址可以选择填写域名 或 IP
● 域名:devgb28181.das.ys7.com;
● IP:电脑连接在设备所在网络环境下,“Win+R”-“输入cmd”-输入“ping devgb28181.das.ys7.com” 会拿到当前网络对应运营商的服务注册IP地址。

ping域名时,“请求超时”为正常现象。
SIP服务器端口对应SIP服务器端口。Excel文件中,对应“项目信息”表格中的“端口号”值。
注册有效期3600请按照平台建议的参数值进行填写
SIP服务器编号对应SIP服务器ID。Excel文件中,对应“项目信息”表格中的“项目编号”值。
SIP服务器域对应SIP服务器域。(项目编号的前10位数字)
用户名对应SIP用户名。Excel文件中,对应“设备信息”表格中的“设备国标ID”值。
心跳周期30请按照平台建议的参数值进行填写
最大心跳超时次数3
通道编码对应视频通道编码ID。Excel文件中,对应“设备信息”表格中的“设备国标ID”值。

四. 测试设备(共1步)

1.您可在“国标控制台-设备列表”页面,核对“设备状态”是否为在线(一般完成配置后,在线状态更新为8s-60s。),并点击“播放”等按钮测试设备是否能否正常播放。若设备不在线/没有可用播放地址/播放失败,请优先参照接入文档“常见问题”,核查接入参数是否遗漏或配置错误。

五. 常见问题

1. 摄像头注册不成功问题?请按照如下步骤进行初步排查:

  • 请核对各项参数填写的正确性,确保每一组接入参数都只对应一台设备使用。特别注意“注册有效期”为3600,“心跳周期”为30。

  • 若设备出现频繁“在线-离线”的切换,请核查“视频通道编码ID”填写是否有误,正确的填写项应为“设备国标ID”;若使用物联网卡,请确保没有出现同一台设备使用多网卡的情况;

  • “传输协议”

    · 如果设备支持TCP传输协议,请首选“TCP”(可在UDP和TCP之间切换尝试);

    · 如果选择“UDP”,请核查设备连接的网络(内网请特别注意)、设备连接的路由器以及设备本身是否限制UDP协议(设备防dos攻击即为限制UDP协议)?请核查是否有配置过白名单限制了萤石的服务ip端口?并可以使用sockettool检查设备所处网络是否有限制。

  • “SIP服务器地址”

    如果填写内容为域名(devgb28181.das.ys7.com),但设备无法正常在线,请核查:

    · 设备本身可能并不支持解析域名,请尝试将填写内容修改为服务端IP(IP可通过ping域名获取,具体参照注册步骤);

    · 若设备上线失败且设备所连网络有防火墙相关设置,可以将开放平台的ip端口添加到白名单中,放开网络对开放平台的限制(电信:60.190.232.116;联通:124.160.120.116 移动:112.13.217.116;域名: devgb28181.das.ys7.com;端口:6800)。

  • 如果设备连接的网络IP端口有范围,建议开启DHCP为设备动态获取IP(特别是发现设备IP固定无法修改时),并检查设备所在网络的路由期配置DHCP租期是否过短,一般是2天。

  • 目前国标设备直播的视频编码格式不支持“H265”,需要在音视频相关配置界面将该属性修改为“H264”。

  • 若以上排查无误,请联系设备售后,确认设备固件是否需要升级(例如海康设备可在官网下载固件升级包)。

2. 注册设备前获取运营商的服务注册IP地址产生ping不通的问题?(如下图所示)

解决方案:红色框中的地址就是您的网络注册地址,端口号为6800。蓝框中的请求超时是因为服务端出于安全因素的考虑,是禁止ping的,做ping这一步的操作主要目的是为了拿到对应的注册IP地址。

3. SIP服务器地址使用域名和使用IP地址有什么区别?

解决方案:如果设备支持解析域名,建议您最好可以使用域名,目前海康、大华、宇视最近几年的设备都已支持域名方式,如果使用的是IP地址,假设您对应的宽带网络运营商发生机房故障,您的设备也会受到对应时长的影响。使用域名在后期便于平台做异地多活、自动灾备,有效规避上述问题,更好的保障服务可用性。

4. 关于如何确认设备端的网络有入口限制:

排查方案:

  • 使用SocketTool工具模拟设备,向服务端发送SIP注册报文,看是否能收到服务端主动发出的设备信息查询请求。
  • 首先,发送设备注销请求,将以下报文完整复制到发送窗口,点击“发送数据”按钮:
REGISTER sip:33010142992577394892@devgb28181.das.ys7.com:6800 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.1:5060;rport;branch=z9hG4bK1011558205
From: <sip:33010706991327201387@3301089499>;tag=1571777767
To: <sip:33010706991327201387@3301089499>
Call-ID: 120965105@3301089499
CSeq: 1 REGISTER
Contact: <sip:33010706991327201387@192.168.1.1:5060>
Max-Forwards: 70
Expires: 0
Content-Length: 0

]
  • 然后,发送设备注册请求,将以下报文完整复制到发送窗口,点击“发送数据”按钮:
REGISTER sip:33010142992577394892@devgb28181.das.ys7.com:6800 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.1:5060;rport;branch=z9hG4bK1011558205
From: <sip:33010706991327201387@3301089499>;tag=1571777767
To: <sip:33010706991327201387@3301089499>
Call-ID: 120965105@3301089499
CSeq: 1 REGISTER
Contact: <sip:33010706991327201387@192.168.1.1:5060>
Max-Forwards: 70
Expires: 3600
Content-Length: 0

]
  • 最后,观察数据接收窗口,是否有有DeviceInfo信息的请求报文,如果有表示网络正常,如果没有,表示设备端网络入口存在限制条件。需要进一步排查防火墙或路由器设置。

要实现 PyQt 接入萤石开放平台,可以按以下步骤进行: ### 1. 注册与创建应用 在萤石开放平台注册账号,创建一个新的应用。创建成功后,会得到 `appKey` 和 `appSecret`,这两个信息在后续的开发中用于身份验证。 ### 2. 安装必要的库 使用 `pip` 安装所需的 Python 库,包括 `pyqt5` 用于创建 GUI 界面,`requests` 用于与萤石开放平台的 API 进行交互。 ```bash pip install pyqt5 requests ``` ### 3. 获取 accessToken accessToken 是调用萤石开放平台 API 的重要凭证,通过向开放平台的 `https://open.ys7.com/api/lapp/token/get` 接口发送请求获取。以下是示例代码: ```python import requests app_key = 'your_app_key' app_secret = 'your_app_secret' url = 'https://open.ys7.com/api/lapp/token/get' data = { 'appKey': app_key, 'appSecret': app_secret } response = requests.post(url, data=data) result = response.json() if result.get('code') == '200': access_token = result.get('data').get('accessToken') print(f"获取到的 accessToken: {access_token}") else: print(f"获取 accessToken 失败: {result.get('msg')}") ``` ### 4. 创建 PyQt 界面 使用 PyQt5 创建一个简单的 GUI 界面,用于显示从萤石开放平台获取的频流或其他信息。以下是一个基本的 PyQt5 窗口示例: ```python import sys from PyQt5.QtWidgets import QApplication, QWidget app = QApplication(sys.argv) window = QWidget() window.setWindowTitle('PyQt 接入萤石开放平台') window.setGeometry(100, 100, 800, 600) window.show() sys.exit(app.exec_()) ``` ### 5. 调用萤石开放平台 API 获取设备信息 使用获取到的 `accessToken` 调用萤石开放平台设备列表接口 `https://open.ys7.com/api/lapp/device/list`,获取已绑定的设备信息。示例代码如下: ```python url = 'https://open.ys7.com/api/lapp/device/list' headers = { 'Content-Type': 'application/x-www-form-urlencoded' } data = { 'accessToken': access_token } response = requests.post(url, headers=headers, data=data) result = response.json() if result.get('code') == '200': devices = result.get('data') print(f"获取到的设备列表: {devices}") else: print(f"获取设备列表失败: {result.get('msg')}") ``` ### 6. 显示频流 若要在 PyQt 界面中显示设备频流,可以使用 `QMediaPlayer` 或其他频播放库。需要先获取设备频地址,再进行播放。示例代码如下: ```python from PyQt5.QtMultimedia import QMediaPlayer, QMediaContent from PyQt5.QtMultimediaWidgets import QVideoWidget from PyQt5.QtCore import QUrl # 创建 QMediaPlayer 和 QVideoWidget player = QMediaPlayer() video_widget = QVideoWidget() # 设置频源 video_url = 'your_video_url' # 替换为实际的频地址 media = QMediaContent(QUrl(video_url)) player.setMedia(media) player.setVideoOutput(video_widget) # 将 QVideoWidget 添加到 PyQt 窗口中 window.layout().addWidget(video_widget) # 播放频 player.play() ``` ### 7. 错误处理与异常情况 在实际开发中,要对各种可能出现的错误情况进行处理,如网络请求失败、身份验证失败等。可以使用 `try-except` 语句捕获异常并进行相应的处理。 ### 8. 优化与扩展 根据具体需求,可以对界面进行美化,添加更多的交互功能,如设备控制、录像回放等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值