

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

# GetClip
<a name="API_reader_GetClip"></a>

在指定的時間範圍內，從指定的影片串流下載包含封存隨需媒體的 MP4 檔案 (clip)。

StreamName 和 StreamARN 參數都是選用的，但您必須在叫用此 API 操作時指定 StreamName 或 StreamARN。

**注意**  
您必須先呼叫 `GetDataEndpoint` API 才能取得端點。然後使用 [--endpoint-url 參數](https://docs.aws.amazon.com/cli/latest/reference/)將`GetClip`請求傳送至此端點。

Amazon Kinesis 影片串流對於透過 MP4 提供資料有下列需求：
+  [影片播放軌跡需求](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/video-playback-requirements.html)。
+ 資料保留必須大於 0。
+ 每個片段的影片軌道必須針對視訊媒體的 H.264 格式的進階視訊編碼 (AVC)，以及針對 H.265 格式的 HEVC 中包含轉碼器私有資料。如需詳細資訊，請參閱 [MPEG-4 specification ISO/IEC 14496-15](https://www.iso.org/standard/55980.html)。如需將串流資料轉換為特定格式的相關資訊，請參閱 [NAL Adaptation Flags](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/producer-reference-nal.html)。
+ 每個片段的音訊軌道 (如果有) 必須包含 AAC 格式的編碼器私有資料 ([AAC 規格 ISO/IEC 13818-7](https://www.iso.org/standard/43345.html)) 或 [MS Wave 格式](https://www.mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/WAVE.html)。

您可以透過監控 Amazon CloudWatch `GetClip.OutgoingBytes` 指標來監控傳出資料的數量。如需有關使用 CloudWatch 監控 Kinesis Video Streams 的資訊，請參閱[監控 Kinesis Video Streams](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/monitoring.html)。如需定價資訊，請參閱 [Amazon Kinesis Video Streams 定價](https://aws.amazon.com/kinesis/video-streams/pricing/)和[AWS 定價](https://aws.amazon.com/pricing/)。需支付傳出 AWS 資料的費用。

**重要**  
每個片段中包含的轉碼器私有資料 (CPD) 包含轉碼器特定的初始化資訊，例如影格速率、解析度和編碼描述檔，這些是正確解碼片段的必要資訊。結果剪輯的目標片段之間不支援 CPD 變更。CPD 必須透過查詢的媒體保持一致，否則將會傳回錯誤。

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

## 請求語法
<a name="API_reader_GetClip_RequestSyntax"></a>

```
POST /getClip HTTP/1.1
Content-type: application/json

{
   "ClipFragmentSelector": { 
      "FragmentSelectorType": "{{string}}",
      "TimestampRange": { 
         "EndTimestamp": {{number}},
         "StartTimestamp": {{number}}
      }
   },
   "StreamARN": "{{string}}",
   "StreamName": "{{string}}"
}
```

## URI 請求參數
<a name="API_reader_GetClip_RequestParameters"></a>

請求不會使用任何 URI 參數。

## 請求主體
<a name="API_reader_GetClip_RequestBody"></a>

請求接受採用 JSON 格式的下列資料。

 ** [ClipFragmentSelector](#API_reader_GetClip_RequestSyntax) **   <a name="KinesisVideo-reader_GetClip-request-ClipFragmentSelector"></a>
所請求剪輯的時間範圍和時間戳記的來源。  
類型：[ClipFragmentSelector](API_reader_ClipFragmentSelector.md) 物件  
必要：是

 ** [StreamARN](#API_reader_GetClip_RequestSyntax) **   <a name="KinesisVideo-reader_GetClip-request-StreamARN"></a>
要擷取媒體剪輯之串流的 Amazon Resource Name (ARN)。  
您必須指定 StreamName 或 StreamARN。  
類型：字串  
長度限制：長度下限為 1。長度上限為 1024。  
模式：`arn:[a-z\d-]+:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+`  
必要：否

 ** [StreamName](#API_reader_GetClip_RequestSyntax) **   <a name="KinesisVideo-reader_GetClip-request-StreamName"></a>
要擷取媒體剪輯的串流名稱。  
您必須指定 StreamName 或 StreamARN。  
類型：字串  
長度限制：長度下限為 1。長度上限為 256。  
模式：`[a-zA-Z0-9_.-]+`  
必要：否

## 回應語法
<a name="API_reader_GetClip_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-Type: {{ContentType}}

{{Payload}}
```

## 回應元素
<a name="API_reader_GetClip_ResponseElements"></a>

如果動作成功，則服務傳回 HTTP 200 回應。

回應會傳回下列 HTTP 標頭。

 ** [ContentType](#API_reader_GetClip_ResponseSyntax) **   <a name="KinesisVideo-reader_GetClip-response-ContentType"></a>
所請求剪輯中媒體的內容類型。  
長度限制：長度下限為 1。長度上限為 128。  
模式：`^[a-zA-Z0-9_\.\-]+$`

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

 ** [Payload](#API_reader_GetClip_ResponseSyntax) **   <a name="KinesisVideo-reader_GetClip-response-Payload"></a>
傳統 MP4 檔案，其中包含來自指定影片串流的媒體剪輯。輸出將包含來自指定開始時間戳記的前 100 MB 或前 200 個片段。如需詳細資訊，請參閱 [Kinesis Video Streams 配額](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/limits.html)。

## 錯誤
<a name="API_reader_GetClip_Errors"></a>

如需所有動作常見錯誤的資訊，請參閱[常見錯誤類型](CommonErrors.md)。

 ** ClientLimitExceededException **   
Kinesis Video Streams 已調節請求，因為您已超過限制。稍後嘗試撥打電話。如需限制的相關資訊，請參閱 [Kinesis Video Streams 配額](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/limits.html)。  
HTTP 狀態碼：400

 ** InvalidArgumentException **   
指定的參數超過其限制、不支援或無法使用。  
HTTP 狀態碼：400

 ** InvalidCodecPrivateDataException **   
影片串流中至少一個軌跡中的轉碼器私有資料對此操作無效。  
HTTP 狀態碼：400

 ** InvalidMediaFrameException **   
無法根據指定的轉碼器剖析所請求剪輯中的一或多個影格。  
HTTP 狀態碼：400

 ** MissingCodecPrivateDataException **   
在影片串流的至少一個軌跡中找不到轉碼器私有資料。  
HTTP 狀態碼：400

 ** NoDataRetentionException **   
 `GetImages` 請求的串流不會保留資料 （也就是 `DataRetentionInHours`的 為 0)。  
HTTP 狀態碼：400

 ** NotAuthorizedException **   
狀態碼：403，呼叫者未獲授權在指定的串流上執行 操作，或權杖已過期。  
HTTP 狀態碼：401

 ** ResourceNotFoundException **   
 `GetImages` 當 Kinesis Video Streams 找不到您指定的串流時， 會擲回此錯誤。  
 `GetHLSStreamingSessionURL` 如果`LIVE_REPLAY`請求具有 `ON_DEMAND`或 `PlaybackMode`的工作階段的串流在請求的時間範圍內沒有片段，或者請求具有 `PlaybackMode` 的工作階段的串流在過去 30 秒內沒有片段，`LIVE`則`GetDASHStreamingSessionURL`擲回此錯誤。  
HTTP 狀態碼：404

 ** UnsupportedStreamMediaTypeException **   
媒體類型 （例如 h.264 或 h.265 視訊或 AAC 或 G.711 音訊） 無法從播放工作階段第一個片段中軌道的編解碼器 IDs 決定。軌道 1 的轉碼器 ID 應該是 ，`V_MPEG/ISO/AVC`並且可選地，軌道 2 的轉碼器 ID 應該是 `A_AAC`。  
HTTP 狀態碼：400

## 另請參閱
<a name="API_reader_GetClip_SeeAlso"></a>

如需在其中一種語言特定 AWS SDKs中使用此 API 的詳細資訊，請參閱下列內容：
+  [AWS 命令列界面 V2](https://docs.aws.amazon.com/goto/cli2/kinesis-video-reader-data-2017-09-30/GetClip) 
+  [AWS 適用於 .NET V4 的 SDK](https://docs.aws.amazon.com/goto/DotNetSDKV4/kinesis-video-reader-data-2017-09-30/GetClip) 
+  [AWS 適用於 C\+\+ 的 SDK](https://docs.aws.amazon.com/goto/SdkForCpp/kinesis-video-reader-data-2017-09-30/GetClip) 
+  [AWS 適用於 Go 的 SDK v2](https://docs.aws.amazon.com/goto/SdkForGoV2/kinesis-video-reader-data-2017-09-30/GetClip) 
+  [AWS 適用於 Java V2 的 SDK](https://docs.aws.amazon.com/goto/SdkForJavaV2/kinesis-video-reader-data-2017-09-30/GetClip) 
+  [AWS 適用於 JavaScript V3 的 SDK](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/kinesis-video-reader-data-2017-09-30/GetClip) 
+  [AWS 適用於 Kotlin 的 SDK](https://docs.aws.amazon.com/goto/SdkForKotlin/kinesis-video-reader-data-2017-09-30/GetClip) 
+  [AWS 適用於 PHP V3 的 SDK](https://docs.aws.amazon.com/goto/SdkForPHPV3/kinesis-video-reader-data-2017-09-30/GetClip) 
+  [AWS 適用於 Python 的 SDK](https://docs.aws.amazon.com/goto/boto3/kinesis-video-reader-data-2017-09-30/GetClip) 
+  [AWS 適用於 Ruby V3 的 SDK](https://docs.aws.amazon.com/goto/SdkForRubyV3/kinesis-video-reader-data-2017-09-30/GetClip) 