GetClip - Amazon Kinesis Video Streams

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

GetClip

在指定的時間範圍內,從指定的視訊串流下載包含已封存的隨選媒體的MP4檔案 (剪輯片段)。

這兩個 StreamName 和 Stream ARN 參數是可選的,但您必須在調用此API操作ARN時指定 StreamName 或 Stream。

注意

您必須先呼叫GetDataEndpointAPI以取得端點。然後使用 --end 點 url 參數將GetClip請求發送到此端點。

Amazon Kinesis 影片串流必須符合下列要求,才能透過MP4以下方式提供資料:

  • 視頻播放軌道要求

  • 資料保留必須大於 0。

  • 每個片段的視訊軌道必須包含 H.264 格式和 HEVC H.265 格式的「進階視訊編碼」(AVC) 中的編解碼器私人資料。如需詳細資訊,請參閱 MPEG-4 規格ISO/IEC14496-15。如需將串流資料調整為指定格式的相關資訊,請參閱NAL調整旗標

  • 每個片段的音軌(如果存在)必須包含AAC格式(AAC規格ISO/IEC13818-7)或 MS Wave 格式的編解碼器私有數據。

您可以透過監控 GetClip.OutgoingBytes Amazon CloudWatch 指標來監控傳出資料量。如需使用 CloudWatch 監視 Kinesis Video Streams 的相關資訊,請參閱監控 Kinesis Video Streams。如需定價資訊,請參閱 Amazon Kinesis Video Streams 定價和定AWS。外寄資 AWS 料需支付費用。

重要

每個片段中包含的轉碼器 private data (CPD) 都包含編解碼器特定的初始化資訊,例如影格速率、解析度和編碼設定檔,這些資訊對於正確解碼片段是必要的。CPD產生的剪輯片段的目標片段之間不支援變更。CPD必須通過查詢的媒體保持一致,否則將返回錯誤。

重要

不支援追蹤變更。在整個查詢的媒體中,曲目必須保持一致。如果串流中的片段從僅具有視訊變更為同時具有音訊和視訊,或是音軌變更為 A-Law AAC 音軌,則會傳回錯誤。

請求語法

POST /getClip HTTP/1.1 Content-type: application/json { "ClipFragmentSelector": { "FragmentSelectorType": "string", "TimestampRange": { "EndTimestamp": number, "StartTimestamp": number } }, "StreamARN": "string", "StreamName": "string" }

URI請求參數

請求不使用任何URI參數。

請求主體

請求接受以下JSON格式的數據。

ClipFragmentSelector

要求的剪輯片段的時間範圍和時間戳記的來源。

類型:ClipFragmentSelector 物件

必要:是

StreamARN

要擷取媒體剪輯的資料流的 Amazon 資源名稱 (ARN)。

您必須指定 StreamName 或串流ARN。

類型:字串

長度限制:長度下限為 1。長度上限為 1024。

模式:arn:[a-z\d-]+:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+

必要:否

StreamName

要擷取媒體片段的資料流名稱。

您必須指定 StreamName 或串流ARN。

類型:字串

長度限制:長度下限為 1。長度上限為 256。

模式:[a-zA-Z0-9_.-]+

必要:否

回應語法

HTTP/1.1 200 Content-Type: ContentType Payload

回應元素

如果動作成功,服務會傳回 HTTP 200 回應。

回應會傳回下列HTTP標頭。

ContentType

要求剪輯片段中媒體的內容類型。

長度限制:長度下限為 1。長度上限為 128。

模式:^[a-zA-Z0-9_\.\-]+$

響應返回以下內容作為HTTP主體。

Payload

包含來自指定視頻流媒體剪輯的傳統MP4文件。輸出將包含指定開始時間戳記的前 100 MB 或前 200 個片段。如需詳細資訊,請參閱 Kinesis Video Streams 配額

錯誤

如需所有動作常見錯誤的資訊,請參閱常見錯誤

ClientLimitExceededException

Kinesis Video Streams 已限制要求,因為您已超過限制。稍後再嘗試撥打電話。如需限制的相關資訊,請參閱 Kinesis Video Streams 配額

HTTP狀態碼:4

InvalidArgumentException

指定的參數超出其限制、不受支援或無法使用。

HTTP狀態碼:4

InvalidCodecPrivateDataException

視訊串流中至少一個軌道中的編解碼器私人資料對此作業無效。

HTTP狀態碼:4

InvalidMediaFrameException

根據指定的編解碼器,無法剖析要求剪輯片段中的一個或多個影格。

HTTP狀態碼:4

MissingCodecPrivateDataException

在視訊串流的至少一個軌道中找不到轉碼器私人資料。

HTTP狀態碼:4

NoDataRetentionException

GetImages要求不保留資料的串流 (也就是說,a DataRetentionInHours 為 0)。

HTTP狀態碼:4

NotAuthorizedException

狀態碼:403,調用者未授權在給定流上執行操作,或令牌已過期。

HTTP狀態碼:4

ResourceNotFoundException

GetImages當 Kinesis 影片串流找不到您指定的串流時,就會擲回此錯誤。

GetHLSStreamingSessionURL如果在請求的時間範圍內沒有片段PlaybackMode的流請求具有 ON_DEMAND or LIVE_REPLAY 的會話,或者如果在過去 30 秒內沒有片段PlaybackModeLIVE流請求具有 a 的會話,則GetDASHStreamingSessionURL拋出此錯誤。

HTTP狀態碼:4

UnsupportedStreamMediaTypeException

媒體類型 (例如 h.264 或 h.265 視訊AAC或 G.711 音訊) 無法從播放工作階段的第一個片段中曲目IDs的轉碼器判斷。音軌 1 的轉碼器 ID 應該是V_MPEG/ISO/AVC音軌 2 的編解碼器識別碼 (選擇性) A_AAC

HTTP狀態碼:4

另請參閱

如需有關API在其中一種特定語言中使用此功能的詳細資訊 AWS SDKs,請參閱下列內容: