Blog AWS Indonesia

Menambahkan beberapa host pada live stream dengan Amazon IVS

Amazon Web Services (AWS) pada 2020 telah merilis Amazon Interactive Video Service (Amazon IVS), sebuah solusi managed live streaming yang membantu developer untuk membangun aplikasi video interaktif. Kini developer menggunakan IVS untuk membangun app pada berbagai bidang termasuk media sosial, ecommerce, dan fitness. Live streaming kolaboratif telah menjadi salah satu tren sejak Amazon IVS diluncurkan. Perusahaan seperti Twitch telah merilis fitur seperti Guest Star yang membuat streamer dapat mengajak penonton untuk bergabung pada live stream mereka, ini membuat konten lebih menarik dan partisipatif.

Ketika kolaboratif live streaming menjadi populer, kami menerima permintaan dari developer untuk sebuah layanan yang dapat mengkombinasikan video dari beberapa host (penyiar) menjadi satu live stream. Kami cukup antusias untuk melihat developer mendorong perkembangan dari live streaming interaktif, kami juga melihat potensi dari multi-host live stream. Kami juga sadar jika membuat solusi ini cukup kompleks karena perlu dilakukan kombinasi antara live streaming dan teknologi video real-time.

Untuk memenuhi kebutuhan ini, kami dengan senang hati mengumumkan bahwa developer sekarang dapat menambahkan beberapa host ke live streaming mereka dengan Amazon IVS. Sebagai bagian dari update ini, Amazon IVS menambahkan resource baru yang disebut stage. Stage adalah ruang virtual di mana peserta dapat bertukar audio dan video secara real time. Anda kemudian dapat membroadcast stage ke channel untuk menjangkau audiens yang lebih besar dan Anda dapat membangun aplikasi di mana audiens dapat dibawa “ke stage” untuk berkontribusi pada percakapan langsung. Contoh penggunaan meliputi:

  • Guest Spot – Streamer dapat mengundang audiens ke broadcast.
  • Versus Mode — Streamer dipadankan satu sama lain untuk bersaing dalam kompetisi menyanyi, trivia, atau tantangan lainnya.
  • Group Broadcast — Beberapa pembicara dapat berkomunikasi satu sama lain di depan audiens yang besar.

Dalam posting blog ini, kami memberikan contoh bagaimana developer dapat menggunakan fungsionalitas baru untuk memungkinkan Guest Spot. Posting ini mencakup Android, tetapi Amazon IVS Broadcast SDK untuk iOS dan web juga menyertakan stage API. Contoh kode untuk iOS dan Android tersedia secara open-source:

Sebagai tambahan, serverless backend yang dibuat untuk aplikasi ini tersedia secara open-source pada repositori:

Contoh aplikasi Android

Contoh aplikasi Android ini menunjukkan bagaimana developer dapat menggunakan Amazon IVS untuk mengaktifkan multi-host yang memungkinkan pengguna melakukan live streaming dengan beberapa audiens yang berinteraksi satu sama lain secara real time dengan teks, video, dan audio. Setelah Anda clone dan mensetup demo Android, Anda dapat menjalankan aplikasi di Virtual Device Android, atau ponsel Android dan membuat sesi stage di aplikasi yang dapat diikuti orang lain.

Aplikasi ini akan meminta izin untuk mengakses mikrofon dan kamera, dan memungkinkan Anda untuk memasukkan nama pengguna dan memilih avatar. Setelah Anda berada di layar “Stages”, memilih “Create a new stage” akan membuat sesi stage yang dapat dipilih pengguna lain di aplikasi untuk bergabung.

Pengguna yang telah membuat sesi dapat menggabungkan video stream dari video mereka sendiri dan audiens ke sebuah IVS channel, ini membuat audiens dapat melihat live stream mereka dan audiens mereka.

Gambaran umum arsitektur

Arsitektur keseluruhan dari contoh aplikasi Android dan serverless backend yang menyertainya memiliki tiga bagian utama, seperti yang diilustrasikan oleh diagram berikut.

Bagian paling kiri mewakili aplikasi Android yang digunakan peserta untuk bertukar video dan audio secara real time. Bagian tengah mewakili aplikasi backend serverless, dan bagian paling kanan mewakili aplikasi pemutar, yang merupakan aplikasi JavaScript menggunakan Amazon IVS Player SDK.

Saat pengguna di aplikasi Android membuat stage, aplikasi akan mengirimkan permintaan ke endpoint Amazon API Gateway, yang memanggil fungsi AWS Lambda. Fungsi Lambda membuat resource Amazon IVS yang diperlukan dan mengembalikan token terenkripsi yang dapat digunakan aplikasi Android untuk bergabung dengan Amazon IVS stage dan chat room yang dibuat. Entri Amazon DynamoDB juga dibuat untuk melacak resource Amazon IVS yang dibuat sehingga pengguna lain dapat melihat dan bergabung di stage.

Saat pengguna melakukan sebuah streaming stage, aplikasi Android akan memanggil metode di Amazon IVS Broadcast SDK broadcastSession.start(), yang melakukan stream stage langsung ke channel Amazon IVS. Saat stage distream, audiens dapat menonton streaming langsung stage tersebut menggunakan Amazon IVS Player SDK.

Ketika semakin banyak guest yang bergabung dalam sesi, aplikasi akan secara otomatis memasukkan mereka ke dalam broadcast, memungkinkan audiens di luar stage untuk menonton dan mengobrol dengan para guest saat mereka berinteraksi. Meskipun implementasi sampel ini ditujukan untuk tujuan referensi, arsitektur dan pendekatan keseluruhan ini menunjukkan bagaimana Anda dapat mulai membangun aplikasi multi-host menggunakan Amazon IVS dan AWS.

Kesimpulan

Postingan blog ini berfungsi sebagai salah satu contoh bagaimana developer dapat menggunakan fitur video real-time baru Amazon IVS untuk membuat live streaming dengan beberapa host. Buka panduan Mengaktifkan Beberapa Host di Stream untuk informasi lebih rinci tentang API. Seperti biasa, kami ada di AWS re:Post untuk menjawab pertanyaan Anda.

Artikel ini diterjemahkan dari artikel asli dengan judul “Add multiple hosts to live streams with Amazon IVS” yang ditulis oleh Principal Product Manager, Amazon IVS & Twitch dan Senior Design Technologist, Amazon IVS & Twitch.

Rio Astamal

Rio Astamal

Rio Astamal is a Developer Advocate at AWS and a passionate web developer since 2003. In his spare time he loves writing small open source projects to solve problem in his daily activity.