在设备上部署 Amazon Kinesis Video Streams 边缘 AWS IoT Greengrass 代理组件 - Amazon Kinesis Video Streams

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

在设备上部署 Amazon Kinesis Video Streams 边缘 AWS IoT Greengrass 代理组件

执行以下操作在设备上部署 Amazon Kinesis Video Streams Edge Ag AWS IoT Greengrass ent 组件:

部署组件
  1. 使用提供的链接下载tar文件。

    如果你填写了 Amazon Kinesis Video Streams Edge Agent 意向表,请查看电子邮件中的下载链接。如果您尚未填写表格,请在此处填写。

  2. 验证校验和。

  3. 提取设备中的二进制文件和 jar。

    类型:tar -xvf kvs-edge-agent.tar.gz

    解压缩后,您的文件夹结构将如下所示:

    kvs-edge-agent/LICENSE kvs-edge-agent/THIRD-PARTY-LICENSES kvs-edge-agent/pom.xml kvs-edge-agent/KvsEdgeComponent kvs-edge-agent/KvsEdgeComponent/recipes kvs-edge-agent/KvsEdgeComponent/recipes/recipe.yaml kvs-edge-agent/KvsEdgeComponent/artifacts kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion/edge_log_config kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion/kvs-edge-agent.jar kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion/libgstkvssink.so kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion/libIngestorPipelineJNI.so kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion/lib kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion/lib/libcproducer.so kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion/lib/libKinesisVideoProducer.so
    注意

    发行版文件夹名称的设置应反映最新的二进制版本号。例如,1.0.0 版本的文件夹名称将设置为 1.0.0。

  4. 构建依赖关系 jar。

    注意

    kvs-edge-agent.tar.gz 中包含的 jar 没有依赖关系。使用以下步骤来构建这些库。

    导航到包含kvs-edge-agent的文件夹pom.xml

    键入 mvn clean package

    这将生成一个 jar 文件,其中包含亚马逊 Kinesis Video Streams Edge Agent 所需的kvs-edge-agent/target/libs.jar依赖项。

  5. 将 libs.jar 放入包含组件构件的文件夹中。

    键入 mv ./target/libs.jar ./KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion/

  6. 可选。配置属性。Amazon Kinesis Video Streams Edge Agent AWS IoT Greengrass 在模式下接受以下环境变量:

    环境变量名 必需 描述

    AWS_REGION

    使用的区域。

    示例:us-west -2

    AWS IoT Greengrass 核心软件会自动为您设置此值。有关更多信息,请参阅《 AWS IoT Greengrass Version 2 开发人员指南》中的组件环境变量参考主题。

    GST_PLUGIN_PATH

    指向包含gstkvssinkIngestorPipelineJNI依赖于平台的库的文件夹的文件路径。这样就可以GStreamer加载这些插件了。有关更多信息,请参阅 下载、构建和配置GStreamer元素

    示例/download-location/kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion/

    LD_LIBRARY_PATH

    指向包含cproducerKinesisVideoProducer依赖于平台的库的目录的文件路径。

    示例/download-location/kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion/lib/

    AWS_KVS_EDGE_CLOUDWATCH_ENABLED

    确定 Amazon Kinesis Video Streams Video Streams Edge Agent 是否会将作业运行状况指标 Amazon CloudWatch发布到上。

    可接受的值:TRUE/FALSE(不区分大小写)。FALSE如果未提供,则默认为。

    示例:FALSE

    AWS_KVS_EDGE_LOG_LEVEL

    亚马逊 Kinesis Video Streams Video Streams Edge Agent 输出的记录级别。

    可接受的值:

    • OFF

    • ALL

    • FATAL

    • ERROR

    • WARN

    • INFO,默认(如果未提供)

    • DEBUG

    • TRACE

    示例INFO

    AWS_KVS_EDGE_LOG_MAX_FILE_SIZE

    一旦日志文件达到此大小,就会发生翻转。

    • 最小:1

    • 最大值:100

    • 默认值:20(如果未提供)

    • 单位:兆字节 (MB)

    示例:5

    AWS_KVS_EDGE_LOG_OUTPUT_DIRECTORY

    指向输出 Amazon Kinesis Video Streams Edge Agent 日志的目录的文件路径。./log如果未提供,则默认为。

    示例/file/path/

    AWS_KVS_EDGE_LOG_ROLLOVER_COUNT

    删除前要保留的翻转日志的数量。

    • 最小:1

    • 最大值:100

    • 默认值:10(如果未提供)

    示例:20

    AWS_KVS_EDGE_RECORDING_DIRECTORY

    指向录制媒体将被写入的目录的文件路径。如果未提供,则默认为当前目录。

    示例/file/path/

    GREENGRASS_ROOT_DIRECTORY

    AWS IoT Greengrass 根目录的文件路径。

    /greengrass/v2/如果未提供,则默认为。

    示例/file/path/

    GST_DEBUG

    指定要输出的GStreamer日志级别。有关更多信息,请参阅GStreamer文档

    示例:0

    GST_DEBUG_FILE

    指定调GStreamer试日志的输出文件。如果未设置,则调试日志将输出为标准错误。有关更多信息,请参阅GStreamer文档

    示例/tmp/gstreamer-logging.log

    打开kvs-edge-agent/KvsEdgeComponent/recipes/recipe.yaml并修改运行脚本以添加上述任何环境变量。

    重要

    确保修改后的运行脚本不包含任何制符。 AWS IoT Greengrass 核心软件将无法读取食谱。

  7. 部署 Amazon Kinesis Video Streams 边缘 AWS IoT Greengrass 代理组件。

    类型:

    sudo /greengrass/v2/bin/greengrass-cli deployment create \ --recipeDir <download location>/kvs-edge-agent/KvsEdgeComponent/recipes/ \ --artifactDir <download location>/kvs-edge-agent/KvsEdgeComponent/artifacts/ \ --merge "aws.kinesisvideo.KvsEdgeComponent=EdgeAgentVersion"

    有关更多信息,请参阅《AWS IoT Greengrass Version 2 开发人员指南》中的以下章节:

  8. 使用向应用程序发送配置 AWS CLI。

    1. 创建一个新文件,example-edge-configuration.json

      将以下代码粘贴到该文件中。这是一个配置示例,每天从上午 9:00:00 到下午 4:59:59(根据设备上的系统时间)进行记录。 AWS IoT 它还会在每天晚上 7:00:00 至晚上 9:59:59 上传录制的媒体。

      有关更多信息,请参阅 StartEdgeConfigurationUpdate

      { "StreamARN": "arn:aws:kinesisvideo:your-region:your-account-id:stream/your-stream/0123456789012", "EdgeConfig": { "HubDeviceArn": "arn:aws:iot:your-region:your-account-id:thing/kvs-edge-agent-demo", "RecorderConfig": { "MediaSourceConfig": { "MediaUriSecretArn": "arn:aws:secretsmanager:your-region:your-account-id:secret:your-secret-dRbHJQ", "MediaUriType": "RTSP_URI" }, "ScheduleConfig": { "ScheduleExpression": "0 0 9,10,11,12,13,14,15,16 ? * * *", "DurationInSeconds": 3599 } }, "UploaderConfig": { "ScheduleConfig": { "ScheduleExpression": "0 0 19,20,21 ? * * *", "DurationInSeconds": 3599 } }, "DeletionConfig": { "EdgeRetentionInHours": 15, "LocalSizeConfig": { "MaxLocalMediaSizeInMB": 2800, "StrategyOnFullSize": "DELETE_OLDEST_MEDIA" }, "DeleteAfterUpload": true } } }
    2. 在中键入以下内容将文件发送 AWS CLI 到 Amazon Kinesis Video Streams Edge Agent:

      aws kinesisvideo start-edge-configuration-update --cli-input-json "file://example-edge-configuration.json"
  9. 对亚马逊 Kinesis Video Streams Edge Agent 的每个直播重复上述步骤。