安讯士 AXIS OS 知识库

AXIS OS 门户 | AXIS OS 发行说明 | AXIS OS 安全公告 | AXIS OS 强化指南 | AXIS OS YouTube 播放列表 关于 欢迎来到 AXIS OS 知识库,这是一个全面的知识库,旨在成为有关 AXIS OS 的技术信息的首选资源。AXIS OS 是基于 Linux 的操作系统,用于大多数 Axis 网络设备。它专为满足网络设备最重要标准而设计:高标准的网络安全、易于集成、质量和长期价值。 网络安全 AXIS OS 安全公告 AXIS OS 漏洞档案已移至其自己的在线手册。请访问 AXIS OS 安全公告 。 设备强化 有关如何强化 AXIS OS 设备的信息,请访问 AXIS OS 强化指南 。强化指南是为所有运行 AXIS OS LTS 或活动轨道的 AXIS OS 设备编写的,可应用于这些设备。运行版本 4.xx 和 5.xx 的旧产品也属于适用范围。 身份和访问管理 概括 身份和访问管理包括确保个人和应用程序在正确的环境中访问系统资源的政策。例如,个人只能与应用程序交互,并且只有应用程序才能访问设备。IAM 可确保长期完整性,例如,密码不会泄露,并且在不再需要时撤销访问权限。 Axis 建议使用 Axis 的设备管理应用程序 AXIS Device Manager 或 AXIS Device Manager Extend 来设置和管理用于访问设备的应用程序的唯一服务帐户。以下部分进一步详细介绍了 Axis 对视频监控系统中身份和访问管理的建议。 介绍 身份和访问管理 (IAM) 系统负责管理组织内的身份、权限和访问控制。IAM 确保正确的个人和应用程序对正确的系统资源具有正确的访问权限。这是防止未经授权访问的基本网络安全措施。主要挑战之一是长期保持完整性。这包括确保密码和其他机密没有泄露,以及那些不应再拥有访问权限的个人和应用

关于

欢迎来到 AXIS OS 知识库,这是一个全面的知识库,旨在成为有关 AXIS OS 的技术信息的首选资源。AXIS OS是基于 Linux 的操作系统,用于大多数 Axis 网络设备。它专为满足网络设备最重要标准而设计:高标准的网络安全、易于集成、质量和长期价值。

网络安全

AXIS OS 安全公告

AXIS OS 漏洞档案已移至其自己的在线手册。请访问AXIS OS 安全公告

设备强化

有关如何强化 AXIS OS 设备的信息,请访问AXIS OS 强化指南。强化指南是为所有运行 AXIS OS LTS 或活动轨道的 AXIS OS 设备编写的,可应用于这些设备。运行版本 4.xx 和 5.xx 的旧产品也属于适用范围。

身份和访问管理

概括

身份和访问管理包括确保个人和应用程序在正确的环境中访问系统资源的政策。例如,个人只能与应用程序交互,并且只有应用程序才能访问设备。IAM 可确保长期完整性,例如,密码不会泄露,并且在不再需要时撤销访问权限。

Axis 建议使用 Axis 的设备管理应用程序AXIS Device ManagerAXIS Device Manager Extend来设置和管理用于访问设备的应用程序的唯一服务帐户。以下部分进一步详细介绍了 Axis 对视频监控系统中身份和访问管理的建议。

介绍

身份和访问管理 (IAM) 系统负责管理组织内的身份、权限和访问控制。IAM 确保正确的个人和应用程序对正确的系统资源具有正确的访问权限。这是防止未经授权访问的基本网络安全措施。主要挑战之一是长期保持完整性。这包括确保密码和其他机密没有泄露,以及那些不应再拥有访问权限的个人和应用程序确实被撤销了访问权限。

身份和访问管理通常涉及身份验证授权特权

  • 身份验证。验证实体是否为其所声称的身份或事物。

  • 授权。控制哪些实体被允许执行特定的功能。

  • 特权。根据实体被授权执行的操作对其进行分组。Axis 将特权定义为角色。

在整个文档中,使用了用户帐户服务帐户这两个术语。两者都通过 IAM 注册和管理。

  • 用户帐户。用户帐户是个人用来访问应用程序的帐户。

  • 服务帐户。服务帐户是应用程序用来访问设备的非人类帐户。服务帐户用于机器对机器通信或当应用程序需要以可信和自动化的方式访问设备时。

使用服务帐号的最佳实践

为了长期保持完整性,建议采用以下服务帐户管理的最佳实践。

下图直观地展示了设备中访问管理的最佳实践。

场景 A
  • 人员 A 无权直接访问 AXIS 设备

  • 人员 A 有权访问 AXIS 设备管理器应用程序

  • 人员 A 使用 ADM 在 AXIS 设备中为 ADM 创建服务帐户

  • 人员 A 使用 ADM 为视频管理应用程序创建服务帐户

场景 B
  • B 无法直接访问 AXIS 设备

  • B 有权访问视频管理应用程序

  • B 使用视频管理应用程序在 AXIS 设备上执行视频管理任务

使用设备中的用户账号时,设备面临以下风险:

  • 未经授权的人员访问设备

  • 不同设备中的授权级别错误

  • 重复使用用户帐户凭证导致无法进行审计

  • 随着设备数量的增加,可扩展性较差

不同的站点和组织可以有不同的策略,包括密码策略。系统的设置应适应这些策略。通常,每个应用程序都应该有自己的设备凭据。如果密码在设备中重复使用,Axis 建议经常轮换密码。

授权和账户权限

Axis 设备支持管理员、操作员和查看者角色,并具有不同的授权级别。Axis 建议为有权访问设备的管理应用程序设置一个管理员帐户。此帐户对于每个应用程序应是唯一的,并且不可共享。理想情况下,此帐户的密码应由管理应用程序本身生成,并且对所有人都保密。

如果需要直接访问设备

某些配置可能不受应用程序本身支持,可能需要通过设备 Web 界面进行。Axis 建议通过 Axis 设备管理应用程序提供的无缝访问来访问 Axis 设备 Web 界面。

如果有充分理由允许直接访问设备,Axis 建议使用临时服务帐户模拟和受限访问权限。应在设备上创建一个新的服务帐户,并赋予其执行所需操作的适当角色。一旦不再需要直接访问,应删除此服务帐户。

设备访问

传统访问程序(默认用户和默认密码)

从历史上看,在出厂默认状态下,Axis 设备的 VAPIX 和 ONVIF 接口已激活,以便连接到它们的客户端快速轻松地开箱即用地访问网络。这意味着客户端(例如应用程序或视频管理系统)可以通过匿名 ONVIF 调用以及默认 VAPIX 用户“root”(使用默认密码“pass”)访问 Axis 网络设备,而无需在 Axis 网络设备上配置任何内容。

更新的访问程序(默认用户没有默认密码)

VAPIX 和 ONVIF 接口已被禁用,并且“root”VAPIX 用户密码不再设置为出厂默认状态。这意味着,如果不为 VAPIX 用户“root”设置密码,客户端将无法再访问或配置开箱即用的设备。

新的访问程序已在以下 AXIS OS 版本中实施:

  • 版本 5.51.6

  • 版本 6.50.4(2016 LTS)

  • 版本 8.40.3(2018 LTS)

  • 版本 9.40.1 及更高版本

此外,新的更新程序已在上述平台版本之外的单个产品版本中推出,例如:

  • 1.65.x

  • 1.8xx

  • 5.75.x

  • 6.53.x

  • 6.55.x

  • 7.15.x

现代访问程序(无默认用户)

在 AXIS OS 11.6 及更高版本中,默认 VAPIX 用户“root”已从 Axis 设备的出厂默认状态下删除,现在可以在出厂默认状态下创建自定义命名的 VAPIX 用户。

匿名接口调用

无需身份验证(=匿名)的接口调用仍可用于设备识别目的。Axis 设备在出厂默认状态下可通过其 HTTP 响应标头进行识别,当进行 VAPIX 或 ONVIF API 调用时,该标头设置为“AXIS-Setup:vapix”,如下所示:

HTTP/1.1 401
Unauthorized Date: Thu, 19 Sep 2019 18:15:20 GMT
Server: Apache/2.4.39 (Unix) OpenSSL/1.1.1c
Axis-Setup: vapix

激活 VAPIX 和/或 ONVIF 接口

可以使用以下方法激活 Axis 设备中的 VAPIX 和/或 ONVIF 接口:

  • 当设置初始 VAPIX 用户密码时,VAPIX 界面就会激活,可以通过 VAPIX 系统设置 API(如 VAPIX 库中所述 )或在安装向导过程中使用 Axis 设备的 Web 界面进行设置。

  • 只有在激活 VAPIX 接口后才能激活 ONVIF 接口。此后,可以通过设备的 Web 界面创建 ONVIF 用户来激活 ONVIF 接口。

    • AXIS 操作系统版本

      Web 界面配置路径

      < 7.10

      设置 > 系统选项 > 安全 > ONVIF

      ≥7.10

      设置 > 系统 > ONVIF

      ≥10.9

      系统 > ONVIF

  • 此外,还可以使用 ONVIF Profile S 规范创建 ONVIF 用户。创建 ONVIF 用户的 API 调用示例如下:

  • POST /vapix/services HTTP/1.1
    <SOAP-ENV:Envelope xmlns:wsdl=""
    xmlns:xs=""
    xmlns:tds=""
    xmlns:xsi=""
    xmlns:xsd=""
    xmlns:onvif=""
    xmlns:tt=""
    xmlns:SOAP-ENV="">
    <SOAP-ENV:Body>
    <tds:CreateUsers xmlns="">
    <User>
    <tt:Username>admintt:Username>admin>
    <tt:Password>admintt:Password>admin>
    <tt:UserLevel>Administratortt:UserLevel>Administrator>
    </User>
    </tds:CreateUsers>
    </SOAP-ENV:Body></SOAP-ENV:Envelope>

密码强度指示器

具有 AXIS OS 7.20 或更高版本的 Axis 设备支持密码强度指示器,当通过 Web 界面创建或修改用户帐户密码时,该指示器可见。它指示所选密码的强度是弱、中还是强,并提供有关如何增强密码的建议。该指示器遵循 Dropbox 开发的 ZXCVBN 算法。有关设置设备密码的更多信息,请参阅 AXIS OS 强化指南

我忘记了密码,该怎么办?

无法恢复丢失或忘记的 Axis 设备访问凭证。需要将 Axis 设备重置为出厂默认设置,才能使用新的访问凭证重新配置它。

设备访问日志记录

在本节中,您可以了解成功和失败的登录尝试如何根据所使用的网络协议记录在 Axis 设备的日志系统中。始终建议配置一个远程系统日志服务器,Axis 设备可将其系统日志发送到该服务器。这将确保日志可以保存和查看一段合适的时间,而不会在设备本身重新启动或恢复出厂设置后被删除。

SSH

成功的

[ INFO ] sshd[17583]: Accepted password for root from 10.197.252.38 port 41988 ssh2

不成功

[ INFO ] sshd[17727]: Failed password for root from 10.197.252.38 port 41994 ssh2
五次尝试失败后[ ERR ] sshd[17727]: error: maximum authentication attempts exceeded for root from 10.197.252.38 port 41994 ssh2 [preauth]
[ INFO ] sshd[17727]: Disconnecting authenticating user root 10.197.252.38 port 41994: Too many authentication failures [preauth]

FTP

成功的

[ INFO ] vftpd[18263]: Accepted request from 172.27.0.3 50333
[ INFO ] vftpd[18263]: User root logged in.

不成功

[ INFO ] vftpd[18163]: Accepted request from 172.27.0.3 64936
[ INFO ] vftpd[18163]: Incorrect username/password. User access from 172.27.0.3 denied.
[ INFO ] vftpd[18163]: Client 172.27.0.3 disconnected.

RTSP 协议

成功的

[ NOTICE ] monolith: RTSP UNKNOWN session h4fIznyTZNy16tLt created from 172.25.155.83

不成功

[ WARNING ] monolith: Rtsp login failed from 172.25.155.83

HTTP(S) 协议

成功的*

[ NOTICE ] httpd[22254]: root from 10.197.240.111 /axis-cgi/admin/accesslog.cgi GET 200

不成功**

[ NOTICE ] httpd[21459]: root from 10.197.240.111 failed to access /axis-cgi/usergroup.cgi.Password mismatch

*需要从Plain Config > System启用访问日志参数。
**仅使用正确用户名的登录尝试才会被记录。此日志消息仅适用于 AXIS OS 10.4 及更高版本。

IP 过滤***

不成功

IP_FILTER: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:30:9c:23:e2:48:b5:08:00 SRC=172.25.201.50 DST=172.25.201.255 LEN=78 TOS=0x00 PREC=0x00 TTL=128 ID=60428 PROTO=UDP SPT=137 DPT=137 LEN=58
IP_FILTER: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:30:9c:23:e2:48:b5:08:00 SRC=172.25.201.50 DST=172.25.201.255 LEN=78 TOS=0x00 PREC=0x00 TTL=128 ID=60429 PROTO=UDP SPT=137 DPT=137 LEN=58

***Axis 设备中的 IP 过滤是网络第 2 层 Linux 内核功能,可根据配置的规则阻止网络包。如果不适合的源 IP 地址试图访问 Axis 设备,则不会执行身份验证,因为网络传输在第 2 层网络上被阻止,而身份验证在更高级别的应用程序层上执行。在IP 过滤部分的Plain Config > Network中启用 VAPIX 参数后,可以创建 IP 过滤的相应日志

预防DoS攻击****

不成功

AXIS OS 11.5 及更低版本

[ WARNING ] httpd[22254]: [evasive20:warn] [pid 22254:tid 1428104112] [client 172.25.201.116:42058] Blacklisting address 172.25.201.116: possible DoS attack.

不成功

AXIS OS 11.6 及更高版本

[ WARNING ] httpd[22254]: [evasive20:warn] [pid 22254:tid 1428104112] [client 172.25.201.116:42058] Blocklisting address 172.25.201.116: possible DoS attack.

****PreventDosAttack 可以从Plain Config > System启用,并且只会记录不成功的登录尝试,并在源 IP 地址被阻止时相应地记录。

用户管理配置
从 AXIS OS 10.9 开始,与用户配置相关的更改将记录在系统日志中,因此可以发送到远程系统日志服务器。在 AXIS OS 中,VAPIX 和 ONVIF 用户通过拥有自己的管理界面和访问权限而分开。下表说明了在对用户管理配置进行某些更改时会出现哪些日志消息:

API 接口用例日志消息
维普添加用户VAPIX user andre from IP-address 10.197.240.104 created VAPIX user benjamin with role Administrator
维普更改访问组VAPIX user susanna from IP-address 10.197.240.104 changed VAPIX user linda role from Administrator to Operator
维普更改密码VAPIX user root from IP-address 10.197.240.104 changed VAPIX user thomas password
维普删除用户VAPIX user root from IP-address 10.197.240.104 deleted VAPIX user sebastian with role Operator
ONVIF添加用户VAPIX user root from IP-address 10.197.240.104 created ONVIF user andre with role Administrator
ONVIF更改访问组ONVIF user andre from IP-address 10.197.240.104 changed ONVIF user susanna role from Administrator to Operator
ONVIF更改密码ONVIF user thomas from IP-address 10.197.240.104 changed ONVIF user andre password
ONVIF删除用户ONVIF user pernilla from IP-address 10.197.240.104 deleted ONVIF user sebastian with role Operator

强力延迟保护

AXIS OS 7.30 或更高版本

运行 AXIS OS 7.30 及更高版本的 Axis 设备可以配置为自动阻止来自网络中客户端(IP 地址)的 HTTP/HTTPS 请求。在一定时间内,一定数量的身份验证会失败。此功能可以帮助避免和保护 Axis 设备免受暴力攻击,或无意中模仿类似行为的网络客户端的攻击。可以在Plain config > System中配置暴力延迟保护中配置暴力延迟保护。

AXIS OS 11.5 或更高版本

使用 AXIS OS 11.5 或更高版本时,使用下面的配置示例 1 默认启用暴力破解延迟保护。

通常,允许的页面/站点数量越少,保护就越安全。使用暴力延迟保护会大大增加猜测密码的时间。下面可以找到一些迹象。请注意,始终建议配置强密码。

健康)状况未启用延迟保护时暴力破解总时间 - 720 个请求/秒*总暴力破解时间配置示例 1总暴力破解时间配置示例 2
4 个字符,仅包含小写字母+- 11 分钟+- 6 小时+- 13 小时
4 个字符,包括大写和小写字母以及 0 至 9+- 6 小时+- 205 小时+- 410 小时
5 个字符,仅包含小写字母+- 5 小时+- 7 天+- 14 天
5 个字符,包括大小写字母以及 0 至 9+- 14 天(+- 2 周)+- 1.5 年+- 3 年

*实际速率可能有所不同,取决于产品性能。

尝试从之前被识别为威胁的网络客户端访问 Web 界面将导致HTTP 403 禁止响应。

此外,Axis 设备会在系统日志中内部记录以下内容:

AXIS OS 11.5 及更低版本

2021-08-16T12:17:35.119+02:00 axis-accc8ed910b9 [ WARNING ] httpd[592]: [evasive20:warn] [client 172.25.201.116:41972] Blacklisting address 172.25.201.116: possible DoS attack.

AXIS OS 11.6 及更高版本

2021-08-16T12:17:35.119+02:00 axis-accc8ed910b9 [ WARNING ] httpd[592]: [evasive20:warn] [client 172.25.201.116:41972] Blocklisting address 172.25.201.116: possible DoS attack.

参数说明

范围描述
DOS 阻塞时间屏蔽期限是客户端被添加到屏蔽列表后被屏蔽的时间(以秒为单位)。在此期间,该客户端的所有后续请求都将导致 403(禁止访问)。
DOS页数这是每个页面间隔内对同一页面(或 URI)的请求数的阈值。一旦超出该间隔的阈值,客户端的 IP 地址将被添加到阻止列表中。页面被视为 http://ip-address/system/plainconfig。
DOS页面间隔页数阈值的间隔;默认为 1 秒间隔。
DOSSiteCount这是同一客户端在同一侦听器上每个站点间隔对任何对象的总请求数的阈值。一旦超过该间隔的阈值,客户端的 IP 地址将被添加到阻止列表中。站点被视为 http://ip-address/
DOSSiteInterval站点数量阈值的间隔;默认为 1 秒间隔。

配置示例

  • 示例 1:一秒钟内登录尝试失败 20 次后,客户端 IP 地址将被阻止 10 秒。此配置是默认配置,可提供灵活的安全性,在一定程度上会考虑知名授权客户端的登录尝试失败。

  • 示例 2:一秒钟内登录尝试失败 10 次后,客户端 IP 地址将被阻止 10 秒。建议将此配置用于非常严格且安全性较高的系统,因为几次登录尝试失败就会阻止客户端。

环境

示例 1

示例 2

激活密码限制

DoS 阻止时间(秒)

10

10

DoS 页面计数 (req/DoSPageInterval)

20

10

DoS 页面间隔(秒)

1

1

DOS 站点计数(req/DoSSiteInterval)

20

10

DoS 站点间隔(秒)

1

1

已签名的操作系统

关于签名操作系统
签名操作系统是一项功能,旨在确保仅上传和使用经过验证的受信任软件到 Axis 设备。在本节中,您可以阅读有关技术细节,以确保选择正确的更新和降级路径以避免出现问题。有关签名操作系统功能的一般信息,请参阅Axis 产品中的网络安全功能白皮书。

Axis 从 AXIS OS 8.30.1 开始对其软件进行签名。在 AXIS OS 9.20.1 发布之前,设备仍会接受未签名和签名的软件以实现向后兼容性。在 AXIS OS 9.20.1 发布后,签名的操作系统已完全激活,Axis 设备将只接受由 Axis 签名的软件。这意味着无法回滚或降级到低于 AXIS OS 8.30.1 的版本,这是 Axis 最初开始对设备软件进行签名的版本。

  • 问题:我的设备运行的是 AXIS OS 9.10.1,我想降级到 AXIS OS 8.40 LTS。这可行吗?
    回答:可以,这可行。

  • 问题:我的设备运行 AXIS OS 9.20.1,我想降级到 AXIS OS 8.20.1 或更低版本,因为我的 VMS 要求我这样做以保持向后兼容性。这样可以吗?
    回答:降级将失败。设备将拒绝未签名的版本,它将继续运行 AXIS 9.20.1。为了执行此类降级,您需要使用 AXIS OS 8.30.1 作为网关分两步降级。因此,首先从 9.20.1 -> 8.30.1 -> 8.20.1 或更低版本。请注意,Axis 一般不鼓励降级到较旧的、不受支持的 AXIS OS 版本。

故障排除
如何确定升级因未签名的操作系统而失败? 如果用户尝试上传未签名的版本,则当设备软件升级因签名的操作系统而失败时,摄像机的日志文件中将显示以下消息之一:

[ERR] fwmgr: Unknown firmware domain
[ERR] fwmgr: Image has no signature.
[ERR] fwmgr: No custom firmware certificate for camera group 'xxx'.

签署 ACAP 申请

Axis 采取积极措施实施 ACAP 应用程序签名,与行业最佳实践保持一致,以实现安全软件交付。此外,它预计未来可能会通过立法予以执行,包括欧盟网络安全弹性法案、欧盟无线电设备指令和行政命令 14028。因此,从 AXIS OS 12.0 开始,默认情况下客户只能在 Axis 设备上安装已签名的 ACAP 应用程序。只有当设备主动配置为接受未签名的 ACAP 应用程序时,才可以安装未签名的 ACAP 应用程序。将设备配置为接受未签名的 ACAP 应用程序会降低设备的安全性,但在开发期间或在您开发和运行自己的 ACAP 应用程序时,它可能很有用。不建议运行未签名的 ACAP 应用程序。

这给最终客户带来什么好处?

签署的 ACAP 表明 Axis 与开发 ACAP 的合作伙伴建立了 TIP 关系。通过检查 ACAP,最终客户可以看到 TIP 合作伙伴是谁。供应商标签下的合作伙伴名称相当于 Axis CRM 记录中的公司名称。因此,签署过程可确保合作伙伴的验证、可追溯性和可问责性。此过程使最终客户能够验证其 ACAP 应用程序。

从网络安全方面来看,它有什么好处?

签名过程可确保 ACAP 在 Axis 设备上运行时仅需要 Axis 批准的访问权限和特权。经过签名过程的 ACAP 将仅在 Axis 设备上运行有限的、已批准的访问权限。此外,通过对 ACAP 应用程序进行签名,可确保应用程序的内容从发布到安装都不会被篡改,从而实现安全的软件交付。

Axis 是否正在审查软件质量、安全开发实践或对已签名的 ACAP 执行 QA 测试?

不,Axis 不对经过签名流程的 TIP 合作伙伴 ACAP 是否经过 QA 测试或是否根据行业最佳实践的安全开发流程进行开发承担任何责任。此责任完全由提供 ACAP 应用程序的 TIP 合作伙伴承担。

我们允许谁签署 ACAP?

只有 TIP 合作伙伴才被允许这样做。这表明 Axis 已经对其合作伙伴进行了审查。

Axis 是否也为非 TIP 合作伙伴提供 ACAP 签名功能?

对于需要签名功能的非 TIP 合作伙伴,我们还将执行审查流程。请使用此链接申请访问权限。

ACAP 签名在技术上如何运作?

在 ACAP 应用程序签名过程中,会在应用程序包末尾添加加密签名。作为整体安全软件交付架构的一部分,安装 ACAP 应用程序时,Axis 设备会验证该签名。

Axis 何时会强制执行 ACAP 签名?

为了符合安全软件交付实践,Axis 将仅接受签名的 ACAP 应用程序,并且无法在其设备上禁用此安全控制。Axis 的目标是通过下一代 AXIS OS 操作系统实现这一目标,该系统计划于 2026 年下半年及以后推出AXIS OS 13.0

加密支持

安全密钥库通常是指专用的硬件加密计算模块,可提供对加密操作、证书和密钥的保护。支持 AXIS Edge Vault的 Axis 产品 具有最多两个安全密钥库,并具有相应的安全认证,即根据联邦信息处理标准获得的通用标准 CC EAL6+ 和/或 CC EAL4+ / FIPS 140-2 2 级认证,这可能是某些客户和用例的监管要求。这两个安全密钥库在加密操作、证书和密钥方面提供相同级别的保护。此外,一些片上系统包括所谓的可信执行环境 (TEE)。根据安装要求,TEE 可能是一个不错的选择,因为它的加密操作延迟较低。

下表概述了 Axis 设备中密钥库的加密功能。

加密功能

可信平台模块 2.0(CC EAL4+、FIPS 140-2 2 级)

安全元件(CC EAL6+、FIPS 140-3 3 级)

可信执行环境 (SoC TEE)

软件(1)

加密操作、证书和密钥的专用硬件保护

最强安全

最快的性能

推荐用于长效密钥/证书

推荐用于短期密钥/证书

.PEM、.DER、.CER 和 .CRT 格式的 X.509 证书,带有 PKCS#1 格式的私钥

.p12 或 .pfx 格式的 PKCS#12 证书/私钥容器(2)

RSA 加密支持

ECC 加密支持

(3)

(4)

(4)

(4)

哈希算法 SHA-224/256/384/512

SHA-224/256

SHA-224/256/384/512

SHA-224/256/384/512

SHA-224/256/384/512

可上传的最大 RSA 加密私钥大小

2048

4096 (5)

4096

4096

可上传的最大 ECC 加密私钥大小

ECC NIST P-256

ECC NIST P-256、ECC NIST P-384、ECC NIST P-521

ECC NIST P-256、ECC NIST P-384、ECC NIST P-521

ECC NIST P-256、ECC NIST P-384、ECC NIST P-521

自签名证书或证书签名请求的 RSA 加密私钥大小(6)

2048

4096

4096

4096

自签名证书或证书签名请求的 ECC 加密私钥大小(7)

ECC NIST P-256

ECC NIST P-256、ECC NIST P-384、ECC NIST P-521

ECC NIST P-256、ECC NIST P-384、ECC NIST P-521

ECC NIST P-256、ECC NIST P-384、ECC NIST P-521

  1. 对于无硬件保护的安全密钥库的产品而言,这是遗留的。

  2. 支持 AXIS OS 5.50 及更高版本,.PFX 和 .P12 证书/私钥容器的最大大小限制为 102400 字节,但运行 AXIS OS 9.20 及更低版本的设备除外,这些设备仅支持最大文件大小为 10240 字节。

  3. AXIS OS 10.10 中添加了对 ECC 的支持,但以下需要手动接收软件更新的产品除外:HWID 79C:AXIS Q3527-LVE、HWID 7DA:AXIS Q6074、HWID 7D9:AXIS Q6074-E、HWID 7B1:AXIS Q6075、HWID 7B0:AXIS Q6075-E、HWID 7B2:AXIS Q6075-C、HWID 7B3:AXIS Q6075-S、HWID 7FA:AXIS Q6075-SE 和 HWID 7C7:AXIS Q9216-SLV。

  4. 从 AXIS OS 10.1 及更高版本开始,已添加对不带 TPM 模块的 Axis 设备的 ECC 加密支持。

  5. 不支持 RSA 3072 密钥长度。

  6. Axis 设备在创建自签名证书 (SSC) 或发出证书签名请求 (CSR) 时生成的私钥的最大密钥位大小。在首次启动期间,Axis 设备将自动生成自签名证书,在 AXIS OS 10.1 之前,该证书的私钥位大小为 1536 位。从 AXIS OS 10.1 及更高版本开始,大小为 2048 位。

  7. 支持 AXIS OS 11.6 或更高版本。

证书管理

默认设备证书
Axis 设备包含允许加密 HTTPS 和其他安全连接的证书,以便能够安全地访问设备并继续进行设备的初始配置。根据 Axis 产品的硬件功能及其运行的 AXIS OS 版本,适用不同的默认配置。

自签名证书
支持 TPM 模块或软件密钥库的 Axis 产品仅在首次启动时生成自签名证书。Axis 设备附带预安装的自签名证书,以便能够通过加密的 HTTPS 连接访问设备并继续进行设备的初始设置。由于首次启动证书是由设备自签名的,因此它不适合提供针对网络和应用程序的身份验证或真实性。因此,当 HTTPS 连接是设备的首选连接类型时,Axis 建议从设备中删除自签名证书并将其替换为组织中受信任的服务器证书。

Axis 设备 ID (IEEE 802.1AR)
配备Axis Edge Vault 的Axis 设备配备有 Axis 设备 ID。Axis 设备 ID 符合 IEEE 802.1AR 标准,可以使用 Axis 设备 ID 证书链进行验证。您可以在我们的公钥基础设施存储库中下载并查找有关 Axis 设备 ID 证书链的更多信息。在使用 Axis 设备 ID CA 证书作为信任锚之前,请记住根据提供的 sha256 哈希验证下载的证书。

AXIS根证书完整性校验和 SHA256
AXIS设备 ID 根 CA ECC32ca2dc3230764f2d638b54d2826c050613266162932a2d7e766f81a51e3aa60
AXIS设备 ID 中间 CA ECC 1e7a2fe5d9eb7af9d2ad45a432621389fc50362b62e482c03969ca5e3e3c114a4
AXIS设备 ID 中级 CA ECC 22df287bda13db287f6e177a0ac666e3087de9c39e93d4dafb074e0ca944b0d45
AXIS设备 ID 根 CA RSAfc1a8b0d6585dc74215bcc4e87e852af9258637062d0fc4c417554a6f1b5a85e
AXIS设备 ID 中间 CA RSA 16b5da02ed3feb18ab787c3dfe2a32a311cf93852733e6ebe463f3ec33d45a89d
AXIS设备 ID 中级 CA RSA 2c02a61b0448ab245994d7d81b5ae50253424a4cd930426172e5f0d89598b69a6

CA 证书
CA 证书是 Axis 设备用来验证/核实网络中其他服务器真实性的证书。这意味着,要在 Axis 设备的 CA 证书部分上传的 CA 证书需要满足以下条件之一:

  • 具有basicConstraints扩展的X509v3 CA 证书CA:TRUE*

  • X509 v1 自签名证书

  • 设置了keyCertSign位但没有设置basicConstraints 的keyUsage属性扩展

  • Netscape 证书类型扩展表明它是 CA 证书

*CA:TRUE 或 CA:FALSE 属性还决定是否允许 CA 证书签署其他证书。

证书签名请求 (CSR)
证书签名请求 (CSR) 可以从 Axis 设备中现有的证书创建。PEM 格式的证书请求可以发送到证书颁发机构 (CA) 进行签名/验证。签名证书从 CA 返回后,需要将其上传到 Axis 设备并与原始证书请求进行比较/验证。如果所有信息均正确无误,证书上传将成功结束。但是,如果在颁发 CSR 和上传证书之间发生系统更改,则该过程可能会中断。证书上传失败的可能原因包括:

  • 同时,Axis 设备已恢复出厂默认设置

  • 用于签名请求的证书已在 Axis 设备中被删除或更改

默认 HTTP(S) 标头

AXIS OS 默认启用以下最常见的安全相关 HTTP(S) 标头,以提高出厂默认状态下的整体最低网络安全性。自定义 HTTP 标头 VAPIX API 可用于配置更多 HTTP(S) 标头。有关更多信息,请参阅Vapix 库

AXIS OS 10.1 及更高版本
在 AXIS OS 10.1 或更高版本中,引入了以下默认 HTTP(S) 标头以提高整体最低网络安全级别:

标头价值观描述
X-Frame 选项 同源这指定该页面只能嵌入在与页面本身位于同一域的框架中。
X-Content-Type 选项嗅探此值指示浏览器不要将具有未知 MIME 类型的文件解释为其他内容类型。例如,如果服务器发送带有 .jpg 扩展名的 HTML 文件,则浏览器不会将其视为图像,而是将其显示为文本。
X-XSS 保护1;模式=块该值指示浏览器启用其内置的 XSS 保护功能。

AXIS OS 11.5 及更高版本
在 AXIS OS 11.5 或更高版本中,除了指定策略以告知浏览器哪些内容源对于 Axis 设备是可信的之外,还添加了内容安全策略 (CSP) HTTP(S) 响应标头。此标头可用于防范各种类型的攻击,包括跨站点脚本 (XSS) 和数据注入攻击。

当浏览器收到网页时,它会检查 CSP 标头以确定允许为该页面加载哪些内容源。如果尝试从不在列表中的源加载任何内容,浏览器将阻止它。

指示价值观描述
默认源 '自己'如果没有明确指定,这将指定允许从中加载资源的默认源。
框架祖先'自己'这指定了可在页面上加载框架或 iframe 的来源。
连接源‘self’
https://*.google-analytics.com
https://*.analytics.google.com
https://*.googletagmanager.com
https://*.
媒体流:
blob:
这指定了页面可以发出网络请求的源。
脚本源‘self’
‘unsafe-inline’
‘unsafe-eval’
https://www.googletagmanager.com
https://*.google-analytics.com https://ssl.google-analytics.com
https://*.
这指定了可以在页面上加载和执行 JavaScript 代码的源。
样式源'自己''
不安全内联’
这指定了可在页面上加载和应用样式的来源。
图片来源‘self’
https://*.analytics.google.com
https://www.googletagmanager.com
https://*.
数据:
blob:
该指令控制图像的加载(例如使用 <img> HTML 标签)。
媒体源‘自我’
媒体流:
blob:
指定页面上可加载音频和视频的来源
对象源'无'这为<object><embed><applet>元素指定了有效的源。

除了 CSP 之外,还添加了 Referrer-Policy 标头。HTTP 请求可能包含可选的 Referrer 标头,该标头指示发出请求的来源或网页 URL。Referrer-Policy 标头定义了在 Referrer 标头中提供哪些数据。

标头价值观描述
引荐来源政策跨域时严格来源使用此策略,跨源请求的 Referrer 标头中只会发送来源。在提供更多隐私的同时,它还可以防止可能从完整 URL 的其他部分(例如路径和查询字符串)访问的私人数据泄露。

下面的示例展示了 AXIS OS 11.5 设备及其默认配置的 HTTP(S) 标头。

退役

停用 Axis 设备时,应执行出厂默认设置。恢复出厂默认设置后,大多数数据都会通过覆盖/清理被删除。有关更多信息,请参阅AXIS OS 强化指南

媒体流

Axis 产品中的视频流

本节的目的是鼓励和使合作伙伴、系统集成商和最终用户在配置 Axis 设备中的常规视频流设置时考虑他们的个人设置,以确保最佳性能和用户体验。

一般注意事项
Axis 视频设备根据其所用系统的期望要求以及 Axis 设备本身的规格提供视频流。以下信息提供了有关 Axis 设备中视频流的工作原理以及需要考虑的设置的基础和理解。

关于视频流客户端
Axis 设备本身可识别多种类型的客户端,并向其编码和分发视频流。客户端可分为内部外部,并根据请求向其提供视频流。请参阅以下每个类别的示例:

内部客户

  • (S)FTP/HTTP(S) MJPEG 图像上传的操作规则

  • (S)FTP/HTTP(S) 视频片段上传的操作规则

  • 将视频录制到 SD 卡和网络共享的操作规则

  • 连续录制至 SD 卡或网络共享

  • (分析)请求视频流或 MJPEG 图像的 ACAP

外部客户

  • 在网页界面上观看视频

  • 通过安全远程访问观看视频

  • 实时查看并录制至 AXIS Companion

  • 实时查看并录制至 AXIS Camera Station

  • 实时查看并录制至第三方视频管理系统

独特的编码流

唯一编码流的数量告诉我们 Axis 设备正在编码多少个不同的视频流。此信息可在 5.70 或更高版本的设备的服务器报告中的“当前(缓存)流的快照”部分中找到。对于 AXIS OS 10.7 或更高版本的设备,此信息可在“所有正在运行的流的快照”部分中找到。唯一编码流的数量受流属性的影响,如下例所示。请注意,插图取自图形用户界面,以便更好地说明用例。

示例 1:在此示例中,Axis 设备正在对总共三个独特的编码视频流进行编码。这些视频流在一个流属性(分辨率)上有所不同,由于分辨率不同,Axis 设备需要分别对每个视频流进行编码。

示例 2:在此示例中,Axis 设备正在对总共两个独特的编码视频流进行编码。这两个视频流的一个流属性不同 - 帧速率 (fps) - 由于帧速率不同,Axis 设备需要分别对每个视频流进行编码。

结论:Axis 设备需要根据其流属性对视频流进行编码。如果流属性(例如 fps、压缩、VideoKeyFrameInterval (GOP) 等)因请求的视频流而异,则 Axis 设备必须对单独的视频流进行编码。这可能会影响视频流性能,通常建议优化设置以尽可能减少视频流数量。

注意:从 AXIS OS 10.8 开始,单个唯一编码视频流最多可以同时分发到八个物理网络客户端。如果更多物理网络客户端需要拉取相同的视频流,我们建议改为实施多播视频流,或者让其他客户端请求另一个唯一编码视频流。

分布式流

分布式视频流的数量是指网络中实际物理网络客户端的数量以及它们请求的视频流数量。例如,可以从同一物理网络客户端的 AXIS Camera Station 和 Axis 设备的 Web 界面进行视频流传输。

此信息可在 9.80 及更高版本的设备的服务器报告中的“当前传出 RTP 流的快照”部分获得。此部分列出了分布式流的数量及其目标 IP 地址的关系。分布式流声明为视频流数量:物理网络客户端数量 的比率

示例 1: 在此示例中,分布式流的数量为 2:2,因为 Axis 设备总共将两个视频流传输到两个物理网络客户端。

示例 2:在此示例中,分布式流的数量为 3:2,因为 Axis 设备总共向两个物理网络客户端传输三条视频流。观察到物理网络客户端 1正在请求唯一编码流 1两次。

结论:Axis 设备可以将一个或多个视频流传输到相同或多个物理网络客户端。物理网络客户端由其请求的视频流数量及其在网络中的目标 IP 地址定义。

注意:从 AXIS OS 10.8 开始,单个唯一编码视频流最多可以同时分发到八个物理网络客户端。如果更多物理网络客户端需要拉取相同的视频流,我们建议改为实施多播视频流,或者让其他客户端请求另一个唯一编码视频流。

独特的编码流和分布式流

通过以上信息,我们现在可以解释唯一编码流的数量与分发到物理网络客户端的流的数量之间的关系。

示例 1:在此示例中,两个物理网络客户端分别请求一个唯一的编码流。这会导致向每个物理网络客户端分发一个流。

示例 2: 在此示例中,Axis 设备正在编码两个唯一流并将它们分发到三个物理网络客户端。

示例 3:在此示例中,Axis 设备正在编码单个唯一流并通过多播将其分发到两个物理网络客户端。请注意,此设置将只产生单个分布式流,因为两个物理网络客户端将从多播地址接收流。因此,与下面的示例 4 相比,多播具有消耗更少网络带宽的优势。

示例 4:在此示例中,Axis 设备正在编码单个唯一流,并通过单播将其分发到两个物理网络客户端。与示例 3 相比,此设置将要求 Axis 设备消耗更多的网络带宽,因为必须分发两次唯一流。

最大客户端数量

另一个重要设置是可以接收视频流的客户端(=查看者)的最大数量。所有 Axis 设备中的数量设置为 10 或 20,具体取决于设备的配置和性能。

这意味着 Axis 设备要么向网络中的 10 或 20 个不同的物理客户端提供单个视频流,要么 Axis 设备向网络中的一个客户端提供 10 或 20 个不同的视频流。接收视频客户端(物理和软件实例)的数量是主要限制。可以通过读取以下 VAPIX 参数来获取此配置:https://ip-address/axis-cgi/param.cgi?action=list&group=Image.MaxViewers

实际上,任何时候都不应达到最大数量。如果越来越多的客户端需要访问视频流,建议使用多播等方式。

视频、音频和元数据

“最大客户端数量”中,我们了解到设备最多可以提供多少个视频流是有限制的,我们用视频流的数量来解释这一点。除了视频流,Axis 设备还可以提供音频和元数据流。虽然视频和音频流的用途是不言而喻的,但元数据的用途可能并非如此。借助元数据流,应用程序或 VMS 可以监听 Axis 设备的事件流,并对其做出反应,并创建自己的事件和操作。

下面是一个 Axis 设备的示例,该设备当前正在将每种类型的流传输到单个物理网络客户端。观察在Media下传输的是哪种类型的流。

总而言之,最大客户端数量分别应用于视频、音频和元数据流,这意味着如果将参数MaxViewers配置为 20,则 Axis 设备总共可以提供 20 x 视频、20 x 音频和 20 x 元数据流。

性能考虑和最大比特率

性能考虑
虽然 Axis 设备可以同时编码多个视频流,但如果编码“太多”唯一视频流,这在某种程度上会对性能产生影响。在下面的示例图中,您可以观察到 Axis 设备可以以 30 fps 的全帧速率传输五个唯一视频流。如果需要编码第六个唯一视频流,则将超出产品的性能,导致 Axis 设备以降低的帧速率均匀传输所有请求的视频流。如果超出产品的性能,Axis 设备将不会优先以全帧速率传输任何视频流,而是将性能瓶颈分散到所有视频流上。

请注意,上述示例是一个过于简单的说明,Axis 设备能够以全帧速率传输的并发视频流数量在很大程度上取决于许多因素,例如请求的帧速率、分辨率、压缩、比特率等等。建议在与设备安装环境完全相同或接近的环境中针对所需行为测试设备。

最大视频流比特率
典型的 1080p 和 30 fps 的 H.264 视频流的比特率约为 1 Mbit/s 到 10 Mbit/s,具体取决于场景、照明条件、运动和许多其他因素。为了避免网络瓶颈和 Axis 设备所连接的底层网络基础设施的拥塞,视频流的最大比特率有硬性上限,并且每个视频流总计不能超过 50 Mbit/s。

视频源缓冲区配置

除了上述信息之外,下面列出的 Axis 设备还具有必须考虑的其他视频缓冲区配置。这些设备具有有限数量的静态配置的所谓视频源缓冲区。视频源缓冲区的数量取决于设备。

对于单传感器产品,视频源缓冲区可以提供至少一个唯一视频流,而对于多传感器产品,视频源缓冲区可以提供至少四个唯一视频流。因此,包含视频源缓冲区配置的 Axis 设备受到其可以提供的唯一视频流数量的限制。

2022 年之前发布的产品
在 2022 年之前发布的 Axis 设备中,最多有 4 个视频源缓冲区。

  • 主源缓冲区:主源缓冲区静态配置为设备的最大默认分辨率,并且只能以该特定分辨率提供唯一的视频流。这由“固定”一词表示。

  • 第二个源缓冲区:第二个源缓冲区是低分辨率视频缓冲区,适用于依赖较低分辨率的应用程序,例如(分析)ACAP 或运动 jpeg 图像。此缓冲区提供各种可能的分辨率。

  • 第三个源缓冲区:第三个源缓冲区是一个高分辨率视频缓冲区,可提供设备的最大分辨率或接近该分辨率的分辨率。除此之外,支持 HDMI 的设备在启用时会分配第三个源缓冲区 HDMI 视频流。此缓冲区提供各种可能的分辨率。

  • 第 4 个源缓冲区:第 4 个源缓冲区是一个高分辨率缓冲区,可提供设备的最大分辨率或接近该分辨率的分辨率。此缓冲区提供各种可能的分辨率。

2022 年及以后发布的产品
在 2022 年及以后发布的 Axis 设备中,至少有四个视频源缓冲区可用于编码视频,例如 H26X 和 MJPEG。HDMI 不会影响编码视频的可用源缓冲区数量。获取 YUV 的 ACAP(通常是分析应用程序)不会影响编码视频的可用源缓冲区数量。

  • 固定源缓冲区(主):固定源缓冲区静态配置为设备的最大默认分辨率,并且只能以该特定分辨率提供唯一的视频流。这由“固定”一词表示。

  • 第二个源缓冲区:第二个源缓冲区是低分辨率视频缓冲区,适用于依赖较低分辨率运动 JPEG 图像的应用程序。此缓冲区提供各种可能的分辨率。

  • 第 N 个源缓冲区:第 N 个源缓冲区是高分辨率视频缓冲区。此缓冲区提供各种可能的分辨率。

示例说明

AXIS装置主源缓冲区第二源缓冲区第三个源缓冲区第 4 个源缓冲区
AXIS Q6125-LE固定 1920x1080320x240 至 720x576320x240 至 1920x1080320x240 至 1280x960

总之,此设备可以提供 2 个最大分辨率为 1920x1080 的独特视频流 — 一个最大分辨率为 1280x960,另一个最大分辨率为 720x576。如独特编码流中所述,服务器报告中的信息可以帮助识别哪些视频源缓冲区已被使用且饱和,哪些仍然可用。

示例 1:在此示例中,Axis 设备正在提供以下唯一视频流,这意味着主、第 3 和第 4 个视频源缓冲区正在使用中。请求另一个分辨率为 1920x1080 且 fps = 15 的唯一视频流将失败,因为没有可用的视频源缓冲区来提供此请求。

示例 2:在此示例中,Axis 设备正在提供以下唯一视频流,这意味着主视频源缓冲区和第三个视频源缓冲区正在使用中。例如,请求另一个分辨率为 1920x1080 且 fps = 15 的唯一视频流将失败,因为没有可用的视频源缓冲区来提供此请求。但是,请求分辨率为 800x600 的唯一视频流缓冲区可以由第四个源缓冲区提供。

Axis 设备规格
下面列出了所有 Axis 设备及其视频源缓冲区配置:

AXIS装置主源缓冲区第二源缓冲区第三个源缓冲区第 4 个源缓冲区
AXIS I8116-E固定 2592x1944320x240 至 640x480*****320x240 至 1920x1080*****320x240 至 1920x1080*****
AXIS M1025
AXIS M3005-V
AXIS M3025-VE
固定 1920x1080320x240 至 720x576320x240 至 1920x1080320x240 至 1280x720
AXIS M1004-W
AXIS M1014
AXIS M1034-W
AXIS M3004-V
AXIS M3024-LVE
固定 1280x800320x240 至 720x576320x240 至 1440x900320x240 至 1280x720
AXIS M1013
AXIS M1033-W
AXIS M1143-L
固定 800x600320x240 至 720x576320x240 至 800x600320x240 至 800x600
AXIS M3046-V 2.4 毫米固定 2688x1520
固定 2560x1440
320x240 至 720x576HDMI:1080p
320x240 至 1920x1080
320x240 至 1280x720
AXIS M1045-LW
AXIS M1065-L/-LW
AXIS M3045-V/-WV
固定 1920x1080320x240 至 720x576HDMI:1080p
320x240 至 1920x1080
320x240 至 1280x720
AXIS M3044-V/-WV固定 1280x720320x240 至 720x576无 HDMI
320x240 至 1280x720
320x240 至 1280x720
AXIS M2026-LE
AXIS M2026-LE Mk II
AXIS M3106-L/-LVE
AXIS M3106-L/-LVE Mk II
固定 2688x1520320x240 至 720x576无 HDMI
320x240 至 1920x1080
320x240 至 1280x960
AXIS M3046-V 1.8 毫米固定 2304x1296 (16:9)
固定 2016x1512 (4:3)
320x240 至 720x576HDMI:1080p
320x240 至 1920x1080
320x240 至 1280x960
AXIS M4206-V/-LV固定 2048x1536320x240 至 720x576HDMI:1080p
320x240 至 1920x1080
320x240 至 1280x960
AXIS M4215-V/-LV固定 1920x1080320x240 至 640x360*****320x240 至 1920x1080*****320x240 至 1920x1080*****
AXIS M4216-V/-LV固定 2304x1728 (4:3)320x240 至 640x480*****320x240 至 1920x1080*****320x240 至 1920x1080*****
固定 2304x1296 (16:9)320x240 至 640x360*****320x240 至 1920x1080*****320x240 至 1920x1080*****
AXIS M3016
AXIS M3066-V
AXIS M3206-LVE
固定 2304x1728
固定 2304x1296
320x240 至 720x576HDMI:1080p
320x240 至 1920x1080
320x240 至 1280x960
AXIS M3015
AXIS M3065-V
AXIS M3075-V
AXIS M3205-LVE
AXIS Q9216-SLVE
固定 1920x1080320x240 至 720x576HDMI:1080p
320x240 至 1920x1080
320x240 至 1280x960
AXIS M3064-V固定 1280x720320x240 至 720x576无 HDMI
320x240 至 1280x720
320x240 至 1280x720
AXIS M3047-P*固定 2048x2048480x480 至 720x720HDMI:720p
480x480 至 2048x2048
480x480 至 720x720
AXIS M3048-P*固定 2880x2880480x480 至 720x720HDMI:720p
480x480 至 2880x2880
480x480 至 720x720
AXIS Q6125-LE固定 1920x1080320x240 至 720x576320x240 至 1920x1080320x240 至 1280x960
AXIS P1428-E**
AXIS Q6128-E**
固定 3840x2160240x135 至 640x480480x270 至 1280x720240x135 至 1920x1080
AXIS Q6010-E***
AXIS Q6100-E***
固定 2592x1944320x240 至 1280x960320x240 至 1920x1080无法使用
AXIS P3719-PLE****固定 2560x1440固定 640x360640x360 至 1920x1080固定 2560x1440
AXIS M2035-LE固定 1920x1080320x240 至 640x360*****320x240 至 1920x1080*****320x240 至 1920x1080*****
AXIS M2036-LE固定 2304x1728 (4:3)320x240 至 640x480*****320x240 至 1600x1200*****320x240 至 1600x1200*****
固定 2688x1512 (16:9)320x240 至 640x360*****320x240 至 1920x1080*****320x240 至 1920x1080*****
AXIS M3085-V固定 1920x1080320x240 至 640x360*****320x240 至 1920x1080*****320x240 至 1920x1080*****
AXIS M3086-V固定 2688x1512 (16:9)320x240 至 640x360*****320x240 至 1920x1080*****320x240 至 1920x1080*****
固定 2304x1728 (4:3)320x240 至 640x360*****320x240 至 1920x1080*****320x240 至 1920x1080*****
AXIS M3088–V固定 3840x2160320x240 至 640x360*****320x240 至 1920x1080*****320x240 至 1920x1080*****
AXIS M1055-L固定 1920x1080320x240 至 640x360*****320x240 至 1920x1080*****320x240 至 1920x1080*****
AXIS M1075-L固定 1920x1080320x240 至 640x360*****320x240 至 1920x1080*****320x240 至 1920x1080*****

* 分辨率仅适用于鱼眼概览,与其他去扭曲视图模式不同。在 AXIS M3047-P 和 AXIS M3048-P 上以相同分辨率拉动视图区域 1 和 2 时,可以使用最高分辨率 (1920x1440) 或较低分辨率(如 640x480 和 480x360)。
** 每个源缓冲区可以以相应的分辨率提供两个视频流。例如:总共 4x1080p,其中 2x1080p 从主源缓冲区提供,2x1080p 从第 4 个源缓冲区提供,或者 2x4K 从主源缓冲区提供,2x1080p 从第 4 个源缓冲区提供。
*** 该设备是具有 4 个物理传感器的多传感器设备,这意味着每个缓冲区能够为每个物理传感器提供一个视频流。示例:AXIS Q6010-E 上每个传感器的 1 个视频流分辨率为 2592x1944,使主源缓冲区上总共有 4 个视频流。
**** 第 4 个源缓冲区仅分配给四视图,这意味着即使不使用四视图,第 4 个源缓冲区也无法进一步使用。
***** 这些视频源缓冲区能够为每个缓冲区提供两个唯一的视频流,而不仅仅是一个。

故障排除
您可以参考每个设备的发行说明来了解所有支持的分辨率。您还会在具有硬件限制的设备的发行说明中注意到以下行:“5.40.5:L35026 不同配置的视频流数量受硬件限制”。

一个典型的第一手迹象表明,由于视频源缓冲区已超出限制,Axis 设备无法提供额外的唯一视频流,即 Axis 设备的 Web 界面中出现“503 服务不可用”错误消息。

其他应用程序(如 AXIS Companion 或 AXIS Camera Station)会向用户显示“摄像机错误”。服务器报告和 Axis 设备附带的日志消息是调试此类情况的绝佳工具。

下面列出了一些常见的日志消息,这些消息会在视频源缓冲区饱和且 Axis 设备无法提供所请求的唯一视频流时出现

故障排除示例 1:在此示例中,请求唯一视频流失败,因为根本没有可用的视频源缓冲区来支持另一个唯一的 1024x768 视频流。日志消息指示哪个源缓冲区已被占用,以及在请求新的唯一视频流时哪个源缓冲区仍可使用。

<INFO> Jan 4 11:22:03 axis-00408cdc12b7 /usr/bin/ambad[960]: Unable to find available stream configuration for resolution 1024x768
<INFO> Jan 4 11:22:03 axis-00408cdc12b7 /usr/bin/ambad[960]: buffer[0]: fixed 1920x1080, current 1920x1080
<INFO> Jan 4 11:22:03 axis-00408cdc12b7 /usr/bin/ambad[960]: buffer[1]: max 720x576, current 0x0
<INFO> Jan 4 11:22:03 axis-00408cdc12b7 /usr/bin/ambad[960]: buffer[2]: max 1920x1080, current 1280x960
<INFO> Jan 4 11:22:03 axis-00408cdc12b7 /usr/bin/ambad[960]: buffer[3]: max 1280x720, current 0x0
<INFO> Jan 4 11:22:03 axis-00408cdc12b7 /usr/bin/ambad[960]: Failed to allocate a source buffer

故障排除示例 2:与上述示例类似,由于没有可用的视频源缓冲区来提供另一个唯一的 800x600 视频流,因此请求唯一的视频流失败。

<INFO> Jan 4 11:22:03 axis-0040 /usr/bin/ambad[960]: Unable to find available stream configuration for resolution 800x600
<INFO> Dec 30 21:15:36 axis408 /usr/bin/ambad[1051]: buffer[0]: fixed 800x600, current 800x600
<INFO> Dec 30 21:15:36 axis408 /usr/bin/ambad[1051]: buffer[1]: max 720x576, current 0x0
<INFO> Dec 30 21:15:36 axis408 /usr/bin/ambad[1051]: buffer[2]: max 800x600, current 800x600
<INFO> Dec 30 21:15:36 axis408 /usr/bin/ambad[1051]: buffer[3]: max 800x600, current 800x600
<INFO> Dec 30 21:15:36 axis408 /usr/bin/ambad[1051]: Failed to allocate a source buffer

故障排除示例 3:具有较新 AXIS OS 版本的 Axis 设备以略有不同的方式打印其日志消息,如本例所示。

[ INFO ] /usr/bin/ambad[1035]: Failed to allocate a source buffer (1280x720, channel 1): No matching buffer available
[ INFO ] /usr/bin/ambad[1035]: stream[1]: encoding [ 1920x1080, 25/1 fps, buffer_id 2, state active, channel 1 ]
[ INFO ] /usr/bin/ambad[1035]: stream[2]: encoding [ 640x480, 25/1 fps, buffer_id 3, state active, channel 1 ]
[ INFO ] /usr/bin/ambad[1035]: stream[3]: encoding [ 320x240, 25/1 fps, buffer_id 1, state active, channel 1 ]
[ WARNING ] monolith: Failed to allocate 1280x720 H264 stream on channel 1: Failed to allocate stream resources: Failed to add stream
[ ERR ] monolith[925]: Could not set caching pipeline to playing.

建议
可以给出以下一般建议来降低复杂性、配置时间并优化 Axis 设备的视频流设置:

  • 利用流配置文件以简单的方式打包流及其配置,以优化流和配置处理

  • 上传 MJPEG 图像或视频片段的操作规则应利用用户配置的流配置文件

  • 如果可能,使用相同的流设置(=流配置文件)进行实时查看和录制

  • 请记住,一旦激活操作规则,操作规则就会分配视频源缓冲区。这意味着,即使 Axis 设备应该每天向 FTP 服务器发送一次图像,也会导致视频源缓冲区被分配一整天

  • 请记住,(分析)ACAP(例如 AXIS 视频运动检测或第三方 ACAP)可能会消耗低分辨率缓冲区进行检测,例如 320x240

  • 请记住,访问 Axis 设备的 Web 界面时默认启用的“自适应分辨率/流式传输”功能将请求根据用户物理显示器的实际分辨率大小定制的唯一视频流。这可能会消耗视频源缓冲区

  • 避免启用匿名查看器。除了网络安全方面,启用匿名查看器还允许对 Axis 设备进行不受控制的访问,并且可能超出视频源缓冲区配置

  • 避免使用可疑的设置,例如请求两个具有相同分辨率、帧速率但具有不同压缩率(如 30 和 35)的独特视频流。与消耗视频源缓冲区的成本相比,图像质量的差异可以忽略不计

视频延迟

从实际事件发生到显示在客户端屏幕上的时间称为延迟。延迟包括摄像机中的图像处理、网络传输和客户端上的解压缩。有关延迟的更多信息,请参见此处。在某些情况下,希望将此延迟保持在尽可能低的水平。要减少摄像机上的处理时间,有几种可能的方法。请注意,这些设置将影响所有视频流。

  • 选择帧率较高的拍摄模式。高帧率拍摄模式下的处理速度通常比低帧率拍摄模式更快。

  • 启用 LowLatencyMode(设置 > 普通配置 > 选择组:ImageSource > ImageSource / I0 / 传感器 > 低延迟模式:开启)。在此模式下,图像处理量会减少以降低延迟。缺点是图像会变得更嘈杂,尤其是在低光照条件下和移动物体周围。这将根据摄像机型号和设置将延迟减少多达 30 - 200 毫秒。根据 Axis 设备,此功能在 AXIS OS 9.80.1 或更高版本上可用。

多播视频流

使用多播传输视频流允许网络中的不同视频客户端访问单个视频流,Axis 设备会将该视频流分发到特定的多播地址和端口。使用多播作为视频流传输方法的好处之一是,Axis 设备只需向网络中的特定地址发送单个或两个视频流,即可保持其系统和资源消耗较低。这也是一种高效利用网络基础设施的方式,因为许多不同的视频客户端可以从多播地址检索视频流,而不是每个视频客户端都从 Axis 设备提取单独的视频流。网络中提供、分发和接收多播的方式实际上可以最大限度地减少网络基础设施及其所有相关客户端的带宽消耗。想象一下,在一个运行着 5,000 多台 Axis 设备的系统中,这会有多大的不同。

Axis 设备支持在多播场景中以多种方式传输视频。在以下部分中,我们将从流式传输的角度介绍多播,而不考虑多播的一般机制及其在网络中的路由方式,也不考虑不同形式多播的基础知识。

任意源多播 (ASM)

无论所需的传输方法是什么(即多播或单播),正确初始化视频客户端和 Axis 设备所需的初始 RTSP 协议通信都非常相似,只是多播模式下的视频客户端指定了这一点而不是单播场景。

下面我们将逐步介绍典型的 RTSP 构建细节。有关更多详细信息,请参阅“多播详解”中的实际网络跟踪。

步骤 1:视频客户端
视频客户端启动 RTSP DESCRIBE 并向 Axis 设备发出信号,使用 RTSP URL 中给出的指定流参数准备视频流,并共享其相应的会话描述协议 (SDP) 文件,其中包括有关如何解码视频流的信息。

DESCRIBE rtsp://172.25.201.100:554/axis-media/media.amp?videocodec=h265&audio=0&resolution=1920x1080&camera=1&compression=30&fps=30 RTSP/1.0
CSeq: 2
User-Agent: OmnicastRTSPClient/1.0
Accept: application/sdp
Authorization: Digest username="root", realm="AXIS_ACCC8ED910B9", nonce="00000450Y2804646c4d9f7d3175fa496417b9c4e7aa39a2", uri="rtsp://172.25.201.100:554/axis-media/media.amp?videocodec=h265&audio=0&resolution=1920x1080&camera=1&compression=30&fps=30", response="7a2e2dcad7618b36479ec76e252bc1c3"

第 2 步:Axis 设备
Axis 设备验证请求并与视频客户端共享相应的 SDP 文件。请注意,在任意源多播模式下,不会共享任何特定于多播的网络参数。在特定于源的多播模式 (SSM) 下,情况有所不同。

RTSP/1.0 200 OK
CSeq: 2
Content-Type: application/sdp
Content-Base: rtsp://172.25.201.100:554/axis-media/media.amp/
Server: GStreamer RTSP server
Date: Thu, 11 Feb 2021 06:51:12 GMT
Content-Length: 1063

v=0
o=- 17136744296195211872 1 IN IP4 172.25.201.100
s=Session streamed with GStreamer
i=rtsp-server
t=0 0
a=tool:GStreamer
a=type:broadcast
a=range:npt=now-
a=control:rtsp://172.25.201.100:554/axis-media/media.amp?videocodec=h265&audio=0&resolution=1920x1080&camera=1&compression=30&fps=30
m=video 0 RTP/AVP 96
c=IN IP4 0.0.0.0
b=AS:50000
a=rtpmap:96 H265/90000
a=framerate:30
a=fmtp:96 sprop-vps=QAEMAf//AUAAAAMAgAAAAwAAAwCcEJAk;sprop-sps=QgEBAUAAAAMAgAAAAwAAAwCcoAPAgBEHy55CbkSg8quTgoKC8IAAAAMAgAAAAwKE;sprop-pps=RAHANzwEbJA=
a=ts-refclk:local
a=mediaclk:sender
a=recvonly
a=control:rtsp://172.25.201.100:554/axis-media/media.amp/stream=0?videocodec=h265&adui=0&resolution=1920x1080&camera=1&compression=30&fps=30
a=transform:1.000000,0.000000,0.000000;0.000000,1.000000,0.000000;0.000000,0.000000,1.000000

步骤 3:视频客户端
然后,视频客户端继续定义适当的传输方法(如多播)、多播 IP 地址、流媒体端口和 TTL。这是 RTSP 构建中的重要步骤,视频客户端实际上可以指定所需的传输方法。请注意,为了使 Axis 设备接受特定于视频客户端的多播网络参数,必须启用Plain Config > Network中的VAPIX 参数RTSP Allow Client Transport Settings 。如果未设置此参数,Axis 设备可能会忽略这些参数并在Plain Config > Network > R0中提供自己的配置集

SETUP rtsp://172.25.201.100:554/axis-media/media.amp/stream=0?videocodec=h265&audio=0&resolution=1920x1080&camera=1&compression=30&fps=30 RTSP/1.0
CSeq: 3
User-Agent: OmnicastRTSPClient/1.0
Transport: RTP/AVP;multicast;destination=224.16.17.51;port=47806-47807;ttl=64
Authorization: Digest username="root", realm="AXIS_ACCC8ED910B9", nonce="00000450Y2804646c4d9f7d3175fa496417b9c4e7aa39a2", uri="rtsp://172.25.201.100:554/axis-media/media.amp/stream=0?videocodec=h265&audio=0&resolution=1920x1080&camera=1&compression=30&fps=30", response="48cf0f723aca20f6530e79ecb966ec0a"

步骤 4:Axis 设备
Axis 设备会验证请求,如果成功,则会使用完全相同的网络参数回复视频客户端,以准备即将到来的会话。

RTSP/1.0 200 OK
CSeq: 3
Transport: RTP/AVP;multicast;destination=224.16.17.51;ttl=64;port=47806-47807;mode="PLAY"
Server: GStreamer RTSP server
Session: f2imQtCHhuoH2FbW;timeout=60
Date: Thu, 11 Feb 2021 06:51:12 GMT

步骤 5:视频客户端
然后,视频客户端最终通过 RTSP PLAY 向 Axis 设备发出信号,根据之前握手的网络和视频流参数按照约定开始视频流。

PLAY rtsp://172.25.201.100:554/axis-media/media.amp?videocodec=h265&audio=0&resolution=1920x1080&camera=1&compression=30&fps=30 RTSP/1.0
CSeq: 4
Session: f2imQtCHhuoH2FbW
User-Agent: OmnicastRTSPClient/1.0
Range: npt=0.000-
Authorization: Digest username="root", realm="AXIS_ACCC8ED910B9", nonce="00000450Y2804646c4d9f7d3175fa496417b9c4e7aa39a2", uri="rtsp://172.25.201.100:554/axis-media/media.amp?videocodec=h265&audio=0&resolution=1920x1080&camera=1&compression=30&fps=30", response="d015b378a8a1000c964d6c48d1883d1f"

步骤 6:Axis 设备
Axis 设备通过发送 RTSP OK 来确认请求,并向视频客户端提供有关视频流如何在定义的多播网络参数下暂时可用的信息。为了向视频客户端发出视频流开始的信号,Axis 设备指定了第一个 RTP 包的序列号和初始 RTP 时间戳,以便客户端能够预期并处理视频流的正确开始。

RTSP/1.0 200 OK
CSeq: 4
RTP-Info: url=rtsp://172.25.201.100:554/axis-media/media.amp/stream=0?videocodec=h265&audio=0&resolution=1920x1080&camera=1&compression=30&fps=30;seq=24067;rtptime=417717697
Range: npt=now-
Server: GStreamer RTSP server
Session: f2imQtCHhuoH2FbW;timeout=60
Date: Thu, 11 Feb 2021 06:51:12 GMT

可选客户端传输设置处理
如果视频客户端未相应地指定所有必要的网络传输参数,则 Axis 设备将回退并提供Plain Config > Network > R0中的默认多播参数集,如下例所示。我们可以在此处观察到,视频客户端的视频流请求指定多播作为传输方法并指定用于多播流的端口,但未指定多播 IP 地址。Axis 设备将此视为不完整的请求,并提供其在 R0 中的配置集,视频客户端可以同意该配置或简单地关闭连接。Axis 设备忽略视频客户端所需设置的另一个原因是未选中Plain Config > Network中的VAPIX 参数RTSP Allow Client Transport Settings 。

步骤3:视频客户端

SETUP rtsp://172.25.201.100:554/axis-media/media.amp/stream=0 RTSP/1.0
CSeq: 5
Authorization: Digest username="root", realm="AXIS_ACCC8ED910B9", nonce="0003628fY51859629beb31964cb09d13947338e39266e77", uri="rtsp://172.25.201.100:554/axis-media/media.amp/", response="78be3d448c752bda36df4b82baf4ecf9"
User-Agent: LibVLC/3.0.11 (LIVE555 Streaming Media v2016.11.28)
Transport: RTP/AVP;multicast;port=55810-55811

步骤 4:AXIS装置

RTSP/1.0 200 OK
CSeq: 5
Transport: RTP/AVP;multicast;destination=224.225.226.227;ttl=5;port=50000-50001;mode="PLAY"
Server: GStreamer RTSP server
Session: xvIhEhZ3W5QpueEZ;timeout=60
Date: Thu, 11 Feb 2021 06:28:05 GMT

源特定组播 (SSM)

在任意源多播 (ASM) 中,在初始 RTSP 构建期间共享会话描述协议 (SDP) 文件后,多播网络参数会进行握手,但在源特定多播模式下并非如此。在 SSM 中,多播网络参数在 Axis 设备中预先配置,并在共享 SDP 文件时与请求视频客户端共享。这样做的好处是,请求视频客户端可以加入多播组,并且只过滤视频客户端感兴趣的多播流量。这可以通过在加入多播组时应用源特定过滤器来实现。

SSM 最常用于的场景是多个 Axis 设备将视频流传输到同一个多播地址但使用不同的端口。通过任意源多播连接的视频客户端将接收来自所有流传输设备的多播流量,而请求源特定多播的视频客户端将能够过滤掉不需要的流量。除此之外,SSM 还允许可靠地规划多播路由/路径转发,因为我们知道多播是如何在网络中切换和路由的。

源特定多播需要在 Axis 设备上进行预配置,以配置所需的多播网络参数。您可以在VAPIX 库中找到有关如何为源特定多播配置 Axis 设备的信息,但也在下面进行了说明。没有特定的设置来启用或禁用源特定多播,但可以从Plain Config > Network为每个单独的视频源配置需要提前定义的源特定多播网络参数。以下是典型的示例配置:

步骤 1:视频客户端
与任意源多播模式相比,SSM 模式需要不同的流媒体 URL 来向 Axis 设备发出需要特定源多播的信号。

DESCRIBE rtsp://172.25.201.100:554/axis-media/ssm/media.amp?camera=1 RTSP/1.0
CSeq: 4
Authorization: Digest username="root", realm="AXIS_ACCC8ED910B9", nonce="000006c7Y356087c783187c3a95be0ca315f5fa0cd57ddc", uri="rtsp://172.25.201.100:554/axis-media/ssm/media.amp?camera=1", response="3226806a8c988f0d473df291e8c7ffb8"
User-Agent: LibVLC/3.0.11 (LIVE555 Streaming Media v2016.11.28)
Accept: application/sdp

第 2 步:Axis 设备 Axis 设备
与请求视频客户端之间共享的 SDP 文件包括源特定的多播网络参数,视频客户端必须了解这些参数才能相应地加入多播组并过滤正确的流量。

RTSP/1.0 200 OK
CSeq: 4
Content-Type: application/sdp
Content-Base: rtsp://172.25.201.100:554/axis-media/ssm/media.amp/
Server: GStreamer RTSP server
Date: Thu, 11 Feb 2021 07:01:42 GMT
Content-Length: 749

v=0
o=- 9871677480407248934 1 IN IP4 172.25.201.100
s=Session streamed with GStreamer
i=rtsp-server
c=IN IP4 225.226.227.228/5
t=0 0
a=tool:GStreamer
a=type:broadcast
a=range:npt=now-
a=control:rtsp://172.25.201.100:554/axis-media/ssm/media.amp?camera=1
a=source-filter: incl IN IP4 225.226.227.228 172.25.201.100
m=video 60000 RTP/AVP 96
b=AS:50000
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;profile-level-id=640029;sprop-parameter-sets=Z2QAKa0AxSAeAIn5ZuAgIDSDxIio,aO48sA==
a=ts-refclk:local
a=mediaclk:sender
a=recvonly
a=control:rtsp://172.25.201.100:554/axis-media/ssm/media.amp/stream=0?camera=1
a=framerate:30.000000
a=transform:1.000000,0.000000,0.000000;0.000000,1.000000,0.000000;0.000000,0.000000,1.000000

步骤3:视频客户端
由于视频客户端提前知道将要使用的多播网络参数,因此客户端可以将其包含在RTSP SETUP请求中。

SETUP rtsp://172.25.201.100:554/axis-media/ssm/media.amp/stream=0?camera=1 RTSP/1.0
CSeq: 5
Authorization: Digest username="root", realm="AXIS_ACCC8ED910B9", nonce="000006c7Y356087c783187c3a95be0ca315f5fa0cd57ddc", uri="rtsp://172.25.201.100:554/axis-media/ssm/media.amp/", response="89e1cf3338144d096723df0b10864cab"
User-Agent: LibVLC/3.0.11 (LIVE555 Streaming Media v2016.11.28)
Transport: RTP/AVP;multicast;port=60000-60001

步骤 4:AXIS设备
AXIS设备根据在 R0 中完成的预配置,验证并使用正确的多播网络参数进行响应。

RTSP/1.0 200 OK
CSeq: 5
Transport: RTP/AVP;multicast;destination=225.226.227.228;ttl=5;port=60000-60001;mode="PLAY"
Server: GStreamer RTSP server
Session: 06yirClN7xQCtW8q;timeout=60
Date: Thu, 11 Feb 2021 07:01:42 GMT

第 5 步:视频客户端
然后,请求的视频客户端向 Axis 设备发出信号,开始按照商定的流和网络参数进行视频流传输。

PLAY rtsp://172.25.201.100:554/axis-media/ssm/media.amp?camera=1 RTSP/1.0
CSeq: 6
Authorization: Digest username="root", realm="AXIS_ACCC8ED910B9", nonce="000006c7Y356087c783187c3a95be0ca315f5fa0cd57ddc", uri="rtsp://172.25.201.100:554/axis-media/ssm/media.amp/", response="c19526013f73f3db72cd4fca98ec1c40"
User-Agent: LibVLC/3.0.11 (LIVE555 Streaming Media v2016.11.28)
Session: 06yirClN7xQCtW8q
Range: npt=0.000-

步骤 6:Axis 设备
Axis 设备通过发送 RTSP OK 确认请求,并向视频客户端提供有关视频流如何在定义的多播网络参数下暂时可用的信息。为了向视频客户端发出视频流开始的信号,Axis 设备指定了第一个 RTP 包的序列号和初始 rtp 时间戳,以便客户端能够预期并处理视频流的正确开始。

RTSP/1.0 200 OK
CSeq: 6
RTP-Info: url=rtsp://172.25.201.100:554/axis-media/ssm/media.amp/stream=0?camera=1;seq=21707;rtptime=3563678630
Range: npt=now-
Server: GStreamer RTSP server
Session: 06yirClN7xQCtW8q;timeout=60
Date: Thu, 11 Feb 2021 07:01:42 GMT

始终进行多播

始终多播不是网络多播模式,而是针对无法以上述任一方式(即通过 ASM 或 SSM)执行正确 RTSP 和/或多播设置的视频客户端的特定适应性调整。在始终多播模式下,Axis 设备静态配置为将视频流式传输到特定的多播地址和端口,并直接开始向其流式传输,无论网络中是否有视频客户端实际从该特定 Axis 设备请求视频。最重要是,RTSP 不用于连接,而是请求视频客户端将进行 HTTP 调用以检索会话描述协议 (SDP) 文件,以便了解并连接到视频流连接的多播地址和端口。可以在 Axis 设备的Plain Config > Network中为每个单独的视频源配置始终多播。

示例 1:设备将仅将视频流传输到多播地址 224.225.226.227 和视频端口 50000。如果在此处输入视频端口 0,则 Axis 设备将选择在RTP > 结束端口和起始端口配置中定义的下一个可能端口。

示例 2:设备将视频流传输到多播地址 224.225.226.227 的端口 50000,音频流传输到多播地址 239.216.121.37 的端口 51000。请注意,还可以在始终多播配置文件中调整视频流参数。如果要使用其他流参数,例如每秒 15 帧的帧速率和 15 的压缩率,则可以按以下方式调整该字段:videocodec=h264&fps=15&compression=15。否则将使用当前配置的默认流设置。

保存上述设置后,无论是否有客户端请求视频流,Axis 设备都会立即开始向配置的多播地址和端口进行流式传输。客户端可以通过 SDP 文件访问此多播流,SDP 文件确定视频流设置,以便视频客户端了解如何播放视频。可以使用http://ip-address/axis-cgi/alwaysmulti.sdp?camera=1 访问SDP 文件,其中 camera=1 映射到 R0。可以通过alwaysmulti.sdp找到此类 SDP 文件的示例找到此类 SDP 文件的示例。下面是说明该过程的网络跟踪示例。

步骤 1:视频客户端
视频客户端已向 Axis 设备请求 SDP 文件。请注意,客户端未提及任何流媒体参数或多播网络参数,因此必须在发出请求之前在 Axis 设备上执行此配置,如前面的示例所述。

GET /axis-cgi/alwaysmulti.sdp?camera=1 HTTP/1.1
Host: 172.25.201.100
Accept: */*
Accept-Language: en_US
Authorization: Basic cm9vdDpwYXNz
User-Agent: VLC/3.0.11 LibVLC/3.0.11
Range: bytes=0-

步骤 2:Axis 设备
Axis 设备在 R0 中查找当前配置,然后初始化并将 SDP 文件发送到请求的视频客户端。这样做是为了传递所需的信息,以便视频客户端可以在预先配置的多播地址和端口访问正在进行的多播流。此时不再交换单播通信,视频客户端将切换到指定的多播网络参数以访问流。

HTTP/1.1 200 OK
Date: Thu, 11 Feb 2021 06:14:25 GMT
Server: Apache/2.4.46 (Unix) OpenSSL/1.1.1g
Cache-Control: no-cache, no-store, max-age=0
Pragma: no-cache
Expires: Thu, 01 Dec 1994 16:00:00 GMT
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Transfer-Encoding: chunked
Content-Type: application/sdp

v=0
o=- 1188340656180883 1 IN IP4 172.25.201.100
s=Session streamed with GStreamer
i=rtsp-server
t=0 0
a=tool:GStreamer
a=type:broadcast
a=control:*
a=range:npt=now-
m=video 50000 RTP/AVP 96
c=IN IP4 224.225.226.227/5
b=AS:50000
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;profile-level-id=640029;sprop-parameter-sets=Z2QAKa0AxSAeAIn5ZuAgIDSDxIio,aO48sA==
a=control:stream=0
a=ts-refclk:local
a=mediaclk:sender
a=framerate:30.000000
a=transform:1.000000,0.000000,0.000000;0.000000,1.000000,0.000000;0.000000,0.000000,1.000000

多播详细信息

网络跟踪示例多播地址多播端口视频客户端视频客户端IP地址AXIS设备 IP 地址
FFMPEG_Any_Source_Multicast.pcapng224.225.226.22750000FFMPEG172.25.201.50172.25.201.100
VLC_Any-Source_Multicast.pcapng224.225.226.22750000甚高频通信*172.25.201.50172.25.201.100
Genetec_Any_Source_Multicast.pcapng224.16.17.5147806基因泰克172.25.201.51172.25.201.100
Milestone_Any_Source_Multicast.pcapng224.16.17.5147806里程碑172.25.201.52172.25.201.100
VLC_Source_Specific_Multicast.pcapng225.226.227.22860000甚高频液晶172.25.201.50172.25.201.100
FFMPEG_Always_Multicast_Direct_SDP_File_Play.pcapng224.225.226.22750000FFMPEG**172.25.201.50172.25.201.100
VLC_Always_Multicast_Direct_SDP_File_Play.pcapng224.225.226.227 50000甚高频全速**172.25.201.50172.25.201.100
VLC_Always_Multicast_HTTP_SDP_Play.pcapng224.225.226.22750000甚高频全速***172.25.201.50172.25.201.100

*在 VLC 中,您可能需要在“高级首选项”下的 RTP/RTSP/SDP 解复用器设置中启用“通过 RTSP 强制多播 RTP”
**为了让 FFMPEG 和 VLC 通过 HTTP 身份验证访问和检索 SDP 文件,必须在“普通配置”>“网络”>“身份验证策略”中配置 HTTP 基本身份验证。
***这些示例说明了视频客户端如何仅通过使用文件 SDP 即可连接到多播流,而无需与 Axis 设备建立任何进一步的连接。假设 Axis 设备上没有进行任何配置更改,用户只需下载一次 SDP 文件,然后就可以使用 SDP 开始播放视频。VLC 和 FFMPEG 是能够这样做的客户端的示例。

多播网络概述

典型的多播场景由三部分组成:源、多播网络基础设施和接收者。

Axis 设备是将流发送到多播地址的源。多播地址是在协商期间由客户端和设备商定的。网络基础设施必须由网络专业人员配置。路由器之间需要运行多播路由协议(如 PIM),最后一跳路由器和接收客户端之间需要运行 IGMP 协议。此外,需要在第 2 层交换机上启用 IGMP 侦听,以避免多播流量泛滥。

交换网络中的多播

在某个 VLAN 和 IP 地址网络内传输流量的网络称为交换网络,因为不需要第 3 层 IP 路由。让我们从基本设置开始,并假设网络交换机未正确配置为处理多播流量。您将看到类似于下图的情况,即由带有客户端计算机和 Axis 设备的少量交换机组成的交换网络。在所有客户端中,只有客户端 2感兴趣并向 Axis 设备请求多播视频流。由于此时网络交换机未正确配置,多播流量(本应只从 Axis 设备通过穿越交换机流向客户端 2)将被泛洪到网络中的所有交换机和客户端,无论它们是否有兴趣接收流量。

让我们看看正确配置并启用 IGMP(Internet 组管理协议)的同一网络。IGMP 是一种协议,可帮助网络基础设施学习和了解谁在向哪个目的地传送多播流量,以避免多播泛滥到不感兴趣的客户端。要配置网络以避免多播泛滥,只需在以下示例配置中为 IGMP 配置主交换机(即第 2 层交换机)即可:

全局配置
ip igmp snooping querier 地址 172.25.201.10
ip igmp snooping querier 查询间隔 15
ip igmp snooping querier

通过这样做,第 2 层交换机将向所连接的网络设备发送 IGMP 查询,以便找出哪些设备有兴趣接收和发送多播包。

网络设备将以“加入”消息进行响应,以表明它们参与多播相关流量。

网络交换机将监听并学习此流量,以便正确地将网络包切换到适当的目的地。下图中,只有客户端 2通过多播向 Axis 设备请求视频。

正确配置后,网络交换机现在也能够跨交换机交换数据包。下图中,我们已切换客户端,因此客户端 1从之前为客户端 2提供服务的同一 Axis 设备请求多播视频流。结果将是正确交换的网络流量通过网络到达正确的目的地。

路由网络中的多播

路由网络中的多播在处理多播流量的方式上与交换方案没有本质区别。客户端在不同 VLAN 和 IP 网络之间交换网络流量的网络称为路由网络,因为需要使用第 3 层 IP 路由技术来传输网络流量。让我们重新使用与交换网络方案中相同的网络拓扑。唯一但重要不同是,与客户端 23以及Axis 设备相比,客户端 1位于不同的 VLAN 和 IP 地址网络中。我们假设我们已经执行了前面提到的相同 IGMP 配置。作为参考,请参见下文:

全局配置
ip igmp snooping querier 地址 172.25.201.10
ip igmp snooping querier 查询间隔 15
ip igmp snooping querier

如您所见,客户端 2已使用多播从 Axis 设备请求视频,并且由于我们已将正确的 IGMP 配置应用于第3 层交换机,因此此设置可以完美运行。但是来自另一个 IP 网络的客户端 1也希望通过多播接收视频,这无法正常工作,因为多播在设计上不会跨不同的 IP 网络路由。因此,为了允许多播流量跨第 3 层网络路由,我们必须启用 IP 多播路由并使用协议独立多播 (PIM) 等协议。最基本和最简单的用例是利用 PIM 的被动模式,如下面建议的配置所示:

全局配置
ip multicast-routing

配置VLAN 201
接口Vlan201
描述LAN1客户端
ip地址172.25.201.10 255.255.255.0
ip pim positive
!

配置VLAN 202
接口Vlan202
描述LAN2客户端
ip地址172.25.202.10 255.255.255.0
ip pim positive
!

应用此配置后,多播可在不同网络间正确路由。从位于 VLAN 201 中的Axis 设备到位于 VLAN 202 中的客户端 1 。

视频流旋转

在本节中,我们将仔细研究视频流方面的 VAPIX 和 ONVIF 图像旋转配置,其处理方式根据 AXIS OS 版本的不同而不同。

AXIS OS 8.50 及更高版本
在添加对 ONVIF 配置文件 T 的支持后,Axis 设备中的图像旋转处理已完全在 VAPIX 和 ONVIF 之间分离。这意味着两种协议都有用于图像旋转配置的专用参数,并且一种协议的图像旋转参数不会影响另一种协议,反之亦然。对于 VAPIX,这是通过图像旋转参数Image.I0.Appearance.Rotation进行的配置,可以在 Web 界面中的图像设置中进行配置,也可以直接通过 VAPIX HTTP 请求进行配置。对于 ONVIF,它是在 Web 界面中的 ONVIF 媒体流配置文件中进行配置,或者直接通过配置文件中旧设备的脚本编辑器进行配置:/etc/ws/onvif/media/media.conf

例外:对于支持ImageSource.I0.SourceRotation=yes 的Axis 设备,上述情况不成立。在这些设备上,图像旋转参数通过 VAPIX 全局设置,ONVIF 将相应地进行调整。

AXIS OS 8.40 及更低版本
通过 Web 界面中的图像设置或直接通过 VAPIX HTTP 请求配置图像旋转参数Image.I0.Appearance.Rotation将影响 VAPIX 和 ONVIF 视频流。除非 ONVIF 流配置文件设置中另有规定,否则 ONVIF 视频流将适应通过 VAPIX 配置的相同图像旋转。

示例配置

VAPIX 从设备 Web 界面配置图像旋转:

从设备 Web 界面进行 ONVIF 图像旋转配置:

通过脚本编辑器进行 ONVIF 图像旋转配置:

流式时间戳

在本节中,您可以了解在流式传输视频和从 Axis 设备下载单个图像时接收时间戳信息的不同方法。此元数据信息可用于业务应用程序中的处理,例如,当接收有关商店中有多少人经过某个区域的元数据时。它还可以用于需要与第三方视频客户端进行时间同步的其他用例

H.264/MJPEG 和 RTP 时间戳

以下网络跟踪可用于测试下面描述的内容。

RTP 时间戳位于 RTP 包的有效负载中,用作单调时间戳,可用于识别视频流的特定帧。根据视频流构建过程中计算出的时钟速率,RTP 时间戳预计会从一帧到另一帧逐渐增加。

时钟频率取决于视频流的图像频率。在此示例中,视频流每秒包含 30 帧,这意味着计算出的时钟频率将为 3000。这反过来意味着单调 RTP 时间戳将在每个新的 I 帧或 P 帧上增加 3000,如以下两个屏幕截图所示。

当视频流开始时,Axis 设备将让外部视频客户端知道第一帧(I 帧)的初始 RTP 时间戳,如下所示。这允许接收视频客户端识别丢失的帧,并可用于在视频流正在进行时测量 RTP 时间戳漂移。

I 帧和/或 P 帧可以由多个 RTP 包组成。如您所见,属于同一 I 帧的所有包都具有相同的唯一时间戳,而随后的每个 P 帧都有自己的与时钟速率相对应的时间戳。因此,对于每个唯一的 I 帧或 P 帧,RTP 时间戳都会逐渐增加。

RTCP NTP 时间戳

以下网络跟踪可用于测试下面描述的内容。

如果 Axis 设备与视频客户端之间发生 RTCP 通信,则会交换所谓的RTCP 发送方和接收方报告。这些报告包含有关正在进行的 RTSP/RTP 流中的时钟同步的重要信息。作为视频发送方的 Axis 设备会发送RTCP 发送方报告,其中包括当前 RTP 流时间和当前 NTP 时间戳(UTC)。

另一方面,接收视频客户端与 Axis 设备交换所谓的RTCP 接收器报告,以回复先前发送的信息,并允许相互进行时间同步检查并补偿 Axis 设备和视频客户端本身之间的时间漂移。RTCP 发送方和接收方报告每隔几秒钟就会在正在进行的视频流中交换一次。

SEI 时间戳

以下网络跟踪可用于测试下面描述的内容。

所谓的 SEI 帧只有在启用此 VAPIX 参数时才可用:Image.I0.MPEG.UserDataEnabled=yes。此处Image.I0对应于默认视频源,如果有多个视频源可用,则需要为每个视频源启用该参数。

SEI 帧在每个 I 帧之前从 Axis 设备发送,并包含有用的时间戳信息。如VAPIX 库中所述,SEI 帧包含 Linux 纪元时间的时间戳信息,精度为 1/100ms(十六进制格式)。

出于调试目的,我们建议使用以下在线转换器:

图片时间戳

可以使用以下 VAPIX 请求从 Axis 设备下载单个图像:http://ip-address/axis-cgi/jpg/image.cgi。从 Axis 设备接收的 JPEG 图像从 JPEG 标头本身或 EXIF 标头数据提供有价值的时间戳信息,具体取决于 Axis 设备的 AXIS OS 版本。

AXIS OS 8.40 及更高版本
从 AXIS OS 8.40 开始,EXIF 标头数据可用于获取时间戳信息,如下面的屏幕截图所示。出于调试目的,可以使用简单的 Windows 应用程序(例如 Linux OS 中的 JPEGSnoop 或 EXIF)来获取 EXIF 标头提供的信息。有关 JPEG 和 EXIF 时间戳标头信息的更多信息,请访问以下来源:Exif 2 规范

AXIS OS 6.50 及更低版本
由于旧版 AXIS OS 不提供 EXIF 标头数据,因此可以使用纯 JPEG 注释标头来接收时间戳信息。可以使用 HxD 编辑器等应用程序获取十六进制格式的时间戳信息,然后可以使用 Linux EPOCH 时间转换器将其转换为人类可读的时间格式,例如https://www.epochconverter.com/hex。对于 1/100 秒信息,可以使用简单的十六进制到十进制转换器,例如https://www.rapidtables.com/convert/number/hex-to-decimal.html

这些示例图像可用于测试:

通过 RTSP 传输元数据

一般来说,Axis 设备中的元数据包括三种不同的类型:事件、PTZ 和分析元数据。元数据封装在可从 Axis 设备请求的 RTP/TCP 流中。让我们仔细看看可用的不同类型的元数据。

事件和 PTZ 元数据
多年来(从 AXIS OS 5.40 开始),Axis 设备已经能够将事件和 PTZ 元数据发送到接收第三方应用程序,例如视频管理系统。仅当 Axis 设备的状态发生变化时,才会发送事件和 PTZ 元数据,这意味着不会发送恒定流。事件元数据的一些常见示例是手动触发器、虚拟输入和存储相关触发器。对于机械 PTZ 摄像机,元数据包括定位数据以及有关何时达到 PTZ 预设或 Axis 设备何时移动的信息。

分析元数据
从 AXIS OS 9.50 及更高版本开始,分析相关元数据可用。与上面描述的事件和 PTZ 元数据流不同,分析元数据流会不断从 Axis 设备发送到接收客户端,即使场景中没有发生任何事情。分析元数据的典型示例是来自 Axis 分析应用程序 (ACAP) 的运动或对象检测,例如 AXIS 视频运动检测或 AXIS 对象分析。在此处阅读有关 AXIS 对象分析的更多详细信息。

可以在此处下载示例网络跟踪,其中说明了如何传输元数据信息。通过使用 Wireshark,可以在 RTP/TCP 流中搜索和查找特定的元数据事件,如下面的屏幕截图所示。

在以下部分中,您可以阅读有关如何开始和执行进一步测试的更多信息。

通过 RTSP 接收元数据

通过打开使用 TCP 传输协议的 RTSP 流,可以从 Axis 设备接收元数据信息。自主开发的 AXIS Metadata Monitor 可用作从 Axis 设备请求元数据的简单测试工具。您可以在此处下载 AXIS Metadata Monitor并将其安装在计算机上,以便连接到网络中的 Axis 设备。以下是从 Axis 设备接收元数据事件的 RTSP 请求示例列表。

RTSP 请求描述
rtsp://ip 地址/axis-media/media.amp?event=on&video=0不包括视频流的事件元数据
rtsp://ip 地址/axis-media/media.amp?event=on&analytics=polygon&video=0不包括视频流的事件和视频分析元数据
rtsp://ip 地址/axis-media/media.amp?event=on&analytics=polygon&ptz=all&video=0事件、视频分析和 PTZ 元数据(不包括视频流)
rtsp://ip 地址/axis-media/media.amp?event=on事件元数据(包括视频流)
rtsp://ip 地址/axis-media/media.amp?event=on&video=1&audio=1事件元数据,包括视频和音频流
rtsp://ip 地址/axis-media/media.amp?event=on&video=0&audio=1事件元数据(不包括视频但包括音频流)
rtsp://ip 地址/axis-media/media.amp?event=on&video=0&eventtopic=axis:CameraApplicationPlatform/VMD/Camera1ProfileANY事件元数据(不包括视频)和仅针对 AXIS 视频运动检测 (VMD) 警报进行过滤
rtsp://ip 地址/axis-media/media.amp?event=on&video=0&eventtopic=onvif:设备/axis:IO/虚拟端口事件元数据(不包括视频)且仅针对手动触发事件进行过滤

可以将其他参数(例如camera=2camera=9)添加到上述请求中,例如从不同的视频通道接收元数据事件。当 Axis 设备支持多个视频源或配置了不同的视图区域时,这很有用。在下面的示例中,我们使用 AXIS Metadata Monitor 通过使用上述 RTSP 请求之一以及 Axis 设备的 IP 地址及其访问凭据连接到 Axis 设备。

如您所见,Axis 设备正在使用其当前可用的所有元数据信息和状态响应 RTSP 请求。测试传入元数据事件的一种简单方法是切换 Web 界面中的手动触发器。

另一种选择是使用预先安装的 Axis 分析应用程序 (ACAP) 之一,例如 AXIS 视频运动检测,在 Axis 设备前触发测试警报或运动,以获取基于运动检测/分析的元数据事件。

元数据事件示例

在下面,您将看到 Axis 设备中可用的常见元数据和设备事件的(非完整)表格。可用事件的类型和数量取决于 Axis 设备的硬件/软件功能,其中一些功能包括:

  • 机械和/或数字 PTZ

  • 机械和/或数字 I/O

  • 音频输入和音频输出功能

  • 安讯士分析应用程序 (ACAP),例如 AXIS 视频运动检测、AXIS 对象分析等。

  • 第三方应用程序

元数据/事件类别话题可能的状态
云台PTZ 控制器/PTZ 预设/通道 1on_preset=0/1
云台PTZ控制器/移动/通道1正在移动=0/1
云台PTZ 控制器/PTZ 就绪就绪=0/1
云台PTZ控制器/控制队列队列所有者=用户 x
输入/输出设备/IO/虚拟输入活动=0/1
输入/输出设备/IO/端口状态=0/1
输入/输出设备/触发器/数字输入状态=0/1
温度设备/状态/温度/高于传感器级别=0/1
温度设备/状态/温度/低于传感器级别=0/1
温度设备/状态/温度/内部传感器级别=0/1
温度设备/状态/温度/高于和低于传感器级别=0/1
温度设备/加热器/状态正在运行=0/1
系统设备/状态/系统就绪就绪=0/1
硬件设备/传感器/PIR状态=0/1
音频设备/铃声功率限制已超出超出限制=0/1
硬件设备/网络/丢失丢失=0/1
硬件设备/网络/BlockedIP地址 = xxxx
硬件设备/外壳/打开开放=0/1
存储存储/中断中断=0/1
存储存储/记录录制=0/1
硬件设备/硬件故障/存储故障中断=0/1
硬件设备/硬件故障/风扇故障失败=0/1
硬件灯光控制/灯光状态改变/状态状态=关闭/打开
视频视频源/LiveStream访问天=0/1
视频视频源/DayNightVision访问=0/1
视频视频源/ABRabr_错误=0/1
音频音频源/触发级别触发=0/1
音频音频控制/数字信号状态signal_status=信号/无信号
视频视频编码器/连接已连接=0/1
视频视频源/连接已连接=0/1
分析视频分析/篡改活动=0/1
分析视频分析/运动检测运动=0/1
分析摄像机应用平台/VMD活动=0/1
分析摄像机应用平台/MotionGuard活动=0/1
分析摄像机应用平台/徘徊守卫活动=0/1
分析摄像机应用平台/围栏防护活动=0/1

AXIS分析元数据配置

从 AXIS OS 10.11 开始,可以在 Axis 设备中选择专用的分析生成器,也可以同时启用多个分析元数据生成器。在后端,Axis 设备可以配置为使用“Axis 视频运动跟踪器”(这是自 AXIS OS 9.50 以来常用的生成器)或使用较新的“Axis 对象分析”生成器来生成分析元数据。“Axis 对象分析”生成器提供了一些有价值的扩展和更多与分析数据相关的信息,例如更详细的对象分类(人脸、车牌号等),这在法医搜索场景中很有用。

通过 WebSocket 传输元数据

从 AXIS OS 10.11 开始,可以使用 (安全) WebSocket 协议订阅元数据流。有关 Axis 元数据流的更多常规信息,请参阅通过 RTSP 传输元数据

在下面的示例中,我们使用了Google Chrome 浏览器的WebSocket King 扩展,但还有许多其他客户端可支持 WebSocket 通信。

步骤 1:使用已安装扩展程序的浏览器登录您的 Axis 设备。

步骤 2:在 WebSocket King 扩展中,连接到:

  • HTTPws://IP/vapix/ws-data-stream?sources=events

  • HTTPSwss://IP/vapix/ws-data-stream?sources=events

请注意,如果您在步骤 1 中使用 HTTPS,则需要在 WebSocket King 扩展中使用相同的连接。

步骤 3:发送以下请求以接收所有事件:

{
"apiVersion": "1.0",
"method": "events:configure",
"params": {
"eventFilterList":[
{
"topicFilter":""
}
]
}
}

还可以订阅特定的topicFilter,例如:“topicFilter”:“tns1:Device/tnsaxis:IO/VirtualInput”。请参阅元数据事件示例以获取更多主题示例。此外,还可以订阅特定的端口。下面您可以看到虚拟输入端口 47 的示例。

{
"apiVersion": "1.0",
"method": "events:configure",
"params": {
"eventFilterList":[
{
"topicFilter":"tns1:Device/tnsaxis:IO/VirtualInput",
"contentFilter":"boolean(//SimpleItem[@Name=\"port\" and @Value=\"47\"])"
}
]
}
}

步骤 4:事件将根据设置的过滤器开始流式传输。

步骤 5 :下面是在 Axis 设备上切换手动触发器的示例,该示例反映在元数据流中。

网络协议

常用网络端口

在本节中,您可以阅读有关 Axis 设备用于网络上不同服务的常用网络端口的信息。

默认启用

协议港口运输 评论
802.1X不适用**学术英语课程IEEE 802.1X 网络身份验证
你好5353UDP由第三方应用程序使用,通过 mDNS 发现协议 (Bonjour) 发现 Axis 设备
持续数据保护不适用**持续数据保护由网络基础设施用来识别 Axis 设备或提供 PoE 协商功能。
HTTP80TCP一般 HTTP 流量,例如 Web 界面访问、VAPIX 和 ONVIF API 界面或边到边通信
HTTPS443TCP一般 HTTPS 流量,例如 Web 界面访问、VAPIX 和 ONVIF API 接口或边到边通信
链路层发现协议不适用**链路层发现协议由网络基础设施用来识别 Axis 设备或提供 PoE 协商功能。
实时协议临时端口范围*UDP由 Axis 设备用于视频/音频流
实时流媒体传输协议554UDP由 Axis 设备用于视频/音频流
即插即用49152TCP由第三方应用程序使用,通过 UPnP 发现协议发现 Axis 设备
国家国防计划1900UDP由第三方应用程序使用,通过 SSDP (UPnP) 发现 Axis 设备
服务发现3702UDP由第三方应用程序使用,通过 WS-Discovery 协议 (ONVIF) 发现 Axis 设备

取决于配置

协议港口运输 评论
通讯协议/PING不适用**ICMP通用 OSI 第 3 层通信
FTP21TCPFTP 访问 Axis 设备
SSH22TCPSSH 访问 Axis 设备
远程登录23TCP通过 Telnet 访问 Axis 设备
DNS53UDP由 Axis 设备用于将 IP 地址解析为主机名
网络时间协议 (NTP)123UDP由 Axis 设备用于同步时间
国家运输安全委员会4460TCP由 Axis 设备用于同步时间。从 AXIS OS 11.1 开始
简单网络管理协议161UDP/TCP由 Axis 设备用于发送 SNMP 通信
SNMP(陷阱)162UDP/TCP由 Axis 设备用于发送 SNMP 通信
系统日志514UDP由 Axis 设备用于将日志消息发送到远程系统日志
系统日志601TCP由 Axis 设备用于将日志消息发送到远程系统日志
系统日志6514TCPAxis 设备使用它通过 SSL/TLS 将日志消息发送到远程系统日志
MQTT1883TCP由 Axis 设备用于将设备事件发送到 MQTT 代理
MQTT8883TCP由 Axis 设备使用,通过 websockets 将设备事件发送到 MQTT 代理
实时同步信号处理322UDP由 Axis 设备用于加密视频流 (RTSPS/SRTP)
中小企业445TCP由 Axis 设备用于边缘记录到远程网络存储
O3C3128TCP由 Axis 设备用于与 O3C 相关的云通信
袜子1080TCP由 Axis 设备用于 SOCKS 代理网络通信
安全FTP22TCP由 Axis 设备用于在事件规则中通过 SFTP 发送数据
操作规则:电子邮件临时端口范围*TCP由 Axis 设备用于在事件规则中通过邮件通知发送图像/视频
操作规则:TCP 通知临时端口范围*TCP由 Axis 设备用于在事件规则中通过 TCP 发送通知
操作规则:图片/视频上传临时端口范围*TCP由 Axis 设备用于在事件规则中通过 HTTP(S) 发送图像/视频
5060UDP/TCP由 Axis 设备用于发送 SIP 通信
5061UDP/TCP由 Axis 设备用于通过 TLS 发送 SIP 通信

*根据 RFC 6056 在预定义的端口号范围内自动分配。更多信息可以在这里找到
**此网络流量没有关联的 TCP 或 UDP 端口号,因为它们与上面的传输层相关联。

***IEEE 802.1X 仅在支持 Axis Device ID 的设备上默认启用。

要了解哪些 Axis 产品支持 Axis 设备 ID,请转到Axis 产品选择器并选择网络安全下的Axis 设备 ID

NTP 和 NTS(网络时间同步)

网络时间协议 (NTP)

网络时间协议用于同步互联网或本地网络中的计算机时钟。版本 4 (NTPv4) 是当前版本,由 RFC 5904 描述。它与 NTPv3 和所有以前的版本完全兼容,旨在支持 IPv6 协议和动态服务器发现。NTP 使用 UDP 作为通过端口 123 的传输协议,这意味着无法保证数据包的递送。

Axis 设备使用两种实现作为其当前平台,具体取决于 AXIS OS 版本。

AXIS 操作系统执行
< 11.0开放NTPD
≥11.0克罗尼

与 OpenNTPD 相比,Chrony 是网络时间协议的较新实现。它在网络拥塞或网络连接断断续续的挑战性情况下表现良好。Chrony 可以更快地同步系统并快速适应突然的时钟速率变化。此外,Chrony 支持网络时间安全 (NTS) (RFC 8915),因此设备获取的时间来自可信来源。您可以在此处找到有关 Chrony 的更多信息找到有关 Chrony 的更多信息。

NTP 使用分层结构,其中多个以不同级别和精度(=层)运行的 NTP 服务器相互同步,以向网络设备提供准确的时间同步。为此,网络中为本地网络设备提供时间的 NTP 服务器应始终与层次结构中较高级别的一个或多个 NTP 服务器同步,以避免时间波动并提高时间准确性。但是,如果没有其他 NTP 服务器可用,则可以在网络中以独立模式本地操作 NTP 服务器。有关 NTP 协议如何工作的更多信息可以从公共资源(例如Wikipedia )获得。

网络时间安全 (NTS)

具有 AXIS OS 11.1 或更高版本的 Axis 设备支持网络时间安全。NTS 允许设备从受信任的来源获取时间。NTS 是一种使用传输层安全性 (TLS) 和带关联数据的认证加密 (AEAD) 为 NTP 的客户端-服务器模式提供加密安全性的机制。

NTS 由两个协议组成:

  1. NTS 密钥交换 (KE):通过传输层安全性 (TLS) 在 NTP 客户端和服务器之间交换必要的密钥。密钥交换完成后,TLS 通道将关闭。NTP 客户端还知道要查询哪个 NTP 服务器。

  2. NTP 认证:NTP 客户端向 NTP 服务器查询时间,双方通过 TLS 握手的结果对 NTP 时间同步数据包进行认证。

关于 NTS 的更多公开信息可在此处找到

同步过程

开放NTPD

以下部分说明了使用 OpenNTPD 进行完整 NTP 同步期间所采取的步骤。此网络跟踪可用作以下步骤的参考,并显示从第一阶段到 Axis 设备与配置的 NTP 服务器完全同步的完整 NTP 同步。

  • 第 1 阶段:从初始时间查询开始。
    从 Axis 设备到 NTP 服务器的第一次时间同步是“通用同步”,这意味着 NTP 服务器提供的任何时间都将被 Axis 设备视为系统时间。第 1 阶段通常在配置 Axis 设备以与 NTP 服务器同步(启用 NTP)时、Axis 设备重新启动时或启动升级(这会导致 Axis 设备重新启动)时启动。

  • 第 2 阶段:第 1 阶段之后是整合阶段,其中 Axis 设备针对 NTP 服务器发出大量时间同步请求,间隔为 6 秒 - 60 秒 + 10% 随机化,以便进一步与 NTP 服务器对齐,确保时间同步紧密。时间同步的数量取决于 NTP 协议的准确性和信任度,但通常需要 5-15 次时间同步。

  • 阶段 3:阶段 3 被视为常规操作模式。查询间隔将在第 2 阶段之后稳定在 30 - 1500 秒 + 10% 随机化之间。如果在正常操作模式下时间差增加,设备将缩短间隔以更频繁地同步以补偿这一点。如果时间漂移非常小,两次同步之间的间隔将更大。请注意,同步状态正在更改为“是”,这表明 Axis 设备与配置的 NTP 服务器时间同步良好。


克罗尼

以下部分说明了使用 Chrony 进行完整 NTP 同步期间所采取的步骤。

  • 阶段 1:阶段 1 从初始时间查询开始。Chronyd 将以 4-8 个请求开始,以便更快地进行时钟的首次更新。一旦它从 NTP 服务器获得回复,它就会计算当前系统时间与 NTP 服务器时间戳之间的时间差。在我们的实施中,我们将 Chrony 设置为在调整大于 0.1 秒时步进系统时钟,但仅限于自 chrony 启动以来的第一次时钟更新。如果时间差小于 0.1 秒,Chrony 将进入斜率模式。Chrony 允许斜率调整时间的最大速率设置为 83333.333ppm(1/12 秒)。时间同步后,您将在网页上看到“是”。

  • 第 2 阶段:第 2 阶段被视为通常的操作模式。一旦时间同步,向 NTP 服务器发出的一般查询轮询间隔将设置为 64 秒。大多数 Axis 设备都内置有实时时钟 (RTC)。系统将在启动时从 RTC 复制时钟。为了保持 RTC 的准确性,我们启用了 chronyd,每 11 分钟将系统时间复制到 RTC。请注意,chronyd 不会跟踪 RTC 漂移。chronyd 程序的主要活动之一是计算出系统时钟相对于实时增加或减少时间的速率。每当 chronyd 计算出增加或减少速率的新值时,它都会将该值记录在 /var/lib/chrony/drift 中。这也有助于在下次启动时稳定初始同步。

NTS 同步过程

要配置 NTS,请转到系统 > 日期和时间,然后选择自动日期和时间(手动 NTS KE 服务器)。
您可以输入 NTP KE 服务器的 IP 地址或主机名(确保 DNS 服务器配置正确)。以下是通过 NTS 成功同步时间的示例:

时间同步过程的行为与我们在上面提到的 Chrony 同步过程中提到的行为几乎相同。这里我们主要关注密钥交换和安全部分。

  • 第 1 阶段
    Chrony 客户端通过建立 TLS 通道开始与 KE 服务器通信。接下来是密钥交换。在密钥交换过程中,客户端会收到稍后要使用的密钥和 cookie。cookie 包含只有 NTP 服务器才能理解的密钥。KE 服务器还会通知客户端要查询哪个 NTP 服务器。交换完成后,TLS 通道将终止。

  • 第 2 阶段
    Chrony 客户端直接联系 NTP 服务器。它使用从第 1 阶段获得的密钥加密查询。该查询中还包含一个 cookie。服务器收到查询后,就知道如何读取查询。服务器将使用签名查询响应客户端。客户端验证传入数据包中的签名,然后设置时间,因为知道它是从正确的服务器发送的。

常见日志消息

在 NTP/NTS 时间同步操作期间以及在某些错误情况下(例如,如果 NTP/NTS 服务器运行不正常或无法访问),可以看到来自 Axis 设备的以下常见日志消息。日志消息及其解释提供了有关 NTP/NTS 协议在实践中如何工作的详细信息。此外,在解决 NTP/NTS 协议相关问题时,了解日志消息也是很好的。

情况NTP 日志消息解释
同步NTPd Linux 系统时钟ntpd[21696]:来自 192.168.255.29 的回复:偏移量 -0.879648 延迟 0.000313,下一个查询 32 秒

这是一条常见的日志消息,指示偏移、延迟以及下一次时间同步的时间。

  • NTP 服务器中的延迟描述了从客户端传递到服务器并返回的计时消息的往返延迟或等待时间。延迟很重要,因为 Axis 设备的 NTPd 进程可以计算和计算网络延迟

  • 以毫秒为单位的偏移量表示Axis 设备的 NTPd 进程与其同步的 NTP 服务器时间之间的实际时间差。

  • 下一个查询是 Axis 设备的 NTPd 进程再次同步到 NTP 服务器所需的时间。当“时钟处于同步状态”(更多信息见下文)时,查询间隔设置为较大的同步间隔,而不是初始时间同步期间可见的较短同步间隔。

  • 与定时参考相关的抖动表示信号方差或离散的大小。不同的定时参考具有不同的抖动量。定时参考越精确,抖动值越低。

无回复NTPd Linux 系统时钟ntpd[21696]: 未及时收到来自 192.168.255.29 的回复,下一个查询需要 30 秒Axis 设备的 NTPd 进程无法到达网络第 2 层和/或第 3 层上的 NTP 服务器。
无回复NTPd Linux 系统时钟ntpd[21696]: 未及时收到来自 192.168.255.29 的回复,重新传输查询 32 秒Axis 设备的 NTPd 进程无法到达网络第 2 层和/或第 3 层上的 NTP 服务器。
负延迟NTPd Linux 系统时钟ntpd[21696]:来自 192.168.255.29 的回复:负延迟-0.000471 秒,下一个查询 3213 秒Axis 设备的 NTPd 进程认为 NTP 服务器处于错误状态。很可能 Axis 设备的两个网络接口与 NTP 服务器之间的时间在很短的时间内发生了很大偏差,无法再正确计算“延迟”。较长时间内不会发生同步。
NTP 服务器拒绝同步NTPd Linux 系统时钟ntpd[21696]: 来自 192.168.255.29 的回复: 未同步 (警报),下一个查询 3196 秒日志消息表明 NTP 服务器本身拒绝同步 Axis 设备的 NTPd 进程,因为它认为自己未与其(较低层)NTP 服务器同步。这是从 NTP 服务器发送的消息。在较长时间内不会发生同步。
系统时钟同步NTPd Linux 系统时钟ntpd[21696]: 时钟现已同步日志消息意味着 Axis 设备的 NTPd 进程认为自己已与 NTP 服务器同步。这将导致时间同步间隔设置为更大的同步间隔,因为需要的同步更少。达到同步状态后,NTPd 进程可以直接更新 Axis 设备的 RTC 时钟。
系统时钟不同步NTPd Linux 系统时钟ntpd[21696]: 时钟现在不同步日志消息表示 Axis 设备的 NTPd 进程不认为自己与 NTP 服务器同步。此状态不会持续很长时间。处于此状态时,无法执行任何 RTC 时钟更新。如果日志表明摄像机处于不同步状态达数小时或数天之久,则意味着 NTP 服务器的漂移速度超过了 Axis 设备的 NTPd 进程可以考虑和补偿的速度。
NTP 服务器可达NTPd Linux 系统时钟ntpd[21696]: 对等端 172.27.0.41 现已有效日志消息表明 Axis 设备的 NTPd 进程可以成功验证其应该同步的 NTP 服务器的完整性。
NTPd 漂移文件NTPd Linux 系统时钟1323.2313此值以 ppm(= 微秒)为单位,表示 Axis 设备的 NTPd 进程需要考虑和补偿的 Linux 系统时间漂移量。请注意,这与 RTC 时钟上可能发生的时间漂移无关。可通过/var/lib/openntpd/db/ntpd.drift获取。
RTC 时钟已设置RTC时钟ntpd[21696]:将本地时钟设置为 2018 年 5 月 29 日星期二 08:34:21 CEST(偏移量 0.000168 秒)日志消息表明 Axis 设备的 NTPd 进程在认为自己与 NTP 服务器保持良好的 NTP 同步后首次更新 RTC 时钟。
RTC时钟已更新RTC时钟ntpd[21696]: 调整本地时钟。当前时间差为 -76.421369 秒当 Axis 设备的 NTPd 进程处于“Clock is now in sync”状态时,RTC 时钟会接收更新。“current time diff”表示 NTPd Linux 系统时钟与 RTC 时钟之间的时间差。
同步Chronyd Linux 系统时钟chronyd[19610]: chronyd 版本 4.2 正在启动 (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP -SCFILTER -SIGND +ASYNCDNS +NTS -SECHASH +IPV6 +DEBUG)日志消息表明 Axis 设备的 chronyd 进程已启动并正在运行。当您设置设备与 NTP 服务器同步时间时,可以看到此日志。
同步Chronyd Linux 系统时钟chronyd[19610]: 选定源 194.58.207.79 (sth1.nts.netnod.se) chronyd[18836]: 选定源 172.20.45.119该日志信息意味着Axis设备的chronyd进程成功验证了NTP服务器,并选择了NTP服务器作为时间源。
同步Chronyd Linux 系统时钟chronyd[17156]: 系统时钟错误 250.930199 秒 chronyd[17156]: 系统时钟步长为 250.930199 秒 scheduling[900]: 时间被操纵了!当Axis设备的chronyd进程从NTP服务器获取时间并调整自身时间为正确时间时,可以看到该日志。
Chronyd 漂移文件Chronyd Linux 系统时钟chronyd[19610]: 从 /var/lib/chrony/drift 读取频率 1.637 +/- 13.841 ppmchronyd 进程刚启动时,可以看到日志消息。当 chronyd 计算出系统时钟相对于实际时间增加或减少时间的速率的新值时,它会将其记录在此处 /var/lib/chrony/drift。
这样,chronyd 每次重新启动时都可以开始以该速率补偿系统时钟。第一个是系统时钟增加或减少时间的速率,以百万分率表示,增加为正值。第二个是真实速率实际上所在的第一个值的误差界限的估计值。
系统时钟不同步Chronyd Linux 系统时钟chronyd[2235]: 无法同步:没有可选择的源当 Axis 设备的 chronyd 进程从 NTP 服务器获取新的更新时,可以看到此日志。但是,时间差异太大,因此 Axis 设备决定不信任它。在设备的网页中,您将看到“已同步”状态变为否。
系统时钟不同步Chronyd Linux 系统时钟time-service: 未收到请求,正在启动终止进程 systemd[1]: systemd-timedated.service: 已成功停用。 systemd[1]: time.service: 已成功停用。当 Axis 设备的 chronyd 进程未从 NTP 服务器收到回复时,将显示此日志。
国家运输安全委员会Chronyd Linux 系统时钟源 194.58.207.69 更改为 194.58.207.79 (sth1.nts.netnod.se)该日志将显示 Axis 设备的 chronyd 进程何时从 KE 服务器重定向到 NTP 服务器。
NTS 密钥交换Chronyd Linux 系统时钟chronyd[7694]: 与 194.58.207.69:4460 (sth1.nts.netnod.se) 的 TLS 握手失败:证书验证错误。该证书不受信任。证书颁发者未知。使用 NTS 时将显示此日志。系统不信任 KE 服务器。请确保将 KE 服务器的 CA 证书上传到 Axis 设备中。
NTS 密钥交换Chronyd Linux 系统时钟chronyd[29971]: 与 194.58.207.10:4460 (194.58.207.10) 的 NTS-KE 会话超时此日志表明 Axis 设备的 chronyd 进程无法与服务器建立 NTS-KE 会话。请检查配置和网络设置以查看是否有任何内容被阻止。
NTS 密钥交换Chronyd Linux 系统时钟ntpconfd:没有可用的 NTS 服务器!该日志表明设备网页中的NTS服务器设置不正确。
停止 NTPChronyd Linux 系统时钟systemd[1]: 正在停止 NTP 客户端/服务器... systemd[1]: 已启动时间和日期服务。 chronyd[12200]: chronyd 退出 systemd[1]: chronyd.service: 已成功停用。 systemd[1]: 已停止 NTP 客户端/服务器。当您切换到手动日期和时间而不是 NTP 时将显示此日志。

多个时间服务器

使用 AXIS OS 9.40.1 或更高版本,可以在 Web 界面中配置辅助 NTP 服务器,以及通过 VAPIX Time API 配置最多五个 NTP 服务器。设备会尝试与所有已配置的服务器同步。使用 VAPIX Time API,最多可以配置 5 个 NTP 服务器 URL。此外,一个 NTP 服务器 URL 可以解析为多个地址,但每个 URL 只能使用一个“有效”服务器进行同步。因此,如果您配置...

pool.ntp. AND 0.ntp.com,其中pool.ntp.解析为三个地址 [ 146.76.54.5, 146.76.54.56, 146.76.54.5 ],而0.ntp.com解析为45.32.76.99

...实际使用的 NTP 服务器是第一个 URL 的一个有效且可访问的地址以及第二个 URL 的一个有效且可访问的地址:

146.76.54.5 146.76.54.56 146.76.54.5 45.32.76.99

NTP 算法确定从第一个池中使用哪个 NTP 服务器。

使用 AXIS OS 11.0 或更高版本时,设置多个 NTP 源时,Chrony 会尝试选择最准确、最稳定的源来同步系统时钟。设置多个 NTS 服务器时也适用此设置。

外部时间服务器

Axis 公共 NTP 服务器
Axis 公共 NTP 服务器是ntp.,连接到互联网的摄像机可以与其同步时间。

Meinberg NTP 服务器
Meinberg拥有自己的独立 NTP 服务器软件,可安装在 Microsoft Windows 操作系统上,并可与其他 NTP 服务器同步。它还具有独立操作模式,非常适合无需与外界网络连接的独立环境,且操作简单。

Netnod NTS 服务器
Netnod 的 NTP 服务由 PTS 资助,可供任何人免费使用。Netnod 目前提供以下 NTS 服务器。

  • nts.netnod.se

  • sth1.nts.netnod.se

  • sth2.nts.netnod.se

Windows NTP 服务器
按照以下步骤操作,可以将本地 Windows 系统配置为 NTP 服务器。

请注意,默认情况下,Windows 的 NTP 时间精度较低,同步间隔较大,这可能不是实现良好时间精度的最佳方法。
对于 Chrony,Windows NTP 服务器的一个常见问题是它们报告的根分散非常大(例如三秒或更长时间),这导致 chronyd 忽略服务器,因为服务器太不准确。
建议将 Windows NTP 服务器配置为具有更严格和准确的时间精度和同步间隔。有关更多信息,请参阅以下指南:

如果您使用 Windows 作为离线安装的 NTP 服务器,Windows NTP 服务器可能会使用本地 CMOS 时钟时间。默认情况下,它将报告 10 秒的根散布。有关如何更改此值的更多信息,请参阅以下指南:

本地时钟分散条目

Windows 时间服务工具和设置

故障排除

对等时钟层未指定或无效 (0)

执行解释
开放NTPD如果本地 NTP 服务器未与高层 NTP 服务器(更高 NTP 层次结构)同步,则 Axis 设备将不会接受时间戳,因为没有提供可靠的时间戳。
克罗尼Axis 设备的 chronyd 进程将仅与 Stratum 15 或以上的 NTP 服务器同步。

Axis 设备发送的时间是多少?
在调试与 NTP 相关的网络问题时,可以观察到 Axis 设备正在向 NTP 服务器传输随机的 64 位时间,以减轻网络安全攻击的风险。这不会对 NTP 时间同步本身的性能或质量产生任何影响,因为 NTP 服务器仍将响应有效时间戳,Axis 设备将把该时间戳应用于其时间。

最大时间差

执行解释
开放NTPD如果 Axis 设备与 NTP 服务器之间的时间差大于 2.145 秒(35.75 分钟/0.5 小时),则将无法再进行时间同步。原因是 Axis 设备会认为来自 NTP 服务器的时间变化太大,因此认为 NTP 服务器不可靠。建议检查 NTP 服务器是否正常运行,并重新配置 Axis 设备以再次与 NTP 服务器同步,以启动新的时间同步程序。

抵消时钟漂移
如果系统时钟有显著的漂移,Axis 设备的时钟将永远无法与 NTP 服务器实现足够接近的偏移。但是,系统时钟不应该以这种幅度的速率漂移。

执行解释
开放NTPDNTP 客户端最多可以将系统时钟调整到 500 ppm(百万分之一),可以抵消每小时 1.8 秒的时钟漂移。
克罗尼Chrony 客户端最多可以将系统时钟调整为 83333.333 ppm(百万分之一)。理论上,它可以抵消每小时 300 秒的时钟漂移。

QoS(服务质量)

QoS 提供了一种方法,可以保证网络上选定流量的特定资源达到一定水平。质量可以定义为,例如,保持带宽水平、低延迟、无数据包丢失等。QoS 感知网络的主要优势可以概括为:

  • 能够对流量进行优先级排序,从而允许关键流量在优先级较低的流量之前得到服务

  • 通过控制应用程序可使用的带宽量,从而控制应用程序之间的带宽竞争,网络可靠性更高

要在具有 Axis 视频产品的网络中使用 QoS,需要满足以下要求:

  • 所有网络交换机和路由器都必须支持 QoS。这对于实现端到端 QoS 功能非常重要

  • 使用的 Axis 视频产品必须启用 QoS

假设图 1 中的网络是一个普通(非 QoS 感知)网络。在此示例中,PC1 正在观看来自摄像机 Cam1 和 Cam2 的两个监控视频流,每个摄像机的流速为 2.5 Mbps。突然,PC2 开始从 PC3 传输文件。在这种情况下,文件传输将尝试使用路由器 R1 和 R2 之间的全部 10 Mbps 容量,而视频流将尝试保持其总计 5 Mbps。我们无法再保证分配给监控系统的带宽量,并且视频帧速率可能会降低。最坏的情况下,FTP 流量将消耗所有可用带宽。

图1

现在,假设图 2 中的网络具有 QoS 感知能力并使用 DiffServ 模型(见下文)。路由器 R1 已配置为将可用 10 Mbps 中的 5 Mbps 专用于流式视频。FTP 流量可使用 2 Mbps,HTTP 和所有其他流量最多可使用 3 Mbps。使用这种划分,视频流将始终具有必要的可用带宽。文件传输被认为不太重要,获得的带宽较少,但仍有带宽可用于 Web 浏览和其他流量。请注意,这些最大值仅适用于网络拥塞的情况。如果有未使用的可用带宽,则任何类型的流量都可以使用它。通过使用 QoS,我们允许网络应用程序在同一网络上共存,而不会消耗彼此的带宽。

图 2

进一步阅读

有关服务质量标准的进一步阅读和更详细的文档,请参阅以下链接:

QoS 模型

有几种不同的方式(模型)来实现 QoS。Axis 产品使用 DiffServ 模型,以实现更高的可扩展性和灵活性。请参阅下文了解更多信息。

IntServ 模型
IntServ 模型或集成服务模型使用一种称为 RSVP(预留设置协议)的协议,用于在网络中预留一定的流量质量。在使用之前,IntServ QoS 网络中的每个应用程序都会预留自己的资源,路由器会批准或拒绝该请求。收到预留请求后,路由器需要找到一条可以支持 IntServ 请求的路径以及提供最佳服务的路由。此模型的主要问题是可扩展性。随着网络规模的扩大,连接数据库将增长到巨大的比例,跟踪所有预留将既困难又低效。另一个缺点是该模型缺乏灵活性 – 每种流量将接收的最大资源量是模型中指定的最大值,即使还有其他未使用的资源可用。

DiffServ 模型
差异化服务 (DiffServ) 模型于 1998 年推出。它基于两个主要组件:

  • 数据包标记

  • 路由器排队规则

DiffServ 网络中的应用程序会标记其流量,以便路由器知道对数据包应用哪种服务。标记是在 IP 标头中完成的,通过设置称为 DSCP(差分服务代码点)的字段来完成的。这是一个 6 位字段,提供 64 个不同的类 ID。每个 DSCP 值代表一个 QoS 类,也称为行为聚合。因此,不同的应用程序可以使用相同的 DSCP 值标记自己的流量。DiffServ 网络的智能是在路由器中设置的,其中特定的 DSCP 值映射到特定的路由行为。此行为称为每跳行为 (PHB),并使用不同的排队规则在路由器中实现。

DiffServ 模型放弃了 IntServ 中使用的状态概念,路由器以无连接模式运行。这增加了系统的可扩展性,因为每个路由器都独立工作,不知道网络规模和复杂性。此模型也更灵活,因为服务类别没有严格定义。当资源有限时,超过指定最大值的资源可以在可用时自由利用。在 Axis 产品中使用此模型的主要好处是产品标记自己的流量,而不是让 DiffServ 域的边界节点这样做。例如,边界节点中的调节算法无法区分 HTTP 上的视频和 HTTP 上的音频 - 它们只会看到 HTTP,并且可能提供比实际要求低得多的服务级别。要允许 DS 域外的节点对自己的流量进行分类:

  • 边界路由器必须正确配置

  • 必须将摄像机设置为可信节点

每跳行为 (PHB) 定义路由器对特定流量类别的转发处理。流量类别也称为行为聚合 (BA)。BA 的成员用相同的 DSCP 值标记。建议定义四种 PHB,每种都映射到一个或多个 DSCP 值。

默认 PHB:默认 PHB 提供传统的尽力而为服务。它由 DSCP 值 000000 表示(注意:6 位设置为 0),并且必须在任何 DiffServ 路由器上可用。这是应用于所有非 DiffServ 感知应用程序的转发处理。

类别选择器 PHB:为了保持与旧 TOS 字段定义的向后兼容性,类别选择器 PHB 定义了 xxx000 形式的 DSCP 值。这三位表示服务类型感知网络定义的 IP 优先级。类别选择器 PHB 确保 DiffServ 兼容节点可以与基于 IP 优先级的节点共存。

加速转发:加速转发 (EF) PHB 提供低丢失、低延迟、低抖动和保证带宽的服务,可视为最高优先级行为。VoIP 等应用程序需要这种强大的服务。EF 的建议 DSCP 值为 101110。

保证转发:使用保证转发 (AF),流量可分为四个不同的类别。每个类别通常分配有特定数量的带宽。

在每个类别中,可以指定三个不同的丢弃优先级值。此值表示在发生拥塞时丢弃数据包的顺序。丢弃优先级较高的数据包将首先被丢弃。这为我们提供了一个 AF 矩阵,因此 AF 通常表示为 AFxy,其中 x 是类别编号,y 是丢弃优先级。下表显示了为 AF PHB 推荐的 DSCP 值。这为我们提供了一个 AF 矩阵,因此 AF 通常表示为 AFxy,其中 x 是类别编号,y 是丢弃优先级。表 1.1 显示了为 AF PHB 推荐的 DSCP 值。

表格1

DiffServ域
DiffServ 域 (DS 域) 是根据特定 DiffServ 规范设置的网络,它具有一组映射到某些 PHB 的 DSCP 值。由于 DiffServ 域中的每个路由器都根据 DSCP 值映射转发流量,因此我们只能保证在自己的 DS 域内获得正确的转发处理。一旦数据包离开域,我们就无法再保证其他路由器将如何映射我们的 DSCP 值。传入流量也是如此 - 我们必须重新分类传入流量以符合我们的规则。这意味着我们必须使用在我们的域中有效的 DSCP 值标记流量。这通常是通过查看数据包头并根据源地址、端口号等设置新的 DSCP 值来完成的。标记过程称为流量调节,在 DS 域的边界节点完成。

VLAN 802.1P 模型
IEEE 802.1P 在 OSI 第 2 层 (L2,数据链路) 上定义了一个 QoS 模型。这称为 CoS,即服务等级,并在 VLAN MAC 报头中添加了一个额外的 3 位字段 (称为用户优先级)。这会将流量分成 8 个不同的类别。优先级在交换机中设置,然后交换机使用不同的排队规则正确转发数据包。尽管 802.1P CoS 运行良好,但它缺乏可扩展性,无法提供端到端保证。我们不能假设 L2 协议在较大的网络或 Internet 上保持不变。因此,当今大多数高端交换机都实现了从 L3 (IP DSCP) QoS 到 L2 CoS 的映射。

路由器

路由器中的 DiffServ 实现
路由器负责将网络流量从一个网络转发到另一个网络。从一个网络进入的所有数据包(参见图 3)在处理之前都会进行排队,以确定应将它们转发到哪个网络。路由器中的 DiffServ 实现是一种根据传入数据包的 DSCP 提供转发处理的方法。这是通过使用排队规则和数据包优先级来实现的。请注意,路由器配置取决于品牌,本文档不涉及此内容。

图 3

队列规则
为了能够提供 DiffServ 所需的机制,路由器会采用不同的方式处理其队列。这些不同的技术称为排队规则,是旨在提供不同服务保证的算法。为了举例说明不同排队规则的使用,我们将简要介绍 FIFO 队列和优先级队列。

FIFO 是最简单的排队规则,通常是网络路由器中的默认设置。FIFO 描述了队列的简单先进先出行为。下图显示了一个 FIFO 队列,其中数据包从左侧进入并从右侧退出。第一个进入的数据包将是端口上发出的第一个数据包。其他数据包将被放置在队列的末尾,必须等待轮到它们。这种规则太基础了,无法提供任何 QoS 服务。

图 4

优先级排队
优先级排队是在路由器中实现区分服务类别的一种相对简单的方法。它不是只使用一个 FIFO 队列,而是使用多个队列,并且每个队列都分配不同的优先级。分类器确定将传入数据包放入哪个队列,然后调度程序将数据包发送到网络上。分类器解析传入数据包的报头,并决定将数据包放入哪个优先级队列。在 DiffServ 网络中,此决定基于传入数据包的 DSCP 值。调度程序确保首先为高优先级队列提供服务,然后是中优先级队列,依此类推。此规则允许对流量进行优先级排序。

图 5

AXIS 操作系统

Axis 选择使用 DiffServ 模型,以提供更高的可扩展性和灵活性。具体实现方式如下:

  • 标记网络流量

  • 将网络应用程序划分为 QoS 类别

  • 提供用户界面

AXIS OS QoS 类
AXIS OS 使用四个 QoS 类。类中的成员都使用相同的 DSCP 值标记其流量,因此从路由器获得相同的转发处理:

  • 实时视频 - 此类包括通过 HTTP 传输运动 JPEG 视频流以及通过 RTP、RTP/RTSP 和 RTP/RTSP/HTTP 传输 MPEG-4 视频流的应用程序。

  • 实时音频 - 此类由生成音频流的应用程序组成,并且仅存在于支持音频的产品中。

  • 事件/警报 - 此类由生成事件和警报流量的应用程序组成。此类处理 FTP、HTTP、SMTP 和 TCP 事件。

  • 管理 - 此类由生成管理流量的应用程序组成。此类可以处理 FTP、HTTP、HTTPS 和 SNMP 管理流量。

AXIS OS QoS 配置
下图显示了使用 AXIS OS 6.5X 及更低版本的 Axis 设备中 QoS 的 HTTP 用户界面的屏幕截图示例。它显示了产品支持的不同 QoS 类,并允许用户为每个类指定 DSCP(DiffServ 代码点)值。默认 DSCP 值为 0,与默认 PHB 相同,可解释为禁用 QoS。

图 6

在运行 AXIS OS 7.10 及更高版本的 Axis 设备中,设置 > 系统 > 普通配置 > 网络中的普通配置用于执行 QoS 相关配置。

图 7

性能改进
下图说明了在启用 QoS 的网络上维持/改进性能的可能场景。

  • 视频首先在安静的非 QoS 网络上传输,其中帧速率可以假设为大约每秒 30 帧。如线 A 所示。

  • 然后通过添加无响应的 UDP 流等方式模拟网络拥塞。帧速率急剧下降,达到几乎无法使用的水平,如线 B 所示。

  • 然后,视频通过启用 DiffServ 的网络进行传输,这里也添加了相同的拥塞。视频流量不受拥塞影响,帧速率保持不变,如线 C 所示。

图 8

TCP ECN
ECN 是显式拥塞通知的缩写,是对 TC P 中拥塞控制的改进。基本思想是让 TCP 在队列实际溢出之前报告即将发生拥塞。路由器通过在 IP 标头中标记一个称为 CE(拥塞经历)的字段来实现这一点。当发送方收到此信号时,流量会减慢。指示拥塞的传统方法是让路由器丢弃导致数据包重新传输的数据包。

仅当两个通信端点都支持 ECN 模型时,才会使用该模型。这是通过在 TCP 连接初始化时进行协商来实现的。通过引入 ECN 支持,网络上的重新传输被最小化,从而实现更高的吞吐量和更少的延迟。TCP ECN 在 Axis 视频产品中默认启用,可以在Plain Config > Network > TCP ECN中禁用。

IPv6

IPv6(Internet 协议版本 6)最初由 IETF 设计,用于取代当前的 IP 版本 4(IPv4)。目前最有可能的情况是,即使 IPv6 进入舞台,IPv4 仍将保留。引入 IPv6 的主要原因之一是 IPv4 地址日益短缺。此外,IPv6 还在路由和网络自动配置等领域进行了改进。以下各节提供了有关 IPv6 地址和配置的一些一般信息,完整的 IPv6 规范可在 RFC 2460 规范中找到。

IPv6 地址
IPv6 地址以十六进制形式书写,由八个双字节组成,每个字节之间用冒号分隔。为了使地址表示尽可能简短,可以将多个连续的零缩写为双冒号,这在任何单个 IPv6 地址中都允许出现一次。IPv6 不使用 IPv4 中的子网掩码,而是仅使用网络前缀长度。前缀长度附加在地址后面。

例如:fe80::250:daff:fe4d:7592/64

前缀长度指定地址中有多少位将被视为前缀的一部分。在上面的示例中,前 64 位指定网络地址,而后 64 位指定主机地址。IPv6 地址可以按不同的方式分配:

  • 自动配置链路本地 IPv6 地址。

  • DHCPv6 服务器可用于分配 IPv6 地址。

  • 路由器通告可用于分配自动配置的地址。

自动配置的链路本地地址
支持 IPv6 的设备将获得一个以 fe80 开头的自动配置的链路本地地址。地址的其余部分通常基于所谓的 EUI64 地址构建。EUI64 地址的构建方法是获取网络接口的以太网 MAC 地址,并在中间填充两个特定字节 (fffe),以获得 64 位地址(请参阅上一节中的示例地址)。

使用路由器通告进行自动配置
在 IPv6 网络中,可以通过侦听网络中路由器发送的通告来自动配置网络设备。然后,这些通告将定义应如何配置网络设备才能进行路由。可以使用路由器通告中的信息来派生可路由的 IPv6 地址。此自动配置地址是使用 EUI64 地址以及路由器地址和网络前缀派生的。路由器通告可能会指示网络设备使用 DHCPv6,如果是,则指示在哪个级别使用。

DHCPv6 配置
正如 IPv4 网络可以使用 DHCP 服务器分配 IP 配置一样,IPv6 网络也可以使用 DHCPv6 服务器。DHCPv6 可以在不同级别使用:

  • 在无状态模式下,DHCPv6 服务器将指定要使用的网络服务器,例如 DNS 服务器和 NTP 服务器,但不会为网络设备分配 IPv6 地址。这必须使用其他方法来完成。

  • 在有状态模式下,DHCPv6 服务器还将为网络设备分配 IPv6 地址,以及像无状态模式一样分配网络服务器。

访问 IPv6 设备
大多数程序都接受主机名并会自动查找 IPv6 地址。这是将地址传递给程序的首选方式。如果名称映射到 IPv4 地址,则将使用 IPv4。如果名称映射到 IPv6 地址,则将使用 IPv6。如果同时存在 IPv4 和 IPv6 映射,操作系统将决定先尝试哪一个。 要将 IPv6 文字地址传递给程序,需要考虑几点。传递 URL 时,必须使用支架。 要将 IPv6 文字地址传递给程序,需要考虑几点。传递 URL 时,必须使用支架。例如:

例子评论
http://[2001:5c0:84d9:2:240:8cff:fe6b:3cb9]使用 http 访问 Axis 设备
http://[2001:5c0:84d9:2:240:8cff:fe6b:3cb9]:8080使用 http 和自定义 httpport 访问 Axis 设备
https://[2001:5c0:84d9:2:240:8cff:fe6b:3cb9]使用 https 访问 Axis 设备
http://root:pass@[2001:5c0:84d9:2:240:8cff:fe6b:3cb9]使用 http 和预先输入的访问凭证访问 Axis 设备
http://[fe80::2:240:8cff:fe6b:3cb9%eth0]使用链路本地地址访问 Axis 设备。请注意,网络接口在 IPv6 地址后指定。这是因为链路本地前缀 fe80::/10 具有多路径路由,即每个接口一个路由。路由系统无法知道您尝试联系的设备位于哪个接口上。

大多数程序(例如 FTP、Telnet 等)将接受文字形式的 IPv6 地址,例如ftp 2001:5c0:84d9:2:240:8cff:fe6b:3cb9ftp fe80::2:240:8cff:fe6b:3cb9%4。某些程序可能会以非标准方式获取接口标识符。通常随 linux 分发的 ping6 工具就是一个例子。它应像这样运行ping6 -I eth1 fe80::2:240:8cff:fe6b:3cb9。在 Windows 上,您可以通过运行“ipconfig”并查找该接口的 IPv6 链路本地地址来查看每个适配器的标识符。它可能看起来像这样:

常见 IPv6 地址和范围

IPv6 地址解释
0:0:0:0:0:0:0:0等于 IPv4 0.0.0.0,是主机在从 DHCP 接收 IP 地址之前的源地址
0:0:0:0:0:0:0:1等于 ::1 并且相当于 IPv4 127.0.0.1
0:0:0:0:0:0:192.168.100.1在双栈混合 IPv4-IPv6 环境中,IPv4 地址的写法如下
2000:::/3全球单播地址范围
FC00::/7唯一的本地单播范围
FE80::/10链路本地单播范围
FF00::/8多播范围
3FFF:FFFF::/32保留用于示例和文档
2001:0DB8 :: / 32保留用于示例和文档
2002::/16用于 IPv6 到 IPv4 隧道并用作过渡系统,允许 IPv6 数据包通过 IPv4 网络传输,而无需配置显式隧道。

IPv6:AXIS OS 配置

Web 界面
Axis 视频产品的 IP 配置通常通过嵌入式 Web 界面中的 TCP/IP 设置(参见第 2.1 节)页面进行。除此之外,您还可以直接在Plain Config页面中列出参数。从这里,您可以通过更改 TCP/IP 设置页面中不可用的参数来自定义 IPv6 配置。在 TCP/IP 设置页面上,可以启用或禁用 IPv4 和/或 IPv6 的使用。

禁止用户同时禁用 IPv4 和 IPv6,因为这会导致 Axis 设备无法访问。但是,仍然可以从 Plain Config 页面同时禁用 IPv4 和 IPv6。如果发生这种情况,Axis 设备将覆盖配置并根据 IPv4 配置启动 IPv4。

默认情况下启用 IPv4。禁用 IPv4 后,设备上将不会进行任何 IPv4 配置。然后设备将只能通过 IPv6 访问。请注意,禁用 IPv4 后,不会分配链路本地 IPv4 地址,即使在“高级 TCP/IP 设置”页面上启用了链路本地 IPv4 地址的使用。

默认情况下,IPv6 的使用处于禁用状态。启用 IPv6 后,Axis 设备将分配一个链路本地 IPv6 地址。默认情况下,设备还将监听路由器通告并相应地分配 IPv6 地址。可以使用高级系统选项菜单中的普通配置界面更改 IPv6 配置行为。有关高级 IPv6 设置的更多说明。

普通配置
IPv6 配置默认设置为接受路由器通告并根据路由器通告使用 DHCPv6。在不同的环境中,可能需要更改 IPv6 配置。为此,请转到普通配置页面并选择网络参数组。通过更改 Network.IPv6 参数组中的参数,可以更改 IPv6 配置的行为。该组由五个参数组成:

范围评论
网络.IPv6.已启用此参数用于启用或禁用IPv6网络配置。
网络.IPv6.AcceptRA接受路由器通告参数用于启用或禁用上述功能。如果此参数设置为是,Axis 设备将监听网络上的路由器通告并根据该通告执行 IPv6 配置。
网络.IPv6.DHCPv6此参数用于配置四个 DHCPv6 客户端设置之一
  • 自动 – DHCPv6 的使用由路由器通告决定

  • 无状态 – DHCPv6 用于设置 DNS 服务器和 NTP 服务器等,但不用于设置 IPv6 地址

  • 有状态 – DHCPv6 用于设置 IPv6 地址以及 DNS 服务器等。

  • off – DHCPv6 已禁用

网络.IPv6.IP地址IP 地址参数用于手动设置 IPv6 地址。此地址将与可能由 DHCPv6 或路由器通告设置的其他 IPv6 地址同时使用。如果请求特定的前缀长度,则前缀长度在地址的最后定义,例如:2001:5c0:84d9:2::1:3b/128。如果未定义前缀长度,则将使用默认长度 64。
网络.IPv6.默认路由器默认路由器参数用于手动设置 IPv6 默认路由器。此地址将与可能由 DHCPv6 或路由器通告设置的其他 IPv6 地址同时设置。
附加信息当前使用的 IPv6 地址是从 Network.<interface>.IPv6 组中的 IP 地址参数读取的,其中<interface>是接口的名称(例如 eth0、eth1 等)。此参数列出所有 IPv6 地址,以空格字符分隔。

IEEE 802.1X

网络基础设施及其所连接设备的安全级别各不相同。第一级是身份验证和授权。用户或设备通过用户名和密码向网络和远程端表明自己的身份,然后在允许设备进入系统之前对用户名和密码进行验证。可以通过加密数据来防止他人使用或读取数据,从而提高安全性。无线网络中的常用方法有 HTTPS(也称为 SSL/TLS)、VPN 和 WEP 或 WPA。IEEE 802.1X 是一种身份验证和授权技术。Axis 网络视频产品支持 IEEE 802.1X 作为安全功能。本节介绍了 IEEE 802.1X 的背景及其工作原理。它还介绍了如何在 Axis 设备中使用 IEEE 802.1X,以及如何配置 RADIUS(远程身份验证拨入用户服务)服务器和交换机。本文档的目标读者是技术人员和系统集成商。

IEEE 802.1X 是基于端口的网络访问控制的 IEEE 标准(“端口”是指与 LAN 基础设施的物理连接)。它是 IEEE 802.1 网络协议组的一部分,为设备连接到 LAN 提供了一种身份验证机制,可以建立连接,如果身份验证失败则阻止连接。IEEE 802.1X 可防止所谓的“端口劫持”,即未经授权的计算机通过建筑物内外的网络插孔访问网络。IEEE 802.1X 在网络视频应用中非常有用,因为它们的设备通常位于公共场所,而网络插孔可能会带来安全风险。在现代企业网络中,IEEE 802.1X 正在成为连接到网络的任何设备的基本要求。

工作原理
IEEE 802.1X 中有三个基本术语。需要进行身份验证的用户或客户端称为请求者。实际执行身份验证的服务器(通常是 RADIUS 服务器)称为身份验证服务器。中间的设备(例如交换机)称为身份验证器。IEEE 802.1X 中使用的协议是 EAPOL(LAN 上的可扩展身份验证协议封装)。有几种操作模式,但这里描述的是最常见的情况:

  • 一旦检测到网络链接处于活动状态,验证者就会向请求者发送“EAP-Request/Identity”数据包(这可能是因为请求者(例如网络视频系统中的特定 Axis 设备)已连接到交换机)。

  • 请求者向认证者发送“EAP-Response/Identity”数据包。

  • 然后,认证者将“EAP-Response/Identity”数据包传递给认证(RADIUS)服务器。

  • 身份验证服务器向身份验证器发回一个质询,例如使用令牌密码系统。

  • 认证器从 IP 中解包该消息,并将其重新打包为 EAPOL 并发送给请求者。不同的认证方法会改变该消息和消息总数。EAP 支持仅客户端认证和强相互认证。

  • 请求者对认证者的质询作出响应。

  • 认证者将对质询的响应传递到认证服务器。

  • 如果请求者提供了正确的身份,则认证服务器将向认证者响应成功消息。

  • 然后,身份验证器将成功消息传递给请求者。身份验证器现在允许请求者访问 LAN,但可能根据从身份验证服务器返回的属性进行限制。例如,身份验证器可能会将请求者切换到特定的虚拟 LAN 或安装一组防火墙规则。

需要注意的是,设置和配置 IEEE 802.1X 是一个相当复杂的过程,正确设置 RADIUS 服务器、交换机和客户端(如 Axis 设备)非常重要。

IEEE 802.1X:AXIS OS 配置

Web 界面

要访问受保护的网络,Axis 设备必须具有 CA 证书、客户端证书和客户端私钥。这些证书应由服务器创建并通过 Web 界面上传。当 Axis 设备连接到网络交换机时,设备将向交换机出示其证书。如果证书获得批准,交换机将允许设备在预配置的端口上进行访问。如前所述,为了使用基于端口的身份验证,网络必须配备 RADIUS 服务器和支持 IEEE 802.1X 的网络交换机。您可能还需要联系网络管理员以获取有关证书、用户 ID 和密码的信息,具体取决于所使用的 RADIUS 服务器类型。

此处的设置使 Axis 设备能够访问受 IEEE 802.1X/EAPOL(LAN 上的可扩展身份验证协议)保护的网络。有多种 EAP 方法可用于访问网络。在 AXIS OS 11.6 之前,Axis 使用的协议是用于有线和无线 IEEE 802.1X 网络身份验证的 EAP-TLS(EAP-传输层安全性)以及用于无线 IEEE 802.1 网络身份验证的 EAP-PEAP/MSCHAPv2。

具有有线 IEEE 802.1X 设置的 AXIS M1065-LW Web 界面摘录

带有无线 IEEE 802.1X 设置的 AXIS M1065-LW Web 界面摘录(系统选项卡 > 无线)。

客户端和 RADIUS 服务器使用由认证机构签名的 PKI(公钥基础设施)提供的数字证书相互验证。请注意,为确保证书验证成功,应在配置之前在所有客户端和服务器上执行时间同步。应在安全的网络上对 Axis 设备进行进一步配置,以避免 MITM(中间人)攻击。Web 界面中使用的术语描述如下:

  • CA 证书- CA 证书由认证机构创建,用于验证自身,Axis 设备需要它来检查服务器的身份。在 CA 证书下的安全选项卡中选择之前上传的正确证书。从 AXIS OS 10.1 及更高版本开始,选择无 CA 证书(无)意味着 Axis 设备将跳过对服务器身份的任何验证。

  • 客户端证书- Axis 设备还必须使用客户端证书进行身份验证。在客户端证书下的安全选项卡中选择之前上传的正确证书。

  • EAPOL 版本— 选择网络交换机中使用的 EAPOL 版本(1 或 2)。

  • EAP 身份- 输入与您的证书关联的用户身份。最多可使用 16 个字符。

在 AXIS OS 11.6 及更高版本中,我们增加了对有线连接的 EAP-PEAP/MSCHAv2 支持。在 AXIS OS 11.8 及更高版本中,客户可以通过 Web 界面配置 EAP-PEAP/MSCHAPv2。

  • 客户端证书-此身份验证模式不需要此证书。

  • CA 证书- 可选。CA 证书由认证机构创建,用于 Axis 设备验证服务器的身份。无 CA 证书(无)表示 Axis 设备将跳过对服务器身份的任何验证。

  • EAP 身份- MSCHAPv2 身份验证的用户名。

  • EAPOL 版本— 选择版本 2。

  • 密码- MSCHAPv2 身份验证的密码。

  • Peap 版本— 选择 PEAPv0。

  • 标签- 选择 1。

IEEE 802.1AE

在 AXIS OS 11.8 及更高版本中,IEEE 802.1AE MACsec 功能被添加到基于 AXIS OS 的设备中。

IEEE 802.1AE MACsec(媒体访问控制安全)是一种明确的网络协议,它以加密方式保护网络第 2 层上的点对点以太网链路,确保两个主机之间数据传输的机密性和完整性。

* 受 IEEE 802.1AE MACsec 保护的 Axis 设备使用的示例网络协议列表。MACsec 为没有本机安全功能的网络协议增加了保护,并为具有内置安全性的网络协议增加了额外的保护层。

与 IPSec 等在第 3 层作为端到端技术运行的协议不同,MACsec 会加密离开以太网 LAN 的每个帧,并在帧进入以太网 LAN 时对其进行解密。为了使用 MACsec 实现端到端网络加密,源和目标之间的所有链路/跳数都需要启用 MACsec,以确保跨网络的流量受到 MACsec 保护。

因此,不支持 MACsec 的单个链路/跳跃将使从该链路/跳跃到下一个链路/跳跃的网络流量未加密。

MACsec 不仅通过强加密防止未经授权访问网络数据流,还可以防止中间人攻击。由于 MACsec 在网络堆栈的低层 2 上运行,因此它为不提供本机加密功能的网络协议(ARP、NTP、DHCP、LLDP、CDP……)以及提供本机加密功能的网络协议(HTTPS、TLS)增加了额外的安全层。下图概述了 MACsec 框架。

包含 MACsec 参数的安全标签 (SecTAG) 会立即插入以太网报头中的源 mac 地址之后。完整性检查值 (ICV) 由发送方通过约定的算法计算并附加到帧中。当接收方收到帧时,它将使用相同的算法再次计算 ICV 并将其与附加到数据包中的 ICV 进行比较。如果两个 ICV 值相同,则确认数据包的完整性,这意味着数据包未被篡改。

术语

缩写术语描述
加州安全连接协会由密钥协商协议建立和维护的安全关系,由连接到单个局域网 (LAN) 的站中完全连接的服务接入点子集组成,这些站将由 MACsec 提供支持
钙调蛋白连接关联密钥此密钥用于派生数据加密的实际密钥。CAK 可以手动指定,也可以通过 802.1x 身份验证派生。
慢性肾病连接关联键名称CAK 的名称。
麦卡伦MACsec 密钥协议用于协商 MACsec 密钥的协议。
南卡罗来纳州安全通道一种安全关系,用于为从连接关联 (CA) 的一个成员向其他成员传输的帧提供安全保障。
沙特阿美安全关联密钥它使用特定算法从CAK派生而来,并加密通过SC传输的数据。

MACsec 密钥协议 (MKA)

在两台设备之间实施 MACsec 时,MACsec 密钥协议 (MKA) 协议提供并管理会话密钥。MKA 协议依赖 EAP 框架来建立通信。两台设备建立唯一的连接关联。在 CA 内,有两个安全通道,一个用于入站流量,另一个用于出站流量。两台设备使用相同的密码套件进行数据加密。

MACsec 密码

为了保护通过 MACsec 安全通道传输的数据的机密性,数据包由工业标准 GCM-AES-128 或 GCM-AES-256 密码套件加密。还有另外两个密码套件 GCM-AES-XPN-128 和 GCM-AES-XPN-256。XPN 标准用于扩展数据包编号,这两个密码通常用于高速链路。

在当前实施中,AXIS OS 仅支持 GCM-AES-128 密码套件。可根据需要添加其他密码套件。

MACsec 模式

IEEE 802.1AE MACsec 标准描述了两种操作模式:手动配置的预共享密钥 (PSK)/静态 CAK 模式和使用 IEEE 802.1X EAP-TLS 会话的自动主会话/动态 CAK 模式。当连接网络交换机无法通过 IEEE 802.1X EAP TLS 支持自动协商时,建议使用预共享密钥模式。

由于 IEEE 802.1X EAP-TLS 默认启用,因此 MACsec 主会话/动态 CAK 模式也会自动启用。插入出厂默认的 Axis 设备时,将尝试 IEEE 802.1X 网络身份验证,如果成功,还将尝试 MACsec 动态 CAK 模式。如果连接的交换机不支持 IEEE 802.1X EAP TLS 和/或 MACsec 动态 CAK,则 Axis 设备将直接连接,而无需进一步强制执行安全机制。

预共享密钥 (PSK)、静态 CAK 模式

在预共享密钥(PSK)模式(也称为静态CAK模式)下,MACsec实现包括三个阶段:PSK配置,MKA密钥协商和MACsec数据加密和解密。

此模式要求用户在两个设备(Axis 设备和网络交换机)上配置要使用的预共享密钥。每个 PSK 都包含两个字段:连接关联密钥名称 (CKN) 和连接关联密钥 (CAK)。CKN 和 CAK 必须在以太网链路的两端匹配。

一旦预共享密钥通过验证,MKA 协议就会启用,以在链路上维持 MACsec 会话。链路上的一个参与者将被选为密钥服务器,其主要职责是生成、分发和刷新安全关联密钥 (SAK)。SAK 是用于加密数据的实际密钥。MKA 协议限制了可以使用单个 SAK 保护的帧数。当 SA 中的数据包编号 (PN) 用尽时,将刷新相应的 SAK。

AXIS设备配置

要在 AXIS OS 设备中配置 MACsec PSK,请转到系统 > 安全 > IEEE 802.1ae MACsec > 模式,选择“静态 CAK / 预共享密钥 (PSK)”模式。

CAK 必须是 16 字节(32 个十六进制字符)或 32 字节(64 个十六进制字符)。CKN 必须是 1 到 32 字节(2 到 64 且能被 2 整除)十六进制字符。

在撰写本文时,请在保存配置之前选中启用 IEEE 802.1x 的复选框。当 MACsec 得到保护时,IEEE 802.1x 的状态将显示“已授权”。我们正在对此进行优化,因为 MACsec PSK 模式不能与 802.1x 协同工作。

交换机配置

下面的配置示例使用 Aruba CX 交换机系列概述。

1. 配置 MACsec 策略

switch(config)# macsec policy axis_ms_policyswitch(config-macsec-policy)# cipher-suite gcm-aes-128switch(config-macsec-policy)# replay-protection window-size 100switch(config-macsec-policy)# exitswitch(config)#

2.配置MKA策略

switch(config)# mka policy axis_mka_policyswitch(config-mka-policy)# pre-shared-key ckn 00112233445566771111111111111111 cak plaintext 00112233445566771111111111111111switch(config-mka-policy)# key-server-priority 5switch(config-mka-policy)# exitswitch(config)#

3. 在交换机端口上应用MAC

switch(config)# interface 1/1/28switch(config-if)# apply macsec policy axis_ms_policyswitch(config-if)# apply mka policy axis_ms_policyswitch(config-if)# exitswitch(config)#

主会话密钥 (802.1x、EAP-TLS)、动态 CAK 模式

当结合 EAP-TLS 实施 MACsec 时,认证器或接入交换机首先对设备执行 802.1x 认证。认证成功后,Radius 服务器将主会话密钥 (MSK) 发送到交换机和设备。双方将从 MSK 中派生出 CAK 和 CKN。

随后,链路两端均启用 MKA 协议,启动 MACsec 会话。与 PSK 模式相同,其中一方将被选举为密钥服务器,负责管理 SAK 密钥。一旦双方交换了 SAK 密钥,MACsec 加密和解密就开始了。

AXIS设备配置

自 AXIS OS 10.1(2020 年 9 月)起,使用符合 IEEE 802.1AR 标准的 Axis 设备 ID 证书,在出厂默认状态下启用 IEEE 802.1X。Axis 设备将自动尝试针对启用 IEEE 802.1X 的网络进行身份验证。有关手动 IEEE 802.1X 配置,请参阅AXIS OS 知识库。要使用基于 802.1x 端口的身份验证,网络必须配备 RADIUS 服务器和支持 IEEE 802.1X 和 IEEE 802.1AE MACsec 的网络交换机。您可能还需要联系网络管理员以获取有关证书和 RADIUS 服务器进一步配置的信息。

一旦 802.1x 认证完成,如果交换机支持 MACsec,则会相应地进行 MACsec 对话。

Freeradius 服务器配置

一旦 Freeradius 服务器启动并运行,只需执行一个额外步骤即可通过 Freeradius 服务器端启用 MACsec。在这种情况下,FreeRADIUS 服务器需要发送 EAP-KEY-NAME 属性,以便交换机派生用于创建 MKA 的 CKN 和 CAK 的 Session-ID。

为了允许 FreeRADIUS 在 Access-Accept 帧中发送 EAP-Session-ID,请取消注释里面的以下几行:

/etc/freeradius/sites-enabled/default for FreeRADIUS 2.x

或者

/etc/freeradius/3.0/sites-enabled/default in case of FreeRADIUS 3.x

在本文档中,我们使用 Aruba CX 交换机系列,该系列需要在 802.1x 身份验证后使用用户角色来触发 MACsec。“Aruba-User-Role”是根据 AXIS OS 设备中配置的 EAP 标识从 FreeRadius 服务器发送到 Aruba 交换机的供应商特定值。为此,请将以下内容添加到文件 /etc/freeradius/3.0/users。

Aruba ClearPass 策略管理器配置

请按照此处的说明将 Axis 设备安全地接入 Aruba 网络。集成指南详细概述了使用 IEEE 802.1AR 和 802.AE MACsec 的示例配置,以便将 Axis 设备安全地集成到 Aruba 网络中。还必须将“Aruba-user-Role”属性从 ClearPass Policy Manager 发送到交换机。

Aruba交换机配置

1. 配置 MACsec 策略

switch(config)# macsec policy macsec-eapswitch(config-macsec-policy)# cipher-suite gcm-aes-128switch(config-macsec-policy)# replay-protection window-size 100switch(config-macsec-policy)# exitswitch(config)#

2.配置端口访问角色

switch(config)# port-access role axiscameraswitch(config-pa-role)# associate macsec-policy macsec-eapswitch(config-pa-role)# auth-mode client-mode

3. 在端口上启用 MACsec

switch(config-if)# aaa authentication port-access dot1x authenticatorswitch(config-if-dot1x-auth)# macsecswitch(config-if-dot1x-auth)# mka cak-length 16

在我们当前的实现中,对于 dot1x 认证模式,cak-length 应该配置为 16 字节。

验证 AXIS OS 设备上的 MACsec 状态:

以下是直接从摄像机进行数据包跟踪时 MACsec 帧的样子。转到系统 > 日志 > 网络跟踪。

验证 Aruba 交换机上的 MACsec 状态:

switch# show macsec statusMACsec Protocol Status Interface  Port ID  Policy                    Protection           Status  State ---------- -------- ------------------------- -------------------- ------- -------------- 1/1/27     1        macsec-eap                IC, Conf, Offset 0   Up      Retire 1/1/28     1        axis_ms_policy            IC, Conf, Offset 0   Up      Retire

SW23# show mka policyMKA Policy Details===================  Policy Name: MKA_Auth_1/1/27_b8a44f4645f4  ---------------------------------------------------------------------------    Mode                     : EAP-TLS    CKN                      : b0d80475242fbcd5c97ece50670e4dfe    CAK (encrypted)          : AQBapQh5tkM/wWCQLE4jp0G/Iu6IfO+QutBMu8gFBKf...    Key-server Priority      : 0    Transmit Interval        : 2 seconds

  Policy Name: axis-mka_policy  ---------------------------------------------------------------------------    Mode                     : Pre-shared key    CKN                      : 00112233445566771111111111111111    CAK (encrypted)          : AQBapcO5rGnurI1zhrDB3JVwhbLmJhcgQkiRWgiJtfK...    Key-server Priority      : 5    Transmit Interval        : 2 seconds

WS-Discovery(Web 服务动态发现协议)

Web 服务动态发现协议使用 UDP 端口 3702,并将自身定义为用于检测网络上的其他设备和服务的多播发现协议。ONVIF 依靠此协议来检测其他功能强大的设备,因此 Axis 设备支持 WS-Discovery 进行初始登录和配置。建议在使用后禁用 WS-Discovery,因为它容易受到此 安全公告中所述的攻击。请参阅以下有关如何禁用 WS-Discovery 的说明。

AXIS OS > 9.70通过在设置 > 系统 > 普通配置 > WebService > DiscoveryMode > 启用 WS-Discovery中禁用参数启用 WS-Discovery 可发现模式
来禁用该服务。对于 AXIS 设备管理器中的多设备配置,相应的 VAPIX 参数称为DiscoveryMode.Discoverable

AXIS 操作系统 5.70 — 9.60

  • 在Plain config > Network > SSH中启用 SSH ,并通过 Putty 连接到 Axis 设备

  • 键入以下命令,然后按 ENTER

    • systemctl mask wsdd

    • systemctl mask wsd

    • systemctl mask wsd.socket

    • systemctl stop wsdd

  • 从 Plain Config 再次禁用 SSH,然后重启设备

AXIS 操作系统 5.60

  • 在Plain Config > Network > SSH中启用 SSH ,并通过 Putty 连接到 Axis 设备

  • 键入以下命令,然后按 ENTER

    • rm /etc/rc3.d/S92wsdd

    • /etc/init.d/wsdd stop

  • 从 Plain Config 再次禁用 SSH,然后重启设备

AXIS操作系统 < 5.50

  • 按照此处所述启用 Telnet ,并通过命令行工具连接到 Axis 设备。

  • 键入以下命令,然后按 ENTER

    • rm /etc/rc3.d/S92wsdd

    • /etc/init.d/wsdd stop

  • 再次禁用 Telnet 并重新启动设备

你好

Bonjour 是 Apple 的零配置网络实现。这是一种帮助用户在本地网络上查找服务的方法。通过使用 mDNS 和 DNS-SD 协议,Bonjour 涵盖了三个主要领域:

  1. 寻址
    如果网络中没有 DHCP 服务器,Bonjour 会自行分配一个链路本地地址。对于 IPv4,从 169.254.0.0/16 中随机选择。对于 IPv6,地址从 fe80::/10 分配。

  2. 主机名到 IP 地址的转换
    Bonjour 使用本地网络中的多播 DNS (mDNS) 来解析主机名。

  3. 服务发现
    Bonjour 通过 DNS 服务记录发现本地网络中可用的服务。

mDNS 协议将主机名解析为 IP 地址,而无需依赖本地网络中传统的基于单播的 DNS 服务器。mDNS 消息通过多播(IPv4:224.0.0.251 或 IPv6:ff02::fb)发送到 UDP 端口 5353。Axis 设备将选择前缀为“ .local ”的域名,该域名仅适用于本地网络中的 mDNS。示例域名为“ AXIS P1375.local ”。

为了发现服务并在网络中让客户端使用该服务,在此过程中会使用多条 DNS 记录:

类型姓名目的习俗
A一个记录将主机名解析为 IPv4 地址
高级AAAA 记录将主机名解析为 IPv6 地址
服务车辆服役记录将服务实例映射到主机名和端口号<实例名称>.<服务类型>.<域>
优先权指针记录将服务类型映射到该服务的特定实例<服务类型>.<域>
TXT文字记录文本字段通常描述有关服务的附加信息键=值

Axis Bonjour 实施

在 AXIS OS 11.4 之前,AXIS OS 产品使用 Bonjour 来宣布它们在网络中的存在。从 AXIS OS 11.4 开始,我们添加了新的服务名称 - vapix-httpvapix-https - 以简化 Axis 设备的发现并更好地遵守 RFC 6763 规范。在下表中,您可以看到 AXIS OS 设备上使用的一些服务名称示例。

服务名称默认实例名称传输协议端口
(默认端口号)
TXT评论
< 11.4≥11.4
axis-videoAXIS <型号> - mac/序列号**TCPhttp 端口
如果 http(和 http 重定向)被禁用,则不会进行通告。
MAC地址摄像机及音频产品
axis-bwscTCPMAC地址随身佩戴 SCU
axis-nvrTCPMAC地址录制机
httpAXIS <型号> - mac/序列号**AXIS <型号>***TCP80
httpsTCP443
RTSP 协议TCP554路径、摄像机
vapix-http*
vapix-https*
不适用TCP服务的 HTTP 或 HTTPS 端口。默认为 80 或 443。
  • sn=<序列号>

  • txtvers=1

  • ep=param.apidisc.decaf****

  • 标签=*****

从 AXIS OS 11.4 添加。
*VAPIX 是 Axis 自己的开放 API(应用程序编程接口),用于我们的产品,使用标准协议,可集成到不同平台上的各种解决方案中
** 示例:AXIS P1375 - B8A44F42B4C6
*** 示例:AXIS P1375。如果添加同一型号的第二台设备,第二台设备将被命名为 AXIS P1375 (2),依此类推。
**** param 代表 param.cgi,apidisc 代表 apidiscovery,decaf 代表设备配置框架。Decaf 是在 AXIS OS 11.11 中添加的,并包含在所有后续版本中。
***** 此字段由服务用于指示临时角色

AXIS OS < 11.4
在以下示例中,Axis P1375 摄像机运行在 AXIS OS 11.4 之前的版本上。我们使用AXIS IP Utility来发现 Axis 设备。AXIS IP Utility 发送包含 PTR 记录的查询消息。查询名为“ _axis-video._tcp.local的服务实例

一旦 Axis 设备收到查询消息,它将使用包含 PTR 记录和附加记录的 mDNS 查询响应进行响应。


AXIS P1375 - B8A44F42B4C6 ” 是服务实例名称。“ _axis-video._tcp ” 是服务类型,用于标识服务的功能及其传输协议。在此示例中,Axis 设备通过 TCP 提供“_axis-video”服务来宣布自己。TXT 记录包含 Axis 设备的 mac 地址信息。

AXIS OS ≥ 11.4
下面是另一个示例,同一个 Axis P1375 摄像机运行在版本 11.4 上。摄像机将服务实例宣布为“ AXIS P1375._vapix-http(s)._tcp.local”。在 TXT 记录中,已包含其他信息。


目前,设备仍会同时宣布所有以前的服务名称。因此,VMS 和其他客户端仍应能够发现 Axis 设备,见下文。

默认实例名称(在网页中我们称之为“Bonjour 名称”或者“Friendly name”)可以在需要的时候进行更改:

AXIS 操作系统版本Web 界面配置路径
< 7.10设置 > 系统选项 > 网络 > Bonjour
≥7.10设置 > 系统 > TCP/IP > 友好名称
≥10.9系统 > 网络 > 网络发现协议

更改友好名称后,它将应用于所有服务。

SNMP(简单网络管理协议)

本节介绍如何使用 Axis Video SNMP MIB。假设您已经熟悉简单网络管理协议 (SNMP)。

SNMP/MIB 允许网络管理操作员使用标准 SNMP 工具来监控 Axis 产品的状态。视频硬件的 Axis 管理信息库 (MIB) 可以监控可能需要管理注意的硬件相关问题。这适用于 AXIS OS 5.60 及更高版本的设备。请注意,新功能可能会在后续版本中添加。有关详细信息,请阅读 MIB 文件。

某些产品不会具有下面指定的所有硬件,并且所有硬件仅定义一个 MIB。如果代理请求产品中未包含的硬件的状态,设备将返回“noSuchObject”。支持哪种硬件是在运行时处理的,这意味着不需要特定于产品的配置。除 AXIS Companion Line 设备外,所有 Axis 设备都支持 AXIS OS 5.60 及更高版本的 Axis Video MIB,但建议更新到最新版本。使用 Axis Video MIB 需要以下 MIB:

  • SNMPv2–TC

  • SNMPv2–SMI

  • SNMPv2–CONF

  • AXIS-ROOT-MIB

  • AXIS-VIDEO-MIB

启用 SNMP

要使用此功能,必须在网络上的摄像机和编码器中启用 SNMP。Axis 设备中的 SNMP 可以按如下方式启用:


可以使用“设置”>“系统选项”>“网络”>“SNMP”从 Web 界面启用AXIS OS 6.5X 及更低版本的SNMP 。


可以使用 “设置”>“系统”>“SNMP”从 Web 界面启用AXIS OS 7.10 及更高版本的SNMP 。

要使用 SNMPv3,必须启用 HTTPS。有关如何启用 HTTPS 的信息,请参阅设备的用户手册。

您可以使用 AXIS 设备管理器在多个设备上启用 SNMP。AXIS 设备管理器可从下载。

SNMPv3 访问

要在 Axis 设备中启用 SNMPv3,必须在 Web 界面中为默认 SNMP 用户initial设置密码。启用 SNMPv3 后,将预先配置以下默认隐私和身份验证模式:

AXIS 操作系统隐私验证
> 11.0AES-128SHA-256
≥10.7AES-128SHA-1
< 10.6数据加密标准MD5

请注意,目前用户无法轻松更改默认的隐私和身份验证模式。

SNMP 陷阱配置

所有 Axis 设备都支持默认的 SNMP MIB-II 陷阱(冷启动、热启动、链接、身份验证失败)。此外,Axis 设备还支持 Axis Video MIB 中包含的大量功能和产品特定陷阱(在Axis Video MIB 陷阱中描述)。根据您的 SNMP 版本,使用 SNMP 陷阱需要/可用的配置不同。

SNMPv1/v2c 陷阱配置
使用 SNMPv1 和 SNMPv2c 时,Axis Video MIB陷阱中记录的所有 Axis Video MIB陷阱都将启用,并在启用 SNMP 陷阱时发送。可以单独配置和启用/禁用默认 MIB-II SNMP 陷阱:

  • 冷启动- 当 SNMP 已启动且配置和 MIB 已更改时发送

  • 热启动- 当 SNMP 已启动且配置已更改但 MIB 未更改时发送

  • 链接已启动– 当网络链接由关闭变为启动时发送

  • 身份验证失败– snmp 身份验证尝试失败时发送

SNMPv3 陷阱配置
对于 SNMPv3,需要手动配置和启用默认 MIB-II SNMP 陷阱以及 Axis Video MIB 陷阱。这是使用 RFC 3413 中定义的 SNMP-TARGET-MIB 和 SNMP-NOTIFICATION-MIB 模块完成的。因此,为了配置 Axis 设备以发送 SNMP 陷阱,需要相应地配置下表:

  • snmp通知表

  • snmp目标地址表

  • snmp目标参数表

  • snmpNotify过滤配置文件表

  • snmp通知过滤表

安讯士视频 MIB

Axis Video MIB(消息信息库)扩展了通过 SNMP 监控 Axis 设备的方式。视频 MIB 使网络管理员能够监控状态信息和大量新通知。要使用 Axis Video MIB,请在此处下载 MIB 文件并将其导入到 SNMP 网络监控应用程序中。AXIS OS 5.60 及更高版本的 Axis 网络设备支持 Axis Video MIB。

Axis Video MIB 陷阱

视频产品只能生成三种类型的陷阱。这三种类型在 Axis Video MIB 中定义,它们应该涵盖了所有未来的陷阱需求,因此它们以一般术语定义。陷阱类型如下所述:

  • alarmNew — 发送此陷阱是为了警告状态更改。其他参数包括唯一陷阱 ID ( alarmID )、标识事件的文本字符串 ( alarmName ) 以及指定有关事件的更多详细信息的附加字符串 ( alarmText ),例如硬件或其状态的唯一标识符。此新状态有效,直到被alarmCleared陷阱清除。通常,也可以通过 SNMP get 命令获取状态。

  • alarmCleared — 发送此陷阱表示某些硬件已恢复正常状态。alarmID指定由此陷阱清除的上一个alarmNew陷阱的 ID 。其他参数包括由alarmNew陷阱发送的相同alarmNamealarmText

  • alarmSingle — 发送此陷阱是为了警告某个事件。其他参数包括唯一陷阱 ID ( alarmID )、标识事件的文本字符串 ( alarmName ) 以及指定有关事件的更多详细信息的附加字符串 ( alarmText ),例如硬件或其状态的唯一标识符。与alarmNew陷阱的区别在于,此陷阱指的是无状态事件。因此,没有alarmCleared,因此指示同一事件的多个陷阱可能会接踵而至。由于这是一个无状态事件,因此无法通过 SNMP get 命令获取任何相关信息。

陷阱名称/用例陷阱类型报警名称报警清除事件*支持的产品
(多个)电源故障报警新电源警报AXIS Q7900 机架和 AXIS Q7920 视频编码器底盘
(多个)风扇故障报警新粉丝提醒AXIS Q7900 机架和 AXIS Q7920 视频编码器底盘
(高或低)温度达到限值警报报警新温度警报所有 Axis 设备
(多个)模拟视频信号丢失报警新视频信号警报Axis 视频编码器,配备 AXIS OS 5.60 — 6.50
(多个)音频输入信号丢失报警新音频信号警报所有具有外部音频输入功能的 Axis 音频设备
产品外壳已打开警报报警新openCasingAlert所有与 AXIS T93F 门开关/入侵警报器相连的 Axis 设备
机械 PTZ 错误警报报警单PTZ警报所有 Axis 机械 PTZ 设备
边缘存储警报报警新存储媒体警报所有配备 SD 卡并安装有网络共享的 Axis 设备
摄像机篡改警报报警单篡改警报所有具有防篡改功能的 Axis 设备
通用陷阱alarmNew 或 alarmSingle**自定义报警文本 所有 Axis 设备

*警报清除事件会自动发送。例如,如果 Axis 设备检测到存储设备存在问题,它将发出警报,如果问题自行解决,它将发送另一个警报通知问题已解决。
**根据事件是无状态的还是有状态的,陷阱的类型为alarmNewalarmSingle

安讯士视频 MIB OID

AXIS SNMP MIB 中可用的状态操作如下所列。所有状态都是只读对象。如果请求对 OID 执行设置操作,它将返回 17,notWritable(或 2,nosSuchName,对于协议版本 1)。状态操作可以有一个或多个 OID,具体取决于产品。例如,.1.3.6.1.4.1.368.4.1.1.1.3.x 可以是 .1.3.6.1.4.1.368.4.1.1.1.3.1 温度传感器 1、.1.3.6.1.4.1.368.4.1.1.1.3.2 温度传感器 2、.1.3.6.1.4.1.368.4.1.1.1.3.3 温度传感器 3,等等。

OID 名称对象标识符可能的 OID 状态支持的产品
获取电源状态.1.3.6.1.4.1.368.4.1.1.1.3.x成功;失败AXIS Q7900 机架和 AXIS Q7920 视频编码器底盘
获取粉丝状态.1.3.6.1.4.1.368.4.1.2.1.3.1.x成功;失败AXIS Q7900 机架和 AXIS Q7920 视频编码器底盘
获取温度传感器值.1.3.6.1.4.1.368.4.1.3.1.4.1.x温度(摄氏度)所有 Axis 设备
获取温度传感器状态.1.3.6.1.4.1.368.4.1.3.1.3.1.x确定;失败;超出边界所有 Axis 设备
获取视频信号状态.1.3.6.1.4.1.368.4.1.4.1.2.x信号正常;无信号所有 Axis 视频编码器
获取音频信号状态.1.3.6.1.4.1.368.4.1.5.1.2.x信号正常;无信号所有支持音频的 Axis 设备
获取套管状态.1.3.6.1.4.1.368.4.1.6.1.3.x打开关闭所有与 AXIS T93F 门开关/入侵警报器相连的 Axis 设备

获取存储中断状态

.1.3.6.1.4.1.368.4.1.8.1.3.x是;否所有 Axis 设备

AXIS视频 MIB 树

使用 iReasoning MIB 浏览器导入 Axis Video MIB 文件

下面的屏幕截图说明了如何将Axis Video MIB文件导入 iReasoning MIB 浏览器。

使用 iReasoning MIB 浏览器进行 SNMP 遍历

下面的截图说明了如何在 Axis 设备上进行 SNMP 遍历。请注意,需要启用SNMP 。

SNMPv1/2

SNMPv3

使用 iReasoning MIB 浏览器接收 SNMP 陷阱

以下屏幕截图说明了如何从 Axis 设备接收 SNMP 陷阱。请注意,需要启用SNMP 陷阱。

所有搭载 AXIS OS 7.10 及更高版本的 Axis 设备均利用 LLDP(链路层发现协议)通过网络中的 TLV 编码方案(类型-长度-值)向邻居通告其身份和功能信息。发送 LLDP 通告时,可以配置某些信息,例如系统描述和设备名称。为了配置特定的 LLDP 设置,您可以通过 SSH 访问设备,默认情况下 SSH 处于禁用状态,可在设置 > 系统 > 普通配置 > 网络中启用。建立 SSH 访问后,键入“lldpcli”。有关可在 LLDPCLI 中使用的更多命令,请参阅 以下说明

除了邻居公告之外,LLDP 还可用于基于软件的 PoE 协商。支持 IEEE 802.3at(30 W PoE+)的设备支持基于软件的 PoE 协商,运行 AXIS OS 9.20 及更高版本的支持 IEEE 802.3af(15.4 W)的设备支持向连接的 PoE 交换机分配最大功率的 LLDP。启用后,Axis 设备将通知 PoE 交换机其最大 PoE 消耗,以便 PoE 交换机可以执行更好的 PoE 管理并向网络端口分配更少的 PoE。可以在设置 > 系统 > 普通配置 > 网络 > LLDP POE > LLDP 发送最大 PoE中启用最大功率的 LLDP 分配。两种方法都使用 LLDP Dot3 PoE-MDI TLV。

当 Axis 设备中启用 LLDP 最大功率分配,并且根据供应商文档正确配置网络交换机的 LLDP 和 PoE 模式时,网络交换机应该能够保留 Axis 设备所需的最大 PoE 功率的准确数量。以下示例说明了 Axis 设备中启用和禁用 LLDP 最大功率分配的行为。

已禁用

已启用

禁用LLDP 最大功率分配时,网络交换机将根据 IEEE 802.3af 保留全部 15.4 W PoE,不会节省任何电量。相比之下,启用 LLDP 最大功率分配时,网络交换机将保留总共 11.3 W PoE 其中 9.6 W 来自 Axis 设备的需求,另外 1.7 W 是电缆长度造成的功率损耗的余量。这种改进的 PoE 管理可节省 4.1 W PoE,可用于同一网络交换机上的其他网络端口。

媒体端点发现 (LLDP-MED)
LLDP-MED(媒体端点设备扩展)是 LLDP 协议堆栈上的扩展,允许设备在与网络邻居进行 LLDP 交换时包含更多信息 (TLV)。在撰写本文时(2020 年 12 月),Axis 设备不支持 LLDP-MED 扩展,因此不支持用于 PoE 电源协商的 LLDP-MED POE-MDI TLV。

CDP(思科发现协议)

所有搭载 AXIS OS 8.50.1 及更高版本的 Axis 设备均使用 CDP(思科发现协议)协议在网络中宣布其身份和功能。与 LLDP 协议相比,默认情况下,除非网络交换机首先启动 CDP 通信,否则 Axis 设备不会发送任何 CDP 流量。

CDP 还用于支持 IEEE 802.3at (30W PoE+) 的设备中的电源协商。默认情况下,Axis 设备能够使用 CDP 或 LLDP 协商 IEEE 802.3at (30W PoE+) 的电源。使用其中哪一种协议取决于网络交换机配置。

在网络交换机启用并使用两种协议的情况下,Axis 设备将响应最先到达的协议(先到先得)。请注意,无论是基于硬件还是基于软件,都不支持 Cisco 60W UPoE 功率协商。

系统日志

Syslog 是 IT 设备中消息日志记录的标准。IT 业务应用程序和治理越来越需要它来促进、存储、监控和分析来自 IT 设备的审计日志。Syslog 标准基于 RFC 3164 和较新的 RFC 5424。Axis 设备符合这两种标准,以便轻松简单地集成到第三方 syslog 服务器,例如 Nagios、PRTG、Syslog-NG 或基于 Rsyslog 的 syslog 服务器。将日志消息发送到 syslog 服务器的边缘设备的常用术语称为“远程日志记录”或“远程 syslogging”。说到 syslog,网络中有两种不同类型的设备协同工作:

  • 边缘设备:支持 syslog 的边缘设备会生成日志消息,并发送到中央服务器。但是,边缘设备本身的系统资源可能有限,无法将日志消息保存足够长的时间,或者这些消息可能会在重新启动时被自动覆盖或删除。Axis 设备就是边缘设备的示例。

  • Syslog 服务器:Syslog 服务器是网络中的集中式实体,它从边缘设备接收系统日志消息,并以允许实时分析和/或审计的方式处理和存储这些消息。系统日志服务器有多种类型,从“仅”存储传入系统日志消息的简单服务器到功能齐全的企业级系统日志服务器,后者提供实时分析以及带有通知后端的审计的所有手段。

为了将日志消息发送到 syslog 服务器,边缘设备和服务器需要使用相同的协议/端口进行通信。边缘设备还需要进行配置,以便它能够发送具有所需严重性的日志消息。

  • 协议/端口:syslog 标准基于 RFC 3164 和较新的 RFC 5424。使用的默认端口是 UDP 端口 514 和 TCP 端口 601,以及通过 SSL/TLS 端口 6514 进行加密传输。在 AXIS OS 11.6 及更高版本中,我们引入了我们自己的专有格式,称为“Axis”格式,主要供我们内部使用。它与我们目前在服务器报告日志中使用的格式相同。请注意,Axis 可能会更改此格式,恕不另行通知。

  • 日志消息严重性:日志消息根据重要性按严重性分类,从低到高。在较新的 AXIS OS 版本中,可以定义 Axis 设备将日志消息发送到远程系统日志服务器的严重性级别。请参阅以下 Axis 设备的日志消息严重性:
    DEBUG – INFO – NOTICE – WARNING – ERROR – CRITICAL – ALERT – EMERGENCY

    来自 Axis 设备的日志消息示例

    RFC 3164

    <8>Aug 23 16:32:18.000 axis-b8a44f18d105 remote-syslogd: remote-syslogd-test: This is Emergency message
    <9>Aug 23 16:32:18.000 axis-b8a44f18d105 remote-syslogd: remote-syslogd-test: This is Alert message
    <10>Aug 23 16:32:18.000 axis-b8a44f18d105 remote-syslogd: remote-syslogd-test: This is Critical message
    <11>Aug 23 16:32:18.000 axis-b8a44f18d105 remote-syslogd: remote-syslogd-test: This is Error message
    <12>Aug 23 16:32:18.000 axis-b8a44f18d105 remote-syslogd: remote-syslogd-test: This is Warning message

    RFC 5424

    <8>1 2023-08-23T16:34:23.000+02:00 axis-b8a44f42b8b0 remote-syslogd - - - remote-syslogd-test: This is Emergency message
    <9>1 2023-08-23T16:34:23.000+02:00 axis-b8a44f42b8b0 remote-syslogd - - - remote-syslogd-test: This is Alert message
    <10>1 2023-08-23T16:34:23.000+02:00 axis-b8a44f42b8b0 remote-syslogd - - - remote-syslogd-test: This is Critical message
    <11>1 2023-08-23T16:34:23.000+02:00 axis-b8a44f42b8b0 remote-syslogd - - - remote-syslogd-test: This is Error message
    <12>1 2023-08-23T16:34:23.000+02:00 axis-b8a44f42b8b0 remote-syslogd - - - remote-syslogd-test: This is Warning message

    AXIS格式

    2023-08-23T16:30:14.998+02:00 axis-b8a44f4645f4 [ EMERG ] remote-syslogd[209665]: remote-syslogd-test: This is Emergency message
    2023-08-23T16:30:14.998+02:00 axis-b8a44f4645f4 [ ALERT ] remote-syslogd[209665]: remote-syslogd-test: This is Alert message
    2023-08-23T16:30:14.998+02:00 axis-b8a44f4645f4 [ CRIT ] remote-syslogd[209665]: remote-syslogd-test: This is Critical message
    2023-08-23T16:30:14.998+02:00 axis-b8a44f4645f4 [ ERR ] remote-syslogd[209665]: remote-syslogd-test: This is Error message
    2023-08-23T16:30:14.998+02:00 axis-b8a44f4645f4 [ WARNING ] remote-syslogd[209665]: remote-syslogd-test: This is Warning message

    Axis 设备中的 Syslog

    自 2000 年代实施以来,Axis 设备一直符合 syslog 标准。因此,多年来,Axis 设备一直以各种方式支持 syslog 以适应变化,始终使用最新的实施:

    执行系统日志系统日志SYSLOG-NG MK ISYSLOG-NG MK II
    支持的版本

    ≤ 5.55

    5.60 - 6.50

    7.10 - 10.0

    10.1 ≥

    脚本编辑器配置

    Web 界面配置

    VAPIX API 配置

    SD 卡或网络共享存储*

    传输协议

    UDP

    TCP/UDP

    TCP/UDP

    TCP/UDP/TLS

    主要和次要远程系统日志服务器**

    发送日志消息测试按钮***

    日志严重性配置****

    * 可选支持将系统日志消息保存到本地 SD 卡或网络共享。
    ** 可以配置主远程系统日志服务器和辅助远程系统日志服务器。配置完成后,Axis 设备将同时向两台服务器发送日志消息。请注意,这不是故障转移配置。
    *** 可以向远程系统日志服务器发送测试消息以验证配置是否正确。
    **** 可以配置 Axis 设备以仅发送具有特定严重性及更高严重性的日志消息。

    接下来的部分将展示可完成的示例配置,并结合 Axis 设备多年来支持的不同 syslog 实现进行说明。

    AXIS OS 10.1 中的 Syslog 配置

    Web 界面
    AXIS OS 版本 10.1 及更高版本的设备具有用于系统日志配置的图形用户界面。可通过设备的 Web 界面在“设置”>“系统”>“TCP/IP”下找到该界面。

    通过 UDP 传输远程系统日志:

    通过 TCP 的远程系统日志:

    通过 TCP/TLS 的远程系统日志*:

    通过 TCP/TLS 的远程系统日志(主 + 次)**:

    * 对于 TLS 模式,您需要指定 Axis 设备将用来验证远程系统日志服务器的 CA 证书。此 CA 证书是在第三方远程系统日志服务器配置期间生成和提供的。
    ** 当配置了主系统日志服务器和辅助系统日志服务器时,无论主服务器、辅助服务器还是两个服务器都可用,Axis 设备都会始终同时向两个服务器发送其日志消息。

    请参阅下面的示例图,其中 Axis 设备将其系统日志消息仅传输到主服务器,或者并行传输到主/辅助服务器。

    VAPIX 接口 (VAPIX API)
    具有 AXIS OS 版本 10.1 及更高版本的设备还支持远程系统日志 API VAPIX 接口,允许使用 AXIS 设备管理器等对 Axis 设备进行大规模配置。有关更多信息,请访问VAPIX 库

    AXIS 设备管理器
    通过引入新的远程系统日志 API,还可以同时为多个 Axis 设备配置远程系统日志设置。

    AXIS OS 7.10 - 10.0 中的 Syslog 配置

    脚本编辑器
    为了配置远程 syslog 服务器,需要启用脚本编辑器。这可以通过 Axis 设备的 Web 界面完成,在设置 > 系统 > 普通配置 > 系统 > 启用脚本编辑器 (editcgi)下。

    要配置系统日志,请在浏览器中打开以下链接,将 IP 地址占位符(“ip_of_cam”)替换为 Axis 设备的实际 IP 地址:http://ip_of_cam/admin-bin/editcgi.cgi?file=/etc/syslog-ng.d/remote.conf

    按照以下示例配置添加 IP 地址、传输方法和端口。完成后单击“保存文件”并重新启动设备。

    注意

    确保没有代码行被井号(“#”)注释掉,就像上面的示例配置一样。

    AXIS 支持 ACAP
    AXIS 支持 ACAP提供了使用图形用户界面进行简单快速的远程系统日志配置的可能性。默认情况下,ACAP 在端口 514 上使用 UDP 传输方法配置远程系统日志服务器,并在脚本编辑器中配置配置文件,如上一节所示。

    此外,从 FW 5.60 开始,AXIS Support ACAP 可以在 Axis 设备上配置独立于其 AXIS OS 版本在内的远程系统日志服务器。

    AXIS OS 5.60 - 6.50 中的 Syslog 配置

    为了配置 syslog,请在浏览器中打开以下链接,并将 IP 地址占位符(即“ip-address”)替换为 Axis 设备的真实 IP 地址:http://ip-address/admin-bin/editcgi.cgi?file=/etc/rsyslog.d/40-remote_log.conf

    远程系统日志服务器在配置文件底部
    添加并指定远程系统日志服务器的真实 IP 地址。完成后单击保存文件并重新启动设备。*.* @ip-address

    SD 卡
    首先在 Axis 设备上安装 SD 卡。然后*.* /var/spool/storage/SD_DISK/logs.txt在配置文件底部添加。完成后单击保存文件并重新启动设备。

    网络共享
    首先在 Axis 设备上安装网络共享。*.* /var/spool/storage/NetworkShare/logs.txt在配置文件底部添加。完成后单击保存文件并重新启动设备。

    AXIS OS 5.55 及以下版本中的 Syslog 配置

    为了配置 syslog,请在浏览器中打开以下链接,将 IP 地址占位符(即“ip-address”)替换为 Axis 设备的真实 IP 地址:http://ip-address/admin-bin/editcgi.cgi?file=/etc/syslog.conf

    远程系统日志服务器首先在配置文件底部
    添加并指定远程系统日志服务器的真实 IP 地址。完成后单击保存文件并重新启动 Axis 设备。*.* @ip-address

    SD 卡
    首先在 Axis 设备中安装 SD 卡。然后*.* /var/spool/storage/SD_DISK/logs.txt在配置文件底部添加。完成后单击保存文件并重新启动 Axis 设备。

    网络共享
    首先在 Axis 设备上安装网络共享。然后*.* /var/spool/storage/NetworkShare/logs.txt在配置文件底部添加。完成后单击保存文件并重新启动 Axis 设备。

    关于 syslog 服务器支持

    Axis 设备符合基于 RFC 3164 和较新的 RFC 5424 的 syslog 标准,因此,如果配置正确,系统日志到服务器的传输应该可以立即使用。Axis 设备会定期使用不同的 syslog 服务器进行测试,例如 syslog-ng、rsyslog 以及 PRTG Paessler、Nagios、QNAP 和 Synology。

    下面是 Axis 设备向 Nagios 系统日志服务器发送日志消息的示例图像。

    联系方式
    联系 Axis 技术服务以获得进一步帮助和提出其他请求:https:///support

    MQTT

    MQTT 是一种机器对机器 (M2M)/物联网 (IoT) 连接协议。它被设计为一种极其轻量级的发布/订阅消息传输,适用于需要较少代码占用空间和/或网络带宽非常宝贵的远程位置的连接。

    MQTT 凭借其轻量级和带宽高效的特点,正迅速成为实施物联网解决方案的标准通信协议。您可以在白皮书《设备与 MQTT 集成》中阅读有关优势和用例的更多信息,或者继续阅读以了解有关配置 MQTT 的更多信息,从最重要组件开始。

    客户端
    任何通过网络连接到集中式服务器/代理的发布者或订阅者都是客户端。发布者和订阅者都被称为客户端,因为它们连接到集中式服务。客户端可以是持久的,也可以是瞬时的。持久客户端与服务器/代理保持会话,而瞬时客户端不受服务器/代理的跟踪。客户端通常通过库和 SDK 连接到服务器/代理。

    服务器/代理
    服务器/代理是接收来自发布客户端的所有消息并将其发送到订阅客户端的软件。它保持与持久客户端的连接。由于服务器/代理可能成为瓶颈或导致单点故障,因此通常会将其集群化以实现可扩展性和可靠性。如何创建可扩展的服务器/代理基础设施由实施者决定。MQTT 代理的一些商业实现包括 HiveMQ、Xively、AWS IoT 和 Loop。

    主题
    MQTT 中的主题是客户端(发布者)可以共享、另一个客户端(订阅者)可以连接的端点信息。主题是简单的分层字符串,以 UTF-8 编码,以正斜杠分隔。例如,“building1/room1/temperature”和“building1/room1/temperature”是有效的主题名称。

    连接
    MQTT 可供基于 TCP/IP 的客户端使用。服务器/代理公开的标准端口是 1883,这不是一个安全端口。支持 TLS/SSL 的服务器/代理通常使用端口 8883。为了实现安全通信,客户端和服务器/代理依赖于数字证书。

    功能概述

    搭载 AXIS OS 9.80 及以上版本的 Axis 设备支持 MQTT 协议,使客户和市场能够深化其业务和系统应用程序的集成。在表格中,您可以看到当前支持的功能以及即将推出的功能。

    功能AXIS 操作系统版本
    通用 MQTT 事件发布AXIS OS 9.80.1
    自定义 MQTT 事件发布AXIS 操作系统 10.4.0
    自定义 MQTT 事件订阅AXIS OS 10.6。
    已添加到 AXIS OS 10.7 的 Web 界面
    MQTT Web 界面支持AXIS OS 10.1
    TCP 上的 MQTTAXIS OS 9.80.1
    通过 SSL 进行 MQTTAXIS OS 9.80.1
    通过 WebSocket 进行 MQTTAXIS OS 9.80.1
    通过 WebSocket 进行 MQTT (SSL)AXIS OS 9.80.1
    MQTT VAPIX APIAXIS OS 9.80.1
    MQTT ALPN 支持
    (应用层协议协商)
    AXIS OS 10.9.0
    MQTT 覆盖支持AXIS OS 11.4

    在以下部分中,您可以阅读有关通过 Web 界面配置设备的更多信息。

    服务器

    这些示例向您展示了如何配置 Axis 设备以在 Web 界面中连接到 MQTT 服务器/代理。要进行连接,用户必须指定服务器/代理的 IP 地址或主机名、传输协议和端口以及凭据(即用户名和密码)。MQTT 服务器/代理连接配置可以在Web 界面的“设置”>“系统”>“MQTT”下找到。

    示例配置:MQTT over TCP

    示例配置:MQTT over SSL*

    *为了使 MQTT 通过 SSL 连接成功,CA 和客户端证书必须在设置 > 系统 > 安全下可用,以便可以在 MQTT 配置中选择它们。

    政策

    连接策略可帮助用户定义 Axis 设备与其连接的 MQTT 服务器/代理的一般 MQTT 连接行为。下面您将找到有关策略各个设置的更详细描述。

    • 客户端 ID:Axis 设备用来向 MQTT 服务器/代理标识自己的好听名字/昵称。

    • 保持活动间隔:定义 Axis 设备与 MQTT 服务器/代理之间无通信的最大时间(以秒为单位)。Axis 设备将在定义的间隔内发送保持活动消息以确保连接。请注意,这将影响遗嘱设置

    • 超时:定义成功完成连接的最大时间(以秒为单位)。如果连接尝试超过定义的值,则连接将无法完成。

    • 自动重新连接:启用后,Axis 设备将在意外连接丢失时尝试重新连接到 MQTT 服务器/代理。

    • 清洁会话:控制代理端的客户端状态持久性,并定义连接时应如何处理连接的客户端。启用后,代理上不会保留任何状态。禁用后,MQTT 代理将保持订阅处于活动状态,并将 QoS 1/2 消息排队以便在重新连接后进行传送。此字段对仅发布客户端没有影响。

    MQTT QoS 设置

    每条不同的消息(即连接消息、遗嘱消息和单个事件过滤/主题)都允许配置专用的 QoS 设置。下面描述了一般的 QoS 行为和消息传递时的服务级别。

    0 级是最低服务级别,不提供消息传递的保证。

    级别 1保证至少向代理传送一次消息,并且有可能在确认之前多次接收同一条消息。

    2 级是最高服务级别,提供四次握手以确保每条消息都准确地传递给代理一次。

    AXIS主题表达式

    为了找出 Axis 设备支持哪些主题,可以进行 VAPIX 或 ONVIF 中的以下 API 调用。可以从摄像机的 SSH 控制台中运行以下命令,但建议使用不需要启用对设备的 SSH 访问权限的 CURL 或 POSTMAN 等工具。

    如果您希望使用 SSH 直接发出请求,请在Plain config > Network > SSH中启用 SSH ,然后通过 SSH 直接登录到 AXIS 设备。

    VAPIX 接口
    向 VAPIX Web 服务发出 GetEventInstances 请求,如下例所示,但将用户名、密码和 IP 地址替换为实际配置的设置:

    curl --noproxy "*" --user <username>:<password> --digest --request POST 
    'http://<device-address>/vapix/services' \
    --header 'Content-Type: application/soap+xml;
    action=http:///vapix/ws/event1/GetEventInstances; Charset=UTF-8' \
    --data-raw '<SOAP-ENV:Envelope xmlns:SOAP-ENV="" xmlns:SOAP-ENC=""
    xmlns:xsi=""
    xmlns:xsd="">
    <SOAP-ENV:Body>
    <m:GetEventInstances xmlns:m=""/>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>'

    ONVIF 接口
    向 ONVIF 事件服务发出 GetEventProperties 请求,如下例所示,但将用户名、密码和 IP 地址替换为实际配置的设置:

    curl --noproxy "*" --user <username>:<password> --digest --request POST
    'http://<device-address>/onvif/services' \
    --header 'Content-Type: application/xml' \
    --data-raw '<?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope
    xmlns:SOAP-ENV=""
    xmlns:wsa=""
    xmlns:tet="">
    <SOAP-ENV:Header>
    <wsa:Action>
    http://www.onvif.org/ver10/events/wsdl/EventPortType/GetEventPropertiesRequest
    </wsa:Action>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
    <tet:GetEventProperties>
    </tet:GetEventProperties>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envlope>'

    输出示例

    onvif:Device/axis:Status/SystemReady
    onvif:Device/axis:IO//.
    onvif:RuleEngine/MotionRegionDetector/Motion
    axis:CameraApplicationPlatform/VMD/Camera1ProfileANY

    遗嘱

    最后将设置定义非正常断开连接后 Axis 设备对 MQTT 服务器/代理的行为,即 Axis 设备不会发送断开连接消息。这种情况可能是由于网络连接不良、电源断开等原因造成的。

    启用遗嘱功能后,MQTT 服务器/代理将在 Axis 设备非正常断开连接时宣布定义的消息。下面您将找到遗嘱各个设置的更详细描述以及自定义遗嘱消息的示例。

    • 使用默认值:使用预定义的默认设置。

    • 主题:MQTT 代理将使用该自定义主题来发布断开连接公告,即向订阅的 MQTT 客户端宣布 Axis 设备已非正常断开连接。

    • 消息:MQTT 代理用于断开连接公告的自定义消息。见下面的示例。

    • Keep:又称保留。定义代理是否应将遗嘱消息保留在代理的缓存中,以便新订阅者在订阅后直接收到该消息。

    • QoS:定义消息传递时的服务级别。请参阅MQTT QoS 设置了解更多信息。

    在下面的示例中,我们配置了定制的遗嘱 (LWT),以防设备非正常断开连接,宣布消息“Axis 设备 LWT 消息”。

    连接消息

    连接消息可用于让 Axis 设备向 MQTT 代理和其他订阅的 MQTT 客户端宣布其连接状态。下面您将找到有关连接消息的各个设置的更详细描述。

    • 使用默认值:使用预定义的默认设置。

    • 主题:连接到 MQTT 代理时用于公告的自定义主题。

    • 消息:连接到 MQTT 代理时用于公告的自定义消息。

    • Keep:也称为retain。定义代理是否应将连接公告消息保留在代理缓存中,以便新订阅者订阅后直接收到此消息。

    • QoS:定义消息传递时的服务级别。有关更多信息,请参阅MQTT QoS 设置

    具有默认连接消息的配置示例

    具有自定义连接消息的配置示例

    通用 MQTT 事件发布

    连接到 MQTT 代理后,用户必须指定事件和事件过滤相关配置,可以在设置 > 系统 > 事件 > MQTT 事件下找到。

    下面的 MQTT 配置显示了一个典型设置,其中 Axis 设备将被配置为将特定事件发送到 MQTT 代理,在此示例中通过使用手动触发器虚拟输入

    注意

    如果条件列表中缺少特定选项,您可能需要启用该功能,然后重新启动设备以使该条件出现。

    示例:如果缺少“检测到冲击”,请转到“设置”>“系统”>“检测器”并启用冲击检测,然后重新启动设备。执行此步骤会将“检测到冲击”添加到条件列表中。

    本节中的示例使用Eclipse Mosquitto代理和 MQTT 客户端(如具有图形用户界面的MQTT Explorer )进行说明。

    请注意,如果未添加任何事件,Axis 设备将不会向 MQTT 代理发送任何事件。此外,只能选择虚拟输入作为事件主题。虚拟输入触发器通常由 32 到 64 个虚拟输入组成,如果选择虚拟输入作为事件主题,则会考虑所有可用的虚拟输入。

    • Keep:也称为保留。定义代理是否应将此消息的最后状态保留在代理缓存中,以便新的 MQTT 订阅者在订阅后直接获取事件的实际状态。此设置会影响 Axis 设备的有状态和无状态事件。请转到VAPIX 库中的事件和操作服务部分,了解有关特定事件是有状态还是无状态的信息。

      • :所有事件均以非保留形式发送,无论它们是有状态事件还是无状态事件。

      • 属性:只有有状态事件才会以非保留形式发送,无论它们是有状态事件还是无状态事件。

      • 全部:所有有状态和无状态事件都作为保留消息发送。

    • QoS:定义消息传递时的服务级别。有关更多信息,请参阅MQTT QoS 设置

    为了举例说明,我们将手动触发器配置为要发布到 MQTT 代理的事件。手动触发器是一个有状态事件,这意味着手动触发器始终处于两种状态之一:0 或 1。在下面的两种配置中,我们比较了两种可能的情况。

    1. 我们希望代理保留手动触发器的最后已知事件状态以供新订阅的 MQTT 客户端使用。

    2. 我们确实希望代理保留手动触发器的最后已知事件状态,以供新订阅的 MQTT 客户端使用。

    场景 1

    场景 2

    假设手动触发器已触发,并且我们已连接到代理以订阅它。如下所示,我们将看到实际的 MQTT 消息,因为我们在手动触发器触发的同时已连接并订阅了代理。

    如果我们没有使用 MQTT 客户端连接到代理,而是在稍后的时间点连接,如果我们将事件配置为“Retain = Property”,我们仍然会看到手动触发事件的最后状态,如下所示:

    如果我们将手动触发事件配置为“Retain=Off”,我们将看不到手动触发的最后一条消息,并且只有在连接到相关代理后才会收到新触发的事件。合理地,不会列出任何事件:

    配置成功后,我们可以看到 Axis 设备正在发布手动触发器(=VirtualPort)和 64 个虚拟输入的事件。

    通过进一步扩展树结构,我们可以看到由端口参数标识的每个单独的虚拟输入的状态

    包括条件名称
    启用包括条件名称以包含整个事件主题名称树,而不仅仅是原始事件本身。

    已启用

    已禁用

    包括条件命名空间如果应包含 ONVIF 主题命名空间,
    请启用“包括条件命名空间” 。

    已启用

    已禁用

    在有效载荷中包含序列号
    启用在有效载荷中包含序列号以在 MQTT 有效载荷消息中包含 Axis 设备的序列号。这可以用作识别发送设备的附加信息。

    已启用

    已禁用

    自定义 MQTT 事件发布

    除了带有预定义主题和有效负载的通用 MQTT 事件之外,发布 MQTT操作规则还可以由任何可用的设备事件触发,并发送带有自定义主题和有效负载的消息。

    在以下示例中,Axis 设备向主题“P1375/ManualTrigger/Custom/Topics/”发布一条消息,其中携带有效负载“手动触发器已激活”。该主题最多可包含 1024 个字符,有效负载的限制设置为 8192 个字符。

    此视频说明了如何设置操作规则:

    自定义 MQTT 事件订阅

    自定义 MQTT 事件订阅功能从 AXIS OS 10.7 及更高版本开始提供,使 Axis 设备能够在连接到 MQTT 代理时订阅主题。订阅后,Axis 设备将监听新传入的消息并能够对其采取行动,例如通过在内置事件系统中配置操作规则。

    在本视频中查看其配置方式:

    MQTT 订阅数据作为覆盖

    使用 AXIS OS 11.4 及后续版本,您可以将 MQTT 订阅数据叠加到视频流上。在本节中,我们将指导您完成实现此功能的过程。

    首先,确保设备可以成功向代理发布 MQTT 消息。在下面的屏幕截图中,我们有一个门监视器,它可以将门状态等信息发布到代理。

    在 Axis 设备 Web 界面中,转到系统> MQTT > MQTT 客户端,然后根据您的设置填写 MQTT 代理的必要信息。完成后,您应该能够看到 MQTT 连接状态已更改为已连接

    之后,您可以在 Axis 设备中创建 MQTT 覆盖。转到系统> MQTT > MQTT 覆盖,然后单击添加覆盖修改器

    修饰符有两种类型:

    • #XMP:有效载荷标签。带有 #XMP 形式的覆盖修饰符包含已发布 MQTT 消息的整个有效载荷。

    • #XMD:数据标签。带有#XMD 形式的覆盖修饰符包含已发布的 MQTT 消息的有效负载中键的 JSON 值。

    我们再来看看门禁监控器。在发布的消息中,有一个名为“announce”的部分:

    主题过滤器中输入shellies/announce。单击保存以订阅此主题并将其用作覆盖。

    这将生成一个名为#XMP0的修饰符。

    在同一页面上,单击“覆盖”。在“覆盖”页面上,您可以在实时视图中看到消息的整个有效负载作为覆盖。

    您还可以选择仅覆盖消息的特定部分,例如门监视器的 IP 地址。这就是 #XMD 修饰符的用途。

    进入系统> MQTT > MQTT 覆盖,点击添加覆盖修饰符主题过滤器中输入shellies/announce数据字段中输入ip。最后点击保存

    您现在应该在列表中看到一个新的覆盖修改器:

    在同一页面上,单击覆盖。在覆盖页面上,创建一个新的文本覆盖,字符串中包含#XMD1 。例如,门监视器的 IP 地址是:#XMD1。在覆盖中,#XMD1将替换为门监视器的 IP 地址。

    在某些情况下,订阅的消息包含大量 JSON 格式的信息。对象也可能嵌套在其他对象中,如下例所示。

    例如,要覆盖人类数量,您可以在覆盖修饰符数据字段中输入message.data.human

    在 AXIS OS 11.8 及更高版本中,MQTT 图形叠加功能也已添加到 ARTPEC- 8 产品中(鱼眼和全景摄像机除外)。除了最后一步在视频流中添加叠加外,创建 MQTT 叠加的步骤相同。MQTT 数据不是以文本格式叠加,而是以图形形式显示。

    在下面的示例中,我们将使用 MQTT 图形覆盖来显示从下面的门监视器数据中提取的房间温度和电池电量:

    转到系统> MQTT > MQTT 覆盖,然后单击添加覆盖修饰符。为门监视器的室温创建一个覆盖修饰符,为门监视器的电池电量创建一个覆盖修饰符。

    一旦创建,两个覆盖修改器都应该在列表中可见。

    在同一页面上,单击Overlays。在 Overlays 页面上,创建一个新的Widget:Linegraph overlay。

    选择# #XMP0作为覆盖修改器。

    为门监视器的电池电量创建另一个图形叠加层。这次,改用Widget: Meter。选择#XMP1作为叠加修饰符。

    日蚀蚊子

    在本节中,您可以阅读有关将 Axis 设备连接到 Eclipse Mosquitto MQTT 代理以发布主题所需的配置步骤。

    重要

    以下步骤说明了测试实验室环境中的基本集成和用例。Axis 强烈建议遵循提供商的集成指南,以最大限度地处理生产环境中的证书、令牌、用户凭证和整体网络安全。

    步骤 1:Eclipse Mosquitto 配置
    有关基于 Linux Ubuntu 18.04 的常见 Mosquitto MQTT 代理配置,请参阅本指南。以下步骤仅涵盖 TCP 和 SSL/TLS 模式下的配置。

    步骤 2:AXIS设备配置

    服务器配置

    TCP 上的 MQTT

    通过 SSL 进行 MQTT

    策略配置

    微软 Azure(SAS 令牌)

    在本节中,您可以阅读有关将 Axis 设备连接到 MQTT 代理以发布主题所需的配置步骤。如需进一步阅读,请访问https://docs.microsoft.com/en-us/azure/iot-hub/quickstart-send-telemetry-clihttps://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-mqtt-support

    重要

    以下步骤说明了测试实验室环境中的基本集成和用例。Axis 强烈建议遵循提供商的集成指南,以最大限度地处理生产环境中的证书、令牌、用户凭证和整体网络安全。

    步骤 1:创建 IoT 设备
    为了开始,必须在 Microsoft Azure 中创建 IoT 设备。请按照以下步骤继续。

    创建设备后,获取 Microsoft Azure 实体的主机名。可在中心概览中查找。

    步骤 2:生成 SAS 令牌
    可以使用 Microsoft Azure 中的 Cloud Shell 控制台生成 SAS 令牌。在以下示例中,密码已生成,有效期为 3600 秒。此 SAS 令牌稍后将用于将 Axis 设备连接到 Microsoft Azure MQTT 代理。

    Cloud Shell 命令:az iot hub generate-sas-token -d AXISMQTT -n R2D2-IoT-Hub --du 3600

    步骤 3:Axis 设备配置
    利用步骤 1 和步骤 2 中提供的信息,我们现在可以将 Axis 设备连接到 Microsoft Azure MQTT 代理。

    请注意,自定义条件前缀、禁用条件名称和自定义基本路径是 Axis 设备发布消息所必需的。

    步骤 4:监听 MQTT 事件
    现在我们已准备好测试我们的设置。在 Cloud Shell 中使用以下命令监听来自 Axis 设备的传入 MQTT 事件。最简单的测试方法是在 Axis 设备中使用手动触发器。

    Cloud Shell 命令:az iot hub monitor-events --hub-name R2D2-IoT-Hub

    Microsoft Azure(证书认证)

    在本节中,您可以阅读有关将 Axis 设备连接到 MQTT 代理以发布主题所需的配置步骤。如需进一步阅读,请访问https://docs.microsoft.com/en-us/azure/iot-hub/quickstart-send-telemetry-clihttps://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-mqtt-support

    重要

    以下步骤说明了测试实验室环境中的基本集成和用例。Axis 强烈建议遵循提供商的集成指南,以最大限度地处理生产环境中的证书、令牌、用户凭证和整体网络安全。

    步骤 1:证书颁发机构配置
    为了在 Microsoft Azure 中配置基于证书的身份验证,需要一个受信任的根证书,该证书用于对客户端及其证书进行签名和验证。以下过程描述了如何在 Azure 中添加根证书以及如何应用所有权证明方法,以便向 Azure 证明此根证书应该经过验证和信任。

    让我们通过运行以下命令来创建我们选择的根证书:
    openssl genrsa -des3 -out R2D2AzureRootCA.key 2048
    openssl req -new -x509 -days 36500 -key R2D2AzureRootCA.key -out R2D2AzureRootCA.pem

    下载在 PowerShell 中创建的证书并将证书上传到证书存储中,如下所示。

    您可能已经注意到,新根证书的状态为“未验证”,这意味着我们需要向 Azure 证明上传用户确实拥有该证书及其权限。因此,Azure 要求我们从上传的根证书签署新证书,其中包括新证书的 CN/Subject 中的以下验证码。

    借助以下命令,将创建一个新证书。请注意,新证书的 CN/Subject 中必须使用验证码。请注意,证书创建期间不需要质询密码。

    openssl genrsa -out R2D2AzureRootCAProof.key 2048
    openssl req -new -out R2D2AzureRootCAProof.csr -key R2D2AzureRootCAProof.key
    openssl x509 -req -in R2D2AzureRootCAProof.csr -CA R2D2AzureRootCA.pem -CAkey R2D2AzureRootCA.key -CAcreateserial -out R2D2AzureRootCAProof.pem -days 36500

    证书创建成功后,请下载该证书,以便将其上传到认证商店以确认所有权证明。验证成功后,证书状态应更改为“已验证”。

    第 2 步:创建 IoT 设备
    为了使用基于证书的身份验证将 MQTT 消息从 Axis 设备发送到 Microsoft Azure,需要使用适当的身份验证方法创建新的 IoT 设备。

    Axis 设备必须使用新的客户端证书进行身份验证,该证书需要从我们在步骤 1 中上传的根证书生成和签名。需要以下命令或类似命令来执行此操作:

    openssl genrsa -out R2D2AzureACCC8E68CB0A.key 2048
    openssl req -new -out R2D2AzureACCC8E68CB0A.csr -key R2D2AzureACCC8E68CB0A.key
    openssl x509 -req -in R2D2AzureACCC8E68CB0A.csr -CA R2D2AzureRootCA.pem -CAkey R2D2AzureRootCA.key -CAcreateserial -out R2D2AzureACCC8E68CB0A.pem -days 36500

    请注意,设备 ID 必须与客户端证书的 CN/Subject 完全匹配,否则身份验证将失败。请注意,证书创建期间不需要质询密码。

    步骤 3:Axis 设备配置
    在最后一步中,需要将之前创建的客户端证书上传到 Axis 设备,并在 MQTT 代理配置中选择。其余配置在 Microsoft Azure 指南中有详细记录。

    步骤 4:监听 MQTT 事件
    现在我们准备测试我们的设置。在 Cloud Shell 中使用以下命令监听来自 Axis 设备的传入 MQTT 事件。最简单的测试方法是使用Axis 设备中的手动触发器。

    Cloud Shell 命令:az iot hub monitor-events --hub-name R2D2-IoT-Hub

    转到Microsoft Azure(SAS 令牌)并查看步骤 4 中的示例以获取更多信息。

    亚马逊网络服务(AWS)

    在本节中,您可以阅读有关将 Axis 设备连接到 Amazon Web Services (AWS) MQTT 代理以发布主题所需的配置步骤。如需进一步阅读,请访问https://docs.aws.amazon.com/iot/latest/developerguide/mqtt.html#mqtt-sdk

    重要

    以下步骤说明了测试实验室环境中的基本集成和用例。Axis 强烈建议遵循提供商的集成指南,以最大限度地处理生产环境中的证书、令牌、用户凭证和整体网络安全。

    步骤 1:创建事物策略
    在开始在 AWS 中创建事物设备之前,我们首先要配置事物策略。事物策略基本上是在创建设备时授予的访问和连接权限。以下示例说明了允许 Axis 设备连接和发布消息的策略。

    步骤 2:创建 IoT 设备(事物)
    创建事物策略后,就该创建实际设备了。AWS IoT Core 通过基于证书的授权机构而不是基于凭证的身份验证提供访问权限。因此,在创建事物的过程中也会生成证书和私钥。

    请注意,必须将证书和私钥上传到 Axis 设备。如果 Axis 设备也应验证 AWS MQTT 代理,则还必须在 Axis 设备上上传 Amazon Root CA。此外,请确保通过切换按钮激活证书,如屏幕截图所示。

    这里我们将步骤 1 中创建的策略附加到我们正在创建的事物设备上。完成此操作后,事物已准备就绪,现在是时候配置 Axis 设备了。

    步骤 3:Axis 设备配置
    利用步骤 1 和步骤 2 提供的信息,我们现在可以将 Axis 设备连接到 AWS MQTT 代理。

    请注意,AWS IoT Core 对主题表达式的长度实施了严格限制,因此我们只是从仅包含条件名称开始,以保持主题简短。

    步骤 4:监听 MQTT 事件
    现在我们准备测试我们的设置。借助 Amazon CloudWatch,我们可以验证 Axis 设备是否可以成功将 MQTT 消息发送到 AWS 云。

    首先,请确保您已启用日志记录。这将导致 AWS 云日志记录连接尝试。

    通过使用 Amazon CloudWatch 服务,AWSIoTlogs 日志组将显示连接尝试以及发布或订阅等 MQTT 操作是否成功。

    IBM 沃森

    在本节中,您可以阅读有关将 Axis 设备连接到 IBM Watson MQTT 代理以发布主题所需的配置步骤。如需进一步阅读,请访问https://developer.ibm.com/articles/iot-mqtt-why-good-for-iot/

    重要

    以下步骤说明了测试实验室环境中的基本集成和用例。Axis 强烈建议遵循提供商的集成指南,以最大限度地处理生产环境中的证书、令牌、用户凭证和整体网络安全。

    步骤 1:创建 IoT 设备
    按照以下步骤创建 IoT 设备。

    步骤 2:Axis 设备配置
    有了步骤 1 中 IoT 设备创建提供的信息和设置,我们现在可以将 Axis 设备连接到 IBM MQTT 代理。同样,下面是一个典型示例。

    请注意,MQTT 事件中的自定义条件前缀和条件名称的禁用是 Axis 设备发布消息所必需的。

    步骤 3:监听 MQTT 事件
    IBM Watson Cloud 没有内置的 MQTT 客户端来订阅云中的事件。因此,我们使用 MQTT Explorer。为了让 MQTT Explorer 连接到 IBM MQTT 代理,必须先生成 API 密钥以允许访问。下图对此进行了描述。

    使用新生成的 API 密钥,我们可以连接到 IBM MQTT 代理。请参阅下面的示例设置。

    以下订阅主题是必须配置的,否则将看不到任何事件。MQTT 客户端 ID 必须由您的 IBM 云实体和后跟用户可以定义的可自定义字符串(例如“mqtt”)组成。

    成功连接后,Axis 设备应发送事件。测试此操作的最简单方法是使用Axis 设备中的手动触发器。

    谷歌云平台(GCP)

    在本节中,您可以阅读有关将 Axis 设备连接到 Google Cloud Platform (GCP) MQTT 代理以发布主题所需的配置步骤。如需进一步阅读,请访问https://cloud.google.com/iot/docs/how-tos/gateways/mqtt-bridgehttps://cloud.google.com/iot/docs/how-tos/mqtt-bridge

    重要

    以下步骤说明了测试实验室环境中的基本集成和用例。Axis 强烈建议遵循提供商的集成指南,以最大限度地处理生产环境中的证书、令牌、用户凭证和整体网络安全。

    步骤 1:Pub/Sub 配置
    在第一步中,我们将使用 Google 的 Pub/Sub 中心。Pub/Sub 用于创建主题,以便设备可以将其 MQTT 事件发布到 GCP。此外,还可以直接订阅主题。

    第 2 步:GCP MQTT 桥接配置
    在此配置步骤中,我们添加一个注册点,以便我们可以添加稍后可以发布主题的设备。我们将使用IoT Core选项卡进行配置。

    步骤 3:GCP 设备配置
    创建注册点后,我们现在可以将设备绑定到它。然后设备将能够发布主题。

    为了在 GCP 中对设备进行身份验证,需要为每个设备使用一个 JWT 令牌作为密码,并且 GCP 还需要绑定公钥来解密流量并正确对设备进行身份验证。

    关于 JWT 令牌
    JWT 令牌是在后期使用公钥和私钥生成的。

    关于设备公钥
    为了在 GCP 中创建设备,需要公钥来验证和解密来自设备的流量。对于测试环境,可以直接在 GCP 控制台中生成公钥和私钥对。

    openssl genpkey -algorithm RSA -out rsa_private.pem -pkeyopt rsa_keygen_bits:2048
    openssl rsa -in rsa_private.pem -pubout -out rsa_public.pem

    从 GCP 控制台编辑器中读取公钥和私钥。直接使用公钥创建设备。公钥和私钥稍后也会用于签署 JWT 令牌。

    步骤 4:JWT 令牌声明
    Google Cloud Platform 使用基于 JWT 令牌的身份验证。为了举例说明,我们使用在线工具来生成 JWT 令牌。请注意,在生产环境中不建议这样做。

    JWT 令牌本身需要aud(受众)、iat(发行时间)和exp(到期时间)字段才能在 JWT 令牌中可用。iatexp字段定义为 unix 时间戳。可以使用这些字段,例如使用此工具。aud字段由 Google Cloud Platform 中的项目 ID 定义。完成 aud、iat 和 exp 后公钥私钥对粘贴到 JWT 声明中,以便将 JWT 令牌导出为 Axis 设备的密码。

    重要提示:Google Cloud Platform 将拒绝任何使用 JWT 令牌且总持续时间超过 24 小时的身份验证尝试。

    步骤 5:Axis 设备配置
    以下是 MQTT 的实际 Axis 设备配置。请遵守成功连接所需的设置。GCP 会忽略/不尊重用户名。客户端 ID 使用以下命名约定格式,粗体标记的部分与您之前说明的配置有关:

    项目/ r2d2-iot-sandbox /位置/欧洲-西1 /注册表/ axis_device_registery /设备/ ACCC8E68CB0A

    密码是之前生成的 JWT token,事件发布的自定义条件前缀使用以下约定,取决于您之前的配置:

    /设备/ ACCC8E68CB0A /事件

    第 6 步:监听 MQTT 事件
    Google Cloud Platform 有自己的工具,可以使用 Pub/Sub 中心或 GCP 控制台直接使用以下命令监听来自设备的传入 MQTT 事件。同样,粗体标记的部分取决于您之前的配置。

    gcloud pubsub subscriptions pull device_events

    联系方式
    联系 Axis 技术服务以获得进一步帮助和提出其他请求:https:///support

    OAuth 2.0 OpenID 连接

    使用 OAuth 2.0 OpenID Connect 协议,运行 AXIS OS 11.6 或更高版本的 AXIS OS 设备可以集成到 IT 基础设施控制和集中的身份和访问管理 (IAM) 服务中,从而允许使用联合身份对 Axis 设备进行身份验证。这完全消除了本地设备用户管理的需要。OpenID Connect 是基于 OAuth 2.0 的标准化网络协议,用于身份验证和授权身份,可用于各种不同的身份提供商或 Active-Directory 联合系统 (ADFS) 解决方案,例如 Microsoft Active Directory、Microsoft Azure AD、Curity Identity Server 等。

    有关 OpenID Connect 认证解决方案的完整列表,请访问官方OpenID Connect页面。根据身份提供商的功能集,可以使用以下安全机制来进一步增强对 Axis 设备的安全身份认证:

    • 多重身份验证 (MFA)

    • 密码复杂性强制执行

    • 密码轮换

    • 限时认证

    • 集中身份(用户/服务帐户)管理

    在此视频中,操作员使用其公司凭证(包括多因素身份验证)登录 Axis 设备。

    好处

    • 本地 Axis 设备帐户(例如 root、用户创建的帐户)已被禁用。

    • HTTP(S) 摘要认证已禁用。

    • 无需本地 Axis 设备用户和密码管理配置或维护。

    • 通过避免本地设备用户帐户信息泄露来提高安全性。

    • Axis 设备无缝集成到 IT 基础设施支持的安全身份和访问管理 (IAM)。

    • 支持 HTTP(S) Web 界面访问和隧道视频流。

    • IT 强制执行 IAM 安全策略、可追溯性和安全审计日志。

    限制

    请注意,当 Axis 设备在 OpenID 连接模式下操作时,目前需要考虑一些限制/注意事项:

    • 连接到 Axis 设备的视频或设备管理系统也需要支持 OpenID Connect 才能与 Axis 设备交互。请联系您的第三方视频和设备管理系统供应商以获取更多信息。

    • 不支持通过 RTSP 服务器身份验证进行视频流传输。

    • 不支持通过 HTTP(S) 进行的其他身份验证方式。

    • 目前不支持 AXIS 设备管理解决方案 (ADM5、ADMX) 以及 AXIS Companion 和 AXIS Camera Station。

    • 不支持根据 OAuth 2.0 的访问令牌。

    功能概述

    • 经典访问模型

    • OpenID 连接

    身份认证服务器

    在本节中,您可以阅读有关将 Axis 设备连接到 Curity Identity Server 所需的配置步骤。请参阅Curity 网站以了解有关 Curity Identity Server 的更多信息。

    重要

    以下步骤说明了测试实验室环境中的基本集成和用例。Axis 强烈建议遵循提供商的集成指南,以最大限度地处理生产环境中的证书、令牌、用户凭证和整体网络安全。

    Curity Identity Server 设置

    1. 按照Curity 网站上的入门指南,您应该能够完成将 Axis 设备集成到 Curity Identity Server 的基本设置。请注意,您应该配置受信任的证书。请参阅 Curity Identity Server 文档,了解如何完成此操作。

    2. 导航到Token Service > Client并创建一个新客户端。输入客户端 ID 并记录下来。

    3. 添加新功能,选择“代码流自省”

    4. 定义重定向 URI。这应该是设备唯一的。

    5. 定义客户端机密并记录下来。

    6. 定义用户身份验证方法。在入门步骤中,我们创建了一个默认的用户名-密码页面,我们在本例中使用它。

    7. 添加范围并输入电子邮件openid个人资料

    8. 现在概览应如下所示:

    9. “安全”选项卡的“来源和验证”,请添加您的设备的主机名。

    10. 在菜单中的“更改”下,选择“提交”您的更改。

    11. AXIS装置参数
    12. 范围价值
      OIDC_AuthzAdminClaim来自 ProviderMetadataURL 的发行者属性的值。
      示例“issuer:https://curity_server/oauth/v2/oauth-anonymous”
      OIDC_AuthzOperatorClaim来自 ProviderMetadataURL 的发行者属性的值。
      示例“issuer:https://curity_server/oauth/v2/oauth-anonymous”
      OIDC_AuthzViewerClaim来自 ProviderMetadataURL 的发行者属性的值。
      示例“issuer:https://curity_server/oauth/v2/oauth-anonymous”
      OIDC_客户端ID在步骤2中获得的客户端ID 。
      OIDC_ClientSecret步骤 10 中获得的客户端机密
      OIDC_AUTH_ENABLED是的
      OIDC_OutgoingProxy在此示例中未使用,但如果您的设置需要,请在此处指定传出代理。
      OIDC_ProviderMetadataURLhttps://curity_server/oauth/v2/oauth-anonymous/.well-known/openid-configuration
      OIDC_RemoteUserClaim这是 Web 界面用来显示已登录用户的值。
      可能的值可以在 ProviderMetadataURL > claims_supported 中找到。示例“sub”
      OIDC_RequireClaim来自 ProviderMetadataURL 的发行者属性的值。
      示例““issuer:https://curity_server.com””
      OIDC_AuthzScopes附加 OIDC 范围的可选列表。

    谷歌云平台

    在本节中,您可以阅读有关使用 OpenID Connect 将 Axis 设备连接到 Google Cloud Platform 所需的配置步骤。如需进一步了解,请查看Google Identity 文档

    重要

    以下步骤说明了测试实验室环境中的基本集成和用例。Axis 强烈建议遵循提供商的集成指南,以最大限度地处理生产环境中的证书、令牌、用户凭证和整体网络安全。

    Google Cloud Platform 设置

    1. 在Google API 控制台中设置一个项目

      1. 单击选择项目并选择新项目


      2. 输入项目名称并点击创建


      3. 要设置 OAuth 2.0,请转到OAuth 同意屏幕页面并选择用户类型。


      4. 输入所需的详细信息。


      5. 添加范围:userinfo.emailuserinfo.profileopenid


      6. 将经过身份验证的用户添加到应用程序。


      7. 要获取 OAuth 2.0 凭证,请转到凭证页面

      8. 选择创建凭据 > OAuth 客户端 ID。


      9. 选择应用类型Web 应用,填写客户端名称,配置授权重定向 URI。注意此 FQDN 应以“/oidc/oauth2callback”结尾。


      10. 记录客户端 ID 和客户端机密以供进一步使用。

      11. AXIS装置参数
      范围价值
      OIDC_AuthzAdminClaimhttps://accounts.google.com
      OIDC_AuthzOperatorClaimhttps://accounts.google.com
      OIDC_AuthzViewerClaimhttps://accounts.google.com
      OIDC_客户端ID在步骤8中获得的客户端ID 。
      OIDC_ClientSecret步骤 8 中获得的客户端机密。
      OIDC_AUTH_ENABLED是的
      OIDC_OutgoingProxy在此示例中未使用,但如果您的设置需要,请在此处指定传出代理。
      OIDC_ProviderMetadataURLhttps://accounts.google.com/.well-known/openid-configuration
      OIDC_RemoteUserClaim这是 Web 界面用来显示已登录用户的值。
      可能的值可以在 ProviderMetadataURL > claims_supported 中找到。示例“sub”
      OIDC_RequireClaim来自 ProviderMetadataURL 的发行者属性的值。
      示例“ iss:https://accounts.google.com
      OIDC_AuthzScopes附加 OIDC 范围的可选列表。

      Microsoft 身份平台 (Azure)

      在本节中,您可以阅读有关使用 OpenID Connect 将 Axis 设备连接到 Microsoft Identity Platform 所需的配置步骤。 如需进一步了解,请查看Microsoft Identity Platform 文档

      重要

      以下步骤说明了测试实验室环境中的基本集成和用例。Axis 强烈建议遵循提供商的集成指南,以最大限度地处理生产环境中的证书、令牌、用户凭证和整体网络安全。

      Microsoft Identity Platform 设置

      1. 在Microsoft Azure Active Directory 控制台中设置应用程序

      2. 转到应用程序注册页面并选择新注册

      3. 填写显示名称并配置授权重定向 URI。请注意,此 FQDN 应以“/oidc/oauth2callback”结尾。
        记录应用程序(客户端)ID。

      4. 要获取客户端密钥,请转到“证书和密钥”页面并选择“新客户端密钥”

      5. 填写描述和到期日期,然后单击“添加”。记录客户端机密。

      6. 转到概述页面并选择端点并记录显示的端点。

      AXIS装置参数

      范围价值
      OIDC_AuthzAdminClaim来自 ProviderMetadataURL 的发行者属性的值。
      示例“iss:https://login.microsoftonline.com/78703d3c-b907-432f-b066-88f7af9ca3af/v2.0
      OIDC_AuthzOperatorClaim来自 ProviderMetadataURL 的发行者属性的值。
      示例“iss:https://login.microsoftonline.com/78703d3c-b907-432f-b066-88f7af9ca3af/v2.0
      OIDC_AuthzViewerClaim来自 ProviderMetadataURL 的发行者属性的值。
      示例“iss:https://login.microsoftonline.com/78703d3c-b907-432f-b066-88f7af9ca3af/v2.0
      OIDC_客户端ID在步骤 3 中获得的客户端 ID 。
      OIDC_ClientSecret在步骤5中获得的客户端机密。
      OIDC_AUTH_ENABLED是的
      OIDC_OutgoingProxy在此示例中未使用,但如果您的设置需要,请在此处指定传出代理。
      OIDC_ProviderMetadataURL在步骤 3 中获得的OpenID Connect 元数据文档。
      OIDC_RemoteUserClaim这是 Web 界面用来显示已登录用户的值。
      可能的值可以在 ProviderMetadataURL > claims_supported 中找到。示例“sub”
      OIDC_RequireClaim来自 ProviderMetadataURL 的颁发者属性的值。
      示例“ iss: https://login.microsoftonline.com/78703d3c-b907-432f-b066-88f7af9ca3af/v2.0
      OIDC_AuthzScopes附加 OIDC 范围的可选列表。

      Microsoft Windows AD FS

      在本节中,您可以阅读有关使用 OpenID Connect 将 Axis 设备连接到 Microsoft Windows Active Directory 联合身份验证服务 (AD FS) 所需的配置步骤。 如需进一步了解,请查看Windows AD FS 文档

      重要

      以下步骤说明了测试实验室环境中的基本集成和用例。Axis 强烈建议遵循提供商的集成指南,以最大限度地处理生产环境中的证书、令牌、用户凭证和整体网络安全。

      Windows AD FS 设置

      1. 按照此处所述安装 Windows AD FS 角色

      2. 按照此处所述配置 Windows AD FS 角色

      3. 按照此处描述的步骤验证 Windows AD FS 是否正常工作

      4. 从 Windows AD FS 管理控制台添加新的应用程序组。使用 服务器应用程序 模板。

      5. 输入 名称客户端标识符重定向 URI。记录客户端标识符。请注意,重定向 URI 是 Axis 设备的 FQDN,它应以“/oidc/oauth2callback”结尾。单击下一步

      6. 选择 生成共享密钥。记录共享密钥。单击下一步

      7. 完成向导的其余部分。

      AXIS装置参数

      范围

      价值

      OIDC_AuthzAdminClaim

      来自 ProviderMetadataURL 的颁发者属性的值。示例“iss:https://ADFS_server/adfs/”

      OIDC_AuthzOperatorClaim

      来自 ProviderMetadataURL 的颁发者属性的值。示例“iss:https://ADFS_server/adfs/”

      OIDC_AuthzViewerClaim

      来自 ProviderMetadataURL 的颁发者属性的值。示例“iss:https://ADFS_server/adfs/”

      OIDC_客户端ID

      在步骤5中获得的客户端ID。

      OIDC_ClientSecret

      在步骤 6 中获得的客户端机密。

      OIDC_AUTH_ENABLED

      是的

      OIDC_OutgoingProxy

      在此示例中未使用,但如果您的设置需要,请在此处指定传出代理。

      OIDC_ProviderMetadataURL

      https://ADFS_server/adfs/.well-known/openid-configuration

      OIDC_RemoteUserClaim

      这是 Web 界面用来显示已登录用户的值。可能的值可以在 ProviderMetadataURL > claims_supported 中找到。例如“sub”或“unique_name”。

      OIDC_RequireClaim

      来自 ProviderMetadataURL 的颁发者属性的值。示例“iss:https://ADFS_server/adfs/”

      OIDC_AuthzScopes

      附加 OIDC 范围的可选列表。

      AXIS设备配置

      重要

      错误的参数配置可能会导致设备无法访问,因为其他登录方法(HTTP/HTTPS basic/digest)被禁用。对于初始配置,建议启用 SSH 访问以允许访问 Axis 设备并能够恢复配置。请联系 Axis 技术支持以获得进一步的帮助。

      用户角色

      使用 OIDC 时,Axis 设备知道 3 种不同的角色。

      • 行政人员

      • 操作员(具有 PTZ 权限)

      • 查看者(无 PTZ 权限)

      上述身份提供者设置示例为所有用户提供了管理员角色。为了说明具有不同用户角色的设置,我们在 Active Directory 中创建了以下安全组,每个组包含不同的用户。

      Active Directory 组名称小组成员
      Axis-Lund-admin用户1
      AXIS隆德算子用户2
      AXIS隆德查看器用户3

      根据身份提供者,应创建自定义声明。以下示例已配置声明“组”。

      为了将 Active Directory 组分配给 Axis 用户角色,现在应该在 Axis 设备参数配置期间使用以下值。

      范围价值
      OIDC_AuthzAdminClaim群组:Axis-Lund-admin
      OIDC_AuthzOperatorClaim群组:Axis-Lund-admin
      OIDC_AuthzViewerClaim群组:Axis-Lund-viewer

      这将导致分配以下用户角色。

      用户角色
      用户1行政人员
      用户2具有 PTZ 权限的操作员
      用户3具有 PTZ 权限的查看者

      使用 GUI 进行配置

      使用 AXIS OS 11.7 或更高版本,可以在 Web 界面中配置 OpenID。

      API 参数Web 界面
      OIDC_AuthzAdminClaim管理员声明
      OIDC_AuthzOperatorClaim运营商索赔
      OIDC_AuthzViewerClaim观看者声明
      OIDC_AuthzScopes作用域
      OIDC_客户端ID客户端 ID
      OIDC_ClientSecret客户端机密Client secret
      OIDC_AUTH_ENABLED启用 OpenID
      OIDC_OutgoingProxy传出代理
      OIDC_ProviderMetadataURL提供商 URL
      OIDC_RemoteUserClaim远程用户
      OIDC_RequireClaim需要申领

      使用 API 进行配置
      虽然上面的示例显示了使用内置 Web 界面的配置,但也可以使用可用的 VAPIX API 在 Axis 设备上配置所需的 OpenID Connect 参数。使用AXIS 设备管理器,可以将所需的设置一次推送到多个设备。

      使用 OpenID Connect 登录 Axis 设备

      1. 浏览至 Axis 设备的 https://<hostname>/。例如 https://p1375.

      2. 设备现在应重定向到身份提供者的配置重定向 URL。此示例显示 Azure 应用程序的重定向页面。

      3. 向身份提供者提供用户身份后,您将被重定向回 Axis 设备界面。

      SFTP(SSH 文件传输协议)

      Axis 设备能够使用 SFTP(SSH 文件传输协议)协议将图像和视频发送到远程服务器。SFTP 使用安全加密的 SSH 协议通过 FTP 传输数据。请勿将其与 FTPS(基于 SSL 的 FTP)混淆,后者是另一种安全传输数据的方法,但 Axis 设备不支持。

      第三方 SFTP 服务器

      根据环境和所选的第三方 SFTP 服务器,配置可能会有所不同。在本教程中,我们将了解 Linux 操作系统中常用的 OpenSSH 服务器。

      重要

      以下步骤说明了测试实验室环境中的基本集成和用例。Axis 强烈建议遵循提供商的集成指南,以最大限度地处理生产环境中的证书、令牌、用户凭证和整体网络安全。

      OpenSSH 服务器配置
      Axis 设备的 SFTP 实现基于开源软件组件 Curl。在Curl 支持的众多身份验证方法中,Axis 设备目前仅支持所谓的CURLSSH_AUTH_PASSWORD。因此,您需要确保所使用的 SFTP 服务器也支持此方法。

      本指南可用作安装 OpenSSH 的参考,然后允许 Axis 设备使用 SFTP 传输数据。安装 OpenSSH 服务器后,应该可以测试连接是否正常,例如通过使用Putty(SSH 客户端)。输入服务器 IP 地址以及 Linux 操作系统的登录凭据进行连接。

      SFTP 使用公钥身份验证来实现安全的数据传输,这就是为什么建议为此目的创建专用密钥对的原因。在 AXIS OS 中,支持带有 RSA、DSA、ECDSA 和 ED25519 主机密钥的 SSH-2。AXIS OS 11.1 或更高版本包含一个新的 OpenSSH 版本,它删除了使用 RSA 密钥的弃用身份验证方法。我们建议改用 SFTP 服务器的 ECDSA 或 ED25519 主机密钥。通过使用以下命令,可以在 OpenSSH 服务器中创建私钥/公钥主机密钥对。私钥由 OpenSSH 服务器专用,而公钥将由 Axis 设备以从公钥生成的散列 MD5 或 SHA-256 密钥的形式使用。

      命令描述
      sudo ssh-keygen -t dsa创建私钥/公钥 DSA 主机密钥对
      sudo ssh-keygen -t rsa创建私钥/公钥 RSA 主机密钥对
      sudo ssh-keygen -t ed25519创建私钥/公钥 ed25519 主机密钥对
      sudo ssh-keygen -t ecdsa创建私钥/公钥 ecdsa 主机密钥对

      创建私钥/公钥对后,我们可以使用以下命令生成 Axis 设备中 SFTP 收件人配置中需要使用的 MD5 和/或 SHA-256 哈希密钥(请参阅Axis 设备配置)。请注意,可以从上面生成的任一公共主机密钥创建 MD5 和/或 SHA-256 哈希密钥。在下面的示例中,我们从不同的公共主机密钥生成 MD5 或 SHA-256 哈希密钥。

      命令示例输出描述
      sudo ssh-keygen -l -E md5 -f ssh_host_rsa_key.pubb800c8958b8679a7bd66c13669051466根据 RSA 公钥生成 MD5 哈希值
      sudo ssh-keygen -l -E sha256 -f ssh_host_rsa_key.pubgUYVTq8MVXMaf/TPoJS+/5M9iPt+tGDciHPIp0HvUuA从 RSA 公钥生成 SHA-256 哈希
      sudo ssh-keygen -l -E sha256 -f ssh_host_ecdsa_keyxSUNCp2sUM0fvUEJFDq7PWtRoBQej/t5NgwS7NMLI2k从 ECDSA 公钥生成 SHA-256 哈希
      sudo ssh-keygen -l -E sha256 -f ssh_host_ed25519_key21NFP8emqsMLejiG3Nxco2D64lZhdMiseDmpXiSaTj0从 ED25519 公钥生成 SHA-256 哈希

      虽然 Axis 设备同时支持 MD5 和 SHA-256 哈希密钥,但建议使用 SHA-256,因为它比 MD5 更安全。

      AXIS设备配置

      创建新的 SFTP 收件人时,请确保输入 SFTP 服务器使用的主机密钥的正确 MD5 或 SHA256 指纹。根据我们之前创建的公钥/私钥以及我们从公钥主机密钥生成的 MD5 或 SHA-256 哈希密钥(请参阅第三方 SFTP 服务器),Axis 设备中的 SFTP 收件人将如下所示:

      创建 SFTP 收件人后,可以创建图像和/或视频剪辑传输的操作规则。

      IPv4 兼容模式

      自古以来,如果网络上没有可用的 DHCP 服务器,Axis 设备的默认 IP 地址就是 192.168.0.90。默认情况下,链路本地地址 (169.254.0.0/16) 也始终处于启用状态。换句话说,摄像机的接口同时配置了一个可路由地址和一个 IPv4 链路本地地址。然而,RFC 文档并不建议这样做。

      其次,如果 Axis 设备配置了静态 IPv4 地址,则无论同一网段上是否有人使用该地址,Axis 设备都会使用该地址。但这会导致其他设备的服务中断。

      出于上述原因,我们决定对 IPv4 寻址进行更改:

      • 完全符合 RFC IPv4 标准

      • 不使用时禁用链路本地地址

      • 当多个出厂默认的 Axis 设备同时放置在同一个网络上时,我们的客户可以获得更好的用户体验

      • 地址冲突检测和解决

      对于 AXIS OS 11.7 及更高版本,我们添加:

      1. 如果静态地址存在地址冲突或者网络上没有有效的 DHCP 提供,则会触发新的“自动链接本地模式”。

      2. 静态地址的地址冲突检测。如果检测到冲突,Axis 设备将不会使用其他设备使用的任何 IP 地址。它将恢复为链路本地地址(在自动链路本地模式下)。

      这些变化对你来说意味着什么?

      1. 如果您的网络中有一个 DHCPv4 服务器,则出厂默认的 Axis 设备将接受来自 DHCP 服务器的请求。Axis 设备将只配置一个 IPv4 地址,并且链路本地地址将不可用。

      2. 如果您的网络中没有 DHCPv4 服务器,则出厂默认的 Axis 设备将不再使用 192.168.0.90/24 作为默认 IP 地址。相反,将配置链路本地地址 (169.254.0.0./16)。

      3. 如果您手动为多个 Axis 设备配置了静态 IP 地址。但是,多个设备上的一个 IP 地址配置错误。当您将这些设备连接到网络时,只有第一个设备会使用该特定 IP 地址。第二个及后续设备将恢复为链路本地地址。

      4. 如果 Axis 设备使用静态 IP 地址运行,则稍后将有另一台具有相同 IP 地址的设备连接到网络。根据 RFC 建议,Axis 设备将保护当前 IP 地址并在任何情况下保留该 IP 地址。

      默认情况下,当网络中没有可用的 DHCP 服务器时,摄像机将回退到本地链路地址。为了使转换更加顺畅,我们添加了一个设置(系统 > 网络 > IPv4),允许客户在 DHCPv4 不可用时选择回退到静态 IP 地址或本地链路地址。

      • ON。当 DHCP 获取租约失败时,将配置静态地址。

      • OFF。当 DHCP 无法获取租约时,将配置链路本地地址。

      如果 Axis 设备回退到链路本地地址,如何找到这些设备?

      找到计算机上连接到 Axis 设备所在 LAN 的网络接口卡。PC 的网络接口卡也应配置链路本地地址。要配置链路本地地址,请按照以下三个选项之一的步骤操作。

      • 选项 1:当 DHCP 服务器不可用时自动分配链路本地地址

        1. 右键单击网络接口,选择“属性”,选择“Internet 协议版本 4 (TCP/IPv4)”,然后单击“属性”

        2. 选择自动获取IP地址,然后单击确定

        3. Windows PC 将自动为网络接口卡分配一个链路本地地址。

        4. 现在,IP 实用程序可以发现回退到链路本地地址的设备。

      • 选项 2:当 DHCP 服务器不可用时,手动分配链路本地地址

        1. 右键单击网络接口,选择“属性”,选择“Internet 协议版本 4 (TCP/IPv4)”,然后单击“属性”

        2. 手动分配链路本地地址。您可以使用 169.254.0.0/16 范围内的任何未使用的 IP 地址,但 169.254.0.0 和 169.254.255.255 除外。

        3. 现在,IP 实用程序可以发现回退到链路本地地址的设备。

      • 选项 3:配置可路由地址时,将链路本地地址添加到网络接口卡

        1. 右键单击网络接口,选择“属性”,选择“Internet 协议版本 4 (TCP/IPv4)”,然后单击“属性”

        2. 网络接口卡已配置 IP 地址 192.168.0.120/24。单击“高级”以添加其他链路本地地址。

        3. 单击IP 地址下的添加以添加链路本地地址。您可以使用 169.254.0.0/16 范围内的任何未使用的 IP 地址,但 169.254.0.0 和 169.254.255.255 除外。

        4. 网络接口卡现在应该配置两个 IP 地址。

        5. 现在,IP 实用程序可以发现回退到链路本地地址的设备。

      此新的 IPv4 兼容模式何时默认启用以及如何测试它?

      在 AXIS OS 11.7 及更高版本中,已实现新的 IPv4 兼容模式,但出厂默认状态下该模式处于禁用状态。当前计划在 AXIS OS 12.0 中默认启用该模式,该版本将于 2024 年 9 月发布。

      要尝试 IPv4 兼容模式,可以通过更改以下参数来启用它:

      步骤1

      进入系统---网络,取消选中“如果 DHCP 不可用,则恢复到静态 IP 地址”并保存。

      第2步

      进入系统—普通配置—网络—网络/ZeroConf,勾选“Fallback”并保存。

      O3C(一键云连接)

      O3C(一键云连接)是一种协议,允许 Axis 设备通过安全连接连接到云视频管理系统,例如 Genetec Stratocast。为了连接 Axis 设备,需要所谓的 OAK(所有者身份验证密钥)。请参阅以下有关如何查找 OAK 的说明。

      每台 Axis 设备都会附有一张印有 OAK 的纸。如前所述,当您使用基于 O3C 的服务注册设备时,您需要 OAK 来验证所有权。请将此文档保存在安全的地方 - 这是一份不应丢弃或泄露给第三方的证书。如果您丢失了 OAK,您可以通过以管理员用户身份登录设备来检索它。根据设备的 AXIS OS 版本,请按照以下任一方法操作。

      注意

      这要求设备运行 AXIS OS 5.51.7、6.50.5.2、8.40.4、9.80.2、10.0.0 或更高版本。如果您的设备运行的是较低版本,请升级。Axis 无法协助您检索 OAK。对于外部检索,需要有到“oakcgi.o3c.”的传出 HTTPS(TCP 端口 443)连接。

      AXIS OS 5.51 和 LTS 216(AXIS OS 6.50)
      转至设置 > 选项 > 支持 > 系统概述

      LTS 2018(AXIS OS 8.40)和 LTS 2020(AXIS OS 9.80)
      转到系统 > AVHS,然后单击获取密钥

      AXIS OS 10.0 或更高版本
      转到系统>O3C并单击获取密钥

      AXIS OS 10.9 或更高版本
      转到系统 > 网络并单击获取密钥。请注意,这适用于支持 AXIS OS 10.9 中引入的新 Web 界面的设备。对于尚不支持新 Web 界面的产品,请按照上述AXIS OS 10.0的说明进行操作

      Web 界面

      浏览器支持

      AXIS OS 7.10 及更高版本
      AXIS OS 7.10 或更高版本的视频产品包括新的 Web 界面,该界面具有整体改进和简化的图形用户界面,专注于摄像机安装、配置和故障排除。 Web 界面针对 Chrome™ 和 Firefox® 浏览器进行了测试和优化。 它与平台无关,可与 Windows®(版本 7 至 10)以及 Linux® 和 OS X® 配合使用。 如果您使用其他浏览器,可能会遇到功能和支持方面的限制。 您可以 在此处找到有关 Axis 产品的最新 AXIS OS 版本的更多信息。

      您可以将设备与以下浏览器一起使用:

      ChromeTM

      Firefox®

      EdgeTM

      Safari®

      Windows®

      推荐

      推荐

      macOS ®

      推荐

      推荐

      Linux ®

      推荐

      推荐

      其他操作系统

      ✓*

      *要在 iOS 15 或 iPadOS 15 中使用 AXIS OS Web 界面,请前往“设置”>“Safari”>“高级”>“实验功能”,然后禁用NSURLSession Websocket

      要了解有关如何使用该设备的更多信息,请参阅上提供的用户手册。

      如果您需要有关推荐浏览器的更多信息,请访问AXIS OS 门户

      • 强调
      • 推荐浏览器:最新 Chrome 和 Firefox

      • 支持的浏览器:最新的 Chrome、Firefox、Edge 和 Safari

      • 与最新的 Linux、OS X 和 Windows 7 至 Windows 10 平台无关

      • 支持平板电脑和移动设备

      • 12 种预装语言和自动语言检测

      • 已知限制
      • Edge:流式传输 H.264 时视频延迟 1 秒

      • Safari、Chrome、Firefox:不支持 Apple 移动 (iOS) 设备中的 H.264 视频流

      • 音频:不支持通过浏览器(即通过电脑麦克风)向摄像机发送音频

      • 视频:某些浏览器插件可能会导致直播出现问题。如果视频无法正常播放,请尝试卸载插件。

      • 视频:目前任何浏览器都不支持 H.265 视频流

      视频流
      AXIS Media Control 不再需要视频流 H.264 或 RTSP。在 Web 界面中显示 H.264 和 RTSP 视频流(例如实时视图或设置分析时)需要浏览器能够通过 WebSockets 连接。通过 WebSockets 支持 RTSP 视频流需要更新浏览器,并且网络和代理设置配置为允许 WebSockets。

      观看体验取决于计算机、浏览器及其编码功能的性能。如果视频流滞后,Web 界面会通知用户,或者在视频流滞后严重的情况下自动重新启动视频流。如果用户遇到持续滞后,他们应该通过逐步降低视频流的分辨率来适应计算机的性能。当观看分辨率高于 1080 像素的视频流时,他们应该使用具有强大 CPU 和显卡的计算机。*

      *使用以下配置进行测试和验证:Windows® 10 或 Linux 上的 Google Chrome™(最新版本)、带有 NVIDIA® GeForce® GTX™ 950 或 Intel™ HD Graphics 4600 的 Intel® Core™ i7-4770 处理器 3.40 Ghz。

      注意

      在某些 Linux 系统上,使用 MJPEG 时网页可能会闪烁。可通过关闭浏览器中的硬件加速来解决此问题。

      AXIS OS 6.5X 或更低版本AXIS OS 6.5X 或更低版本的视频产品针对最新版本的 Internet Explorer*、Windows 和 AXIS Media Control (AMC) 进行了测试和优化。虽然您可以使用其他浏览器、版本和操作系统,但您可能会遇到功能和支持方面的限制。您可以在此处
      找到有关 Axis 产品的最新 AXIS OS 版本的更多信息

      • 强调
      • 推荐浏览器:带有 AXIS Media Control 的 Internet Explorer*

      • 建议用于Windows操作系统

      • 已知限制
      • QuickTime 播放器在播放流媒体时会出现 3 秒的视频延迟

      • 基于 Java 小程序的客户端仅支持单向音频,音频质量和帧速率可能会降低

      • 使用AXIS OS 5.50或更低版本及IE10的视频产品时,建议使用兼容模式

      视频流
      AXIS Media Control 和 Internet Explorer* 是 HTTP/RTSP/RTP 上 H.264 视频流所必需的。Chrome、Firefox 和 Safari 支持 MJPEG 视频流。

      * 了解有关 Edge 中 Internet Explorer 模式的Internet Explorer 限制的更多信息。

      Edge 中的 Internet Explorer 模式

      以前,Internet Explorer 用于通过 AXIS Media Control 查看 H.264 并配置旧式嵌入式视频运动检测。由于 Internet Explorer 已过时且不受支持,因此如果设置为Internet Explorer 模式,则可以使用 Microsoft Edge 来代替它。只需按照以下步骤操作即可。

      注意

      如果使用 Windows 11 并且出现错误消息“找不到 Internet Explorer。您需要重新安装或重新启用 Internet Explorer”,请首先按照本指南中的步骤操作。

      • 前往“设置”>“默认浏览器”

      • 将“允许在 Internet Explorer 模式下重新加载网站”设置为“允许”。

      • 单击Internet Explorer 模式页面旁边的“添加” ,然后输入 Axis 设备的 IP 地址。

      完成后,Edge 将在该特定设备上以与 Internet Explorer 相同的方式工作。

      配置提示

      如何在操作规则中使用 HTTP POST 通知

      如何使用事件规则操作发布 MQTT 消息

      如何添加 MQTT 订阅

      如何设置 SD 卡磨损程度

      自动回滚验证

      如何添加多边形隐私遮罩

      如何设置隐私遮罩属性

      如何执行回滚

      如何启用 Opus 音频编解码器

      如何显示直播流统计数据

      密码安全确认检查

      如何启用 SD 卡加密

      Web 用户界面版本

      在讨论各种功能和问题时,有时需要明确使用哪个版本的 Web 用户界面。多年来,Axis 设备拥有多种不同的用户界面。

      1996 年,Axis 发布了第一款网络摄像机 AXIS Neteye 200。以今天的标准来看,其Web 界面可能显得相当简陋,但当时却与万维网上的其他一切相差无几。(值得注意的是,NCSA Mosaic 是首批广泛使用且流行的网络浏览器之一,仅在三年前发布,因此 Axis 很早就进入了这一领域。)

      AXIS 200

      仅仅几年后,Axis 就发布了他们的第一款编码器,也就是当时所谓的“视频服务器”;Axis 2400/2401。这些产品中的 Web 界面以图形方式表示所连接的内容。还可以直接从此 Web 界面控制所连接摄像机上的 Pan-Tilt-Zoom。

      AXIS 2400

      1999 年,Axis 发布了第一款基于 Linux 的网络摄像机 AXIS 2100。同时,它再次采用了全新的Web 界面。与 AXIS 2400/2410 中针对保守监控市场的灰色界面不同,该界面针对年轻的网络一代,因此更加明亮和耀眼。

      AXIS 2100

      编码器和摄像机的两个独立 Web 界面并存了几年,但到了 2003 年,是时候引入一个同时适用于摄像机和编码器的 Web 界面了。这个界面版本一直存在到 2016 年(以不同的迭代方式),并且成为了我们有时称之为“经典”的版本。我们将继续将其称为“AXIS OS Web 版本 A(经典)”。

      AXIS OS 网络版本 A(经典版)

      AXIS OS Web 版本 A(Classic)的第一个版本在 AXIS OS 4.0 中推出,但现在仅在 LTS 2016(6.50)中受支持。随着 AXIS OS 7.10 的推出,此版本不再是默认界面,但它仍然可以通过 URL http://camera-ip/index.shtml获得,直到 AXIS OS 9.20,之后它被完全删除。

      虽然 AXIS OS 网络版本 A(经典版)持续了 13 年,但万维网的其余部分仍在继续发展。2017 年,终于到了推出 AXIS OS 网络版本 B 的时候了。

      AXIS OS 网络版本 B

      AXIS OS Web 版本 B 的外观比之前的版本更加现代,并且支持更广泛的浏览器(包括对 H.264 流媒体的原生支持)。这里的对焦是视频流,一个关键功能是可以在微调图像设置的同时实际查看视频。

      该接口在 Axis OS 7.10 中正式推出,但已可以在 AXIS OS 6.50 中通过 URL http://camera-ip/index.html查看预览版本。LTS 2018 (8.40) 和 LTS 2020 (9.80) 都使用此接口。请注意,它仅适用于视频产品。

      Axis 产品组合一直在不断增长,现在不仅包括视频产品,还包括更多产品类型。由于 AXIS OS Web 版本 B 仅支持视频产品,因此创建一个适用于所有类型产品的用户界面很快就变得非常重要。因此,在 2020 年,AXIS OS Web 版本 C 推出。

      AXIS OS 网络版本 C

      AXIS S3008 录像机是第一款正式获得 AXIS OS 网络版本 C 的产品,该版本随 AXIS OS 10.0.0 一起推出。

      大多数视频产品必须等待一段时间才能正式获得 AXIS OS 网络版本 C,但在部分产品(ARTPEC-7)的 10.0 版本中可以通过http://camera-ip/preview/index.html访问。

      API

      维普

      VAPIX® 网络视频 API 是一组用于配置和管理 Axis 网络视频产品的应用程序编程接口 (API)。更多信息请参见此处

      用于配置 AXIS OS 设备的新 API

      AXIS 发布了用于 AXIS OS 配置的新 API。这些 API 是在 AXIS OS 11.11 中引入的,并且将持续添加更多设备配置 API。请在此处查看 AXIS OS 演示视频。

      输入以下命令即可在设备上查看可用的 API:http://IP-adress/config/discover

      VAPIX 库中的 API 文档将会延迟发布,但可以在设备本身上找到。要查看设备上的 API 文档,请输入:http://IP-adress /config/web-ui/cu-doc.html?md-doc-loc=/config/discover/apis/best-snapshot/v1/doc.md

      现在您可以获得来自设备的响应:

      还可以通过 Swagger GUI 测试 API。为此,请转到所选 API 的 Swagger URL,例如/config/web-ui/swagger-ui/?url=/config/discover/apis/best-snapshot/v1/openapi.json

      点击“试用”按钮并填写值。然后点击“执行”按钮。

      现在您可以获得来自设备的响应:

      现在您可以复制代码并将其放置到您的应用程序中。

      边缘存储和记录

      边缘存储支持

      SD 卡支持

      以下是 SD 卡支持的文件系统和加密。

      • 支持的文件系统:ext4(推荐)、vFAT

      • 支持的文件系统大小:

        • 对于支持 SDXC 插槽且运行 AXIS OS 5.60 及更高版本的设备,最高可达 2 TB

        • 对于支持 SDXC 插槽且 AXIS OS 版本低于 5.60 的设备,最高可达 64 GB

      • 支持的速度等级:10 级或更高

      • 支持的加密:

        • 所有搭载 AXIS OS 5.80.1 及更高版本的设备均支持 AES-CBC 128 位

        • 所有搭载 AXIS OS 8.40.1 及更高版本的设备均支持 AES-CBC 256 位

        • AES-XTS-Plain64(AES-XTS-512 256 位)适用于搭载 AXIS OS 8.30.1 的较新设备

      网络共享支持

      以下是支持的存储网络协议和外部存储介质的身份验证模式。

      • 支持的协议:

        • 适用于 AXIS OS 5.90 及更低版本的设备的 CIFS/SMB 1.0 + NTLM 身份验证模式

        • 适用于搭载 AXIS OS 6.10 及更高版本的设备的 CIFS/SMB 1.0、2.0、2.1、3.0 和 3.02 + NTLM 身份验证模式

        • CIFS/SMB 3.1.1 + NTLM 身份验证模式,带有 AXIS OS 10.12 或更高版本以及 Linux Kernel 4.17 或更高版本。

      • 支持的文件系统大小:AXIS OS 5.70 及更高版本为 8 ZB,AXIS OS 5.65 及更低版本为 2 TB

      基本

      视频保留

      AXIS OS 6.40 及更高版本
      有两种用于删除旧录制的磁盘清理操作;一种是用户可控制的,一种是由 Axis 设备自动执行的。

      第一个操作是删除超过特定天数的录制。用户可以在 Web 界面的存储配置中配置此功能。例如,当用户选择一周(即 7 天)时,清理操作将删除所有超过 7 天的录制。需要注意的是,此操作每小时运行一次(即每 60 分钟)。

      第二个操作是自动清理,它始终处于启用状态,用户无法禁用。此操作每秒运行一次,并检查网络共享或 SD 卡是否有足够的空间进行录制。清理级别定义为可用空间量。对于本地连接的存储(如 SD 卡),清理级别定义为 SD 卡总大小的 5%,除非这 5% 小于 750 MB。在这种情况下,750 MB 将是清理级别。对于网络共享,当最多剩余 750 MB 时,清理级别是固定的。因此,对于 64 GB 的 SD 卡,清理级别为 3.2 GB,而对于 8 TB 的 NAS,清理级别为 750 MB。

      如果磁盘上的可用空间小于清理级别中定义的空间,自动清理操作将检测到这种情况并根据所需空间删除最旧的记录(实际上是块)。请注意,至少将删除 1 GB,以使可用空间大小高于清理级别。例如,如果可用空间比清理级别低 50 MB,则该操作将删除至少 1 GB,从而使清理级别上方有 950 MB 可用空间。

      如果磁盘已满,即如果清理操作未能及时成功删除数据,则将定义另一个 75 MB 可用空间级别。这称为满级别。如果达到满级别,则声明磁盘已满,并且应停止录制。同时,清理操作将继续,直到可用空间高于清理级别。一旦有空间高于清理级别,将重新开始录制。

      AXIS OS 5.50 – AXIS 6.30
      除了可以在 AXIS OS 5.40 及更低版本中执行的配置外,当可用存储空间少于 750 MB 时,将开始清理旧记录。这是为防止超出网络共享或 SD 卡存储空间而实施的附加算法。

      AXIS OS 5.40 及更低版本
      在 AXIS OS 5.40 及更低版本中,有两个用户控制的清理参数,用于定义 Axis 设备应何时执行存储清理。第一个参数用于配置覆盖记录的天数,第二个参数是百分比形式的清理策略。如果满足这些参数中的一个或两个条件,则会删除旧记录。

      建议将AXIS OS 5.20 的清理策略设置为80 ,将 AXIS OS 5.40 的清理策略设置为90。例如,清理值为 90 表示可用存储空间为 72%,当连接到 100 GB 的网络共享时,Axis 设备将拥有 72 GB 的可写录制空间。清理级别可以从Plain Config > Storage进行配置。

      录制文件分割时长

      出于性能原因以及对边缘存储介质的最佳读写周期,视频以五分钟为单位进行录制。这在 DefaultSplitDuration =“300”中定义,其中“300”表示 300 秒,相当于五分钟。请注意,不建议更改该值,因为这可能会影响内存缓冲区。它还会影响性能,因为分割持续时间太短可能会导致文件数量过多。如果更改该值,请确保对其进行相应的测试。在 AXIS Companion 中,可以下载合并为一个asf格式文件的一段视频,这是解决此问题的推荐方法。从 AXIS OS 5.60 开始,视频导出功能得到了改进,因此可以将多个 5 分钟片段的录制内容导出为一个录制内容。

      ONVIF 和 VAPIX 录制

      ONVIF 和 VAPIX 录制完全分开。例如,通过 Web 界面或 VAPIX API 通过 VAPIX 创建的录制对于 ONVIF 客户端不可见或不可用。反过来,ONVIF 录制对于用户不可见或不可用,并且不会显示在 Web 界面的录制部分中。ONVIF 客户端必须单独通过 ONVIF API 创建录制才能使用录制。

      元数据事件

      可以通过 RTSP 流监听与存储相关的元数据事件。基本上有两个事件可用,均表示 SD 卡或网络共享的存储连接失败。这两个事件称为:

      • 设备/硬件故障/存储故障

      • 存储/中断

      例如,如果由于 NAS 不再在网络中可用而导致网络共享断开连接,则两个事件都将处于活动状态。

      边缘存储文件夹结构

      在 Axis 设备上执行边缘记录时,将使用以下文件夹结构*。此文件夹结构无法修改。

      示例记录路径:* \ axis-ACCC8E9C6BE7 \ 20211214 \ 11 \ 20211214_110037_AAF2_ACCC8E9C6BE7 \ 20211214_11

      网络共享SD卡例子格式包含

      AXIS-ACCC8E9C6BE7AXIS-ZZZZZZZZZZZZAxis 设备序列号

      20211214年月日日期**

      11赫赫小时**

      20211214_110037_AAF2_ACCC8E9C6BE7YYYYMMDD_HHMMSS_XXXX_ZZZZZZZZZZZZ日期和时间**、随机标识符、Axis 设备序列号

      20211214_11YYYYMMDD_HH日期和时间**

      * “发送视频”和“发送图像”事件选项可能会根据配置的收件人使用不同的文件夹结构。
      ** 日期和时间参考以 Axis 设备的本地时间为准,指的是创建录制的日期和时间。

      边缘录制密码加密导出

      从 AXIS OS 10.10 开始,Axis 设备支持密码加密导出边缘记录(SD 卡、网络共享)。这意味着可以导出密码加密的记录,从而增加了安全共享敏感视频数据的可能性,而无需手动加密导出的记录。

      密码加密录制

      • 支持的文件格式:*.zip

      • 支持的密码长度:最大 128 字节(128 个字符)。在旧版 Web 界面中,最大长度为 64 个字符。

      • 支持的加密:AES-256。请注意,某些操作系统本身不支持此加密。在这种情况下,可以使用 7-zip 等开源工具打开密码加密的录制。

      导出文件名
      常规录制导出的文件名可能包含敏感信息,例如日期和时间或摄像机名称。在对录制进行密码加密导出时,请将文件名字段留空,这样下载的 *.zip 文件的文件名和内容名称都将匿名化。

      常规录制导出示例20220321_112001_3969_ACCC8ED9C85F.zip
      密码加密导出的示例FBHY6A.zip

      SD卡

      禁用 SD 卡

      SD 卡及其插槽可以完全禁用。这可以通过Plain Config > Storage > Storage.S0.Disabled完成。当 SD 卡插槽被禁用时,Axis 设备将无法识别插入的任何 SD 卡。

      SD 卡健康监控

      从 AXIS OS 6.20 开始,Axis 设备支持 AXIS 监控卡的健康统计。这意味着可以估算正在使用的 SD 卡的磨损程度,这有助于确定何时更换它。

      注意

      仅适用于 AXIS 监控卡,不适用于同一制造商的类似卡。

      从 AXIS OS 10.3 开始,可以根据 SD 卡的磨损程度创建事件,这样当达到特定磨损程度时,您就可以收到通知。更多信息可在此视频中找到:

      解密 Axis SD 卡

      我们现在来看一下如何解密或重新使用 Axis 设备中操作的加密 SD 卡。

      注意

      为了遵循以下任何准则,必须知道用于加密 SD 卡的原始密码。

      安讯士设备
      已加密且之前在安讯士设备中使用的 SD 卡可以插入另一台安讯士设备并再次使用。例如,在 RMA 流程中更换安讯士设备时可能会发生这种情况。

      Windows要在 Windows 计算机上解密 SD 卡,可以使用像LibreCrypt
      这样的开源磁盘加密工具。

      如果 SD 卡格式化为 VFAT,请按照下面的屏幕截图指南进行操作。如果使用 EXT4,则需要先安装第三方驱动程序(如 Ext2Fsd),以便 Windows 计算机识别卡上的文件系统。

      Linux
      在Linux操作系统中,可以使用命令行和以下命令直接解密SD卡:

      sudo cryptsetup open /dev/sdf1 qqqEnter passphrase for /dev/sdf1:mkdir /tmp/qq ~sudo mount /dev/mapper/qqq /tmp/qqsudo sucd /tmp/qqroot@mycomputer:/tmp/qq# ls20160929 index.db lost+foundroot@mycomputer:/tmp/qq# exit sudo umount /tmp/qq sudo cryptsetup close qqq

      格式化 Axis SD 卡

      格式化 SD 卡只会重写创建文件系统所需的 SD 卡部分。在 64 GB 的 SD 卡上,这可能有几百 MB 的数据。任何旧数据(例如较旧的录制)都无法通过新文件系统访问。但是,格式化后,SD 卡数据的大部分将不会被修改,因此可以在较低级别访问(即,如果将卡插入计算机,则可能可以提取数据)。

      有多种方法可以擦除 SD 卡上的敏感数据,通常需要多次使用不同的模式写入整张卡。Axis 产品不支持以这种方式擦除数据。

      网络共享

      SMB/CIFS 握手

      在这里,我们将仔细研究 SMB/CIFS 协议中的差异和协商。表中的网络跟踪说明了在 Axis 设备和 NAS 之间协商特定 SMB 版本的过程以及相应的会话设置,以便成功安装网络共享。协商过程完成后,我们可以观察到一些有关列出、删除和将文件写入网络共享的常规 SMB 协议通信。

      网络跟踪示例SMB 版本SMB 方言NAS IP 地址AXIS设备 IP 地址
      Axis_SMB_Handshake_SMB_1.0.pcapng1.0NT LM 0.12172.25.200.50172.25.201.100
      Axis_SMB_Handshake_SMB_2.0.pcapng2.0SMB 2.02 (0x0202)172.25.200.50172.25.201.100
      Axis_SMB_Handshake_SMB_2.1.pcapng2.1SMB 2.1 (0x0210)172.25.200.50172.25.201.100
      Axis_SMB_Handshake_SMB_3.0.pcapng3.0SMB 3.0 (0x0300)172.25.200.50172.25.201.100
      Axis_SMB_Handshake_SMB_3.02.pcapng3.02SMB 3.0.2 (0x0302)172.25.200.50172.25.201.100
      Axis_SMB_Handshake_SMB_Auto.pcapng自动协商不适用172.25.200.50172.25.201.100

      关于 CIFS/SMB 支持

      AXIS OS 8.30 及更高版本
      在具有 AXIS OS 8.30 及更高版本的 Axis 设备中,默认情况下禁用 SMB 1.0 和 SMB 2.0,以提高设备的整体最低网络安全级别。此外,设备可以自动与 NAS 或边缘存储设备协商其 SMB 版本,从 SMB 2.1 开始,或与更高的 SMB 版本(如 SMB 3.0、SMB 3.02 和 SMB 3.1.1)协商。

      AXIS OS 8.20 及更低版本
      在具有 AXIS OS 8.20.1 及更低版本的 Axis 设备中,默认启用 SMB 1.0,而所有其他受支持的 SMB 版本(SMB 2.0、2.1、3.0、3.02)都需要在普通配置中进行设置,如下所述。

      在纯配置中设置 SMB 版本
      如果由于兼容性问题而需要 SMB 1.0 或 SMB 2.0,我们建议将设置 > 系统 > 纯配置 > 存储中的额外挂载选项参数设置为特定版本,例如网络共享的vers=1.0vers=2.0。请注意,每个挂载的网络共享有两个存储组(通常是存储 S1 和存储 S2),并且都需要在额外挂载选项中设置正确的版本。如果设置还包括网络共享收件人,则该收件人将包含在 S3 或 S4 存储组中,也需要修改。当 NAS 存储仅支持 SMB 1.0 时,请参见以下配置示例:

      http://ip-address/axis-cgi/admin/param.cgi?action=update&root.Storage.S1.ExtraMountOptions=vers=1.0

      http://ip-address/axis-cgi/admin/param.cgi?action=update&root.Storage.S2.ExtraMountOptions=vers=1.0

      额外的挂载选项
      下面您将看到三个配置示例,描述设备如何处理额外的挂载选项参数。如您所见,设备将仅考虑输入的两个 SMB 版本中的后者。最好只输入一个 SMB 版本。

      • vers=1.0:设备尝试通过 SMB 1.0 连接

      • vers=1.0,vers=2.0:设备尝试通过 SMB 2.0 连接

      • vers=1.0,vers=2.0,sec=ntlm:设备尝试仅通过 NTLM 通过 2.0 SMB 进行连接

      自动重新连接

      如果 NAS 与网络断开连接,Axis 设备将尝试自动重新安装网络共享。尝试重新安装网络共享的先决条件是 NAS 处于在线状态/在网络上可用,例如通过 PING。第一次重新安装网络共享的尝试将在 2 秒后执行,并且每次失败的尝试都会使新间隔之间的时间加倍:

      • 第一次尝试:2 秒后执行

      • 第二次尝试:4秒后执行

      • 第三次尝试:8秒后执行

      这将持续直到最后一次尝试,即在 600 秒(10 分钟)后执行。

      普通配置中的网络共享

      在 Plain Config 的存储部分中,可以从 Axis 设备获取完整的存储配置。存储部分分为 S0-S2 存储组,其中 S0 对应于 SD 卡配置,S1 和 S2 是网络共享配置等价物。

      在 Axis 设备上安装网络共享时,会创建两个存储组 - S1 和 S2。S1 是物理网络共享及其磁盘,而 S2 是网络共享接收者,例如,可用于 Axis 设备的事件系统。

      最佳实践

      下面您将找到一些在 Axis 设备上设置边缘记录的指南。

      • 使用 H.264 来减少带宽并避免 MJPEG 流。

      • 使用 SD 卡录制时一次仅使用一个录制,以避免缩短 SD 卡的使用寿命并最大限度地减少其磨损程度。

      • 配置录制时,请为每个事件触发的录制添加至少 30 秒的缓冲后录制,以避免出现许多小的录制片段

      • 在开始录制之前,正确配置 Axis 设备,并提供正确的日期和时间。日期和时间可以手动配置,也可以通过 NTP 服务器自动配置。

      • 请与 NAS 供应商核实 NAS 是否可以处理一定量的数据(视频),以避免出现性能问题。

      • 录制到 SD 卡时,请将视频流的比特率保持在 10 Mbit/s 以下,以避免丢失帧/记录。

      • 在具有旧版本的 Axis 设备上,将清理级别(即删除旧录制的限制)在 AXIS OS 5.20 上设置为最高 80%,在 AXIS OS 5.40 上设置为最高 90%。

      缩时录像

      有多种方法可以配置 Axis 产品中的延时录制。下面您将找到更多信息和不同配置设置的示例。

      注意

      之前描述的解决方法是使用 FTP 和设备本身的 IP 地址将图像保存到 SD 卡,但 Axis 不支持此方法。在更高版本的 AXIS OS 中,此配置已不可用。建议改用以下替代方案之一。

      使用第三方 ACAP 解决方案录制到 SD 卡
      Axis 已测试并推荐第三方 ACAP Videolapse Me及其后续产品Timelapse Me ,后者由 Pandos Development 开发(https://acapshare.wordpress.com/)。ACAP适用于 AXIS OS 5.60 及更高版本,被认为是延时拍摄用例的合适解决方案。这些 ACAP 提供以下功能:

      • 延时录制到 SD 卡或网络共享

      • 能够直接从 ACAP 下载 AVI 视频,用户可选择帧速率和播放速率

      • 最多可同时支持五种不同的延时录制

      • 如果延时录制出现问题,则会发出警报通知

      注意

      根据您的 Axis 设备和架构,Timelapse Me ACAP 有三种不同的应用程序文件类型(mipsarmv7hfaarch64)。使用以下 VAPIX 请求http://ip-address/axis-cgi/param.cgi?action=list&group=Properties.System.Architecture找出您的 Axis 设备支持哪种架构,然后选择正确的应用程序文件类型并将其上传到您的 Axis 设备。

      使用 FTP 服务器录制到远程主机
      正确使用 FTP,因为它是一种标准网络协议,用于通过互联网将文件从一个主机传输到另一个主机。上传到远程主机,例如网络上具有静态路径的另一台计算机或服务器。

      AXIS OS 6.53 及更低版本中的 Web 界面配置示例

      AXIS OS 9.30 及更高版本中的 Web 界面配置示例

      使用网络共享录制到远程主机

      AXIS OS 6.53 及更低版本中的 Web 界面配置示例

      AXIS OS 9.30 及更高版本中的 Web 界面配置示例

      使用邮件记录到远程主机

      AXIS OS 6.53 及更低版本中的 Web 界面配置示例

      AXIS OS 9.30 及更高版本中的 Web 界面配置示例

      故障排除和维护

      如何升级

      Axis 根据活动轨道或长期支持 (LTS) 轨道提供产品 AXIS OS 管理。无论选择哪种轨道,建议定期升级以获取最新的安全更新。可以使用 AXIS 设备管理器、AXIS Camera Station、AXIS Companion 或 HTTP 进行升级。

      注意
      • 集群模式下的 AXIS A1001:如果在集群模式下使用 AXIS A1001,请确保升级所有控制器。使用 AXIS 设备管理器一次性升级所有控制器,或使用 Web 界面或 FTP 依次升级所有控制器。整个集群应始终使用同一版本。
      • 强制升级路径 (10.9):以下 Axis 设备需要通过最新可用的 LTS 2018 (8.40) 进行升级,然后才能升级到 AXIS OS 10.9 或更高版本:AXIS D2050-VE、AXIS FA54、AXIS M3057-PLVE、AXIS M3058-PLVE、AXIS P1367/-E、AXIS P1368-E、AXIS P1445-LE、AXIS P1445-LE-3、AXIS P1447-LE、AXIS P1448-LE、AXIS P3227-LV/-LVE、AXIS P3228-LV/-LVE、AXIS P3807-PVE、AXIS Q1645/-LE、AXIS Q1647/-LE、AXIS Q1659、AXIS Q3515-LV/-LVE、AXIS Q3517-LV/-LVE/-SLVE、D101-A XF P3807、ExCam XF P1367、ExCam XF Q1645 和 F101-A XF P1367。
      • Axis Edge Vault (10.11):从 AXIS OS 10.11 开始,Axis Edge Vault 将在 Axis 设备升级期间自动升级。升级功能对 Axis Edge Vault 的行为引入了不向后兼容的更改。升级过程不可逆:一旦 Axis Edge Vault 升级,就无法降级。强烈建议不要在已升级 Axis Edge Vault 的设备上安装旧版本的 AXIS OS。核心功能(例如 HTTPS、802.1x)和通过证书管理系统配置的应用程序将无法正常工作。建议先升级到 AXIS OS 10.10,然后再升级到较新的 AXIS OS 版本。这样,如果升级过程失败或触发回滚,设备仍将保留与升级后的 Axis Edge Vault 兼容的 AXIS OS 系统。

      AXIS 设备管理器或 AXIS Camera Station

      1. 转到Axis 设备管理器中的设备管理器选项卡AXIS Camera Station 中的配置选项卡 > 设备 - 管理。

      2. 选择所有需要升级的设备。

      3. 右键单击并选择升级固件,将打开一个对话框,其中列出设备型号和每个设备中安装的当前固件版本。

      4. 升级固件对话框中有两个选项:

        • 检查需要互联网访问的更新。

        • 浏览以找到文件,例如在硬盘或记忆棒上。

      5. 检查更新:

        • 选择“检查更新”以下载适用于所有设备型号的所有版本的列表。

      6. 浏览:

        • 选择浏览来找到文件并导入。可以同时选择并导入多个文件。

      7. 每个设备型号都会显示一个下拉菜单,其中包含该型号的所有可用版本,按“长期支持”(LTS)和“活跃”软件轨道排序。

      8. 为每个设备型号选择要安装的版本。

      9. 单击“确定”开始升级设备。

      注意

      默认情况下,将同时为所有选定的设备进行升级。升级顺序可在配置 > 连接服务 > 固件升级设置中更改。一旦开始更新,设备将不可用,直到设备安装和重启成功完成。

      有关更多信息,请参阅 AXIS Device Manager/AXIS Camera Station 中的帮助。

      HTTP

      使用旧 Web 界面时的升级说明

      1. 将升级文件下载到本地计算机可访问的目录。

      2. http://192.168.0.90在网络浏览器中打开产品的起始页(例如)。

      3. 单击“设置”链接并以“root”身份登录(或具有管理员权限的任何其他用户)。您必须以管理员身份登录才能升级设备。

      4. 单击左侧菜单中的系统选项。

      5. 单击“维护”

      6. 单击升级服务器部分中的浏览按钮。

      7. 选择您从我们的网站下载(可能已解压)的升级文件。此文件通常以产品和 AXIS OS 版本命名。

      8. 单击打开按钮。

      9. 单击升级服务器部分中的升级按钮。

      10. 等待闪存加载完成,这可能需要 1-10 分钟。升级过程分为四个步骤:

        • 步骤 1:关闭。正在运行的应用程序被关闭,活动连接被终止。

        • 步骤 2:上传。旧版本将被删除,新版本将被保存。在此步骤中,电源 LED 将闪烁绿色/琥珀色。片刻之后,升级进度将显示在 Web 浏览器中。

        • 步骤3:重新启动。系统自动重启。

        • 步骤 4:重新配置。新版本设置将与之前的设置相匹配。在此步骤中,状态 LED 的颜色将为琥珀色。

      11. 升级完成后,设备将自动启动系统,此时状态 LED 闪烁琥珀色。启动完成且系统准备就绪后,状态 LED 将变为绿色。

      使用新 Web 界面时的升级说明

      1. 将升级文件下载到本地计算机可访问的目录。

      2. http://192.168.0.90在网络浏览器中打开产品的起始页(例如)。

      3. 以“root”身份登录(或具有管理员权限的任何其他用户)。

      4. 点击右侧的设置。

      5. 单击系统选项卡

      6. 单击“维护”

      7. 选择您从我们的网站下载(可能已解压)的升级文件。此文件通常以产品和 AXIS OS 版本命名。

      8. 单击打开按钮。

      9. 单击升级服务器部分中的升级按钮。

      10. 等待闪存加载完成,这可能需要 1-10 分钟。升级过程分为四个步骤:

        • 步骤 1:关闭。正在运行的应用程序被关闭,活动连接被终止。

        • 步骤 2:上传。旧版本将被删除,新版本将被保存。在此步骤中,电源 LED 将闪烁绿色/琥珀色。片刻之后,升级进度将显示在 Web 浏览器中。

        • 步骤3:重新启动。系统自动重启。

        • 步骤 4:重新配置。新版本设置将与之前的设置相匹配。在此步骤中,状态 LED 的颜色将为琥珀色。

      11. 升级完成后,设备将自动启动系统,此时状态 LED 闪烁琥珀色。启动完成且系统准备就绪后,状态 LED 将变为绿色。

      FTP

      注意
      • 仅适用于 AXIS OS 11.0 及以下版本。在 AXIS OS 11.1 及更高版本中,FTP 选项已被删除,以提高整体最低网络安全级别。有关更多信息,请访问SSH 访问
      • 在 AXIS OS 7.30.1 - 11.0 中,FTP 服务器默认处于禁用状态。要使用以下说明,首先需要通过 Web 界面启用它:设置 > 系统 > 普通配置 > 网络 > NetworkFTP
      • 本节不适用于 AXIS Companion Line 摄像机。
      1. 您必须位于命令提示符下并位于包含升级文件的目录中。

        例子:C:\Axis\Product\Firmware

      2. 从命令提示符处,打开与要升级的设备的 FTP 连接。
        (不要使用基于 Windows 的 FTP 程序来执行此操作,仅使用命令行 FTP 程序。)

      3. 以“root”身份登录。您必须以 root 用户身份登录才能升级设备。

      4. 通过输入“bin”并按回车键,更改为二进制传输模式。

      5. 输入“hash”并按回车键。这样你就能看到升级的进度。

      6. 输入命令“put XXX.bin flash”,其中 XXX.bin 是您从我们网站下载(可能已解压)的升级文件的名称。此文件通常以产品和 AXIS OS 版本命名。

      7. 等待闪存加载完成,这可能需要 1-10 分钟。升级过程分为四个步骤:

        • 步骤 1:关闭。正在运行的应用程序被关闭,活动连接被终止。

        • 步骤 2:上传。旧版本将被删除,新版本将被保存。在此步骤中,电源 LED 将闪烁绿色/琥珀色。片刻之后,升级进度将显示在命令提示符中。

        • 步骤 3:重新启动。FTP 会话终止并且系统自动启动。

        • 步骤 4:重新配置。新版本设置将与之前的设置相匹配。在此步骤中,状态 LED 的颜色将为琥珀色。

      8. 升级完成后,设备将自动启动系统,此时状态 LED 闪烁琥珀色。启动完成且系统准备就绪后,状态 LED 的颜色将为绿色。

      如何降级

      为了与不支持更高 AXIS OS 版本的第三方系统建立兼容性,可能需要降级 Axis 产品。降级与升级的方式相同。说明请参阅如何升级

      如果您的设备已收到新的硬件 ID (HWID),请检查“硬件更改”部分以查看产品的最低兼容 AXIS OS 活动和 LTS 版本。

      注意

      降级到较低版本可能会影响系统的健康和稳定性。建议仅使用标准升级流程降级 Axis 产品,前提是要结合产品的出厂默认设置。出厂默认设置可以在降级过程中同时执行,也可以由用户在降级后手动执行。
      从 AXIS OS 版本 10.1 开始,降级时必须使用出厂默认设置。

      如何回滚

      升级 Axis 产品时,将在升级前创建产品及其整个配置的先前状态的还原点。升级完成后,如果出现意外问题,可以返回此还原点。此功能称为回滚

      回滚功能可在 Axis 产品的 Web 界面的“设置”>“系统”>“维护”下找到。在“配置提示”中还可以找到带有说明的视频剪辑。该功能是在 AXIS OS 版本 7.40 中引入的,这意味着 Axis 产品必须升级到 7.40 或更高版本才能执行回滚。

      建议使用回滚功能重新建立系统功能,并联系 Axis 技术支持以获取进一步的说明和故障排除技术。当产品处于出厂默认状态时,没有可用的还原点。

      基本故障排除

      AXIS OS 支持多种故障排除工具和命令,可用于识别、分析和解决用户遇到的问题。以下列表包含一些工具和方法。Axis技术服务也可提供支持和说明。

      目的 / 行动HTTP(S) URL 命令附加信息
      下载服务器报告https://172.25.201.191/axis-cgi/serverreport.cgi?mode=zip_with_image从 Axis 设备下载服务器报告。
      下载崩溃报告https://172.25.201.191/axis-cgi/debug/debug.tgz从 Axis 设备下载崩溃报告。这可能需要几分钟才能完成。
      下载网络跟踪https://172.25.201.191/axis-cgi/debug/debug.tgz?cmd=pcapdump&duration=30&interface=eth0从 Axis 设备下载网络跟踪。此操作也可以通过较新 AXIS OS 版本中的 Web 界面(设置 > 系统 > 维护)完成。使用直接 URL 时;
      • 可以在duration=参数中指定以秒为单位的自定义时间

      • 应捕获的接口可以在interface=参数中指定。如果没有 interface 参数,则包括所有接口。指定多个接口时,请使用以下格式:“&interface=eth0,eth1.1,eth1.2”。从 AXIS OS 10.10 及更高版本开始,可以使用 interface 参数。

      Ping 测试 IP 地址https://172.25.201.191/axis-cgi/pingtest.cgi?ip=172.25.201.10ping 测试始终从源设备发出,在本例中是位于 172.25.201.191 的 Axis 设备,后跟确定目标 IP 地址或主机名的参数。
      Ping 测试主机名https://172.25.201.191/axis-cgi/pingtest.cgi?ip=computer.lab.netping 测试始终从源设备发出,在本例中是位于 172.25.201.191 的 Axis 设备,后跟确定目标 IP 地址或主机名的参数。
      端口开放测试https://172.25.201.191/axis-cgi/tcptest.cgi?address=172.25.201.102&port=80端口测试始终从源设备发出,在本例中是位于 172.25.201.191 的 Axis 设备,后跟确定应检查可用性的目标 IP 地址和端口的参数。
      收集核心转储http://172.25.201.191/axis-cgi/debug/debug.tgz?listen开始监听 Axis 设备上的可用核心转储。建议使用 Google Chrome 或 Mozilla Firefox。请注意,Web 浏览器可能会超时,在这种情况下必须再次发送命令。
      收集核心转储 wget –T0 –O core“http://root:mypassword@172.25.201.191/axis-cgi/debug/debug.tgz?listen”开始从WGET 控制台监听 Axis 设备上的可用核心转储,该控制台作为应用程序安装在同一个网络中的计算机上。以管理员模式打开 Windows 命令提示符,并使用cd
      命令将目录更改为 wget 的安装位置,例如 C:\Program Files (x86)\GnuWin32\bin。要转到此文件位置,您可以键入例如“cd C:\Program Files (x86)\GnuWin32\bin”,然后执行 HTTP(S) URL 命令,如wget –T0 –O core “http://root:mypassword@172.25.201.191/axis-cgi/debug/debug.tgz?listen”

      Telnet 访问

      注意

      以下文档仅应根据 Axis Technical Services 在维护和故障排除情况下给出的说明使用。

      版本 5.50 及以下的 Axis 设备支持 Telnet。请按照以下说明在设备上使用 Telnet:

      1. 访问http://ip-address/admin-bin/editcgi.cgi?file=/etc/inittab

      2. 从配置文件中的以下行中删除哈希:#tnet:35:once:/usr/sbin/telnetd

      3. 删除哈希后,该行应如下所示:tnet:35:once:/usr/sbin/telnetd

      4. 保存文件并重新启动 Axis 设备

      SSH 访问

      注意

      以下文档仅应根据 Axis Technical Services 在维护和故障排除情况下给出的说明使用。

      由于连接已加密且敏感信息已安全传输,因此建议仅在维护目的下使用 SSH 访问 Axis 设备。可以使用普通的 Linux 命令控制台或 Microsoft Windows power shell 实现 SSH 访问。请注意,此操作可能需要管理员权限和/或需要调整计算机的防火墙和安全设置以允许 SSH 连接。

      AXIS OS 5.50 - 5.55 中的 SSH

      请按照以下说明在 AXIS OS 5.51 及更低版本的设备上使用 SSH:

      1. 使用以下链接访问 SSH 文件:http://ip-address/admin-bin/editcgi.cgi?file=/etc/conf.d/ssh

      2. 通过设置启用 SSHSSHD_ENABLED="yes"

      3. 保存 SSH 文件。

      4. 重新启动 Axis 设备。

      AXIS OS 5.60 - 11.4 中的 SSH

      请按照以下说明在装有 AXIS OS 5.60 和 AXIS OS 11.4 的设备上使用 SSH:

      1. 从Plain Config > Network > SSH启用 SSH

      2. 保存设置。现在可以通过 SSH 访问 Axis 设备,无需重新启动。

      或者,可以使用直接 VAPIX API 调用来启用/禁用 SSH:

      AXIS OS 11.5 及更高版本中的 SSH

      为了提高 AXIS OS 的整体系统安全性,系统范围的 root 权限已更改,以防止信息泄露和完整性受损。在 AXIS OS 11.5 中,VAPIX 用户和 SSH 用户将分开处理。请在此处查看有关这些更改的更多信息。

      为了澄清:

      • “VAPIX 用户”是用于例如登录 Axis 设备的 Web 界面的用户。

      • “SSH 用户”是用于通过 SSH 登录 Axis 设备的用户。

      AXIS 操作系统附加信息
      出厂默认 AXIS OS 11.4 或更早版本首次启动时为 root 用户设置的初始密码对 VAPIX 和 SSH 均有效。其他创建的用户仅具有 VAPIX 访问权限。
      从 AXIS 11.4 或更早版本升级到 AXIS OS 11.5。升级到 AXIS OS 11.5 将迁移所有现有用户成为 VAPIX 用户。根用户也将被添加为 SSH 用户。如果更改了 VAPIX 用户密码,则需要单独更改 SSH 用户密码才能更改 SSH 用户密码。
      出厂默认为 AXIS OS 11.5。首次启动时为 root 用户设置的初始密码对 VAPIX 和 SSH 访问均有效。如果更改了 VAPIX root 用户密码,则需要单独执行 SSH 用户密码更改才能更改 SSH 用户密码。

      上述更改不会改变 SSH 服务的(默认)状态。SSH 服务仍然默认禁用,并且与 SSH 用户创建分开。可以在不创建 SSH 用户的情况下启用 SSH,反之亦然。

      可以为 VAPIX 用户和 SSH 用户创建/使用相同的用户名。用户创建的 SSH 用户没有 root 权限。Axis 设备上的现有 SSH 用户(AXIS OS 11.5 或更高版本)可以在 Web 界面中使用“设置”>“系统”>“用户”>“SSH 用户”找到。


      命令概述
      通过 SSH 登录 Axis 设备时,可以使用并支持以下主要命令。请确保按照 Axis 技术服务提供的说明使用这些命令。

      行动 / 目的Windows 操作系统命令行Linux 操作系统命令行
      连接并登录ssh root@192.168.0.90ssh root@192.168.0.90
      断开连接并注销出口出口
      重新开始重启重启
      下载崩溃报告ssh root@192.168.0.90 /usr/sbin/dbox debugar.cgi -d > debug.tgzssh root@192.168.0.90 /usr/sbin/dbox debugar.cgi -d > debug.tgz
      上传 AXIS OS*scp C:\Users\psadmin\Downloads\P1375_9_80_2_4.bin ssh root@172.25.201.191:/var/tmp
      更新 AXIS OS升级 -f /var/tmp/P1375_9_80_2_4.bincat P1375_9_80_2_4.bin | ssh root@172.25.201.191 升级
      更新 AXIS OS 并恢复出厂设置升级-d -f /var/tmp/P1375_9_80_2_4.bincat P1375_9_80_2_4.bin | ssh root@172.25.201.191 升级 -d
      执行恢复出厂设置并保留 IP 设置fwmgr 工厂默认软件fwmgr 工厂默认软件
      恢复出厂设置fwmgr factorydefault 硬fwmgr factorydefault 硬

      *仅当用户尝试使用 Windows OS 命令行更新设备时,才需要将 AXIS OS 上传到 Axis 设备。使用 Linux OS 命令行时无需执行此步骤。

      下面的命令使用表中的 Windows 操作系统命令行进行说明。

      连接并登录

      断开连接并注销

      下载崩溃报告

      重新开始

      AXIS OS 更新

      AXIS OS 更新和出厂默认设置

      FTP 访问

      注意
      • 仅适用于 AXIS OS 11.0 及以下版本。在 AXIS OS 11.1 及更高版本中,FTP 选项已被删除,以提高整体最低网络安全级别。有关更多信息,请访问 SSH 访问
      • 以下文档仅应根据 Axis Technical Services 在维护和故障排除情况下给出的说明使用。

      由于连接未加密且敏感信息以纯文本形式传输,因此不建议仅出于维护目的使用 FTP 访问 Axis 设备。因此,建议使用 SSH 访问。可以使用纯 Linux 命令控制台或 Microsoft Windows power shell 实现 FTP 访问。请注意,这可能需要管理员权限和/或需要调整计算机的防火墙和安全设置以允许 FTP 连接。可以通过纯配置 > 网络 > FTP在 Axis 设备中启用 FTP 。或者,可以使用直接 VAPIX API 调用启用/禁用 FTP:

      • https://ip-address/axis-cgi/param.cgi?action=update&Network.FTP.Enabled=Yes

      • https://ip-address/axis-cgi/param.cgi?action=update&Network.FTP.Enabled=No

      命令概述
      通过 FTP 登录到 Axis 设备时,可以使用并支持以下主要命令。请确保按照 Axis 技术服务提供的说明使用这些命令。

      行动 / 目的Windows 操作系统命令行
      连接并登录FTP 192.168.0.90
      断开连接并注销再见
      重新开始报价网站重启
      下载崩溃报告*获取调试.tgz
      更新 AXIS OS*把 P1375_9_80_2_4.bin 刷入
      更新 AXIS OS 和出厂默认设置*放入 P1375_9_80_2_4.bin flash_all

      *可以使用 hash 命令后跟 bin 命令来在执行所选命令之前启用详细日志记录。

      连接并登录

      断开连接并注销

      下载崩溃报告

      重新开始

      AXIS OS 更新

      AXIS OS 更新和出厂默认设置

      网络流量整形

      Axis 设备可以使用传输控制协议 (TCP) 或用户数据报协议 (UDP) 传输视频。TCP 具有控制机制,因此如果数据包丢失或损坏,则会重新发送。UDP 协议没有确保已收到所有传输数据包的机制。因此,如果数据包被丢弃或损坏,则不会请求重新传输。UDP 通常用于多播网络。与视频流相关的丢弃数据包将导致视频性能不令人满意,因为相关像素不会显示在最终用户的视频中。数据包丢失是由不同原因引起的,例如网络基础设施的规格不正确、网络随着时间的推移而发生变化(增加了更多流量)或网络在高峰时段变得拥塞。处理能力和内存容量不足的网络交换机在面对意外或不一致的传入数据峰值时会导致数据包丢失。

      默认情况下,Axis 设备会尽可能快地传输数据,由于 H.264 视频的特性,我们会遇到 Axis 设备发送到网络中的网络流量峰值或突发。数据的突发或峰值与视频流中包含的 I 帧有关,其中整个视频帧都会更新。I 帧之间是 P 帧,其数据大小要小得多。当网络硬件容量不足以及使用 UDP 传输方法时,这可能会导致问题。

      网络瓶颈和吞吐量
      尽管网络基础设施通过其交换机和路由器获得了增强的功能并在处理网络峰值和突发方面变得更加强大,并且尽管它试图通过缓冲传入数据来克服时间瓶颈,但这最终仍可能根据设置失败。

      以下是几种可能的情况,在这些情况下,流量整形是避免网络相关问题的推荐技术。这些用例说明了如何通过了解网络中可能的瓶颈位置来规划和管理网络相关流量。这可以通过简单地计算网络基础设施的上行链路速度以及来自 Axis 设备或其他网络设备的潜在传入数据来实现,这些设备共存并参与网络中的数据流量。

      但重要不仅仅是上行速度。在某些用例中,网络设备的性能根本无法应付可能产生的网络流量或峰值。连接到同一网络交换机的设备数量累积起来也有可能最终会压垮它并导致它丢弃网络数据包。主动规划预期的网络流量和用例是避免潜在问题的关键。

      基本流量整形
      有几种技术可用于控制 Axis 设备的数据输出。第一步是始终使用合适的压缩级别来优化设备的输出。H.264 压缩因其效率而成为行业标准压缩方法,但仍必须应用合适的压缩级别(这可以减少数据量,同时保持图像质量)。Axis Zipstream 是一种更高效的压缩算法,与 H.264 相比,它进一步提高了压缩率,同时仍保持了图像质量。H.264 和 Zipstream 算法基于场景中的运动或非运动,因此很难预测摄像机的实际输出。最大比特率 (MBR)、可变比特率 (VBR) 以及平均比特率 (ABR) 是限制摄像机输出的技术,可用于将传输的数据包含在特定平均周长内。但是,这不会限制实际的峰值或突发。在白皮书《IP 视频的比特率控制》中了解有关不同比特率控制的更多信息。

      应用基本流量整形的一个完全不同的示例是,简单地决定是每个 Axis 设备使用两个视频流,一个用于实时查看,一个用于录制,还是使用相同的流和网络参数重复使用单个视频流用于实时查看和录制。仅使用一个视频流而不是两个视频流可将 Axis 设备产生的网络吞吐量减少 50%。这甚至可能足以避免在聚合场景中出现与网络相关的瓶颈,比如说,将许多 Axis 设备连接到充分利用的 48 端口网络 PoE 交换机。

      高级流量整形
      如果基本流量整形机制不适用,可以在 Axis 设备的网络层上应用更高级的技术。要控制从 Axis 设备传输的数据的峰值或突发,可以使用Plain Config > Bandwidth中的带宽限制参数。带宽参数是在 AXIS OS 6.20 中引入的,它使用分层令牌桶 (HTB) 和令牌桶过滤器 (TBF)。TBF 通过使用令牌控制数据来控制传输的输出。当有令牌可用时,就可以发送数据。带宽限制不是上限数据速率,而是 HTB/TBF 用于以受控方式组织数据输出的速率。

      TBF 是一种排队方法,可充当计时机制,有效地将数据峰值分散到更长的时间段内。有关 HTB 和 TBF 的更多信息,可通过以下链接找到:

      AXIS OS 中的配置
      带宽参数可以在Plain Config > Bandwidth中找到。限制流量时,您需要设置一个与 Axis 设备的总带宽需求相匹配的带宽限制值。建议从 Axis 设备连接到的网络交换机收集统计信息,以了解通常的带宽使用情况。例如,正在运行的 Axis 设备是一个多传感器设备,它有四个图像传感器和一个组合四视图,每个通道分别发送两个流用于录制和实时查看。这 10 个并行视频流产生的平均网络带宽消耗为 70-80 Mbit/s。为了留出一些余量,带宽参数应配置为 100mbit 或 125mbit。

      重要

      如果带宽参数配置不合理,即低于或非常接近实际网络带宽消耗,Axis 设备将丢弃数据包。始终建议在实际网络带宽消耗之上留出足够的余量。带宽限制不是上限数据速率,而是 HTB/TBF 用于以受控方式组织数据输出的速率。

      示例 1:默认配置,0 表示不应用流量整形。

      示例 2:启用流量整形,最大输出限制为 100 mbit/s。

      示例 3:启用流量整形,最大输出限制为 10000 kbit/s(=10 mbit/s)。

      Wireshark 网络分析

      过滤器和宏

      这是常见基本运算符以及网络和视频流相关过滤器的列表,它们在排除 Axis 设备、网络基础设施和第三方视频管理系统及其他应用程序之间的网络流量故障时很有用。

      基本运算符描述
      ==平等的
      !=不等于
      >比...更棒
      <少于
      大于或等于
      小于或等于
      &&
      不是
      ||或者
      网络显示过滤器描述
      ip.addr≥224.0.0.0使用 IP 多播地址过滤网络流量
      ip.addr == 172.25.201.0/24使用 IP 地址子网过滤网络流量
      ip.addr == 10.0.0.1过滤 IP 地址为 10.0.0.1 的网络流量
      ip.addr ==10.0.0.1 && ip.addr ==10.0.0.2过滤 IP 地址为 10.0.0.1 和 10.0.0.2 的网络流量
      ipv6.addr == 2019:db8:abcd:a:3cf5:6c7e:f780:1085使用 IPv6 地址 2019:db8:abcd:a:3cf5:6c7e:f780:1085 过滤网络流量
      (ip.地址==172.25.154.7)过滤网络流量,不包括此特定 IP 地址
      ip.dst==10.0.0.1过滤以特定 IP 地址 10.0.0.1 为目的地的网络流量
      ip.src==10.0.0.1过滤以特定 IP 地址作为源的网络流量
      eth.dst == 00:00:cd:37:00:c0过滤具有特定目标 MAC 地址的网络流量
      eth.src==ac:cc:8e:c2:22:7b过滤具有特定源 MAC 地址的网络流量
      icmp过滤 ICMP 流量(ping)
      !icmp.resp_in 和 icmp.type==8 过滤未响应/失败的 ICMP 流量 (ping)
      域名系统过滤 DNS 流量
      NTTP 协议过滤 NTP 流量
      组管理协议IGMP 流量过滤
      EAPL过滤 802.1x 流量
      SNMPSNMP 流量过滤
      http过滤 HTTP 流量
      http.请求过滤 HTTP GET 请求
      http.request.full_uri 包含“onvif”包含 ONVIF 相关信息的 HTTP Get 请求过滤器
      http.request.full_uri 包含“action=update”过滤 VAPIX param.cgi 参数发生更改的 HTTP Get 请求
      http.time > 2过滤请求后超过 2 秒发送的 HTTP 响应。
      !(arp 或 icmp 或 dns)排除与 ARP、ICMP 和 DNS 协议相关的网络流量
      udp 包含 33:27:58设置任意偏移量的 0x33 0x27 0x58 十六进制值的过滤器
      tcp 包含流量过滤有效负载中包含“traffic”一词的 TCP 数据包
      tcp.flags.reset == 1TCP 重置过滤器
      tcp.分析.重传TCP 重传过滤器
      tcp.analysis.out_of_order过滤源和目标之间的多条路径
      tcp.analysis.window_fullTCP 窗口缓冲区已满情况过滤器
      tcp.analysis.zero_windowTCP 窗口缓冲区已满情况过滤器
      帧.time_delta > 0.04过滤与前一个数据包相比延迟 40 毫秒或以上的网络流量
      tcp.端口 == 80使用 TCP 端口 80 过滤网络流量
      udp.端口 == 64000使用 UDP 端口 64000 过滤网络流量
      udp.src端口==50000过滤 UDP 源端口为 50000 的网络流量
      udp.dst端口==50001过滤 UDP 目标端口为 50001 的网络流量
      smb2 || smb过滤 SMB 网络协议流量
      p.dsfield.dscp == 0x0b过滤服务质量 DSCP 值,需要十六进制转换器来转换 0x00 值
      macc.opcode == 暂停以太网暂停帧过滤器
      视频流显示过滤器描述
      rtsp.请求过滤 RTSP 请求,例如选项、获取参数、播放、设置等。
      rtsp 包含“backchannel”使用 ONVIF 反向通道过滤 RTSP 流
      rtsp 包含“onvif”使用 onvif 协议过滤 RTSP 流
      rtsp || h264RTSP 和 H.264 解码 RTP 流的过滤器
      rtp.ssrc == 0x76747D52过滤具有特定源 ID 的 RTP 流
      rtp 包含“VirtualInput”过滤包含特定关键字的 RTP 流,以识别元数据,例如虚拟输入
      (ip.src==10.25.195.92 && udp.srcport==50000 && ip.dst==10.25.185.75 && udp.dstport==31018 && rtp.ssrc==0x9c37fd6)使用大量特定细节对 RTP 流进行过滤
      h264.nal_unit_type == 1仅过滤 P 帧
      h264.nal_unit_type == 5仅过滤 I 帧
      h264.start.bit == 1 && h264.slice_type == 2仅过滤 I-Frame 启动包
      h264.start.bit == 1 && h264.slice_type == 0仅过滤 P 帧启动包
      h264.nal_unit_hdr == 6SEI 帧过滤器(需要在 Axis 设备中启用 UserData)
      h264.nal_unit_hdr == 7SPS 框架过滤器
      h264.nal_unit_hdr == 8PPS 框架过滤器
      rtp.ext 等式 1SRTP(RTSPS)流过滤器
      rtp.ext.rfc5285.id 等式 14SRTP(RTSPS)流过滤器

      颜色和列首选项

      在 Wireshark 中,您可以设置着色规则并选择和组织列以更好地概览网络流量。在以下屏幕截图中,您将看到如何配置此功能。

      使用颜色规则,可以用特定颜色突出显示某些类型的网络流量(例如 RTSP/RTP),这让用户更容易识别。配置颜色规则的方式与在 Wireshark 中设置显示过滤器的方式相同,您实际上可以使用相同的过滤器。

      可以选择和组织列,以使网络流量分析更合乎逻辑,信息更易于访问,例如,当跟踪网络中两个网络设备的流量时。

      解码 RTP/UDP 流量

      为了成功分析与 H.264 网络相关的流量,您必须将 Wireshark 配置为解码与视频流相关的流量。配置完成后,还可以使用更多有用的显示过滤器。以下屏幕截图说明了正确的配置(即,将H.264 动态有效负载类型设置为“96”),以解码通过 UDP 传输的 RTP 网络流量,因为为此需要 H.264。

      网络跟踪可用于测试以下步骤。

      解码 RTP/TCP 流量

      为了成功分析与 H.264 网络相关的流量,您必须将 Wireshark 配置为解码与视频流相关的流量。配置完成后,还可以使用更多有用的显示过滤器。以下屏幕截图说明了正确的配置(RTP over RTSP 封装)以解码通过 TCP 传输的 RT(S)P 网络流量,因为为此需要 H.264。

      网络跟踪可用于测试以下步骤。

      网络带宽分析

      分析网络设备之间的网络带宽量可用于识别网络瓶颈和现有网络基础设施的过度使用。此分析的另一个方面是识别网络峰值(即发送大量网络流量的时刻),这是由于 H.264 视频流中的 P 帧较小和 I 帧较大而导致的常见行为。

      以下屏幕截图说明了如何识别从一个网络设备发送到另一个网络设备的网络流量。然后可以将此信息与其他测量工具(例如 Windows 任务管理器)进行交叉引用。

      在网络跟踪文件的捕获统计信息中也可以找到有用的信息。

      限制网络捕获

      在故障排除过程中,有时需要在较长时间内进行 Wireshark 捕获,因为不确定问题何时出现。由于这通常需要大量磁盘空间,因此建议限制 Wireshark 捕获。这可以通过使用以下选项和dumpcap(Wireshark 的一部分)来实现。dumpcap 的默认安装路径为:C:\Program Files\Wireshark\

      命令行选项描述
      -D查找接口编号。
      -我应进行捕获的接口号。
      -q安静模式,消除显示数据包数。
      -b 文件大小:n每个捕获文件要创建的文件大小(以 KB 为单位)。
      -b 持续时间:n每个捕获文件的运行时间(以秒为单位)。
      -b 文件:n要创建的最大文件数。一旦保存了最大文件数,最旧的文件将被删除,并在其位置创建一个新的空文件。
      -F捕获过滤器。有关更多信息,请参阅此页面
      -w <路径>.pcap写入输出文件的位置。指定的路径必须存在。

      当使用“-b files:n”选项时,指定的跟踪文件夹的内容将包含具有序列号和时间戳的文件,如下所示:mytrace_00001_20220626164602.pcap...mytrace_00024_20220627154602.pcap

      多变的描述
      追踪踪迹的名称。
      00001文件序列号。
      2022年。
      0626月日。
      16420224 小时格式的小时/分钟/秒。该时间表示文件捕获“开始”的时间。

      示例用例:

      例子输出
      dumpcap -i 3 -q -b 持续时间:3600 -b 文件:10 -wc:\traces\mytrace.pcap10 个捕获文件 x 1 小时长。
      dumpcap -i 3 -q -b 持续时间:3600 -b 文件:10 -f “主机 192.168.0.90” -wc:\traces\mytrace.pcap10 个捕获文件 x 1 小时长 + 一个捕获过滤器,仅捕获 IP“192.168.0.90”的流量。
      dumpcap -i 3 -q -b 文件大小:200000 -b 文件:10 -wc:\traces\mytrace.pcap10 个捕获文件 x 200 MB。

      服务器报告

      服务器报告包括实际信息(某种程度上是历史信息)、健康监测、常规系统和配置信息以及有价值的日志文件。这些信息将帮助 Axis 技术支持人员分析您的设备。联系 AXIS 支持人员时,请务必附上服务器报告。

      服务器报告可以 .zip 文件形式下载。

      AXIS 操作系统版本Web界面下载说明
      < 7.10设置 > 系统选项 > 支持 > 日志和报告 > 下载服务器报告
      ≥7.10设置 > 系统 > 维护 > 下载服务器报告
      ≥10.9系统 > 日志 > 下载设备服务器报告

      AXIS 服务器报告查看器

      AXIS 服务器报告查看器是一个基于 Web 的图形用户界面,可以上传和可视化服务器报告的数据。该工具由 Axis 开发,大大提高了分析服务器报告中数据的速度和效率。

      您可以使用 MyAxis 帐户登录后访问 AXIS 服务器报告查看器。

      观看介绍视频以了解有关 AXIS 服务器报告查看器的更多信息。

      AXIS VAPIX® 测试工具

      此工具的目的是当与设备事件系统结合使用时帮助解决 Axis VAPIX® 库请求的问题,如Axis 文档的“开始使用事件规则”部分中所述。

      您可以在此处下载该工具:AXIS VAPIX® 测试工具

      产品特定信息

      硬件变化

      当 Axis 对现有型号进行硬件更改(不向后兼容)时,设备将获得新的硬件 ID。这是必要的,因为新组件可能需要更改 AXIS OS 与硬件的交互方式。所有 Axis 设备型号都有一个硬件 ID,用于识别特定硬件配置。某个型号的旧设备可能有一个硬件 ID,而同一型号的新设备可能有另一个新的硬件 ID。Axis 努力尽可能避免更改现有型号的硬件 ID。从历史上看,硬件 ID 更改很少见,但近年来,由于全球组件短缺的情况,已经上市的部分 Axis 产品组合已获得新的硬件 ID。

      所有 AXIS OS 版本都引用了其支持的硬件 ID。当设备获得新的硬件 ID 时,它会在最新的 Active 以及该型号的可用 LTS 轨道的最新版本上发布。这意味着,如果您拥有某个型号的设备,并购买了硬件 ID 已更改的较新设备,则无法将新型号降级为不支持新硬件 ID 的旧 AXIS OS 版本。具有先前硬件 ID 的同一设备支持自该硬件 ID 推出以来发布的所有 AXIS OS 版本。

      为了使所做的更改透明化,我们列出了所有受硬件 ID 更改影响的产品。在下表中,您可以找到至少必须使用哪个版本才能在降级时避免出现问题。

      与往常一样,我们建议在您使用的轨道上使用最新支持版本,以获取最新的补丁和安全更新。阅读更多关于

      注意!如果有更高版本的 LTS 可用,则不建议使用“最低活动”,因为它们不再受支持,并由较新的 LTS 替换。如果有更高版本的 LTS 可用,则不建议使用“最低 LTS 6.50”,因为该版本不再维护。

      产品最低
      活跃
      发布日期最低
      LTS 6.50
      发布日期最低
      LTS 8.40
      发布日期最低
      LTS 9.80
      发布日期最低
      LTS 10.12
      发布日期
      AXIS A8105-E1.58.2.22017-04-21
      AXIS A8207-VE Mk II11.0.892022-09-2110.12.702022-07-08
      AXIS C1310-E10.10.73.32022-05-2510.12.66.12022-07-08
      AXIS Companion 3607.15.2.22017-10-308.40.12018-09-19
      AXIS Companion Cube L7.40.12017-11-308.40.12018-09-199.80.1.2 2020-05-20
      AXIS Companion Cube LW7.40.1 2017-11-308.40.12018-09-199.80.1.2 2020-05-20
      AXIS Companion Dome V7.40.1 2017-11-308.40.12018-09-199.80.12020-05-04
      AXIS Companion Dome WV7.40.1 2017-11-308.40.12018-09-199.80.12020-05-04
      AXIS Companion Recorder 8CH、
      AXIS Companion Recorder 4CH
      1.11.1.32017-11-109.80.12020-05-04
      AXIS M1045-LW7.40.1 2017-11-308.40.12018-09-199.80.12020-05-04
      AXIS M1065-L7.40.1 2017-11-308.40.12018-09-199.80.1.2 2020-05-20
      AXIS M1065-LW7.40.1 2017-11-308.40.12018-09-199.80.1.2 2020-05-20
      AXIS M1124、AXIS M1124-E、
      AXIS M1125、AXIS M1125-E
      8.15.12018-03-186.50.1.22017-06-148.40.12018-09-199.80.12020-05-04
      AXIS M1134、
      AXIS M1135、AXIS M1135-E
      10.3.0.12021-01-119.80.3.12021-03-0310.12.1042022-09-05
      AXIS M1137、AXIS M1137-E10.3.0.12021-01-119.80.3.12021-03-0310.12.1042022-09-05
      AXIS M2026-LE Mk II7.30.1.12017-10-168.40.12018-09-199.80.12020-05-04
      AXIS M3044-V7.40.1 2017-11-308.40.12018-09-199.80.12020-05-04
      AXIS M3044-WV7.40.1 2017-11-308.40.12018-09-199.80.12020-05-04
      AXIS M3045-V7.40.1 2017-11-308.40.12018-09-199.80.12020-05-04
      AXIS M3045-WV7.40.1 2017-11-308.40.12018-09-199.80.12020-05-04
      AXIS M3046-V6.15.7.22017-10-188.40.12018-09-199.80.12020-05-04
      AXIS M3047-P7.15.2.22017-10-308.40.12018-09-19
      AXIS M3048-P7.15.2.22017-10-308.40.12018-09-19
      AXIS M3067-P10.11.872022-06-169.80.3.132022-07-2210.12.1042022-09-05
      AXIS M3068-P10.11.872022-06-169.80.3.132022-07-2210.12.1042022-09-05
      AXIS M3106-L Mk II、
      AXIS M3106-LVE Mk II
      7.30.1.12017-10-208.40.12018-09-199.80.12020-05-04
      AXIS M3115-LVE10.11.852022-06-149.80.3.132022-07-2210.12.1042022-09-05
      AXIS M3116-LVE10.11.852022-06-149.80.3.132022-07-2210.12.1042022-09-05
      AXIS M4216-V、AXIS M4216-LV11.0.89 2022-09-2110.12.732022-07-13
      AXIS M5074, AXIS M507511.0.89 2022-09-2110.12.912022-08-16
      AXIS M5075-G11.0.89 2022-09-2110.12.912022-08-16
      AXIS P137511.0.89 2022-09-219.80.282023-04-2110.12.652022-07-01
      AXIS P1375-E11.2.53 2022-12-2210.12.1352022-12-09
      AXIS P1377、ExCam XF P1377、
      F101-A XF P1377、AXIS P1378
      11.0.892022-09-219.80.3.132022-07-2210.12.652022-07-01
      AXIS P1377-LE、AXIS P1378-LE11.2.53 2022-12-229.80.282023-04-2110.12.1352022-12-09
      AXIS P1447-LE10.3.0.12021-01-119.80.3.110.12.1042022-09-05
      AXIS P1448-LE10.3.0.12021-01-119.80.3.12021-03-0310.12.1042022-09-05
      AXIS P1455-LE10.8.32021-11-3010.12.1042022-09-05
      AXIS P3224-LV Mk II、
      AXIS P3225-LV Mk II、
      AXIS P3225-LVE Mk II
      7.40.1.12018-01-318.40.12018-09-199.80.12020-05-04
      AXIS P3224-V Mk II、
      AXIS P3225-V Mk II、
      AXIS P3225-VE Mk II
      7.40.1.12018-01-318.40.12018-09-199.80.12020-05-04
      AXIS P3245-LV、AXIS P3245-LVE10.11.852022-06-149.80.3.132022-07-2210.12.1042022-09-05
      AXIS P3245-LVE 22 毫米10.4.32021-03-1010.12.1042022-09-05
      AXIS P3245-V、AXIS P3245-VE10.11.852022-06-149.80.3.132022-07-2210.12.1042022-09-05
      AXIS P3247-LV、AXIS P3247-LVE10.11.892022-06-209.80.3.132022-07-2210.12.1042022-09-06
      AXIS P3248-LV、AXIS P3248-LVE10.11.892022-06-29.80.3.132022-07-2210.12.1042022-09-06
      AXIS P3267-LV、AXIS P3267-LVE、
      AXIS P3268-LV、AXIS P3268-LVE
      11.0.8910.12.552022-06-16
      AXIS P3727-PLE10.7.82021-10-2910.12.1042022-09-05
      AXIS P3925-LRE11.0.892022-09-219.80.3.142022-09-0710.12.1042022-09-05
      AXIS P3925-R11.0.93 2022-09-309.80.3.142022-09-0710.12.1042022-09-05
      AXIS P3935-LR11.0.95 2022-10-049.80.3.142022-09-0710.12.1042022-09-05
      AXIS Q1615 Mk III、
      AXIS Q1615-LE Mk III
      11.0.89 2022-09-2110.12.652022-07-01
      AXIS Q171511.0.89 2022-09-2110.12.552022-06-16
      AXIS Q1798-LE11.0.89 2022-09-219.80.3.132022-07-2210.12.652022-07-01
      AXIS Q3538-LVE、AXIS Q3538-SLVE10.9.62022-02-0910.12.1042022-09-05
      AXIS Q3819-PVE10.11.852022-06-1410.12.1042022-09-05
      AXIS Q6010-E11.0.89 2022-09-219.80.102022-11-1810.12.732022-07-13
      AXIS Q6074,
      AXIS Q6074-E
      10.11.872022-06-169.80.3.132022-07-2210.12.1042022-09-05
      AXIS Q6075、
      AXIS Q6075-E、
      AXIS Q6075-SE
      10.11.872022-06-169.80.3.132022-07-2210.12.1042022-09-05
      AXIS Q6100-E11.0.892022-09-2110.12.732022-07-13
      AXIS Q6215-LE11.2.532022-12-229.80.102022-11-1810.12.1302022-11-25
      AXIS Q6315-LE10.9.12022-12-2210.12.1042022-09-05
      AXIS Q9216-SLV10.11.552022-04-219.80.3.112022-05-0610.12.1042022-09-05
      AXIS S301611.10.652024-03-11

      叠加图像支持

      叠加图像是设备特定功能集的一部分,因为可以使用的图像取决于设备的图像传感器尺寸、分辨率和其他参数。一般而言,将叠加图像上传到 Axis 设备时需要考虑以下事项:

      • 支持的文件:

        • AXIS OS 9.80 LTS 及更低版本支持 24 位 BMP 文件。

        • 从 AXIS OS 10.7 及更高版本开始支持 24 位 BMP、jpeg、png 和 svg+xml 文件*。

      • 覆盖图像的最大分辨率为 1920x1080 像素。

      • 覆盖图像的高度和宽度不能超过 Axis 设备的分辨率。例如,如果 Axis 设备的分辨率设置为 1289x720,则覆盖图像不能大于该分辨率。

      • 最多支持 256 种颜色。建议使用 250 种颜色,以节省剩余颜色用于透明度和配置目的。

      • 当使用附加文本覆盖时,高度为 16 或 32 像素且宽度与分辨率相同的像素将不适用于图像覆盖。

      • 根据 AXIS OS 版本,某些 Axis 设备支持的最大像素数(宽度乘以高度)上限为 109920(旧版本)或 64000 像素(新版本)。宽度和高度需要能被 32 整除。

      *还支持 AXIS P1375/-E、AXIS P1377/-LE、AXIS P1378/-LE、AXIS P5654-E、AXIS P5655-E、AXIS M1134、AXIS M1135/-E、AXIS M1137/-E、AXIS M3064-V、AXIS M3065-V、AXIS M3066-V、AXIS M3115-LVE、AXIS P3245-V/-VE/-LV/-LVE、AXIS P3247-LV/-LVE、AXIS P3248-LV/-LVE、AXIS P3715-PLVE、AXIS P3717-PLE、AXIS P3719-PLE、AXIS P3925-R/-LRE、AXIS AXIS OS 9.80 LTS 中的 P3935-LR、AXIS Q6074/-E、AXIS Q6075/-E/-S/-SE 和 AXIS Q6078-E

      图像叠加透明度支持
      BMP 8 位 + 24 位是的,通过为透明度指定一种颜色。不支持其他位深度。
      JPEG不支持
      巴布亚新几内亚本机支持*
      SVG+XML本机支持*

      * 通过图像格式支持透明度。这意味着您可以导入已经包含透明信息的图像。

      在 GIMP 中设置图像大小
      下面的屏幕截图说明了如何在 GIMP 中设置图像的正确图像大小。

      在 GIMP 中设置最大颜色
      下面的截图说明了如何使用 GIMP 在图像中设置最大颜色。请注意,必须在图像 > 模式 > 索引中设置颜色数量。完成后,切换回图像 > 模式 > RGB
      注意:如果要使用透明度,请确保在设置最大颜色后使用吸管工具检查透明部分的颜色。

      在 GIMP 中导出 24 位 bmp 文件 下面
      的屏幕截图说明如何将图像导出为 24 位位图图像。

      发送邮件

      AXIS OS 设备支持通过内置事件系统向各种邮件服务发送邮件。虽然您可以自定义设置,但某些公共邮件服务器选项是预先配置的。使用 Gmail、Yahoo 等公共邮件服务时,您只能满足其服务的要求。从 2022 年 5 月 30 日起,Google(以及 Gmail 邮件服务)将不再支持使用第三方应用或设备,这些应用或设备要求您仅使用用户名和密码登录 Google 帐户。这意味着 AXIS OS 设备将无法在不使用Google App Password 的情况下使用 Gmail 地址作为发件人发送邮件。在此日期之后,无需额外配置,仍可以使用 Gmail 地址作为收件人。此外,从 2022 年 12 月 30 日起,Microsoft 将不再支持 基本身份验证。这意味着如果使用基本身份验证,Hotmail、Outlook 等将停止工作。微软对此没有自己的解决方案。

      (C) 2022 Axis Communications AB。AXIS COMMUNICATIONS AXIS、ARTPEC 和 VAPIX 是Axis AB在不同司法管辖区的注册商标。所有其他商标均归其各自所有者所有。