All Products
Search
Document Center

ApsaraVideo VOD:Fitur inti

Last Updated:Sep 11, 2026

Topik ini menjelaskan fitur inti AliPlayerKit, mencakup posisi produk, arsitektur inti, tanggung jawab komponen, antarmuka inti, serta detail keenam sistem intinya.

Posisi produk

Tujuan desain

AliPlayerKit dirancang sebagai lapisan arsitektur pemutaran universal—bukan hanya komponen UI pemutar—dengan tujuan berikut:

Tujuan desain

Deskripsi

Integrasi low-code

Integrasikan skenario pemutaran lengkap dengan kode minimal.

Cakupan multi-skenario

Mencakup berbagai skenario pemutaran, seperti video sesuai permintaan (VOD), live streaming, dan video pendek.

Arsitektur reusable

Hindari pengembangan ulang fitur pemutar di berbagai layanan dengan menggunakan arsitektur slot dan kebijakan.

Fondasi terpadu

Berperan sebagai fondasi terpadu untuk semua solusi pemutar dan solusi berbasis skenario.

Lapisan arsitektur

Dalam hierarki arsitektur, AliPlayerKit berada di atas kernel pemutar dan mendukung fitur umum untuk berbagai layanan pemutaran melalui sistem komponen UI terpadu serta abstraksi skenario pemutaran.

Lapisan

Positioning

Lokasi modul

Tanggung jawab

Lapisan komponen

Komponen UI pemutar

playerkit/

Menyediakan komponen UI pemutar siap pakai dan dapat dikonfigurasi yang mencakup fitur pemutaran dasar dan interaktif umum.

Lapisan skenario

Solusi berbasis skenario

playerkit-scenes/

Menyediakan contoh integrasi standar untuk skenario khas, seperti drama pendek, video menengah dan panjang, serta live streaming. Hal ini membantu pelanggan membangun kemampuan pemutaran lengkap secara cepat dengan kode minimal.

Arsitektur inti

AliPlayerKit menggunakan arsitektur inti 3+1 untuk membangun kerangka kerja pemutarnya:

  • Tiga antarmuka runtime: Antarmuka ini mengikuti pola arsitektur Model-View-Controller (MVC) yang memisahkan dan mendekopling tanggung jawab tampilan UI, kontrol pemutaran, dan konfigurasi data.

    • AliPlayerView: Komponen UI pemutar yang menangani rendering antarmuka dan interaksi pengguna (View).

    • AliPlayerController: Komponen kontrol pemutaran yang menangani logika pemutaran dan manajemen status (Controller).

    • AliPlayerModel: Komponen model data yang mengenkapsulasi konfigurasi pemutaran dan informasi media pemutar (Model).

  • Satu antarmuka global: Antarmuka ini menyediakan inisialisasi kerangka kerja dan manajemen fitur global, berperan sebagai titik masuk terpadu untuk kerangka kerja pemutar.

    • AliPlayerKit: Menginisialisasi kerangka kerja dan menyediakan fitur dasar seperti konfigurasi global, manajemen log, dan preloading.

Desain arsitektur

AliPlayerKit menerapkan arsitektur MVC klasik untuk membagi pemutar menjadi komponen-komponen independen.

Tanggung jawab komponen

Komponen

Jenis

Tanggung jawab

Siklus hidup

AliPlayerKit

Titik masuk global

Konfigurasi global, manajemen cache, informasi versi.

Tingkat aplikasi

AliPlayerView

View

Tampilan UI, manajemen slot, binding siklus hidup.

Tingkat halaman

AliPlayerController

Controller

Kontrol pemutaran, manajemen status, distribusi event.

Tingkat halaman

AliPlayerModel

Model

Enkapsulasi data konfigurasi, pola Builder.

Tingkat permintaan

Antarmuka inti

Antarmuka inti yang dipanggil untuk setiap instans pemutar meliputi hal-hal berikut:

Antarmuka

Deskripsi

new AliPlayerController(Context)

Membuat controller.

new AliPlayerModel.Builder()...build()

Membangun model data.

AliPlayerView.attach(controller, model)

Kaitkan controller dengan data.

AliPlayerView.detach()

Melepaskan dan melepas sumber daya.

AliPlayerView.onBackPressed()

Menangani event tombol back (opsional).

Catatan

Untuk daftar lengkap metode dan deskripsi parameter masing-masing komponen, lihat Referensi API.

Urutan pemanggilan

Alur pemanggilan lengkap antarmuka inti mencakup seluruh siklus hidup, mulai dari pembuatan, binding, pemutaran, hingga pelepasan.

Catatan

Untuk langkah-langkah integrasi lengkap, lihat Mulai Cepat.

Fitur inti

Sistem slot

Sistem slot membagi UI pemutar menjadi komponen-komponen independen. Setiap slot bertanggung jawab atas fitur tertentu, seperti bilah kontrol atas, bilah progres, atau gambar mini. Anda dapat menggabungkan komponen-komponen ini secara bebas—menggunakan antarmuka default untuk integrasi cepat, mengganti komponen sesuai kebutuhan, atau menyesuaikan sepenuhnya antarmuka tersebut. Komponen UI benar-benar terdekopling dari inti pemutar sehingga kustomisasi tidak memerlukan modifikasi kode sumber dan tidak berisiko menimbulkan konflik saat peningkatan. Skenario pemutaran berbeda dapat menggunakan kembali komponen slot yang sama, sehingga menghindari pengembangan berulang. Untuk informasi lebih lanjut, lihat Sistem slot.

Sistem kebijakan

Sistem kebijakan mengenkapsulasi logika bisnis pemutar ke dalam komponen kebijakan independen. Setiap kebijakan mengimplementasikan fitur tertentu, seperti statistik frame pertama, deteksi tersendat, perlindungan traffic, atau melanjutkan pemutaran. Anda dapat memperluas lapisan kebijakan tanpa mengubah inti kerangka kerja. Setiap kebijakan memiliki tanggung jawab tunggal dan terisolasi, dapat digunakan kembali di berbagai instans pemutar, serta diaktifkan atau dinonaktifkan sesuai kebutuhan. Peningkatan kerangka kerja dan kustomisasi bisnis tidak saling mengganggu. Untuk informasi lebih lanjut, lihat Sistem kebijakan.

Sistem event

Sistem event menggunakan pola publish-subscribe untuk mendekopling komponen AliPlayerKit. Komponen UI berlangganan event dan mengirim perintah tanpa menyimpan referensi ke controller. Controller memproses perintah dan menerbitkan status tanpa mengetahui pendengarnya. Arsitektur ini mendukung pengembangan dan pemeliharaan independen antara UI dan logika bisnis. Sistem ini juga secara alami mengisolasi komunikasi antar beberapa instans pemutar melalui event yang membawa playerId. Untuk informasi lebih lanjut, lihat Sistem event.

Kebijakan siklus hidup pemutar

Kebijakan siklus hidup pemutar mengelola pembuatan, penggunaan ulang, daur ulang, dan penghancuran instans. Kebijakan ini mencakup empat kebijakan bawaan: Default, Singleton, ReusePool, dan IdScopedPool, yang masing-masing cocok untuk skenario umum, pemutar tunggal, putar balik daftar, dan preloading. Anda cukup memilih kebijakan yang sesuai untuk menyeimbangkan performa dan sumber daya. Misalnya, menggunakan ReusePool untuk daftar video pendek dapat meningkatkan kelancaran scroll dan kecepatan frame pertama secara signifikan. Untuk informasi lebih lanjut, lihat Kebijakan siklus hidup pemutar.

Sistem log

Sistem log menyediakan pusat log terpadu, LogHub, yang mendukung output dan penyaringan multi-level, ekstensi listener, serta fitur lainnya. Hal ini memastikan bahwa node kunci selama waktu proses pemutar dapat dilacak sepenuhnya, membantu diagnosis masalah dan analisis performa. Anda dapat mengaktifkan log detail untuk debugging selama pengembangan dan menyederhanakan output di lingkungan produksi. Listener juga dapat digunakan untuk menulis log ke file atau melaporkannya ke server, memungkinkan tim dukungan teknis memecahkan masalah secara cepat. Untuk informasi lebih lanjut, lihat Sistem log.

Dukungan sumber video ganda

AliPlayerKit mendukung berbagai jenis sumber video. Kami merekomendasikan penggunaan metode VidAuth. Untuk informasi lebih lanjut, lihat Dukungan sumber video ganda.

Jenis sumber

Metode pembuatan

Skenario

Sumber VidAuth

VideoSourceFactory.createVidAuthSource(...)

Metode yang direkomendasikan untuk VOD Alibaba Cloud (Direkomendasikan).

Sumber VidSts

VideoSourceFactory.createVidStsSource(...)

Menggunakan kredensial temporary dari Layanan Token Keamanan Alibaba Cloud (STS).

Sumber URL

VideoSourceFactory.createUrlSource(url)

Live streaming atau skenario simple.