

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Creazione di pipeline di flussi multimediali utilizzando l'SDK Amazon Chime
<a name="create-media-stream-pipeline"></a>

Le pipeline di streaming multimediali acquisiscono l'audio individuale per tutti i partecipanti a una riunione, oltre all'audio misto generato da una pipeline di concatenazione multimediale. Tutte le pipeline di flussi multimediali salvano i dati in [Amazon Kinesis Video](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/what-is-kinesis-video.html) Streams (KVS).

Puoi creare il flusso video chiamando l'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) Puoi creare una pipeline di flussi multimediali per riunione Amazon Chime SDK.

**Nota**  
Se una riunione utilizza una regione di attivazione come regione [MediaRegion](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_CreateMeeting.html#chimesdk-meeting-chime_CreateMeeting-request-MediaRegion), il flusso KVS deve trovarsi nella stessa regione. Ad esempio, se una riunione utilizza la `af-south-1` regione, deve essere presente anche lo stream KVS. `af-south-1` Tuttavia, se la riunione utilizza una regione che AWS attiva per impostazione predefinita, lo stream KVS può trovarsi in qualsiasi regione disponibile, inclusa una regione opt-in. Ad esempio, se la riunione utilizza`ca-central-1`, lo stream KVS può trovarsi in`eu-west-2`, `us-east-1``af-south-1`, o in qualsiasi altra regione supportata dall'SDK Amazon Chime.  
Per sapere quale AWS regione viene utilizzata da una riunione, chiama l'[GetMeeting](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_GetMeeting.html)API e utilizza il [MediaRegion](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_CreateMeeting.html#chimesdk-meeting-chime_CreateMeeting-request-MediaRegion)parametro della risposta.  
Per ulteriori informazioni sulle regioni che hanno aderito all'[Regioni AWS disponibili per l'SDK Amazon Chime](sdk-available-regions.md)account, consulta questa guida e [specifica quali AWS regioni possono essere utilizzate dal tuo account](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html#rande-manage-enable.html) nella *Guida di riferimento per la gestione degli AWS account*.

Le seguenti sezioni spiegano come creare una pipeline di flussi multimediali. Seguili nell’ordine in cui sono elencati.

**Topics**
+ [Creazione di un pool Kinesis Video Streams per le pipeline di flussi multimediali di Amazon Chime SDK](create-kvs-pool.md)
+ [Codice di esempio per i pool Kinesis Video Streams per le pipeline di flussi multimediali di Amazon Chime SDK](pool-creation-code.md)
+ [Creazione di pipeline di flussi multimediali per Amazon Chime SDK](create-stream-pipeline.md)
+ [Codice di esempio per le pipeline di flussi multimediali di Amazon Chime SDK](pipeline-creation-code.md)
+ [Utilizzo delle notifiche di Event Bridge per le pipeline di flussi multimediali di Amazon Chime SDK](media-stream-event-bridge.md)
+ [Utilizzo dei dati delle pipeline di streaming multimediale di Amazon Chime SDK](media-stream-tips-tricks.md)

# Creazione di un pool Kinesis Video Streams per le pipeline di flussi multimediali di Amazon Chime SDK
<a name="create-kvs-pool"></a>

Il pool Kinesis Video Streams (KVS) per la pipeline di flussi multimediali deve appartenere allo stesso account AWS della riunione Amazon Chime SDK. Puoi creare un pool Kinesis Video Streams chiamando [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.

Il diagramma seguente mostra l'architettura di un pool Kinesis Video Streams di una pipeline multimediale. I numeri nell'immagine corrispondono al testo numerato riportato di seguito:

![\[Diagramma che mostra una chiamata API che crea un pool Kinesis Video Streams.\]](http://docs.aws.amazon.com/it_it/chime-sdk/latest/dg/images/media-stream-pool-architecture.png)


Nel diagramma:

1. Chiamate 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. Il piano di controllo della pipeline multimediale crea e gestisce Kinesis Video Streams (KVS) e il pool per tuo conto nel tuo account.

Il funzionamento del pool KVS, il processo di creazione, aggiornamento ed eliminazione dei flussi nel pool, è asincrono. Di conseguenza, le notifiche di Event Bridge utilizzano il tipo di `Chime Media Pipeline Kinesis Video Pool State Change` dettaglio per comunicare lo stato degli stream in un pool.

È possibile creare un pool una sola volta e riutilizzarlo in riunioni diverse. Puoi anche creare diversi pool in base alle esigenze ed eliminare i pool quando non ne hai bisogno.

I pool si ridimensionano automaticamente, in base al numero di chiamate simultanee. È possibile eliminare tutti i pool non necessari.

**Nota**  
Quando si elimina un pool, è necessario attendere che il pool venga eliminato completamente prima di eliminare i flussi KVS presenti nel pool. Una notifica di Event Bridge indicherà quando il pool è stato completamente eliminato. Ciò accade dopo che tutte le riunioni che utilizzano il pool sono terminate. Puoi anche chiamare 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 per visualizzare le `PoolId` informazioni relative a un determinato pool KVS.  
Quando richiami 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, puoi utilizzare quella stringa di denominazione per cercare ed eliminare gli stream in un pool. Puoi anche chiamare 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 per visualizzare il relativo pool KVS. `PoolId` Gli esempi nella prossima sezione spiegano come fare.

# Codice di esempio per i pool Kinesis Video Streams per le pipeline di flussi multimediali di Amazon Chime SDK
<a name="pool-creation-code"></a>

Gli esempi seguenti mostrano come creare, aggiornare, ottenere, elencare ed eliminare i pool Kinesis Video Streams (KVS). Espandi ogni sezione per ottenere ulteriori informazioni.

## Importazioni e variabili comuni
<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'])
```

**Output:**

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

**Output:**

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

**Output:**

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

**Output:**

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

**Output**: una `delete_media_pipeline_kinesis_video_stream_pool` richiesta riuscita non ha un corpo.

# Creazione di pipeline di flussi multimediali per Amazon Chime SDK
<a name="create-stream-pipeline"></a>

La pipeline del flusso multimediale chime deve appartenere allo stesso AWS account della riunione Amazon Chime SDK. Puoi creare la pipeline di flussi multimediali di Amazon Chime SDK chiamando 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 e specificando una fonte e un sink.

Il diagramma seguente mostra l'architettura di una pipeline di flussi multimediali di Amazon Chime SDK. I numeri nel diagramma corrispondono al testo numerato riportato di seguito.

![\[Diagramma che mostra una chiamata API che crea un pool di flussi multimediali.\]](http://docs.aws.amazon.com/it_it/chime-sdk/latest/dg/images/media-stream-pipe-architecture.png)


Nel diagramma:

1. Chiamate l'`CreateMediaStreamPipeline`API. Nella richiesta, specificate le sorgenti e i sink per gli stream, indipendentemente dal fatto che vogliate acquisire audio singolo, audio misto o entrambi. Includi l'ARN del tuo pool KVS nella richiesta.
   + L'array dei sorgenti è composto da e. `SourceType` `SourceArn` È necessario utilizzare il`ChimeSdkMeeting SourceType`. `SourceArn`È l'ARN di. `ChimeSdkMeeting`
   + L'array dei sinks è composto da`SinkType`, `SinkArn``ReservedStreamCapacity`, e. `MediaStreamType` Supportiamo solo il. `KinesisVideoStreamPoolSinkType` `SinkArn`È l'ARN di. `KinesisVideoStreamPool` `MediaStreamType`Controlla il tipo di file multimediale trasmesso al sink, o`MixedAudio`. `IndividualAudio` `ReservedStreamCapacity`imposta il numero di stream allocati per il `MediaStreamType` from. `KinesisVideoStreamPool`
     + Se vuoi eseguire lo streaming di entrambi `IndividualAudio` e`MixedAudio`, crea due oggetti sink nell'`Sinks`array, uno per`IndividualAudio`, l'altro per. `MixedAudio` L'`SinkArn`(l'ARN del`KinesisVideoStreamPool`) può variare per ogni lavello.
     + Per trasmettere solo audio singolo o audio misto, create un oggetto sink con quello desiderato`MediaStreamType`.
   + Tenere presente quanto segue:
     + Quando si richiama 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 con `KinesisVideoStreamPool` as the`SinkType`, `SinkARN` deve appartenere alla regione del piano di controllo in cui `CreateMediaStreamPipeline` viene richiamata.

       Ad esempio, se create una pipeline di flussi multimediali in`us-east-1`, dovete utilizzare un in. `KinesisVideoStreamPool` `us-east-1`
     + `ReservedStreamCapacity`dovrebbe essere **1** quando si specifica il `MixedAudio``MediaStreamType`, e tra **1-10** quando si specifica il `IndividualAudio``MediaStreamType`.

1. Il piano dati della pipeline multimediale richiama l'[ PutMedia](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_PutMedia.html)API KVS per memorizzare l'audio individuale in un flusso KVS che appartiene al pool KVS specificato.

1. Il piano dati della pipeline multimediale richiama l'`PutMedia`API KVS per memorizzare l'audio misto in un flusso che appartiene al pool KVS specificato.

**Nota**  
Dopo aver chiamato 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, i builder possono utilizzare gli [eventi della pipeline multimediale](media-pipe-events.md) o chiamare 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 per determinare se lo stato della pipeline è. `InProgress`  
Una volta raggiunto lo stato della pipeline, i file multimediali`InProgress`, qualsiasi combinazione di e, vengono trasmessi a KVS. `IndividualAudio` `MixedAudio`   
Per il tipo di `IndividualAudio` stream, esiste una mappatura 1:1 tra il partecipante e il flusso KVS allocato da. IDs `KinesisVideoStreamPool` La mappatura si applica per tutta la durata della pipeline multimediale.  
Per sapere a quale stream KVS è associato o a quale ID partecipante è assegnato MixedAudio, utilizzate una delle seguenti tecniche:  
Usa le notifiche di [Event Bridge](media-stream-event-bridge.md). Ogni notifica fornisce informazioni come il partecipante IDs e il KVS ARN che trasmette l'audio del partecipante. Quando inizia una sessione `IndividualAudio` di `MixedAudio` streaming, inviamo un evento. `chime:MediaPipelineKinesisVideoStreamStart` Le sessioni di streaming terminano quando un partecipante abbandona la chiamata (per`IndividualAudio`) o al termine della riunione.
Usa i metadati persistenti che Kinesis Video Streams inviano con ogni frammento. I metadati contengono informazioni simili a quelle inviate da Event Bridge. I builder devono analizzare tutti gli stream di `KinesisVideoStreamPool` specificando il nome del pool come prefisso nell'API Kinesis Video [https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_ListStreams.html](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_ListStreams.html)Streams utilizzando questa soluzione.
La chiusura della pipeline Media Stream avviene quando la riunione viene eliminata o l'API viene richiamata per quella pipeline di flusso multimediale. [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) Viene inoltre inviata una [notifica di Event Bridge](media-pipe-events.md) per indicare la chiusura della pipeline multimediale.

# Codice di esempio per le pipeline di flussi multimediali di Amazon Chime SDK
<a name="pipeline-creation-code"></a>

Gli esempi seguenti mostrano come creare pipeline di flussi multimediali per audio misto, audio individuale ed entrambi. Espandi ogni sezione per ottenere ulteriori informazioni.

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

**Risposta:**

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

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

**Risposta:**

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

## CreateMediaStreamPipelineper audio misto e individuale
<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'
        },
    ]
)
```

**Risposta:**

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

# Utilizzo delle notifiche di Event Bridge per le pipeline di flussi multimediali di Amazon Chime SDK
<a name="media-stream-event-bridge"></a>

Inoltre[Utilizzo degli eventi della pipeline multimediale di Amazon Chime SDK](media-pipe-events.md), le pipeline di flussi multimediali inviano notifiche a Event Bridge quando avviano e interrompono lo streaming su KVS e quando lo stato del pool video cambia.

**Topics**
+ [Informazioni sugli eventi della pipeline dei flussi multimediali di Amazon Chime SDK](stream-pipe-events.md)
+ [Informazioni sugli eventi del pool di Kinesis Video Streams per le pipeline di flussi multimediali di Amazon Chime SDK](media-stream-pool-events.md)

# Informazioni sugli eventi della pipeline dei flussi multimediali di Amazon Chime SDK
<a name="stream-pipe-events"></a>

Le pipeline di flussi multimediali inviano i seguenti eventi. Espandi ogni sezione per ottenere ulteriori informazioni.

## Avvio dello streaming video di Amazon Chime Media Stream Pipeline Kinesis
<a name="stream-pipe-kvs-start"></a>

La pipeline multimediale Amazon Chime SDK invia questo evento quando la pipeline del flusso multimediale inizia a ricevere l'audio dalla riunione e lo trasmette a KVS. `ExternalUserId`I campi vuoti `AttendeeId` e indicano che la pipeline multimediale ha inviato audio misto allo stream 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"
                
    }
}
```

## Fine dello streaming video di Amazon Chime Media Stream Pipeline Kinesis
<a name="stream-pipe-kvs-stop"></a>

La pipeline multimediale invia questo evento a Event Bridge quando termina lo streaming su 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"
    }
}
```

# Informazioni sugli eventi del pool di Kinesis Video Streams per le pipeline di flussi multimediali di Amazon Chime SDK
<a name="media-stream-pool-events"></a>

Le pipeline multimediali inviano i seguenti eventi a Event Bridge quando lo stato dei pool cambia. Espandi ogni sezione per ottenere ulteriori informazioni.

## Pool video Kinesis di Amazon Chime Media Pipeline attivo
<a name="kvs-pool-active"></a>

La pipeline multimediale invia questo evento dopo che 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 ha creato 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"
    }
}
```

## Aggiornamento del pool video Kinesis di Amazon Chime Chime Media Pipeline
<a name="kvs-pool-updated"></a>

La pipeline multimediale invia questo evento dopo che l'API ha aggiornato un pool. [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)

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

## Eliminato il pool video Kinesis di Amazon Chime Media Pipeline
<a name="kvs-pool-deleted"></a>

La pipeline multimediale invia questo evento a Event Bridge quando elimina un pool. [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)

Per ulteriori informazioni sull'eliminazione dei pool, fare riferimento a[Creazione di un pool Kinesis Video Streams per le pipeline di flussi multimediali di Amazon Chime SDK](create-kvs-pool.md), in questa sezione.

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

## Errore temporaneo del pool video Kinesis di Amazon Chime Media Pipeline
<a name="kvs-pool-temp-failure"></a>

La pipeline multimediale invia il seguente evento a Event Bridge quando un pool video si guasta temporaneamente.

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

## Errore permanente del pool video Kinesis di Amazon Chime Media Pipeline
<a name="kvs-pool-perm-failure"></a>

La pipeline multimediale invia il seguente evento a Event Bridge in caso di guasto permanente di un pool video.

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

Riceverai il seguente evento di pipeline multimediale aggiuntivo se il tuo account AWS ha superato il limite di streaming video di 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"
    }
}
```

# Utilizzo dei dati delle pipeline di streaming multimediale di Amazon Chime SDK
<a name="media-stream-tips-tricks"></a>

Puoi utilizzare i metadati nelle notifiche per ottenere KVS ARNs, numeri di frammenti e timestamp dei frammenti. Queste informazioni possono aiutarti a elaborare i dati audio in uno stream KVS.

Inoltre, puoi usare KVS ARNs con KVS APIs per leggere i dati da un flusso. A seconda del caso d'uso, si chiama and. [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 In genere, una `GetMediaForFragmentList` chiamata è preceduta da una chiamata all'[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. Per ulteriori informazioni, consulta [Lettura dei dati dagli stream](https://aws.amazon.com/kinesis/video-streams/faqs/), in *Amazon Kinesis Video* Streams. FAQs

A seconda del caso d'uso, i builder possono utilizzare la libreria di parser Kinesis Video Streams, che a sua volta utilizza l'API KVS. [https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_GetMedia.html](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_GetMedia.html)

Le pipeline di flussi multimediali aggiungono i seguenti metadati delle riunioni e dei partecipanti a ciascun frammento.

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

I dati multimediali vengono archiviati in formato MKV. Tutti i dati audio MKV sono codificati in AAC. Per ulteriori informazioni, consulta il modello di dati di [Kinesis Video Streams](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/how-data.html), *nella Kinesis Video Streams* Developer Guide.