Alibaba Cloud Player SDK untuk Android mendukung pemutaran live stream standar dalam format seperti RTMP, FLV, dan HLS. Topik ini menjelaskan cara mengimplementasikan pemutaran live stream standar.
Untuk informasi lebih lanjut tentang fitur, dokumentasi API, dan FAQ, lihat Player for Android.
Prosedur
Langkah 1: Integrasi SDK
Untuk mengintegrasikan SDK, lihat Integrasi Player SDK untuk Android.
Langkah 2: Implementasi pemutaran live stream
Mulai.
Untuk mengimplementasikan pemutaran dasar, lihat Panduan Cepat untuk Player for Android.
Tetapkan sumber live stream.
Player SDK untuk Android mendukung dua metode pemutaran live stream: pemutaran UrlSource dan pemutaran terenkripsi.
Pemutaran live stream menggunakan UrlSource
Untuk memutar live stream menggunakan metode UrlSource, atur properti setUrl pemain ke URL streaming. URL tersebut dapat berupa URL streaming pihak ketiga atau URL streaming dari ApsaraVideo Live.
Anda dapat menghasilkan URL streaming ApsaraVideo Live di Konsol menggunakan Pembuat URL. Untuk informasi lebih lanjut, lihat Pembuat URL.
UrlSource urlSource = new UrlSource(); urlSource.setUri("URL Pemutaran");// URL pemutaran. Ini bisa berupa URL streaming pihak ketiga atau URL streaming dari ApsaraVideo Live. aliPlayer.setDataSource(urlSource);Pemutaran live stream dengan enkripsi DRM
Untuk informasi selengkapnya tentang pemutaran live stream dengan enkripsi DRM, lihat Cara memutar video yang dienkripsi.
Tetapkan beberapa definisi.
CatatanFitur ini mendukung URL pemutaran dari ApsaraVideo Live atau URL aliran yang telah dikodekan ulang. Dukungan untuk default dan transkoding kustom tersedia. Untuk informasi lebih lanjut tentang transkoding live stream, lihat Manajemen Transkoding. Untuk informasi tentang cara mendapatkan URL, lihat Hasilkan URL ingest dan URL streaming.
Pengalihan antar definisi berbeda didukung untuk live stream yang menggunakan Alibaba Real-Time Communication (ARTC) atau protokol FLV.
Tetapkan ukuran group of pictures (GOP) untuk ingest aliran menjadi 1 dtk atau 2 dtk. Ukuran yang lebih besar dapat menyebabkan lompatan saat Anda beralih aliran.
Untuk nama domain pemutaran, aktifkan opsi berikut: Keluarkan timestamp RTMP selama pemutaran FLV dan Keluarkan timestamp RTMP setelah upstream terputus. Untuk konfigurasi transkoding, aktifkan opsi berikut: Timestamp mengikuti sumber dan Keyframe mengikuti sumber. Jika tidak, pengalihan aliran akan gagap atau gagal. Untuk mengaktifkan opsi ini, ajukan tiket.
Beralih ke URL aliran yang tidak memenuhi persyaratan sebelumnya akan gagal.
Definisi switch
Anda dapat memanggil metode
switchStreamuntuk beralih definisi. Kirim URL yang sesuai dengan definisi baru.aliPlayer.switchStream(newUrl);Notifikasi pengalihan definisi
Pemain mengembalikan callback saat pengalihan definisi berhasil atau gagal.
aliPlayer.setOnStreamSwitchedListener(new IPlayer.OnStreamSwitchedListener() { @Override public void onSwitchedSuccess(String url) { Log.i("SwitchStream", "switch success, url = " + url); } @Override public void onSwitchedFail(String url, ErrorInfo errorInfo) { Log.i("SwitchStream", "switch failed, url = " + url + ", error=" + errorInfo.getMsg()); } });