

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

# 建立 Amazon Chime SDK 媒體串流管道
<a name="create-stream-pipeline"></a>

提示音媒體串流管道必須屬於與 Amazon Chime SDK 會議相同的 AWS 帳戶。您可以透過呼叫 [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 媒體串流管道。

下圖顯示 Amazon Chime SDK 媒體串流管道的架構。圖表中的數字對應至下方的編號文字。

![\[圖表顯示建立媒體串流集區的 API 呼叫。\]](http://docs.aws.amazon.com/zh_tw/chime-sdk/latest/dg/images/media-stream-pipe-architecture.png)


在圖表中：

1. 您呼叫 `CreateMediaStreamPipeline` API。在請求中，指定串流的來源和目的地。您要擷取個別音訊、混合音訊或兩者。在請求中包含 KVS 集區的 ARN。
   + 來源陣列包含 `SourceType`和 `SourceArn`。您必須使用 `ChimeSdkMeeting SourceType`。`SourceArn` 是 的 ARN`ChimeSdkMeeting`。
   + 接收器陣列包含 `SinkType`、`ReservedStreamCapacity`、 `SinkArn`和 `MediaStreamType`。我們僅支援 `KinesisVideoStreamPoolSinkType`。`SinkArn` 是 的 ARN`KinesisVideoStreamPool`。`MediaStreamType` 控制串流至接收器的媒體類型，可以是 `MixedAudio`或 `IndividualAudio`。 `MediaStreamType`會從 `ReservedStreamCapacity`設定為 配置的串流數目`KinesisVideoStreamPool`。
     + 如果您想要同時串流 `IndividualAudio`和 `MixedAudio`，請在`Sinks`陣列中建立兩個接收物件，一個用於 `IndividualAudio`，另一個用於 `MixedAudio`。每個接收器的 `SinkArn`( 的 ARN`KinesisVideoStreamPool`) 可能有所不同。
     + 若要僅串流個別音訊或混合音訊，請使用所需的 建立一個接收器物件`MediaStreamType`。
   + 注意下列事項：
     + 以 `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`，則必須在 `KinesisVideoStreamPool`中使用 `us-east-1`。
     + `ReservedStreamCapacity` 應在您指定 **1** 時為 `MixedAudio` `MediaStreamType`，並在您指定 **1-10**時介於 `IndividualAudio` 之間`MediaStreamType`。

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`串流類型，出席者 IDs 與從 配置的 KVS 串流之間存在 1：1 映射`KinesisVideoStreamPool`。映射適用於媒體管道的生命週期。  
若要知道哪些 KVS 串流映射到出席者 ID，或指派給 MixedAudio，請使用下列其中一種技術：  
使用[事件橋接通知](media-stream-event-bridge.md)。每個通知都會提供出席者 IDs 和串流出席者音訊的 KVS ARN 等資訊。當 `IndividualAudio`或 `MixedAudio` 串流工作階段開始時，我們會傳送`chime:MediaPipelineKinesisVideoStreamStart`事件。串流工作階段會在出席者離開通話 （適用於 `IndividualAudio`) 或會議結束時結束。
使用 Kinesis Video Streams 隨每個片段傳送的持久性中繼資料。中繼資料包含與 Event Bridge 傳送內容類似的資訊。建置器需要剖析 的所有串流，`KinesisVideoStreamPool`方法是使用此解決方案將集區名稱指定為 [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 中的字首。
刪除會議或叫用該媒體串流管道的 [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 時，就會發生媒體串流管道終止。也會傳送[事件橋接通知](media-pipe-events.md)，以指出媒體管道終止。