All Products
Search
Document Center

ApsaraVideo VOD:FAQ SDK Pemutar Video ApsaraVideo

Last Updated:Jun 25, 2026

Topik ini menjawab pertanyaan umum mengenai penggunaan SDK Pemutar Video ApsaraVideo di berbagai platform.

RTMP atau HTTP-FLV untuk streaming langsung standar

HTTP-FLV direkomendasikan:

  1. Konsol ApsaraVideo Live menghasilkan URL RTMP dan HTTP-FLV dengan data aliran yang identik. Hanya protokol transport yang berbeda.

  2. HTTP telah dioptimalkan secara luas di seluruh CDN, penyedia layanan, dan perangkat jaringan, serta port 80/443 umumnya termasuk dalam daftar putih. Port RTMP 1935 mungkin diblokir oleh firewall, menyebabkan kegagalan pemutaran. HTTP-FLV memberikan stabilitas lebih baik, buffering lebih sedikit, dan latensi lebih rendah di jaringan kompleks.

Kegagalan pemutaran

Troubleshooting kegagalan pemutaran VOD

Periksa pesan error pemutar dan permintaan jaringan untuk mendiagnosis kegagalan. Kegagalan dapat disebabkan oleh masalah pengkodean aliran, masalah titik akhir jaringan atau CDN, ketidakcocokan format, atau masalah konfigurasi bucket. Penyebab umum:

  • Pembayaran tertunggak: Periksa saldo akun Anda. Jika akun Anda memiliki saldo tertunggak, pemutaran video akan dinonaktifkan.

  • Masalah jaringan: Pemutar mengembalikan kode kesalahan 4400. Kode kesalahan 4400 menunjukkan resource tidak dapat dimuat karena masalah server atau jaringan. Pastikan sertifikat SSL Anda dikonfigurasi dan valid.

  • Masalah format: Format video tidak kompatibel dengan pemutar. Format yang didukung tercantum dalam Fitur SDK Pemutar.

    Catatan

    Memutar file M3U8 dengan otentikasi memerlukan nama domain kustom. Tambahkan nama domain yang dipercepat.

  • Masalah bucket: bucket tidak valid, atau otentikasi bucket privat telah kedaluwarsa. Nonaktifkan otentikasi bucket dan atur izin menjadi public-read.

  • Masalah cross-domain: Pemutaran gagal jika wilayah nama domain yang dipercepat berbeda dari wilayah pemutaran video. Buat nama domain yang dipercepat baru atau ubah wilayah yang sudah ada.

Error saat memutar video M3U8 lokal

File M3U8 mereferensikan segmen transport stream (TS). Untuk pemutaran lokal, semua segmen harus tersedia di mesin lokal pada path yang ditentukan dalam file M3U8. URL remote dalam file M3U8 lokal tidak didukung.

File indeks M3U8 dan file segmen .ts yang sesuai, seperti 000000.ts dan 000001.ts, harus ditempatkan dalam direktori yang sama.

File M3U8 lokal Anda harus mengikuti struktur direktori ini.

Pemutaran gagal saat dibagikan secara eksternal

Ikuti langkah-langkah berikut untuk troubleshooting masalah ini:

  1. Verifikasi bahwa video masih ada di ApsaraVideo VOD.

  2. Periksa apakah nama domain yang dipercepat telah ditambahkan.

    • Jika belum menambahkan nama domain yang dipercepat: Periksa izin bucket penyimpanan. Jika bucket bersifat privat, pemutaran memerlukan otentikasi. Anda dapat menonaktifkan otentikasi dan mengatur bucket menjadi public-read, tetapi hal ini menimbulkan risiko keamanan.

    • Jika nama domain yang dipercepat telah ditambahkan: Periksa apakah otentikasi diaktifkan. Jika ya, perpanjang periode validitas atau nonaktifkan. Menonaktifkan otentikasi menimbulkan risiko keamanan.

Pengecualian pemutaran

Tidak ada suara selama pemutaran

SDK Pemutar Video ApsaraVideo dioptimalkan untuk layanan Alibaba Cloud. URL pemutaran dari sumber lain dapat menyebabkan masalah seperti audio hilang. Verifikasi sumber pemutaran.

Startup video lambat

  • Jika video MP4 startup-nya lambat, atom moov (indeks audio/video) mungkin berada setelah atom mdat (data audio/video). Transkode ulang video untuk memindahkan moov sebelum mdat agar startup lebih cepat.

    • Templat transkoding yang direkomendasikan.

    • Untuk memeriksa posisi atom moov, jalankan perintah berikut:

      # URL video sumber dapat berupa path file lokal atau URL online, misalnya, http://pla****.alicdn.com/video/aliyunmedia.mp4
      ffmpeg -v trace -i "source_video_url" 2>&1 | grep -e type:\'mdat\' -e type:\'moov\'

      Dalam skenario normal, atom moov berada sebelum atom mdat, yang menunjukkan optimasi faststart. Contoh output ditampilkan di bawah ini.

      Dalam skenario abnormal, atom moov berada setelah atom mdat.

  • Di Android dan iOS, ApsaraVideo VOD menawarkan solusi startup dalam hitungan milidetik. Gunakan ApsaraVideo Player untuk mencapai pemutaran dengan pemuatan instan dalam mode layar penuh.

Pemutaran video terenkripsi

Masalah pemutaran DRM di browser

Dukungan browser untuk pemutaran terenkripsi DRM dengan Pemutar Video Apsara untuk Web terbatas. Browser yang didukung tercantum dalam Kompatibilitas fitur.

Parameter MtsHlsUriToken

MtsHlsUriToken adalah token pengguna untuk enkripsi HLS. Manifes M3U8 berisi URL yang mengarah ke server kunci dekripsi. Untuk membatasi akses, tambahkan lapisan otentikasi ke server kunci Anda dan tambahkan MtsHlsUriToken, yang dihasilkan oleh logika otentikasi Anda, ke URL kunci dekripsi untuk verifikasi.

Saat Anda mengonfigurasi enkripsi, bangun layanan penerbitan token untuk menghasilkan MtsHlsUriToken. Enkripsi HLS – Langkah 4.

Pemutaran cross-domain

Pemutaran cross-region lambat dari OSS

Mengakses wilayah UK (London) dari Tiongkok daratan menghasilkan latensi tinggi. Tambahkan nama domain yang dipercepat dan gunakan Global Accelerator untuk meningkatkan performa.

Akses lambat dan buffering untuk pemutaran luar negeri

Buffering biasanya disebabkan oleh jaringan yang tidak stabil. Buffering berkepanjangan hingga menyebabkan error pemutar mengindikasikan ketidakstabilan CDN. Buffering yang sering terjadi mungkin menandakan bandwidth tidak mencukupi untuk bitrate video — tingkatkan kecepatan jaringan Anda atau kurangi bitrate.

Pemutaran video Object Storage Service (OSS)

Permintaan berlebihan selama pemutaran OSS

Periksa video sumber — pemutar mungkin mengirim permintaan duplikat selama decoding. Transkode ulang video dengan templat ApsaraVideo VOD sebelum pemutaran. Transkoding video dan audio.

Pratinjau gambar sebagai ganti unduhan

Gambar di ApsaraVideo VOD hanya dapat dipratinjau di browser melalui nama domain kustom. Domain default memaksa unduhan. Tambahkan nama domain yang dipercepat.

Masalah sertifikat SSL

Video gagal diputar di beberapa komputer dengan kode kesalahan 4400

Kode kesalahan 4400 menunjukkan resource tidak dapat dimuat karena masalah server atau jaringan, atau format yang tidak didukung. Pastikan sertifikat SSL telah dikonfigurasi.

URL pemutaran

Menghasilkan URL pemutaran pendek

bucket privat menghasilkan URL pemutaran panjang dengan string otentikasi. Mengatur bucket menjadi public-read atau public-read-write menghapus string otentikasi, menghasilkan URL yang lebih pendek. Kelola bucket penyimpanan.

Catatan

Mengatur izin bucket menjadi public-read atau public-read-write berisiko terhadap hotlinking dan unduhan tidak sah. Tidak direkomendasikan untuk produksi.

Masalah pemutaran dengan video yang belum ditranskode

SDK Pemutar Video Apsara dengan videoID dan playauth hanya memutar video yang telah ditranskode. Video yang belum ditranskode memerlukan URL langsung, yang dapat Anda peroleh dengan memanggil GetMezzanineInfo atau melihatnya di Konsol ApsaraVideo VOD.

Apakah URL pemutaran VOD tetap?

Saat penyimpanan video bersifat privat, URL pemutaran bersifat sensitif terhadap waktu — parameter auth_key bervariasi berdasarkan waktu kedaluwarsa.

Untuk URL permanen, atur bucket penyimpanan menjadi public-read atau public-read/write. Alamat permanen adalah URL sebelum karakter ?. Kelola Bucket Penyimpanan.

Catatan

Mengatur izin bucket menjadi public-read atau public-read-write berisiko terhadap hotlinking dan unduhan tidak sah. Tidak direkomendasikan untuk produksi.

Pemutaran dialihkan ke browser

Pemutaran bergantung pada kemampuan decoding browser dan perangkat. Aplikasi pihak ketiga sering mengalihkan ke browser demi kompatibilitas.

Video yang diperbarui tidak ditampilkan selama pemutaran

Setelah memperbarui video, refresh cache CDN untuk memastikan penonton mendapatkan versi terbaru. Di Konsol, gunakan Segarkan dan ambil awal. Melalui API atau SDK, gunakan PreloadVodObjectCaches atau SubmitMediaRefreshJob.

Mendapatkan data piksel untuk setiap frame

  • Pemutar Android: Anda dapat memperolehnya dengan mendengarkan callback OnRenderFrameCallback.

  • Pemutar iOS: Anda dapat memperolehnya dengan mendengarkan callback onRenderingFrame.

    player.renderingDelegate = self;
    
    #pragma mark CicadaRenderingDelegate
    - (BOOL)onRenderingFrame:(CicadaFrameInfo*) frameInfo{
        if(frameInfo.frameType==Cicada_FrameType_Video){
            // Video
            NSLog(@"receive HW frame:%p pts:%ld foramt %d", frameInfo.video_pixelBuffer, frameInfo.pts, CVPixelBufferGetPixelFormatType(frameInfo.video_pixelBuffer));
    
        } else if (frameInfo.frameType==Cicada_FrameType_Audio){
            // Audio
        }
        return NO;
    }
  • Pemutar Video Apsara untuk Web: Fitur ini tidak didukung.

Tidak dapat mendapatkan URL pemutaran untuk video AVI

Operasi API GetPlayInfo tidak mendukung pengambilan aliran untuk video dalam format AVI. Oleh karena itu, metode SDK yang bergantung pada operasi API ini tidak dapat memperoleh URL pemutaran untuk video AVI.

Lihat URL pemutaran video AVI di Konsol ApsaraVideo VOD. Lihat informasi aset media.

Error API GetPlayInfo saat memperoleh alamat pemutaran: The video has no stream to play for the request parameter

Ikuti langkah-langkah berikut untuk troubleshooting masalah ini:

  1. Konfirmasi kelas penyimpanan aset media.

    Secara default, operasi GetPlayInfo hanya mengembalikan aliran pemutaran untuk aset media dalam penyimpanan Standard. Untuk memperoleh aliran pemutaran audio dan video dalam penyimpanan non-Standard, Anda dapat mengatur parameter PlayConfig StorageClass menjadi All.

    Nilai valid lain untuk StorageClass meliputi Standard, IA (untuk media Akses Jarang), Archive (untuk media Arsip), Cold Archive (untuk media Penyimpanan Arsip Dingin), Source IA (untuk file sumber IA), Source Archive (untuk file sumber Arsip), Source Cold Archive (untuk file sumber Penyimpanan Arsip Dingin), Changing (untuk media yang sedang mengalami perubahan kelas penyimpanan), dan SourceChanging (untuk file sumber yang sedang mengalami perubahan kelas penyimpanan). Jika Anda membiarkan parameter kosong, tidak ada filter yang diterapkan.

  2. Konfirmasi bahwa aset media memiliki aliran yang telah dikodekan ulang.

    Untuk mendapatkan aliran yang telah dikodekan ulang, Anda harus terlebih dahulu melakukan transkoding video dan audio lalu memanggil operasi API GetPlayInfo. Untuk mendapatkan URL file sumber, lihat GetMezzanineInfo.

Masalah buffering

Mengurangi buffering dan meningkatkan rasio hit cache

Tingkatkan rasio hit cache dengan mengonfigurasi penandatanganan URL, menggunakan segarkan dan ambil awal, mengoptimalkan pengaturan cache, dan memfilter parameter URL.

Buffering saat mencari (seeking)

Dengan jumlah keyframe yang terlalu sedikit, proses seeking memerlukan pemutar untuk mengunduh segmen besar guna menemukan keyframe terdekat, menyebabkan buffering. Transkode ulang video untuk menambahkan lebih banyak keyframe. Transkoding video dan audio.

Plugin decoder H.266

Error 0x200600001 MEDIA_PLAYER_ERROR_CODEC_VIDEO_NOT_SUPPORT dilaporkan

Saat message bernilai vvc plugin not enabled, plugin tersebut belum diaktifkan di lapisan aplikasi. Panggil AliPlayerGlobalSettings.enableCodecPlugin untuk mengaktifkannya.

Saat message bernilai vvc plugin not loaded, plugin tersebut tidak berhasil diintegrasikan. Verifikasi bahwa library plugin telah diimpor, atau panggil loadlibrary secara eksplisit.

Error 0x50020002 MEDIA_PLAYER_ERROR_CODEC_PREMIUM_INVALID

Error ini menunjukkan lisensi Edisi Profesional tidak tersedia. Plugin decoder H.266 memerlukan lisensi Edisi Profesional. Kelola lisensi.

Gambar mini video

Tidak dapat mendapatkan gambar mini video

Konsol ApsaraVideo VOD menggunakan HTTPS secara default. URL gambar mini harus mendukung HTTPS agar dapat dipratinjau di konsol. Periksa developer tools browser untuk error spesifik.

Tinjauan video

Tidak dapat memutar video selama tinjauan manual

ApsaraVideo VOD menyediakan dua mode tinjauan:

  • Publikasikan sebelum tinjauan: Setelah transkoding, video ditandai Normal dan dapat langsung diputar. Anda kemudian harus melakukan tinjauan manual. Jika diblokir selama tinjauan, pemutaran akan berhenti.

  • Tinjauan sebelum publikasi: Setelah transkoding, video memasuki tahap tinjauan dan ditandai Sedang Ditinjau. Pemutaran dimulai hanya setelah disetujui secara manual.

Definisi parameter

Parameter videoID

Untuk keamanan, ApsaraVideo VOD mengembalikan videoID alih-alih URL langsung saat Anda mengunggah file media. Anda juga dapat memperoleh videoID dengan memanggil API GetPlayInfo.

Setelah Anda mengunggah video ke ApsaraVideo VOD, videoID akan dikembalikan.

Anda juga dapat memperoleh videoID di Konsol ApsaraVideo VOD. Ikuti langkah-langkah berikut:

  1. Masuk ke Konsol ApsaraVideo VOD.

  2. Di panel navigasi kiri, di bawah Media Files, klik Audio/Video.

  3. Temukan videoID (Video ID) dalam daftar video.

Gunakan videoID dari konsol untuk menguji unduhan dan pemutaran. Untuk mengunggah file, gunakan SDK Upload.

ID AccessKey dan Secret AccessKey

ID AccessKey dan Secret AccessKey Anda adalah kredensial untuk mengakses API Alibaba Cloud. ID AccessKey berfungsi sebagai pengidentifikasi, sedangkan Secret AccessKey menandatangani parameter permintaan API untuk mencegah perubahan. Simpan kerahasiaan Secret AccessKey.

Untuk mendapatkan Pasangan Kunci Akses Anda:

  1. Masuk ke Konsol ApsaraVideo VOD.

  2. Di pojok kanan atas, arahkan kursor ke foto profil Anda dan klik AccessKey Management.

  3. Di halaman AccessKey Management, buat Pasangan Kunci Akses atau lihat Secret AccessKey dari ID AccessKey yang sudah ada.

Parameter playKey

PlayKey (atau Kunci API) mengotentikasi permintaan saat SDK Pemutar Video Apsara mengambil URL pemutaran video. PlayKey berfungsi sebagai otentikasi sekunder di atas keamanan berbasis AccessKey untuk mencegah hotlinking. PlayKey disediakan untuk Flash, H5, iOS, dan Android.

Catatan

Untuk memastikan keamanan kunci, Anda harus memverifikasi identitas dengan menggunakan kode verifikasi ponsel saat melihat playKey.

Untuk mendapatkan playKey:

  1. Masuk ke Konsol ApsaraVideo VOD.

  2. Di panel navigasi kiri, pilih Configuration Management > CDN Configuration > Download Settings. Aktifkan Secure Download Mode.

  3. Di bagian Get Key, masukkan Unique App Identifier dan Private Key.

  4. Klik Generate and Download Key.

Parameter playauth

SDK Pemutar Video Apsara mendukung tiga mode pemutaran untuk berbagai kasus penggunaan. Metode yang menggunakan playauth merupakan yang paling aman dan direkomendasikan.

playauth adalah token terenkripsi yang berisi videoID dan informasi otentikasi. Server Anda meminta token ini dari ApsaraVideo VOD dan meneruskannya ke klien, yang menggunakannya untuk mengambil URL pemutaran secara aman.

Mode pemutaran

Kasus penggunaan

Kelebihan dan kekurangan

Rekomendasi

Berbasis AK (setDataSource)

Untuk tujuan pengujian.

Risiko tinggi kebocoran kredensial. Metode ini memerlukan penyisipan ID AccessKey dan Secret AccessKey langsung ke kode sisi klien, yang dapat terekspos jika klien didekompilasi atau dikompromikan.

Tidak direkomendasikan untuk penggunaan komersial.

Berbasis PlayAuth (setAuthInfo)

Untuk penggunaan produksi komersial.

Aman. URL video dan informasi sensitif lainnya tidak terekspos di sisi klien.

Direkomendasikan untuk penggunaan komersial.

Berbasis URL (lokal dan jaringan)

Untuk memutar file video lokal atau URL video publik.

Sederhana. Dapat memutar video dari sumber apa pun.

Gunakan saat Anda perlu memutar video lokal atau konten dari URL jaringan eksternal.

Alur kerja: Server memperoleh playauth > Server mengirim playauth ke klien > Klien memutar video.

  1. Peroleh playauth: Server aplikasi Anda memanggil SDK sisi server untuk meminta playauth dari layanan ApsaraVideo VOD.

  2. Mainkan video: SDK Pemutar Video Apsara menggunakan videoID dan playauth untuk meminta URL pemutaran video dari layanan ApsaraVideo VOD, lalu memuat dan mendekode aliran video untuk pemutaran.

Penting

playauth berlaku selama 100 detik dan hanya dapat digunakan satu kali untuk mendapatkan URL pemutaran video tertentu. Jika playauth kedaluwarsa, Anda harus meminta yang baru.

Jika URL pemutaran kedaluwarsa, Anda harus mendapatkan playauth baru dan meneruskannya ke SDK pemutar untuk menyegarkan URL.

Untuk melindungi akun utama Anda, kami merekomendasikan penggunaan Pasangan Kunci Akses Pengguna RAM, terutama dalam skenario pemutaran web.

Dokumen terkait