

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Criar pipelines de fluxo de mídia do SDK do Amazon Chime
<a name="create-stream-pipeline"></a>

O pipeline de stream de mídia do chime deve pertencer à mesma AWS conta da reunião do Amazon Chime SDK. Crie o pipeline de fluxos de mídia do SDK do Amazon Chime chamando a API [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) e especificando uma origem e um coletor.

O diagrama a seguir mostra a arquitetura de um pipeline de transmissão de mídia do SDK do Amazon Chime. Os números no diagrama correspondem ao texto numerado abaixo.

![\[Diagrama mostrando uma chamada de API que cria um grupo de transmissão de mídia.\]](http://docs.aws.amazon.com/pt_br/chime-sdk/latest/dg/images/media-stream-pipe-architecture.png)


No diagrama:

1. Você chama a API `CreateMediaStreamPipeline`. Na solicitação, especifique as origens e os coletores das transmissões, se você deseja capturar áudio individual, áudio misto ou ambos. Inclua o ARN do seu grupo de KVS na solicitação.
   + A matriz de origens consiste em `SourceType` e `SourceArn`. Você deve usar o `ChimeSdkMeeting SourceType`. O `SourceArn` é o ARN da `ChimeSdkMeeting`.
   + A matriz de coletores consiste em `SinkType`, `SinkArn`, `ReservedStreamCapacity` e `MediaStreamType`. Nós só oferecemos suportes ao `KinesisVideoStreamPoolSinkType`. O `SinkArn` é o ARN da `KinesisVideoStreamPool`. O `MediaStreamType` controla o tipo de mídia transmitida para o coletor, `MixedAudio` ou`IndividualAudio`. A `ReservedStreamCapacity` define o número de transmissões alocadas para o `MediaStreamType` do `KinesisVideoStreamPool`.
     + Se você quiser transmitir ambos `IndividualAudio` e `MixedAudio`, crie dois objetos coletores na matriz `Sinks`, um para o `IndividualAudio` e outro para o `MixedAudio`. O `SinkArn` (o ARN do `KinesisVideoStreamPool`) pode variar para cada coletor.
     + Para transmitir apenas áudio individual ou áudio misto, crie um objeto coletor com o `MediaStreamType` desejado.
   + Observe o seguinte:
     + Ao invocar a API [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) com `KinesisVideoStreamPool` como o `SinkType`, o `SinkARN` deve pertencer à região do ambiente de gerenciamento na qual o `CreateMediaStreamPipeline` está sendo invocado.

       Por exemplo, se você criar um pipeline de transmissão de mídia em `us-east-1`, você deverá usar um `KinesisVideoStreamPool` em `us-east-1`.
     + A `ReservedStreamCapacity` deve ser **1** quando você especifica o `MediaStreamType` do `MixedAudio` e entre **1-10** quando você especifica o `MediaStreamType` do `IndividualAudio`.

1. O plano de dados do pipeline de mídia chama a [ PutMedia](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_PutMedia.html)API KVS para armazenar áudio individual em um fluxo KVS que pertence ao pool KVS que você especifica.

1. O plano de dados do pipeline de mídia chama a API `PutMedia` do KVS para armazenar áudio misto em uma transmissão que pertence ao grupo do KVS especificado por você.

**nota**  
Depois de chamar a API [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), os construtores podem usar [eventos do pipeline de mídia](media-pipe-events.md) ou chamar a API [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) para determinar se o estado do pipeline é `InProgress`.  
Quando o estado do pipeline atinge `InProgress`, a mídia: qualquer combinação de `IndividualAudio` e `MixedAudio`: é transmitida para o KVS.   
Para o tipo de `IndividualAudio` fluxo, existe um mapeamento 1:1 entre o participante IDs e o fluxo KVS alocado do. `KinesisVideoStreamPool` O mapeamento se aplica durante a vida útil do pipeline de mídia.  
Para saber qual stream do KVS é mapeado para uma ID de participante ou para o qual está atribuído MixedAudio, use uma das seguintes técnicas:  
Use as [notificações do Event Bridge](media-stream-event-bridge.md). Cada notificação fornece informações como o participante IDs e o ARN do KVS que transmite o áudio do participante. Quando uma sessão de streaming com `IndividualAudio` ou `MixedAudio` começa, enviamos um evento `chime:MediaPipelineKinesisVideoStreamStart`. As sessões de streaming terminam quando um participante deixa a chamada (para `IndividualAudio`) ou quando a reunião termina.
Use os metadados persistentes que o Kinesis Video Streams envia com cada fragmento. Os metadados contêm informações semelhantes às que o Event Bridge envia. Os construtores precisam analisar todos os fluxos do `KinesisVideoStreamPool` especificando o nome do grupo como prefixo na API [https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_ListStreams.html](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_ListStreams.html) do Kinesis Video Streams usando essa solução.
O encerramento do pipeline do Media Stream acontece quando a reunião é excluída ou a 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) é invocada para esse pipeline de fluxo de mídia. Uma [notificação do Event Bridge](media-pipe-events.md) também é enviada para indicar o encerramento do pipeline de mídia.