本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
疑難排解
未交付至 Amazon S3 儲存貯體的影像
若要疑難排解此問題,需要注意幾件事:
-
缺少許可
-
映像產生組態不正確
-
標籤未新增至片段
缺少許可
如果您使用的是客戶受管 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中的 ,並確認它看起來正確。
確認映像產生標籤已新增至片段
-
檢查
putKinesisVideoEventMetadata呼叫是否成功。putKinesisVideoEventMetadata方法會在成功時傳回狀態碼 0。建議您檢查 0 函數的傳回值。如果傳回非零狀態碼,請將其轉換為十六進位,並檢查 錯誤碼參考 以取得詳細資訊。請確定您已開啟錯誤日誌,並檢閱日誌是否有應用程式中的任何其他錯誤。檢閱並比較應用程式的影格提交呼叫模式與建議的實作:將影像產生標籤新增至片段。
-
驗證本機產生的 MKV 檔案
確認生產者開發套件或範例應用程式已正確附加標籤。
-
設定
KVS_DEBUG_DUMP_DATA_FILE_DIR環境變數。如果設定此值,生產者 SDK 會將已傳送至 Kinesis Video Streams 的媒體檔案寫入指定位置。export KVS_DEBUG_DUMP_DATA_FILE_DIR=/path/to/output/directory注意
如果路徑不存在,則 SDK 不會建立新的目錄。視需要建立 資料夾。
-
再次執行應用程式。您應該會看到寫入指定輸出目錄
.mkv的檔案。 -
使用 MKVToolNix 或其他軟體驗證內容以確保標籤存在。
-
安裝 MKVToolNix:
brew install mkvtoolnix -
使用輸出目錄中的其中一個
.mkv檔案來執行 MKVToolNix。mkvinfo -v ./path/to/video/file -
檢閱 MKVToolNix 輸出。如果正確叫用
KinesisVideoStream::PutFragmentMetadata生產者 SDK 方法,您應該會看到下列 MKV 標籤。|+ Tags | + Tag | + Simple | + Name: AWS_KINESISVIDEO_IMAGE_GENERATION注意
標籤在之前屬於叢集。
-
-
如果 MKV 標籤不存在,請確保已使用
STREAM_EVENT_TYPE_IMAGE_GENERATION引數呼叫KinesisVideoStream::PutEventMetadata生產者 SDK 方法,且傳回成功 (0) 程式碼。
-