GetClip - Amazon Kinesis Video Streams

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

GetClip

指定した時間範囲において、アーカイブされたオンデマンドメディアを含む MP4 ファイル (クリップ) を、指定したビデオストリームからダウンロードできます。

どちらも StreamName StreamARN パラメーターはオプションですが、 StreamName または、この API オペレーションを呼び出すときに StreamArn を指定します。

GetClip API の使用の前提条件として、GetDataEndpoint を使用してエンドポイントを取得し、APINameパラメーターに GET_CLIP を指定する必要があります。

Amazon Kinesis のビデオストリームには、MP4 を使用してデータを提供するための次の要件があります。

  • メディアには、h.265 または h.264 でエンコードされた動画のほか、必要に応じて AAC または 711で エンコードされたオーディオが含まれている必要があります。具体的には、トラック 1 のコーデック ID は V_MPEG/ISO/AVC (h.264 の場合) または V_MPEGH/ISO/HEVC (H.265 の場合) にする必要があります。必要に応じて、トラック 2 のコーデック ID は A_AAC (AAC の場合) または A_MS/ACM (G.711 の場合) にする必要があります。

  • データの保持期間が 0 より大きい。

  • 各フラグメントの動画トラックに、AVC (Advanced Video Coding) のコーデックプライベートデータが H.264 形式で、および HEVC のコーデックプライベートデータが H.265 形式で含まれている必要があります。詳細については、「MPEG-4 仕様 ISO/IEC 14496-15」を参照してください。ストリームデータを特定の形式に適応させる方法については、「NAL 適応フラグ」を参照してください。

  • 各フラグメントのオーディオトラック (存在する場合) に、コーデックプライベートデータが AAC 形式 (AAC 仕様 ISO/IEC 13818-7) または MS Wave 形式 で含まれている必要があります。

送信データの量をモニタリングするには、GetClip.OutgoingBytesアマゾン CloudWatch メトリクス。の使用の詳細 CloudWatch Kinesis Video Streams を監視するには、を参照してください。Kinesis Video Streams のモニタリング。料金情報については、「Amazon Kinesis Video Streams の料金」および「AWS 料金」を参照ください。送信する AWS データには料金がかかります。

リクエストの構文

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 またはStreamArn。

Type: 文字列

長さの制約: 最小長は 1 です。 最大長は 1,024 です。

パターン: arn:[a-z\d-]+:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+

: 必須 いいえ

StreamName

メディアクリップを取得するストリームの名前。

次のいずれかを指定する必要があります。 StreamName またはStreamArn。

Type: 文字列

長さの制約: 最小長は 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 Limits」を参照してください。

エラー

すべてのアクションに共通のエラーについては、「一般的なエラー」を参照してください。

ClientLimitExceededException

制限を超えたため、Kinesis Video Streams がリクエストをスロットリングしました。後で呼び出しを試みてください。制限事項の詳細については、「Kinesis Video Streams Limits」を参照してください。

HTTP ステータスコード: 400

InvalidArgumentException

指定されたパラメータが制限を超えているか、サポートされていない、または使用できません。

HTTP ステータスコード: 400

InvalidCodecPrivateDataException

ビデオストリームの少なくとも 1 つのトラックにあるコーデックのプライベートデータは、この操作には無効です。

HTTP ステータスコード: 400

InvalidMediaFrameException

要求されたクリップの 1 つまたは複数のフレームは、指定されたコーデックに基づいて解析できませんでした。

HTTP ステータスコード: 400

MissingCodecPrivateDataException

ビデオストリームの少なくとも 1 つのトラックにコーデックのプライベートデータがありませんでした。

HTTP ステータスコード: 400

NoDataRetentionException

データを保持しない(0 のDataRetentionInHours が含まれる)ストリームに対してストリーミングセッションがリクエストされました。

HTTP ステータスコード: 400

NotAuthorizedException

ステータスコード: 403 呼び出し元は、指定されたストリームで操作を実行する権限がないか、トークンの有効期限が切れています。

HTTP ステータスコード: 401

ResourceNotFoundException

GetImagesは、Kinesis Video Streams が指定したストリームを見つけられない場合に、このエラーをスローします。

GetHLSStreamingSessionURL および GetDASHStreamingSessionURL は、要求された時間範囲内にフラグメントがないストリームに対して ON_DEMAND または LIVE_REPLAYPlaybackMode があるセッションが要求された場合、あるいは過去 30 秒以内にフラグメントがないストリームに対してLIVEPlaybackMode があるセッションが要求された場合に、このエラーをスローします。

HTTP ステータスコード: 404

UnsupportedStreamMediaTypeException

メディアのタイプ(例えば、h.264、h.265 動画、または ACC、G.711 オーディオ)は、再生セッションの最初のフラグメント内のトラックのコーデック ID から判別できませんでした。トラック 1 のコーデック ID は V_MPEG/ISO/AVC である必要があります。また、オプションでトラック 2 のコーデック ID は A_AAC である必要があります。

HTTP ステータスコード: 400

以下の資料も参照してください。

言語固有の AWS SDK のいずれかでこの API を使用する方法の詳細については、以下を参照してください。