

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Medienstream-Pipelines mit dem Amazon Chime SDK erstellen
<a name="create-media-stream-pipeline"></a>

Medienstream-Pipelines erfassen einzelne Audiodaten für alle Teilnehmer einer Besprechung sowie gemischte Audiodaten, die durch eine Medienverkettungspipeline generiert werden. Alle Medienstream-Pipelines speichern ihre Daten in [Amazon Kinesis Video Streams](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/what-is-kinesis-video.html) (KVS).

Sie erstellen den Videostream, indem Sie die API aufrufen. [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) Sie können eine Medienstream-Pipeline pro Amazon Chime SDK-Meeting erstellen.

**Anmerkung**  
Wenn für ein Meeting eine Opt-in-Region verwendet wird [MediaRegion](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_CreateMeeting.html#chimesdk-meeting-chime_CreateMeeting-request-MediaRegion), muss sich der KVS-Stream in derselben Region befinden. Wenn ein Meeting beispielsweise die `af-south-1` Region verwendet, muss sich auch der KVS-Stream in der Region befinden. `af-south-1` Wenn das Meeting jedoch eine Region verwendet, die AWS standardmäßig aktiviert, kann sich der KVS-Stream in jeder verfügbaren Region befinden, einschließlich einer Opt-in-Region. Wenn das Meeting beispielsweise verwendet`ca-central-1`, kann sich der KVS-Stream in`eu-west-2`,`us-east-1`, oder einer anderen Region befinden`af-south-1`, die das Amazon Chime SDK unterstützt.  
Um zu erfahren, welche AWS Region ein Meeting verwendet, rufen Sie die [GetMeeting](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_GetMeeting.html)API auf und verwenden Sie den [MediaRegion](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_CreateMeeting.html#chimesdk-meeting-chime_CreateMeeting-request-MediaRegion)Parameter aus der Antwort.  
Weitere Informationen zu Regionen, für die Sie sich anmelden können, finden Sie [Verfügbare AWS-Regionen für das Amazon Chime SDK](sdk-available-regions.md) in diesem Leitfaden und unter [Spezifizieren Sie, welche AWS Regionen Ihr Konto verwenden kann](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html#rande-manage-enable.html), im *Referenzhandbuch zur AWS Kontoverwaltung.*

In den folgenden Abschnitten wird erklärt, wie Sie eine Medienstream-Pipeline erstellen. Gehen Sie nach der aufgeführten Reihenfolge vor.

**Topics**
+ [Erstellen eines Kinesis Video Streams Streams-Pools für Amazon Chime SDK-Medienstream-Pipelines](create-kvs-pool.md)
+ [Beispielcode für Kinesis Video Streams Streams-Pools für Amazon Chime SDK-Medienstream-Pipelines](pool-creation-code.md)
+ [Erstellen von Amazon Chime SDK-Medienstream-Pipelines](create-stream-pipeline.md)
+ [Beispielcode für Amazon Chime SDK-Medienstream-Pipelines](pipeline-creation-code.md)
+ [Verwenden von Event Bridge-Benachrichtigungen für Amazon Chime SDK-Medienstream-Pipelines](media-stream-event-bridge.md)
+ [Verwenden von Medienstream-Pipeline-Daten im Amazon Chime SDK](media-stream-tips-tricks.md)

# Erstellen eines Kinesis Video Streams Streams-Pools für Amazon Chime SDK-Medienstream-Pipelines
<a name="create-kvs-pool"></a>

Der Kinesis Video Streams (KVS) -Pool für Ihre Medienstream-Pipeline muss zu demselben AWS Konto gehören wie das Amazon Chime SDK-Meeting. Sie erstellen einen Kinesis Video Streams Streams-Pool, indem Sie die [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 aufrufen.

Das folgende Diagramm zeigt die Architektur eines Kinesis Video Streams Streams-Pools für Medienpipeline. Die Zahlen im Bild entsprechen dem unten nummerierten Text:

![\[Diagramm, das einen API-Aufruf zeigt, der einen Kinesis Video Streams Streams-Pool erstellt.\]](http://docs.aws.amazon.com/de_de/chime-sdk/latest/dg/images/media-stream-pool-architecture.png)


Im Diagramm:

1. Sie rufen die [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 auf.

1. Die Media Pipeline-Kontrollebene erstellt und verwaltet die Kinesis Video Streams (KVS) und den Pool in Ihrem Namen in Ihrem Konto.

Der KVS-Poolbetrieb, d. h. das Erstellen, Aktualisieren und Löschen von Streams im Pool, erfolgt asynchron. Aus diesem Grund verwenden Event Bridge-Benachrichtigungen den `Chime Media Pipeline Kinesis Video Pool State Change` Detailtyp, um den Status der Streams in einem Pool zu kommunizieren.

Sie können einen Pool einmal erstellen und ihn für verschiedene Besprechungen wiederverwenden. Sie können auch nach Bedarf verschiedene Pools erstellen und Pools löschen, wenn Sie sie nicht benötigen.

Pools werden automatisch auf der Grundlage Ihrer Anzahl gleichzeitiger Anrufe skaliert. Sie können alle nicht benötigten Pools löschen.

**Anmerkung**  
Wenn Sie einen Pool löschen, müssen Sie warten, bis der Pool vollständig gelöscht ist, bevor Sie die KVS-Streams im Pool löschen. Eine Event Bridge-Benachrichtigung zeigt an, wenn der Pool vollständig gelöscht wurde. Dies geschieht, nachdem alle Besprechungen, die den Pool nutzen, beendet sind. Sie können auch die [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 aufrufen, um den `PoolId` für einen bestimmten KVS-Pool anzuzeigen.  
Wenn Sie die Kinesis Video Streams [https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_DeleteStream.html](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_DeleteStream.html)Streams-API aufrufen, können Sie diese Benennungszeichenfolge verwenden, um nach den Streams in einem Pool zu suchen und diese zu löschen. Sie können die [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 auch aufrufen, um die `PoolId` für einen bestimmten KVS-Pool anzuzeigen. Die Beispiele im nächsten Abschnitt erklären, wie das geht.

# Beispielcode für Kinesis Video Streams Streams-Pools für Amazon Chime SDK-Medienstream-Pipelines
<a name="pool-creation-code"></a>

Die folgenden Beispiele zeigen, wie Kinesis Video Streams (KVS) -Pools erstellt, aktualisiert, abgerufen, aufgelistet und gelöscht werden. Erweitern Sie jeden Abschnitt, um mehr zu erfahren.

## Importe und allgemeine Variablen
<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'])
```

**Ausgabe:**

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

**Ausgabe:**

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

**Ausgabe:**

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

**Ausgabe:**

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

**Ausgabe**: Eine erfolgreiche `delete_media_pipeline_kinesis_video_stream_pool` Anfrage hat keinen Hauptteil.

# Erstellen von Amazon Chime SDK-Medienstream-Pipelines
<a name="create-stream-pipeline"></a>

Die Chime Media Stream-Pipeline muss zu demselben AWS Konto gehören wie das Amazon Chime SDK-Meeting. Sie erstellen die Amazon Chime SDK-Medienstream-Pipeline, indem Sie die [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 aufrufen und eine Quelle und eine Senke angeben.

Das folgende Diagramm zeigt die Architektur einer Amazon Chime SDK-Medienstream-Pipeline. Die Zahlen im Diagramm entsprechen dem nummerierten Text unten.

![\[Das Diagramm zeigt einen API-Aufruf, der einen Medienstream-Pool erstellt.\]](http://docs.aws.amazon.com/de_de/chime-sdk/latest/dg/images/media-stream-pipe-architecture.png)


Im Diagramm:

1. Sie rufen die `CreateMediaStreamPipeline` API auf. Geben Sie in der Anfrage die Quellen und Senken für die Streams an. Geben Sie an, ob Sie Einzelaudio, gemischtes Audio oder beides aufnehmen möchten. Geben Sie den ARN Ihres KVS-Pools in die Anfrage ein.
   + Das Quellen-Array besteht aus `SourceType` und`SourceArn`. Sie müssen die verwenden`ChimeSdkMeeting SourceType`. Das `SourceArn` ist der ARN von`ChimeSdkMeeting`.
   + Das Sinks-Array besteht aus`SinkType`, `SinkArn``ReservedStreamCapacity`, und`MediaStreamType`. Wir unterstützen nur die`KinesisVideoStreamPoolSinkType`. Das `SinkArn` ist der ARN von`KinesisVideoStreamPool`. Der `MediaStreamType` steuert den Medientyp, der zur Senke gestreamt wird, entweder `MixedAudio` oder`IndividualAudio`. `ReservedStreamCapacity`legt die Anzahl der Streams fest, die dem `MediaStreamType` `KinesisVideoStreamPool` vom zugewiesen wurden.
     + Wenn Sie `IndividualAudio` sowohl als auch streamen möchten`MixedAudio`, erstellen Sie zwei Senkenobjekte im `Sinks` Array, eines für `IndividualAudio` und eines für`MixedAudio`. Der `SinkArn` (der ARN von`KinesisVideoStreamPool`) kann für jede Senke variieren.
     + Um nur einzelne Audiodaten oder gemischte Audiodaten zu streamen, erstellen Sie ein Senkenobjekt mit den gewünschten Audiodaten`MediaStreamType`.
   + Beachten Sie Folgendes:
     + Wenn Sie die [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 mit `KinesisVideoStreamPool` as the aufrufen`SinkType`, `SinkARN` muss sie zu der Region der Steuerungsebene gehören, in der sie aufgerufen `CreateMediaStreamPipeline` wird.

       Wenn Sie beispielsweise eine Medienstream-Pipeline in erstellen`us-east-1`, müssen Sie einen `KinesisVideoStreamPool` Eingang verwenden. `us-east-1`
     + `ReservedStreamCapacity`sollte sein, **1** wenn Sie den angeben `MixedAudio``MediaStreamType`, und dazwischen, **1-10** wenn Sie den angeben `IndividualAudio``MediaStreamType`.

1. Die Datenebene der Medienpipeline ruft die [ PutMedia](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_PutMedia.html)KVS-API auf, um einzelne Audiodaten in einem KVS-Stream zu speichern, der zu dem von Ihnen angegebenen KVS-Pool gehört.

1. Die Datenebene der Medienpipeline ruft die `PutMedia` KVS-API auf, um gemischtes Audio in einem Stream zu speichern, der zu dem von Ihnen angegebenen KVS-Pool gehört.

**Anmerkung**  
Nach dem Aufruf der [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 können Builder [Medien-Pipeline-Ereignisse](media-pipe-events.md) verwenden oder die [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 aufrufen, um festzustellen, ob der Pipeline-Status lautet. `InProgress`  
Sobald der Pipeline-Status erreicht ist`InProgress`, werden die Medien — eine beliebige Kombination von `IndividualAudio` und `MixedAudio` — zu KVS gestreamt.   
Für den `IndividualAudio` Stream-Typ besteht eine 1:1 -Zuordnung zwischen dem Teilnehmer IDs und dem aus dem zugewiesenen KVS-Stream. `KinesisVideoStreamPool` Die Zuordnung gilt für die gesamte Lebensdauer der Medienpipeline.  
Um herauszufinden, welcher KVS-Stream einer Teilnehmer-ID zugeordnet ist oder für welchen er zugewiesen ist MixedAudio, verwenden Sie eine der folgenden Methoden:  
Verwenden Sie [Event Bridge-Benachrichtigungen](media-stream-event-bridge.md). Jede Benachrichtigung enthält Informationen wie den Teilnehmer IDs und den KVS-ARN, der das Audio des Teilnehmers streamt. Wenn eine `IndividualAudio` oder `MixedAudio` Streaming-Sitzung beginnt, senden wir ein Ereignis. `chime:MediaPipelineKinesisVideoStreamStart` Streaming-Sitzungen enden, wenn ein Teilnehmer den Anruf (für`IndividualAudio`) verlässt oder wenn das Meeting endet.
Verwenden Sie die persistenten Metadaten, die die Kinesis Video Streams mit jedem Fragment senden. Die Metadaten enthalten Informationen, die denen ähneln, die Event Bridge sendet. Builder müssen mit dieser Lösung alle Streams von analysieren, `KinesisVideoStreamPool` indem sie den Poolnamen als Präfix in der [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 Streams-API angeben.
Die Media Stream-Pipeline wird beendet, wenn das Meeting gelöscht oder die [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 für diese Media-Stream-Pipeline aufgerufen wird. Eine [Event Bridge-Benachrichtigung](media-pipe-events.md) wird ebenfalls gesendet, um auf die Beendigung der Medienpipeline hinzuweisen.

# Beispielcode für Amazon Chime SDK-Medienstream-Pipelines
<a name="pipeline-creation-code"></a>

Die folgenden Beispiele zeigen, wie Medienstream-Pipelines für gemischtes Audio, individuelles Audio und beides erstellt werden. Erweitern Sie jeden Abschnitt, um mehr zu erfahren.

## CreateMediaStreamPipelinefür gemischtes Audio
<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'
        },
    ]
)
```

**Antwort:**

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

## CreateMediaStreamPipelinefür individuelles Audio
<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'
        },
    ]
)
```

**Antwort:**

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

## CreateMediaStreamPipelinefür gemischtes und individuelles Audio
<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'
        },
    ]
)
```

**Antwort:**

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

# Verwenden von Event Bridge-Benachrichtigungen für Amazon Chime SDK-Medienstream-Pipelines
<a name="media-stream-event-bridge"></a>

Darüber hinaus senden Medienstream-Pipelines Event Bridge-Benachrichtigungen[Medien-Pipeline-Ereignisse des Amazon Chime SDK verwenden](media-pipe-events.md), wenn sie das Streaming an KVS starten und beenden und wenn sich der Status des Videopools ändert.

**Topics**
+ [Grundlegendes zu Medienstream-Pipeline-Ereignissen im Amazon Chime SDK](stream-pipe-events.md)
+ [Grundlegendes zu Kinesis Video Streams Streams-Poolereignissen für Amazon Chime SDK-Medienstream-Pipelines](media-stream-pool-events.md)

# Grundlegendes zu Medienstream-Pipeline-Ereignissen im Amazon Chime SDK
<a name="stream-pipe-events"></a>

Medienstream-Pipelines senden die folgenden Ereignisse. Erweitern Sie jeden Abschnitt, um mehr zu erfahren.

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

Die Amazon Chime SDK-Medienpipeline sendet dieses Ereignis, wenn die Medienstream-Pipeline beginnt, Audio vom Meeting zu empfangen und dieses Audio an KVS zu streamen. Leere `ExternalUserId` Felder `AttendeeId` und geben an, dass die Medienpipeline gemischte Audiodaten an den KVS-Stream gesendet hat.

```
{
    "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 End
<a name="stream-pipe-kvs-stop"></a>

Die Medienpipeline sendet dieses Ereignis an Event Bridge, wenn das Streaming zu KVS beendet wird.

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

# Grundlegendes zu Kinesis Video Streams Streams-Poolereignissen für Amazon Chime SDK-Medienstream-Pipelines
<a name="media-stream-pool-events"></a>

Medien-Pipelines senden die folgenden Ereignisse an Event Bridge, wenn sich der Status der Pools ändert. Erweitern Sie jeden Abschnitt, um mehr zu erfahren.

## Amazon Chime Media Pipeline Kinesis Videopool aktiv
<a name="kvs-pool-active"></a>

Die Medienpipeline sendet dieses Ereignis. Es wird gesendet, nachdem die [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 einen Pool erstellt hat.

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

## Amazon Chime Chime Media Pipeline Kinesis Videopool aktualisiert
<a name="kvs-pool-updated"></a>

Die Medienpipeline sendet dieses Ereignis, nachdem die [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 einen Pool aktualisiert hat.

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

## Amazon Chime Media Pipeline Kinesis-Videopool gelöscht
<a name="kvs-pool-deleted"></a>

Die Medienpipeline sendet dieses Ereignis an Event Bridge, wenn sie einen 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)löscht.

Weitere Informationen zum Löschen von Pools finden Sie [Erstellen eines Kinesis Video Streams Streams-Pools für Amazon Chime SDK-Medienstream-Pipelines](create-kvs-pool.md) in diesem Abschnitt.

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

## Vorübergehender Ausfall von Amazon Chime Media Pipeline Kinesis Video Pool
<a name="kvs-pool-temp-failure"></a>

Die Medienpipeline sendet das folgende Ereignis an Event Bridge, wenn ein Videopool vorübergehend ausfällt.

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

## Dauerhafter Ausfall von Amazon Chime Media Pipeline Kinesis Video Pool
<a name="kvs-pool-perm-failure"></a>

Die Medienpipeline sendet das folgende Ereignis an Event Bridge, wenn ein Videopool dauerhaft ausfällt.

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

Sie erhalten das folgende zusätzliche Media Pipeline-Ereignis, wenn Ihr AWS-Konto das Amazon Kinesis Kinesis-Videostream-Limit überschritten hat.

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

# Verwenden von Medienstream-Pipeline-Daten im Amazon Chime SDK
<a name="media-stream-tips-tricks"></a>

Sie können die Metadaten in den Benachrichtigungen verwenden, um KVS ARNs, Fragmentnummern und Fragmentzeitstempel abzurufen. Diese Informationen können Ihnen helfen, die Audiodaten in einem KVS-Stream zu verarbeiten.

Sie können KVS auch ARNs zusammen mit dem KVS verwenden, um Daten aus einem Stream APIs zu lesen. Je nach Anwendungsfall rufen Sie und auf [https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_GetMedia.html](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_GetMedia.html). [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 In der Regel geht einem `GetMediaForFragmentList` Aufruf der API ein Aufruf der [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 voraus. Weitere Informationen finden Sie unter [Lesen von Daten aus Streams](https://aws.amazon.com/kinesis/video-streams/faqs/) in *Amazon Kinesis Video Streams FAQs*.

Je nach Anwendungsfall können Builder die Kinesis Video Streams Streams-Parser-Bibliothek verwenden, die wiederum die KVS-API verwendet. [https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_GetMedia.html](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_GetMedia.html)

Medienstream-Pipelines fügen jedem Fragment die folgenden Metadaten für Besprechungen und Teilnehmer hinzu.

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

Mediendaten werden im MKV-Format gespeichert. Alle MKV-Audiodaten sind AAC-codiert. Weitere Informationen finden Sie im [Kinesis Video Streams-Datenmodell](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/how-data.html) im *Kinesis Video Streams Developer Guide*.