在裝置上部署 Amazon Kinesis Video Streams Edge Agent AWS IoT Greengrass 元件 - Amazon Kinesis Video Streams

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在裝置上部署 Amazon Kinesis Video Streams Edge Agent AWS IoT Greengrass 元件

執行下列操作,在裝置上部署 Amazon Kinesis Video Streams Edge Agent AWS IoT Greengrass 元件:

部署 元件
  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。

    注意

    .tar kvs-edge-agent.gz 隨附的 jar 沒有相依性。使用下列步驟建置這些程式庫。

    導覽至包含 的kvs-edge-agent資料夾pom.xml

    輸入 mvn clean package

    這將產生 jar 檔案,其中包含 Amazon 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 Edge Agent 是否會將任務運作狀態指標發佈至 Amazon CloudWatch。

    接受的值:TRUE/FALSE (不區分大小寫)。FALSE 如果未提供,則預設為 。

    範例: FALSE

    AWS_KVS_EDGE_LOG_LEVEL

    記錄 Amazon Kinesis Video Streams Edge Agent 輸出的層級。

    接受的值:

    • OFF

    • ALL

    • FATAL

    • ERROR

    • WARN

    • INFO,預設,如果未提供

    • DEBUG

    • TRACE

    範例INFO

    AWS_KVS_EDGE_LOG_MAX_FILE_SIZE

    一旦日誌檔案達到此大小,就會發生輪轉。

    • 最小值:1

    • 最大值:100

    • 預設:20,如果未提供

    • 單位:MB (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 Edge Agent 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. 針對 Amazon Kinesis Video Streams Edge Agent 的每個串流重複上述步驟。