

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 multimedia de Amazon Chime SDK
<a name="media-pipelines"></a>

En esta sección, le mostramos cómo crear canalizaciones de contenido multimedia, que se utilizan para capturar o transmitir una reunión de Amazon Chime SDK. Antes de empezar, debe integrar la aplicación cliente con la biblioteca de clientes de Amazon Chime SDK. Para obtener más información, consulte [Más información sobre las bibliotecas cliente de Amazon Chime SDK](mtgs-sdk-client-lib.md). Para obtener más información sobre las canalizaciones multimedia, consulte [Capture Amazon Chime SDK Meetings Using media pipelines](https://aws.amazon.com/blogs//business-productivity/capture-amazon-chime-sdk-meetings-using-media-capture-pipelines/) en el *AWS Business Productivity Blog*.

**importante**  
Usted y sus usuarios finales deben comprender que la grabación de las reuniones de Amazon Chime SDK puede estar sujeta a las leyes o reglamentos relacionados con la grabación de comunicaciones electrónicas. Es su responsabilidad y la de sus usuarios finales cumplir con todas las leyes aplicables en relación con las grabaciones, incluida la notificación adecuada a todos los participantes de una sesión grabada de que la sesión o la comunicación se está grabando y obtener su consentimiento.   
Usted y sus usuarios finales son responsables de todo el contenido que se transmita mediante el servicio Media Live Connector y deben asegurarse de que dicho contenido no infrinja la ley, infrinja o se apropie indebidamente de los derechos de ningún tercero, ni infrinja de otro modo una cláusula importante de su acuerdo con Amazon.

**Topics**
+ [Consideraciones para la creación de canalizaciones multimedia de Amazon Chime SDK](creating-media-pipelines-considerations.md)
+ [Descripción de los límites predeterminados para las canalizaciones de contenido multimedia de Amazon Chime SDK](media-pipelines-limits.md)
+ [Migración al espacio de nombres de canalizaciones multimedia de Amazon Chime SDK](migrate-pipelines.md)
+ [Descripción de la creación de canalización multimedia de Amazon Chime SDK](create-pipeline.md)
+ [Creación de canalizaciones de captura multimedia en las reuniones de Amazon Chime SDK](capture-pipe-config.md)
+ [Creación de canalizaciones de concatenaciones multimedia en las reuniones de Amazon Chime SDK](create-concat-pipe.md)
+ [Creación de conectores en vivo multimedia en las reuniones de Amazon Chime SDK](connector-pipe-config.md)
+ [Creación de canalizaciones multimedia mediante Amazon Chime SDK](create-media-stream-pipeline.md)
+ [Composición de audio y video en una sola vista en las reuniones de Amazon Chime SDK](pipeline-compositing.md)
+ [Creación de un rol vinculado a servicios para las canalizaciones de contenido multimedia de Amazon Chime SDK](create-pipeline-role.md)
+ [Uso de eventos de canalizaciones de contenido multimedia de Amazon Chime SDK](media-pipe-events.md)
+ [Prácticas recomendadas para detener las canalizaciones de contenido multimedia de Amazon Chime SDK](stop-pipe-best-practices.md)

# Consideraciones para la creación de canalizaciones multimedia de Amazon Chime SDK
<a name="creating-media-pipelines-considerations"></a>

Una canalización de contenido multimedia puede constar de una de estas canalizaciones: 
+ **Captura multimedia**: se utilizan canalizaciones de captura multimedia para capturar transmisiones de audio, video y contenido compartido, además de eventos de reuniones y mensajes de datos. Todas las canalizaciones de captura multimedia guardan sus datos en el bucket de [Amazon Simple Storage Service](https://aws.amazon.com/s3/) (S3) que usted cree. Puede crear una canalización de captura de contenido multimedia por reunión de Amazon Chime SDK. Para obtener más información, consulta [Descripción de la creación de canalización multimedia de Amazon Chime SDK](create-pipeline.md).
+ **Concatenación de contenido multimedia:** se utilizan canalizaciones de concatenación de contenido multimedia para concatenar los artefactos de un canal de captura de contenido multimedia. Las canalizaciones de concatenación funcionan de forma independiente de las canalizaciones de captura de contenido multimedia y de conexión en vivo. Para obtener más información, consulta [Creación de canalizaciones de concatenaciones multimedia en las reuniones de Amazon Chime SDK](create-concat-pipe.md).
+ **Conector Media Live**: se utilizan las canalizaciones de Media Live Connector para conectarse a servicios que le permiten transmitir las reuniones de Amazon Chime SDK a un punto de conexión RTMP. Puede crear hasta una canalización de conectores de media live por reunión de Amazon Chime SDK. Para obtener más información, consulta [Creación de conectores en vivo multimedia en las reuniones de Amazon Chime SDK](connector-pipe-config.md).
+ **Transmisión multimedia**: se utilizan las canalizaciones de transmisión multimedia para capturar el audio individual de todos los asistentes a una reunión, además del audio mixto generado por una canalización de concatenación multimedia. Todas las canalizaciones de transmisión multimedia guardan sus datos en [Amazon Kinesis Video Streams](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/what-is-kinesis-video.html) (KVS). Para obtener más información, consulta [Creación de canalizaciones multimedia mediante Amazon Chime SDK](create-media-stream-pipeline.md).

Las canalizaciones que cree dependen del espacio de nombres que utilice. Si usa el espacio de nombres `Chime`, solo puede crear canalizaciones de captura de contenido multimedia. Si usa el espacio de nombres `ChimeSdkMediaPipelines`, también puede crear canalizaciones de concatenación de contenido multimedia y conector multimedia en directo, así como utilizar características de composición. Si desea migrar al espacio de nombres de `ChimeSdkMediaPipelines`, consulte [Migración al espacio de nombres de canalizaciones multimedia de Amazon Chime SDK](migrate-pipelines.md).

# Descripción de los límites predeterminados para las canalizaciones de contenido multimedia de Amazon Chime SDK
<a name="media-pipelines-limits"></a>

En la siguiente tabla se muestran los límites predeterminados para canalización de medios activa en cada región. Cada tipo de canalización cuenta para el límite. Si superas el límite de cualquier región, las excepciones [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaCapturePipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaCapturePipeline.html), y [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaLiveConnectorPipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaLiveConnectorPipeline.html) APIs arrojarás las excepciones de **límite de recursos excedido**.

Puedes usar la página **Service Quotas** de la AWS consola para ajustar tus límites de canalización activos o puedes ponerte en contacto con tu [representante de atención al cliente](https://docs.aws.amazon.com/awssupport/latest/user/getting-started.html). Para obtener más información acerca de los límites de cumplimiento de Amazon Chime SDK, consulte [Cuotas de Amazon Chime SDK](meetings-sdk.md#mtg-limits).


| Region | Límite de canalización activo predeterminado | 
| --- | --- | 
| us-east-1 | 100 | 
| us-west-2 | 10 | 
| ap-northeast-1 | 10 | 
| ap-northeast-2 | 10 | 
| ap-south-1 | 10 | 
| ap-southeast-1 | 10 | 
| ap-southeast-2 | 10 | 
| ca-central-1 | 10 | 
| eu-central-1 | 10 | 
| eu-west-2 | 10 | 

# Migración al espacio de nombres de canalizaciones multimedia de Amazon Chime SDK
<a name="migrate-pipelines"></a>

El espacio de `ChimeSdkMediaPipelines` nombres se utiliza para dirigirse a los puntos finales de la API de Media Pipeline en cualquier AWS región en la que estén disponibles. Utilice este espacio de nombres si acaba de empezar a utilizar Amazon Chime SDK. Para obtener más información sobre las regiones, consulte [Regiones de AWS disponibles para Amazon Chime SDK](sdk-available-regions.md) en esta guía.

Las aplicaciones existentes que utilizan el espacio de nombres de [Amazon Chime](https://docs.aws.amazon.com/chime/latest/APIReference/API_Operations_Amazon_Chime.html) deberían planificar la migración al espacio de nombres dedicado.

**Topics**
+ [Motivos para migrar sus canalizaciones](#pipeline-migration-reasons)
+ [Antes de migrar sus canalizaciones](#migration-prerequisites)

## Motivos para migrar sus canalizaciones
<a name="pipeline-migration-reasons"></a>

Le animamos a migrar al espacio de nombres `ChimeSdkMediaPipelines` por los siguientes motivos:

**Elección de un punto de conexión de API**  
El espacio de nombres Media Capture de Amazon Chime SDK es el único espacio de nombres de API que puede usar puntos de conexión de API en cualquier región en la que estén disponibles. Para obtener más información acerca de las regiones, consulte [Regiones de AWS disponibles para Amazon Chime SDK](sdk-available-regions.md). Si desea utilizar puntos de conexión de API distintos de `us-east-1`, debe utilizar el espacio de nombres `ChimeSdkMediaPipelines`. Para obtener más información sobre los puntos de conexión actuales, consulte [Mapeo de API](migrate-from-chm-namespace.md#name-end-map) en esta guía.

**Canal de contenido multimedia actualizado y nuevo APIs**  
Solo añadimos o actualizamos la canalización de contenido multimedia APIs en el espacio de `ChimeSdkMediaPipelines` nombres.

## Antes de migrar sus canalizaciones
<a name="migration-prerequisites"></a>

Antes de realizar la migración, tenga en cuenta las diferencias entre los espacios de nombres. En la siguiente tabla, se muestran y describen.


| Elemento | Espacio de nombres de canalizaciones multimedia | Espacio de nombres de Chime | 
| --- | --- | --- | 
|  Nombres de espacio de nombres  |  ChimeSdkMediaPipelines  |  Chime  | 
|  Regiones  |  Múltiple  |  Solo us-east-1  | 
|  puntos de conexión  |  https://. media-pipelines-chime *región .amazonaws.com*  |  https://service.chime.aws.amazon.com  | 
|  Entidad principal de servicio  |  mediapipelines.chime.amazonaws.com  |  chime.amazonaws.com  | 
|  APIs  |  Solo APIs para canales de medios  |  APIs para canales de contenido multimedia y otras partes de Amazon Chime  | 
|  Reuniones  |  Las canalizaciones multimedia de las `us-west-2`, `ap-southeast-1` y `eu-central-1` solo funcionan con las reuniones creadas en el espacio de nombres de Amazon Chime SDK Meetings. Las canalizaciones multimedia de la región de `us-east-1` funcionan con las reuniones creadas por cualquier punto de conexión de cualquiera de los dos espacios de nombres.  |  Las canalizaciones multimedia funcionan con las reuniones creadas por cualquier punto de conexión de cualquiera de los dos espacios de nombres.  | 
| Canalizaciones multimedia activas predeterminadas | 100 en la región us-east-1 y 10 en las regiones us-west-2, ap-southeast-1 y eu-central-1.  | 100 en solo us-east-1. | 
|  Rol vinculado a servicios  |  AWSServiceRoleForAmazonChimeSDKMediaCanalizaciones  |     | 
|  Etiquetas  |  Disponible  |  No disponible para la cartera APIs de contenido multimedia.  | 
| CloudTrail fuente del evento | chime-sdk-media-pipelines.amazonaws.com | chime.amazonaws.com. | 
| Conector multimedia en directo | Disponible |  No disponible para la cartera de medios APIs.  | 
| Composición | Disponible |  No disponible para el canal de medios APIs.  | 
| Concatenación | Disponible | No disponible. | 

La siguiente lista proporciona más información sobre las diferencias entre Chime y los espacios de AWS ChimeSdkMediaPipelines nombres.

**Nombres de espacio de nombres**  
El espacio de nombres de Amazon Chime SDK usa el nombre formal `AWS.Chime`. El espacio de nombres Media Pipelines de Amazon Chime SDK usa el nombre formal `AWS.ChimeSDKMediaPipelines`. El formato preciso del nombre varía según la plataforma.  
Por ejemplo, esta línea de código Node.js se dirige al espacio de nombres `chime`:  

```
const chimeMediaPipelines = AWS.Chime();
```
Para migrar al espacio de nombres de Media Pipelines SDK, actualice esta línea de código con el nuevo espacio de nombres y la región del punto de conexión.  

```
const chimeMediaPipelines = AWS.ChimeSDKMediaPipelines({ region: "eu-central-1" });
```

**Regiones**  
El espacio de nombres Amazon Chime solo se dirige a los puntos de conexión de la API en la región US-EAST-1. El espacio de nombres Media Pipelines de Amazon Chime SDK se dirige a los puntos de conexión de la API Media Pipelines de Amazon Chime SDK en cualquier región que los tenga. Para obtener una lista actualizada de las regiones de Media Pipeline, consulte [Regiones de AWS disponibles para Amazon Chime SDK](sdk-available-regions.md) en esta guía.

**puntos de conexión**  
Para modificar una canalización de captura de contenido multimedia, debe utilizar el mismo punto de conexión en el que creó la canalización. Por ejemplo, si ha creado canalizaciones a través de un punto de conexión en eu-central-1, debe usar eu-central-1 para interactuar con esa canalización. Para obtener más información sobre los puntos de conexión actuales, consulte [Mapeo de API](migrate-from-chm-namespace.md#name-end-map) en esta guía.

**Entidad principal de servicio**  
El espacio de nombres [Media Pipelines de Amazon Chime SDK](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_Operations_Amazon_Chime_SDK_Meetings.html) utiliza una nueva entidad principal de servicio: `mediapipelines.chime.amazonaws.com`. Si dispone de un bucket de Amazon S3 u otras políticas de IAM que concedan acceso a los servicios, deberá actualizar dichas políticas para conceder acceso a la nueva entidad principal del servicio.  
Por ejemplo, al crear una canalización de contenido multimedia, debe añadir los permisos de política que figuran en [Creación de un bucket de Amazon S3 para canalizaciones de captura multimedia de Amazon Chime SDK](create-s3-bucket.md) a la nueva entidad principal del servicio. Para obtener más información sobre las políticas, consulte [Elementos de política JSON de AWS: entidad principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) en la Guía del usuario de IAM.

**APIs**  
El espacio de nombres Media Pipelines del SDK de Amazon Chime solo contiene datos APIs que crean y administran canales multimedia. El espacio de nombres Amazon Chime incluye canales APIs de medios, reuniones y otras partes del servicio Amazon Chime.

**Reuniones**  
Las canalizaciones de comunicación de la región de la IAD funcionan con las reuniones creadas por cualquier punto de conexión con cualquiera de los dos espacios de nombres.

**Rol vinculado a servicios**  
Solo para el espacio de nombres Amazon Chime SDK Media Pipelines. *Cree el rol de Pipelines. AWSService RoleForAmazonChime SDKMedia*

**Etiquetas**  
El espacio de nombres [Media Pipelines de Amazon Chime SDK](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_Operations_Amazon_Chime_SDK_Meetings.html) admite etiquetas. El rol debe tener permiso para llamar a la `TagResource` operación cuando llame a la [CreateMediaCapturePipeline](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaCapturePipeline.html)o [CreateMediaLiveConnectorPipeline](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaLiveConnectorPipeline.html) APIs con una o más etiquetas.

# Descripción de la creación de canalización multimedia de Amazon Chime SDK
<a name="create-pipeline"></a>

Debe seguir un proceso de varios pasos para crear una canalización de medios de Amazon Chime SDK y puede crear varios tipos de canalizaciones. En la siguiente lista se describe el proceso de creación y se proporcionan enlaces a más información sobre la creación de los distintos tipos de canalizaciones. 
+ Crear un bucket de Amazon S3. Debe crear el grupo en la misma AWS región que la reunión. Para obtener más información, consulta [Creación de un bucket de Amazon S3 para canalizaciones de captura multimedia de Amazon Chime SDK](create-s3-bucket.md).
+ Crear un rol vinculado al servicio con el nombre `AWSServiceRoleForAmazonChimeSDKMediaPipelines`. Esto permite que las canalizaciones multimedia accedan a las reuniones en su nombre. Para obtener más información, consulta [Creación de un rol vinculado a servicios para las canalizaciones de contenido multimedia de Amazon Chime SDK](create-pipeline-role.md).
+ Cree un rol de IAM con permisos suficientes para interactuar con la canalización multimedia del [SDK de Amazon Chime](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_Operations_Amazon_Chime_SDK_Media_Pipelines.html). APIs Para crear ese rol, recomendamos añadir la política administrada del [AmazonChimeSDK](https://docs.aws.amazon.com/chime-sdk/latest/ag/security_iam_id-based-policy-examples.html#security_iam_id-based-policy-examples-chime-sdk) desde la consola de IAM. La política contiene lo necesario APIs.

  Su rol de IAM también debe tener permiso para llamar a la API [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicy.html) de Amazon S3 en todos los recursos. En el ejemplo siguiente se muestra una política típica para hacerlo.

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Action": "s3:GetBucketPolicy",
              "Effect": "Allow",
              "Resource": "*"
          }
      ]
  }
  ```

------

Una vez tenga esos elementos, consulte estos temas para obtener información sobre la creación de canalizaciones.
+ [Creación de canalizaciones de captura multimedia en las reuniones de Amazon Chime SDK](capture-pipe-config.md)
+ [Creación de canalizaciones de concatenaciones multimedia en las reuniones de Amazon Chime SDK](create-concat-pipe.md)
+ [Creación de conectores en vivo multimedia en las reuniones de Amazon Chime SDK](connector-pipe-config.md)
+ [Creación de canalizaciones multimedia mediante Amazon Chime SDK](create-media-stream-pipeline.md)

# Creación de canalizaciones de captura multimedia en las reuniones de Amazon Chime SDK
<a name="capture-pipe-config"></a>

Las canalizaciones de captura multimedia capturan transmisiones de audio, video y contenido compartido, además de eventos de reuniones y mensajes de datos. Todas las canalizaciones de captura multimedia guardan sus datos en el bucket de [Amazon Simple Storage Service](https://aws.amazon.com/s3/) (S3) que usted cree. Puede crear una canalización de captura de contenido multimedia por reunión de Amazon Chime SDK.

En las siguientes secciones se explica cómo crear una canalización de captura multimedia. Siga las instrucciones en el orden en el que se enumeran.

**Topics**
+ [Creación de un bucket de Amazon S3 para canalizaciones de captura multimedia de Amazon Chime SDK](create-s3-bucket.md)
+ [Activación del cifrado en el servidor para un bucket de Amazon S3 para las canalizaciones de captura multimedia de Amazon Chime SDK](sse-kms.md)
+ [Habilitar el cifrado del lado del servidor a nivel de objeto con clave AWS KMS](using-kms-keys-for-encryption.md)
+ [Creación de la canalización de captura multimedia de Amazon Chime SDK](create-capture-pipe.md)
+ [Uso de artefactos de captura multimedia de Amazon Chime SDK](artifacts.md)
+ [Configuración de la carpeta de audio para las canalizaciones de captura multimedia de Amazon Chime SDK](configure-audio.md)
+ [Configuración de la carpeta de video para las canalizaciones de captura multimedia de Amazon Chime SDK](configure-video.md)
+ [Descripción de los mensajes de la carpeta del canal de datos para las canalizaciones de captura multimedia de Amazon Chime SDK](data-channel.md)
+ [Descripción de la estructura de carpetas de bucket de Amazon S3 para las canalizaciones de captura multimedia de Amazon Chime SDK](capture-folder-structure.md)
+ [Descripción de los archivos de eventos de reuniones para las canalizaciones de captura multimedia de Amazon Chime SDK](meeting-events.md)
+ [Descripción de los archivos de transcripción para las canalizaciones de captura multimedia de Amazon Chime SDK](transcription-messages.md)
+ [Concatenación de flujos de datos para las canalizaciones de captura multimedia de Amazon Chime SDK](concatenate-streams.md)

# Creación de un bucket de Amazon S3 para canalizaciones de captura multimedia de Amazon Chime SDK
<a name="create-s3-bucket"></a>

Puede usar la consola Amazon S3 AWS SDKs, la o la AWS CLI para crear un bucket de Amazon S3. Para obtener más información, consulte [Creación de un bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) en la *Guía del usuario de Amazon Simple Storage Service (S3)*.

El bucket de Amazon S3 de su canalización de captura multimedia debe pertenecer a la misma cuenta de AWS que la reunión de Amazon Chime SDK. Además, debe conceder permiso para `s3:PutObject` y `s3:PutObjectAcl` a la entidad principal de servicio de Amazon Chime SDK, [mediapipelines.chime.amazonaws.com.](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) Puede hacerlo con la consola Amazon S3 o con AWS Command Line Interface (AWS CLI). El bucket de Amazon S3 debe pertenecer a una de las [regiones multimedia de Amazon Chime SDK](https://docs.aws.amazon.com/chime-sdk/latest/dg/sdk-available-regions.html) disponibles.

**nota**  
Asegúrese de añadir una política a su usuario de IAM para conceder acceso a su bucket. Además, si utiliza una región que está AWS deshabilitada de forma predeterminada, debe tener un bucket de Amazon S3 en esa región.  
De forma predeterminada, AWS deshabilita las siguientes regiones y no puede alojar recursos para reuniones en ellas hasta que las habilite:  
África (Ciudad del Cabo)
Asia-Pacífico (Hong Kong)
Asia-Pacífico (Yakarta)
Europa (Milán)
Middle East (Bahrain)
Si utiliza una de esas regiones, debe tener un bucket de Amazon S3. Esto se aplica incluso si utiliza Amazon S3 APIs para comunicarse con regiones que no están bloqueadas de forma predeterminada y que ya tienen un bucket. Para obtener más información sobre cómo habilitar regiones bloqueadas, consulte [Administración de regiones de AWS](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html) en la *Referencia general de AWS*.

Una vez que haya creado un bucket, registre su ARN. Se utiliza para crear una canalización de captura multimedia.

El siguiente ejemplo muestra una política de un bucket de Amazon S3.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "AWSChimeMediaCaptureBucketPolicy",
    "Statement": [
        {
            "Sid": "AWSChimeMediaCaptureBucketPolicy",
            "Effect": "Allow",
            "Principal": {
                "Service": "mediapipelines.chime.amazonaws.com"
            },
            "Action": [ "s3:PutObject", "s3:PutObjectAcl" ],
            "Resource": "arn:aws:s3:::Bucket_Name/*",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                "aws:SourceArn": "arn:aws:chime:*:123456789012:*"
                }
            }
        }
    ]
}
```

------

# Activación del cifrado en el servidor para un bucket de Amazon S3 para las canalizaciones de captura multimedia de Amazon Chime SDK
<a name="sse-kms"></a>

Para habilitar el cifrado en el servidor para un bucket de Amazon Simple Storage Service (Amazon S3), puede utilizar estos tipos de claves de cifrado:
+ Una clave administrada de Amazon S3
+ Una clave administrada por el cliente en el Servicio de administración de AWS claves (KMS)
**nota**  
El servicio de administración de claves admite dos tipos de claves, las claves administradas por el cliente y las claves AWS administradas. Las reuniones de Amazon Chime SDK solo admiten claves administradas por el cliente. 

## Uso de una clave administrada de Amazon S3
<a name="s3-keys"></a>

Utilice la consola de Amazon S3, la CLI o la API de REST para habilitar el cifrado en el servidor para un bucket de Amazon S3. En ambos casos, elija **Amazon S3 Key** como tipo de clave de cifrado. No hay que hacer nada más. Cuando se utiliza el depósito para la captura de contenido multimedia, los artefactos se cargan y cifran en el servidor. Para obtener más información, consulte [Especificación del cifrado de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/specifying-s3-encryption.html) en la *Guía del usuario de Amazon S3*. 

## Uso de una clave de su propiedad
<a name="customer-key"></a>

Para habilitar el cifrado con una clave que usted administre, debe habilitar el cifrado del lado del servidor del bucket de Amazon S3 con una clave administrada por el cliente y, a continuación, añadir una declaración a la política de claves que permita a Amazon Chime usar la clave y cifrar cualquier artefacto cargado.

1. Crear una clave administrada por el cliente en KMS. Para obtener información sobre cómo hacerlo, consulte [Especificar el cifrado del lado del servidor con AWS KMS (SSE-KMS)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/specifying-kms-encryption.html) en la Guía del usuario de *Amazon* S3.

1. Añada una instrucción a la política de claves que permita que la acción de `GenerateDataKey` genere una clave para que la utilice la entidad principal del servicio de Amazon Chime SDK, `mediapipelines.chime.amazonaws.com`.

   En este ejemplo se muestra una instrucción típica.

   ```
   ...
   {
       "Sid": "MediaPipelineSSEKMS",
       "Effect": "Allow",
       "Principal": {
           "Service": "mediapipelines.chime.amazonaws.com"
       },
       "Action": "kms:GenerateDataKey",
       "Resource": "*",
       "Condition": {
           "StringEquals": {
              "aws:SourceAccount": "Account_Id"
           },
           "ArnLike": {
               "aws:SourceArn": "arn:aws:chime:*:Account_Id:*"
           }
       }
   }
   ...
   ```

1. Si utiliza una canalización de concatenación de contenido multimedia, añada una instrucción a la política de claves que permita a la entidad principal del servicio de Amazon Chime SDK, `mediapipelines.chime.amazonaws.com`, utilizar la acción de `kms:Decrypt`.

1. Configure el bucket de Amazon S3 para habilitar el cifrado del lado del servidor con la clave.

# Habilitar el cifrado del lado del servidor a nivel de objeto con clave AWS KMS
<a name="using-kms-keys-for-encryption"></a>

Media Capture Pipeline y Media Concatenation Pipeline pueden usar AWS Key Management Service (AWS KMS) claves administradas por el cliente para habilitar el cifrado del lado del servidor (SSE) para objetos individuales en un bucket de Amazon S3. Para configurarlo, debe usar la llamada a la API. [CreateMediaCapturePipeline](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaCapturePipeline.html) La canalización de concatenación multimedia utilizará los parámetros de cifrado del lado del servidor de la canalización de captura multimedia asociada.

Para habilitar el SSE para objetos individuales (SSE a nivel de objeto) mediante la clave gestionada por el AWS KMS cliente, debe proporcionar la `SseAwsKeyManagementParams` estructura y la siguiente durante la llamada a la API: `SinkIamRoleArn` [CreateMediaCapturePipeline](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaCapturePipeline.html)

1. Utilice el `AwsKmsKeyId` parámetro de la `SseAwsKeyManagementParams` estructura para especificar la AWS KMS clave. Puede especificar el ID de clave mediante el ID, el ARN o el alias de la clave.

1. Utilice el `SinkIamRoleArn` parámetro para especificar la función de IAM para acceder a la AWS KMS clave y al bucket receptor de Amazon S3.

1. Si lo desea, puede utilizar el `AwsKmsEncryptionContext` parámetro de la `SseAwsKeyManagementParams` estructura para especificar el contexto de cifrado que se va a utilizar junto con los artefactos AWS KMS clave para mejorar la seguridad.

**nota**  
Los `SinkIamRoleArn` parámetros `AwsKmsKeyId` y son codependientes. Cuando ambos estén presentes y sean válidos, Media Capture Pipeline asumirá la función y colocará cada artefacto en el receptáculo de cubos de Amazon S3 especificado con la clave especificada. AWS KMS La llamada a la [CreateMediaConcatenationPipeline](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaConcatenationPipeline.html)API no tiene parámetros nuevos, pero utilizará los parámetros antes mencionados si se especifican. Si planea concatenar artefactos, asegúrese de que la configuración de sus recursos esté establecida como se describe en la siguiente [Configuración](#using-kms-keys-for-encryption-config) sección y de que sea persistente a lo largo del tiempo.

## Configuración
<a name="using-kms-keys-for-encryption-config"></a>

`SinkIamRoleArn`Debe tener los mismos permisos y acceso que el principal para colocar los artefactos en el bucket de Amazon S3. Para obtener más información sobre los permisos predeterminados esperados en el bucket de Amazon S3, consulte [Creación de un bucket de Amazon S3 para Amazon Chime SDK Media Capture](https://docs.aws.amazon.com/chime-sdk/latest/dg/create-s3-bucket.html) Pipelines. Para habilitar el SSE para objetos individuales, su bucket de Amazon S3 debe permitir que la función de IAM especificada mediante el realice el `SinkIamRoleArn` mismo conjunto de acciones que cabría esperar de la identidad de IAM que realiza la llamada. Para ello, añada el siguiente principio a su política de permisos de buckets de Amazon S3.

```
...
"Principal": {
    ...
    "AWS": "arn:aws:iam::<YOUR_ACCOUNT_ID>;:role/<SINK_IAM_ROLE_NAME>"
    ...
},
...
```

`AwsKmsKeyId`Debe apuntar a una clave que permita `SinkIamRoleArn` que funcione`GenerateDataKey`. Si se va a utilizar Media Concatenation Pipeline, la AWS KMS clave también debería permitir el uso de la acción. `Decrypt` Consulte el siguiente ejemplo.

**nota**  
El recurso está configurado para usar un comodín`“*”`, que en este contexto de una política AWS KMS clave significa «sí mismo».

```
{
    "Effect": "Allow",
    "Principal": {
        "AWS": "arn:aws:iam::<YOUR_ACCOUNT_ID>:role/<YOUR_CUSTOMER_ROLE_ID>"
    },
    "Action": [
        "kms:GenerateDataKey",
        "kms:Decrypt"
    ],
    "Resource": "*"
}
```

El `SinkIamRoleArn` rol debe tener una relación de confianza que permita al servicio asumirlo. Consulte el siguiente ejemplo.

```
{
    "Effect": "Allow",
    "Principal": {
        "Service": "mediapipelines.chime.amazonaws.com"
    },
    "Action": "sts:AssumeRole",
    "Condition": {
        "StringEquals": {
            "aws:SourceAccount": "<YOUR_ACCOUNT_ID>"
        },
        "ArnLike": {
            "aws:SourceArn": "arn:aws:chime:*:<YOUR_ACCOUNT_ID>:*"
        }
    }
}
```

`SinkIamRoleArn`Debe tener la siguiente política de permisos mínimos para Media Capture Pipeline. Consulte el siguiente ejemplo.

```
{
    "Effect": "Allow",
    "Action": "kms:GenerateDataKey",
    "Resource": "arn:aws:kms:<KMS_KEY_REGION>:<KMS_KEY_ACCOUNT_ID>:key/<MS_KEY_ID>",
    "Condition": {
        "StringEquals": {
            "aws:SourceAccount": "<YOUR_ACCOUNT_ID>"
        },
        "ArnLike": {
            "aws:SourceArn": "arn:aws:chime:*:<YOUR_ACCOUNT_ID>:*"
        }
    }
},
{
    "Effect": "Allow",
    "Action": ["s3:PutObject", "s3:PutObjectAcl"],
    "Resource": "arn:aws:s3:::<YOUR_DEDICATED_KMS_BUCKET_ID>/*",
    "Condition": {
        "StringEquals": {
            "aws:SourceAccount": "<YOUR_ACCOUNT_ID>"
        },
        "ArnLike": {
            "aws:SourceArn": "arn:aws:chime:*:<YOUR_ACCOUNT_ID>:*"
        }
    }
}
```

Además, la persona que llama debe poder pasar `SinkIamRoleArn` al servicio. En los casos en que la persona que llama no tenga ese permiso, debe añadirse explícitamente. Consulte el siguiente ejemplo.

```
{
    "Effect": "Allow",
    "Action": "iam:PassRole",
    "Resource": "<SINK_IAM_ROLE_ARN>",
    "Condition": {
        "ArnLike": {
            "iam:AssociatedResourceArn": "arn:aws:chime:*:<YOUR_ACCOUNT_ID>:media-pipeline/*"
        },
        "StringEquals": {
            "iam:PassedToService": "mediapipelines.chime.amazonaws.com"
        }
    }
}
```

## Implementación de la concatenación de medios
<a name="media-concatenation-implementatoin"></a>

Si planea usar Media Concatenation Pipeline después de Media Capture, asegúrese de conocer [Creación de una canalización de concatenación de contenido multimedia del SDK de Amazon Chime](create-concat-pipe-steps.md) los permisos necesarios. Para que la canalización funcione con la AWS KMS clave del SSE a nivel de objeto, se deben ampliar los `SinkIamRoleArn` permisos (acciones permitidas) de la AWS KMS clave y del bucket de Amazon S3. Consulte el siguiente ejemplo.

```
...
{
    ...
    {
        ...
        "Action": ["kms:GenerateDataKey","kms:Decrypt"]
        "Resource": "arn:aws:kms:<KMS_KEY_REGION>:<KMS_KEY_ACCOUNT_ID>:key/<KMS_KEY_ID>",
        ...
    }
    ...
    {
        "Action": [ "s3:PutObject", "s3:PutObjectAcl", "s3:GetObject", "s3:ListBucket"],
        "Resource": "arn:aws:s3:::<YOUR_DEDICATED_KMS_BUCKET_ID>/*",
    }
    ...
}
...
```

# Creación de la canalización de captura multimedia de Amazon Chime SDK
<a name="create-capture-pipe"></a>

Después de crear y configurar su bucket o buckets de Amazon S3, debe crear una canalización de captura multimedia.

**Para crear una canalización de captura multimedia**
+ Llame a la API [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaCapturePipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaCapturePipeline.html).

  Utilice el ARN de bucket como parámetro `SinkArn`.

Cuando se realiza correctamente, Amazon Chime SDK crea un asistente que se une a la reunión y la captura.

Después de crear una canalización de captura de contenido multimedia y configurar sus permisos, se crea una canalización de concatenación de contenido multimedia para concatenar los fragmentos multimedia de 5 segundos en un solo archivo. Para obtener más información, consulte [Creación de canalizaciones de concatenaciones multimedia en las reuniones de Amazon Chime SDK](create-concat-pipe.md) más adelante en esta sección.

# Uso de artefactos de captura multimedia de Amazon Chime SDK
<a name="artifacts"></a>

Durante una reunión de Amazon Chime SDK, una canalización de captura de contenido multimedia crea los siguientes tipos de artefactos. 
+ Audio
+ Video
+ Mensajes del canal de datos
+ Eventos de reunión
+ Mensajes de transcripción

La canalización crea los artefactos en un conjunto de carpetas de su bucket de Amazon S3 y usted puede configurar las carpetas de audio y video para limitar determinados tipos de artefactos. En las siguientes secciones se explica la estructura de carpetas, cómo configurar las carpetas, cómo establecer los permisos para su bucket de Amazon S3 y cómo concatenar los archivos de artefactos.

# Configuración de la carpeta de audio para las canalizaciones de captura multimedia de Amazon Chime SDK
<a name="configure-audio"></a>

La carpeta de audio contiene MP4 archivos de 5 segundos de la transmisión de audio mixto, lo que significa que contienen el audio de todos los asistentes, además del vídeo del orador activo. La carpeta contiene los archivos de toda la reunión. Si lo desea, puede configurar la carpeta para que contenga solo los artefactos de audio. El nombre de cada archivo contiene una marca de min-seconds-milleseconds tiempo *yyyy-mm-dd-hour:* La marca temporal está en UTC y marca la hora de inicio. Puede configurar la carpeta para que solo contenga artefactos de audio.

```
"ArtifactsConfiguration": { 
         "Audio": { 
            "MuxType": "AudioOnly"
         },
         "Content": {
            "State": "Disabled"
         },
         "Video": {
            "State": "Disabled"
         }
      }
```

# Configuración de la carpeta de video para las canalizaciones de captura multimedia de Amazon Chime SDK
<a name="configure-video"></a>

La carpeta de vídeo contiene MP4 archivos de 5 segundos que contienen secuencias de vídeo, además de secuencias de contenido compartido si se especifican en la solicitud de la API. Cada nombre de archivo contiene una <attendeeID>marca de tiempo < yyyy-mm-dd-hour - min-seconds-milleseconds >- con un identificador de asistente. <attendeeID>El fragmento de vídeo compartido con el contenido se adjunta como < yyyy-mm-dd-hour - >- min-seconds-milleseconds \$1content .mp4. Puede configurar la carpeta para que solo contenga artefactos de video.

```
"ArtifactsConfiguration": { 
         "Audio": { 
            "MuxType": "AudioOnly"
         },
         "Content": {
            "State": "Disabled"
         },
         "Video": {
            "MuxType": "VideoOnly"
            "State": "Enabled"
         }
      }
```

# Descripción de los mensajes de la carpeta del canal de datos para las canalizaciones de captura multimedia de Amazon Chime SDK
<a name="data-channel"></a>

La carpeta del canal de datos contiene mensajes de datos en formato .txt y cada mensaje es un objeto JSON. Los mensajes están visibles con todas las opciones de configuración. *Los nombres de los archivos contienen la yyyy-mm-dd-hour marca de tiempo -. min-seconds-milleseconds* En este ejemplo se muestran los campos de datos de un mensaje.

```
{
    "Timestamp": "string", 
    "Topic": "string", 
    "Data": "string", 
    "SenderAttendeeId": "string"
}
```

# Descripción de la estructura de carpetas de bucket de Amazon S3 para las canalizaciones de captura multimedia de Amazon Chime SDK
<a name="capture-folder-structure"></a>

Los buckets de Amazon S3 para las canalizaciones de captura multimedia utilizan esta estructura de carpetas.

```
S3 bucket path/
  audio
  video  
  data-channel
  meeting-events
  transcription-messages
```

# Descripción de los archivos de eventos de reuniones para las canalizaciones de captura multimedia de Amazon Chime SDK
<a name="meeting-events"></a>

La carpeta meeting-events contiene los eventos de la reunión en formato .txt y cada evento es un objeto JSON. Los mensajes están visibles con todas las opciones de configuración. Los nombres de los archivos contienen la marca de tiempo < yyyy-mm-dd-hour - min-seconds-milleseconds >. En este ejemplo se muestran los campos y los datos de un archivo de eventos típico.

```
{
    "Timestamp": "string",
    "EventType": "AttendeeJoined | AttendeeLeft | AttendeeVideoJoined | AttendeeVideoLeft | ActiveSpeaker | CaptureStarted | CaptureEnded  | AudioTrackMute | AudioTrackUnmute",
    "EventParameters": {
        # ...
    }
}
```

# Descripción de los archivos de transcripción para las canalizaciones de captura multimedia de Amazon Chime SDK
<a name="transcription-messages"></a>

La carpeta de mensajes de transcripción contiene archivos de transcripción en formato .txt. Sin embargo, la carpeta solo recibe archivos cuando se habilita la transcripción en directo. Para obtener más información acerca de cómo activar la transcripción en directo, consulte [Uso de la transcripción en directo de Amazon Chime Amazon Chime SDK](meeting-transcription.md).

La carpeta incluye todos los mensajes de transcripción parciales y completos, y cada mensaje es un objeto JSON. Los nombres de los archivos contienen la marca de tiempo < yyyy-mm-dd-hour - min-seconds-milleseconds >. Puede ver ejemplos de archivos de transcripción en [Procesamiento de un evento de transcripción en vivo de Amazon Chime SDK](delivery-examples.md).

# Concatenación de flujos de datos para las canalizaciones de captura multimedia de Amazon Chime SDK
<a name="concatenate-streams"></a>

**nota**  
Para automatizar el proceso de concatenación de artefactos de captura multimedia, consulte [Creación de canalizaciones de concatenaciones multimedia en las reuniones de Amazon Chime SDK](create-concat-pipe.md) en esta guía.

En este ejemplo, se utiliza ffmpeg para concatenar archivos de video o audio en un único archivo mp4. En primer lugar, cree un archivo filelist.txt que contenga todos los archivos de entrada. Utilice este formato: 

```
file 'input1.mp4'
file 'input2.mp4'
file 'input3.mp4'
```

A continuación, utilice este comando para concatenar el archivo de entrada:

```
ffmpeg -f concat -i filelist.txt -c copy output.mp4
```

Para obtener más información acerca de canalización de concatenación multimedia, consulte [Creación de canalizaciones de concatenaciones multimedia en las reuniones de Amazon Chime SDK](create-concat-pipe.md) en esta guía.

# Creación de canalizaciones de concatenaciones multimedia en las reuniones de Amazon Chime SDK
<a name="create-concat-pipe"></a>

Las canalizaciones de concatenación de contenido multimedia se utilizan para concatenar los artefactos (archivos) generados por las canalizaciones de captura de contenido multimedia.

Las canalizaciones de captura multimedia capturan el contenido de una reunión dividiendo las transmisiones multimedia y almacenando esos artefactos en el bucket de Amazon S3. Las canalizaciones de captura multimedia crean los siguientes tipos de artefactos: 
+ Audio
+ Video
+ Veces que se ha compartido el contenido
+ Mensajes del canal de datos
+ Mensajes de transcripción
+ Eventos de reunión
+ Video compuesto, es decir, contenido compartido y múltiples transmisiones de video que se muestran en una cuadrícula como mosaicos de video.

Las canalizaciones de concatenación de contenido multimedia le permiten concatenar cada tipo de artefacto en un único archivo y, a continuación, almacenar esos archivos de mayor tamaño en su bucket de Amazon S3. Puede crear una canalización de concatenación multimedia sin esperar a que finalice el evento de captura multimedia, pero la canalización de concatenación solo comienza a concatenarse cuando la canalización de captura se detiene.

**nota**  
Las canalizaciones de captura multimedia, las canalizaciones de concatenación multimedia y los buckets de Amazon S3 deben residir en la misma cuenta. AWS 

**Topics**
+ [Arquitectura de una canalización de concatenación de Amazon Chime SDK](concat-architecture.md)
+ [Creación de una canalización de concatenación de contenido multimedia del SDK de Amazon Chime](create-concat-pipe-steps.md)
+ [Descripción de la estructura de carpetas de bucket de Amazon S3 para las canalizaciones de concatenación de Amazon Chime SDK](concat-folder-structure.md)

# Arquitectura de una canalización de concatenación de Amazon Chime SDK
<a name="concat-architecture"></a>

En el siguiente diagrama, se ilustra la arquitectura de una canalización de concatenación multimedia.

![\[Diagrama que muestra la arquitectura de una canalización de concatenación multimedia.\]](http://docs.aws.amazon.com/es_es/chime-sdk/latest/dg/images/concatenation-pipe-architecture-2.png)


En el diagrama, al recibir una solicitud [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaCapturePipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaCapturePipeline.html), el plano de control de la canalización multimedia inicia una canalización de captura multimedia en el plano de datos de la canalización multimedia. A continuación, el plano de datos envía los fragmentos capturados al bucket de captura cada 5 segundos. Al recibir una solicitud [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaConcatenationPipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaConcatenationPipeline.html), el plano de control de la canalización multimedia espera a que finalice la canalización de captura multimedia especificada y, a continuación, inicia una canalización de concatenación de multimedia en el plano de datos de la canalización multimedia. A continuación, el plano de datos lee los fragmentos capturados en el bucket y envía los artefactos concatenados al bucket de concatenación.

# Creación de una canalización de concatenación de contenido multimedia del SDK de Amazon Chime
<a name="create-concat-pipe-steps"></a>

Siga un proceso de varios pasos para crear una canalización de concatenación de contenido multimedia de Amazon Chime SDK. Los siguientes pasos describen el proceso.

1. Cree un bucket de Amazon S3 para usarlo como receptor de datos de la canalización de captura multimedia y, a continuación, configure la política del bucket. Para obtener información sobre cómo habilitar el cifrado en el servidor para el bucket de Amazon S3, consulte [Habilitación del cifrado del lado del servidor para un bucket de Amazon S3](https://docs.aws.amazon.com/chime-sdk/latest/dg/sse-kms.html) en esta guía. Si ha creado un bucket de Amazon S3 para usarlo con canalizaciones de captura multimedia, debe añadir las acciones `s3:GetObject` y `s3:ListBucket` a la política de ese bucket. La acción `s3:ListBucket` requiere permiso sobre el bucket. Para las demás acciones se requiere permiso sobre los objetos del bucket. Debe usar dos nombres de recursos de Amazon (ARNs) diferentes para especificar los permisos a nivel de bucket y a nivel de objeto.

   En el siguiente ejemplo se muestra la política de bucket: Copie y pegue este ejemplo según sea necesario.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Id": "AWSChimeMediaCaptureBucketPolicy",
       "Statement": [
           {
               "Sid": "AWSChimeMediaCaptureBucketPolicy",
               "Effect": "Allow",
               "Principal": {
                   "Service": [
                       "mediapipelines.chime.amazonaws.com"
                   ]
               },
               "Action": [
                   "s3:PutObject",
                   "s3:PutObjectAcl",
                   "s3:GetObject",
                   "s3:ListBucket"
               ],
               "Resource": [
                   "arn:aws:s3:::[Bucket-Name]/*",
                   "arn:aws:s3:::[Bucket-Name]"
               ],
               "Condition": {
                   "StringEquals": {
                       "aws:SourceAccount": "123456789012"
                   },
                   "ArnLike": {
                   "aws:SourceArn": "arn:aws:chime:*:123456789012:*"
                   }
               }
           }
       ]
   }
   ```

------

1.  Cree un bucket de Amazon S3 para usarlo como receptor de datos de la canalización de concatenación multimedia y, a continuación, configure la política del bucket. Para obtener información sobre cómo habilitar el cifrado en el servidor para el bucket de Amazon S3, consulte [Habilitación del cifrado del lado del servidor para un bucket de Amazon S3](https://docs.aws.amazon.com/chime-sdk/latest/dg/sse-kms.html) en esta guía. 

   En el siguiente ejemplo se muestra la política.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Id": "AWSChimeMediaConcatenationBucketPolicy",
       "Statement": [
           {
               "Sid": " AWSChimeMediaConcatenationBucketPolicy ",
               "Effect": "Allow",
               "Principal": {
                   "Service": [
                       "mediapipelines.chime.amazonaws.com"
                   ]
               },
               "Action": [
                   "s3:PutObject",
                   "s3:PutObjectAcl",
                   "s3:GetObject",
                   "s3:ListBucket"
               ],
               "Resource": [
                   "arn:aws:s3:::[Bucket-Name]/*",
                   "arn:aws:s3:::[Bucket-Name]"
               ],
               "Condition": {
                   "StringEquals": {
                   "aws:SourceAccount": "123456789012"
                   },
                   "ArnLike": {
                   "aws:SourceArn": "arn:aws:chime:*:123456789012:*"
                   }
               }
           }
       ]
   }
   ```

------
**nota**  
Puede usar un único bucket de Amazon S3 para las canalizaciones de captura y concatenación de contenido multimedia. Sin embargo, si lo hace, debe añadir los permisos `s3:GetObject` y `s3:ListBucket` a la política de bucket de concatenación de contenido multimedia que se muestra en el paso 2. Si no quiere que la política de buckets de concatenación tenga esos permisos, cree buckets independientes para cada canalización. 

1. Utilice la API [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaCapturePipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaCapturePipeline.html) para crear una canalización de captura multimedia. Como parte de eso, obtenga el ARN de la canalización. Para obtener información sobre cómo obtener el ARN, consulte [Descripción de la creación de canalización multimedia de Amazon Chime SDK](create-pipeline.md). Usará el ARN en el siguiente paso.

1. Utilice la API [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaConcatenationPipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaConcatenationPipeline.html) para crear una canalización de concatenación.

   El siguiente ejemplo muestra un cuerpo de solicitud. El *Path* campo es opcional y su valor predeterminado es el ID de la canalización de concatenación.
**nota**  
Debe usar una `MediaPipelineArn` que haya creado en los últimos 30 días.

   ```
   {
       "Sources": [
           {
               "Type": "MediaCapturePipeline",
               "MediaCapturePipelineSourceConfiguration": {
                   "MediaPipelineArn": "Media_Pipeline_Arn",  //must be <30 days old
                   "ChimeSdkMeetingConfiguration": {
                       "ArtifactsConfiguration": {
                           "Audio": {
                               "State": "Enabled"
                           },
                           "Video": {
                               "State": "Enabled | Disabled"
                           },
                           "Content": {
                               "State": "Enabled | Disabled"
                           },
                           "DataChannel": {
                               "State": "Enabled | Disabled"
                           },
                           "TranscriptionMessages": {
                               "State": "Enabled | Disabled"
                           },
                           "MeetingEvents": {
                               "State": "Enabled | Disabled"
                           },
                           "CompositedVideo": {
                               "State": "Enabled | Disabled"
                           }
                       }
                   }
               }
           }
       ],
       "Sinks": [
           {
               "Type": "S3Bucket",
               "S3BucketSinkConfiguration": {
                   "Destination": "arn:aws:s3:::[Bucket_Name]/[Path]"
               }
           }
       ]
   }
   ```

   La concatenación comienza cada vez que se detiene la canalización de captura. La canalización de concatenación se detiene después de completar la concatenación.

# Descripción de la estructura de carpetas de bucket de Amazon S3 para las canalizaciones de concatenación de Amazon Chime SDK
<a name="concat-folder-structure"></a>

Los buckets de Amazon S3 para las canalizaciones de concatenación multimedia utilizan esta estructura de carpetas:

```
S3 bucket path/
  audio
  video
  composited-video
  data-channel
  meeting-events
  transcription-messages
```

**nota**  
Si especifica un prefijo al crear una canalización de medios, la ruta a las carpetas pasa a ser *nombre del bucket*/*prefijo*. Sin un prefijo, la ruta pasa a ser *nombre del bucket*/*ID de la canalización de medios*. Se especifica un prefijo en el campo `Destination` del objeto `S3BucketSinkConfiguration`. Los nombres de los archivos concatenados constan del *ID de canal multimedia .mp4* para los archivos multimedia y el *ID de canal multimedia .txt* para los archivos de texto.

# Creación de conectores en vivo multimedia en las reuniones de Amazon Chime SDK
<a name="connector-pipe-config"></a>

En las siguientes secciones se enumeran y describen el protocolo de mensajería en tiempo real (RTMP) y la configuración de audio y video de una canalización de Media Live Connector.

**Configuración RTMP**  
Las canalizaciones de Media Live Connector admiten RTMP a través de una conexión. TLS/SSL La URL de destino se compone de la URL y la clave de la transmisión. El siguiente formato es URLs el siguiente:

`rtmp(s)://stream-server/stream-key`

En los siguientes ejemplos se muestra cómo conectarse a plataformas de transmisión comunes.
+ **Amazon Interactive Video Service (IVS): rtmps: //a1b2c3d4e5f6.global-contribute.live-video.net:443/app/** *IVS-stream-key*
+ **YouTube**— rtmps: //a.youtube.com/live2/ *stream-key*
+ **Twitch —** rtmps: //live.twitch.tv/app/ *primary-stream-key*

**importante**  
El RTMPS utiliza el cifrado para garantizar que una transmisión no sea interceptada por una entidad no autorizada. Como práctica recomendada, utilice el RTMPS cuando necesite seguridad de datos adicional.

**Configuración de audio**  
Las canalizaciones de Media Live Connector admiten los siguientes ajustes de audio:
+ **Codec**: AAC
+ **Frecuencia de muestreo**: 44100 Hz o 48000 Hz. El valor predeterminado es 44 100 Hz.
+ **Canales**: mono o estéreo. El puerto predeterminado es mono.

**Configuración de video**  
Las canalizaciones de conectores Media Live utilizan el codificador H264. Puede utilizar HD a 1280 x 720 o FHD a 1920 x 1080. Ambas resoluciones utilizan 30 fotogramas por segundo, con un fotograma clave cada dos segundos.

**Detener las canalizaciones de conectores de Media Live**  
Como práctica recomendada para detener las canalizaciones de Media Live Connector, llame a la 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). La finalización de una transmisión en una plataforma de transmisión como IVS no detiene una canalización de conectores de Media Live.

# Creación de canalizaciones multimedia mediante Amazon Chime SDK
<a name="create-media-stream-pipeline"></a>

Las canalizaciones de transmisión multimedia capturan el audio individual de todos los asistentes a una reunión, además del audio mixto generado por una canalización de concatenación de contenido multimedia. Todas las canalizaciones de transmisión multimedia guardan sus datos en [Amazon Kinesis Video Streams](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/what-is-kinesis-video.html) (KVS).

La transmisión de video se crea llamando a la API [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaPipelineKinesisVideoStreamPool.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaPipelineKinesisVideoStreamPool.html). Puede crear una canalización de transmisión multimedia por reunión de Amazon Chime SDK.

**nota**  
Si una reunión utiliza una región opcional [MediaRegion](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_CreateMeeting.html#chimesdk-meeting-chime_CreateMeeting-request-MediaRegion), la transmisión de KVS debe estar en esa misma región. Por ejemplo, si una reunión utiliza la región `af-south-1`, la transmisión de KVS también debe estar disponible en `af-south-1`. Sin embargo, si la reunión utiliza una región que AWS activa de forma predeterminada, la transmisión de KVS puede estar en cualquier región disponible, incluida una región en la que se deba por participar. Por ejemplo, si la reunión lo usa`ca-central-1`, la transmisión de KVS puede estar en `eu-west-2`, `us-east-1` o `af-south-1`, o en cualquier otra región compatible con Amazon Chime SDK.  
Para saber qué AWS región usa una reunión, llama a la [GetMeeting](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_GetMeeting.html)API y usa el [MediaRegion](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_CreateMeeting.html#chimesdk-meeting-chime_CreateMeeting-request-MediaRegion)parámetro de la respuesta.  
Para obtener más información sobre las regiones [Regiones de AWS disponibles para Amazon Chime SDK](sdk-available-regions.md) en las que se puede participar, consulta esta guía y [especifica qué AWS regiones puede usar tu cuenta](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html#rande-manage-enable.html) en la *Guía de referencia de administración de AWS cuentas*.

En las secciones siguientes se explica cómo crear una canalización de flujo de contenido multimedia. Siga las instrucciones en el orden en el que se enumeran.

**Topics**
+ [Creación de un grupo de Kinesis Video Streams para canalizaciones de transmisión multimedia de Amazon Chime SDK](create-kvs-pool.md)
+ [Ejemplo de código de grupos de Kinesis Video Streams para canalizaciones de transmisión multimedia de Amazon Chime SDK](pool-creation-code.md)
+ [Creación de canalizaciones de transmisión multimedia de Amazon Chime SDK](create-stream-pipeline.md)
+ [Código de ejemplo para canalizaciones de transmisión multimedia de Amazon Chime SDK](pipeline-creation-code.md)
+ [Uso de las notificaciones de Event Bridge para las canalizaciones de transmisión multimedia de Amazon Chime SDK](media-stream-event-bridge.md)
+ [Uso de los datos de canalizaciones multimedia de Amazon Chime SDK](media-stream-tips-tricks.md)

# Creación de un grupo de Kinesis Video Streams para canalizaciones de transmisión multimedia de Amazon Chime SDK
<a name="create-kvs-pool"></a>

El grupo de Kinesis Video Streams (KVS) de su canal de transmisión multimedia debe pertenecer a la AWS misma cuenta que la reunión del SDK de Amazon Chime. Para crear un grupo de Kinesis Video Streams, llame a la API [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaPipelineKinesisVideoStreamPool.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaPipelineKinesisVideoStreamPool.html).

En el siguiente diagrama, se muestra la arquitectura de un grupo de Kinesis Video Streams. Los números de la imagen corresponden al texto numerado que aparece a continuación:

![\[Diagrama que muestra una llamada a la API que crea un grupo de Kinesis Video Streams.\]](http://docs.aws.amazon.com/es_es/chime-sdk/latest/dg/images/media-stream-pool-architecture.png)


En el diagrama:

1. Llame a la API [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaPipelineKinesisVideoStreamPool.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaPipelineKinesisVideoStreamPool.html).

1. El plano de control de Media Pipeline crea y administra los Kinesis Video Streams (KVS) y el grupo en su nombre en su cuenta.

El funcionamiento del grupo de KVS, es decir, el proceso de crear, actualizar y eliminar las transmisiones del grupo, es asincrónico. Como resultado, las notificaciones de Event Bridge utilizan el tipo de detalle de `Chime Media Pipeline Kinesis Video Pool State Change` para comunicar el estado de las transmisiones de un grupo.

Puede crear un grupo una vez y reutilizarlo en diferentes reuniones. También puede crear diferentes grupos según sea necesario y eliminar grupos cuando no los necesite.

Los grupos se escalan verticalmente de forma automática en función de la ráfaga de llamadas simultáneas. Puede eliminar cualquier grupo innecesario.

**nota**  
Al eliminar un grupo, debe esperar a que el grupo se elimine por completo antes de eliminar las transmisiones KVS del grupo. Una notificación de Event Bridge indicará cuándo el grupo se ha eliminado por completo. Esto ocurre una vez finalizadas todas las reuniones que utilizan el grupo. También puede llamar a la API [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_GetMediaPipelineKinesisVideoStreamPool.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_GetMediaPipelineKinesisVideoStreamPool.html) para ver el `PoolId` de un grupo de KVS determinado.  
Al invocar la API [https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_DeleteStream.html](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_DeleteStream.html) de Kinesis Video Streams, puede usar esa cadena de nomenclatura para buscar y eliminar las transmisiones de un grupo. También puede llamar a la API [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_GetMediaPipelineKinesisVideoStreamPool.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_GetMediaPipelineKinesisVideoStreamPool.html) para ver el `PoolId` de un grupo de KVS determinado. En los ejemplos de la siguiente sección se explica cómo hacerlo.

# Ejemplo de código de grupos de Kinesis Video Streams para canalizaciones de transmisión multimedia de Amazon Chime SDK
<a name="pool-creation-code"></a>

Los siguientes ejemplos muestran cómo crear, actualizar, obtener, enumerar y eliminar grupos de Kinesis Video Streams (KVS). Amplíe cada sección para obtener más información.

## Importaciones y variables comunes
<a name="imports-variables"></a>

```
'''
Define imports and common variables
'''

import boto3
from uuid import uuid4
import json

client = boto3.client("chime-sdk-media-pipelines", region_name='us-east-1')
pool_name = 'MyDemoKvsPool'

def pretty_print_json(obj):
    print(json.dumps(obj, default=str, indent=4))
```

## CreateMediaPipelineKinesisVideoStreamPool
<a name="create-stream-sample"></a>

```
response = client.create_media_pipeline_kinesis_video_stream_pool(
        StreamConfiguration={
            'Region': 'us-east-1',
            'DataRetentionInHours': 24
        },
        PoolName=pool_name,
        ClientRequestToken=str(uuid4()),
        Tags=[
            {
                'Key': 'MyTagForAccessControl',
                'Value': 'SomeTagValue'
            },
        ]
)

pretty_print_json(response['KinesisVideoStreamPoolConfiguration'])
```

**Salida:**

```
{
    "PoolArn": "arn:aws:chime:us-east-1:account-ID:media-pipeline-kinesis-video-stream-pool/MyDemoKvsPool",
    "PoolName": "MyDemoKvsPool",
    "PoolId": "ChimeMediaPipelines-MyDemoKvsPool-1f4e1a69-e718-4884-bf92-8a393ac0405b",
    "PoolStatus": "CREATING",
    "StreamConfiguration": {
        "Region": "us-east-1",
        "DataRetentionInHours": 24
    },
    "CreatedTimestamp": "2023-10-13 01:26:09.979000+00:00",
    "UpdatedTimestamp": "2023-10-13 01:26:09.979000+00:00"
}
```

## GetMediaPipelineKinesisVideoStream
<a name="get-stream-sample"></a>

```
response = client.get_media_pipeline_kinesis_video_stream_pool(
        Identifier=pool_name
)

pretty_print_json(response['KinesisVideoStreamPoolConfiguration'])
```

**Salida:**

```
{
    "PoolArn": "arn:aws:chime:us-east-1:account-ID:media-pipeline-kinesis-video-stream-pool/MyDemoKvsPool",
    "PoolName": "MyDemoKvsPool",
    "PoolId": "ChimeMediaPipelines-MyDemoKvsPool-1f4e1a69-e718-4884-bf92-8a393ac0405b",
    "PoolStatus": "ACTIVE",
    "StreamConfiguration": {
        "Region": "us-east-1",
        "DataRetentionInHours": 24
    },
    "CreatedTimestamp": "2023-10-13 01:26:09.979000+00:00",
    "UpdatedTimestamp": "2023-10-13 01:26:09.979000+00:00"
}
```

## UpdateMediaPipelineKinesisVideoStream
<a name="update-stream-sample"></a>

```
response = client.update_media_pipeline_kinesis_video_stream_pool(
    Identifier=pool_name,
    StreamConfiguration={
        'DataRetentionInHours': 48
    }
)
pretty_print_json(response['KinesisVideoStreamPoolConfiguration'])
```

**Salida:**

```
{
    "PoolArn": "arn:aws:chime:us-east-1:account-ID:media-pipeline-kinesis-video-stream-pool/MyDemoKvsPool",
    "PoolName": "MyDemoKvsPool",
    "PoolId": "ChimeMediaPipelines-MyDemoKvsPool-d08c26ae-0336-4e2e-acdf-805a7d71b891",
    "PoolStatus": "UPDATING",
    "PoolSize": 40,
    "StreamConfiguration": {
        "Region": "us-east-1",
        "DataRetentionInHours": 48
    },
    "CreatedTimestamp": "2023-10-13 01:44:23.010000+00:00",
    "UpdatedTimestamp": "2023-10-13 01:44:28.486000+00:00"
}
```

## ListMediaPipelineKinesisVideoStream
<a name="list-stream-sample"></a>

```
list_of_pools = []
max_results = 100
next_token = None
while(True):
    if next_token:
        response = client.list_media_pipeline_kinesis_video_stream_pools(
            NextToken=next_token,
            MaxResults=max_results
        )
    else:
        response = client.list_media_pipeline_kinesis_video_stream_pools(
            MaxResults=max_results
        )

    list_of_pools.extend(response['KinesisVideoStreamPools'])
    next_token = response.get('NextToken')
    if not next_token:
        break
pretty_print_json(list_of_pools)
```

**Salida:**

```
[
    {
        "PoolName": "MyDemoKvsPool",
        "PoolId": "ChimeMediaPipelines-MyDemoKvsPool-6588e703-f046-4288-ba7f-0c03de76a6bb",
        "PoolArn": "arn:aws:chime:us-east-1:account-ID:media-pipeline-kinesis-video-stream-pool/MyDemoKvsPool"
    }
]
```

## DeleteMediaPipelineKinesisVideoStream
<a name="delete-stream-sample"></a>

```
client.delete_media_pipeline_kinesis_video_stream_pool(
    Identifier=pool_name
)
```

**Resultado**: una solicitud correcta de `delete_media_pipeline_kinesis_video_stream_pool` no tiene cuerpo.

# Creación de canalizaciones de transmisión multimedia de Amazon Chime SDK
<a name="create-stream-pipeline"></a>

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 de Amazon Chime SDK, debe llamar a la 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) 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.\]](http://docs.aws.amazon.com/es_es/chime-sdk/latest/dg/images/media-stream-pipe-architecture.png)


En el diagrama:

1. Llame a la API `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`. `ReservedStreamCapacity`establece 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 para`MixedAudio`. 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 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) con `KinesisVideoStreamPool` como `SinkType`, `SinkARN` debe pertenecer a la región del plano de control en la que se está invocando `CreateMediaStreamPipeline`.

       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`.

1. El plano de datos de Media Pipeline llama a la [ PutMedia](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_PutMedia.html)API de KVS para almacenar el audio individual en una transmisión de KVS que pertenece al grupo de KVS que especifique.

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

**nota**  
Tras llamar a la 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), los creadores pueden usar [eventos de canalización multimedia](media-pipe-events.md) o llamar a la 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 si el estado de la canalización es `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 `IndividualAudio` transmisión, existe un mapeo 1:1 entre el asistente IDs y la transmisión 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 identificador de asistente o para qué se asigna MixedAudio, utilice una de las siguientes técnicas:  
Utilice las [notificaciones de Event Bridge](media-stream-event-bridge.md). Cada notificación proporciona información como el asistente IDs 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 [https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_ListStreams.html](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_ListStreams.html) de Kinesis Video Streams mediante esta solución.
La canalización de Media Stream se cierra cuando se elimina la reunión o se invoca la 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) para esa canalización de transmisión multimedia. También se envía una [notificación de Event Bridge](media-pipe-events.md) para indicar la finalización de la canalización de contenido multimedia.

# Código de ejemplo para canalizaciones de transmisión multimedia de Amazon Chime SDK
<a name="pipeline-creation-code"></a>

Los siguientes ejemplos muestran cómo crear canalizaciones de transmisión multimedia para audio mixto, audio individual y ambos. Amplíe cada sección para obtener más información.

## CreateMediaStreamPipeline para audio mixto
<a name="create-mixed-sample"></a>

```
response = client.create_media_stream_pipeline(
    Sources=[
        {
            'SourceType': 'ChimeSdkMeeting',
            'SourceArn': 'arn:aws:chime:us-east-1:account-ID:meeting/bed804cf-8cf0-4991-9b8d-d1acc2987433'
        },
    ],
    Sinks=[
        {
            'SinkArn': 'arn:aws:chime:us-east-1:account-ID:media-pipeline-kinesis-video-stream-pool/foo',
            'SinkType': 'KinesisVideoStreamPool',
            'ReservedStreamCapacity': 1,
            'MediaStreamType': 'MixedAudio'
        },
    ],
    ClientRequestToken='sample token',
    Tags=[
        {
            'Key': 'sample key',
            'Value': 'sample value'
        },
    ]
)
```

**Respuesta**:

```
{
    'MediaStreamPipeline': {
        'MediaPipelineId': '45bc79a0-4591-4ebe-a642-d42c4e279f2d',
        'MediaPipelineArn': 'arn:aws:chime:us-east-1:account-ID:media-pipeline/45bc79a0-4591-4ebe-a642-d42c4e279f2d',
        'CreatedTimestamp': '2023-07-25T21:48:48.265Z',
        'UpdatedTimestamp': '2023-07-25T21:48:48.376Z',
        'Status': 'Initializing',
        'Sources': [
            {
                'SourceType': 'ChimeSdkMeeting',
                'SourceArn': 'arn:aws:chime:us-east-1:account-ID:meeting/bed804cf-8cf0-4991-9b8d-d1acc2987433'
            },
        ],
        'Sinks': [
            {
                'SinkArn': 'arn:aws:chime:us-east-1:account-ID:media-pipeline-kinesis-video-stream-pool/foo',
                'SinkType': 'KinesisVideoStreamPool',
                'ReservedStreamCapacity': 1,
                'MediaStreamType': 'MixedAudio'
            },
        ]
    }
}
```

## CreateMediaStreamPipeline para audio individual
<a name="create-individual-sample"></a>

```
response = client.create_media_stream_pipeline(
    Sources=[
        {
            'SourceType': 'ChimeSdkMeeting',
            'SourceArn': 'arn:aws:chime:us-east-1:account-ID:meeting/bed804cf-8cf0-4991-9b8d-d1acc2987433'
        },
    ],
    Sinks=[
        {
            'SinkArn': 'arn:aws:chime:us-east-1:account-ID:media-pipeline-kinesis-video-stream-pool/foo',
            'SinkType': 'KinesisVideoStreamPool',
            'ReservedStreamCapacity': 5,
            'MediaStreamType': 'IndividualAudio'
        },
    ],
    ClientRequestToken='sample token',
    Tags=[
        {
            'Key': 'sample key',
            'Value': 'sample value'
        },
    ]
)
```

**Respuesta**:

```
{
    'MediaStreamPipeline': {
        'MediaPipelineId': '45bc79a0-4591-4ebe-a642-d42c4e279f2d',
        'MediaPipelineArn': 'arn:aws:chime:us-east-1:account-ID:media-pipeline/45bc79a0-4591-4ebe-a642-d42c4e279f2d',
        'CreatedTimestamp': '2023-07-25T21:48:48.265Z',
        'UpdatedTimestamp': '2023-07-25T21:48:48.376Z',
        'Status': 'Initializing',
        'Sources': [
            {
                'SourceType': 'ChimeSdkMeeting',
                'SourceArn': 'arn:aws:chime:us-east-1:account-ID:meeting/bed804cf-8cf0-4991-9b8d-d1acc2987433'
            },
        ],
        'Sinks': [
            {
                'SinkArn': 'arn:aws:chime:us-east-1:account-ID:media-pipeline-kinesis-video-stream-pool/foo',
                'SinkType': 'KinesisVideoStreamPool',
                'ReservedStreamCapacity': 5,
                'MediaStreamType': 'IndividualAudio'
            },
        ]
    }
}
```

## CreateMediaStreamPipeline para audio mixto e individual
<a name="create-both-sample"></a>

```
response = client.create_media_stream_pipeline(
    Sources=[
        {
            'SourceType': 'ChimeSdkMeeting',
            'SourceArn': 'arn:aws:chime:us-east-1:account-ID:meeting/bed804cf-8cf0-4991-9b8d-d1acc2987433'
        },
    ],
    Sinks=[
        {
            'SinkArn': 'arn:aws:chime:us-east-1:account-ID:media-pipeline-kinesis-video-stream-pool/foo',
            'SinkType': 'KinesisVideoStreamPool',
            'ReservedStreamCapacity': 1,
            'MediaStreamType': 'MixedAudio'
        },
        {
            'SinkArn': 'arn:aws:chime:us-east-1:account-ID:media-pipeline-kinesis-video-stream-pool/foo',
            'SinkType': 'KinesisVideoStreamPool',
            'ReservedStreamCapacity': 5,
            'MediaStreamType': 'IndividualAudio'
        },
    ],
    ClientRequestToken='sample token',
    Tags=[
        {
            'Key': 'sample key',
            'Value': 'sample value'
        },
    ]
)
```

**Respuesta**:

```
{
    'MediaStreamPipeline': {
        'MediaPipelineId': '45bc79a0-4591-4ebe-a642-d42c4e279f2d',
        'MediaPipelineArn': 'arn:aws:chime:us-east-1:account-ID:media-pipeline/45bc79a0-4591-4ebe-a642-d42c4e279f2d',
        'CreatedTimestamp': '2023-07-25T21:48:48.265Z',
        'UpdatedTimestamp': '2023-07-25T21:48:48.376Z',
        'Status': 'Initializing',
        'Sources': [
            {
                'SourceType': 'ChimeSdkMeeting',
                'SourceArn': 'arn:aws:chime:us-east-1:account-ID:meeting/bed804cf-8cf0-4991-9b8d-d1acc2987433'
            },
        ],
        'Sinks': [
            {
                'SinkArn': 'arn:aws:chime:us-east-1:account-ID:media-pipeline-kinesis-video-stream-pool/foo',
                'SinkType': 'KinesisVideoStreamPool',
                'ReservedStreamCapacity': 1,
                'MediaStreamType': 'MixedAudio'
            },
            {
                'SinkArn': 'arn:aws:chime:us-east-1:account-ID:media-pipeline-kinesis-video-stream-pool/foo',
                'SinkType': 'KinesisVideoStreamPool',
                'ReservedStreamCapacity': 5,
                'MediaStreamType': 'IndividualAudio'
            },
        ]
    }
}
```

# Uso de las notificaciones de Event Bridge para las canalizaciones de transmisión multimedia de Amazon Chime SDK
<a name="media-stream-event-bridge"></a>

Además de los [Uso de eventos de canalizaciones de contenido multimedia de Amazon Chime SDK](media-pipe-events.md), las canalizaciones de transmisión multimedia envían notificaciones a Event Bridge cuando comienzan o dejan de transmitir a KVS y cuando cambian los estados de los grupos de videos.

**Topics**
+ [Descripción de los eventos de canalización de transmisión multimedia de Amazon Chime SDK](stream-pipe-events.md)
+ [Descripción de los eventos de grupo de Kinesis Video Streams para canalizaciones de transmisión multimedia de Amazon Chime SDK](media-stream-pool-events.md)

# Descripción de los eventos de canalización de transmisión multimedia de Amazon Chime SDK
<a name="stream-pipe-events"></a>

Las canalizaciones de transmisión multimedia envían los siguientes eventos. Amplíe cada sección para obtener más información.

## Inicio del flujo de video de Kinesis de la canalización de flujos de medios de Amazon Chime
<a name="stream-pipe-kvs-start"></a>

La canalización de medios de Amazon Chime SDK envía este evento cuando la canalización de transmisión multimedia comienza a recibir audio de la reunión y a transmitirlo a KVS. Los campos vacíos `AttendeeId` y `ExternalUserId` indican que la canalización de medios envió audio mixto a la transmisión de KVS.

```
{
    "version": "0", 
    "id": "5ee6265a-0a40-104e-d8fd-a3b4bdd78483", 
    "detail-type": "Chime Media Pipeline State Change", 
    "source": "aws.chime", 
    "account": "111122223333", 
    "time": "2021-07-28T20:20:49Z", 
    "region": "us-east-1", 
    "resources": [], 
    "detail": {
        "eventType": "chime:MediaPipelineKinesisVideoStreamStart", 
        "timestamp": 1627503649251, 
        "meetingId": "1e6bf4f5-f4b5-4917-b8c9-bda45c340706", 
        "externalMeetingId": "Meeting_Id", 
        "mediaPipelineId": "e40ee45e-2ed1-408e-9156-f52b8208a491", 
        "mediaRegion": "ap-southeast-1",
        
        "attendeeId": "Attendee_Id", 
        "externalUserId": "External_User_Id",
                
        "kinesisVideoStreamArn": "arn:aws:kinesisvideo:us-east-1:123456:stream/Chime*",
        "startFragmentNumber": "1234567899444",
        "startTime": "yyyy-mm-ddThh:mm:ssZ"
                
    }
}
```

## Fin del flujo de video de Kinesis de la canalización de flujos de medios de Amazon Chime
<a name="stream-pipe-kvs-stop"></a>

El canal multimedia envía este evento a Event Bridge cuando finaliza la transmisión a KVS.

```
{
    "version": "0", 
    "id": "5ee6265a-0a40-104e-d8fd-a3b4bdd78483", 
    "detail-type": "Chime Media Pipeline State Change", 
    "source": "aws.chime", 
    "account": "111122223333", 
    "time": "2021-07-28T20:20:49Z", 
    "region": "us-east-1", 
    "resources": [], 
    "detail": {
        "eventType": "chime:MediaPipelineKinesisVideoStreamEnd", 
        "timestamp": 1627503649251, 
        "meetingId": "1e6bf4f5-f4b5-4917-b8c9-bda45c340706", 
        "externalMeetingId": "Meeting_Id", 
        "mediaPipelineId": "e40ee45e-2ed1-408e-9156-f52b8208a491", 
        "mediaRegion": "ap-southeast-1",
        
        "attendeeId": "Attendee_Id", 
        "externalUserId": "External_User_Id",
                
        "kinesisVideoStreamArn": "arn:aws:kinesisvideo:us-east-1:123456:stream/Chime*",
        "startFragmentNumber": "1234567899444",
        "startTime": "yyyy-mm-ddThh:mm:ssZ",
        "endTime": "yyyy-mm-ddThh:mm:ssZ",
        "endFragmentNumber": "1234567899555"
    }
}
```

# Descripción de los eventos de grupo de Kinesis Video Streams para canalizaciones de transmisión multimedia de Amazon Chime SDK
<a name="media-stream-pool-events"></a>

Las canalizaciones multimedia envían los siguientes eventos a Event Bridge cuando cambian los estados de los grupos. Amplíe cada sección para obtener más información.

## Grupo de videos de Kinesis de Amazon Chime Media Pipeline activo
<a name="kvs-pool-active"></a>

El canal multimedia envía este evento después de que la API [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaPipelineKinesisVideoStreamPool.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaPipelineKinesisVideoStreamPool.html) cree un grupo.

```
{
    "version": "0", 
    "id": "5ee6265a-0a40-104e-d8fd-a3b4bdd78483", 
    "detail-type": "Chime Media Pipeline Kinesis Video Pool State Change", 
    "source": "aws.chime", 
    "account": "111122223333", 
    "time": "2021-07-28T20:20:49Z", 
    "region": "us-east-1", 
    "resources": [], 
    "detail": {
        "eventType": "chime:MediaPipelineKinesisVideoStreamPoolActive", 
        "timestamp": 1627503649251,
        "mediaRegion": "ap-southeast-1",
        "poolArn" : "ARN of the KVS Pool"
    }
}
```

## Actualización del grupo de videos de Kinesis de Amazon Chime Media Pipeline
<a name="kvs-pool-updated"></a>

El canal multimedia envía este evento después de que la API [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_UpdateMediaPipelineKinesisVideoStreamPool.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_UpdateMediaPipelineKinesisVideoStreamPool.html) actualice un grupo.

```
{
    "version": "0", 
    "id": "5ee6265a-0a40-104e-d8fd-a3b4bdd78483", 
    "detail-type": "Chime Media Pipeline Kinesis Video Pool State Change", 
    "source": "aws.chime", 
    "account": "111122223333", 
    "time": "2021-07-28T20:20:49Z", 
    "region": "us-east-1", 
    "resources": [], 
    "detail": {
        "eventType": "chime:MediaPipelineKinesisVideoStreamPoolUpdated", 
        "timestamp": 1627503649251,
        "mediaRegion": "ap-southeast-1",
        "poolArn" : "ARN of the KVS Pool"
    }
}
```

## Eliminado el grupo de videos de Kinesis de Amazon Chime Media Pipeline
<a name="kvs-pool-deleted"></a>

El canal multimedia envía este evento a Event Bridge cuando [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_DeleteMediaPipelineKinesisVideoStreamPool.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_DeleteMediaPipelineKinesisVideoStreamPool.html) elimina un grupo.

Para obtener más información sobre la eliminación de grupos, consulte [Creación de un grupo de Kinesis Video Streams para canalizaciones de transmisión multimedia de Amazon Chime SDK](create-kvs-pool.md) en esta sección.

```
{
    "version": "0", 
    "id": "5ee6265a-0a40-104e-d8fd-a3b4bdd78483", 
    "detail-type": "Chime Media Pipeline Kinesis Video Pool State Change", 
    "source": "aws.chime", 
    "account": "111122223333", 
    "time": "2021-07-28T20:20:49Z", 
    "region": "us-east-1", 
    "resources": [], 
    "detail": {
        "eventType": "chime:MediaPipelineKinesisVideoStreamPoolDeleted", 
        "timestamp": 1627503649251,
        "mediaRegion": "ap-southeast-1",
        "poolArn" : "ARN of the KVS Pool"
    }
 }
```

## Fallo temporal en Amazon Chime Media Pipeline Kinesis Video Pool
<a name="kvs-pool-temp-failure"></a>

El canal multimedia envía el siguiente evento a Event Bridge cuando un grupo de videos falla temporalmente.

```
{
    "version": "0", 
    "id": "5ee6265a-0a40-104e-d8fd-a3b4bdd78483", 
    "detail-type": "Chime Media Pipeline Kinesis Video Pool State Change", 
    "source": "aws.chime", 
    "account": "111122223333", 
    "time": "2021-07-28T20:20:49Z", 
    "region": "us-east-1", 
    "resources": [], 
    "detail": {
        "eventType": "chime:MediaPipelineKinesisVideoStreamPoolTemporaryFailure", 
        "timestamp": 1627503649251,
        "mediaRegion": "ap-southeast-1",
        "poolArn" : "ARN of the KVS Pool"
    }
 }
```

## Fallo permanente de Amazon Chime Media Pipeline Kinesis Video Pool
<a name="kvs-pool-perm-failure"></a>

El canal multimedia envía el siguiente evento a Event Bridge cuando un grupo de videos falla permanentemente.

```
{
    "version": "0", 
    "id": "5ee6265a-0a40-104e-d8fd-a3b4bdd78483", 
    "detail-type": "Chime Media Pipeline Kinesis Video Pool State Change", 
    "source": "aws.chime", 
    "account": "111122223333", 
    "time": "2021-07-28T20:20:49Z", 
    "region": "us-east-1", 
    "resources": [], 
    "detail": {
        "eventType": "chime:MediaPipelineKinesisVideoStreamPoolPermanentFailure", 
        "timestamp": 1627503649251,
        "mediaRegion": "ap-southeast-1",
        "poolArn" : "ARN of the KVS Pool"
    }
}
```

Si su cuenta de AWS ha superado el límite de transmisión de vídeo de Amazon Kinesis, recibirá el siguiente evento adicional sobre la canalización de contenido multimedia.

```
{
    "version": "0",
    "id": "5ee6265a-0a40-104e-d8fd-a3b4bdd78483",
    "detail-type": "Chime Media Pipeline Kinesis Video Pool State Change",
    "source": "aws.chime",
    "account": "111122223333",
    "time": "2021-07-28T20:20:49Z",
    "region": "us-east-1",
    "resources": [],
    "detail": {
        "eventType": "chime:MediaPipelineKinesisVideoStreamPoolStreamLimitExceeded",
        "timestamp": 1627503649251,
        "mediaRegion": "ap-southeast-1",
        "poolArn" : "ARN of the KVS Pool"
    }
}
```

# Uso de los datos de canalizaciones multimedia de Amazon Chime SDK
<a name="media-stream-tips-tricks"></a>

Puede usar los metadatos de las notificaciones para obtener los KVS ARNs, los números de fragmentos y las marcas de tiempo de los fragmentos. Esa información puede ayudarle a procesar los datos de audio de una transmisión en KVS.

Además, puedes usar el KVS ARNs con el KVS APIs para leer los datos de una transmisión. Según el caso de uso, se llama a y. [https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_GetMedia.html](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_GetMedia.html) APIs Normalmente, una llamada a `GetMediaForFragmentList` va precedida de una llamada a la API [https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_reader_ListFragments.html](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_reader_ListFragments.html). Para obtener más información, consulte [Lectura de datos de transmisiones](https://aws.amazon.com/kinesis/video-streams/faqs/), en *Amazon Kinesis Video FAQs Streams*.

Según el caso de uso, los creadores pueden utilizar la biblioteca de analizadores de Kinesis Video Streams, que a su vez utiliza la API [https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_GetMedia.html](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_GetMedia.html) de KVS.

Las canalizaciones de transmisión multimedia añaden los siguientes metadatos de reuniones y asistentes a cada fragmento.

```
"meetingId"
"externalMeetingId"
"attendeeId"
"externalUserId"
"sampleRate"
"channels"
```

Los datos multimedia se almacenan en formato MKV. Todos los datos de audio MKV están codificados en AAC. Para obtener más información, consulte [Modelo de datos de Kinesis Video Streams](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/how-data.html) en la *Guía para desarrolladores de Kinesis Video Streams*.

# Composición de audio y video en una sola vista en las reuniones de Amazon Chime SDK
<a name="pipeline-compositing"></a>

Los canales multimedia de Amazon Chime SDK admiten la composición de audio, videos de cámaras web y transmisiones de video para compartir contenido en una sola vista. Luego, puedes usar Live Connector para enviar esa vista única a servicios de streaming como Amazon Interactive Video Service, Twitch o YouTube Live. El video compuesto también se puede capturar en Amazon Simple Storage Service para su almacenamiento o consumo posterior.

La composición utiliza un diseño de pantalla predeterminado denominado `GridView`, que tiene los siguientes comportamientos. 
+ Cuando solo están activos los videos de la cámara web, `GridView` organiza las transmisiones según el siguiente patrón de cuadrícula:  
![\[Una cuadrícula de cuatro columnas y cuatro filas que muestra los contornos de las personas.\]](http://docs.aws.amazon.com/es_es/chime-sdk/latest/dg/images/grid-no-content-share.png)

  La cuadrícula muestra un máximo de 25 transmisiones por cámara web y ordena los mosaicos según el momento en que los usuarios encienden sus cámaras.
+ `GridView` proporciona dos orientaciones de lienzo `Landscape` y `Portrait`. La orientación horizontal, la orientación predeterminada, admite resoluciones de video de 1280 x 720 y 1920 x 1080 para FHD. Portrait admite resoluciones de 720 x 1280 y 1080 x 1920 para FHD.
+ Puede configurar el orden, la posición, el número total, la relación de aspecto de los mosaicos, el radio de las esquinas, el color del borde, el grosor del borde y el color de resaltado de los mosaicos de video.
+ Durante una reunión, cuando alguien comparte su pantalla, los mosaicos de video de la cámara web cambian de forma dinámica para dejar espacio al contenido compartido. Puede controlar esas transiciones y las ubicaciones de los mosaicos de video mediante una de las configuraciones de diseño que se describen en la siguiente sección.

**Acerca de las configuraciones de diseño**  
Cuando alguien inicia un recurso compartido de contenido, puede elegir cómo componer el contenido compartido y las transmisiones de video de la cámara web mediante una de las siguientes configuraciones de diseño.
+ `ActiveSpeakerOnlyConfiguration` compone el contenido del video a pantalla completa, con el video de la cámara web del altavoz activo superpuesto en una esquina. Puede especificar la esquina.
+ `PresenterOnlyConfiguration` compone el contenido del video a pantalla completa, con el video de la cámara web del presentador superpuesto en una esquina. Puede especificar la esquina.
+ `VerticalLayoutConfiguration` compone el video del contenido con el video de la cámara web en una columna vertical adyacente. Puede mostrar la columna a la derecha o a la izquierda del contenido compartido.
+ `HorizontalLayoutConfiguration` compone el contenido del video con el video de la cámara web en una fila horizontal adyacente. Puede mostrar la fila por encima o por debajo del contenido compartido.

Los diseños compuestos cambian automáticamente entre `GridView` y el diseño elegido, en función de si el contenido compartido está activo o no.

En los siguientes temas, se explica cómo utilizar los ajustes globales de `GridView` y cada diseño de configuración.

**Topics**
+ [Configuración de la orientación del lienzo para la composición en las reuniones de Amazon Chime SDK](canvas-orientation.md)
+ [Configuración de los atributos de borde y esquina para composición en las reuniones de Amazon Chime SDK](video-attribute.md)
+ [Uso de las configuraciones de diseño para composición en las reuniones de Amazon Chime SDK](compositing-layouts.md)

# Configuración de la orientación del lienzo para la composición en las reuniones de Amazon Chime SDK
<a name="canvas-orientation"></a>

Al componer, el *lienzo* contiene todas las transmisiones de video. Puede especificar una orientación `Landscape` o `Portrait` para el lienzo. El formato horizontal proporciona una relación de aspecto de 16:9. Portrait proporciona una relación de aspecto de 9:16.

En la imagen siguiente, se ve la orientación vertical.

![\[Imagen que muestra dos mosaicos de video en una ventana vertical (vertical).\]](http://docs.aws.amazon.com/es_es/chime-sdk/latest/dg/images/compositing-portrait-with-tile.png)


El siguiente ejemplo muestra cómo implementar un lienzo de retrato con el mosaico de video en la esquina superior derecha. En este ejemplo, el altavoz activo aparece en el mosaico. Para obtener más información, consulte [ActiveSpeakerOnlyConfiguration](compositing-layouts.md#active-speaker-only)

```
{
   "CompositedVideo":{
      "Layout":"GridView",
      "Resolution":"FHD",
      "GridViewConfiguration":{
         "ContentShareLayout":"ActiveSpeakerOnly",
         "ActiveSpeakerOnlyConfiguration":{
            "ActiveSpeakerPosition":"TopRight"
         }
      },
      "CanvasOrientation": "Portrait"       
   }
}
```

En la imagen siguiente, se ve la orientación horizontal.

![\[Imagen que muestra dos mosaicos de video en una ventana horizontal (horizontal).\]](http://docs.aws.amazon.com/es_es/chime-sdk/latest/dg/images/compositing-landscape-with-tile.png)


**CanvasOrientation**  
*Descripción*: el ajuste de orientación, horizontal o vertical.  
*Valores permitidos* – `Landscape` \$1 `Portrait`  
*Obligatorio:* no  
*Valor predeterminado*: "landscape"

# Configuración de los atributos de borde y esquina para composición en las reuniones de Amazon Chime SDK
<a name="video-attribute"></a>

Si lo desea, puede utilizar el parámetro `VideoAttribute` para especificar los ajustes de borde y esquina de los mosaicos de video. Puede especificar colores, anchuras y esquinas redondeadas. También puede especificar un color de resaltado y el borde cambiará a ese color cuando alguien hable. 

La configuración de sus atributos se aplica a todos los diseños, independientemente del contenido compartido.

La siguiente imagen muestra un mosaico de video con un color de borde y un radio de vértice aplicados.

![\[Imagen de una pantalla compartida y un mosaico de video con un borde rojo y esquinas redondeadas.\]](http://docs.aws.amazon.com/es_es/chime-sdk/latest/dg/images/compositing-speaker-border.png)


En el siguiente ejemplo se muestra cómo utilizar cada atributo. En este caso, los mosaicos de video tienen esquinas redondeadas con un radio de cinco píxeles. Los mosaicos tienen un borde verde, también de cinco píxeles de ancho. Cuando el interlocutor habla, el atributo `HighlightColor` cambia el color del borde a rojo.

```
{
   "CompositedVideo":{
      "Layout":"GridView",
      "Resolution":"FHD",
      "GridViewConfiguration":{
         "ContentShareLayout":"ActiveSpeakerOnly",
         "ActiveSpeakerOnlyConfiguration":{
            "ActiveSpeakerPosition":"TopRight"
         }
         "VideoAttribute": {
            "CornerRadius"   : 10,                               
            "BorderColor"    : "Green", 
            "HighlightColor" : "Red",  
            "BorderThickness": 5 
          },      
       }
   }
}
```

**VideoAttribute**  
*Descripción*: especifica la configuración de los bordes y las esquinas redondeadas de los mosaicos de video  
*Valores permitidos*: `BorderColor` \$1 `BorderThickness` \$1 `CornerRadius` \$1 `HighlightColor`  
*Obligatorio:* no

**VideoAttribute.BorderColor**  
*Descripción*: define el color del borde de todos los mosaicos de video  
*Valores permitidos*: nombres de colores, como rojo, verde o azul  
*Obligatorio:* no

**VideoAttribute.BorderThickness**  
*Descripción*: define el grosor del borde en píxeles de todos los mosaicos de video  
*Tipo*: entero  
*Valores permitidos*: de 1 a 20  
*Obligatorio:* no

**VideoAttribute.CornerRadius**  
*Descripción*: define el radio de las esquinas en píxeles de todos los mosaicos de video.   
*Tipo*: entero  
*Valores permitidos*: de 1 a 20  
*Obligatorio:* no

**VideoAttribute.HighlightColor**  
*Descripción*: define el color del borde que aparece cuando un presentador o orador habla  
*Valores permitidos*: nombres de colores, como rojo, verde o azul  
*Obligatorio:* no

# Uso de las configuraciones de diseño para composición en las reuniones de Amazon Chime SDK
<a name="compositing-layouts"></a>

En los siguientes temas, se explica cómo utilizar los diferentes diseños de configuración. Los diseños solo surten efecto cuando alguien inicia un intercambio de contenido. Amplíe cada sección para obtener más información.

## ActiveSpeakerOnlyConfiguration
<a name="active-speaker-only"></a>

`ActiveSpeakerOnlyConfiguration` muestra el contenido compartido y el video del orador activo, lo que significa que la persona que habla aparece en el pequeño mosaico de video que se superpone a la transmisión del contenido compartido.

La siguiente imagen muestra la configuración y las ubicaciones disponibles para el panel del interlocutor.

![\[Imagen que muestra un mosaico de video grande en el centro de una ventana y un mosaico pequeño en la parte superior izquierda.\]](http://docs.aws.amazon.com/es_es/chime-sdk/latest/dg/images/compositing-active-speaker-4x.png)


En el siguiente ejemplo se muestra cómo implementar el diseño de `ActiveSpeakerOnly` mediante programación. En este caso, el mosaico del presentador aparece en la esquina superior izquierda.

```
{
   "CompositedVideo":{
      "Layout":"GridView",
      "Resolution":"FHD",
      "GridViewConfiguration":{
         "ContentShareLayout":"ActiveSpeakerOnly",
         "ActiveSpeakerOnlyConfiguration":{
            "ActiveSpeakerPosition":"TopLeft"
         }
      }
   }
}
```

**ActiveSpeakerOnlyConfiguration**  
*Descripción*: los ajustes de configuración de un icono de video `ActiveSpeakerOnly`  
*Tipo*: objeto ActiveSpeakerOnlyConfiguration  
*Obligatorio:* no

**ActiveSpeakerOnlyConfiguration.ActiveSpeakerPosition**  
*Descripción:* posición del mosaico de video del interlocutor activo  
*Tipo*: cadena  
*Valores válidos*: `TopLeft` \$1 `TopRight` \$1 `BottomLeft` \$1 `BottomRight`  
*Obligatorio:* no  
*Valor predeterminado*: `TopRight`

## PresenterOnlyConfiguration
<a name="presenter-only"></a>

`PresenterOnlyConfiguration` muestra el contenido compartido y solo el video del presentador, independientemente de quién hable. En la siguiente imagen se muestra la configuración.

![\[Imagen de cuatro pantallas. Cada pantalla tiene una ventana para compartir en el centro y un mosaico de video en cada esquina.\]](http://docs.aws.amazon.com/es_es/chime-sdk/latest/dg/images/compositing-presenter-only-4x.png)


En el siguiente ejemplo se muestra cómo implementar el diseño mediante programación con el presentador en la parte superior derecha.

```
{
    "CompositedVideo": {
    "Layout": "GridView",
    "Resolution": "FHD",
     "GridViewConfiguration": {
         "ContentShareLayout": "PresenterOnly",
         "PresenterOnlyConfiguration": { 
             "PresenterPosition": "TopRight"
             }
         }           
     }
}
```

**PresenterOnlyConfiguration**  
*Descripción*: los ajustes de configuración de un diseño de `PresenterOnly`  
*Tipo*: objeto `PresenterOnlyConfiguration`  
*Obligatorio:* no

**PresenterOnlyConfiguration.PresenterPosition**  
*Descripción:* posición del mosaico de video del presentador  
*Tipo*: cadena  
*Valores válidos*: `TopLeft` \$1 `TopRight` \$1 `BottomLeft` \$1 `BottomRight`  
*Obligatorio:* no  
*Valor predeterminado*: `TopRight`

## HorizontalLayoutConfiguration
<a name="horizontal-layout"></a>

`HorizontalLayoutConfiguration` muestra el contenido compartido y las transmisiones de video de forma horizontal. Puede usar la configuración `TilePosition` para mostrar los mosaicos por encima o por debajo de la transmisión de contenido compartido. Los presentadores siempre aparecen a la izquierda. Los mosaicos adicionales aparecen en el orden indicado por `JoinSequence`. 

En la imagen siguiente, se muestran los mosaicos de debajo de la transmisión de contenido compartido.

![\[Imagen que muestra un mosaico central grande y 4 mosaicos más pequeños en una línea inferior.\]](http://docs.aws.amazon.com/es_es/chime-sdk/latest/dg/images/compositing-horizontal-bottom.png)


En el siguiente ejemplo se muestra cómo implementar un diseño horizontal mediante programación. En este caso, el diseño ordena los mosaicos por `SpeakerSequence` y los coloca debajo de la pantalla compartida. El diseño permite un máximo de cuatro mosaicos y aplica una relación de aspecto de 16/9.

```
{
   "CompositedVideo":{
      "Layout":"GridView",
      "Resolution":"FHD",
      "GridViewConfiguration":{
         "ContentShareLayout":"Horizontal",
         "HorizontalLayoutConfiguration":{
            "TileOrder":"SpeakerSequence",
            "TilePosition":"Bottom",
            "TileCount":4,
            "TileAspectRatio":"16/9"
         }
      }
   }
}
```

**HorizontalLayoutConfiguration**  
*Descripción*: los ajustes de configuración de un diseño horizontal  
*Tipo*: objeto HorizontalLayoutConfiguration   
*Obligatorio:* no

**HorizontalLayoutConfiguration.TilePosition**  
*Descripción:* coloca los mosaicos por encima o por debajo de un contenido compartido.  
*Tipo*: cadena  
*Valores válidos*: `Bottom` \$1 `Top`  
*Obligatorio:* no  
*Predeterminado*: inferior

**HorizontalLayoutConfiguration.TileOrder**  
*Descripción*: ordena los mosaicos según el momento en que los usuarios se unen o cuando hablan  
*Tipo*: cadena  
*Valores válidos*: `JoinSequence` \$1 `SpeakerSequence`  
*Obligatorio:* no  
*Valor predeterminado*: JoinSequence

**HorizontalLayoutConfiguration.TileCount**  
*Descripción*: especifica el número de mosaicos que permanecen visibles al compartir la pantalla  
*Tipo*: entero  
*Valores válidos:* 1-10  
*Obligatorio:* no  
*Predeterminado:* 4

**HorizontalLayoutConfiguration.TileAspectRatio**  
*Descripción:* especifica la relación de aspecto de los mosaicos  
*Tipo*: entero  
*Valores válidos:* – *n***/***n*  
*Obligatorio:* no  
*Predeterminado*: 16/9, el valor se aplica a todos los mosaicos

## VerticalLayoutConfiguration
<a name="vertical-layout"></a>

`VerticalLayoutConfiguration` muestra el contenido compartido y los cuatro videos más recientes apilados a la derecha. Los presentadores siempre aparecen en la parte superior. Los demás asistentes aparecen en el orden dictado por `TileOrder`.

![\[Imagen que muestra un mosaico de video grande en el centro de una ventana y 4 mosaicos más pequeños apilados a la derecha.\]](http://docs.aws.amazon.com/es_es/chime-sdk/latest/dg/images/grid-vertical.png)


En el siguiente ejemplo se muestra cómo implementar el diseño vertical mediante programación. En este caso, el diseño ordena los mosaicos JoinSequence y los coloca a la derecha de la pantalla compartida. El diseño permite un máximo de cuatro mosaicos y aplica una relación de aspecto de 16/9.

```
{
   "CompositedVideo":{
      "Layout": "GridView",
      "Resolution": "FHD",
      "GridViewConfiguration":{
         "ContentShareLayout": "Vertical",
         "VerticalLayoutConfiguration":{
            "TileOrder": "JoinSequence",
            "TilePosition": "Right",
            "TileCount": 4,
            "TileAspectRatio": "16/9"
         }
      }
   }
}
```

**VerticalLayoutConfiguration**  
*Descripción*: los ajustes de configuración de un diseño vertical  
*Tipo*: objeto VerticalLayoutConfiguration   
*Obligatorio:* no

**VerticalLayoutConfiguration.TilePosition**  
*Descripción*: coloca los mosaicos a la derecha o a la izquierda de un recurso compartido de contenido.  
*Tipo*: cadena  
*Valores válidos*: `Bottom` \$1 `Top`  
*Obligatorio:* no  
*Predeterminado*: inferior

**VerticalLayoutConfiguration.TileOrder**  
*Descripción*: ordena los mosaicos según el momento en que los usuarios se unen o cuando hablan  
*Tipo*: cadena  
*Valores válidos*: `JoinSequence` \$1 `SpeakerSequence`  
*Obligatorio:* no  
*Valor predeterminado*: JoinSequence

**VerticalLayoutConfiguration.TileCount**  
*Descripción:* especifica el número de mosaicos  
*Tipo*: entero  
*Valores válidos:* 1-10  
*Obligatorio:* no  
*Predeterminado:* 4

**VerticalLayoutConfiguration.TileAspectRatio**  
*Descripción:* especifica la relación de aspecto de los mosaicos  
*Tipo*: entero  
*Valores válidos:* – *n***/***n*  
*Obligatorio:* no  
*Predeterminado*: 9/16, el valor se aplica a todos los mosaicos

# Creación de un rol vinculado a servicios para las canalizaciones de contenido multimedia de Amazon Chime SDK
<a name="create-pipeline-role"></a>

La información de las siguientes secciones explica cómo crear un rol vinculado a un servicio que conceda a las canalizaciones de medios acceso a sus reuniones de Amazon Chime SDK.

**Topics**
+ [Configuración de permisos de rol](#pipeline-role-permissions)
+ [Creación del rol vinculado al servicio](#create-sl-role)
+ [Edición del rol vinculado al servicio](#edit-pipeline-role)
+ [Eliminación del rol vinculado a un servicio](#delete-pipeline-role)
+ [Regiones que admiten roles vinculados a servicios](#role-supported-regions)

## Configuración de permisos de rol
<a name="pipeline-role-permissions"></a>

*Los canales de medios utilizan un rol vinculado a un servicio llamado Pipelines. AWSService RoleForAmazonChime SDKMedia* El rol permite a las canalizaciones de captura acceder a las reuniones del SDK de Amazon Chime y publicar métricas en CloudWatch Amazon en su nombre. El rol confía en el servicio de `mediapipelines.chime.amazonaws.com`.

La política de permisos de roles permite que el SDK de Amazon Chime complete las siguientes acciones en todos los AWS recursos:
+ Acción: `cloudwatch:PutMetricData` en `all AWS resources`
+ Acción: `chime:CreateAttendee` en `all AWS resources`
+ Acción: `chime:DeleteAttendee` en `all AWS resources`
+ Acción: `chime:GetMeeting` en `all AWS resources`
+ Acción: `kinesisvideo:CreateStream` en `arn:aws:kinesisvideo:*:111122223333:stream/ChimeMediaPipelines-*`
+ Acción: `kinesisvideo:PutMedia` en `arn:aws:kinesisvideo:*:111122223333:stream/ChimeMediaPipelines-*`
+ Acción: `kinesisvideo:UpdateDataRetention` en `arn:aws:kinesisvideo:*:111122223333:stream/ChimeMediaPipelines-*`
+ Acción: `kinesisvideo:DescribeStream` en `arn:aws:kinesisvideo:*:111122223333:stream/ChimeMediaPipelines-*`
+ Acción: `kinesisvideo:GetDataEndpoint` en `arn:aws:kinesisvideo:*:111122223333:stream/ChimeMediaPipelines-*`
+ Acción: `kinesisvideo:ListStreams` en `arn:aws:kinesisvideo:*:111122223333:stream/*`

Debe configurar permisos para permitir a una entidad de IAM (como un usuario, grupo o rol) para crear, editar o eliminar un rol vinculado a servicios. Para obtener más información sobre los permisos, consulte [Permisos de roles vinculados a servicios](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) en la *Guía del usuario de IAM*. 

## Creación del rol vinculado al servicio
<a name="create-sl-role"></a>

Utilice la consola de IAM para crear un rol vinculado a servicios para utilizarlo con canalización de medios de Amazon Chime SDK. Para completar estos pasos, debe disponer de permisos administrativos de IAM. Si no es el caso, póngase en contacto con un administrador del sistema.

**Para crear el rol**

1. Inicie sesión en la consola AWS de administración y, a continuación, abra la consola de IAM en. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam)

1. En el panel de navegación de la consola de IAM, seleccione **Roles** y, a continuación, elija **Crear rol**.

1. Seleccione el tipo de rol de **servicio de AWS** y, a continuación, seleccione **Canalizaciones multimedia de SDK de Chime**.

   Aparece la política de IAM.

1. Seleccione la casilla de verificación situada junto a la política y, a continuación, seleccione **Siguiente: Etiquetas**.

1. Elija **Siguiente: Revisar**.

1. Edite la descripción según sea necesario y, a continuación, seleccione **Crear rol**.

*También puedes usar la AWS CLI o la AWS API para crear un rol vinculado a un servicio denominado mediapipelines.chime.amazonaws.com.* En la AWS CLI, ejecute este comando:

```
aws iam create-service-linked-role --aws-service-name mediapipelines.chime.amazonaws.com
```

Para obtener más información acerca de cómo crear el rol, consulte [Crear un rol vinculado a un servicio](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#create-service-linked-role) en la *Guía del usuario de IAM*. Si elimina este rol, puede utilizar este mismo proceso para volver a crearlo.

## Edición del rol vinculado al servicio
<a name="edit-pipeline-role"></a>

No puedes editar la función vinculada al servicio de *AWSServiceRoleForAmazonChimeSDKMediaPipelines*. Después de crear el rol, no puede cambiar su nombre porque otras entidades pueden hacer referencia al rol. Sin embargo, puede utilizar IAM para editar la descripción del rol. Para obtener más información, consulte [Edición de un rol vinculado a servicios](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role) en la *Guía del usuario de IAM*.

## Eliminación del rol vinculado a un servicio
<a name="delete-pipeline-role"></a>

Si no necesita un rol vinculado a un servicio, le recomendamos que lo elimine. Para ello, primero debe eliminar las canalizaciones multimedia que utilizan el rol. Puede usar la AWS CLI o la [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_DeleteMediaCapturePipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_DeleteMediaCapturePipeline.html)API para eliminar las canalizaciones. 

**Uso de la CLI para eliminar canalizaciones**  
Utilice este comando en la AWS CLI para eliminar las canalizaciones multimedia de su cuenta.

```
aws chime-sdk-media-pipelines delete-media-capture-pipeline --media-pipeline-id Pipeline_Id
```

**Uso de una API para eliminar canalizaciones**  
Use la API [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_DeleteMediaCapturePipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_DeleteMediaCapturePipeline.html) para eliminar las canalizaciones multimedia de su cuenta.

**Eliminar el rol**  
Una vez que haya eliminado las canalizaciones, podrá utilizar la consola de IAM, la AWS CLI o la AWS API para eliminar el rol. Para obtener más información acerca de la eliminación de un rol, consulte [Eliminar un rol vinculado a un servicio](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) en la *Guía del usuario de IAM*.

## Regiones que admiten roles vinculados a servicios
<a name="role-supported-regions"></a>

El SDK de Amazon Chime admite el uso de funciones vinculadas a servicios en todas las AWS regiones en las que el servicio esté disponible. Para obtener más información, consulte [Puntos de conexión y cuotas de Amazon Chime SDK](https://docs.aws.amazon.com/general/latest/gr/chime-sdk.html) en la *Referencia general de Amazon Web Services*.

# Uso de eventos de canalizaciones de contenido multimedia de Amazon Chime SDK
<a name="media-pipe-events"></a>

Cada tipo de canal multimedia envía eventos del ciclo de vida, que puede utilizar para activar notificaciones e iniciar flujos de trabajo posteriores. Algunos ejemplos del uso de eventos de Media Pipeline son los siguientes:
+ Procesar el contenido multimedia capturado después de que se haya completado una canalización de contenido multimedia.
+ Notificar a los participantes de la reunión si un canal de medios tiene un fallo temporal.
+ Interrumpir una reunión si un canal de medios falla permanentemente.

Puedes enviar eventos a Amazon EventBridge, Amazon Simple Notification Service (SNS) y Amazon Simple Queue Service (SQS). Para obtener más información, consulta la sección [Eventos de AWS los servicios](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html) en la *Guía del EventBridge usuario de Amazon*.

## Creación de canalización de medios de Amazon Chime SDK
<a name="media-pipeline-create"></a>

Amazon Chime SDK envía este evento cuando se crea la canalización de medios.

**Ejemplo: datos del evento**  
 El siguiente es un ejemplo de los datos de este evento.

```
{
    "version": "0", 
    "id": "5ee6265a-0a40-104e-d8fd-a3b4bdd78483", 
    "detail-type": "Chime Media Pipeline State Change", 
    "source": "aws.chime", 
    "account": "111122223333", 
    "time": "2021-07-28T20:20:49Z", 
    "region": "us-east-1", 
    "resources": [], 
    "detail": {
        "version": "0", 
        "eventType": "chime:MediaPipelineInProgress", 
        "timestamp": 1627503649251, 
        "meetingId": "1e6bf4f5-f4b5-4917-b8c9-bda45c340706", 
        "externalMeetingId": "Meeting_Id",
        "mediaPipelineId": "e40ee45e-2ed1-408e-9156-f52b8208a491", 
        "mediaRegion": "ap-southeast-1"
    }
}
```

## Canalización de medios de Amazon Chime SDK eliminada
<a name="media-pipeline-delete"></a>

Amazon Chime SDK envía este evento cuando la canalización de contenido multimedia se detiene correctamente. 

**Ejemplo: datos del evento**  
El siguiente es un ejemplo de los datos de este evento.

```
{
    "version": "0",
    "id": "9e11e429-97fd-9532-5670-fac3f7abc05f",
    "detail-type": "Chime Media Pipeline State Change",
    "source": "aws.chime",
    "account": "365135496707",
    "time": "2021-07-28T20:21:50Z",
    "region": "us-east-1",
    "resources": [],
    "detail": {
        "version": "0",
        "eventType": "chime:MediaPipelineDeleted",
        "timestamp": 1627503710485,
        "meetingId": "1e6bf4f5-f4b5-4917-b8c9-bda45c340706",
        "externalMeetingId": "Meeting_Id",
        "mediaPipelineId": "e40ee45e-2ed1-408e-9156-f52b8208a491",
        "mediaRegion": "ap-southeast-1"
    }
}
```

## La canalización de medios de Amazon Chime SDK tiene un error temporal
<a name="pipeline-temp-failure"></a>

Amazon Chime SDK envía este evento cuando se produce un error temporal en la canalización de contenido multimedia.

**Ejemplo: datos del evento**  
El siguiente es un ejemplo de los datos de este evento.

```
{
    "version": "0",
    "id": "abc141e1-fc2e-65e8-5f18-ab5130f1035a",
    "detail-type": "Chime Media Pipeline State Change",
    "source": "aws.chime",
    "account": "365135496707",
    "time": "2021-07-28T21:16:42Z",
    "region": "us-east-1",
    "resources": [],
    "detail": {
        "version": "0",
        "eventType": "chime:MediaPipelineTemporaryFailure",
        "timestamp": 1627507002882,
        "meetingId": "7a5434e3-724a-4bbb-9eb6-2fb209dc0706",
        "externalMeetingId": "Meeting_Id",
        "mediaPipelineId": "ebd62f4e-04a9-426d-bcb0-974c0f266400",
        "mediaRegion": "eu-south-1"
    }
}
```

## Canalización multimedia de Amazon Chime SDK en progreso
<a name="pipeline-in-progress"></a>

Amazon Chime SDK envía este evento cuando la canalización de contenido multimedia comienza a capturar artefactos.

**Ejemplo: datos del evento**  
El siguiente es un ejemplo de los datos de este evento.

```
{
    "version": "0",
    "id": "9e11e429-97fd-9532-5670-fac3f7abc05f",
    "detail-type": "Chime Media Pipeline State Change",
    "source": "aws.chime",
    "account": "365135496707",
    "time": "2021-07-28T20:21:50Z",
    "region": "us-east-1",
    "resources": [],
    "detail": {
        "version": "0",
        "eventType": "chime:MediaPipelineInProgress",
        "timestamp": 1627503710485?,
        "meetingId": "1e6bf4f5-f4b5-4917-b8c9-bda45c340706",
        "externalMeetingId": "Meeting_Id",
        "mediaPipelineId": "e40ee45e-2ed1-408e-9156-f52b8208a491",
        "mediaRegion": "ap-southeast-1"
    }
}
```

## Fallo permanente de la canalización de medios de Amazon Chime SDK
<a name="pipeline-perm-failure"></a>

Amazon Chime SDK envía este evento cuando una canalización de contenido multimedia falla permanentemente.

**Ejemplo: datos del evento**  
El siguiente es un ejemplo de los datos de este evento.

```
{
    "version": "0",
    "id": "9e11e429-97fd-9532-5670-fac3f7abc05f",
    "detail-type": "Chime Media Pipeline State Change",
    "source": "aws.chime",
    "account": "365135496707",
    "time": "2021-07-28T20:21:50Z",
    "region": "us-east-1",
    "resources": [],
    "detail": {
        "version": "0",
        "eventType": "chime:MediaPipelinePermanentFailure",
        "timestamp": 1627503710485,
        "meetingId": "1e6bf4f5-f4b5-4917-b8c9-bda45c340706",
        "externalMeetingId": "Meeting_Id",
        "mediaPipelineId": "e40ee45e-2ed1-408e-9156-f52b8208a491",
        "mediaRegion": "ap-southeast-1"
    }
}
```

# Configuración de permisos de bucket de Amazon S3 para las canalizaciones de contenido multimedia de Amazon Chime SDK
<a name="s3-permissions"></a>

Si no ha creado un bucket de Amazon S3, asegúrese de crear el suyo en la cuenta y la región en las que celebra las reuniones. Asimismo, asegúrese de otorgar los permisos adecuados al servicio. Para obtener más información sobre crear un bucket de Amazon S3, consulte [Creación de un bucket de Amazon S3 para canalizaciones de captura multimedia de Amazon Chime SDK](create-s3-bucket.md).

# Enviar los eventos de la canalización multimedia del SDK de Amazon Chime a CloudTrail
<a name="pipeline-cloudtrail"></a>

AWS se habilita CloudTrail para usted al crear su AWS cuenta. Cuando un usuario llama a una API compatible en el SDK de Media Pipeline, CloudTrail registra esa actividad de esa API en el **historial de eventos**, junto con otros AWS eventos. Puede ver, buscar y descargar los últimos eventos de la canalización de medios en su cuenta de AWS. Para obtener más información, consulta la sección [Visualización de CloudTrail eventos con el historial](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html) de eventos en la *Guía del CloudTrail usuario*.

Para mantener un registro continuo de los eventos de canalización de medios, cree un *registro de seguimiento*. Un rastro permite CloudTrail entregar archivos de registro a su bucket de Amazon S3. En el siguiente ejemplo, se muestra un seguimiento de una canalización de medios. Los datos incluyen el usuario que llamó a la API, el rol de IAM utilizado para llamar a la API y las marcas de tiempo. Para obtener más información sobre el uso, CloudTrail consulte [Registro y supervisión](https://docs.aws.amazon.com/chime-sdk/latest/ag/monitoring-overview.html) en la Guía del *administrador del SDK de Amazon Chime*.

```
{
   "Records": [    
   {
      "eventVersion": "1.08",
      "userIdentity": {
          "type": "AssumedRole",
          "principalId": "ABCDEFGHIJKLMNOPQRSTUV:user-name",
          "arn": "arn:aws:sts::123456789101:assumed-role/role-name/user-name",
          "accountId": "109876543210",
          "accessKeyId": "ABCDEFGHIJKLMNOPQRSTUV",
          "sessionContext": {
              "sessionIssuer": {
                  "type": "Role",
                  "principalId": "ABCDEFGHIJKLMNOPQRSTUV",
                  "arn": "arn:aws:iam::109876543210:role/role-name",
                  "accountId": "012345678910",
                  "userName": "user-name"
                  },
          "webIdFederationData": {},
          "attributes": {
              "mfaAuthenticated": "false",
              "creationDate": "2022-03-08T19:34:55Z"
              }
          }
      },
      "eventTime": "2022-03-08T20:28:41Z",
     "eventSource": "chime-sdk-media-pipelines.amazonaws.com",
     "eventName": "CreateMediaCapturePipeline",
     "awsRegion": "us-east-1",
     "sourceIPAddress": "127.0.0.1",
     "userAgent": "[]/[]",
     "requestParameters": {
         "sourceType": "ChimeSdkMeeting",
         "sourceArn": "Hidden_For_Security_Reasons",
         "sinkType": "S3Bucket",
         "sinkArn": "Hidden_For_Security_Reasons",
         "chimeSdkMeetingConfiguration": {
             "artifactsConfiguration": {
                 "audio": {
                    "muxType": "AudioOnly"
                 },
            "video": {
                "state": "Enabled",
                "muxType": "VideoOnly"
                },
            "content": {
                "state": "Enabled",
                "muxType": "ContentOnly"
                }
            }
        }
      },
     "responseElements": {
        "mediaCapturePipeline": {
        "mediaPipelineId": "pipeline-uuid",
        "sourceType": "ChimeSdkMeeting",
        "sourceArn": "Hidden_For_Security_Reasons",
        "status": "Initializing",
        "sinkType": "S3Bucket",
        "sinkArn": "Hidden_For_Security_Reasons",
        "createdTimestamp": "2022-03-08T20:28:41.336Z",
        "updatedTimestamp": "2022-03-08T20:28:41.463Z",
        "chimeSdkMeetingConfiguration": {
            "artifactsConfiguration": {
                "audio": {
                    "muxType": "AudioOnly"
                },
            "video": {
                "state": "Enabled",
                 "muxType": "VideoOnly"
                 },
             "content": {
                 "state": "Enabled",
                 "muxType": "ContentOnly"
                 }
              }
            }
          }
      },
      "requestID": "request-id",
      "eventID": "event-id",
     "readOnly": false,
      "eventType": "AwsApiCall",
      "managementEvent": true,
      "eventCategory": "Management",
      "recipientAccountId": "112233445566",
      "tlsDetails": {
          "tlsVersion": "TLSv1.2",
          "clientProvidedHostHeader": "example.com"
       }
    },  
  ]
}
```

# Prácticas recomendadas para detener las canalizaciones de contenido multimedia de Amazon Chime SDK
<a name="stop-pipe-best-practices"></a>

Como práctica recomendada para detener las canalizaciones multimedia, llame a la 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). La API te permite eliminar las canalizaciones de captura de contenido multimedia y conectores multimedia en directo. También puede llamar a la API [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_DeleteMediaCapturePipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_DeleteMediaCapturePipeline.html) para eliminar las canalizaciones de captura multimedia. Todas las canalizaciones multimedia se detienen al finalizar la reunión.