Topik ini menjelaskan cara menggunakan Real-Time Streaming (RTS) untuk mengurangi latensi streaming langsung menjadi di bawah 400 ms dan memberikan pengalaman menonton yang lancar serta real-time kepada penonton.
Ikhtisar
Solusi streaming langsung ini dibangun di atas Global Realtime Transport Network (GRTN) Alibaba Cloud dan menggunakan protokol WebRTC untuk mencapai latensi end-to-end sebesar 200–400 ms. Solusi ini juga terintegrasi secara mulus dengan streaming langsung standar guna memastikan kompatibilitas maju.
Raih latensi end-to-end 200–400 ms dengan RTS:
-
Seorang streamer merekam konten langsung dan menggunakan Push SDK untuk mengirimkan aliran ke Titik Kehadiran (POP) Alibaba Cloud terdekat melalui protokol WebRTC.
-
Aliran tersebut ditransmisikan secara real-time melalui lebih dari 3.200 node di GRTN menggunakan teknologi perutean cerdas dan Quality of Service (QoS).
-
Penonton menarik aliran dari Titik Kehadiran (POP) Alibaba Cloud terdekat melalui protokol WebRTC untuk pemutaran, sehingga mencapai latensi end-to-end sebesar 200–400 ms.
(Opsional) Aktifkan relay aliran untuk mendukung pemrosesan media, RTS, dan streaming langsung standar:
-
Setelah Anda mengaktifkan relay aliran, ApsaraVideo Live secara otomatis melakukan transmux terhadap aliran yang masuk untuk menghasilkan aliran RTMP.
-
Anda dapat mengonfigurasi layanan media untuk aliran ini, seperti transkoding, perekaman, dan pengambilan snapshot.
-
Jika Anda ingin mempertahankan penarikan aliran berlatensi rendah, Anda dapat menggunakan RTS. Penonton tetap dapat menarik aliran melalui WebRTC untuk mendapatkan latensi end-to-end sebesar 400–800 ms.
-
Jika Anda ingin menggunakan streaming langsung standar, Anda dapat menarik aliran untuk diputar menggunakan protokol seperti RTMP, FLV, dan HLS.
Implementasi
Prasyarat
-
Anda telah mengaktifkan layanan ApsaraVideo Live. Untuk informasi selengkapnya, lihat Aktifkan ApsaraVideo Live.
-
Anda telah mengonfigurasi domain ingest dan domain streaming. Untuk informasi selengkapnya, lihat bagian "Tambahkan domain ingest dan domain streaming", "Konfigurasikan rekaman CNAME", dan "Asosiasikan domain ingest dengan domain streaming" dalam Memulai ApsaraVideo Live.
Konfigurasikan sertifikat HTTPS untuk domain
Topik ini menggunakan demo berbasis browser untuk ingest dan penarikan aliran. WebRTC di browser memerlukan HTTPS demi keamanan. Oleh karena itu, Anda harus mengonfigurasi sertifikat HTTPS untuk domain ingest dan domain streaming Anda. Untuk petunjuknya, lihat Konfigurasikan percepatan aman HTTPS.
Jika Anda menggunakan SDK native untuk ingest dan pemutaran aliran, Anda tidak perlu mengonfigurasi sertifikat HTTPS.
Aktifkan Real-Time Streaming (RTS)
-
Masuk ke Konsol ApsaraVideo Live.
-
Di panel navigasi kiri, klik Live +> RTS.
-
Pilih domain streaming.
-
Nyalakan sakelar RTS dan pilih Latensi setengah detik (latensi end-to-end 200–400 ms).
Setelah Anda memilih Latensi setengah detik, hanya ingest dan pemutaran aliran melalui protokol ARTC yang didukung. Streaming langsung standar, ingest aliran melalui RTMP, dan fitur cloud seperti transkoding dan perekaman dinonaktifkan untuk domain streaming saat ini.
Buat URL ingest dan pemutaran
Metode 1: Buat URL di konsol
Setelah Anda mengaktifkan RTS, Anda dapat membuka tool pengujian streaming dan klik Generate URLs. Masukkan AppName dan StreamName untuk membuat URL ingest dan pemutaran RTS berbasis ARTC.
Di halaman konfigurasi, pilih domain streaming dan domain ingest yang terkait dengannya. Di bagian Latency goal, pilih sub-second latency (latensi end-to-end: 400–800 ms) atau Half-second latency (latensi end-to-end: 200–400 ms). Jika Anda memerlukan pemutaran HTTPS, pastikan Anda telah mengonfigurasi sertifikat SSL dan header respons Access-Control-Allow-Origin. Baik URL ingest maupun URL pemutaran yang dihasilkan dimulai dengan artc://.
Metode 2: Susun URL secara manual
Untuk menyusun URL secara manual, kumpulkan informasi berikut: domain ingest, domain streaming, AppName, StreamName, ID templat transkoding (jika berlaku), dan string autentikasi (jika berlaku).
|
Jenis URL |
Format URL |
Aturan penyusunan |
|
Ingest URL |
Mendukung RTMP, RTS, dan SRT. Kami merekomendasikan penggunaan RTMP untuk ingest. Contoh: RTMP: Catatan
RTS mendukung penarikan aliran menggunakan URL dalam format RTS. |
Domain ingest + AppName + StreamName + String autentikasi |
|
Streaming URL |
Mendukung RTMP, FLV, M3U8, dan RTS. Kami merekomendasikan penggunaan RTS untuk pemutaran. Contoh: RTS: |
Domain streaming + AppName + StreamName + String autentikasi |
|
URL aliran yang telah dikodekan ulang Catatan
Jika Anda menggunakan templat transkoding, Anda harus menyusun URL streaming menggunakan format ini. |
Mendukung RTMP, FLV, M3U8, dan RTS. Kami merekomendasikan penggunaan RTS untuk pemutaran. Contoh: RTS: |
Domain streaming + AppName + StreamName_ID templat transkoding + String autentikasi |
-
Untuk domain ingest dan domain streaming yang diasosiasikan, Anda dapat melakukan ingest dan memutar aliran selama AppName dan StreamName-nya sama untuk keduanya.
-
URL aliran yang telah dikodekan ulang memerlukan templat transkoding. Temukan ID templat di konsol. Transkoding aliran langsung.
-
String autentikasi (auth_key) dihasilkan oleh algoritma autentikasi MD5. Autentikasi URL harus diaktifkan. Komponen URL terautentikasi.
-
Ganti {transcoding_template_ID} atau {authentication_string} dengan data aktual, dan hilangkan tanda kurung kurawal {} dari URL akhir.
Lakukan ingest aliran RTS
Integrasikan salah satu Push SDK berikut:
|
Push SDK RTS |
Referensi |
|
Push SDK untuk iOS |
Catatan
Push SDK untuk iOS mendukung ingest aliran berbasis WebRTC secara default. |
|
Push SDK untuk Android |
Catatan
Push SDK untuk Android mendukung ingest aliran berbasis WebRTC secara default. |
|
Gunakan OBS untuk ingest aliran melalui protokol WHIP |
Langkah-langkah berikut menjelaskan cara menggunakan demo web untuk ingest aliran RTS:
-
Di demo tersebut, pilih mode Stream ingest.
-
Dari daftar drop-down none, pilih camera atau screen sesuai kebutuhan Anda.
Jika Anda memilih camera, klik tombol Microphone dan Camera untuk memberikan izin browser yang diperlukan. Setelah memberikan izin, pilih perangkat Anda dari daftar drop-down microphone dan camera.
-
Masukkan URL ingest RTS yang telah Anda buat pada langkah Buat URL ingest dan pemutaran dan klik Create Local Stream.
-
Klik Start untuk memulai ingest aliran.
Mainkan aliran RTS
Integrasikan salah satu SDK Pemutar Video Apsara berikut:
|
RTS Player SDK |
Referensi |
|
SDK Pemutar Video Apsara untuk Web |
|
|
SDK Pemutar Video Apsara untuk iOS |
|
|
SDK Pemutar Video Apsara untuk Android |
|
|
SDK Pemutar Video Apsara untuk Flutter |
|
|
SDK Pemutar Video Apsara untuk Windows |
Catatan
Untuk mendapatkan SDK Pemutar Video Apsara untuk Windows, hubungi tim penjualan kami. |
Langkah-langkah berikut menjelaskan cara menggunakan demo web untuk pemutaran RTS:
-
Di demo tersebut, pilih mode Stream pull.
-
Masukkan URL pemutaran RTS yang telah Anda buat pada langkah Buat URL ingest dan pemutaran.
-
Klik Start.
(Opsional) Konfigurasikan relay aliran
-
Di halaman pengaturan RTS, pilih Latensi setengah detik (latensi end-to-end 200–400 ms).
-
Klik Configure Stream Relay, nyalakan sakelar, dan pilih domain ingest lain untuk menerima aliran RTMP yang direlay.
Sebagai contoh, domain ingest tujuan adalah push.example.com, dan domain streaming yang terkait dengannya adalah pull.example.com.
-
Mode RTS Latensi setengah detik tidak dapat diaktifkan untuk domain ingest tujuan atau domain streaming yang terkait dengannya.
-
Tidak ada biaya yang dikenakan untuk relay aliran internal.
(Opsional) Konfigurasikan layanan media untuk aliran yang direlay
Setelah Anda mengonfigurasi relay aliran, Anda dapat mengonfigurasi templat pemrosesan media untuk domain streaming (pull.example.com) yang diasosiasikan dengan domain ingest tujuan.
Di panel navigasi kiri Konsol ApsaraVideo Live, klik Feature Management dan pilih fitur yang ingin Anda konfigurasi.
Bagian Feature Management mencakup item konfigurasi untuk fitur-fitur seperti Live Recording, Live Transcoding, Live Watermark, Live Snapshot Capture, Live Time Shifting, Content Moderation, Live Packaging, Real-time Subtitles (pratinjau publik), Edge Transcoding, DRM Management, Callback Management, dan Stream Pull and Relay.
(Opsional) Mainkan aliran yang direlay dengan protokol standar
Setelah aliran direlay, Anda dapat menggunakan domain streaming (pull.example.com) yang diasosiasikan dengan domain ingest tujuan untuk memutar aliran asli atau aliran yang telah dikodekan ulang menggunakan streaming langsung standar (RTMP, FLV, atau HLS). Untuk informasi selengkapnya, lihat Mainkan aliran langsung standar.