View a markdown version of this page

疑難排解 - Amazon Kinesis Video Streams

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

疑難排解

未交付至 Amazon S3 儲存貯體的影像

若要疑難排解此問題,需要注意幾件事:

  1. 缺少許可

  2. 映像產生組態不正確

  3. 標籤未新增至片段

缺少許可

如果您使用的是客戶受管 KMS 金鑰,請確定執行PutMedia呼叫的角色 (上傳者) 具有適當的加密和解密許可,並可存取 Amazon S3 儲存貯體,如下所示:

  • kms:Encrypt

  • kms:GenerateDataKey

  • kms:Decrypt

  • s3:PutObject

如需詳細資訊,請參閱如何開始使用伺服器端加密?

驗證目的地

使用 AWS CLI 呼叫串流的 DescribeImageGenerationConfiguration API。

aws kinesisvideo describe-image-generation-configuration \ --stream-name "demo-stream"

檢閱回應DestinationConfig中的 ,並確認它看起來正確。

確認映像產生標籤已新增至片段

  1. 檢查putKinesisVideoEventMetadata呼叫是否成功。

    putKinesisVideoEventMetadata 方法會在成功時傳回狀態碼 0。建議您檢查 0 函數的傳回值。如果傳回非零狀態碼,請將其轉換為十六進位,並檢查 錯誤碼參考 以取得詳細資訊。

    請確定您已開啟錯誤日誌,並檢閱日誌是否有應用程式中的任何其他錯誤。檢閱並比較應用程式的影格提交呼叫模式與建議的實作:將影像產生標籤新增至片段

  2. 驗證本機產生的 MKV 檔案

    確認生產者開發套件或範例應用程式已正確附加標籤。

    1. 設定 KVS_DEBUG_DUMP_DATA_FILE_DIR 環境變數。如果設定此值,生產者 SDK 會將已傳送至 Kinesis Video Streams 的媒體檔案寫入指定位置。

      export KVS_DEBUG_DUMP_DATA_FILE_DIR=/path/to/output/directory
      注意

      如果路徑不存在,則 SDK 不會建立新的目錄。視需要建立 資料夾。

    2. 再次執行應用程式。您應該會看到寫入指定輸出目錄.mkv的檔案。

    3. 使用 MKVToolNix 或其他軟體驗證內容以確保標籤存在。

      1. 安裝 MKVToolNix: brew install mkvtoolnix

      2. 使用輸出目錄中的其中一個.mkv檔案來執行 MKVToolNix。

        mkvinfo -v ./path/to/video/file
      3. 檢閱 MKVToolNix 輸出。如果正確叫用KinesisVideoStream::PutFragmentMetadata生產者 SDK 方法,您應該會看到下列 MKV 標籤。

        |+ Tags | + Tag | + Simple | + Name: AWS_KINESISVIDEO_IMAGE_GENERATION
        注意

        標籤在之前屬於叢集。

    4. 如果 MKV 標籤不存在,請確保已使用 STREAM_EVENT_TYPE_IMAGE_GENERATION引數呼叫KinesisVideoStream::PutEventMetadata生產者 SDK 方法,且傳回成功 (0) 程式碼。