建置 Amazon Kinesis Video Streams Edge Agent - Amazon Kinesis Video Streams

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

建置 Amazon Kinesis Video Streams Edge Agent

建置 Amazon Kinesis Video Streams Edge Agent
  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。

    注意

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

    導覽至包含 的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. 使用先前步驟的值設定環境變數。下表提供變數的說明。

    環境變數名稱 必要 描述

    AWS_REGION

    使用的 區域。

    範例:us-west-2

    AWS_IOT_CA_CERT

    透過 建立對後端服務的信任的 CA 憑證檔案路徑TLS。

    範例/file/path/to/AmazonRootCA1.pem

    AWS_IOT_CORE_CERT

    X.509 憑證的檔案路徑。

    範例/file/path/to/certificateID-certificate.pem.crt

    AWS_IOT_CORE_CREDENTIAL_ENDPOINT

    AWS 您帳戶的AWS IoT Core 憑證端點提供者端點。

    範例credential-account-specific-prefix.credentials.iot.aws-region.amazonaws.com

    AWS_IOT_CORE_DATA_ATS_ENDPOINT

    您 AWS 帳戶AWS IoT Core 的資料平面端點

    範例data-account-specific-prefix.iot.aws-region.amazonaws.com

    AWS_IOT_CORE_PRIVATE_KEY

    公有/私有金鑰對中使用的私有金鑰檔案路徑。如需詳細資訊,請參閱 中的金鑰管理 AWS IoT

    範例/file/path/to/certificateID-private.pem.key

    AWS_IOT_CORE_ROLE_ALIAS

    連線到 時, AWS IAM指向要使用之角色的角色別名名稱 AWS IoT Core。

    範例kvs-edge-role-alias

    AWS_IOT_CORE_THING_NAME

    應用程式正在執行的 AWS IoT 物件名稱。

    範例my-edge-device-thing

    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

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

    • 最小值:0

    • 最大值:10000

    • 預設: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/

    GST_DEBUG

    指定要輸出的GStreamer日誌層級。如需詳細資訊,請參閱 GStreamer 文件

    範例:0

    GST_DEBUG_FILE

    指定GStreamer偵錯日誌的輸出檔案。如果取消設定,偵錯日誌會輸出為標準錯誤。如需詳細資訊,請參閱 GStreamer 文件

    範例/tmp/gstreamer-logging.log

  7. 清除GStreamer快取。類型:

    rm ~/.cache/gstreamer-1.0/registry.your-os-architecture.bin

    如需詳細資訊,請參閱 GStreamer 登錄檔文件

  8. 準備並執行 java 命令。Amazon Kinesis Video Streams Edge Agent 接受下列引數:

    Java 屬性名稱 必要 描述

    java.library.path

    檔案路徑指向包含 gstkvssinkIngestorPipelineJNI相依程式庫的資料夾。如果未提供,Amazon Kinesis Video Streams Edge 代理程式將在目前的目錄中搜尋它們。

    重要

    如果找不到這些檔案,Amazon Kinesis Video Streams Edge Agent 將無法正常運作。

    範例/file/path/

    若要設定這些命令,請-Djava-property-name=value新增至用來執行 jar 的 java 命令。

    例如:

    java -Djava.library.path=/download-location/kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion \ --add-opens java.base/jdk.internal.misc=ALL-UNNAMED \ -Dio.netty.tryReflectionSetAccessible=true \ -cp kvs-edge-agent.jar:libs.jar \ com.amazonaws.kinesisvideo.edge.controller.ControllerApp
    重要

    從與 相同的目錄執行上述 java 命令/download-location/kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion

  9. 使用 將組態傳送至應用程式 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. 若要將檔案傳送至 Amazon Kinesis Video Streams Edge Agent,請在 中輸入下列內容 AWS CLI:

      aws kinesisvideo start-edge-configuration-update --cli-input-json "file://example-edge-configuration.json"
  10. 針對 Amazon Kinesis Video Streams Edge Agent 的每個串流重複上述步驟。