

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

# Membuat saluran media Amazon Chime SDK
<a name="media-pipelines"></a>

Di bagian ini, kami menunjukkan cara membuat saluran media, yang digunakan untuk menangkap atau mengalirkan rapat Amazon Chime SDK. Sebelum memulai, Anda harus mengintegrasikan aplikasi klien Anda dengan library klien Amazon Chime SDK. Untuk informasi selengkapnya, lihat [Pelajari tentang library klien Amazon Chime SDK](mtgs-sdk-client-lib.md). *Untuk informasi selengkapnya tentang saluran media, lihat [Menangkap Rapat Amazon Chime SDK Menggunakan pipeline media](https://aws.amazon.com/blogs//business-productivity/capture-amazon-chime-sdk-meetings-using-media-capture-pipelines/) di AWS Blog Produktivitas Bisnis.*

**penting**  
Anda dan pengguna akhir Anda harus memahami bahwa merekam rapat Amazon Chime SDK mungkin tunduk pada undang-undang atau peraturan terkait pencatatan komunikasi elektronik. Adalah tanggung jawab Anda dan pengguna akhir Anda untuk mematuhi semua hukum yang berlaku mengenai rekaman, termasuk memberi tahu semua peserta dalam sesi rekaman dengan benar bahwa sesi atau komunikasi sedang direkam, dan mendapatkan persetujuan mereka.   
Anda dan pengguna akhir Anda bertanggung jawab atas semua streaming konten menggunakan layanan konektor langsung media, dan harus memastikan bahwa konten tersebut tidak melanggar hukum, melanggar atau menyalahgunakan hak pihak ketiga mana pun, atau melanggar ketentuan material perjanjian Anda dengan Amazon.

**Topics**
+ [Pertimbangan untuk membuat pipeline media Amazon Chime SDK](creating-media-pipelines-considerations.md)
+ [Memahami batas default untuk pipeline media Amazon Chime SDK aktif](media-pipelines-limits.md)
+ [Migrasi ke namespace saluran pipa media Amazon Chime SDK](migrate-pipelines.md)
+ [Memahami pembuatan pipa media Amazon Chime SDK](create-pipeline.md)
+ [Membuat pipeline pengambilan media untuk rapat Amazon Chime SDK](capture-pipe-config.md)
+ [Membuat pipeline penggabungan media untuk rapat Amazon Chime SDK](create-concat-pipe.md)
+ [Membuat pipeline konektor langsung media untuk rapat Amazon Chime SDK](connector-pipe-config.md)
+ [Membuat pipeline aliran media menggunakan Amazon Chime SDK](create-media-stream-pipeline.md)
+ [Mengomposisikan audio dan video ke dalam satu tampilan dalam rapat Amazon Chime SDK](pipeline-compositing.md)
+ [Membuat peran terkait layanan untuk pipeline media Amazon Chime SDK](create-pipeline-role.md)
+ [Menggunakan acara pipeline media Amazon Chime SDK](media-pipe-events.md)
+ [Praktik terbaik untuk menghentikan saluran media Amazon Chime SDK](stop-pipe-best-practices.md)

# Pertimbangan untuk membuat pipeline media Amazon Chime SDK
<a name="creating-media-pipelines-considerations"></a>

Pipa media dapat terdiri dari salah satu saluran pipa ini: 
+ **Pengambilan media** — Gunakan saluran pengambilan media untuk merekam aliran berbagi audio, video, dan konten, ditambah acara rapat dan pesan data. Semua pipeline pengambilan media menyimpan datanya ke bucket [Amazon Simple Storage Service](https://aws.amazon.com/s3/) (S3) yang Anda buat. Anda dapat membuat satu pipeline pengambilan media per rapat Amazon Chime SDK. Untuk informasi lebih lanjut, lihat[Memahami pembuatan pipa media Amazon Chime SDK](create-pipeline.md).
+ **Penggabungan media — Gunakan jaringan pipa penggabungan** media untuk menggabungkan artefak dari pipa penangkapan media. Pipa penggabungan bekerja secara independen dari penangkapan media dan pipa konektor langsung. Untuk informasi lebih lanjut, lihat[Membuat pipeline penggabungan media untuk rapat Amazon Chime SDK](create-concat-pipe.md).
+ **Konektor langsung media** — Gunakan saluran pipa konektor langsung media untuk menyambung ke layanan yang memungkinkan Anda melakukan streaming rapat Amazon Chime SDK ke titik akhir RTMP. Anda dapat membuat hingga satu saluran konektor langsung media per rapat Amazon Chime SDK. Untuk informasi lebih lanjut, lihat[Membuat pipeline konektor langsung media untuk rapat Amazon Chime SDK](connector-pipe-config.md).
+ **Aliran media** — Gunakan saluran aliran media untuk 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). Untuk informasi lebih lanjut, lihat[Membuat pipeline aliran media menggunakan Amazon Chime SDK](create-media-stream-pipeline.md).

Pipeline yang Anda buat bergantung pada namespace yang Anda gunakan. Jika Anda menggunakan `Chime` namespace, Anda hanya dapat membuat pipeline pengambilan media. Jika Anda menggunakan `ChimeSdkMediaPipelines` namespace, Anda juga dapat membuat rangkaian media dan pipeline konektor langsung media, dan menggunakan fitur pengomposisian. Jika Anda ingin bermigrasi ke `ChimeSdkMediaPipelines` namespace, lihat. [Migrasi ke namespace saluran pipa media Amazon Chime SDK](migrate-pipelines.md)

# Memahami batas default untuk pipeline media Amazon Chime SDK aktif
<a name="media-pipelines-limits"></a>

Tabel berikut mencantumkan batas default untuk saluran media aktif di setiap Wilayah. Setiap jenis pipa dihitung menuju batas. Jika Anda melebihi batas untuk Wilayah mana pun, pengecualian [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaCapturePipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaCapturePipeline.html), dan [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaLiveConnectorPipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaLiveConnectorPipeline.html) APIs akan membuang **Batas Sumber Daya Terlampaui**.

Anda dapat menggunakan halaman **Service Quotas** di AWS konsol untuk menyesuaikan batas saluran aktif Anda, atau Anda dapat menghubungi perwakilan [dukungan pelanggan](https://docs.aws.amazon.com/awssupport/latest/user/getting-started.html) Anda. Untuk informasi selengkapnya tentang batas rapat Amazon Chime SDK, lihat. [Kuota untuk Amazon Chime SDK](meetings-sdk.md#mtg-limits)


| Region | Batas pipa aktif default | 
| --- | --- | 
| us-east-1 | 100 | 
| us-west-2 | 10 | 
| ap-northeast-1 | 10 | 
| ap-northeast-2 | 10 | 
| ap-south-1 | 10 | 
| ap-southeast-1 | 10 | 
| ap-southeast-2 | 10 | 
| ca-central-1 | 10 | 
| eu-central-1 | 10 | 
| eu-west-2 | 10 | 

# Migrasi ke namespace saluran pipa media Amazon Chime SDK
<a name="migrate-pipelines"></a>

Anda menggunakan `ChimeSdkMediaPipelines` namespace untuk menangani titik akhir API pipeline media di AWS Wilayah mana pun yang tersedia. Gunakan namespace ini jika Anda baru mulai menggunakan Amazon Chime SDK. Untuk informasi lebih lanjut tentang Wilayah, lihat [Wilayah AWS yang tersedia untuk Amazon Chime SDK](sdk-available-regions.md) di panduan ini.

Aplikasi yang ada yang menggunakan namespace [Amazon Chime](https://docs.aws.amazon.com/chime/latest/APIReference/API_Operations_Amazon_Chime.html) harus berencana untuk bermigrasi ke namespace khusus.

**Topics**
+ [Alasan untuk memigrasi saluran pipa Anda](#pipeline-migration-reasons)
+ [Sebelum Anda memigrasikan saluran pipa](#migration-prerequisites)

## Alasan untuk memigrasi saluran pipa Anda
<a name="pipeline-migration-reasons"></a>

Kami mendorong Anda untuk bermigrasi ke `ChimeSdkMediaPipelines` namespace karena alasan berikut:

**Pilihan Endpoint API**  
Namespace Amazon Chime SDK Media Capture adalah satu-satunya namespace API yang dapat menggunakan titik akhir API di Wilayah mana pun yang membuatnya tersedia. Untuk informasi lebih lanjut tentang Wilayah, lihat[Wilayah AWS yang tersedia untuk Amazon Chime SDK](sdk-available-regions.md). Jika Anda ingin menggunakan titik akhir API selain`us-east-1`, Anda harus menggunakan `ChimeSdkMediaPipelines` namespace. Untuk informasi lebih lanjut tentang titik akhir saat ini, lihat [Pemetaan API](migrate-from-chm-namespace.md#name-end-map) di panduan ini.

**Saluran media yang diperbarui dan baru APIs**  
Kami hanya menambahkan atau memperbarui pipeline media APIs di `ChimeSdkMediaPipelines` namespace.

## Sebelum Anda memigrasikan saluran pipa
<a name="migration-prerequisites"></a>

Sebelum Anda bermigrasi, perhatikan perbedaan antara ruang nama. Tabel berikut mencantumkan dan menjelaskannya.


| Item | Ruang nama saluran pipa media | Namespace Chime | 
| --- | --- | --- | 
|  Nama namespace  |  ChimeSdkMediaPipelines  |  Lonceng  | 
|  Wilayah  |  Beberapa  |  us-east-1 saja  | 
|  Titik akhir  |  https://media-pipelines-chime. *wilayah .amazonaws.com*  |  https://service.chime.aws.amazon.com  | 
|  Pemimpin layanan  |  mediapipelines.chime.amazonaws.com  |  chime.amazonaws.com  | 
|  APIs  |  Hanya APIs untuk jaringan pipa media  |  APIs untuk jaringan pipa media dan bagian lain dari Amazon Chime  | 
|  Rapat  |  Saluran media di, `us-west-2``ap-southeast-1`, dan `eu-central-1` wilayah hanya berfungsi dengan rapat yang dibuat di namespace Amazon Chime SDK Meetings. Saluran media di `us-east-1` wilayah tersebut bekerja dengan rapat yang dibuat oleh titik akhir pertemuan apa pun di kedua namespace.  |  Saluran media berfungsi dengan rapat yang dibuat oleh titik akhir rapat apa pun di kedua namespace.  | 
| Pipa media aktif default | 100 di Wilayah us-east-1, dan 10 di Wilayah us-west-2, ap-southeast-1, dan eu-central-1.  | 100 di us-east-1 saja. | 
|  Peran terkait layanan  |  AWSServiceRoleForAmazonChimeSDKMediaPipelines  |     | 
|  Tanda  |  Tersedia  |  Tidak tersedia untuk saluran media APIs.  | 
| CloudTrail sumber acara | chime-sdk-media-pipelines.amazonaws.com | chime.amazonaws.com. | 
| Konektor langsung media | Tersedia |  Tidak tersedia untuk saluran media APIs.  | 
| Pengomposisian | Tersedia |  Tidak tersedia untuk saluran media APIs.  | 
| Rangkaian | Tersedia | Tidak tersedia. | 

Daftar berikut memberikan informasi lebih lanjut tentang perbedaan antara Chime dan ruang AWS ChimeSdkMediaPipelines nama.

**Nama namespace**  
Namespace Amazon Chime SDK menggunakan nama formal. `AWS.Chime` Namespace Amazon Chime SDK Media Pipelines menggunakan nama resmi. `AWS.ChimeSDKMediaPipelines` Format nama yang tepat bervariasi menurut platform.  
Misalnya, baris kode Node.js ini membahas `chime` namespace:  

```
const chimeMediaPipelines = AWS.Chime();
```
Untuk bermigrasi ke namespace Media Pipelines SDK, perbarui kode tersebut dengan namespace baru dan wilayah titik akhir.  

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

**Wilayah**  
Namespace Amazon Chime hanya menangani titik akhir API di wilayah US-EAST-1. Namespace Amazon Chime SDK Media Pipelines membahas titik akhir API pipeline media Amazon Chime SDK di Wilayah mana pun yang memilikinya. Untuk daftar Wilayah saluran media saat ini, lihat [Wilayah AWS yang tersedia untuk Amazon Chime SDK](sdk-available-regions.md) di panduan ini.

**Titik akhir**  
Untuk memodifikasi pipeline pengambilan media, Anda harus menggunakan titik akhir yang sama dengan tempat Anda membuat pipeline. Misalnya, jika Anda membuat pipeline melalui titik akhir di eu-central-1, Anda harus menggunakan eu-central-1 untuk berinteraksi dengan pipeline tersebut. Untuk informasi lebih lanjut tentang titik akhir saat ini, lihat [Pemetaan API](migrate-from-chm-namespace.md#name-end-map) di panduan ini.

**Pemimpin layanan**  
Namespace [Amazon Chime SDK Media Pipelines](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_Operations_Amazon_Chime_SDK_Meetings.html) menggunakan prinsip layanan baru:. `mediapipelines.chime.amazonaws.com` Jika Anda memiliki bucket Amazon S3 atau kebijakan IAM lain yang memberikan akses ke layanan, Anda perlu memperbarui kebijakan tersebut untuk memberikan akses ke prinsipal layanan baru.  
Misalnya, saat membuat pipeline media, Anda harus menambahkan izin kebijakan yang tercantum di kepala [Membuat bucket Amazon S3 untuk pipeline pengambilan media Amazon Chime SDK](create-s3-bucket.md) layanan baru. Untuk informasi selengkapnya tentang kebijakan, lihat [elemen kebijakan AWS JSON: Prinsip](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) dalam Panduan Pengguna IAM.

**APIs**  
Namespace Amazon Chime SDK Media Pipelines hanya berisi APIs yang membuat dan mengelola pipeline media. Namespace Amazon Chime mencakup APIs saluran media, rapat, dan bagian lain dari layanan Amazon Chime.

**Rapat**  
Saluran media di wilayah IAD bekerja dengan rapat yang dibuat oleh titik akhir rapat apa pun dengan namespace mana pun.

**Peran terkait layanan**  
Hanya untuk namespace Amazon Chime SDK Media Pipelines. Buat peran *AWSServiceRoleForAmazonChimeSDKMediaPipelines*.

**Tanda**  
[Namespace Amazon Chime SDK Media Pipelines mendukung tag](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_Operations_Amazon_Chime_SDK_Meetings.html). Peran harus memiliki izin untuk memanggil `TagResource` operasi saat memanggil [CreateMediaCapturePipeline](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaCapturePipeline.html)atau [CreateMediaLiveConnectorPipeline](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaLiveConnectorPipeline.html) APIs dengan satu atau beberapa tag.

# Memahami pembuatan pipa media Amazon Chime SDK
<a name="create-pipeline"></a>

Anda mengikuti proses multi-langkah untuk membuat pipeline media Amazon Chime SDK, dan Anda dapat membuat beberapa jenis pipeline. Daftar berikut menguraikan proses pembuatan dan memberikan tautan ke informasi lebih lanjut tentang membuat berbagai jenis jaringan pipa. 
+ Buat bucket Amazon S3. Anda harus membuat bucket di AWS Wilayah yang sama dengan rapat. Untuk informasi lebih lanjut, lihat[Membuat bucket Amazon S3 untuk pipeline pengambilan media Amazon Chime SDK](create-s3-bucket.md).
+ Buat peran terkait layanan bernama. `AWSServiceRoleForAmazonChimeSDKMediaPipelines` Hal ini memungkinkan jaringan media untuk mengakses rapat atas nama Anda. Untuk informasi lebih lanjut, lihat[Membuat peran terkait layanan untuk pipeline media Amazon Chime SDK](create-pipeline-role.md).
+ Buat peran IAM dengan izin yang cukup untuk berinteraksi dengan pipeline media [Amazon Chime SDK](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_Operations_Amazon_Chime_SDK_Media_Pipelines.html). APIs Untuk membuat peran tersebut, sebaiknya tambahkan kebijakan terkelola [AmazonChimeSDK](https://docs.aws.amazon.com/chime-sdk/latest/ag/security_iam_id-based-policy-examples.html#security_iam_id-based-policy-examples-chime-sdk) dari konsol IAM. Kebijakan berisi yang diperlukan APIs.

  Peran IAM Anda juga harus memiliki izin untuk memanggil Amazon [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicy.html)S3 API di semua sumber daya. Contoh berikut menunjukkan kebijakan tipikal untuk melakukannya.

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

****  

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

------

Setelah Anda memiliki item tersebut, lihat topik ini untuk informasi tentang membuat pipeline.
+ [Membuat pipeline pengambilan media untuk rapat Amazon Chime SDK](capture-pipe-config.md)
+ [Membuat pipeline penggabungan media untuk rapat Amazon Chime SDK](create-concat-pipe.md)
+ [Membuat pipeline konektor langsung media untuk rapat Amazon Chime SDK](connector-pipe-config.md)
+ [Membuat pipeline aliran media menggunakan Amazon Chime SDK](create-media-stream-pipeline.md)

# Membuat pipeline pengambilan media untuk rapat Amazon Chime SDK
<a name="capture-pipe-config"></a>

Saluran pengambilan media menangkap aliran berbagi audio, video, dan konten, ditambah acara rapat dan pesan data. Semua pipeline pengambilan media menyimpan datanya ke bucket [Amazon Simple Storage Service](https://aws.amazon.com/s3/) (S3) yang Anda buat. Anda dapat membuat satu pipeline pengambilan media per rapat Amazon Chime SDK.

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

**Topics**
+ [Membuat bucket Amazon S3 untuk pipeline pengambilan media Amazon Chime SDK](create-s3-bucket.md)
+ [Mengaktifkan enkripsi sisi server untuk bucket Amazon S3 untuk saluran pengambilan media Amazon Chime SDK](sse-kms.md)
+ [Mengaktifkan enkripsi sisi server tingkat objek dengan kunci AWS KMS](using-kms-keys-for-encryption.md)
+ [Membuat pipeline pengambilan media Amazon Chime SDK](create-capture-pipe.md)
+ [Bekerja dengan artefak penangkapan media Amazon Chime SDK](artifacts.md)
+ [Mengonfigurasi folder audio untuk pipeline pengambilan media Amazon Chime SDK](configure-audio.md)
+ [Mengonfigurasi folder video untuk saluran pengambilan media Amazon Chime SDK](configure-video.md)
+ [Memahami pesan di folder saluran data untuk pipeline pengambilan media Amazon Chime SDK](data-channel.md)
+ [Memahami struktur folder bucket Amazon S3 untuk pipeline pengambilan media Amazon Chime SDK](capture-folder-structure.md)
+ [Memahami file acara rapat untuk pipeline pengambilan media Amazon Chime SDK](meeting-events.md)
+ [Memahami file transkripsi untuk saluran pengambilan media Amazon Chime SDK](transcription-messages.md)
+ [Menggabungkan aliran data untuk saluran pengambilan media Amazon Chime SDK](concatenate-streams.md)

# Membuat bucket Amazon S3 untuk pipeline pengambilan media Amazon Chime SDK
<a name="create-s3-bucket"></a>

Anda dapat menggunakan konsol Amazon S3 AWS SDKs, atau AWS CLI untuk membuat bucket Amazon S3. Untuk informasi selengkapnya, lihat [Membuat bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html), di Panduan Pengguna *Amazon Simple Storage Service (S3)*.

Bucket Amazon S3 untuk pipeline pengambilan media Anda harus memiliki AWS akun yang sama dengan rapat Amazon Chime SDK. [Selain itu, Anda harus memberikan `s3:PutObject` dan `s3:PutObjectAcl` izin kepada kepala layanan Amazon Chime SDK mediapipelines.chime.amazonaws.com.](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) Anda dapat melakukannya dengan konsol Amazon S3 atau AWS Command Line Interface ()AWS CLI. Bucket Amazon S3 harus milik salah satu Wilayah media [Amazon Chime](https://docs.aws.amazon.com/chime-sdk/latest/dg/sdk-available-regions.html) SDK yang tersedia.

**catatan**  
Pastikan untuk menambahkan kebijakan ke pengguna IAM Anda untuk memberikan akses ke bucket Anda. Selain itu, jika Anda menggunakan Wilayah yang AWS menonaktifkan secara default, Anda harus memiliki bucket Amazon S3 di Wilayah tersebut.  
Secara default, AWS menonaktifkan Wilayah berikut, dan Anda tidak dapat menghosting sumber daya rapat di dalamnya hingga Anda mengaktifkannya:  
Africa (Cape Town)
Asia Pasifik (Hong Kong)
Asia Pasifik (Jakarta)
Europe (Milan)
Timur Tengah (Bahrain)
Jika Anda menggunakan salah satu Wilayah tersebut, ia harus memiliki bucket Amazon S3. Ini berlaku bahkan jika Anda menggunakan Amazon S3 APIs untuk berkomunikasi dengan Wilayah yang tidak diblokir secara default dan sudah memiliki bucket. Untuk informasi selengkapnya tentang mengaktifkan wilayah yang diblokir, lihat [Mengelola Wilayah AWS](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html) di *Referensi Umum AWS*.

Setelah Anda membuat ember, rekam ARN-nya. Anda menggunakannya untuk membuat pipeline pengambilan media.

Contoh berikut menunjukkan kebijakan bucket Amazon S3.

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

****  

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

------

# Mengaktifkan enkripsi sisi server untuk bucket Amazon S3 untuk saluran pengambilan media Amazon Chime SDK
<a name="sse-kms"></a>

Untuk mengaktifkan enkripsi sisi server untuk bucket Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3), Anda dapat menggunakan jenis kunci enkripsi berikut:
+ Kunci terkelola Amazon S3
+ Kunci yang dikelola pelanggan di Layanan Manajemen AWS Kunci (KMS)
**catatan**  
Layanan Manajemen Kunci mendukung dua jenis kunci, kunci yang dikelola pelanggan dan kunci AWS terkelola. Rapat Amazon Chime SDK hanya mendukung kunci yang dikelola pelanggan. 

## Menggunakan kunci terkelola Amazon S3
<a name="s3-keys"></a>

Anda menggunakan konsol Amazon S3, CLI, atau REST API untuk mengaktifkan enkripsi sisi server untuk bucket Amazon S3. Dalam kedua kasus, pilih **Amazon S3 Key sebagai jenis kunci** enkripsi. Tidak diperlukan tindakan lebih lanjut. Saat Anda menggunakan bucket untuk pengambilan media, artefak akan diunggah dan dienkripsi di sisi server. Untuk informasi selengkapnya, lihat [Menentukan enkripsi Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/specifying-s3-encryption.html) di Panduan Pengguna *Amazon S3*. 

## Menggunakan kunci yang Anda miliki
<a name="customer-key"></a>

Untuk mengaktifkan enkripsi dengan kunci yang Anda kelola, Anda perlu mengaktifkan enkripsi sisi server bucket Amazon S3 dengan Kunci yang Dikelola Pelanggan, lalu menambahkan pernyataan ke kebijakan kunci yang memungkinkan Amazon Chime menggunakan kunci dan mengenkripsi artefak apa pun yang diunggah.

1. Buat Kunci yang Dikelola Pelanggan di KMS. *Untuk informasi tentang melakukannya, lihat [Menentukan enkripsi sisi server dengan AWS KMS (SSE-KMS) di Panduan Pengguna Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/specifying-kms-encryption.html).*

1. Tambahkan pernyataan ke kebijakan kunci yang memungkinkan `GenerateDataKey` tindakan menghasilkan kunci untuk digunakan oleh prinsipal layanan Amazon Chime SDK,. `mediapipelines.chime.amazonaws.com`

   Contoh ini menunjukkan pernyataan yang khas.

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

1. Jika Anda menggunakan pipeline penggabungan media, tambahkan pernyataan ke kebijakan kunci yang memungkinkan prinsipal layanan Amazon Chime SDK, `mediapipelines.chime.amazonaws.com` untuk menggunakan tindakan tersebut. `kms:Decrypt`

1. Konfigurasikan bucket Amazon S3 untuk mengaktifkan enkripsi sisi server dengan kunci.

# Mengaktifkan enkripsi sisi server tingkat objek dengan kunci AWS KMS
<a name="using-kms-keys-for-encryption"></a>

Media Capture Pipeline dan Media Concatenation Pipeline dapat menggunakan AWS Key Management Service (AWS KMS) kunci yang dikelola pelanggan untuk mengaktifkan enkripsi sisi server (SSE) untuk objek individual dalam bucket Amazon S3. Untuk mengonfigurasi ini, Anda harus menggunakan panggilan [CreateMediaCapturePipeline](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaCapturePipeline.html)API. Media Concatenation Pipeline akan menggunakan parameter enkripsi sisi server dari Media Capture Pipeline terkait.

Untuk mengaktifkan SSE untuk objek individual (SSE tingkat objek) menggunakan kunci terkelola AWS KMS pelanggan Anda, Anda harus menyediakan `SseAwsKeyManagementParams` struktur dan `SinkIamRoleArn` selama panggilan API: [CreateMediaCapturePipeline](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaCapturePipeline.html)

1. Gunakan `AwsKmsKeyId` parameter dalam `SseAwsKeyManagementParams` struktur untuk menentukan AWS KMS kunci. Anda dapat menentukan ID kunci menggunakan ID kunci, ARN, atau alias.

1. Gunakan `SinkIamRoleArn` parameter untuk menentukan peran IAM untuk mengakses AWS KMS kunci dan bucket Amazon S3 sink.

1. Secara opsional, Anda dapat menggunakan `AwsKmsEncryptionContext` parameter dalam `SseAwsKeyManagementParams` struktur untuk menentukan konteks enkripsi yang akan digunakan bersama dengan artefak AWS KMS kunci untuk meningkatkan keamanan.

**catatan**  
`SinkIamRoleArn`Parameter `AwsKmsKeyId` dan saling bergantung. Jika keduanya ada dan valid, Media Capture Pipeline akan mengambil peran dan menempatkan setiap artefak ke dalam bucket-sink Amazon S3 yang ditentukan dengan kunci yang ditentukan. AWS KMS Panggilan [CreateMediaConcatenationPipeline](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaConcatenationPipeline.html)API tidak memiliki parameter baru tetapi akan menggunakan parameter yang disebutkan di atas jika ditentukan. Jika Anda berencana menggabungkan artefak, pastikan konfigurasi sumber daya Anda diatur seperti yang dijelaskan di [Konfigurasi](#using-kms-keys-for-encryption-config) bagian berikut, dan persisten dari waktu ke waktu.

## Konfigurasi
<a name="using-kms-keys-for-encryption-config"></a>

`SinkIamRoleArn`Harus memiliki izin dan akses yang sama dengan prinsipal untuk memasukkan artefak ke dalam bucket Amazon S3. Untuk informasi selengkapnya tentang izin default yang diharapkan di bucket Amazon S3, [lihat Membuat bucket Amazon S3 untuk Amazon Chime SDK](https://docs.aws.amazon.com/chime-sdk/latest/dg/create-s3-bucket.html) Media Capture Pipelines. Untuk mengaktifkan SSE untuk objek individual, bucket Amazon S3 Anda harus mengizinkan peran IAM yang ditentukan menggunakan `SinkIamRoleArn` untuk melakukan serangkaian tindakan yang sama yang Anda harapkan dari identitas IAM pemanggilan. Anda dapat mencapainya dengan menambahkan prinsipal berikut ke kebijakan izin bucket Amazon S3 Anda.

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

`AwsKmsKeyId`Harus menunjuk ke kunci yang memungkinkan `SinkIamRoleArn` untuk melakukan`GenerateDataKey`. Jika Media Concatenation Pipeline akan digunakan, AWS KMS kunci juga harus mengizinkan penggunaan tindakan. `Decrypt` Lihat contoh berikut ini.

**catatan**  
Sumber daya diatur untuk menggunakan wildcard`“*”`, yang dalam konteks kebijakan AWS KMS kunci ini menandakan “dirinya sendiri”.

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

`SinkIamRoleArn`Peran tersebut harus memiliki hubungan kepercayaan yang memungkinkan layanan untuk mengasumsikan itu. Lihat contoh berikut ini.

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

`SinkIamRoleArn`Harus memiliki kebijakan izin minimum berikut untuk Media Capture Pipeline. Lihat contoh berikut ini.

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

Selain itu, penelepon harus diizinkan untuk lolos `SinkIamRoleArn` ke layanan. Dalam kasus ketika penelepon tidak memiliki izin seperti itu, itu harus ditambahkan secara eksplisit. Lihat contoh berikut ini.

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

## Implementasi penggabungan media
<a name="media-concatenation-implementatoin"></a>

Jika Anda berencana menggunakan Media Concatenation Pipeline setelah Pengambilan Media, lihat [Membangun pipeline penggabungan media Amazon Chime SDK](create-concat-pipe-steps.md) untuk memahami izin yang diperlukan. Agar pipeline berfungsi dengan AWS KMS kunci untuk SSE tingkat objek, `SinkIamRoleArn` izin (tindakan yang diizinkan) harus diperluas untuk kunci dan bucket AWS KMS Amazon S3. Lihat contoh berikut ini.

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

# Membuat pipeline pengambilan media Amazon Chime SDK
<a name="create-capture-pipe"></a>

Setelah membuat dan mengonfigurasi bucket atau bucket Amazon S3, Anda membuat pipeline pengambilan media.

**Untuk membuat pipeline pengambilan media**
+ Panggil [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaCapturePipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaCapturePipeline.html)API.

  Gunakan bucket ARN sebagai parameter. `SinkArn`

Setelah berhasil, Amazon Chime SDK membuat peserta yang bergabung dan menangkap rapat.

Setelah membuat pipeline pengambilan media dan menyetel izinnya, Anda membuat pipeline penggabungan media untuk menggabungkan potongan media 5 detik menjadi satu file. Untuk informasi lebih lanjut, lihat[Membuat pipeline penggabungan media untuk rapat Amazon Chime SDK](create-concat-pipe.md), nanti di bagian ini.

# Bekerja dengan artefak penangkapan media Amazon Chime SDK
<a name="artifacts"></a>

Selama rapat Amazon Chime SDK, pipeline pengambilan media membuat jenis artefak berikut. 
+ Audio
+ Video
+ Pesan saluran data
+ Acara pertemuan
+ Pesan transkripsi

Pipeline membuat artefak dalam satu set folder di bucket Amazon S3 Anda, dan Anda dapat mengonfigurasi folder audio dan video untuk membatasi jenis artefak tertentu. Bagian berikut menjelaskan struktur folder, cara mengonfigurasi folder, cara mengatur izin untuk bucket Amazon S3 Anda, dan cara menggabungkan file artefak.

# Mengonfigurasi folder audio untuk pipeline pengambilan media Amazon Chime SDK
<a name="configure-audio"></a>

Folder audio berisi MP4 file 5 detik dari aliran audio campuran, yang berarti mereka berisi audio dari semua peserta, ditambah video speaker aktif. Folder berisi file untuk seluruh rapat. Seperti yang diinginkan, Anda dapat mengonfigurasi folder untuk hanya berisi artefak audio. Setiap nama file berisi *yyyy-mm-dd-hour- min-seconds-milleseconds* stempel waktu. Stempel waktu ada di UTC, dan ini menandai waktu mulai. Anda dapat mengonfigurasi folder agar hanya berisi artefak audio.

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

# Mengonfigurasi folder video untuk saluran pengambilan media Amazon Chime SDK
<a name="configure-video"></a>

Folder video berisi MP4 file 5 detik yang berisi aliran video, ditambah aliran berbagi konten jika ditentukan dalam permintaan API. Setiap nama file berisi <attendeeID>stempel waktu < yyyy-mm-dd-hour - min-seconds-milleseconds >- dengan ID peserta. Potongan video berbagi konten ditambahkan sebagai < min-seconds-milleseconds -> yyyy-mm-dd-hour - <attendeeID>\$1content .mp4. Anda dapat mengonfigurasi folder agar hanya berisi artefak video.

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

# Memahami pesan di folder saluran data untuk pipeline pengambilan media Amazon Chime SDK
<a name="data-channel"></a>

Folder data-channel berisi pesan data dalam format.txt, dan setiap pesan adalah objek JSON. Pesan terlihat dengan semua opsi konfigurasi. Nama file berisi *yyyy-mm-dd-hour- min-seconds-milleseconds* stempel waktu. Contoh ini menunjukkan bidang data dalam pesan.

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

# Memahami struktur folder bucket Amazon S3 untuk pipeline pengambilan media Amazon Chime SDK
<a name="capture-folder-structure"></a>

Bucket Amazon S3 untuk pipeline pengambilan media menggunakan struktur folder ini.

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

# Memahami file acara rapat untuk pipeline pengambilan media Amazon Chime SDK
<a name="meeting-events"></a>

Folder acara pertemuan berisi peristiwa pertemuan dalam format.txt, dan setiap acara adalah objek JSON. Pesan terlihat dengan semua opsi konfigurasi. Nama file berisi stempel waktu < yyyy-mm-dd-hour min-seconds-milleseconds ->. Contoh ini menunjukkan bidang dan data dalam file peristiwa yang khas.

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

# Memahami file transkripsi untuk saluran pengambilan media Amazon Chime SDK
<a name="transcription-messages"></a>

Folder transkripsi-pesan berisi file transkripsi dalam format.txt. Namun, folder hanya menerima file saat Anda mengaktifkan transkripsi langsung. Untuk informasi lebih lanjut tentang mengaktifkan transkripsi langsung, lihat. [Menggunakan transkripsi langsung Amazon Chime SDK](meeting-transcription.md)

Folder mencakup semua pesan transkripsi sebagian dan lengkap, dan setiap pesan adalah objek JSON. Nama file berisi stempel waktu < yyyy-mm-dd-hour min-seconds-milleseconds ->. Anda dapat melihat contoh file transkripsi di[Memproses acara transkrip langsung Amazon Chime SDK yang diterima](delivery-examples.md).

# Menggabungkan aliran data untuk saluran pengambilan media Amazon Chime SDK
<a name="concatenate-streams"></a>

**catatan**  
Untuk mengotomatiskan proses penggabungan artefak penangkapan media, lihat dalam panduan ini. [Membuat pipeline penggabungan media untuk rapat Amazon Chime SDK](create-concat-pipe.md)

Contoh ini menggunakan ffmpeg untuk menggabungkan file video atau audio menjadi satu file mp4. Pertama, buat file filelist.txt yang berisi semua file input. Gunakan format ini: 

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

Selanjutnya, gunakan perintah ini untuk menggabungkan file input:

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

Untuk informasi lebih lanjut tentang jaringan pipa penggabungan media, lihat di panduan ini. [Membuat pipeline penggabungan media untuk rapat Amazon Chime SDK](create-concat-pipe.md)

# Membuat pipeline penggabungan media untuk rapat Amazon Chime SDK
<a name="create-concat-pipe"></a>

Anda menggunakan jaringan pipa penggabungan media untuk menggabungkan artefak (file) yang dihasilkan oleh pipeline penangkapan media.

Saluran pengambilan media menangkap konten rapat dengan memotong aliran media dan menyimpan artefak tersebut di bucket Amazon S3 Anda. Pipa penangkapan media membuat jenis artefak berikut: 
+ Audio
+ Video
+ Berbagi konten
+ Pesan saluran data
+ Pesan transkripsi
+ Acara pertemuan
+ Video komposit, artinya berbagi konten dan beberapa aliran video ditampilkan dalam kisi sebagai ubin video.

Saluran penggabungan media memungkinkan Anda menggabungkan setiap jenis artefak menjadi satu file, lalu menyimpan file yang lebih besar itu di bucket Amazon S3 Anda. Anda dapat membuat pipeline penggabungan media tanpa menunggu acara pengambilan media berakhir, tetapi pipeline penggabungan hanya mulai digabungkan saat pipeline pengambilan berhenti.

**catatan**  
Pipa penangkap media, jaringan pipa penggabungan media, dan bucket Amazon S3 harus berada di akun yang sama. AWS 

**Topics**
+ [Arsitektur pipa penggabungan Amazon Chime SDK](concat-architecture.md)
+ [Membangun pipeline penggabungan media Amazon Chime SDK](create-concat-pipe-steps.md)
+ [Memahami struktur folder bucket Amazon S3 untuk pipeline penggabungan Amazon Chime SDK](concat-folder-structure.md)

# Arsitektur pipa penggabungan Amazon Chime SDK
<a name="concat-architecture"></a>

Diagram berikut menunjukkan arsitektur pipa rangkaian media.

![\[Diagram yang menunjukkan arsitektur pipa rangkaian media.\]](http://docs.aws.amazon.com/id_id/chime-sdk/latest/dg/images/concatenation-pipe-architecture-2.png)


Dalam diagram, saat menerima [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaCapturePipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaCapturePipeline.html)permintaan, bidang kontrol pipa media memulai pipa penangkapan media di bidang data pipa media. Pesawat data kemudian mendorong potongan yang ditangkap ke ember penangkapan setiap 5 detik. Saat menerima [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaConcatenationPipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaConcatenationPipeline.html)permintaan, bidang kontrol pipa media menunggu pipa pengambilan media yang ditentukan selesai, kemudian memulai pipa penggabungan media di bidang data pipa media. Bidang data kemudian membaca potongan yang ditangkap di ember dan mendorong artefak gabungan ke ember penggabungan.

# Membangun pipeline penggabungan media Amazon Chime SDK
<a name="create-concat-pipe-steps"></a>

Anda mengikuti proses multi-langkah untuk membuat pipeline penggabungan media Amazon Chime SDK. Langkah-langkah berikut menjelaskan prosesnya.

1. Buat bucket Amazon S3 untuk digunakan sebagai sink data pipeline pengambilan media, lalu konfigurasikan kebijakan bucket. Untuk informasi tentang mengaktifkan enkripsi sisi server untuk bucket Amazon S3, lihat [Mengaktifkan enkripsi sisi server untuk bucket Amazon S3 Amazon dalam panduan ini](https://docs.aws.amazon.com/chime-sdk/latest/dg/sse-kms.html). Jika Anda membuat bucket Amazon Amazon S3 untuk digunakan dengan pipeline pengambilan media, Anda harus menambahkan `s3:GetObject` dan `s3:ListBucket` tindakan ke kebijakan bucket tersebut. `s3:ListBucket`Tindakan ini membutuhkan izin pada ember. Tindakan lain memerlukan izin pada objek di ember. Anda harus menggunakan dua Amazon Resource Names (ARNs) yang berbeda untuk menentukan izin tingkat ember dan tingkat objek.

   Contoh berikut menunjukkan kebijakan bucket. Salin dan tempel contoh ini sesuai kebutuhan.

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

****  

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

------

1.  Buat bucket Amazon S3 Amazon untuk digunakan sebagai sink data pipeline rangkaian media, lalu konfigurasikan kebijakan bucket. Untuk informasi tentang mengaktifkan enkripsi sisi server untuk bucket Amazon S3, lihat [Mengaktifkan enkripsi sisi server untuk bucket Amazon S3 Amazon dalam panduan ini](https://docs.aws.amazon.com/chime-sdk/latest/dg/sse-kms.html). 

   Contoh berikut menunjukkan kebijakan.

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

****  

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

------
**catatan**  
Anda dapat menggunakan satu bucket Amazon S3 untuk pengambilan media dan jaringan pipa penggabungan media. Namun, jika melakukannya, Anda harus menambahkan `s3:ListBucket` izin `s3:GetObject` dan ke kebijakan bucket penggabungan media yang ditampilkan pada langkah 2. Jika Anda tidak ingin kebijakan bucket penggabungan memiliki izin tersebut, buat bucket terpisah untuk setiap pipeline. 

1. Gunakan [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaCapturePipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaCapturePipeline.html)API untuk membuat pipeline pengambilan media. Sebagai bagian dari itu, dapatkan ARN pipa. Untuk informasi tentang mendapatkan ARN, lihat. [Memahami pembuatan pipa media Amazon Chime SDK](create-pipeline.md) Anda menggunakan ARN di langkah berikutnya.

1. Gunakan [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaConcatenationPipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaConcatenationPipeline.html)API untuk membuat pipeline penggabungan.

   Contoh berikut menunjukkan badan permintaan. *Path*Bidang ini opsional, dan default ke ID pipeline penggabungan.
**catatan**  
Anda harus menggunakan yang `MediaPipelineArn` dibuat dalam 30 hari terakhir.

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

   Penggabungan dimulai setiap kali pipa penangkapan berhenti. Pipa penggabungan berhenti setelah menyelesaikan penggabungan.

# Memahami struktur folder bucket Amazon S3 untuk pipeline penggabungan Amazon Chime SDK
<a name="concat-folder-structure"></a>

Bucket Amazon S3 untuk jaringan pipa penggabungan media menggunakan struktur folder ini:

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

**catatan**  
Jika Anda menentukan awalan saat membuat pipeline media, jalur ke folder menjadi *nama bucket*/*awalan*. Tanpa awalan, path menjadi *nama bucket*/*media pipeline ID*. Anda menentukan awalan di `Destination` bidang `S3BucketSinkConfiguration` objek. Nama file gabungan terdiri dari ID pipa media .mp4 untuk file *media dan ID pipa* media .txt untuk file *teks*.

# Membuat pipeline konektor langsung media untuk rapat Amazon Chime SDK
<a name="connector-pipe-config"></a>

Bagian berikut mencantumkan dan menjelaskan pengaturan Real-Time Messaging Protocol (RTMP), audio, dan video untuk saluran konektor media live.

**Pengaturan RTMP**  
Pipa konektor langsung media mendukung RTMP melalui koneksi TLS/SSL . URL sink terdiri dari URL aliran dan kunci aliran. Berikut URLs format ini:

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

Contoh berikut menunjukkan cara terhubung ke platform streaming umum.
+ **Layanan Video Interaktif Amazon (IVS)** - rtmps: //a1b2c3d4e5f6.global-contribute.live-video.net:443/app/ *IVS-stream-key*
+ **YouTube**— rtmps: //a.youtube.com/live2/ *stream-key*
+ **Kedutan - rtmps: //live.twitch.tv/app/** *primary-stream-key*

**penting**  
RTMPS menggunakan enkripsi untuk membantu memastikan bahwa aliran tidak dicegat oleh entitas yang tidak sah. Sebagai praktik terbaik, gunakan RTMPS saat Anda membutuhkan keamanan data tambahan.

**Pengaturan audio**  
Pipa konektor langsung media mendukung pengaturan audio berikut:
+ **Codec — AAC**
+ **Tingkat sampel** - 44100 Hz atau 48000 Hz. Defaultnya adalah 44100Hz.
+ **Saluran** — Mono atau stereo. Defaultnya adalah mono.

**Pengaturan video**  
Pipa konektor langsung media menggunakan encoder H264. Anda dapat menggunakan HD pada 1280x720 atau FHD pada 1920x1080. Kedua resolusi menggunakan 30 frame per detik, dengan keyframe setiap dua detik.

**Menghentikan jaringan pipa konektor langsung media**  
Sebagai praktik terbaik untuk menghentikan saluran pipa konektor langsung media, hubungi [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. Mengakhiri streaming pada platform streaming seperti IVS tidak menghentikan saluran konektor langsung media.

# 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*.

# Mengomposisikan audio dan video ke dalam satu tampilan dalam rapat Amazon Chime SDK
<a name="pipeline-compositing"></a>

Pipeline media Amazon Chime SDK mendukung pengomposisian audio, video webcam, dan streaming video berbagi konten ke dalam satu tampilan. Anda kemudian dapat menggunakan konektor langsung untuk mengirim tampilan tunggal itu ke layanan streaming seperti Amazon Interactive Video Service, Twitch, atau YouTube Live. Video komposit juga dapat direkam ke Amazon Simple Storage Service untuk penyimpanan atau konsumsi lebih lanjut.

Pengomposisian menggunakan tata letak layar default yang disebut`GridView`, yang memiliki perilaku berikut. 
+ Jika hanya video webcam yang aktif, `GridView` atur aliran dalam pola kisi berikut:  
![\[Kisi empat kolom, empat baris yang menunjukkan garis besar orang.\]](http://docs.aws.amazon.com/id_id/chime-sdk/latest/dg/images/grid-no-content-share.png)

  Grid menampilkan maksimum 25 aliran webcam, dan memesan ubin saat pengguna menyalakan kamera mereka.
+ `GridView`menyediakan dua orientasi kanvas, `Landscape` dan`Portrait`. Landscape, orientasi default, mendukung resolusi video 1280x720 dan 1920x1080 untuk FHD. Potret mendukung resolusi 720x1280 dan 1080x1920 untuk FHD.
+ Anda dapat mengonfigurasi urutan, posisi, jumlah total, rasio aspek ubin, radius sudut, warna batas, ketebalan batas, dan warna sorotan ubin video.
+ Selama rapat, ketika seseorang membagikan layarnya, ubin video webcam bertransisi secara dinamis untuk memberi ruang bagi pembagian konten. Anda mengontrol transisi tersebut, dan lokasi ubin video, dengan menggunakan salah satu konfigurasi tata letak yang dijelaskan di bagian berikutnya.

**Tentang konfigurasi tata letak**  
Ketika seseorang memulai berbagi konten, Anda dapat memilih cara menggabungkan pembagian konten dan aliran video webcam dengan menggunakan salah satu konfigurasi tata letak berikut.
+ `ActiveSpeakerOnlyConfiguration`komposit video konten layar penuh, dengan video webcam speaker aktif yang dilapis di sudut. Anda dapat menentukan sudut.
+ `PresenterOnlyConfiguration`komposit video konten layar penuh, dengan video webcam presenter dilapis di sudut. Anda dapat menentukan sudut.
+ `VerticalLayoutConfiguration`komposit video konten dengan video webcam di kolom vertikal yang berdekatan. Anda dapat menampilkan kolom di sebelah kanan atau kiri berbagi konten.
+ `HorizontalLayoutConfiguration`komposit video konten dengan video webcam dalam baris horizontal yang berdekatan. Anda dapat menampilkan baris di atas atau di bawah pembagian konten.

Tata letak yang dikomposisikan secara otomatis bertransisi antara `GridView` dan tata letak yang Anda pilih, berdasarkan apakah pembagian konten aktif atau tidak.

Topik berikut menjelaskan cara menggunakan `GridView` pengaturan global dan setiap tata letak konfigurasi.

**Topics**
+ [Menyetel orientasi kanvas untuk pengomposisian dalam rapat Amazon Chime SDK](canvas-orientation.md)
+ [Menyetel atribut batas dan sudut untuk pengomposisian dalam rapat Amazon Chime SDK](video-attribute.md)
+ [Menggunakan konfigurasi tata letak untuk pengomposisian dalam rapat Amazon Chime SDK](compositing-layouts.md)

# Menyetel orientasi kanvas untuk pengomposisian dalam rapat Amazon Chime SDK
<a name="canvas-orientation"></a>

Dalam pengomposisian, *kanvas* berisi semua aliran video Anda. Anda dapat menentukan `Landscape` atau `Portrait` orientasi untuk kanvas. Lanskap memberikan rasio aspek 16:9. Potret memberikan rasio aspek 9:16.

Gambar berikut menunjukkan orientasi potret.

![\[Gambar yang menunjukkan dua ubin video di jendela potret (vertikal).\]](http://docs.aws.amazon.com/id_id/chime-sdk/latest/dg/images/compositing-portrait-with-tile.png)


Contoh berikut menunjukkan bagaimana menerapkan kanvas potret dengan ubin video di sudut kanan atas. Dalam contoh ini, speaker aktif muncul di ubin. Untuk informasi selengkapnya, lihat [ActiveSpeakerOnlyConfiguration](compositing-layouts.md#active-speaker-only)

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

Gambar berikut menunjukkan orientasi lanskap.

![\[Gambar yang menunjukkan dua ubin video di jendela lanskap (horizontal).\]](http://docs.aws.amazon.com/id_id/chime-sdk/latest/dg/images/compositing-landscape-with-tile.png)


**CanvasOrientation**  
*Deskripsi* — Pengaturan orientasi, Lanskap atau Potret.  
*Nilai yang diizinkan* - `Landscape` \$1 `Portrait`  
*Diperlukan* - Tidak  
*Default* — Lanskap

# Menyetel atribut batas dan sudut untuk pengomposisian dalam rapat Amazon Chime SDK
<a name="video-attribute"></a>

Seperti yang diinginkan, Anda dapat menggunakan `VideoAttribute` parameter untuk menentukan pengaturan perbatasan dan sudut untuk ubin video Anda. Anda dapat menentukan warna, lebar, dan sudut membulat. Anda juga dapat menentukan warna sorotan, dan batas berubah menjadi warna itu ketika seseorang berbicara. 

Pengaturan atribut Anda berlaku untuk semua tata letak, terlepas dari berbagi konten.

Gambar berikut menunjukkan ubin video dengan warna perbatasan dan radius sudut diterapkan.

![\[Gambar berbagi layar dan ubin video dengan batas merah dan sudut membulat.\]](http://docs.aws.amazon.com/id_id/chime-sdk/latest/dg/images/compositing-speaker-border.png)


Contoh berikut menunjukkan bagaimana menggunakan setiap atribut. Dalam hal ini, ubin video memiliki sudut membulat dengan radius lima piksel. Ubin memiliki batas hijau, juga lebar lima piksel. Saat pembicara berbicara, `HighlightColor` atribut mengubah warna batas menjadi merah.

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

**VideoAttribute**  
*Deskripsi* - Menentukan pengaturan untuk perbatasan ubin video dan sudut membulat  
*Nilai yang diizinkan* - `BorderColor` \$1 `BorderThickness` \$1 `CornerRadius` \$1 `HighlightColor`  
*Diperlukan* - Tidak

**VideoAttribute.BorderColor**  
*Deskripsi* - Mendefinisikan warna perbatasan untuk semua ubin video  
*Nilai yang diizinkan* - Nama warna, seperti Merah, Hijau, atau Biru  
*Diperlukan* - Tidak

**VideoAttribute.BorderThickness**  
*Deskripsi* - Mendefinisikan ketebalan batas dalam piksel untuk semua ubin video  
*Jenis* - Integer  
*Nilai yang diizinkan* - 1—20  
*Diperlukan* - Tidak

**VideoAttribute.CornerRadius**  
*Deskripsi* - Mendefinisikan radius sudut dalam piksel untuk semua ubin video.   
*Jenis* - Integer  
*Nilai yang diizinkan* - 1—20  
*Diperlukan* - Tidak

**VideoAttribute.HighlightColor**  
*Deskripsi* - Mendefinisikan warna batas yang muncul saat presenter atau pembicara berbicara  
*Nilai yang diizinkan* - Nama warna, seperti Merah, Hijau, atau Biru  
*Diperlukan* - Tidak

# Menggunakan konfigurasi tata letak untuk pengomposisian dalam rapat Amazon Chime SDK
<a name="compositing-layouts"></a>

Topik berikut menjelaskan cara menggunakan tata letak konfigurasi yang berbeda. Tata letak hanya berlaku ketika seseorang memulai berbagi konten. Perluas setiap bagian untuk mempelajari lebih lanjut.

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

`ActiveSpeakerOnlyConfiguration`menampilkan pembagian konten dan video pembicara aktif, artinya orang yang berbicara muncul di ubin video kecil yang melapisi aliran berbagi konten.

Gambar berikut menunjukkan konfigurasi dan lokasi yang tersedia untuk ubin speaker.

![\[Gambar menunjukkan ubin video besar di tengah jendela dan ubin kecil di kiri atas.\]](http://docs.aws.amazon.com/id_id/chime-sdk/latest/dg/images/compositing-active-speaker-4x.png)


Contoh berikut menunjukkan bagaimana menerapkan `ActiveSpeakerOnly` tata letak secara terprogram. Dalam hal ini, ubin presenter muncul di sudut kiri atas.

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

**ActiveSpeakerOnlyConfiguration**  
*Deskripsi* - Pengaturan konfigurasi untuk ubin `ActiveSpeakerOnly` video  
*Jenis* - ActiveSpeakerOnlyConfiguration objek  
*Diperlukan* - Tidak

**ActiveSpeakerOnlyConfiguration.ActiveSpeakerPosition**  
*Deskripsi* — Posisi ubin video speaker aktif  
*Jenis* - String  
*Nilai yang valid* - `TopLeft` \$1 `TopRight` \$1 `BottomLeft` \$1 `BottomRight`  
*Diperlukan* - Tidak  
*Default* - `TopRight`

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

`PresenterOnlyConfiguration`menampilkan berbagi konten dan hanya video presenter terlepas dari siapa yang berbicara. Gambar berikut menunjukkan konfigurasi.

![\[Gambar empat layar. Setiap layar memiliki jendela berbagi di tengah dan ubin video di setiap sudut.\]](http://docs.aws.amazon.com/id_id/chime-sdk/latest/dg/images/compositing-presenter-only-4x.png)


Contoh berikut menunjukkan bagaimana menerapkan tata letak terprogram dengan presenter di kanan atas.

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

**PresenterOnlyConfiguration**  
*Deskripsi* - Pengaturan konfigurasi untuk tata `PresenterOnly` letak  
*Jenis* - `PresenterOnlyConfiguration` objek  
*Diperlukan* - Tidak

**PresenterOnlyConfiguration.PresenterPosition**  
*Deskripsi* — Posisi ubin video presenter  
*Jenis* - String  
*Nilai yang valid* - `TopLeft` \$1 `TopRight` \$1 `BottomLeft` \$1 `BottomRight`  
*Diperlukan* - Tidak  
*Default* - `TopRight`

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

`HorizontalLayoutConfiguration`menampilkan berbagi konten dan aliran video secara horizontal. Anda dapat menggunakan `TilePosition` pengaturan untuk menampilkan ubin di atas atau di bawah aliran berbagi konten. Presenter selalu muncul di sebelah kiri. Ubin tambahan muncul dalam urutan yang ditentukan oleh`JoinSequence`. 

Gambar berikut menunjukkan ubin di bawah aliran berbagi konten.

![\[Gambar menunjukkan ubin tengah besar dan 4 ubin kecil dalam garis di bawah.\]](http://docs.aws.amazon.com/id_id/chime-sdk/latest/dg/images/compositing-horizontal-bottom.png)


Contoh berikut menunjukkan bagaimana menerapkan tata letak horizontal secara terprogram. Dalam hal ini, tata letak memesan ubin `SpeakerSequence` dan menempatkannya di bawah pangsa layar. Tata letak memungkinkan maksimal empat ubin dan menerapkan rasio aspek 16/9.

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

**HorizontalLayoutConfiguration**  
*Deskripsi* - Pengaturan konfigurasi untuk tata letak horizontal  
*Jenis* - HorizontalLayoutConfiguration objek  
*Diperlukan* - Tidak

**HorizontalLayoutConfiguration.TilePosition**  
*Deskripsi* — Menempatkan ubin di atas atau di bawah pembagian konten.  
*Jenis* - String  
*Nilai yang valid* - `Bottom` \$1 `Top`  
*Diperlukan* - Tidak  
*Default* - Bawah

**HorizontalLayoutConfiguration.TileOrder**  
*Deskripsi* — Memesan ubin berdasarkan saat pengguna bergabung atau saat mereka berbicara  
*Jenis* - String  
*Nilai yang valid* - `JoinSequence` \$1 `SpeakerSequence`  
*Diperlukan* - Tidak  
*Default* - JoinSequence

**HorizontalLayoutConfiguration.TileCount**  
*Deskripsi* - Menentukan jumlah ubin yang tetap terlihat selama berbagi layar  
*Jenis* - Integer  
*Nilai yang valid* - 1—10  
*Diperlukan* - Tidak  
*Default* - 4

**HorizontalLayoutConfiguration.TileAspectRatio**  
*Deskripsi* - Menentukan rasio aspek ubin  
*Jenis* - Integer  
*Nilai yang valid* - *n***/***n*  
*Diperlukan* - Tidak  
*Default* - 16/9, nilai berlaku untuk semua ubin

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

`VerticalLayoutConfiguration`menampilkan berbagi konten dan empat video terbaru yang ditumpuk di sebelah kanan. Presenter selalu muncul di atas. Peserta lain muncul dalam urutan yang ditentukan oleh. `TileOrder`

![\[Gambar menunjukkan ubin video besar di tengah jendela dan 4 ubin kecil ditumpuk di sebelah kanan.\]](http://docs.aws.amazon.com/id_id/chime-sdk/latest/dg/images/grid-vertical.png)


Contoh berikut menunjukkan bagaimana menerapkan tata letak vertikal secara terprogram. Dalam hal ini, tata letak memesan ubin JoinSequence dan menempatkannya di sebelah kanan berbagi layar. Tata letak memungkinkan maksimal empat ubin dan menerapkan rasio aspek 16/9.

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

**VerticalLayoutConfiguration**  
*Deskripsi* - Pengaturan konfigurasi untuk tata letak vertikal  
*Jenis* - VerticalLayoutConfiguration objek  
*Diperlukan* - Tidak

**VerticalLayoutConfiguration.TilePosition**  
*Deskripsi* — Menempatkan ubin di sebelah kanan atau kiri berbagi konten.  
*Jenis* - String  
*Nilai yang valid* - `Bottom` \$1 `Top`  
*Diperlukan* - Tidak  
*Default* - Bawah

**VerticalLayoutConfiguration.TileOrder**  
*Deskripsi* — Memesan ubin berdasarkan saat pengguna bergabung atau saat mereka berbicara  
*Jenis* - String  
*Nilai yang valid* - `JoinSequence` \$1 `SpeakerSequence`  
*Diperlukan* - Tidak  
*Default* - JoinSequence

**VerticalLayoutConfiguration.TileCount**  
*Deskripsi* - Menentukan jumlah ubin  
*Jenis* - Integer  
*Nilai yang valid* - 1—10  
*Diperlukan* - Tidak  
*Default* - 4

**VerticalLayoutConfiguration.TileAspectRatio**  
*Deskripsi* - Menentukan rasio aspek ubin  
*Jenis* - Integer  
*Nilai yang valid* - *n***/***n*  
*Diperlukan* - Tidak  
*Default* - 9/16, nilai berlaku untuk semua ubin

# Membuat peran terkait layanan untuk pipeline media Amazon Chime SDK
<a name="create-pipeline-role"></a>

Informasi di bagian berikut menjelaskan cara membuat peran terkait layanan yang memberikan akses saluran media ke rapat Amazon Chime SDK Anda.

**Topics**
+ [Mengatur izin peran](#pipeline-role-permissions)
+ [Membuat peran terkait layanan](#create-sl-role)
+ [Mengedit peran terkait layanan](#edit-pipeline-role)
+ [Menghapus peran tertaut layanan](#delete-pipeline-role)
+ [Wilayah yang mendukung peran terkait layanan](#role-supported-regions)

## Mengatur izin peran
<a name="pipeline-role-permissions"></a>

*jaringan pipa media menggunakan peran terkait layanan bernama Pipelines. AWSService RoleForAmazonChime SDKMedia* Peran ini memungkinkan pipeline capture untuk mengakses rapat Amazon Chime SDK dan mempublikasikan metrik ke Amazon CloudWatch atas nama Anda. Peran mempercayai `mediapipelines.chime.amazonaws.com` layanan.

Kebijakan izin peran memungkinkan Amazon Chime SDK menyelesaikan tindakan berikut di semua sumber daya: AWS 
+ Tindakan: `cloudwatch:PutMetricData` pada `all AWS resources`
+ Tindakan: `chime:CreateAttendee` pada `all AWS resources`
+ Tindakan: `chime:DeleteAttendee` pada `all AWS resources`
+ Tindakan: `chime:GetMeeting` pada `all AWS resources`
+ Tindakan: `kinesisvideo:CreateStream` pada `arn:aws:kinesisvideo:*:111122223333:stream/ChimeMediaPipelines-*`
+ Tindakan: `kinesisvideo:PutMedia` pada `arn:aws:kinesisvideo:*:111122223333:stream/ChimeMediaPipelines-*`
+ Tindakan: `kinesisvideo:UpdateDataRetention` pada `arn:aws:kinesisvideo:*:111122223333:stream/ChimeMediaPipelines-*`
+ Tindakan: `kinesisvideo:DescribeStream` pada `arn:aws:kinesisvideo:*:111122223333:stream/ChimeMediaPipelines-*`
+ Tindakan: `kinesisvideo:GetDataEndpoint` pada `arn:aws:kinesisvideo:*:111122223333:stream/ChimeMediaPipelines-*`
+ Tindakan: `kinesisvideo:ListStreams` pada `arn:aws:kinesisvideo:*:111122223333:stream/*`

Anda harus mengonfigurasi izin untuk mengizinkan entitas IAM, seperti pengguna, grup, atau peran, untuk membuat, mengedit, atau menghapus peran terkait layanan. Untuk informasi selengkapnya tentang izin, lihat [Izin peran terkait layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) di Panduan Pengguna *IAM*. 

## Membuat peran terkait layanan
<a name="create-sl-role"></a>

Anda menggunakan konsol IAM untuk membuat peran terkait layanan untuk digunakan dengan pipeline media Amazon Chime SDK. Anda harus memiliki izin administratif IAM untuk menyelesaikan langkah-langkah ini. Jika tidak, hubungi administrator sistem.

**Untuk membuat peran**

1. Masuk ke AWS Management Console, lalu buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam).

1. Di panel navigasi konsol IAM, pilih **Peran**, dan lalu pilih **Buat peran**.

1. Pilih jenis peran **AWS Service**, lalu pilih **Chime SDK Media** Pipelines.

   Kebijakan IAM muncul.

1. Pilih kotak centang di samping kebijakan, lalu pilih **Berikutnya: Tag**.

1. Pilih **Berikutnya: Tinjauan**.

1. Edit deskripsi sesuai kebutuhan, lalu pilih **Buat peran**.

*Anda juga dapat menggunakan AWS CLI atau AWS API untuk membuat peran terkait layanan bernama mediapipelines.chime.amazonaws.com.* Di AWS CLI, jalankan perintah ini:

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

Untuk informasi selengkapnya tentang membuat peran, lihat [Membuat Peran Tertaut Layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#create-service-linked-role) di Panduan Pengguna *IAM*. Jika Anda menghapus peran ini, Anda dapat menggunakan proses yang sama ini untuk membuatnya lagi.

## Mengedit peran terkait layanan
<a name="edit-pipeline-role"></a>

Anda tidak dapat mengedit peran terkait layanan *AWSServiceRoleForAmazonChimeSDKMediaPipelines*. Setelah membuat peran, Anda tidak dapat mengubah namanya karena entitas lain dapat mereferensikan peran tersebut. Namun, Anda dapat menggunakan IAM untuk mengedit deskripsi peran. Untuk informasi selengkapnya, lihat [Mengedit Peran Tertaut Layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role) dalam *Panduan Pengguna IAM*.

## Menghapus peran tertaut layanan
<a name="delete-pipeline-role"></a>

Jika tidak memerlukan peran terkait layanan, sebaiknya Anda menghapusnya. Untuk melakukan itu, pertama-tama Anda menghapus pipeline media yang menggunakan peran tersebut. Anda dapat menggunakan AWS CLI atau [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_DeleteMediaCapturePipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_DeleteMediaCapturePipeline.html)API untuk menghapus pipeline. 

**Menggunakan CLI untuk menghapus pipeline**  
Gunakan perintah ini di AWS CLI untuk menghapus pipeline media di akun Anda.

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

**Menggunakan API untuk menghapus pipeline**  
Gunakan [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_DeleteMediaCapturePipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_DeleteMediaCapturePipeline.html)API untuk menghapus pipeline media di akun Anda.

**Menghapus peran**  
Setelah menghapus pipeline, Anda dapat menggunakan konsol IAM, AWS CLI, atau AWS API untuk menghapus peran. *Untuk informasi selengkapnya tentang menghapus peran, lihat [Menghapus Peran Tertaut Layanan di Panduan Pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) IAM.*

## Wilayah yang mendukung peran terkait layanan
<a name="role-supported-regions"></a>

Amazon Chime SDK mendukung penggunaan peran terkait layanan di semua AWS Wilayah tempat layanan tersedia. Untuk informasi selengkapnya, lihat [titik akhir Amazon Chime SDK dan](https://docs.aws.amazon.com/general/latest/gr/chime-sdk.html) kuota di. *Referensi Umum Amazon Web Services*

# Menggunakan acara pipeline media Amazon Chime SDK
<a name="media-pipe-events"></a>

Setiap jenis saluran media mengirimkan peristiwa siklus hidup, yang dapat Anda gunakan untuk memicu notifikasi dan memulai alur kerja hilir. Beberapa contoh penggunaan acara pipa media meliputi:
+ Memproses media yang ditangkap setelah pipa media selesai.
+ Memberi tahu peserta rapat jika saluran media mengalami kegagalan sementara.
+ Menghentikan rapat jika saluran media gagal secara permanen.

Anda dapat mengirim acara ke Amazon EventBridge, Amazon Simple Notification Service (SNS), dan Amazon Simple Queue Service (SQS). Untuk informasi selengkapnya, lihat [Acara dari AWS layanan](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html) di *Panduan EventBridge Pengguna Amazon*.

## Pipa media Amazon Chime SDK dibuat
<a name="media-pipeline-create"></a>

Amazon Chime SDK mengirimkan peristiwa ini saat pipeline media dibuat.

**Contoh: Data acara**  
 Berikut adalah data contoh untuk peristiwa ini.

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

## Pipa media Amazon Chime SDK dihapus
<a name="media-pipeline-delete"></a>

Amazon Chime SDK mengirimkan acara ini setelah pipeline media berhenti dengan sukses. 

**Contoh: Data acara**  
Berikut adalah data contoh untuk peristiwa ini.

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

## Pipa media Amazon Chime SDK mengalami kegagalan sementara
<a name="pipeline-temp-failure"></a>

Amazon Chime SDK mengirimkan acara ini ketika pipeline media mengalami kegagalan sementara.

**Contoh: Data acara**  
Berikut adalah data contoh untuk peristiwa ini.

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

## Pipa media Amazon Chime SDK sedang berlangsung
<a name="pipeline-in-progress"></a>

Amazon Chime SDK mengirimkan peristiwa ini saat pipeline media mulai menangkap artefak.

**Contoh: Data acara**  
Berikut adalah data contoh untuk peristiwa ini.

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

## Kegagalan permanen saluran media Amazon Chime SDK
<a name="pipeline-perm-failure"></a>

Amazon Chime SDK mengirimkan peristiwa ini saat pipeline media gagal secara permanen.

**Contoh: Data acara**  
Berikut adalah data contoh untuk peristiwa ini.

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

# Menyetel izin bucket Amazon S3 untuk saluran media Amazon Chime SDK
<a name="s3-permissions"></a>

Jika Anda belum membuat bucket Amazon S3, pastikan Anda membuatnya di akun dan Wilayah tempat Anda menyelenggarakan rapat. Juga, pastikan Anda memberikan izin yang memadai untuk layanan. Untuk informasi selengkapnya tentang membuat bucket Amazon S3, lihat. [Membuat bucket Amazon S3 untuk pipeline pengambilan media Amazon Chime SDK](create-s3-bucket.md)

# Mengirim acara pipeline media Amazon Chime SDK ke CloudTrail
<a name="pipeline-cloudtrail"></a>

AWS memungkinkan CloudTrail untuk Anda ketika Anda membuat AWS akun Anda. Saat pengguna memanggil API yang didukung di SDK pipeline media, CloudTrail mencatat aktivitas tersebut untuk API tersebut dalam **riwayat Acara**, bersama dengan AWS peristiwa lainnya. Anda dapat melihat, mencari, dan mengunduh peristiwa pipeline media di akun AWS Anda. Untuk informasi selengkapnya, lihat [Melihat CloudTrail Acara dengan Riwayat Acara](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html) di *Panduan CloudTrail Pengguna*.

Untuk catatan acara saluran media yang sedang berlangsung, Anda dapat membuat *jejak*. Jejak memungkinkan CloudTrail untuk mengirimkan file log ke bucket Amazon S3 Anda. Contoh berikut menunjukkan jejak pipa media. Data termasuk pengguna yang memanggil API, peran IAM yang digunakan untuk memanggil API, dan stempel waktu. Untuk informasi selengkapnya tentang penggunaan, CloudTrail lihat [Pencatatan dan pemantauan](https://docs.aws.amazon.com/chime-sdk/latest/ag/monitoring-overview.html) di Panduan *Administrator SDK Amazon Chime*.

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

# Praktik terbaik untuk menghentikan saluran media Amazon Chime SDK
<a name="stop-pipe-best-practices"></a>

Sebagai praktik terbaik untuk menghentikan saluran pipa media, hubungi [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. API memungkinkan Anda untuk menghapus media capture dan media live connector pipelines. Anda juga dapat memanggil [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_DeleteMediaCapturePipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_DeleteMediaCapturePipeline.html)API untuk menghapus pipeline pengambilan media. Semua jaringan pipa media berhenti ketika pertemuan berakhir.