

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

# IVS Stream Ingest \$1 Streaming Waktu Nyata
<a name="rt-stream-ingest"></a>

Sebagai alternatif untuk menggunakan SDK siaran IVS, Anda dapat mempublikasikan video ke tahap IVS dari sumber WHIP atau RTMP. Pendekatan ini menawarkan fleksibilitas untuk alur kerja di mana penggunaan SDK tidak layak atau disukai, seperti saat menerbitkan video dari OBS Studio atau encoder perangkat keras. Jika memungkinkan, kami sarankan untuk menggunakan SDK siaran IVS, karena kami tidak dapat menjamin kinerja atau kompatibilitas solusi pihak ketiga dengan IVS.

Diagram ini menggambarkan bagaimana penerbitan dengan WHIP dan RTMP bekerja:

![\[Penerbitan dengan WHIP dan RTMP.\]](http://docs.aws.amazon.com/id_id/ivs/latest/RealTimeUserGuide/images/Stream_Ingest.png)


## Protokol yang Didukung
<a name="supported-protocols"></a>

Streaming real-time IVS mendukung beberapa protokol ingest:
+ RTMP dan RTMPS — RTMP (Real-Time Messaging Protocol) adalah standar industri untuk mentransmisikan video melalui jaringan. RTMPS adalah versi aman dari RTMP yang beroperasi melalui TLS.

  IVS mendukung kemampuan video multitrack E-RTMP (Enhanced RTMP). Lihat [E-RTMP Multitrack Video](https://docs.aws.amazon.com/ivs/latest/RealTimeUserGuide/rt-rtmp-publishing.html#rtmp-multitrack) dalam dokumentasi IVS RTMP Publishing.
+ WHIP (WebRTC-HTTP Ingestion Protocol) — Draf IETF yang dikembangkan untuk membakukan konsumsi WebRTC.

 [Untuk panduan rinci tentang penggunaan protokol ini, lihat dokumentasi [RTMP](https://docs.aws.amazon.com/ivs/latest/RealTimeUserGuide/rt-rtmp-publishing.html) dan WHIP kami.](https://docs.aws.amazon.com/ivs/latest/RealTimeUserGuide/obs-whip-support.html)

## Spesifikasi Media yang Didukung
<a name="supported-media-specifications"></a>
+ Format masukan audio
  + Codec: AAC-LC untuk RTMP dan Opus untuk WHIP
  + Saluran: 2 (Stereo) atau 1 (Mono)
  + Tingkat sampel: 44,1 kHz atau 48 kHz
  + Bitrate maksimum: 160 Kbps
+ Format masukan video
  + Codec: H.264
  + Profil H.264: Baseline
  + Interval IDR: 1 atau 2 detik
  + Frame rate: 10 hingga 60 FPS
  + Bingkai-B: 0

    Catatan: SDK siaran IVS memiliki B-frame yang diaktifkan secara default, tetapi dimulai dengan versi 1.25.0, secara otomatis menonaktifkan bingkai-B saat menyiarkan ke tahap IVS. Untuk streaming real-time dengan encoder RTMP lainnya, pengembang harus menonaktifkan B-frame. *Jika pengembang yang menggunakan encoder RTMP lain tidak menonaktifkan B-frame, aliran mereka* akan terputus.
  + Resolusi: Maksimum: 720p. Minimal: 160p
  + Bitrate maksimum: 8,5 Mbps

    Catatan: Untuk stream RTMP single-track, batas ini berlaku untuk trek tersebut. Untuk video multitrack yang diterbitkan menggunakan Enhanced RTMP, batasnya berlaku untuk bitrate gabungan dari semua trek video.
  + Konfigurasi encoder: Kami merekomendasikan penggunaan `veryfast` dan `zerolatency` pengaturan untuk encoder H.264. Juga: opsi `sliced_threads` x264 termasuk dalam `zerolatency` preset, dan kami sarankan Anda menonaktifkannya. Misalnya, saat menggunakan FFmpeg, perintah Anda harus mencakup: `-preset:v veryfast -tune zerolatency -x264-params sliced-threads=0`

# Penerbitan IVS RTMP \$1 Streaming Waktu Nyata
<a name="rt-rtmp-publishing"></a>

Dokumen ini menguraikan proses penerbitan ke tahap IVS menggunakan RTMP. Untuk detail tambahan tentang berbagai opsi konsumsi, lihat dokumentasi [Stream Ingest](https://docs.aws.amazon.com/ivs/latest/RealTimeUserGuide/rt-stream-ingest.html)

## Prasyarat
<a name="rtmp-prerequisites"></a>

### Buat Panggung
<a name="rtmp-create-stage"></a>

Untuk membuat panggung, gunakan perintah berikut:

`aws ivs-realtime create-stage --name "test-stage"`

Lihat [CreateStage](https://docs.aws.amazon.com/ivs/latest/RealTimeAPIReference/API_CreateStage.html)detailnya, termasuk tanggapannya.

**Penting:** Dalam tanggapan, perhatikan `endpoints` bidang, yang mencantumkan titik akhir RTMP dan RTMPS. Ini diperlukan untuk mengatur encoder RTMP Anda.

### Buat Konfigurasi Ingest
<a name="rtmp-create-an-ingest-configuration"></a>

Untuk mempublikasikan ke panggung menggunakan RTMPS, Anda harus terlebih dahulu membuat konfigurasi ingest dan mengaitkannya dengan panggung Anda. Saat Anda mempublikasikan ke panggung (menggunakan kunci aliran dari konfigurasi ingest dan titik akhir RTMP dari panggung), media akan dipublikasikan ke panggung sebagai peserta. Anda memiliki opsi untuk menentukan `userId` dan kustom`attributes`, yang akan dikaitkan dengan [peserta](https://docs.aws.amazon.com/ivs/latest/RealTimeAPIReference/API_Participant.html) yang terhubung ke panggung.

```
aws ivs-realtime create-ingest-configuration \
  --name 'test' \
  --stage-arn arn:aws:ivs:us-east-1:123456789012:stage/8faHz1SQp0ik \
  --user-id '123' \
  --ingest-protocol 'RTMPS'
```

Lihat [CreateIngestConfiguration](https://docs.aws.amazon.com/ivs/latest/RealTimeAPIReference/API_CreateIngestConfiguration.html)detailnya, termasuk tanggapannya.

Saat membuat konfigurasi ingest, Anda dapat mengaitkannya dengan ARN tahap tertentu di depan. Tanpa asosiasi ini, kunci aliran tidak dapat digunakan. Juga, konfigurasi ingest (termasuk `stageArn` bidang) dapat diperbarui melalui [UpdateIngestConfiguration](https://docs.aws.amazon.com/ivs/latest/RealTimeAPIReference/API_UpdateIngestConfiguration.html)operasi, memungkinkan Anda untuk menggunakan kembali konfigurasi yang sama untuk tahapan yang berbeda.

**Catatan:** `insecureIngest` Bidang konfigurasi ingest default ke`false`, membutuhkan penggunaan RTMPS. Koneksi RTMP akan ditolak. Jika Anda harus menggunakan RTMP, atur `insecureIngest` ke`true`. Sebaiknya gunakan RTMPS kecuali Anda memiliki kasus penggunaan spesifik dan terverifikasi yang memerlukan RTMP.

## Video Trek Tunggal RTMP
<a name="rtmp-singletrack"></a>

[Di bawah ini kami menjelaskan cara menggunakan OBS Studio; Namun, Anda dapat menggunakan encoder RTMP apa pun yang memenuhi spesifikasi media IVS.](https://docs.aws.amazon.com/ivs/latest/RealTimeUserGuide/rt-stream-ingest.html#supported-media-specifications)

### Panduan OBS
<a name="rtmp-singletrack-obs"></a>

1. Unduh dan instal perangkat lunak: [https://obsproject.com/unduh](https://obsproject.com/download).

1. Klik **Pengaturan**. Di bagian **Stream** pada panel **Pengaturan**, pilih **Kustom** dari menu tarik-turun **Layanan**.

1. Untuk **Server**, masukkan titik akhir RTMP atau RTMPS dari panggung.

1. Untuk **Stream Key**, masukkan `streamKey` dari konfigurasi ingest.

1. Konfigurasikan pengaturan video Anda seperti biasa, dengan beberapa batasan:

   1. Streaming real-time IVS mendukung input hingga 720p pada 8,5 Mbps. Jika Anda melebihi salah satu dari batas ini, aliran Anda akan terputus.

   1. Sebaiknya atur **Interval Keyframe** Anda di panel **Output** ke 1s atau 2s. Interval keyframe yang rendah memungkinkan pemutaran video dimulai lebih cepat bagi pemirsa. Kami juga merekomendasikan pengaturan **Preset Penggunaan CPU** ke **sangat cepat** dan **Tune** ke **zerolatency, untuk mengaktifkan latensi terendah**.

   1. Karena OBS tidak mendukung simulcast, kami sarankan untuk menjaga bitrate Anda di bawah 2,5 Mbps. Hal ini memungkinkan pemirsa pada koneksi bandwidth rendah untuk menonton.

   1. Nonaktifkan B-frame, karena aliran dengan B-frame akan terputus secara otomatis. Lakukan salah satu tindakan berikut:
      + Dalam opsi x264, masukkan. `bframes=0 sliced-threads=0`
      + Setel B-frame ke 0 jika itu adalah opsi (misalnya, untuk NVENC).

   Catatan: Streaming RTMP harus menyertakan trek audio dan video, atau mereka akan terputus.

1. Pilih **Mulai Streaming**

**Penting:** Jika bitrate maksimum encoder Anda disetel ke 8,5 Mbps, penerbit terkadang menghilang dari sesi. Ini karena pengaturan bitrate maksimum hanya target, dan encoder kadang-kadang melampaui target. Untuk mencegah hal ini, atur bitrate maksimum encoder Anda lebih rendah; misalnya ke 6 Mbps.

## E-RTMP Multitrack Video
<a name="rtmp-multitrack"></a>

IVS mendukung kemampuan video multitrack E-RTMP (Enhanced Real-Time Messaging Protocol), yang memungkinkan Anda mempublikasikan beberapa kualitas video dalam satu aliran RTMP ke tahap IVS Anda. Ini memungkinkan streaming bitrate adaptif, sehingga pelanggan dapat secara otomatis menonton dengan kualitas terbaik untuk koneksi jaringan mereka.

Setelah dicerna, kualitas video yang berbeda dikirimkan ke pelanggan sebagai lapisan simulcast. [Untuk mengonfigurasi lapisan mana yang diterima oleh pelanggan, lihat bagian “Layered Encoding with Simulcast” di panduan SDK siaran streaming real-time: Android[, [iOS](https://docs.aws.amazon.com/ivs/latest/RealTimeUserGuide/broadcast-ios.html),](https://docs.aws.amazon.com/ivs/latest/RealTimeUserGuide/broadcast-android.html) dan Web.](https://docs.aws.amazon.com/ivs/latest/RealTimeUserGuide/broadcast-web.html)

Untuk kode sampel, lihat [sample-amazon-ivs-multitrackaws-samples/](https://github.com/aws-samples/sample-amazon-ivs-multitrack-video) -video di. GitHub

Diagram ini menggambarkan cara kerja penerbitan dengan video multitrack:

![\[Menerbitkan video multitrack ke panggung.”\]](http://docs.aws.amazon.com/id_id/ivs/latest/RealTimeUserGuide/images/E-RTMP.png)


### Panduan OBS
<a name="rtmp-multitrack-obs"></a>

1. Unduh dan instal OBS Studio:

   1. Windows: Video multitrack didukung mulai dari OBS Studio 30.2.

   1. macOS: Video multitrack didukung mulai dari OBS Studio 31.1 Beta (khusus Apple Silicon).

   1. Unduh di: [https://obsproject.com/unduh](https://obsproject.com/download).

1. Klik **Pengaturan**. Di bagian **Stream** panel **Pengaturan**, pilih **Amazon IVS** dari dropdown **Layanan**.

1. Untuk **Server**, biarkan pengaturan sebagai **Otomatis**.

1. Untuk **Stream Key**, masukkan `streamKey` dari konfigurasi ingest.

1. Di bawah bagian **Video Multitrack, periksa Aktifkan Video** **Multitrack**.

1. Di panel **Video**, atur Resolusi **Basis (Canvas Resolution)** dan **Output (Scaled) yang** diinginkan. Streaming real-time IVS mendukung input hingga 720p. Jika Anda melebihi batas ini, aliran Anda akan terputus.

   Ketika video multitrack diaktifkan, pengaturan seperti jumlah trek video, bitrate mereka, dan interval keyframe secara otomatis dikonfigurasi berdasarkan kemampuan perangkat.

1. Pilih **Mulai Streaming**.

### Penerbitan dengan FFmpeg
<a name="rtmp-multitrack-ffmpeg"></a>

Anda dapat menggunakan FFmpeg untuk mempublikasikan video langsung dan audio ke streaming real-time IVS melalui RTMP. FFmpeg adalah proyek sumber terbuka gratis yang terdiri dari rangkaian perpustakaan perangkat lunak dan alat yang komprehensif untuk memproses video, audio, dan konten multimedia lainnya.

Contoh perintah berikut menerbitkan aliran yang menyertakan pola warna dan nada:

```
ffmpeg \
 -re \
 -f lavfi -i testsrc=d=300:s=1280x720:r=60,format=yuv420p \
 -f lavfi -i sine=f=440:b=4:d=300 \
 -c:v libx264 \
 -b:v 2500k \
 -g 60 -bf 0 \
 -profile:v baseline \
 -preset veryfast \
 -tune zerolatency \
 -x264opts sliced-threads=0 \
 -c:a aac \
 -ac 2 \
 -b:a 160k \
 -ar 48000 \
 -f flv \
 rtmps://$INGEST_ENDPOINT/app/$STREAM_KEY
```

Dalam contoh, ganti `$INGEST_ENDPOINT` dan `$STREAM_KEY` dengan nilai Anda sendiri dari konsol IVS atau API.

Konfigurasi ini memenuhi [Spesifikasi Media yang Didukung](https://docs.aws.amazon.com/ivs/latest/RealTimeUserGuide/rt-stream-ingest.html#supported-media-specifications) untuk streaming real-time IVS, termasuk video H.264 (profil dasar, tidak ada bingkai-B, tidak ada utas yang diiris) dan audio AAC.

## Pencernaan Pribadi ke Tahapan
<a name="private-ingest-stages"></a>

Anda dapat mempublikasikan aliran RTMP (S) dan E-RTMP (S) ke tahap dari sumber daya di dalam VPC Amazon Anda atau dari Direct Connect, dengan menggunakan titik akhir VPC antarmuka. Ini memungkinkan koneksi pribadi antara VPC dan IVS Anda, menjaga lalu lintas tertelan dalam jaringan AWS. *Untuk mengatur dan mengonfigurasi titik akhir VPC antarmuka untuk IVS, lihat IVS [Private Ingest di Panduan Pengguna Streaming Latensi Rendah IVS](https://docs.aws.amazon.com//ivs/latest/LowLatencyUserGuide/private-ingest-ll.html).* 

# Penerbitan IVS WHIP \$1 Streaming Waktu Nyata
<a name="obs-whip-support"></a>

Dokumen ini menjelaskan cara menggunakan encoder yang kompatibel dengan Whip seperti OBS untuk mempublikasikan ke streaming real-time IVS. [WHIP](https://www.ietf.org/archive/id/draft-ietf-wish-whip-01.html) (WebRTC-HTTP Ingestion Protocol) adalah draf IETF yang dikembangkan untuk membakukan konsumsi WebRTC.

WHIP memungkinkan kompatibilitas dengan perangkat lunak seperti OBS, yang menawarkan alternatif (untuk SDK siaran IVS) untuk publikasi desktop. Streamer yang lebih berpengalaman yang terbiasa dengan OBS mungkin lebih menyukainya karena fitur produksinya yang canggih, seperti transisi adegan, mixing audio, dan grafik overlay. Ini memberi pengembang opsi serbaguna: gunakan SDK siaran web IVS untuk penerbitan browser langsung atau izinkan streamer menggunakan OBS di desktop mereka untuk alat yang lebih canggih.

Selain itu, WHIP bermanfaat dalam situasi di mana menggunakan SDK siaran IVS tidak layak atau disukai. Misalnya, dalam pengaturan yang melibatkan enkoder perangkat keras, SDK siaran IVS mungkin bukanlah sebuah pilihan. Namun, jika enkoder mendukung WHIP, Anda masih dapat memublikasikan langsung dari enkoder ke IVS.

**Persyaratan WHIP:**
+ Penawaran SDP Anda harus menyertakan trek video H.264, bahkan jika Anda hanya menerbitkan audio. Jika penawaran tidak termasuk trek video, koneksi akan ditolak.
+ Titik akhir WHIP global (https://global.whip.live-video.net) mengembalikan Pengalihan Sementara 307. Klien WHIP harus menangani 307 pengalihan dengan benar dan mempertahankan header dalam permintaan yang dialihkan, seperti yang dipersyaratkan oleh spesifikasi WHIP.

## Panduan OBS
<a name="whip-support-obs-guide"></a>

OBS mendukung WHIP pada versi 30. [Untuk memulai, unduh OBS v30 atau yang lebih baru:https://obsproject.com/.](https://obsproject.com/)

Untuk mempublikasikan ke tahap IVS menggunakan OBS melalui WHIP, ikuti langkah-langkah berikut:

1. [Hasilkan](https://docs.aws.amazon.com/ivs/latest/RealTimeUserGuide/getting-started-distribute-tokens.html) token peserta dengan kemampuan mempublikasikan. Dalam istilah WHIP, token peserta adalah token pembawa. Secara default, token peserta kedaluwarsa dalam 12 jam, tetapi Anda dapat memperpanjang durasi hingga 14 hari.

1. Klik **Pengaturan**. Di bagian **Stream** pada panel **Pengaturan**, pilih **WHIP** dari dropdown **Layanan**.

1. Untuk **Server**, masukkan https://global.whip.live-video.net.

1. Untuk **Token Pembawa, masukkan token** peserta yang Anda buat di langkah 1.

1. Konfigurasikan pengaturan video Anda seperti biasa, dengan beberapa batasan:

   1. Streaming real-time IVS mendukung input hingga 720p pada 8,5 Mbps. Jika Anda melebihi salah satu dari batas ini, aliran Anda akan terputus.

   1. Sebaiknya atur **Interval Keyframe** Anda di panel **Output** ke 1s atau 2s. Interval keyframe yang rendah memungkinkan pemutaran video dimulai lebih cepat bagi pemirsa. Kami juga merekomendasikan pengaturan **Preset Penggunaan CPU** ke **sangat cepat** dan **Tune** ke **zerolatency, untuk mengaktifkan latensi terendah**.

   1. Karena OBS tidak mendukung simulcast, kami sarankan untuk menjaga bitrate Anda di bawah 2,5 Mbps. Hal ini memungkinkan pemirsa pada koneksi bandwidth rendah untuk menonton.

1. Tekan **Mulai Streaming**.

**Catatan**: Kami mengetahui masalah kualitas (seperti pembekuan video intermiten) yang dapat terjadi dengan WHIP di OBS. Ini biasanya muncul ketika jaringan penyiar tidak stabil. Kami merekomendasikan pengujian WHIP di OBS sebelum menggunakannya untuk streaming langsung produksi. Menurunkan bitrate siaran Anda juga dapat membantu mengurangi terjadinya masalah ini.