

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Membuat pipeline aliran media menggunakan Amazon Chime SDK
<a name="create-media-stream-pipeline"></a>

Pipa aliran media menangkap audio individual untuk semua peserta dalam rapat, ditambah audio campuran yang dihasilkan oleh pipa rangkaian media. Semua saluran aliran media menyimpan datanya ke [Amazon Kinesis Video](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/what-is-kinesis-video.html) Streams (KVS).

Anda membuat aliran video dengan memanggil [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. Anda dapat membuat satu saluran aliran media per rapat Amazon Chime SDK.

**catatan**  
Jika rapat menggunakan Region keikutsertaan sebagai Region [MediaRegion](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_CreateMeeting.html#chimesdk-meeting-chime_CreateMeeting-request-MediaRegion), aliran KVS harus berada di Region yang sama. Misalnya, jika rapat menggunakan `af-south-1` Wilayah, aliran KVS juga harus masuk`af-south-1`. Namun, jika rapat menggunakan Wilayah yang diaktifkan AWS secara default, aliran KVS dapat berada di Wilayah mana pun yang tersedia, termasuk Wilayah keikutsertaan. Misalnya, jika rapat digunakan`ca-central-1`, aliran KVS dapat berada di`eu-west-2`, `us-east-1``af-south-1`, atau Wilayah lain yang didukung Amazon Chime SDK.  
Untuk mempelajari AWS Wilayah mana yang digunakan rapat, panggil [GetMeeting](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_GetMeeting.html)API dan gunakan [MediaRegion](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_CreateMeeting.html#chimesdk-meeting-chime_CreateMeeting-request-MediaRegion)parameter dari respons.  
Untuk informasi selengkapnya tentang keikutsertaan Wilayah, lihat [Wilayah AWS yang tersedia untuk Amazon Chime SDK](sdk-available-regions.md) di panduan ini, dan [Tentukan AWS Wilayah mana yang dapat digunakan akun Anda](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html#rande-manage-enable.html), di *Panduan Referensi Manajemen AWS Akun*.

Bagian berikut menjelaskan cara membuat pipeline aliran media. Ikuti mereka dalam urutan yang tercantum.

**Topics**
+ [Membuat kumpulan Kinesis Video Streams untuk saluran aliran media Amazon Chime SDK](create-kvs-pool.md)
+ [Contoh kode untuk kumpulan Kinesis Video Streams untuk saluran aliran media Amazon Chime SDK](pool-creation-code.md)
+ [Membuat saluran pipa aliran media Amazon Chime SDK](create-stream-pipeline.md)
+ [Contoh kode untuk saluran pipa aliran media Amazon Chime SDK](pipeline-creation-code.md)
+ [Menggunakan notifikasi Event Bridge untuk pipeline aliran media Amazon Chime SDK](media-stream-event-bridge.md)
+ [Menggunakan data jalur pipa aliran media Amazon Chime SDK](media-stream-tips-tricks.md)

# Membuat kumpulan Kinesis Video Streams untuk saluran aliran media Amazon Chime SDK
<a name="create-kvs-pool"></a>

Kumpulan Kinesis Video Streams (KVS) untuk pipeline aliran media Anda harus memiliki akun yang sama dengan rapat Amazon Chime SDK. AWS Anda membuat kumpulan Kinesis Video Streams dengan [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)memanggil API.

Diagram berikut menunjukkan arsitektur saluran media Kinesis Video Streams pool. Angka dalam gambar sesuai dengan teks bernomor di bawah ini:

![\[Diagram yang menampilkan panggilan API yang membuat kumpulan Kinesis Video Streams.\]](http://docs.aws.amazon.com/id_id/chime-sdk/latest/dg/images/media-stream-pool-architecture.png)


Dalam diagram:

1. Anda memanggil [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. Bidang kontrol pipa media membuat dan mengelola Kinesis Video Streams (KVS) dan kumpulan atas nama Anda di akun Anda.

Operasi kolam KVS, proses pembuatan, pembaruan, dan penghapusan aliran di kolam, tidak sinkron. Akibatnya, notifikasi Event Bridge menggunakan tipe `Chime Media Pipeline Kinesis Video Pool State Change` detail untuk mengkomunikasikan status aliran di kolam.

Anda dapat membuat kumpulan sekali dan menggunakannya kembali di berbagai rapat. Anda juga dapat membuat pool yang berbeda sesuai kebutuhan, dan menghapus pool saat Anda tidak membutuhkannya.

Pools ditingkatkan secara otomatis, berdasarkan burst panggilan bersamaan Anda. Anda dapat menghapus kolam yang tidak dibutuhkan.

**catatan**  
Saat Anda menghapus kolam, Anda harus menunggu pool dihapus sepenuhnya sebelum menghapus aliran KVS di kolam. Pemberitahuan Event Bridge akan menunjukkan kapan pool telah dihapus sepenuhnya. Itu terjadi setelah semua pertemuan yang menggunakan kolam renang telah berakhir. Anda juga dapat memanggil [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 untuk melihat kumpulan KVS tertentu. `PoolId`  
Saat Anda menjalankan 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, Anda dapat menggunakan string penamaan tersebut untuk mencari dan menghapus aliran dalam kumpulan. Anda juga dapat memanggil [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 untuk melihat kumpulan KVS tertentu. `PoolId` Contoh di bagian selanjutnya menjelaskan caranya.

# Contoh kode untuk kumpulan Kinesis Video Streams untuk saluran aliran media Amazon Chime SDK
<a name="pool-creation-code"></a>

Contoh berikut menunjukkan cara membuat, memperbarui, mendapatkan, membuat daftar, dan menghapus kumpulan Kinesis Video Streams (KVS). Perluas setiap bagian untuk mempelajari lebih lanjut.

## Impor dan variabel umum
<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
)
```

**Keluaran**: `delete_media_pipeline_kinesis_video_stream_pool` Permintaan yang berhasil tidak memiliki badan.

# Membuat saluran pipa aliran media Amazon Chime SDK
<a name="create-stream-pipeline"></a>

Pipeline aliran media chime harus memiliki AWS akun yang sama dengan rapat Amazon Chime SDK. Anda membuat pipeline aliran media Amazon Chime SDK dengan memanggil [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 dan menentukan sumber dan sink.

Diagram berikut menunjukkan arsitektur saluran aliran media Amazon Chime SDK. Angka dalam diagram sesuai dengan teks bernomor di bawah ini.

![\[Diagram yang menampilkan panggilan API yang membuat kumpulan aliran media.\]](http://docs.aws.amazon.com/id_id/chime-sdk/latest/dg/images/media-stream-pipe-architecture.png)


Dalam diagram:

1. Anda memanggil `CreateMediaStreamPipeline` API. Dalam permintaan, tentukan sumber dan sink untuk stream. apakah Anda ingin menangkap audio individual, audio campuran, atau keduanya. Sertakan ARN kolam KVS Anda dalam permintaan.
   + Array sumber terdiri dari `SourceType` dan`SourceArn`. Anda harus menggunakan`ChimeSdkMeeting SourceType`. `SourceArn`Itu adalah ARN dari. `ChimeSdkMeeting`
   + Array sink terdiri dari`SinkType`,, `SinkArn``ReservedStreamCapacity`, dan`MediaStreamType`. Kami hanya mendukung`KinesisVideoStreamPoolSinkType`. `SinkArn`Itu adalah ARN dari. `KinesisVideoStreamPool` `MediaStreamType`Kontrol jenis media yang dialirkan ke wastafel, baik `MixedAudio` atau`IndividualAudio`. `ReservedStreamCapacity`menetapkan jumlah aliran yang dialokasikan untuk `MediaStreamType` dari. `KinesisVideoStreamPool`
     + Jika Anda ingin melakukan streaming keduanya `IndividualAudio` dan`MixedAudio`, buat dua objek sink dalam `Sinks` array, satu untuk`IndividualAudio`, yang lain untuk`MixedAudio`. `SinkArn`(ARN dari`KinesisVideoStreamPool`) dapat bervariasi untuk setiap wastafel.
     + Untuk melakukan streaming hanya audio individual atau audio campuran, buat satu objek wastafel dengan yang diinginkan`MediaStreamType`.
   + Perhatikan hal-hal berikut:
     + Saat menjalankan [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 dengan `KinesisVideoStreamPool` as the`SinkType`, `SinkARN` harus milik wilayah bidang kontrol tempat `CreateMediaStreamPipeline` dipanggil.

       Misalnya, jika Anda membuat pipeline aliran media di`us-east-1`, Anda harus menggunakan `KinesisVideoStreamPool` in`us-east-1`.
     + `ReservedStreamCapacity`harus **1** ketika Anda menentukan `MixedAudio``MediaStreamType`, dan antara **1-10** saat Anda menentukan `IndividualAudio``MediaStreamType`.

1. Bidang data pipeline media memanggil KVS [ PutMedia](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_PutMedia.html)API untuk menyimpan audio individual dalam aliran KVS yang termasuk dalam kumpulan KVS yang Anda tentukan.

1. Bidang data pipeline media memanggil KVS `PutMedia` API untuk menyimpan audio campuran dalam aliran milik kumpulan KVS yang Anda tentukan.

**catatan**  
Setelah memanggil [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, builder dapat menggunakan [peristiwa pipeline media](media-pipe-events.md) atau memanggil [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 untuk menentukan apakah status pipeline tersebut`InProgress`.  
Setelah status pipa mencapai`InProgress`, media—kombinasi apa pun dari `IndividualAudio` `MixedAudio` dan—mengalir ke KVS.   
Untuk jenis `IndividualAudio` aliran, pemetaan 1:1 ada antara peserta IDs dan aliran KVS yang dialokasikan dari. `KinesisVideoStreamPool` Pemetaan berlaku untuk masa pakai pipa media.  
Untuk mengetahui aliran KVS mana yang memetakan ke ID peserta, atau ditetapkan MixedAudio, gunakan salah satu teknik berikut:  
Gunakan [Pemberitahuan Jembatan Acara](media-stream-event-bridge.md). Setiap pemberitahuan memberikan informasi seperti peserta IDs dan ARN KVS yang mengalirkan audio peserta. Saat sesi `MixedAudio` streaming `IndividualAudio` atau streaming dimulai, kami mengirim `chime:MediaPipelineKinesisVideoStreamStart` acara. Sesi streaming berakhir saat peserta meninggalkan panggilan (untuk`IndividualAudio`), atau saat rapat berakhir.
Gunakan metadata persisten yang dikirim oleh Kinesis Video Streams dengan setiap fragmen. Metadata berisi informasi yang mirip dengan apa yang dikirim Event Bridge. Builder perlu mengurai semua aliran `KinesisVideoStreamPool` dengan menentukan nama pool sebagai awalan di 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 API menggunakan solusi ini.
Pengakhiran pipeline Media Stream terjadi saat rapat dihapus, atau [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 dipanggil untuk pipeline aliran media tersebut. [Pemberitahuan Event Bridge](media-pipe-events.md) juga dikirim untuk menunjukkan penghentian pipa media.

# Contoh kode untuk saluran pipa aliran media Amazon Chime SDK
<a name="pipeline-creation-code"></a>

Contoh berikut menunjukkan cara membuat pipeline aliran media untuk audio campuran, audio individual, dan keduanya. Perluas setiap bagian untuk mempelajari lebih lanjut.

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

**Tanggapan**:

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

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

**Tanggapan**:

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

## CreateMediaStreamPipelineuntuk audio campuran dan individual
<a name="create-both-sample"></a>

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

**Tanggapan**:

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

# Menggunakan notifikasi Event Bridge untuk pipeline aliran media Amazon Chime SDK
<a name="media-stream-event-bridge"></a>

Selain itu[Menggunakan acara pipeline media Amazon Chime SDK](media-pipe-events.md), saluran aliran media mengirim pemberitahuan Event Bridge ketika mereka memulai dan menghentikan streaming ke KVS, dan ketika status kumpulan video berubah.

**Topics**
+ [Memahami peristiwa saluran aliran media Amazon Chime SDK](stream-pipe-events.md)
+ [Memahami acara kumpulan Kinesis Video Streams untuk saluran aliran media Amazon Chime SDK](media-stream-pool-events.md)

# Memahami peristiwa saluran aliran media Amazon Chime SDK
<a name="stream-pipe-events"></a>

Saluran pipa aliran media mengirim peristiwa berikut. Perluas setiap bagian untuk mempelajari lebih lanjut.

## Aliran Video Kinesis Saluran Pipa Amazon Chime Media Stream Mulai
<a name="stream-pipe-kvs-start"></a>

Pipeline media Amazon Chime SDK mengirimkan peristiwa ini saat pipeline aliran media mulai menerima audio dari rapat dan mengalirkan audio tersebut ke KVS. Kosong `AttendeeId` dan `ExternalUserId` bidang menunjukkan bahwa pipa media mengirim audio campuran ke aliran 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"
                
    }
}
```

## Akhir Aliran Video Kinesis Pipa Aliran Media Amazon Chime
<a name="stream-pipe-kvs-stop"></a>

Pipeline media mengirimkan acara ini ke Event Bridge saat streaming ke KVS berakhir.

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

# Memahami acara kumpulan Kinesis Video Streams untuk saluran aliran media Amazon Chime SDK
<a name="media-stream-pool-events"></a>

Pipa media mengirim peristiwa berikut ke Event Bridge ketika status kolam berubah. Perluas setiap bagian untuk mempelajari lebih lanjut.

## Kolam Video Kinesis Pipa Media Amazon Chime Aktif
<a name="kvs-pool-active"></a>

Pipeline media mengirimkan acara ini dikirim setelah [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 membuat 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"
    }
}
```

## Kolam Video Kinesis Pipa Media Lonceng Amazon Diperbarui
<a name="kvs-pool-updated"></a>

Pipeline media mengirimkan acara ini setelah [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 memperbarui kumpulan.

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

## Kolam Video Kinesis Pipa Media Amazon Chime Dihapus
<a name="kvs-pool-deleted"></a>

Pipeline media mengirimkan acara ini ke Event Bridge saat [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)menghapus pool.

Untuk informasi selengkapnya tentang menghapus pool, lihat[Membuat kumpulan Kinesis Video Streams untuk saluran aliran media Amazon Chime SDK](create-kvs-pool.md), di bagian ini.

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

## Kegagalan Sementara Kolam Video Kinesis Pipa Media Amazon Chime
<a name="kvs-pool-temp-failure"></a>

Pipeline media mengirimkan peristiwa berikut ke Event Bridge ketika kumpulan video gagal sementara.

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

## Kegagalan Permanen Kumpulan Video Kinesis Pipa Media Amazon Chime
<a name="kvs-pool-perm-failure"></a>

Pipeline media mengirimkan peristiwa berikut ke Event Bridge ketika kumpulan video gagal secara permanen.

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

Anda akan menerima peristiwa pipeline media tambahan berikut jika akun AWS Anda telah melampaui batas aliran video 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"
    }
}
```

# Menggunakan data jalur pipa aliran media Amazon Chime SDK
<a name="media-stream-tips-tricks"></a>

Anda dapat menggunakan metadata dalam notifikasi untuk mendapatkan KVS ARNs, nomor fragmen, dan stempel waktu fragmen. Informasi itu dapat membantu Anda memproses data audio dalam aliran KVS.

Selain itu, Anda dapat menggunakan KVS ARNs dengan KVS APIs untuk membaca data dari aliran. Tergantung pada kasus penggunaan, Anda memanggil [https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_GetMedia.html](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_GetMedia.html)dan [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. Biasanya, `GetMediaForFragmentList` panggilan didahului oleh panggilan ke API. [https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_reader_ListFragments.html](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_reader_ListFragments.html) Untuk informasi selengkapnya, lihat [Membaca data dari aliran](https://aws.amazon.com/kinesis/video-streams/faqs/), di *Amazon Kinesis Video* Streams. FAQs

Bergantung pada kasus penggunaan, builder dapat menggunakan pustaka parser Kinesis Video Streams, yang pada gilirannya menggunakan 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)

Pipeline aliran media menambahkan metadata pertemuan dan peserta berikut ke setiap fragmen.

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

Data media disimpan dalam format MKV. Semua data audio MKV dikodekan AAC. Untuk informasi selengkapnya, lihat model data [Kinesis Video Streams](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/how-data.html), *di Panduan Pengembang Kinesis Video Streams*.