Alibaba Cloud Player SDK untuk iOS mendukung pemutaran streaming langsung standar dalam format seperti RTMP, FLV, dan HLS. Topik ini menjelaskan cara mengimplementasikan fitur tersebut.
Untuk informasi lebih lanjut tentang fitur, dokumentasi API, dan FAQ, lihat Player untuk iOS.
Prosedur
Langkah 1: Integrasikan SDK
Untuk informasi lebih lanjut, lihat Integrasi Player SDK untuk iOS.
Langkah 2: Implementasikan pemutaran streaming langsung
Mulai.
Untuk informasi lebih lanjut tentang cara mengimplementasikan pemutaran dasar, lihat Memulai dengan Player untuk iOS.
Tetapkan sumber streaming langsung.
Player SDK untuk iOS mendukung dua metode pemutaran untuk streaming langsung: pemutaran dari sumber URL dan pemutaran terenkripsi.
Pemutaran streaming langsung dari sumber URL
Untuk memutar streaming langsung dari URL, atur properti sumber pemain ke URL streaming. URL streaming dapat berasal dari layanan pihak ketiga atau dari ApsaraVideo Live.
Anda dapat menggunakan Pembuat URL di konsol ApsaraVideo Live untuk menghasilkan URL streaming. Untuk informasi lebih lanjut, lihat Pembuat URL.
AVPUrlSource *urlSource = [[AVPUrlSource alloc] urlWithString:url]; // Diperlukan. URL pemutaran. Ini bisa berupa URL streaming dari layanan pihak ketiga atau dari ApsaraVideo Live. [self.player setUrlSource:urlSource];Pemutaran streaming langsung terenkripsi DRM
Untuk informasi lebih lanjut tentang pemutaran streaming langsung terenkripsi DRM, lihat Putar Video Terenkripsi.
Tetapkan beberapa definisi.
CatatanFitur ini mendukung URL pemutaran dari ApsaraVideo Live atau URL aliran yang telah dikodekan ulang. Baik transkoding default maupun transkoding kustom didukung. Untuk informasi lebih lanjut tentang transkoding streaming langsung, lihat Manajemen Transkoding. Untuk informasi lebih lanjut tentang cara memperoleh URL, lihat Hasilkan URL Ingest dan Streaming.
Pengalihan resolusi didukung untuk streaming langsung yang menggunakan protokol Alibaba Real-Time Communication (ARTC) atau protokol FLV.
Ukuran grup gambar (GOP) untuk stream ingest harus diatur ke 1 s atau 2 s. Ukuran GOP yang lebih besar dapat menyebabkan pemutaran melompat saat Anda beralih stream.
Untuk nama domain pemutaran, Anda harus mengaktifkan opsi berikut: Output timestamp RTMP untuk pemutaran FLV dan Output timestamp RTMP setelah upstream terputus. Untuk konfigurasi transkoding, Anda harus mengaktifkan opsi berikut: Timestamp mengikuti sumber dan Keyframe mengikuti sumber. Jika opsi ini tidak diaktifkan, pergantian stream mungkin tersendat atau gagal. Untuk mengaktifkan opsi ini, ajukan tiket.
Jika Anda beralih ke URL stream yang tidak memenuhi persyaratan ini, pergantian akan gagal.
Definisi switch
Untuk beralih definisi, panggil metode
switchStreamdan lewati URL stream dengan definisi baru.[self.player switchStream:newUrl];Notifikasi pergantian definisi
Callback disediakan untuk pergantian definisi yang berhasil dan gagal.
// Callback untuk pergantian yang berhasil. - (void)onStreamSwitchedSuccess:(AliPlayer*)player URL:(NSString*)URL; // Callback untuk pergantian yang gagal. - (void)onStreamSwitchedFail:(AliPlayer*)player URL:(NSString*)URL errorModel:(AVPErrorModel *)errorModel;