Real-Time Streaming (RTS) adalah fitur bernilai tambah dari ApsaraVideo Live yang memungkinkan latensi tingkat milidetik untuk jutaan penonton bersamaan melalui SDK Pemutar Video Apsara. RTS mengatasi latensi 3 hingga 6 detik yang umum terjadi pada streaming langsung tradisional, sehingga menghadirkan latensi ultra-rendah, gangguan tersendat minimal, dan pemutaran instan.
Untuk informasi lebih lanjut mengenai fitur, dokumentasi API, dan FAQ, lihat iOS Player.
Pemutaran RTS
SDK iOS Player mengintegrasikan SDK RTS native untuk mengaktifkan streaming langsung berlatensi rendah. Untuk informasi lebih lanjut, lihat Implementasi penarikan aliran RTS di iOS.
Untuk contoh kode, lihat modul Pemutaran Langsung Latensi Ultra-Rendah RTS (RtsLiveStream) dalam proyek contoh API-Example, yaitu proyek contoh Objective-C yang menunjukkan fitur inti SDK iOS Player.
RTS multi-definisi
-
Fitur ini mendukung URL pemutaran dari ApsaraVideo Live dan URL aliran yang telah dikodekan ulang yang dihasilkan melalui transkoding default atau kustom. Untuk informasi lebih lanjut mengenai transkoding streaming langsung, lihat Manajemen Transkoding. Untuk informasi tentang cara memperoleh URL streaming, lihat Hasilkan URL Streaming.
-
Pengalihan definisi didukung untuk aliran langsung yang menggunakan protokol RTS dan HTTP-FLV.
-
Atur ukuran Group of Pictures (GOP) untuk pengambilan aliran menjadi 1 atau 2 detik. Ukuran GOP yang lebih besar dapat menyebabkan lompatan saat Anda mengalihkan aliran.
-
Untuk nama domain pemutaran, aktifkan opsi Output RTMP timestamp during FLV playback dan Output RTMP timestamp after upstream disconnection. Untuk konfigurasi transkoding, aktifkan opsi Timestamp follows source dan Keyframe follows source. Jika tidak, pengalihan aliran mungkin tersendat atau gagal. Untuk mengaktifkan opsi ini, kirimkan tiket.
-
Jika Anda beralih ke URL aliran yang tidak memenuhi persyaratan di atas, pengalihan akan gagal.
Definisi Switch
Untuk mengalihkan definisi, panggil metode switchStream dan berikan URL definisi baru.
// Mulai pemutaran.
[self.player setUrlSource:oldUrl];
[self.player prepare];
[self.player start];
// Alihkan ke URL lain selama pemutaran.
[self.player switchStream:newUrl];
Notifikasi Pengalihan Resolusi
Callback berikut memberi tahu Anda mengenai keberhasilan dan kegagalan pengalihan definisi.
// Callback untuk pengalihan yang berhasil.
- (void)onStreamSwitchedSuccess:(AliPlayer*)player URL:(NSString*)URL;
// Callback untuk pengalihan yang gagal.
- (void)onStreamSwitchedFail:(AliPlayer*)player URL:(NSString*)URL errorModel:(AVPErrorModel *)errorModel;