

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

# SDK Siaran IVS: Sumber Gambar Kustom \| Streaming Waktu Nyata
<a name="broadcast-custom-image-sources"></a>

Sumber input gambar khusus memungkinkan aplikasi untuk menyediakan input gambarnya sendiri ke SDK siaran, alih-alih terbatas pada kamera preset. Sumber gambar khusus dapat sesederhana tanda air semi-transparan atau adegan “segera kembali” statis, atau memungkinkan aplikasi untuk melakukan pemrosesan khusus tambahan seperti menambahkan filter kecantikan ke kamera.

Saat Anda menggunakan sumber input gambar khusus untuk kontrol kustom kamera (seperti menggunakan pustaka filter kecantikan yang memerlukan akses kamera), SDK siaran tidak lagi bertanggung jawab untuk mengelola kamera. Sebagai gantinya, aplikasi bertanggung jawab untuk menangani siklus hidup kamera dengan benar. Lihat dokumentasi platform resmi tentang bagaimana aplikasi Anda harus mengelola kamera.

## Android
<a name="custom-image-sources-android"></a>

Setelah Anda membuat `DeviceDiscovery` sesi, buat sumber input gambar:

```
CustomImageSource imageSource = deviceDiscovery.createImageInputSource(new BroadcastConfiguration.Vec2(1280, 720));
```

Metode ini mengembalikan`CustomImageSource`, yang merupakan sumber gambar yang didukung oleh Android [Surface](https://developer.android.com/reference/android/view/Surface) standar. Sublcass `SurfaceSource` dapat diubah ukurannya dan diputar. Anda juga dapat membuat `ImagePreviewView` untuk menampilkan pratinjau isinya.

Untuk mengambil yang mendasarinya`Surface`:

```
Surface surface = surfaceSource.getInputSurface();
```

Ini `Surface` dapat digunakan sebagai buffer output untuk produsen gambar seperti Camera2, OpenGL ES, dan perpustakaan lainnya. Kasus penggunaan paling sederhana adalah langsung menggambar bitmap statis atau warna ke dalam kanvas Surface. Namun, banyak pustaka (seperti pustaka filter kecantikan) menyediakan metode yang memungkinkan aplikasi menentukan eksternal untuk rendering. `Surface` Anda dapat menggunakan metode seperti itu untuk meneruskan ini `Surface` ke pustaka filter, yang memungkinkan pustaka mengeluarkan bingkai yang diproses agar sesi siaran dapat dialirkan.

Ini `CustomImageSource` dapat dibungkus dalam a `LocalStageStream` dan dikembalikan oleh `StageStrategy` untuk mempublikasikan ke a`Stage`.

## iOS
<a name="custom-image-sources-ios"></a>

Setelah Anda membuat `DeviceDiscovery` sesi, buat sumber input gambar:

```
let customSource = broadcastSession.createImageSource(withName: "customSourceName")
```

Metode ini mengembalikan`IVSCustomImageSource`, yang merupakan sumber gambar yang memungkinkan aplikasi untuk mengirimkan `CMSampleBuffers` secara manual. Untuk format piksel yang didukung, lihat Referensi SDK Siaran iOS; tautan ke versi terbaru ada di [Catatan Rilis Amazon IVS untuk rilis](release-notes.md) SDK siaran terbaru.

Sampel yang dikirimkan ke sumber kustom akan dialirkan ke Panggung:

```
customSource.onSampleBuffer(sampleBuffer)
```

Untuk streaming video, gunakan metode ini dalam panggilan balik. Misalnya, jika Anda menggunakan kamera, maka setiap kali buffer sampel baru diterima dari sebuah`AVCaptureSession`, aplikasi dapat meneruskan buffer sampel ke sumber gambar khusus. Jika diinginkan, aplikasi dapat menerapkan pemrosesan lebih lanjut (seperti filter kecantikan) sebelum mengirimkan sampel ke sumber gambar khusus.

`IVSCustomImageSource`Dapat dibungkus dalam `IVSLocalStageStream` dan dikembalikan oleh `IVSStageStrategy` untuk mempublikasikan ke a`Stage`.