

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

# Amazon Chime SDK メディアストリームパイプラインを作成する
<a name="create-stream-pipeline"></a>

チャイムメディアストリームパイプラインは、Amazon Chime SDK 会議と同じ AWS アカウントに属している必要があります。Amazon Chime SDK メディアストリームパイプラインを作成するには、[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaStreamPipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaStreamPipeline.html) API を呼び出し、ソースとシンクを指定します。

次の図は、Amazon Chime SDK メディアストリームパイプラインのアーキテクチャを示しています。図の数字は、次の各説明の番号に対応しています。

![\[メディアストリームプールを作成する API コールを示した図。\]](http://docs.aws.amazon.com/ja_jp/chime-sdk/latest/dg/images/media-stream-pipe-architecture.png)


図中の手順を説明します。

1. `CreateMediaStreamPipeline` API を呼び出します。リクエストでは、ストリームのソースとシンクを指定します。個別の音声、混合音声、またはその両方のどれをキャプチャするのかを指定します。KVS プールの ARN をリクエストに含めます。
   + ソース配列は `SourceType` と `SourceArn` で構成されます。`ChimeSdkMeeting SourceType` を使用する必要があり、`SourceArn` は `ChimeSdkMeeting` の ARN です。
   + シンク配列は `SinkType`、`SinkArn`、`ReservedStreamCapacity`、`MediaStreamType` で構成されます。`KinesisVideoStreamPoolSinkType` のみがサポートされており、`SinkArn` は `KinesisVideoStreamPool` の ARN です。`MediaStreamType` では、シンクにストリーミングされるメディアのタイプ (`MixedAudio` または `IndividualAudio`) を制御します。`ReservedStreamCapacity` では、`KinesisVideoStreamPool` から `MediaStreamType` に対して割り当てるストリームの数を設定します。
     + `IndividualAudio` と `MixedAudio` の両方をストリーミングしたい場合は、`Sinks` 配列に 2 つのシンクオブジェクト (1 つは `IndividualAudio` 用、もう 1 つは `MixedAudio` 用) を作成します。`SinkArn` (`KinesisVideoStreamPool` の ARN) はシンクごとに異なる場合があります。
     + 個別の音声または混合音声のみをストリーミングするには、目的の `MediaStreamType` でシンクオブジェクトを 1 つ作成します。
   + 次の点に注意してください。
     + `KinesisVideoStreamPool` で [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaStreamPipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaStreamPipeline.html) API を `SinkType` として呼び出す場合、`SinkARN` は、`CreateMediaStreamPipeline` が呼び出されているコントロールプレーンリージョンに属している必要があります。

       例えば、`us-east-1` でメディアストリームパイプラインを作成する場合は、`us-east-1` で `KinesisVideoStreamPool` を使用する必要があります。
     + `ReservedStreamCapacity` は、`MixedAudio` `MediaStreamType` を指定する場合は **1** に、`IndividualAudio` `MediaStreamType` を指定する場合は **1-10** の間にする必要があります。

1. メディアパイプラインデータプレーンでは KVS [PutMedia](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_PutMedia.html) API を呼び出して、指定した KVS プールに属する KVS ストリームに個別の音声を保存します。

1. メディアパイプラインデータプレーンでは KVS `PutMedia` API を呼び出して、指定した KVS プールに属するストリームに混合音声を保存します。

**注記**  
[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaStreamPipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaStreamPipeline.html) API を呼び出した後、ビルダーは[メディアパイプラインイベント](media-pipe-events.md)を使用するか、[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_GetMediaPipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_GetMediaPipeline.html) API を呼び出して、パイプラインの状態が `InProgress` であるかどうかを判断できます。  
パイプラインの状態が `InProgress` に達すると、メディア (`IndividualAudio` と `MixedAudio` を任意に組み合わせたもの) が KVS にストリーミングされます。  
`IndividualAudio` ストリームタイプでは、参加者 ID と `KinesisVideoStreamPool` から割り当てられた KVS ストリーム間に 1:1 のマッピングが存在します。このマッピングは、メディアパイプラインの存続期間にわたって適用されます。  
どの KVS ストリームが参加者 ID にマッピングされているか、または MixedAudio に割り当てられているかを知るには、以下のいずれかの方法を使用します。  
[Event Bridge 通知](media-stream-event-bridge.md)を使用する。それぞれの通知には、参加者 ID や参加者の音声をストリーミングする KVS ARN などの情報が表示されます。`IndividualAudio` または `MixedAudio` ストリーミングセッションが開始されると、`chime:MediaPipelineKinesisVideoStreamStart` イベントが送信されます。ストリーミングセッションは、参加者が通話から退出するか (`IndividualAudio` の場合)、会議が終了すると終了します。
Kinesis Video Streams で各フラグメントと共に送信される永続メタデータを使用します。このメタデータには、Event Bridge で送信されるものと同様の情報が含まれています。ビルダーは、このソリューションを使用して [https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_ListStreams.html](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_ListStreams.html) Kinesis Video Streams API のプレフィックスとしてプール名を指定することで、`KinesisVideoStreamPool` のすべてのストリームを解析する必要があります。
メディアストリームパイプラインは、ミーティングが削除されるか、そのメディアストリームパイプラインに対して [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_DeleteMediaPipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_DeleteMediaPipeline.html) API が呼び出されると終了します。メディアパイプラインの終了を示す [Event Bridge 通知](media-pipe-events.md)も送信されます。