All Products
Search
Document Center

ApsaraVideo VOD:Unggah dari klien

Last Updated:Aug 25, 2026

Unggahan klien memungkinkan aplikasi seluler, halaman web, dan mini program mengunggah file media langsung ke bucket Object Storage Service (OSS) yang dikelola oleh ApsaraVideo VOD. File tidak melewati server aplikasi Anda, sehingga mengurangi biaya bandwidth server dan menyederhanakan arsitektur sistem. Karena kredensial AK/SK permanen tidak boleh disematkan dalam aplikasi klien, unggah SDK klien menggunakan kredensial unggah berdurasi pendek yang dikeluarkan oleh layanan otorisasi backend Anda (AppServer) untuk mengotentikasi setiap sesi unggah.

Cara kerja unggah klien

Unggah SDK klien dibangun di atas OSS SDK. Saat klien mengunggah file, SDK menangani seluruh logika unggah multi-bagian dan unggah yang dapat dilanjutkan di balik layar. File dikirim langsung dari perangkat klien ke bucket OSS ApsaraVideo VOD. AppServer Anda hanya mengeluarkan kredensial dan tidak pernah menyentuh konten file.

Unggah klien mengikuti proses tiga tahap:

  1. Klien mengirim permintaan HTTP ke AppServer Anda dengan metadata media (seperti Title, FileName, CateId, dan Tags).

  2. AppServer memperoleh kredensial unggah dari VOD atau STS dan mengembalikannya ke klien.

  3. Klien menggunakan kredensial tersebut untuk mengunggah file langsung ke OSS. Setelah unggah selesai, SDK memicu callback sukses dan VOD secara otomatis memulai pipeline transkoding dan pemrosesan.

Metode otorisasi

Unggah SDK klien mendukung dua metode otorisasi. Tabel perbandingan di bawah ini membantu Anda memilih metode yang tepat untuk skenario Anda. Langkah-langkah detail untuk masing-masing metode tercantum setelah tabel.

Dimensi perbandingan

URL dan kredensial unggah (direkomendasikan)

STS Token

Alur otorisasi

AppServer memanggil API VOD secara langsung untuk memperoleh kredensial unggah

AppServer memanggil STS AssumeRole, lalu klien memanggil API VOD dengan Token STS

Keamanan

Kredensial per video dengan kontrol detail halus

Izin berbasis peran dengan cakupan lebih luas

Kompleksitas konfigurasi

Lebih sederhana — hanya SDK VOD yang diperlukan di AppServer

Memerlukan SDK STS di AppServer ditambah konfigurasi Peran RAM

Cakupan kredensial

Terkait dengan satu video (VideoId)

Terkait dengan Peran RAM, berlaku untuk semua aksi yang diizinkan oleh kebijakan peran

Direkomendasikan untuk

Sebagian besar skenario unggah klien

Skenario yang memerlukan akses API VOD lebih luas dari klien

Metode 1: URL dan kredensial unggah (direkomendasikan)

Metode ini menyediakan konfigurasi lebih sederhana, keamanan lebih tinggi dengan kontrol izin per video, serta parameter respons yang lebih fleksibel. Metode ini cocok untuk sebagian besar skenario unggah klien.

Tahap 1: Memperoleh URL dan kredensial unggah

Klien mengirim permintaan HTTP ke AppServer Anda dengan metadata media (seperti Title, FileName, CateId, Tags). AppServer Anda menggunakan AK/SK-nya untuk memanggil CreateUploadVideo pada VOD, yang mengembalikan tiga nilai utama: UploadAuth (token unggah sementara), UploadAddress (jalur target OSS, dikodekan Base64), dan VideoId (pengidentifikasi media unik). AppServer Anda meneruskan nilai-nilai ini ke klien.

Tahap 2: Membuat parameter unggah dan mengunggah langsung ke OSS

Klien menginisialisasi unggah SDK dengan UploadAuth, UploadAddress, dan VideoId, beserta jalur file lokal. SDK secara otomatis mengurai UploadAddress untuk memperoleh Endpoint OSS dan Object Key, lalu mengunggah file langsung ke OSS. Proses ini mendukung unggah multi-bagian dan unggah yang dapat dilanjutkan. File dikirim langsung dari klien ke OSS tanpa melewati server Anda.

Tahap 3: Hasil unggah

Setelah OSS menyelesaikan unggah, SDK memicu callback onUploadSucceed, yang membawa VideoId. VOD secara otomatis mendeteksi penyelesaian unggah dan memicu pipeline transkoding dan pemrosesan berdasarkan TemplateGroupId atau WorkflowId yang telah Anda konfigurasi. Anda juga dapat mengonfigurasi callback event (HTTP atau MNS) untuk menerima notifikasi event FileUploadComplete.

Metode 2: Token STS

Tahap 1: Memperoleh kredensial sementara STS

Klien meminta kredensial sementara dari AppServer Anda. AppServer Anda menggunakan AK/SK-nya untuk memanggil AssumeRole pada STS, memperoleh serangkaian AccessKeyId, AccessKeySecret, dan SecurityToken berdurasi terbatas (masa berlaku: 900 hingga 3.600 detik), yang dikembalikan ke klien.

Tahap 2: Memperoleh kredensial unggah dan mengunggah (SDK menangani secara otomatis)

Klien menginisialisasi unggah SDK dengan Token STS. SDK secara otomatis membawa Token STS untuk memanggil CreateUploadVideo (dengan Title, FileName, dan parameter lainnya), memperoleh UploadAuth, UploadAddress, dan VideoId, lalu secara otomatis menjalankan unggah multi-bagian. Seluruh proses ini transparan bagi developer — tidak diperlukan pemanggilan API VOD secara manual.

Tahap 3: Hasil unggah

Sama seperti Metode 1 — SDK memicu onUploadSucceed dengan VideoId, dan VOD memproses file secara otomatis.

Fitur inti

Unggah multi-bagian

Unggah multi-bagian membagi file besar menjadi bagian-bagian lebih kecil dan mengunggahnya secara paralel. Hal ini meningkatkan kecepatan dan keandalan unggah untuk file media besar, karena kegagalan jaringan hanya memerlukan pengulangan bagian yang gagal, bukan mengunggah ulang seluruh file. Unggah multi-bagian diaktifkan secara default di semua unggah SDK klien dan tidak memerlukan konfigurasi tambahan.

Unggah yang dapat dilanjutkan

Unggah yang dapat dilanjutkan memungkinkan SDK melanjutkan unggah yang terputus dari bagian terakhir yang berhasil diunggah, bukan memulai dari awal. Saat unggah terputus karena pemutusan jaringan, aplikasi masuk latar belakang, atau perangkat tidur, SDK menyimpan data checkpoint secara internal. Setelah koneksi dipulihkan dan aplikasi dilanjutkan, SDK secara otomatis melanjutkan dari checkpoint tanpa intervensi developer.

Kontrol unggah

Unggah SDK menyediakan API terprogram untuk memulai, menghentikan, menjeda, dan melanjutkan unggah individual. Fitur ini berguna saat Anda perlu menghormati tindakan yang diprakarsai pengguna, seperti membatalkan unggah saat pengguna berpindah halaman, atau mengelola konkurensi unggah dalam skenario batch. Anda mengontrol seluruh siklus hidup unggah sepenuhnya melalui pemanggilan metode SDK.

Callback progres

SDK menyediakan callback progres terperinci yang melaporkan persentase data yang telah diunggah untuk setiap file. Gunakan callback ini untuk memperbarui bilah progres, menampilkan kecepatan unggah, atau memicu logika kondisional, seperti menonaktifkan elemen UI tertentu selama unggah berlangsung. Callback progres dipicu secara berkala selama unggah, memberikan visibilitas real-time terhadap status transfer.

Peralihan jaringan

Klien seluler sering berpindah antara jaringan Wi-Fi dan jaringan seluler. SDK mendukung penjedaan dan pelanjutan unggah untuk menangani transisi ini. Untuk menghindari penggunaan data seluler, panggil metode pause saat perangkat beralih ke jaringan seluler dan panggil metode resume saat Wi-Fi dipulihkan. Aplikasi Anda harus mengimplementasikan logika deteksi transisi jaringan.

Unggah batch

SDK mengelola antrian unggah yang mendukung penambahan, penghapusan, pembatalan, pelanjutan, dan traversal beberapa file. Anda dapat mengosongkan seluruh antrian atau memanipulasi entri individual. Unggah batch berguna dalam skenario di mana pengguna memilih beberapa file media sekaligus, seperti unggah galeri foto, dan SDK menjadwalkannya secara berurutan atau paralel berdasarkan sumber daya yang tersedia.

Dukungan metadata

Saat memperoleh kredensial unggah, Anda dapat melampirkan metadata ke aset media yang sedang diunggah. Bidang metadata yang didukung mencakup Title, Tags, CateId, CoverURL, TemplateGroupId, dan WorkflowId. Menetapkan metadata pada tahap kredensial memastikan bahwa aset media langsung dikaitkan dengan kategori, tag, dan alur kerja pemrosesan yang tepat setelah unggah selesai, sehingga menghilangkan kebutuhan pemanggilan API terpisah untuk memperbarui properti media.

Platform dan versi yang didukung

Platform

Versi saat ini

Minimal persyaratan sistem

Web (JavaScript)

Lihat Unggah file menggunakan JavaScript SDK

Browser modern (Chrome, Safari, Firefox, Edge)

Android

Lihat Unggah file menggunakan Android SDK

Android 5.0+

iOS

Lihat Unggah file menggunakan iOS SDK

iOS 12.0+

Mini program WeChat

Lihat Unggah SDK untuk Mini Program WeChat

Pustaka dasar WeChat 2.x+

Untuk nomor versi terbaru dan tautan unduhan, lihat Catatan rilis unggah SDK.

Kepatuhan privasi dan penagihan

Kepatuhan privasi

Unggah SDK klien dirancang untuk disematkan dalam aplikasi yang didistribusikan melalui toko aplikasi. SDK tidak mengumpulkan data pribadi apa pun. Untuk persyaratan kepatuhan saat mendistribusikan aplikasi dengan integrasi SDK, lihat Perjanjian Layanan.

Penagihan

Unggah SDK klien itu sendiri gratis digunakan. Biaya terkait dengan sumber daya ApsaraVideo VOD yang dikonsumsi selama dan setelah unggah:

Item penagihan

Deskripsi

Biaya penyimpanan

Ditagih berdasarkan volume penyimpanan file media yang diunggah dan durasi penyimpanan.

Biaya trafik

Trafik unggah (lalu lintas masuk dari klien ke OSS) gratis. Trafik pemutaran downstream ditagih secara terpisah.

Biaya transkoding

Jika transkoding dipicu setelah unggah, Anda dikenai biaya berdasarkan durasi file output dan spesifikasi transkoding. Tidak ada biaya jika transkoding tidak dilakukan.

Biaya akselerasi unggah

Ditagih berdasarkan volume data yang diakselerasi dengan skema bayar sesuai penggunaan saat akselerasi unggah diaktifkan. Untuk informasi harga, lihat Ikhtisar penagihan. Hubungi perwakilan penjualan Anda untuk konsultasi.

Catatan

Trafik unggah (lalu lintas masuk dari klien ke OSS) tidak dikenai biaya. Untuk informasi lebih lanjut tentang penagihan VOD, lihat Ikhtisar penagihan.