步驟 6:在裝置上部署 Amazon Kinesis Video Streams 邊緣代理程式AWS IoT Greengrass元件 - Amazon Kinesis Video Streams

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

步驟 6:在裝置上部署 Amazon Kinesis Video Streams 邊緣代理程式AWS IoT Greengrass元件

在裝置上部署 Amazon Kinesis Video Streams 邊緣代理程式AWS IoT Greengrass元件
  1. 使用提供的鏈接下載tar文件。

    如果您已填妥 Amazon Kinesis Video Streams 邊緣代理程式興趣表單,請查看您的電子郵件以取得下載連結。如果您尚未填寫表格,請在此填寫。

  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 檔案,其中包含 Amazon Kinesis Video Streams 邊緣代理程式所需的相依性。kvs-edge-agent/target/libs.jar

  5. 將 libs.jar 放入包含元件加工品的資料夾中。

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

  6. 「選用」。配置屬性。Amazon Kinesis Video Streams 邊緣代理程AWS IoT Greengrass式在模式下接受下列環境變數:

    環境變數名稱 必要 描述

    AWS_REGION

    所使用的區域。

    範例:美西 -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 邊緣代理程式是否會將任務運作狀態指標張貼到上面Amazon CloudWatch。

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

    例如:

    AWS_KVS_EDGE_LOG_LEVEL

    記錄 Amazon Kinesis Video Streams 邊緣代理程式輸出的層級。

    接受的值:

    • OFF

    • ALL

    • 致命的

    • ERROR

    • WARN

    • INFO,默認值,如果未提供

    • DEBUG

    • TRACE

    範例INFO

    AWS_KVS_EDGE_LOG_MAX_FILE_SIZE

    一旦記錄檔達到此大小,就會發生變換。

    • 分鐘:1

    • 最大值:1

    • 預設值:20 (如果未提供)

    • 單位:百萬位元組 (MB)

    範例:5

    AWS_KVS_EDGE_LOG_OUTPUT_DIRECTORY

    指向輸出 Amazon Kinesis Video Streams 邊緣代理程式日誌所在目錄的檔案路徑。./log如果未提供,則預設為。

    範例/file/path/

    AWS_KVS_EDGE_LOG_ROLLOVER_COUNT

    刪除前要保留的轉換記錄檔數目。

    • 分鐘:1

    • 最大值:1

    • 預設值: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 PM 進行記錄 (根據裝置上的系統時間)。AWS IoT它還每天從晚上 7 點 00 分到晚上 9 點 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 邊緣代理程式:

      aws kinesisvideo start-edge-configuration-update --cli-input-json "file://example-edge-configuration.json"
  9. 針對 Amazon Kinesis 影片串流邊緣代理程式的每個串流重複上述步驟。