You need to enable JavaScript to run this app.
导航

使用官方 ONVIF 驱动

最近更新时间2023.11.02 20:05:57

首次发布时间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 驱动
alt

驱动属性

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

类型配置名称说明

协议参数
通信协议中规定的参数

用户名

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

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

验证模式

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

  • 摘要认证

  • 用户名密码认证

  • 用户名密码摘要认证

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

服务

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

读取方法对应 ONVIF 配置文件(Profiles)中支持的 Get 类方法(Function)。
关于官方 ONVIF 驱动支持的读取方法,请参见支持的服务与函数
设置方法对应 ONVIF 配置文件(Profiles)中支持的 Set 类方法(Function)。
关于官方 ONVIF 驱动支持的设置方法,请参见支持的服务与函数
采样周期采集数据的频率。单位:毫秒。默认值:10000。

alt

准备工作

准备 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. 编辑物模型 页面,单击 确定
      对于 视频流设备 模板,默认模块 中默认包含以下 5 个自定义功能。您无需修改。

      说明

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

      名称标识符读写类型数据类型说明
      LocalStreamUriLocalStreamUri只读text表示本地视频流 URI。该 URI 用于视频流数据在一体机内部流转。例如一体机内部的应用需要处理视频数据。
      ProfilesProfiles只读struct表示 ONVIF 的配置。
      ContinuousMoveContinuousMove只读struct用于控制设备云台。
      CloudStreamPullUriCloudStreamPullUri只读text表示云端拉流的 URI。该 URI 用于通过云端拉流的方式将视频数据流上传到云端。
      CloudStreamPushUriCloudStreamPushUri只读text表示云端推流的 URI。该 URI 用于由一体机将视频流数据推送到云端。
    4. 发布新版本 对话框,设置 版本号描述,然后单击 确定

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

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

步骤2:部署 ONVIF 驱动

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

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

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

步骤3:添加 IPC 设备

当驱动部署成功后,驱动实例状态 将变为 运行中。这时,您可以在驱动下添加设备。
alt

  1. 单击 添加设备

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

    alt

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

设备配置说明

配置项说明

名称

为设备设置一个名称。

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

设备模板

选择您在步骤1创建的物模型和版本。

本教程中选择 onvif-device

IP地址输入现场 IPC 设备的 IP 地址。
端口号输入现场 IPC 设备的端口号。
用户名输入访问 IPC 设备所使用的用户名。
密码输入访问 IPC 设备所使用的密码。
验证模式选择 用户名密码认证
子协议类型选择 Onvif

点表

  1. 单击下拉框,然后单击 +创建点表

  2. 根据点表配置说明,完成设备的点表设置,然后单击 确认

  3. 从下拉列表选择新建的点表。

点表配置说明

配置项子配置项说明

名称

为点表设置一个名称。

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

物模型属性-
Profiles

服务

选择 Media

读取方法选择 GetProfiles
设置方法无需设置。
采样周期保留默认值。

物模型属性-
ContinuousMove

服务

选择 PTZ

读取方法无需设置。
设置方法选择 ContinuousMove
采样周期保留默认值。

物模型属性-
LocalStreamUri

服务

选择 EdgeX

读取方法选择 GetCustomMetadata
设置方法选择 SetCustomMetadata
采样周期保留默认值。

物模型属性-
CloudStreamPushUri

服务

选择 Media

读取方法选择 GetCustomMetadata
设置方法选择 SetCustomMetadata
采样周期保留默认值。

物模型属性-
CloudStreamPullUri

服务

选择 Media

读取方法选择 GetCustomMetadata
设置方法选择 SetMetadataConfiguration
采样周期保留默认值。

alt

步骤4:部署北向通道

现场 IPC 设备添加到一体机后,您还需要在一体机上部署北向通道,才能使一体机的视频流数据上报到边缘智能控制台供您查看。

  1. 在左侧导航栏,选择 设备管理 > 北向通道
  2. 单击 创建北向通道
  3. 创建北向通道 页面,为北向通道设置一个 名称,选择 直播上云 类型,并选择将北向通道部署到已添加 IPC 设备的一体机上。

    本教程中使用 live-data-to-cloud 作为北向通道名称。

  4. 单击 确定

等待北向通道在一体机上部署成功。

步骤5:查看实时视频

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

  1. 回到一体机的 设备接入 列表,定位到新添加的设备,单击 操作 列的 直播

    alt

  2. 在弹出的 设备直播 窗口,查看设备的实时视频。

    • 您可以使用视频画面右下方的操作按钮,调整播放效果。例如,进入全屏模式、调整播放速度等。
    • 您也可以使用视频画面右侧的云台操作按钮,调整摄像头的角度和画面缩放。

    alt

参考信息

支持的服务与函数

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

功能类别服务读取方法设置方法数据类型
自动发现DeviceGetDiscoveryModeSetDiscoveryModeObject
DeviceGetScopesSetScopesObject
DeviceN/AAddScopesObject
DeviceN/ARemoveScopesObject
网络配置DeviceGetHostnameSetHostnameObject
DeviceGetDNSSetDNSObject
DeviceGetNetworkInterfacesSetNetworkInterfacesObject
DeviceGetNetworkProtocolsSetNetworkProtocolsObject
DeviceGetNetworkDefaultGatewaySetNetworkDefaultGatewayObject
系统功能DeviceGetDeviceInformationN/AObject
DeviceGetSystemDateAndTimeSetSystemDateAndTimeObject
DeviceN/ASetSystemFactoryDefaultObject
DeviceN/ASystemRebootObject
用户处理DeviceGetUsersSetUserObject
DeviceN/ACreateUsersObject
DeviceN/ADeleteUsersObject
元数据配置MediaGetMetadataConfigurationSetMetadataConfigurationObject
MediaGetMetadataConfigurationsN/AObject
MediaGetCompatibleMetadataConfigurationsN/AObject
MediaGetMetadataConfigurationOptionsN/AObject
MediaN/AAddMetadataConfigurationObject
MediaN/ARemoveMetadataConfigurationObject
视频流MediaGetProfilesN/AObject
MediaGetStreamUriN/AObject
视频编码器配置MediaGetVideoEncoderConfigurationSetVideoEncoderConfigurationObject
MediaGetVideoEncoderConfigurationOptionsN/AObject
云台节点PTZGetNodeN/AObject
PTZGetNodesN/AObject
云台配置PTZGetConfigurationsN/AObject
PTZGetConfigurationSetConfigurationObject
PTZGetConfigurationOptionsN/AObject
MediaN/AAddPTZConfigurationObject
MediaN/ARemovePTZConfigurationObject
云台驱动PTZN/AAbsoluteMoveObject
PTZN/ARelativeMoveObject
PTZN/AContinuousMoveObject
PTZN/AStopObject
PTZGetStatusN/AObject
PTZGetPresetsN/AObject
PTZN/AGotoPresetObject
PTZN/ARemovePresetObject
云台起始位置PTZN/AGotoHomePositionObject
PTZN/ASetHomePositionObject
云台辅助操作PTZN/ASendAuxiliaryCommandObject
事件处理EventN/ANotifyObject
EventN/ASubscribeObject
EventN/ARenewObject
EventN/AUnsubscribeObject
EventN/ACreatePullPointSubscriptionObject
EventN/APullMessagesObject
EventN/ATopicFilterObject
EventN/AMessageContentFilterObject
分析文件配置Media2GetProfilesN/AObject
Media2GetAnalyticsConfigurationsN/AObject
Media2N/AAddConfigurationObject
Media2N/ARemoveConfigurationObject
分析模块配置AnalyticsGetSupportedAnalyticsModulesN/AObject
AnalyticsGetAnalyticsModulesModifyAnalyticsModulesObject
AnalyticsN/ACreateAnalyticsModulesObject
AnalyticsN/ADeleteAnalyticsModulesObject
AnalyticsGetAnalyticsModuleOptionsN/AObject
规则配置AnalyticsGetSupportedRulesN/AObject
AnalyticsGetRulesModifyRuleObject
AnalyticsN/ACreateRulesObject
AnalyticsN/ADeleteRulesObject
AnalyticsGetRuleOptionsN/AObject
图片操作ImagingGetServiceCapabilitiesN/AObject
系统功能EdgeXRebootNeededN/ABool
EdgeXCameraEventN/ABool
EdgeXN/ASubscribeCameraEventBool
EdgeXN/AUnsubscribeCameraEventBool
媒体EdgeXGetSnapshotN/ABinary
自定义元数据EdgeXGetCustomMetadataSetCustomMetadataObject
自定义元数据EdgeXN/ADeleteCustomMetadataObject

YAML 文件

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

camera.yaml
23.20KB