Creación de canalizaciones de transmisión multimedia - Amazon Chime SDK

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Creación de canalizaciones de transmisión multimedia

La canalización de transmisión multimedia de Chime debe pertenecer a la misma AWS cuenta que la reunión del SDK de Amazon Chime. Para crear la canalización de transmisión multimedia del SDK de Amazon Chime, debe llamar a la CreateMediaStreamPipelineAPI y especificar una fuente y un receptor.

En el siguiente diagrama, se muestra la arquitectura de una canalización de transmisión multimedia de Amazon Chime SDK. Los números del diagrama corresponden al texto numerado que aparece a continuación.

Diagrama que muestra una llamada a la API que crea un grupo de transmisiones multimedia.

En el diagrama:

  1. Llame a la API de CreateMediaStreamPipeline. En la solicitud, especifique las fuentes y los receptores de las transmisiones, ya desee capturar audio individual, audio mixto o ambos. Incluya el ARN de su grupo KVS en la solicitud.

    • La matriz de fuentes consta de las letras SourceType y SourceArn. Debe utilizar el ChimeSdkMeeting SourceType. El SourceArn es el ARN de la ChimeSdkMeeting.

    • La matriz de sumideros se compone de SinkType, SinkArn, ReservedStreamCapacity y MediaStreamType. Solo ofrecemos compatibilidad con el KinesisVideoStreamPoolSinkType. El SinkArn es el ARN de la KinesisVideoStreamPool. El MediaStreamType controla el tipo de contenido multimedia que se transmite al sumidero, ya sea MixedAudio o IndividualAudio. ReservedStreamCapacityestablece el número de transmisiones asignadas al MediaStreamType desde el KinesisVideoStreamPool.

      • Si desea transmitir IndividualAudio y MixedAudio, cree dos objetos receptores en la matriz de Sinks, uno para IndividualAudio y otro paraMixedAudio. El SinkArn (el ARN del KinesisVideoStreamPool) puede variar para cada sumidero.

      • Para transmitir solo audio individual o audio mixto, cree un objeto receptor con el MediaStreamType deseado.

    • Tenga en cuenta lo siguiente:

      • Al invocar la CreateMediaStreamPipelineAPI con KinesisVideoStreamPool comoSinkType, SinkARN debe pertenecer a la región del plano de control en la que CreateMediaStreamPipeline se está invocando.

        Por ejemplo, si crea una canalización de transmisión multimedia en us-east-1, debe usar una KinesisVideoStreamPool en us-east-1.

      • ReservedStreamCapacity debe ser 1 cuando especifique el MixedAudio MediaStreamType, y entre 1-10 cuando especifique el IndividualAudio MediaStreamType.

  2. El plano de datos de Media Pipeline llama a la PutMediaAPI de KVS para almacenar el audio individual en una transmisión de KVS que pertenece al grupo de KVS que especifique.

  3. El plano de datos de Media Pipeline llama a la API de PutMedia KVS para almacenar el audio mezclado en una transmisión que pertenece al grupo de KVS que especifique.

nota

Tras llamar a la CreateMediaStreamPipelineAPI, los creadores pueden utilizar los eventos de la canalización multimedia o llamar a la GetMediaPipelineAPI para determinar si el estado de la canalización es el correcto. InProgress

Una vez alcanzado el estado InProgress de la canalización, el contenido multimedia (cualquier combinación de IndividualAudio y MixedAudio) se transmite a KVS.

Para el tipo de transmisión de IndividualAudio, existe un mapeo 1:1 entre los ID de los asistentes y la transmisión en KVS asignada desde la KinesisVideoStreamPool. El mapeo se aplica durante toda la canalización de medios.

Para saber qué transmisión de KVS se asigna a un ID de asistente o para qué está asignada MixedAudio, utilice una de las siguientes técnicas:

  • Utilice las notificaciones de Event Bridge. Cada notificación proporciona información como los ID de los asistentes y el ARN de KVS que transmite el audio del asistente. Cuando se inicia una sesión de transmisión IndividualAudio o MixedAudio, enviamos un evento de chime:MediaPipelineKinesisVideoStreamStart. Las sesiones de transmisión finalizan cuando un asistente abandona la llamada (para IndividualAudio) o cuando finaliza la reunión.

  • Utilice los metadatos persistentes que Kinesis Video Streams envía con cada fragmento. Los metadatos contienen información similar a la que envía Event Bridge. Los creadores deben analizar todas las transmisiones del KinesisVideoStreamPool especificando el nombre del grupo como prefijo en la API de ListStreamsKinesis Video Streams mediante esta solución.

La finalización de la canalización de transmisión multimedia se produce cuando se elimina la reunión o se invoca la DeleteMediaPipelineAPI para esa canalización de transmisión multimedia. También se envía una notificación de Event Bridge para indicar la finalización de la canalización de contenido multimedia.