

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Création de pipelines de flux multimédia à l'aide du SDK Amazon Chime
<a name="create-media-stream-pipeline"></a>

Les pipelines de flux multimédia capturent le son individuel pour tous les participants à une réunion, ainsi que le son mixé généré par un pipeline de concaténation multimédia. Tous les pipelines de flux multimédia enregistrent leurs données dans [Amazon Kinesis Video](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/what-is-kinesis-video.html) Streams (KVS).

Vous créez le flux vidéo en appelant l'[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)API. Vous pouvez créer un pipeline de flux multimédia par réunion du SDK Amazon Chime.

**Note**  
Si une réunion utilise une région opt-in [MediaRegion](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_CreateMeeting.html#chimesdk-meeting-chime_CreateMeeting-request-MediaRegion), le flux KVS doit se trouver dans cette même région. Par exemple, si une réunion utilise la `af-south-1` région, le flux KVS doit également être entré. `af-south-1` Toutefois, si la réunion utilise une région qu'AWS active par défaut, le flux KVS peut se trouver dans n'importe quelle région disponible, y compris une région optionnelle. Par exemple, si la réunion l'utilise`ca-central-1`, le flux KVS peut se trouver dans`eu-west-2`, `us-east-1``af-south-1`, ou dans toute autre région prise en charge par le SDK Amazon Chime.  
Pour savoir quelle AWS région est utilisée par une réunion, appelez l'[GetMeeting](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_GetMeeting.html)API et utilisez le [MediaRegion](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_CreateMeeting.html#chimesdk-meeting-chime_CreateMeeting-request-MediaRegion)paramètre indiqué dans la réponse.  
Pour plus d'informations sur les régions optionnelles, reportez-vous [Régions AWS disponibles pour le SDK Amazon Chime](sdk-available-regions.md) à ce guide et [spécifiez AWS les régions que votre compte peut utiliser](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html#rande-manage-enable.html) dans le *Guide de référence sur la gestion des AWS comptes*.

Les sections suivantes expliquent comment créer un pipeline de flux multimédia. Suivez-les dans l’ordre affiché.

**Topics**
+ [Création d'un pool Kinesis Video Streams pour les pipelines de flux multimédia du SDK Amazon Chime](create-kvs-pool.md)
+ [Exemple de code pour les pools Kinesis Video Streams pour les pipelines de flux multimédia du SDK Amazon Chime](pool-creation-code.md)
+ [Création de pipelines de flux multimédia dans le SDK Amazon Chime](create-stream-pipeline.md)
+ [Exemple de code pour les pipelines de flux multimédia du SDK Amazon Chime](pipeline-creation-code.md)
+ [Utilisation des notifications Event Bridge pour les pipelines de flux multimédia du SDK Amazon Chime](media-stream-event-bridge.md)
+ [Utilisation des données du pipeline de flux multimédia du SDK Amazon Chime](media-stream-tips-tricks.md)

# Création d'un pool Kinesis Video Streams pour les pipelines de flux multimédia du SDK Amazon Chime
<a name="create-kvs-pool"></a>

Le pool Kinesis Video Streams (KVS) de votre pipeline de flux multimédia doit appartenir au AWS même compte que la réunion du SDK Amazon Chime. Vous créez un pool Kinesis Video Streams en appelant [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)l'API.

Le schéma suivant montre l'architecture d'un pool Kinesis Video Streams de pipeline multimédia. Les chiffres de l'image correspondent au texte numéroté ci-dessous :

![\[Schéma illustrant un appel d'API qui crée un pool Kinesis Video Streams.\]](http://docs.aws.amazon.com/fr_fr/chime-sdk/latest/dg/images/media-stream-pool-architecture.png)


Dans le schéma :

1. Vous appelez l'[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)API.

1. Le plan de contrôle du pipeline multimédia crée et gère les Kinesis Video Streams (KVS) et le pool en votre nom dans votre compte.

Le fonctionnement du pool KVS, c'est-à-dire le processus de création, de mise à jour et de suppression de flux dans le pool, est asynchrone. Par conséquent, les notifications Event Bridge utilisent le type de `Chime Media Pipeline Kinesis Video Pool State Change` détail pour communiquer l'état des flux d'un pool.

Vous pouvez créer un pool une seule fois et le réutiliser lors de différentes réunions. Vous pouvez également créer différents pools selon vos besoins et supprimer des pools lorsque vous n'en avez pas besoin.

Les pools augmentent automatiquement, en fonction de votre rafale d'appels simultanés. Vous pouvez supprimer tous les pools inutiles.

**Note**  
Lorsque vous supprimez un pool, vous devez attendre qu'il soit complètement supprimé avant de supprimer les flux KVS du pool. Une notification Event Bridge indiquera quand le pool a été complètement supprimé. Cela se produit une fois que toutes les réunions utilisant le pool sont terminées. Vous pouvez également appeler l'[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)API pour afficher les informations `PoolId` relatives à un pool KVS donné.  
Lorsque vous appelez l'API Kinesis Video [https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_DeleteStream.html](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_DeleteStream.html)Streams, vous pouvez utiliser cette chaîne de dénomination pour rechercher et supprimer les flux d'un pool. Vous pouvez également appeler l'[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)API pour afficher les informations `PoolId` relatives à un pool KVS donné. Les exemples de la section suivante expliquent comment procéder.

# Exemple de code pour les pools Kinesis Video Streams pour les pipelines de flux multimédia du SDK Amazon Chime
<a name="pool-creation-code"></a>

Les exemples suivants montrent comment créer, mettre à jour, obtenir, répertorier et supprimer des pools Kinesis Video Streams (KVS). Agrandissez chaque section pour plus d’informations.

## Importations et variables communes
<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'])
```

**Sortie** :

```
{
    "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'])
```

**Sortie** :

```
{
    "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'])
```

**Sortie** :

```
{
    "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)
```

**Sortie** :

```
[
    {
        "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
)
```

**Résultat** : Une `delete_media_pipeline_kinesis_video_stream_pool` demande réussie n'a pas de corps.

# Création de pipelines de flux multimédia dans le SDK Amazon Chime
<a name="create-stream-pipeline"></a>

Le pipeline de flux multimédia Chime doit appartenir au même AWS compte que la réunion du SDK Amazon Chime. Vous créez le pipeline de flux multimédia du SDK Amazon Chime en appelant l'[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaStreamPipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaStreamPipeline.html)API et en spécifiant une source et un récepteur.

Le schéma suivant montre l'architecture d'un pipeline de flux multimédia du SDK Amazon Chime. Les chiffres du schéma correspondent au texte numéroté ci-dessous.

![\[Schéma illustrant un appel d'API qui crée un pool de flux multimédia.\]](http://docs.aws.amazon.com/fr_fr/chime-sdk/latest/dg/images/media-stream-pipe-architecture.png)


Dans le schéma :

1. Vous appelez l'`CreateMediaStreamPipeline`API. Dans la demande, spécifiez les sources et les récepteurs des flux, que vous souhaitiez capturer un son individuel, un son mixte ou les deux. Incluez l'ARN de votre pool KVS dans la demande.
   + Le tableau des sources se compose des éléments `SourceType` et`SourceArn`. Vous devez utiliser le`ChimeSdkMeeting SourceType`. `SourceArn`Il s'agit de l'ARN du`ChimeSdkMeeting`.
   + Le réseau de récepteurs comprend les éléments `SinkType``SinkArn`,`ReservedStreamCapacity`, et`MediaStreamType`. Nous soutenons uniquement le`KinesisVideoStreamPoolSinkType`. `SinkArn`Il s'agit de l'ARN du`KinesisVideoStreamPool`. Le `MediaStreamType` contrôle le type de média diffusé vers le récepteur, `MixedAudio` soit`IndividualAudio`. `ReservedStreamCapacity`définit le nombre de flux alloués pour le `MediaStreamType``KinesisVideoStreamPool`.
     + Si vous souhaitez diffuser `IndividualAudio` les deux`MixedAudio`, créez deux objets récepteurs dans le `Sinks` tableau, l'un pour`IndividualAudio`, l'autre pour`MixedAudio`. L'`SinkArn`(l'ARN du`KinesisVideoStreamPool`) peut varier pour chaque récepteur.
     + Pour diffuser uniquement du son individuel ou du son mixte, créez un objet récepteur avec l'objet souhaité`MediaStreamType`.
   + Notez ce qui suit :
     + Lorsque vous appelez l'[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaStreamPipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaStreamPipeline.html)API en `KinesisVideoStreamPool` tant que`SinkType`, elle `SinkARN` doit appartenir à la région du plan de contrôle dans laquelle elle `CreateMediaStreamPipeline` est invoquée.

       Par exemple, si vous créez un pipeline de flux multimédia dans`us-east-1`, vous devez utiliser un `KinesisVideoStreamPool` in`us-east-1`.
     + `ReservedStreamCapacity`devrait être **1** lorsque vous spécifiez le `MixedAudio``MediaStreamType`, et entre les deux **1-10** lorsque vous spécifiez le `IndividualAudio``MediaStreamType`.

1. Le plan de données du pipeline multimédia appelle l'[ PutMedia](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_PutMedia.html)API KVS pour stocker le son individuel dans un flux KVS appartenant au pool KVS que vous spécifiez.

1. Le plan de données du pipeline multimédia appelle l'`PutMedia`API KVS pour stocker le son mixé dans un flux appartenant au pool KVS que vous spécifiez.

**Note**  
Après avoir appelé l'[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaStreamPipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaStreamPipeline.html)API, les créateurs peuvent utiliser [les événements du pipeline multimédia](media-pipe-events.md) ou appeler l'[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_GetMediaPipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_GetMediaPipeline.html)API pour déterminer si l'état du pipeline est le cas`InProgress`.  
Une fois que l'état du pipeline est atteint`InProgress`, le média (n'importe quelle combinaison de `IndividualAudio` et) est diffusé vers le `MixedAudio` KVS.   
Pour le type de `IndividualAudio` flux, un mappage 1:1 existe entre le participant IDs et le flux KVS alloué depuis le. `KinesisVideoStreamPool` Le mappage s'applique pendant toute la durée de vie du pipeline multimédia.  
Pour savoir quel flux KVS correspond à un identifiant de participant ou auquel il est attribué MixedAudio, utilisez l'une des techniques suivantes :  
Utilisez les [notifications Event Bridge](media-stream-event-bridge.md). Chaque notification fournit des informations telles que le participant IDs et l'ARN KVS qui diffuse le son du participant. Lorsqu'une `IndividualAudio` session de `MixedAudio` streaming démarre, nous envoyons un `chime:MediaPipelineKinesisVideoStreamStart` événement. Les sessions de streaming se terminent lorsqu'un participant quitte l'appel (pour`IndividualAudio`) ou à la fin de la réunion.
Utilisez les métadonnées persistantes que les Kinesis Video Streams envoient avec chaque fragment. Les métadonnées contiennent des informations similaires à celles envoyées par Event Bridge. Les créateurs doivent analyser tous les flux du `KinesisVideoStreamPool` en spécifiant le nom du pool comme préfixe dans l'API [https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_ListStreams.html](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_ListStreams.html)Kinesis Video Streams à l'aide de cette solution.
La fin du pipeline de flux multimédia se produit lorsque la réunion est supprimée ou lorsque l'[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_DeleteMediaPipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_DeleteMediaPipeline.html)API est invoquée pour ce pipeline de flux multimédia. Une [notification Event Bridge](media-pipe-events.md) est également envoyée pour indiquer la fin du pipeline multimédia.

# Exemple de code pour les pipelines de flux multimédia du SDK Amazon Chime
<a name="pipeline-creation-code"></a>

Les exemples suivants montrent comment créer des pipelines de flux multimédia pour le son mixte, le son individuel ou les deux. Agrandissez chaque section pour plus d’informations.

## CreateMediaStreamPipelinepour audio mixte
<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'
        },
    ]
)
```

**Réponse :**

```
{
    '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'
            },
        ]
    }
}
```

## CreateMediaStreamPipelinepour un son individuel
<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'
        },
    ]
)
```

**Réponse :**

```
{
    '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'
            },
        ]
    }
}
```

## CreateMediaStreamPipelinepour un son mixte et individuel
<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'
        },
    ]
)
```

**Réponse :**

```
{
    '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'
            },
        ]
    }
}
```

# Utilisation des notifications Event Bridge pour les pipelines de flux multimédia du SDK Amazon Chime
<a name="media-stream-event-bridge"></a>

En outre[Utilisation des événements du pipeline multimédia du SDK Amazon Chime](media-pipe-events.md), les pipelines de diffusion multimédia envoient des notifications Event Bridge lorsqu'ils démarrent et arrêtent le streaming vers KVS, et lorsque l'état du pool vidéo change.

**Topics**
+ [Comprendre les événements du pipeline de flux multimédia du SDK Amazon Chime](stream-pipe-events.md)
+ [Comprendre les événements du pool Kinesis Video Streams pour les pipelines de flux multimédia du SDK Amazon Chime](media-stream-pool-events.md)

# Comprendre les événements du pipeline de flux multimédia du SDK Amazon Chime
<a name="stream-pipe-events"></a>

Les pipelines de flux multimédia envoient les événements suivants. Agrandissez chaque section pour plus d’informations.

## Amazon Chime Media Stream Pipeline Kinesis Video Stream Start
<a name="stream-pipe-kvs-start"></a>

Le pipeline multimédia du SDK Amazon Chime envoie cet événement lorsque le pipeline de flux multimédia commence à recevoir le son de la réunion et à le diffuser sur KVS. Les `ExternalUserId` champs vides `AttendeeId` indiquent que le pipeline multimédia a envoyé du son mixé au flux 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"
                
    }
}
```

## Amazon Chime Media Stream Pipeline Kinesis Video Stream Fin
<a name="stream-pipe-kvs-stop"></a>

Le pipeline multimédia envoie cet événement à Event Bridge lorsque le streaming vers KVS est terminé.

```
{
    "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"
    }
}
```

# Comprendre les événements du pool Kinesis Video Streams pour les pipelines de flux multimédia du SDK Amazon Chime
<a name="media-stream-pool-events"></a>

Les pipelines multimédias envoient les événements suivants à Event Bridge lorsque l'état des pools change. Agrandissez chaque section pour plus d’informations.

## Amazon Chime Media Pipeline Kinesis Video Pool Active
<a name="kvs-pool-active"></a>

Le pipeline multimédia envoie cet événement est envoyé une fois que l'[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)API a créé un pool.

```
{
    "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"
    }
}
```

## Mise à jour du pool vidéo Kinesis d'Amazon Chime Media Pipeline
<a name="kvs-pool-updated"></a>

Le pipeline multimédia envoie cet événement une fois que l'[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)API a mis à jour un pool.

```
{
    "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"
    }
}
```

## Le pool vidéo Kinesis d'Amazon Chime Media Pipeline a été supprimé
<a name="kvs-pool-deleted"></a>

Le pipeline multimédia envoie cet événement à Event Bridge lorsqu'il [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)supprime un pool.

Pour plus d'informations sur la suppression de pools[Création d'un pool Kinesis Video Streams pour les pipelines de flux multimédia du SDK Amazon Chime](create-kvs-pool.md), reportez-vous à cette section.

```
{
    "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"
    }
 }
```

## Défaillance temporaire du pool vidéo Kinesis d'Amazon Chime Media Pipeline
<a name="kvs-pool-temp-failure"></a>

Le pipeline multimédia envoie l'événement suivant à Event Bridge lorsqu'un pool vidéo tombe temporairement en panne.

```
{
    "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"
    }
 }
```

## Défaillance permanente du pool vidéo Kinesis d'Amazon Chime Media Pipeline
<a name="kvs-pool-perm-failure"></a>

Le pipeline multimédia envoie l'événement suivant à Event Bridge lorsqu'un pool vidéo tombe définitivement en panne.

```
{
    "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"
    }
}
```

Vous recevrez l'événement de pipeline multimédia supplémentaire suivant si votre compte AWS a dépassé sa limite de diffusion vidéo Amazon Kinesis.

```
{
    "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"
    }
}
```

# Utilisation des données du pipeline de flux multimédia du SDK Amazon Chime
<a name="media-stream-tips-tricks"></a>

Vous pouvez utiliser les métadonnées contenues dans les notifications pour obtenir le KVS ARNs, les numéros de fragments et les horodatages des fragments. Ces informations peuvent vous aider à traiter les données audio d'un flux KVS.

Vous pouvez également utiliser le KVS ARNs avec le KVS APIs pour lire les données d'un flux. Selon le cas d'utilisation, vous appelez le [https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_GetMedia.html](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_GetMedia.html)et [https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_reader_GetMediaForFragmentList.html](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_reader_GetMediaForFragmentList.html) APIs. Généralement, un `GetMediaForFragmentList` appel est précédé d'un appel à l'[https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_reader_ListFragments.html](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_reader_ListFragments.html)API. Pour plus d'informations, consultez [la section Lecture de données à partir de flux](https://aws.amazon.com/kinesis/video-streams/faqs/), dans *Amazon Kinesis Video FAQs* Streams.

Selon le cas d'utilisation, les créateurs peuvent utiliser la bibliothèque d'analyseurs Kinesis Video Streams, qui utilise à son tour l'[https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_GetMedia.html](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_GetMedia.html)API KVS.

Les pipelines de flux multimédia ajoutent les métadonnées suivantes relatives à la réunion et aux participants à chaque fragment.

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

Les données multimédia sont stockées au format MKV. Toutes les données audio MKV sont codées au format AAC. Pour plus d'informations, consultez le modèle de [données Kinesis Video Streams](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/how-data.html) dans *le Guide du développeur de Kinesis Video* Streams.