ApsaraVideo Player SDK merupakan komponen dari MediaBox Audio and Video SDK yang menyediakan kemampuan pemutaran video untuk skenario streaming langsung dan video sesuai permintaan (VOD). SDK ini mendukung berbagai platform, termasuk Web, Android, iOS, Flutter, HarmonyOS, Windows, dan macOS. Topik ini menjelaskan fitur-fitur ApsaraVideo Player SDK.
Mulai 14 Februari 2025 (versi 7.0.0), Edisi Profesional ApsaraVideo Player SDK seluler tersedia selain Edisi Standar. Untuk memperoleh Edisi Profesional, hubungi tim pengembangan bisnis kami. Setelah menerima lisensi, ikuti petunjuk dalam Mengaktifkan lisensi pemutar untuk mengaktifkannya.
Jika pengeluaran Anda untuk sumber daya ApsaraVideo VOD, ApsaraVideo Live, atau Intelligent Media Services mencapai jumlah tertentu, Anda dapat memperoleh lisensi gratis selama satu tahun untuk Edisi Profesional ApsaraVideo Player SDK. Untuk informasi lebih lanjut, lihat Penagihan ApsaraVideo Player SDK.
Lisensi baru untuk Edisi Profesional ApsaraVideo Player SDK seluler hanya mendukung versi 7.0.0 dan yang lebih baru. Pastikan versi SDK yang terintegrasi dalam aplikasi Anda sebelum memperoleh lisensi.
Fitur standar
Bagian ini menjelaskan fitur standar ApsaraVideo Player SDK dengan menggunakan klien Web, Android, iOS, Flutter, dan HarmonyOS sebagai contoh. ✔️ menunjukkan bahwa fitur tersebut didukung, ❌ menunjukkan bahwa fitur tersebut tidak didukung, dan — menunjukkan bahwa fitur tersebut tidak berlaku untuk klien tersebut.
Protokol dan format pemutaran
Fitur | Deskripsi | Android | iOS | Flutter | HarmonyOS | Web |
Pemutaran sesuai permintaan | Mendukung format audio dan video sesuai permintaan umum, seperti FLV, HLS, MP4, dan MP3. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️. Beberapa klien seluler tidak mendukung format FLV. |
Pemutaran langsung | Mendukung format audio dan video streaming langsung umum, seperti RTMP, FLV, dan HLS. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️. Protokol RTMP tidak didukung. Beberapa klien seluler tidak mendukung format FLV. |
Pergeseran waktu | Mendukung pemutaran aliran langsung dengan time shifting. Anda dapat mengatur waktu mulai, waktu akhir, dan waktu yang didukung saat ini. Fitur menyeret (dragging) didukung. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Protokol pengkodean H.264 | Mendukung pemutaran aliran video yang menggunakan protokol pengkodean H.264. Anda dapat beralih antara decoding perangkat lunak dan perangkat keras. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️. Di web, decoding perangkat lunak atau perangkat keras tergantung pada pengaturan browser. |
Protokol pengkodean H.265 | Mendukung pemutaran aliran video yang menggunakan protokol pengkodean H.265. Anda dapat beralih antara decoding perangkat lunak dan perangkat keras. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️. Di web, decoding perangkat lunak atau perangkat keras tergantung pada pengaturan browser. Anda harus mengajukan permohonan untuk menggunakan fitur ini. Untuk informasi lebih lanjut, lihat Fitur bernilai tambah. |
Protokol pengkodean H.266 | Mendukung pemutaran aliran video yang menggunakan protokol pengkodean H.266. | ✔️. (Hanya didukung oleh Edisi Profesional. Anda harus mengintegrasikan plugin decoding H.266.) | ✔️. (Hanya didukung oleh Edisi Profesional. Anda harus mengintegrasikan plugin decoding H.266.) | ❌ | ❌ | ✔️. Di web, decoding perangkat lunak atau perangkat keras tergantung pada pengaturan browser. Anda harus mengajukan permohonan untuk menggunakan fitur ini. Untuk informasi lebih lanjut, lihat Fitur bernilai tambah. |
Pemutaran adaptif H.265 | Jika decoding perangkat keras aliran H.265 gagal dan aliran cadangan H.264 dikonfigurasi, pemutar secara otomatis beralih ke aliran cadangan H.264. Jika tidak ada aliran cadangan H.264 yang dikonfigurasi, pemutar secara otomatis beralih ke decoding perangkat lunak untuk aliran H.265. | ✔️(Hanya didukung oleh Edisi Profesional) | ✔️(Hanya didukung oleh Edisi Profesional) | ✔️(Hanya didukung oleh Edisi Profesional) | ❌ | ❌ |
Real-Time Streaming (RTS) | Mendukung Alibaba Cloud Real-Time Streaming (RTS) untuk konkurensi tinggi, gangguan rendah, dan latensi tingkat milidetik. | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
Streaming langsung latensi rendah | Mendukung pemutaran aliran latensi rendah menggunakan protokol LL-HLS dan DASH. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Protokol DASH | Mendukung pemutaran aliran video DASH standar, seperti SegmentBase dan SegmentTemplate. | ✔️(Hanya didukung oleh Edisi Profesional) | ✔️(Hanya didukung oleh Edisi Profesional) | ✔️(Hanya didukung oleh Edisi Profesional) | ✔️(Hanya didukung oleh Edisi Profesional) | ✔️ |
Akselerasi QUIC | Mendukung protokol transport QUIC untuk meningkatkan efisiensi transmisi video. | ✔️ | ✔️ | ✔️ | ✔️ | — |
Pemutaran video HDR | Mendukung berbagai format HDR, seperti HDR10 dan HLG. | ✔️ | ✔️ | ✔️ | ❌ | ✔️. Dukungan tergantung pada browser. |
Pemutaran URL | Mendukung pemutaran video online dan lokal dari URL. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Pemutaran VID | Mendukung pemutaran menggunakan ID video (VID). Pemutar dapat memperoleh URL streaming untuk berbagai definisi jika tersedia. Contohnya termasuk pemutaran VidAuth dan pemutaran VidSts. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Pesan SEI | Menerima dan membaca pesan Supplemental Enhancement Information (SEI). | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Protokol jaringan
Fitur | Deskripsi | Android | iOS | Flutter | HarmonyOS | Web |
Header Kustom | Menyesuaikan header HTTP saat meminta sumber daya audio atau video. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️. Tidak didukung untuk MP4. Sebagian didukung untuk HLS dan DASH. |
HTTPDNS nama domain cloud | Mengirim permintaan resolusi nama domain ke server DNS melalui HTTP, bukan menggunakan DNS lokal tradisional. Ini mencegah pembajakan domain, masalah akses lintas jaringan, dan kegagalan pemutaran yang diakibatkannya. (Hanya nama domain Alibaba Cloud yang didukung). | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
HTTP/2 | Mendukung HTTP/2. Fitur-fitur seperti framing biner, multiplexing, dan kompresi header secara signifikan meningkatkan kinerja web dan mengurangi latensi interaksi data. | ✔️ | ✔️ | ✔️ | ✔️ | Tergantung pada dukungan browser. Untuk informasi lebih lanjut, lihat Can I use http2? |
HTTP/3 | Mendukung HTTP/3. Protokol ini menggunakan protokol QUIC untuk akselerasi yang lebih cepat dan lebih baik. | ✔️ | ✔️ | ✔️ | ✔️ | Tergantung pada dukungan browser. Untuk informasi lebih lanjut, lihat Can I use http3? |
Kontrol pemutaran
Fitur | Deskripsi | Android | iOS | Flutter | HarmonyOS | Web |
Kontrol dasar | Mendukung kontrol pemutaran dasar, seperti mulai, berhenti, jeda, cari, dan putar otomatis. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Cari | Mendukung pencarian ke posisi tertentu (UI mendukung gerakan). Saat Anda mencari dalam konten yang telah dibuffer, buffer tidak dihapus, sehingga memungkinkan pencarian cepat. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Pencarian presisi | Mendukung pencarian ke posisi tertentu dengan presisi tingkat frame. | ✔️ | ✔️ | ✔️ | ✔️ | Mendukung pencarian presisi dengan akurasi tingkat milidetik. |
Cari dalam cache | Saat Anda mencari dalam konten yang telah dibuffer, buffer tidak dihapus, sehingga memungkinkan pencarian cepat. | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
Melanjutkan pemutaran | Mendukung pengaturan waktu mulai untuk melanjutkan pemutaran. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Pemutaran ulang berulang | Mendukung pemutaran ulang otomatis audio atau video setelah pemutaran selesai. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Pemutaran daftar | Mendukung pemutaran daftar untuk video pendek guna meningkatkan kecepatan pemuatan. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Kontrol kecepatan pemutaran | Mendukung pemutaran kecepatan variabel. Nada audio tetap tidak berubah saat kecepatan disesuaikan. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Pengalihan definisi manual | Mendukung pengalihan antara berbagai definisi untuk aliran video sesuai permintaan. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Pengalihan mulus | Untuk URL streaming langsung Alibaba Cloud, Anda dapat beralih secara mulus antara aliran langsung dengan resolusi berbeda selama pemutaran (switchStream) untuk meningkatkan pengalaman pengguna. | ✔️ | ✔️ | ✔️ | ❌ | ❌. Pengalihan mulus didukung untuk HLS dan DASH. |
Alihkan trek audio | Mendukung pengalihan antara beberapa trek audio untuk aliran video sesuai permintaan. | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
Tangkapan layar | Mendukung menangkap frame video saat ini dan menyimpannya sebagai citra statis. | ✔️ | ✔️ | ✔️ | ✔️ | — |
Kunci layar | Mendukung fitur kunci layar, yang mencakup mengunci rotasi layar dan menyembunyikan elemen UI. | ✔️ | ✔️ | ✔️ | ✔️ | — |
Subtitle eksternal | Mendukung impor file subtitle kustom. Klien Web mendukung subtitle VTT. Klien seluler mendukung subtitle SRT, SSA, ASS, dan VTT. | ✔️(Hanya didukung oleh Edisi Profesional) | ✔️(Hanya didukung oleh Edisi Profesional) | ✔️(Hanya didukung oleh Edisi Profesional) | ✔️(Hanya didukung oleh Edisi Profesional) | ✔️. Mendukung subtitle VTT. |
Efek video
Fitur | Deskripsi | Android | iOS | Flutter | HarmonyOS | Web |
Padding | Mendukung dua mode tampilan: isi penuh dan potong. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Rotasi | Mendukung pengaturan sudut rendering video menjadi 0, 90, 180, atau 270 derajat. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Cermin | Mendukung tiga mode cermin: tidak ada, horizontal, dan vertikal. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Pratinjau thumbnail (sprite) | Mendukung pratinjau gambar mini pada bilah kemajuan. | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
Penyesuaian kecerahan | Mendukung penyesuaian kecerahan sistem (UI mendukung gerakan). | ✔️ | ✔️ | ✔️ | ✔️ | — |
Ukuran pemain kustom | Mendukung lebar dan tinggi pemutar kustom. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Pemutaran Gambar-dalam-Gambar (PiP) | Mendukung beralih ke mode Gambar-dalam-Gambar (PiP) untuk pemutaran di jendela kecil. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Efek audio
Fitur | Deskripsi | Android | iOS | Flutter | HarmonyOS | Web |
Penyesuaian volume | Mendukung penyesuaian volume video dengan memanggil API sistem. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Bisukan | Mendukung mengaktifkan dan menonaktifkan fitur bisukan. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Pemutaran hanya audio | Mendukung memutar hanya audio dari file video atau memutar file audio umum, seperti MP3 dan AAC. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Audio dua saluran | Mendukung pemutaran audio dua saluran. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Beberapa trek audio | Mendukung pemutaran file video dengan beberapa trek audio. Anda dapat beralih antar trek audio selama pemutaran, misalnya dari bahasa Inggris ke bahasa Tiongkok. | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
Pemutaran latar belakang | Mendukung kelanjutan pemutaran audio setelah aplikasi dialihkan ke latar belakang. | ✔️ | ✔️ | ✔️ | ✔️ | — |
Performa pemutaran
Fitur | Deskripsi | Android | iOS | Flutter | HarmonyOS | Web |
Ulangi saat pemutaran gagal | Otomatis mengulangi saat pemutaran gagal. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Koneksi ulang otomatis | Mendukung koneksi ulang otomatis untuk aliran langsung. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Cache lokal | Menyimpan konten berikutnya secara lokal saat video diputar. Ini berguna untuk pemutaran ulang berulang dalam skenario video pendek dan menghemat lalu lintas pengguna. | ✔️ | ✔️ | ✔️ | ✔️ | — |
Pemuatan Awal | Menggunakan kebijakan jendela geser untuk mengontrol pra-pemuatan video secara dinamis. Ini secara signifikan meningkatkan kecepatan pemuatan frame pertama dan kelancaran pemutaran, memastikan pengalaman lancar bahkan saat menggulir dengan cepat. | ✔️(Hanya didukung oleh Edisi Profesional) | ✔️(Hanya didukung oleh Edisi Profesional) | ✔️(Hanya didukung oleh Edisi Profesional) | ✔️(Hanya didukung oleh Edisi Profesional) | ❌ |
Prerendering | Merender frame pertama video berikutnya di latar belakang untuk mengurangi layar hitam dan membuat pemutaran lebih lancar. | ✔️(Hanya didukung oleh Edisi Profesional) | ✔️(Hanya didukung oleh Edisi Profesional) | ✔️(Hanya didukung oleh Edisi Profesional) | ❌ | ❌ |
Demo multi-instans berbasis skenario | Menyediakan demo berbasis skenario untuk skenario populer seperti drama pendek. Demo ini mencakup kode sumber lengkap dan menawarkan integrasi mudah, pengalaman interaktif yang baik, serta kinerja teknis terdepan. | ✔️(Hanya didukung oleh Edisi Profesional) | ✔️(Hanya didukung oleh Edisi Profesional) | ✔️(Hanya didukung oleh Edisi Profesional) | ❌ | ❌ |
Beberapa instans | Mendukung penambahan beberapa pemutar ke satu antarmuka untuk pemutaran simultan. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Streaming bitrate adaptif | Mendukung pengalihan mulus untuk aliran HLS dan DASH multi-bitrate. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Sinkronisasi frame dinamis | Mendukung sinkronisasi frame dinamis untuk aliran langsung guna mengurangi latensi. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Kebijakan ABR lanjutan | Dibandingkan dengan kebijakan bitrate adaptif (ABR) standar, kebijakan ABR lanjutan lebih baik beradaptasi dengan aliran video HLS atau DASH multi-bitrate. Ini secara signifikan mengurangi gangguan dan meningkatkan bitrate pemutaran rata-rata. | ✔️ (Hanya didukung oleh Edisi Profesional) | ✔️ (Hanya didukung oleh Edisi Profesional) | ✔️(Hanya didukung oleh Edisi Profesional) | ✔️(Hanya didukung oleh Edisi Profesional) | ❌ |
Fitur interaktif
Fitur | Deskripsi | Android | iOS | Flutter | HarmonyOS | Web |
Subtitle | Mendukung impor file subtitle kustom. | ✔️. Mendukung subtitle SRT, SSA, ASS, dan VTT. | ✔️. Mendukung subtitle SRT, SSA, ASS, dan VTT. | ✔️. Mendukung subtitle SRT, SSA, ASS, dan VTT. | ❌. Hanya parsing teks subtitle yang didukung. | ✔️. Mendukung subtitle VTT. |
Keamanan video
Fitur | Deskripsi | Android | iOS | Flutter | HarmonyOS | Web |
Daftar hitam dan daftar putih Referer | Mengidentifikasi sumber permintaan dari bidang referer dalam permintaan pemutaran. Anda dapat menggunakan daftar hitam atau daftar putih untuk mengontrol akses dari sumber berbeda. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Enkripsi HLS | Mendukung skema enkripsi AES-128 standar. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Enkripsi Alibaba Cloud (pribadi) | Mendukung enkripsi pribadi Alibaba Cloud untuk video HLS (.m3u8) dan MP4. Ini mencegah kebocoran video dan hotlinking. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️. Didukung oleh beberapa browser. Untuk informasi lebih lanjut, lihat Kompatibilitas fitur. |
Enkripsi video Alibaba Cloud (berbasis lisensi pribadi) | Memungkinkan pemutaran langsung dari URL video terenkripsi. Dibandingkan dengan enkripsi pribadi standar Alibaba Cloud, metode ini menyediakan startup lebih cepat dan cocok untuk layanan pemutaran lintas wilayah. | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
Unduhan aman | Mendukung pengunduhan dan enkripsi video melalui aplikasi unik. | ✔️ | ✔️ | ✔️ | ✔️ | — |
DRM komersial | Mendukung skema enkripsi DRM Widevine dan Fairplay. | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
Kualitas layanan
Fitur | Deskripsi | Android | iOS | Flutter | HarmonyOS | Web |
Pelaporan log | Mendukung pelaporan log ApsaraVideo Player SDK dan pengumpulan data instrumentasi untuk pemutaran video sesuai permintaan dan streaming langsung. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Pelacakan masalah pemutaran | Mendukung pelacakan riwayat pemutaran berdasarkan pengguna atau sesi untuk mengidentifikasi penyebab masalah pemutaran. | ✔️. Edisi Gratis memungkinkan Anda mengkueri data dari 3 hari terakhir. | ✔️. Edisi Gratis memungkinkan Anda mengkueri data dari 3 hari terakhir. | ✔️. Edisi Gratis memungkinkan Anda mengkueri data dari 3 hari terakhir. | ✔️. Edisi Gratis memungkinkan Anda mengkueri data dari 3 hari terakhir. | ✔️. Edisi Gratis memungkinkan Anda mengkueri data dari 3 hari terakhir. |
Dasbor data pemutaran | Mendukung pemantauan data makro, seperti volume pemutaran dan jumlah pengguna pemutaran. | ✔️. Edisi Gratis memungkinkan Anda mengkueri data dari 3 hari terakhir. | ✔️. Edisi Gratis memungkinkan Anda mengkueri data dari 3 hari terakhir. | ✔️. Edisi Gratis memungkinkan Anda mengkueri data dari 3 hari terakhir. | ✔️. Edisi Gratis memungkinkan Anda mengkueri data dari 3 hari terakhir. | ✔️. Edisi Gratis memungkinkan Anda mengkueri data dari 3 hari terakhir. |
Dukungan pengembang
Fitur | Deskripsi | Android | iOS | Flutter | HarmonyOS | Web |
Output data hasil rendering | Mendukung output data PCM dan YUV selama rendering. | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
Callback acara | Mendukung callback untuk status pemutaran, frame pertama, penyelesaian pemutaran, dan kegagalan pemutaran. | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Daftar hitam kebijakan decoding | Menyediakan daftar model perangkat yang tidak mendukung decoding perangkat keras, beserta dukungan optimalisasi. | ✔️ | ✔️ | ✔️ | ❌ | — |
Tampilan kecepatan jaringan | Mendukung pelaporan kecepatan jaringan real-time untuk instans pemutar. | ✔️ | ✔️ | ✔️ | ✔️ | Hanya didukung untuk Streaming Real-Time (RTS). |
Komponen UI | Termasuk UI lengkap yang dapat Anda gunakan sesuai kebutuhan. | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
Fitur bernilai tambah
Bagian ini menjelaskan fitur bernilai tambah ApsaraVideo Player SDK dengan menggunakan klien Web, Android, iOS, Flutter, dan HarmonyOS sebagai contoh.Untuk menggunakan fitur-fitur ini, terlebih dahulu ajukan tiket untuk mengajukan dan mengaktifkan layanan bernilai tambah. ✔️ menunjukkan bahwa fitur tersebut didukung, ❌ menunjukkan bahwa fitur tersebut tidak didukung, dan — menunjukkan bahwa fitur tersebut tidak berlaku untuk klien tersebut.
Fitur | Ikhtisar Fungsi | Android | iOS | Flutter | HarmonyOS | Web |
Pemutaran video H.265/H.266 di web | Mendukung pemutaran aliran video yang menggunakan protokol pengkodean H.265. Anda dapat beralih antara decoding perangkat lunak dan perangkat keras. Untuk informasi lebih lanjut, lihat Fitur lanjutan. Catatan Untuk memutar video H.265 menggunakan ApsaraVideo Player SDK untuk Web, terlebih dahulu ajukan tiket atau hubungi manajer bisnis Alibaba Cloud untuk mengaktifkan fitur tersebut. | ❌ | ❌ | ❌ | ❌ | ✔️ |