Kinesis Video Streams 的边缘连接器 - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Kinesis Video Streams 的边缘连接器

Kinesis Video Streams 组件 aws.iot.EdgeConnectorForKVS () 的边缘连接器读取来自本地摄像机的视频源并将直播发布到 Kinesis Video Streams。您可以将此组件配置为使用实时流协议 (RTSP) 从互联网协议 (IP) 摄像机读取视频源。然后,您可以在 Amazon Managed Grafana 或本地 Grafana 服务器中设置控制面板,以监控视频流并与之交互。

您可以将此组件与集成 Amazon IoT TwinMaker ,以在 Grafana 仪表板中显示和控制视频流。Amazon IoT TwinMaker 是一项使您能够构建物理系统的可操作数字双胞胎的Amazon服务。您可以使用Amazon IoT TwinMaker 可视化来自传感器、摄像头和企业应用程序的数据,以便跟踪实际工厂、建筑物或工业厂房。您还可以使用这些数据来监控操作、诊断错误和修复错误。有关更多信息,请参阅Amazon IoT TwinMaker 《用户指南》中的什么是Amazon IoT TwinMaker?

该组件将其配置存储在中Amazon IoT SiteWise,这是一项对工业数据进行建模和存储的Amazon服务。在中Amazon IoT SiteWise,资产表示诸如设备、设备或其他对象组之类的对象。要配置和使用此组件,您需要为每台 Greengrass 核心设备以及连接到每台核心设备的每台 IP 摄像机创建Amazon IoT SiteWise资产。每项资产都有您可以配置的属性来控制直播、按需上传和本地缓存等功能。要为每台摄像机指定网址,请在中创建一个Amazon Secrets Manager包含摄像机网址的密钥。如果摄像机需要身份验证,则还需要在 URL 中指定用户名和密码。然后,您可以在 IP 摄像机的资产属性中指定该机密。

此组件将每台摄像机的视频流上传到 Kinesis 视频流。您可以在每台摄像机的Amazon IoT SiteWise资产配置中指定目标 Kinesis 视频流的名称。如果 Kinesis 视频流不存在,则此组件会为您创建。

Amazon IoT TwinMaker 提供了一个脚本,你可以运行该脚本来创建这些Amazon IoT SiteWise资产和 Secrets Manager 密钥。有关如何创建这些资源以及如何安装、配置和使用此组件的更多信息,请参阅《Amazon IoT TwinMaker 用户指南》中的Amazon IoT TwinMaker 视频集成

注意

Kinesis Video Streams Video Streams 组件的边缘连接器仅在以下版本中Amazon Web Services 区域可用:

  • 美国东部(弗吉尼亚州北部)

  • 美国西部(俄勒冈州)

  • 欧洲地区(法兰克福)

  • 欧洲地区(爱尔兰)

  • 亚太地区(新加坡)

版本

此组件有以下版本:

  • 1.0.x

类型

组件是一个通用组件 (aws.greengrass.generic)。Greengrass 核心运行组件的生命周期脚本。

有关更多信息,请参阅 组件类型

操作系统

此组件只能安装在 Linux 核心设备上。

要求

此组件具有以下要求:

  • 您只能将此组件部署到单核设备,因为每个核心设备的组件配置必须是唯一的。您无法将此组件部署到核心设备组。

  • GStreamer 1.18.4 或更高版本安装在核心设备上。有关更多信息,请参阅安装 gStreamer

    在带有的设备上apt,您可以运行以下命令来安装 GStreamer。

    sudo apt install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-base-apps sudo apt install -y gstreamer1.0-libav sudo apt install -y gstreamer1.0-plugins-bad gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-tools
  • 每台核心设备的Amazon IoT SiteWise资产。此Amazon IoT SiteWise资产代表核心设备。有关如何创建此资产的更多信息,请参阅《Amazon IoT TwinMaker 用户指南》中的Amazon IoT TwinMaker 视频集成

  • 与每个核心设备相连的每台 IP 摄像机的Amazon IoT SiteWise资产。这些Amazon IoT SiteWise资产代表向每台核心设备传输视频的摄像机。每台摄像机的资产都必须与连接到摄像机的核心设备的资产相关联。相机资产具有属性,您可以配置这些属性来指定 Kinesis 视频流、身份验证密钥和视频流参数。有关如何创建和配置摄像机资产的更多信息,请参阅《Amazon IoT TwinMaker 用户指南》中的Amazon IoT TwinMaker 视频集成

  • 每台 IP 摄像机的Amazon Secrets Manager秘密。这个密钥必须定义一个键值对,其中密钥是RTSPStreamUrl,值是摄像机的网址。如果摄像机需要身份验证,请在此 URL 中包含用户名和密码。在创建此组件所需的资源时,您可以使用脚本来创建密钥。有关更多信息,请参阅《Amazon IoT TwinMaker 用户指南》中的Amazon IoT TwinMaker 视频集成

    您还可以使用 Secrets Manager 控制台和 API 来创建其他密钥。有关更多信息,请参阅《Amazon Secrets Manager用户指南》中的创建密钥

  • Greengrass 代币交换角色必须允许以下、和 Amazon IoT SiteWise Kinesis Video Streams 操作,如Amazon Secrets Manager以下示例 IAM 策略所示。

    注意

    此示例策略允许设备获取名为IPCamera1Url和的密钥的值IPCamera2Url。在配置每个 IP 摄像机时,您需要指定一个包含该摄像机 URL 的密钥。如果摄像机需要身份验证,则还需要在 URL 中指定用户名和密码。核心设备的令牌交换角色必须允许访问每个要连接的 IP 摄像机的密钥。

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "secretsmanager:GetSecretValue" ], "Effect": "Allow", "Resource": [ "arn:aws:secretsmanager:region:account-id:secret:IPCamera1Url", "arn:aws:secretsmanager:region:account-id:secret:IPCamera2Url" ] }, { "Action": [ "iotsitewise:BatchPutAssetPropertyValue", "iotsitewise:DescribeAsset", "iotsitewise:DescribeAssetModel", "iotsitewise:DescribeAssetProperty", "iotsitewise:GetAssetPropertyValue", "iotsitewise:ListAssetRelationships", "iotsitewise:ListAssets", "iotsitewise:ListAssociatedAssets", "kinesisvideo:CreateStream", "kinesisvideo:DescribeStream", "kinesisvideo:GetDataEndpoint", "kinesisvideo:PutMedia", "kinesisvideo:TagStream" ], "Effect": "Allow", "Resource": [ "*" ] } ] }
    注意

    如果您使用客户管理的密Amazon Key Management Service钥来加密机密,则设备角色还必须允许该kms:Decrypt操作。

端点和端口

除了基本操作所需的端点和端口外,此组件还必须能够对以下端点和端口执行出站请求。有关更多信息,请参阅 允许设备流量通过代理或防火墙

Endpoint 端口 必需 描述

kinesisvideo.region.amazonaws.com

443

将数据上传到 Kinesis Video Streams。

data.iotsitewise.region.amazonaws.com

443

将视频流元数据发布到Amazon IoT SiteWise。

secretsmanager.region.amazonaws.com

443

将摄像头 URL 密钥下载到核心设备。

依赖项

部署组件时,Amazon IoT Greengrass还会部署其依赖项的兼容版本。这意味着您必须满足组件及其所有依赖项的要求才能成功部署该组件。本节列出了此组件已发布版本的依赖关系以及定义每个依赖项的组件版本的语义版本限制。您还可以在Amazon IoT Greengrass控制台中查看组件每个版本的依赖关系。在组件详细信息页面上,查找 “依赖关系” 列表。

下表列出了此组件的 1.0.0 到 1.0.4 版本的依赖关系。

依赖关系 兼容版本 依赖关系类型
代币兑换服务 >=2.0.3 硬性
直播管理器 >=2.0.9 硬性

有关组件依赖关系的更多信息,请参阅组件配方参考

配置

此组件提供以下配置参数,您可以在部署该组件时对其进行自定义。

SiteWiseAssetIdForHub

代表此核心设备的Amazon IoT SiteWise资产的 ID。有关如何创建此资产并使用它与该组件交互的更多信息,请参阅《Amazon IoT TwinMaker 用户指南》中的Amazon IoT TwinMaker 视频集成

例 示例:配置合并更新
{ "SiteWiseAssetIdForHub": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }

许可证

此组件包括以下第三方软件/许可:

使用量

要配置此组件并与之交互,可以在代表核心设备及其连接的 IP 摄像机的Amazon IoT SiteWise资产上设置属性。您还可以通过以下方式在 Grafana 仪表板中可视化视频流并与之交互。Amazon IoT TwinMaker有关更多信息,请参阅《Amazon IoT TwinMaker 用户指南》中的Amazon IoT TwinMaker 视频集成

本地日志文件

此组件使用以下日志文件。

/greengrass/v2/logs/aws.iot.EdgeConnectorForKVS.log
查看此组件的日志
  • 在核心设备上运行以下命令以实时查看此组件的日志文件。/greengrass/v2替换为Amazon IoT Greengrass根文件夹的路径。

    sudo tail -f /greengrass/v2/logs/aws.iot.EdgeConnectorForKVS.log

更改日志

下表描述了该组件的每个版本中的更改。

版本

更改

1.0.4

错误修复和改进
  • 修复了导致实时上传停止的问题。

1.0.3

常规错误修复和性能改进。

1.0.1

常规错误修复和性能改进。

1.0.0

初始版本。

另请参阅