本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
GetClip
在指定的時間範圍內,從指定的視訊串流下載包含已封存的隨選媒體的MP4檔案 (剪輯片段)。
這兩個 StreamName 和 Stream ARN 參數是可選的,但您必須在調用此API操作ARN時指定 StreamName 或 Stream。
注意
您必須先呼叫GetDataEndpoint
API以取得端點。然後使用 --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
重要
每個片段中包含的轉碼器 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
要求不保留資料的串流 (也就是說,aDataRetentionInHours
為 0)。HTTP狀態碼:4
- NotAuthorizedException
-
狀態碼:403,調用者未授權在給定流上執行操作,或令牌已過期。
HTTP狀態碼:4
- ResourceNotFoundException
-
GetImages
當 Kinesis 影片串流找不到您指定的串流時,就會擲回此錯誤。GetHLSStreamingSessionURL
如果在請求的時間範圍內沒有片段PlaybackMode
的流請求具有ON_DEMAND
orLIVE_REPLAY
的會話,或者如果在過去 30 秒內沒有片段PlaybackMode
的LIVE
流請求具有 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,請參閱下列內容: