You need to enable JavaScript to run this app.
导航
使用官方 ONVIF 驱动
最近更新时间:2024.09.05 20:33:12首次发布时间:2023.02.02 17:17:52

边缘智能提供了官方的 ONVIF 驱动程序,允许您快捷添加支持 ONVIF 协议的网络摄像头(IPC)设备到边缘智能节点(一体机)。添加 IPC 设备到节点后,您可获取设备的视频流播放地址,查看设备的实时视频。本文介绍了官方 ONVIF 驱动的使用方法。

背景信息

ONVIF(Open Network Video Interface Forum)是一个开放的全球论坛,致力于标准化和保护 IP 视频监控产品的通信方式,以简化视频数据的交换。 例如,使监控中心或类似组织能够在任何基于 IP 的监控系统中快速访问实时和录制的视频流。
边缘智能官方 ONVIF 驱动支持 ONVIF 标准的部分接口。您在边缘智能节点上部署官方 ONVIF 驱动后,即可通过该驱动连接节点网络可访问的 ONVIF IPC 设备,获取实时的视频数据并上传数据到云端进行查看。

查看官方 ONVIF 驱动

您可以在边缘智能控制台设备管理 > 驱动模板 页面,查看官方 ONVIF 驱动
图片

驱动属性

官方 ONVIF 驱动定义了下表罗列的属性。

类型

配置名称

说明

子协议配置 - 协议参数
通信协议中规定的参数

IP 地址

IPC 设备的 IP 地址。

端口号

访问 IPC 设备所使用的端口。

用户名

访问 IPC 设备所使用的用户名。

密码

访问 IPC 设备所使用的密码。

验证模式

IPC 设备的访问验证方式。可选项:

  • 摘要认证
  • 用户名密码认证
  • 用户名密码摘要认证

点表配置
现场设备与边缘智能之间的数据格式转换关系

服务

对应 ONVIF 配置文件(Profiles)中支持的服务(Service)。
关于官方 ONVIF 驱动支持的服务,请参见支持的服务与函数

读取方法

对应 ONVIF 配置文件(Profiles)中支持的 Get 类方法(Function)。
关于官方 ONVIF 驱动支持的读取方法,请参见支持的服务与函数

设置方法

对应 ONVIF 配置文件(Profiles)中支持的 Set 类方法(Function)。
关于官方 ONVIF 驱动支持的设置方法,请参见支持的服务与函数

采样周期

表示每隔多久采集一次数据。单位:毫秒。默认值:10000。

图片

准备工作

准备 IPC 设备

使用官方 ONVIF 驱动前,您需要准备支持 ONVIF 协议的网络摄像头(IPC)设备。

  • 网络摄像头设备必须支持通过互联网进行 H.264 流传输。
  • 网络摄像头设备的视频数据必须使用以下音频格式:AAC、MP3、WANS、OPUS。

准备节点

使用 ONVIF 驱动前,您需要准备一台边缘智能节点,并完成以下工作:

步骤1:创建物模型

物模型是现场设备实体在边缘智能控制台的数字化表示。您通过物模型定义设备相关的数据对象。

  1. 登录边缘智能控制台

  2. 在左侧导航栏顶部的 我的项目 区域,选择您的项目。

  3. 在左侧导航栏,选择 设备管理 > 设备模板

  4. 创建一个设备模板。

    1. 单击 创建设备模板
    2. 创建设备模板 对话框,为模板设置一个 名称,选中 视频流设备,并添加 描述

      本教程中使用 onvif-device 作为设备模板的名称。

    3. 单击 确定
  5. 定位到要使用的设备模板,单击模板的名称。

  6. 定义物模型。

    1. 在设备模板详情页,单击 物模型定义 页签。

    2. 单击 编辑

    3. 编辑物模型 页面,单击 保存
      对于 视频流设备 模板,默认模块 中默认包含以下 3 个自定义功能。您无需修改。

      说明

      自定义功能 对应于 ONVIF 设备中的数据对象。您也可以根据需要,增加其他符合 ONVIF 协议要求的数据对象。更多信息,请参见 YAML 文件

      功能名称

      功能类型

      标识符

      数据类型

      数据定义

      说明

      Snapshot

      服务

      Snapshot

      N/A

      调用方式:同步

      调用 Snapshot,可以获取 IPC 设备快照。

      ContinuousMove

      属性

      ContinuousMove

      struct

      N/A

      用于控制设备云台。

      LocalStreamUri

      属性

      LocalStreamUri

      text

      数据长度:1024

      表示本地视频流 URI。该 URI 用于视频流数据在节点内部流转。例如节点内部的应用需要处理视频数据。

    4. 发布新版本 对话框,设置 版本号描述,然后单击 确定

      本教程中使用 1.0.0.0 作为物模型的版本号。

发布版本后,您将会得到如下图所示的物模型。
图片

步骤2:创建点表

物模型定义完成后,需要为属性创建点表。

  1. 模板详情 页面,单击 点表 页签,然后单击 创建点表

  2. 创建点表 页面,完成以下配置,并单击 确认

    类别

    配置项

    说明

    基本信息

    名称

    为点表设置一个名称。

    本教程中使用 data-point 作为点表名称。

    驱动模板

    选择 ONVIF 驱动。

    配置信息

    ContinuousMove

    • 服务:PTZ
    • 读取方法:无需设置
    • 设置方法:ContinuousMove
    • 采样周期:10000ms

    LocalStreamUri

    • 服务:Media
    • 读取方法:GetStreamUri
    • 设置方法:无需设置
    • 采样周期:10000ms

    创建成功后,您将得到一个如下图所示的点表。
    图片

步骤3:部署 ONVIF 驱动

您必须在节点上部署 ONVIF 驱动,然后才可以添加监控设备到节点。

  1. 在左侧导航栏,单击 节点管理
  2. 节点管理 页面,找到要部署 ONVIF 驱动的节点,单击节点名称。
  3. 单击 设备接入 页签。
  4. 部署驱动实例。
    • 如果您是首次在当前节点上部署驱动实例,单击 立即部署
    • 如果您不是首次在当前节点上部署驱动实例,可以单击左侧驱动列表右侧的 新建驱动实例
  5. 新建驱动实例 对话框,选择 ONVIF驱动 的最新版本,然后单击 确定

您提交部署请求后,系统将在节点上部署驱动实例。部署过程涉及到数据传输。根据现场网络环境不同,部署所需时间不同。请确保您的节点在线,并耐心等待部署完成。

步骤4:添加 IPC 设备

  1. 驱动实例 列表选中 ONVIF 驱动
  2. 基本信息 标签页,您可以选择以下方式添加设备:
    • 添加设备:一次添加一个设备实例。
    • 批量添加:一次添加一个或多个设备实例。最多可以同时添加 100 个设备实例,并批量设置一些设备参数。

添加设备

  1. 基本信息 标签页,单击 添加设备

  2. 添加设备 面板,完成以下配置,然后单击 确定

    配置项

    说明

    名称

    为设备设置一个名称。

    本教程中使用 deviceA 作为设备名称。

    标识符

    为设备设置一个标识符。

    本教程中使用 devicea 作为标识符。

    设备模板

    选择您在步骤1:创建物模型创建的设备模板。

    本教程中选择 onvif-device

    点表

    选择您在步骤2:创建点表创建的点表。

    本教程中选择 data-point。

    子协议名称

    选择 Onvif

    IP 地址

    输入现场 IPC 设备的 IP 地址。

    端口号

    输入现场 IPC 设备的端口号。

    用户名

    输入访问 IPC 设备所使用的用户名。

    密码

    输入访问 IPC 设备所使用的密码。

    验证模式

    选择 用户名密码认证

    标签

    为设备添加标签。如果需要创建新的标签,输入 keyvalue 后,单击 创建标签

    描述

    为设备添加描述信息。

完成以上操作后,您可以在 设备实例 列表查看新添加的设备。此时,设备的 状态添加中。当设备的状态变为 在线,表示设备已经添加成功。

批量添加

  1. 基本信息 标签页,单击 批量添加
  2. 添加设备 页面,您可以选择以下两种方式添加设备:
    • 自定义添加:手动输入设备信息,完成设备添加。
    • 设备自发现:在网络中自动搜索并识别支持 ONVIF 协议的设备,通过简单的配置实现 IPC 摄像头的快速自动添加。

自定义添加

  1. 添加设备 页面,您可以在 驱动信息 区域查看驱动相关信息,并参考下表说明完成 设备配置,然后单击 确定

    配置项

    说明

    子协议类型

    选择 Onvif

    设备模板

    选择您在步骤1:创建物模型创建的设备模板。

    本教程中选择 onvif-device

    点表

    选择您在步骤2:创建点表创建的点表。

    本教程中选择 data-point。

    设备名称

    为设备设置一个名称。

    本教程中使用 deviceA 作为设备名称。

    标识符

    为设备设置一个标识符。

    本教程中使用 devicea 作为标识符。

    IP 地址

    输入现场 IPC 设备的 IP 地址。

    端口号

    输入现场 IPC 设备的端口号。

    用户名

    输入访问 IPC 设备所使用的用户名。

    密码

    输入访问 IPC 设备所使用的密码。

    验证模式

    选择 用户名密码认证

    标签

    为设备添加标签。如果需要创建新的标签,输入 keyvalue 后,单击 创建标签

    描述

    为设备添加描述信息。

  2. (可选)如果需要同时添加多个设备实例,在 添加设备 后的输入框中输入要添加的设备个数,然后单击 添加设备。系统会自动生成多个设备配置条目。

  3. (可选)如果需要批量设置一些设备参数,先勾选右上角的 批量编辑所有配置项,然后修改某个参数值,系统会同步修改所有设备的对应参数值。

    说明

    勾选 批量编辑所有配置项 后,如果参数配置框置灰,表示该参数不支持批量设置。

完成以上操作后,您可以在设备列表查看新添加的设备。最初,设备的 状态添加中。当设备的状态变为 在线 后,表示设备已经添加成功。

设备自发现

  1. 添加设备 页面,单击 设备自发现 页签。
  2. 搜索设备 引导页下,完成以下操作。
    1. Onvif设备自发现 区域,完成以下配置。

      配置项

      说明

      IPv4 CIDR

      (必填)输入一个 IPv4 CIDR,定义搜索 IPC 设备的网络范围。系统将查找该 IP 地址段内的所有 IPC 设备。

      用户名

      访问 IPC 设备所使用的用户名。

      密码

      访问 IPC 设备所使用的密码。

      验证模式

      选择 用户名密码认证

    2. 单击 搜索设备
      等待几秒后,可以看到对应 IP 地址段内的所有 IPC 设备及相关信息,包括添加状态、IP 地址、端口号、MAC 地址、制造商、设备型号和序列号。

    3. 在设备列表中勾选需要添加的设备,然后单击 下一步

  3. 设备配置 引导页,您可以在 驱动信息 区域查看驱动相关信息。在 设备配置 区域,系统已自动同步待添加设备的相关信息,您只需完成 点表 配置。
    1. 单击 点表 下拉列表,选择在步骤2:创建点表创建的点表。(本教程中选择 data-point。)
    2. (可选)如果需要批量设置一些设备参数,先勾选右上角的 批量编辑所有配置项,然后修改某个参数值,系统会同步修改所有设备的对应参数值。

      说明

      勾选 批量编辑所有配置项 后,如果参数配置框置灰,表示该参数不支持批量设置。

    3. 单击 确定

完成以上操作后,您可以在 设备实例 列表查看新添加的设备。此时,设备的 状态添加中。当设备的状态变为 在线,表示设备已经添加成功。

步骤5:查看实时视频

完成以上操作后,您可以在边缘智能控制台查看 IPC 设备的实时视频。

  1. 回到节点的 设备接入 列表,定位到新添加的设备,单击 操作 列的 直播
    图片
  2. 在弹出的 设备直播 窗口,查看设备的实时视频。
    • 在左侧视频界面,您可以通过相关按钮暂停视频、刷新视频、取消静音、进入全屏模式查看。
    • 在右侧 云台操作 界面,您可以控制 IPC 设备的转动和视频画面缩放。
      • 通过 旋转 的上、下、左、右方向键控制云台的上、下、左、右转动,旋转步长可以在 角度 参数中设定。
      • 通过 变倍 控制视频画面缩放,调整步长在 倍数 中设定。
        图片

步骤6:获取视频监控设备快照

ONVIF 驱动支持获取 IPC 设备快照。

  1. 在节点的 设备接入 页面,单击新添加的设备名称。
    图片
  2. 在实例详情页面,单击 在线调试 页签,然后单击 服务调用
  3. 从对应模块下选择 Snapshot 调试功能,单击左下角的 发送指令,可以获取视频监控设备快照。
    鼠标单击获取的设备快照,可以进行放大查看。
    图片

参考信息

支持的服务与函数

下表罗列了官方 ONVIF 驱动支持的所有服务与方法。

功能类别

服务

读取方法

设置方法

数据类型

自动发现

Device

GetDiscoveryMode

SetDiscoveryMode

Object

Device

GetScopes

SetScopes

Object

Device

N/A

AddScopes

Object

Device

N/A

RemoveScopes

Object

网络配置

Device

GetHostname

SetHostname

Object

Device

GetDNS

SetDNS

Object

Device

GetNetworkInterfaces

SetNetworkInterfaces

Object

Device

GetNetworkProtocols

SetNetworkProtocols

Object

Device

GetNetworkDefaultGateway

SetNetworkDefaultGateway

Object

系统功能

Device

GetDeviceInformation

N/A

Object

Device

GetSystemDateAndTime

SetSystemDateAndTime

Object

Device

N/A

SetSystemFactoryDefault

Object

Device

N/A

SystemReboot

Object

用户处理

Device

GetUsers

SetUser

Object

Device

N/A

CreateUsers

Object

Device

N/A

DeleteUsers

Object

元数据配置

Media

GetMetadataConfiguration

SetMetadataConfiguration

Object

Media

GetMetadataConfigurations

N/A

Object

Media

GetCompatibleMetadataConfigurations

N/A

Object

Media

GetMetadataConfigurationOptions

N/A

Object

Media

N/A

AddMetadataConfiguration

Object

Media

N/A

RemoveMetadataConfiguration

Object

视频流

Media

GetProfiles

N/A

Object

Media

GetStreamUri

N/A

Object

视频编码器配置

Media

GetVideoEncoderConfiguration

SetVideoEncoderConfiguration

Object

Media

GetVideoEncoderConfigurationOptions

N/A

Object

云台节点

PTZ

GetNode

N/A

Object

PTZ

GetNodes

N/A

Object

云台配置

PTZ

GetConfigurations

N/A

Object

PTZ

GetConfiguration

SetConfiguration

Object

PTZ

GetConfigurationOptions

N/A

Object

Media

N/A

AddPTZConfiguration

Object

Media

N/A

RemovePTZConfiguration

Object

云台驱动

PTZ

N/A

AbsoluteMove

Object

PTZ

N/A

RelativeMove

Object

PTZ

N/A

ContinuousMove

Object

PTZ

N/A

Stop

Object

PTZ

GetStatus

N/A

Object

PTZ

GetPresets

N/A

Object

PTZ

N/A

GotoPreset

Object

PTZ

N/A

RemovePreset

Object

云台起始位置

PTZ

N/A

GotoHomePosition

Object

PTZ

N/A

SetHomePosition

Object

云台辅助操作

PTZ

N/A

SendAuxiliaryCommand

Object

事件处理

Event

N/A

Notify

Object

Event

N/A

Subscribe

Object

Event

N/A

Renew

Object

Event

N/A

Unsubscribe

Object

Event

N/A

CreatePullPointSubscription

Object

Event

N/A

PullMessages

Object

Event

N/A

TopicFilter

Object

Event

N/A

MessageContentFilter

Object

分析文件配置

Media2

GetProfiles

N/A

Object

Media2

GetAnalyticsConfigurations

N/A

Object

Media2

N/A

AddConfiguration

Object

Media2

N/A

RemoveConfiguration

Object

分析模块配置

Analytics

GetSupportedAnalyticsModules

N/A

Object

Analytics

GetAnalyticsModules

ModifyAnalyticsModules

Object

Analytics

N/A

CreateAnalyticsModules

Object

Analytics

N/A

DeleteAnalyticsModules

Object

Analytics

GetAnalyticsModuleOptions

N/A

Object

规则配置

Analytics

GetSupportedRules

N/A

Object

Analytics

GetRules

ModifyRule

Object

Analytics

N/A

CreateRules

Object

Analytics

N/A

DeleteRules

Object

Analytics

GetRuleOptions

N/A

Object

图片操作

Imaging

GetServiceCapabilities

N/A

Object

系统功能

EdgeX

RebootNeeded

N/A

Bool

EdgeX

CameraEvent

N/A

Bool

EdgeX

N/A

SubscribeCameraEvent

Bool

EdgeX

N/A

UnsubscribeCameraEvent

Bool

媒体

EdgeX

GetSnapshot

N/A

Binary

自定义元数据

EdgeX

GetCustomMetadata

SetCustomMetadata

Object

自定义元数据

EdgeX

N/A

DeleteCustomMetadata

Object

YAML 文件

以下 YAML 文件罗列了官方 ONVIF 驱动支持的所有数据,其中 deviceResouces 对象均可定义为自定义功能。

camera.yaml
23.20KB