Konfigurasi IVS Streaming Amazon - Amazon IVS

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

Konfigurasi IVS Streaming Amazon

Amazon Interactive Video Service (IVS) memungkinkan pengembang untuk dengan mudah mengirimkan video latensi rendah kepada pemirsa di seluruh dunia. Dengan AmazonIVS, streamer hanya perlu menangani produksi streaming, lalu mengirim streaming ke AmazonIVS. Amazon IVS menangani pemrosesan video (menelan dan mentranskode), pengiriman, dan pemutaran ke pemirsa menggunakan pemutar AmazonIVS.

Ada banyak solusi untuk streaming langsung. Apakah Anda memiliki studio yang dilengkapi dengan beberapa kamera, pengalih visual, pengomposisian grafis, dan berbagai peralatan pencampuran audio, atau Anda berencana untuk memulai streaming pertama Anda dari smartphone, Anda perlu berurusan dengan beberapa konsep dan parameter pengkodean yang sama.

Dokumen ini menjelaskan cara mengonfigurasi encoder video untuk streaming ke Amazon. IVS Audiens untuk dokumen ini adalah pengembang yang ingin membangun fungsionalitas streaming ke dalam aplikasi mereka.

Perhatikan bahwa input khusus audio tidak didukung untuk streaming latensi IVS rendah.

Prasyarat

Ikuti langkah-langkahnyaMemulai dengan Streaming IVS Latensi Rendah, untuk membuat saluran dan mengatur streaming. Dalam prosesnya, saluran ARN (Nama Sumber Daya Amazon) dan kunci aliran ditetapkan, bersama dengan URLs untuk menelan dan memutar ulang aliran. Anda harus mengarahkan aplikasi streaming Anda ke ingestURL.

Sebelum membaca dokumen ini, Anda harus terbiasa dengan:

Mengurangi Latensi

Streaming IVS latensi rendah Amazon kompatibel dengan sebagian besar aplikasi streaming dan hanya memerlukan sedikit perubahan pada konfigurasi aplikasi streaming Anda. Untuk latensi serendah mungkin, Anda harus menggunakan IVS pemutar Amazon; pemutar HLS video pihak ketiga tidak didukung. Lihat SDK dokumentasi Amazon IVS Player.

Untuk menyiapkan aplikasi streaming Anda untuk streaming latensi rendah, lakukan hal berikut. (Catatan: tidak semua opsi ini tersedia di setiap aplikasi streaming.)

  • Pada encoder video, atur IDR/Keyframe ke interval 2 detik (atau 1 detik, untuk latensi yang lebih rendah end-to-end).

    IDR/Keyframesecara langsung mempengaruhi waktu startup streaming dan latensi EventBridge peristiwa terkait (Stream Start dan Recording Start). Jika IDR/Keyframe 2 detik, latensi mulai aliran akan menjadi sekitar 6-7 detik. Jika IDR/Keyframe 1 detik, latensi stream-start akan menjadi sekitar 3-4 detik. Video Anda akan tersedia untuk pemirsa dan perekaman otomatis ke Amazon S3 hanya setelah periode latensi awal streaming.

    Interval keyframe 1 detik yang lebih pendek memiliki beberapa pengorbanan QoS. Ini dapat menyebabkan streaming bitrate adaptif Amazon IVS Player (ABR) beralih resolusi lebih sering; ukuran segmen lebih kecil, sehingga ABR pemeriksaan lebih sering terjadi. Buffering dapat meningkat karena peningkatan resolusi-switching dan/atau jika jaringan pemirsa tidak dapat mengunduh segmen dengan cukup cepat. Evaluasi pengorbanan ini saat memutuskan antara interval keyframe 1 atau 2 detik.

    Hindari pengaturan IDR/Keyframe ke nilai yang lebih tinggi dari 5 detik. Latensi mulai streaming tidak hanya akan lebih tinggi daripada saat menggunakan 1 atau 2 detik, tetapi IVS tidak dapat menjamin bahwa setiap segmen yang dihasilkan untuk pemutaran akan dimulai dengan yang IDR/keyframe. Segments not beginning with an IDR/keyframe dapat mengakibatkan kesalahan decode atau distorsi visual saat pemirsa memulai pemutaran atau mengubah rendisi.

  • Jika tersedia, setel encoder Anda ke penyetelan latensi nol dalam konfigurasi x264.

  • Pastikan ukuran buffer (VBV) tidak melebihi bitrate rata-rata (kilobits-per-second) aliran.

Hindari Layanan Streaming/Penerusan Pihak Ketiga

Kami sangat menyarankan Anda untuk tidak menggunakan layanan pihak ketiga untuk melakukan restream atau meneruskan konten ke AmazonIVS. Ini akan menimbulkan latensi ekstra. Untuk latensi rendah, streaming langsung ke AmazonIVS.

Pengaturan Encoder

Stream Ingest: Codec dan Protokol Ingest

Codec: Amazon IVS mendukung H.264 untuk video dan AAC (LC) untuk audio.

Protokol Ingest: Amazon IVS mendukung protokol ingest yang paling umum digunakan dalam perangkat lunak streaming dan perangkat keras: RTMPS (Protokol Pesan Real-Time melalui TLS SSL /koneksi),RTMP, dan SRT (Secure Reliable Transport). IVSStreaming Amazon melalui RTMPS memerlukan TLS versi 1.2 atau yang lebih baru.

RTMPS/RTMP

Encoder video Anda harus terhubung ke Amazon IVS ingest melalui RTMPS protokol yang terkait dengan port keluar 443/. TCP Untuk memastikan ini, tentukan server IVS ingest, yang menyertakan port di jalur:

rtmps://<IVS-ingest-server>/<IVS-stream-key>

Sebagai contoh:

rtmps://a1b2c3d4e5f6.global-contribute.live-video.net:443/app/<IVS-stream-key>

IVSsaluran juga dapat dikonfigurasi untuk memungkinkan RTMP konsumsi yang tidak aman, meskipun kami menyarankan Anda menggunakan RTMPS kecuali Anda memiliki kasus penggunaan spesifik dan terverifikasi yang memerlukan. RTMP Saat streamingRTMP, pastikan protokol diatur ke rtmp:// dan lepaskan :443 port. Sebagai contoh:

rtmp://a1b2c3d4e5f6.global-contribute.live-video.net/app/<IVS-stream-key>

SRT

Encoder video Anda harus terhubung ke titik akhir ingest menggunakan SRT protokol di port 9000. Untuk memastikan hal ini, tentukan titik akhir ingest, yang mencakup port dan frasa sandi di jalur:

srt://<ingest-endpoint>:<port>?streamid=<stream-key>&passphrase=<passphrase>

Gunakan frasa sandi hanya jika ingest yang tidak aman tidak diaktifkan untuk saluran.

Sebagai contoh:

srt://a1b2c3d4e5f6.srt.live-video.net:9000?streamid=sk_us-west-2_abcd1234efgh5678ijkl&passphrase=ZU5A3yrjGAkghUNDr0c5NXBhsPrjlmtcKMNBluh7oImwJQ3ijeyClvMKxlpPcGAMziICJ

Untuk mengoptimalkan kinerja SRT streaming, lihat blog Haivision ini: Cara Mengkonfigurasi SRT Pengaturan pada Encoder Video Anda untuk Kinerja Optimal.

Resolution/Bitrate/FPS

Resolusi stream sangat menentukan bitrate dan frame rate (frames-per-second, atauFPS). Gunakan panduan berikut; ini adalah rekomendasi kami. Perhatikan resolusi yang ditunjukkan di bawah ini adalah orientasi lanskap (horizontal x vertikal), jadi balikkan ini untuk orientasi potret.

Kualitas yang Dapat Diterima (SD) 480p (852x480) Kualitas Baik (HD) 720p (1280x720) Kualitas Tinggi (Full HD) 1080p (1920x1080)
Bitrate Hingga 1500 Kbps Hingga 4500 Kbps Hingga 8500 Kbps
FPS 30 30 atau 60 30 atau 60
Interval keyframe 2 detik 2 detik 2 detik

Bitrate,FPS, dan resolusi saling terkait. Nilai optimal tergantung pada keadaan dan bisa rumit untuk ditentukan. Panduan terbaik kami adalah memulai dengan nilai-nilai di atas dan bereksperimen jika diinginkan. Tujuannya adalah gerakan komponen video yang jelas dan halus selama streaming dan resolusi yang baik dalam bandwidth yang tersedia. Peningkatan frame rate dan/atau resolusi meningkatkan kualitas video secara keseluruhan, tetapi ini tentu dibatasi oleh bandwidth.

Amazon IVS mendukung framerate hingga 60 FPS (termasuk frame rate standar Eropa PAL 25 dan 50). Semakin tinggi framerate, semakin baik kualitasnya - selama ada bandwidth bitrate yang memadai. Tergantung pada aplikasinya, framerate rendah bisa baik-baik saja; misalnya, untuk kamera keamanan.

Jenis Saluran

Jenis saluran menentukan resolusi dan bitrate yang diijinkan. Jika Anda melebihi resolusi input atau bitrate yang diizinkan, aliran mungkin akan segera terputus.

Ada empat jenis saluran:STANDARD,ADVANCED_SD,ADVANCED_HD, danBASIC. Saat Anda membuat saluran, tipe defaultnya adalahSTANDARD.

Ada dua jenis pemrosesan video, transcoding dan transmuxing. Ini ditentukan oleh jenis saluran, apakah saluran dikonfigurasi untuk input video multitrack, dan apakah penyiar menggunakan klien berkemampuan multitrack. (Video multitrack dikonfigurasi dengan multitrackInputConfiguration API properti tipe data Channel.)

  • Video aktif STANDARD (tanpa input multitrack) dan ADVANCED saluran ditranskode: beberapa kualitas dihasilkan dari input asli, untuk secara otomatis memberikan pengalaman terbaik kepada pemirsa untuk perangkat dan kondisi jaringan mereka. Transcoding memungkinkan kualitas pemutaran yang lebih tinggi di berbagai kecepatan unduhan. Transcoding adalah pilihan terbaik untuk penyiar dengan konektivitas internet mil pertama yang terbatas dan/atau kemampuan perangkat terbatas (misalnya, ponsel, bukan desktop). PCs

  • Video aktif STANDARD (dengan input multitrack diaktifkan dan penyiar menggunakan klien berkemampuan multitrack) dan saluran ditransmuxed: Amazon memberikan masukan asli kepada BASIC pemirsa. IVS Mirip dengan transcoding, input multitrack transmuxed memberikan pengalaman terbaik kepada pemirsa untuk perangkat dan kondisi jaringan mereka.

Semua saluran transkode memiliki preset transkode, yang menentukan rendisi mana yang diproduksi. Anggap ini sebagai ABR tangga. Mereka memungkinkan Anda untuk menukar bandwidth unduhan dan kualitas video yang tersedia, untuk mengoptimalkan pengalaman menonton.

  • STANDARDsaluran memiliki satu, preset transkode default.

  • ADVANCEDsaluran memiliki dua preset transkode yang dapat dipilih:

    • Pengiriman bandwidth terbatas menggunakan bitrate yang lebih rendah daripada STANDARD untuk setiap tingkat kualitas. Gunakan jika Anda memiliki bandwidth unduhan rendah dan/atau konten video sederhana (misalnya, kepala bicara).

    • Pengiriman bandwidth yang lebih tinggi menggunakan bitrate yang lebih tinggi untuk setiap level uality. Gunakan jika Anda memiliki bandwidth unduhan tinggi dan/atau konten ideo yang kompleks (misalnya, flash dan perubahan adegan cepat). Ini adalah opsi default.

STANDARDSaluran

Masukan Video Jalur Tunggal

STANDARDsaluran ditranskode. Resolusi video tertinggi yang dihasilkan adalah full HD, 1080p. Ini adalah jenis saluran default.

  • Transcode preset: Ada satu, standar transcode-preset ladder.

  • Audio: Untuk rendisi 360p dan di bawahnya, audio ditranskode. Untuk rendisi lainnya, audio asli dilewatkan.

Resolusi Input dan Bitrate Maksimum Detail Tangga

1080p60 pada 8,5 Mbps

  1. Video: passthrough sumber, audio: passthrough sumber

  2. Video: 720p60 pada 3,4 Mbps, audio: passthrough sumber

  3. Video: 480p30 pada 1,4 Mbps, audio: passthrough sumber

  4. Video: 360p30 pada 0,63 Mbps, audio: 64 kbps

  5. Video: 160p30 pada 0,23 Mbps, audio: 48 kbps

1080p30 pada 8,5 Mbps

  1. Video: Passthrough sumber, audio: passthrough sumber

  2. Video: 720p30 pada 2,4 Mbps, audio: passthrough sumber

  3. Video: 480p30 pada 1,4 Mbps, audio: passthrough sumber

  4. Video: 360p30 pada 0,63 Mbps, audio: 64 kbps

  5. Video: 160p30 pada 0,23 Mbps, audio: 48 kbps

Kurang dari 1080p60 dan lebih besar dari 720p60, pada 8,5 Mbps

  1. Video: passthrough sumber, audio: passthrough sumber

  2. Video: 720p60 pada 3,4 Mbps, audio: passthrough sumber

  3. Video: 480p30 pada 1,4 Mbps, audio: passthrough sumber

  4. Video: 360p30 pada 0,63 Mbps, audio: 64 kbps

  5. Video: 160p30 pada 0,23 Mbps, audio: 48 kbps

Kurang dari 1080p30 dan lebih besar dari 720p30, pada 8,5 Mbps

  1. Video: passthrough sumber, audio: passthrough sumber

  2. Video: 720p30 pada 2,4 Mbps, audio: passthrough sumber

  3. Video: 480p30 pada 1,4 Mbps, audio: passthrough sumber

  4. Video: 360p30 pada 0,63 Mbps, audio: 64 kbps

  5. Video: 160p30 pada 0,23 Mbps, audio: 48 kbps

720p60 pada 8,5 Mbps

  1. Video: 720p60 pada 3,4 Mbps, audio: passthrough sumber

  2. Video: 480p30 pada 1,4 Mbps, audio: passthrough sumber

  3. Video: 360p30 pada 0,63 Mbps, audio: 64 kbps

  4. Video: 160p30 pada 0,23 Mbps, audio: 48 kbps

720p30 pada 8,5 Mbps

  1. Video: 720p30 pada 2,4 Mbps, audio: passthrough sumber

  2. Video: 480p30 pada 1,4 Mbps, audio: passthrough sumber

  3. Video: 360p30 pada 0,63 Mbps, audio: 64 kbps

  4. Video: 160p30 pada 0,23 Mbps, audio: 48 kbps

Kurang dari 720p30/60 dan lebih besar dari atau sama dengan 480p30/60, pada 8,5 Mbps

  1. Video: 480p30 pada 1,4 Mbps, audio: passthrough sumber

  2. Video: 360p30 pada 0,63 Mbps, audio: 64 kbps

  3. Video: 160p30 pada 0,23 Mbps, audio: 48 kbps

Masukan Video Multitrack

STANDARDsaluran ditransmuxed ketika input adalah video multitrack. Resolusi video tertinggi yang dihasilkan dibatasi oleh multitrackInputConfiguration.maximumResolution properti. Penampilan spesifik bersifat dinamis tergantung pada sistem penyiar dan persyaratan lingkungan.

Untuk semua rendisi video, audio adalah passthrough sumber.

ADVANCED-Saluran HD

ADVANCED-HDsaluran ditranskode. Resolusi video tertinggi yang dihasilkan adalah HD, 720p.

  • Transcode preset: Ada dua, tangga transcode-preset yang dapat dipilih.

  • Audio: Audio ditranskode.

Resolusi Input dan Bitrate Maksimum Detail Tangga

720p60 hingga 1080p60, pada 8,5 Mbps

Transcode preset: pengiriman bandwidth yang lebih tinggi (default):

  1. Video: 720p60 pada 3 Mbps, audio: 128 kbps

  2. Video: 480p30 pada 1,3 Mbps, audio: 128 kbps

  3. Video: 360p30 pada 0,7 Mbps, audio: 64 kbps

  4. Video: 160p30 pada 0,27 Mbps, audio: 48 kbps

  5. Hanya audio pada 64 kbps

Transcode preset: pengiriman bandwidth terbatas:

  1. Video: 720p60 pada 2,2 Mbps, audio: 128 kbps

  2. Video: 480p30 pada 0,8 Mbps, audio: 128 kbps

  3. Video: 360p30 pada 0,4 Mbps, audio: 64 kbps

  4. Video: 160p30 pada 0,22 Mbps, audio: 48 kbps

  5. Hanya audio pada 64 kbps

720p30 hingga 1080p30, pada 8,5 Mbps

Transcode preset: pengiriman bandwidth yang lebih tinggi (default):

  1. Video: 720p30 pada 2,3 Mbps, audio: 128 kbps

  2. Video: 480p30 pada 1,3 Mbps, audio: 128 kbps

  3. Video: 360p30 pada 0,7 Mbps, audio: 64 kbps

  4. Video: 160p30 pada 0,27 Mbps, audio: 48 kbps

  5. Hanya audio pada 64 kbps

Transcode preset: pengiriman bandwidth terbatas:

  1. Video: 720p30 pada 1,9 Mbps, audio: 128 kbps

  2. Video: 480p30 pada 0,8 Mbps, audio: 128 kbps

  3. Video: 360p30 pada 0,4 Mbps, audio: 64 kbps

  4. Video: 160p30 pada 0,22 Mbps, audio: 48 kbps

  5. Hanya audio pada 0,08 Mbps

Kurang dari 720p30/60 dan lebih besar dari 480p30/60, pada 8,5 Mbps

Transcode preset: pengiriman bandwidth yang lebih tinggi (default):

  1. Video: Sumber ditranskode pada 2,3 Mbps, audio: 128 kbps

  2. Video: 480p30 pada 1,3 Mbps, audio: 128 kbps

  3. Video: 360p30 pada 0,7 Mbps, audio: 64 kbps

  4. Video: 160p30 pada 0,27 Mbps, audio: 48 kbps

  5. Hanya audio pada 64 kbps

Transcode preset: pengiriman bandwidth terbatas:

  1. Video: Sumber ditranskode pada 1,9 Mbps, audio: 128 kbps

  2. Video: 480p30 pada 0,8 Mbps, audio: 128 kbps

  3. Video: 360p30 pada 0,4 Mbps, audio: 64 kbps

  4. Video: 160p30 pada 0,22 Mbps, audio: 48 kbps

  5. Hanya audio pada 64 kbps

480p30/60 pada 8,5 Mbps

Transcode preset: pengiriman bandwidth yang lebih tinggi (default):

  1. Video: 480p30 pada 1,3 Mbps, audio: 128 kbps

  2. Video: 360p30 pada 0,7 Mbps, audio: 64 kbps

  3. Video: 160p30 pada 0,27 Mbps, audio: 48 kbps

  4. Hanya audio pada 64 kbps

Transcode preset: pengiriman bandwidth terbatas:

  1. Video: 480p30 pada 0,8 Mbps, audio: 128 kbps

  2. Video: 360p30 pada 0,4 Mbps, audio: 64 kbps

  3. Video: 160p30 pada 0,22 Mbps, audio: 48 kbps

  4. Hanya audio pada 64 kbps

ADVANCEDSaluran -SD

ADVANCED-SDsaluran ditranskode. Rendisi yang tersedia dibatasi pada kualitas input, tanpa konversi naik.

  • Transcode preset: Ada dua, tangga transcode-preset yang dapat dipilih.

  • Audio: Audio ditranskode.

Resolusi Input dan Bitrate Maksimum Detail Tangga

480p30/60 hingga 1080p30/60, pada 8,5 Mbps

Transcode preset: pengiriman bandwidth yang lebih tinggi (default):

  1. Video: 480p30 pada 1,3 Mbps, audio: 128 kbps

  2. Video: 360p30 pada 0,7 Mbps, audio: 64 kbps

  3. Video: 160p30 pada 0,27 Mbps, audio: 48 kbps

  4. Hanya audio pada 64 kbps

Transcode preset: pengiriman bandwidth terbatas:

  1. Video: 480p30 pada 0,8 Mbps, audio: 128 kbps

  2. Video: 360p30 pada 0,4 Mbps, audio: 64 kbps

  3. Video: 160p30 pada 0,22 Mbps, audio: 48 kbps

  4. Hanya audio pada 64 kbps

BASICSaluran

BASICsaluran ditransmuxed. Sebuah rendisi tunggal diproduksi.

  • Transcode preset: NA

  • Audio: Audio sumber dilewatkan.

Resolusi Input dan Bitrate Maksimum Detail Tangga

Lebih besar dari 480p30/60 dan kurang dari atau sama dengan 1080p30/60, pada 3,5 Mbps

Parameter pengkodean sumber (tanpa tangga)

480p30/60 pada 1,5 Mbps

Parameter pengkodean sumber (tanpa tangga)

Pengaturan Video

Kami merekomendasikan pengaturan berikut. Mereka tersedia untuk sebagian besar perangkat lunak atau perangkat keras pengkodean video H.264. APIs

  • Pada encoder video, atur IDR/Keyframe ke interval 2 detik (atau 1 detik, untuk latensi yang lebih rendah end-to-end).

  • Tingkat H.264: Utama

  • Perubahan adegan: Mati (lebih disukai)

  • Subsampel kroma: 0P YUV42

  • CABAC: Diutamakan

  • ColorSpace: BT.709 (direkomendasikan untuk kompatibilitas maksimum di seluruh HDTVs dan tampilan komputer). Transcoding IVS video Amazon mendukung ColorSpace pass-through; pengguna tingkat lanjut dapat menggunakan ColorSpace video lain dan video full-range.

Pengaturan Audio

Kami mendukung pengaturan berikut:

  • Codec: AAC (LC)

  • Bitrate: 96 Kbps hingga 320 Kbps

  • Tingkat sampel: 44,1 Khz atau 48 Khz (yang terbaik adalah mencocokkan aliran audio produksi Anda)

  • Saluran: Maksimum 2 - Stereo (1: mono atau 2: dukungan saluran audio stereo)

GunakanCBR, Tidak VBR

Selalu gunakan CBR (Constant BitRate), not VBR (Variable BitRate), sebagai metode rate-control untuk encoder. CBRlebih cocok untuk sifat jaringan bandwidth tetap, dan menghasilkan pemutaran video yang lebih dapat diprediksi dan stabil untuk perangkat klien. Dengan bitrate yang konsisten, mudah bagi pemirsa untuk memilih tingkat kualitas yang dapat ditangani koneksi mereka dari waktu ke waktu.

Bergantung pada kompleksitas adegan, VBR dapat mengakibatkan lonjakan bitrate, yang dapat menyebabkan penurunan bingkai sebelum video mencapai Amazon IVS dan/atau buffering di pemutar klien.

Kami sangat menyarankan Anda hanya menggunakanCBR. Jika Anda menggunakanVBR, streaming Anda akan lebih tunduk pada buffering dan pemutaran yang tidak mulus.

Gunakan Sinyal Progresif

Gunakan aliran sinyal progresif; hindari video yang saling terkait dalam aliran produksi dan/atau pengkodean. Sinyal aliran progresif menghasilkan kualitas pemutaran yang jauh lebih baik yang menampilkan seluruh bingkai sekaligus, menghindari artefak gerakan apa pun yang dihasilkan saat menampilkan sinyal yang saling terkait.

Persyaratan Jaringan

Anda harus memiliki koneksi internet yang stabil yang dapat mempertahankan aliran unggahan yang memadai dan konstan. Koneksi internet yang tidak stabil dapat menyebabkan aliran tersendat dan tertinggal bagi pemirsa Anda.

Gunakan koneksi kabel. WiFi dan LTE koneksi dapat menjadi jerawatan atau mengalami gangguan atau latensi karena prioritas QoS/antrian paket yang buruk. Bila memungkinkan, andalkan koneksi tertanam untuk streaming.

Rencanakan untuk mengalokasikan bandwidth 50% lebih banyak dari minimum yang dibutuhkan. Overhead ditambahkan untuk mengkompensasi fluktuasi bitrate dalam pengkodean bitstream video.

Gunakan Internet khusus VLAN untuk menyandikan mesin. Menjaga encoder pada jaringan terpisah mencegah efek yang berpotensi mengganggu, termasuk: polusi oleh lalu lintas, hambatan bandwidth dan faktor keamanan yang merugikan.

Keterangan Tertutup

IVSmendukung teks tertutup. Sebagai streamer, jika Anda ingin menawarkan teks kepada audiens Anda, Anda harus mengirimkan data teks dalam format yang diterima, baik yang disematkan di streaming Anda atau di samping streaming Anda, melalui encoder video Anda.

Amazon IVS menerima teks dalam format baris 21 CEA -708/ EIA -608 (juga disebut sebagai 608 lebih dari 708). Anda dapat mengirimkan teks menggunakan salah satu metode berikut:

  • CEA-708/ EIA -608 tertanam dalam aliran dasar video, seperti yang dijelaskan dalam ATSC A/72 (user_data). SEI Format ini umum di antara encoder siaran televisi.

  • CEAEIA-708/-608 ditransmisikan melalui skrip/0 tag. RTMPS onCaptionInfo AMF Format ini umum di antara encoder siaran Internet dan server media seperti Elemental Technologies dan Wowza. Amazon IVS Player SDKs mendukung satu bahasa; mereka tidak mendukung pemutaran teks multi-track.

Catatan: Amazon IVS Player SDKs mendukung data teks hanya di CC1 NTSC bidang 1. Mereka tidak mendukung pemutaran teks multi-track.

Saat mentransmisikan melaluiRTMPS, muatan harus berisi ECMA array dengan dua pasangan elemen:

  • Sebuah string bernama type yang berisi karakter708.

  • Sebuah string bernama data yang berisi payload -708/ -608 yang dikodekan base64CEA. EIA

Sebagai contoh:

00000000 12 00 00 69 00 00 00 00 00 00 00 02 00 0d 6f 6e |...i..........on| 00000010 43 61 70 74 69 6f 6e 49 6e 66 6f 08 00 00 00 02 |CaptionInfo.....| 00000020 00 04 74 79 70 65 02 00 03 37 30 38 00 04 64 61 |..type...708..da| 00000030 74 61 02 00 3c 74 51 41 78 52 30 45 35 4e 41 4e |ta..<tQAxR0E5NAN| 00000040 4c 41 50 79 55 72 76 79 55 49 50 79 52 51 50 7a |LAPyUrvyUIPyRQPz| 00000050 49 35 66 7a 73 37 50 7a 76 4c 50 77 67 56 50 7a |I5fzs7PzvLPwgVPz| 00000060 33 36 66 7a 30 34 2f 78 6f 67 50 79 55 4c 2f 38 |36fz04/xogPyUL/8| 00000070 3d 00 00 09 00 00 00 74 |=......t|

Jika Anda menggunakan encoder video Elemental, atur sebagai berikut:

  • Setel embed caption ke “capture 608 Field 1.”

  • Sematkan keterangan dengan onCaptionInfosebagai RTMPS tag di grup keluaran.

Untuk informasi selengkapnya, lihat posting blog Menambahkan Teks Tertutup ke Amazon IVS Live Stream.

Streaming dengan FFmpeg

FFmpegadalah proyek sumber terbuka gratis yang terdiri dari serangkaian pustaka perangkat lunak yang luas untuk menangani video, audio, dan file dan aliran multimedia lainnya. Ini dapat digunakan dengan banyak sistem operasi dan perangkat.

Lihat situs FFmpegweb untuk instalasi dan informasi lainnya tentangFFmpeg. Gunakan build statis terbaru (jangan kompilasi).

Setelah menginstal, pilih sumber input audio/video untuk. FFmpeg Anda dapat mencari apa yang tersedia, sebagai berikut:

ffmpeg -list_devices true -f dshow -i dummy.

Untuk informasi lebih lanjut, lihat di sini. Bergantung pada apa yang tersedia dan metode penangkapan apa yang ditargetkan, Anda harus dapat menangkap video/audio (disematkan) langsung dari perangkat yang Anda pilih dan menyandikan sinyal. FFmpeg Sebagai contoh:

  • Webcam — Untuk menangkap output dari webcam Logitech C920:

    ffmpeg -f dshow -video_size 1920x1080 -framerate 30 -i video="HD Pro Webcam C920":audio="Microphone (HD Pro Webcam C920)" -c:v libx264 -b:v 6000K -maxrate 6000K -pix_fmt yuv420p -r 30 -s 1920x1080 -profile:v main -preset veryfast -g 120 -x264opts "nal-hrd=cbr:no-scenecut” -acodec aac -ab 160k -ar 44100 -f flv rtmps://<IVS-ingest-server>/<IVS-stream-key>
  • File video - FFmpeg bekerja dengan banyak format file video dan kartu pengambilan. Berikut adalah contoh streaming berdasarkan MP4 input:

    ffmpeg -re -i input.mp4 -c:v libx264 -b:v 6000K -maxrate 6000K -pix_fmt yuv420p -s 1920x1080 -profile:v main -preset veryfast -force_key_frames expr:gte(t,n_forced*2) -x264opts "nal-hrd=cbr:no-scenecut” -acodec aac -ab 160k -ar 44100 -f flv rtmps://<IVS-ingest-server>/app/<IVS-stream-key>

Untuk informasi selengkapnya tentang apa yang harus dimasukkan <IVS-ingest-server> dan<IVS-stream-key>, lihat informasi tentang pengaturan perangkat lunak streaming langsung di. Memulai dengan Streaming IVS Latensi Rendah Sebagai contoh:

  • Server tertelan: rtmps://jds34ksdg3las.global-contribute.live-video.net/app/

  • Kunci aliran: sk_us-west-2_abcd1234efgh5678ijkl

Pengambilalihan Aliran

Pengambilalihan aliran memungkinkan pengguna untuk mengganti aliran yang sedang berlangsung pada saluran yang mereka miliki dengan aliran baru. Selama proses ini, aliran sebelumnya tidak pernah terputus, itu hanya digantikan oleh aliran baru. Ini memungkinkan pengguna untuk terhubung dengan mulus ke aliran baru tanpa harus menunggu hingga aliran yang sedang berlangsung terputus sepenuhnya.

Proses pengambilalihan aliran memperpanjang sesi streaming yang sedang berlangsung tetapi tidak memulai yang baru. Ini mempertahankan kontinuitas streaming tanpa mengharuskan pemirsa untuk menyegarkan pemain, meskipun mereka mungkin mengalami status buffering singkat. Tidak ada diskontinuitas dalam rekaman sesi aliran selama pengambilalihan aliran terjadi.

Untuk memulai pengambilalihan aliran, tambahkan priority URL parameter ke kunci aliran pengguna. Kunci aliran menjadi<IVS-stream-key>?priority=<priority>, di mana <priority> adalah bilangan bulat positif antara 1 dan 2.147.483.647.

URISintaks untuk menggunakan pengambilalihan aliran dengan RTMPS protokol adalah:

rtmps://<uri>/<streamkey>?priority=N

Untuk SRT ingest, URI sintaks untuk pengambilalihan aliran adalah:

srt://<uri>?streamid=#!::u=<streamkey>,priority=N&passphrase=foobar

Pengambilalihan berhasil jika bilangan bulat prioritas yang disediakan untuk aliran baru lebih besar dari bilangan bulat prioritas untuk aliran yang sedang berlangsung, atau jika tidak ada bilangan bulat prioritas sebelumnya yang ditetapkan. Juga, aliran lama dan baru harus berbagi resolusi yang sama, codec video, codec audio, dan jumlah trek.

Secara default, hingga 100 pengambilalihan dapat dilakukan dalam satu aliran, selama bilangan bulat prioritas yang lebih besar digunakan untuk setiap pengambilalihan berturut-turut. Jumlah maksimum pengambilalihan aliran dapat disesuaikan per AWS akun (lihat Service Quotas). Setelah streaming selesai, saluran tidak menyimpan memori bilangan bulat prioritas sebelumnya atau berapa banyak pengambilalihan yang dilakukan, sehingga bilangan bulat prioritas apa pun dapat digunakan kembali di aliran masa depan. Juga, jika pengaturan encoder diubah untuk pengambilalihan aliran, sesi streaming tidak menyimpan memori pengaturan encoder sebelumnya, hanya menampilkan pengaturan terbaru.

Jika fitur sambung ulang otomatis diaktifkan, siaran IVS seluler SDKs menggunakan pengambilalihan aliran untuk menyambung kembali secara otomatis saat penyiar beralih jaringan (misalnya, dari ke seluler). WiFi Untuk mengaktifkan sambung ulang otomatis:

  • Di iOS, atur config.autoReconnect.enabled = true IVSBroadcastConfiguration objek Anda.

  • Di Android, atur config.autoReconnect.setEnabled(true) BroadcastConfiguration objek Anda.

Pertimbangan untuk Menggunakan Auto-Reconnect dan Streaming Takeover Bersama

Ketika SDK pelanggan siaran seluler mengaktifkan koneksi ulang otomatis seperti yang dijelaskan di atas, streamer yang sedang berlangsung (Penyiar A) akan mencoba menyambung kembali hingga 5 kali setelah gangguan jaringan, dimulai dengan priority=1 dan meningkatkan prioritas dengan setiap upaya penyambungan kembali. Proses ini memungkinkan siaran untuk secara otomatis pulih pada jaringan yang tidak stabil dengan secara bertahap meningkatkan prioritas dengan setiap koneksi kembali yang berhasil.

Namun, karena sifat tambahan dari perilaku sambung ulang otomatis, menjadi tantangan bagi penyiar lain (Penyiar B) untuk berhasil menggunakan pengambilalihan aliran ketika penyiar asli menggunakan sambungan ulang otomatis. Nilai prioritas yang diperlukan untuk memastikan pengambilalihan yang berhasil tidak dapat diprediksi, karena upaya penyambungan kembali oleh Broadcaster A meningkatkan nilai prioritas dengan setiap percobaan ulang selama durasi streaming.

Catatan: Kami tidak menyarankan penggunaan pengambilalihan aliran untuk mengganti aliran dari siaran seluler SDK saat penyambungan ulang otomatis diaktifkan, karena Anda harus mengelola atau menyimpan catatan prioritas yang diperlukan untuk pengambilalihan. Meskipun menetapkan nilai prioritas besar mungkin berhasil pada awalnya, itu bisa menciptakan tantangan jika pengambilalihan lain diperlukan nanti. Sebaiknya pertahankan sambungan ulang otomatis untuk Broadcaster A selama ketidakstabilan jaringan dan pengambilalihan aliran oleh Broadcaster B sebagai kasus penggunaan yang berbeda.

Streaming dengan Amazon IVS Broadcast SDK

IVSSiaran Amazon SDK adalah untuk pengembang yang sedang membangun aplikasi Android, iOS, atau Web dengan AmazonIVS. Lihat SDK dokumentasi siaran di Panduan IVS Pengguna Amazon, mulai dari sini. Ada subhalaman dengan panduan untuk Android, iOS, dan streaming Web. Siaran SDKs memungkinkan Anda untuk menyesuaikan bitrate, frame rate, dan resolusi.

Menguji Stream

Selalu verifikasi bahwa streaming Anda berfungsi.

Arahkan ke streaming video di IVSkonsol Amazon, untuk menonton apa yang sedang dialirkan dan mengelola streaming langsung.