All Products
Search
Document Center

ApsaraVideo Live:URL ingest dan streaming yang ditandatangani

Last Updated:Mar 07, 2026

Untuk mencegah pengunduhan jahat dan pencurian sumber daya situs, Anda dapat mengonfigurasi daftar hitam atau daftar putih Referer guna mengidentifikasi dan menyaring pengunjung. Selain itu, Anda juga dapat menggunakan URL ingest dan streaming yang ditandatangani untuk melindungi sumber daya di server origin secara lebih efektif. Topik ini menjelaskan cara kerja fitur Penandatanganan URL, cara mengonfigurasinya, serta catatan penggunaannya.

Komponen URL yang Ditandatangani

URL yang ditandatangani kompatibel dengan PC, perangkat seluler, serta alat ingest dan pemutaran pihak ketiga. URL tersebut terdiri dari URL ingest atau URL streaming + token akses. Berikut contohnya:

rtmp://push.aliyundoc.com/app/stream?auth_key=1740562218-0-0-183e22e*********

Parameter `auth_key` adalah Access Token.

Struktur token akses

timestamp-rand-uid-md5hash
  • timestamp: Stempel waktu UNIX dalam satuan detik. Waktu kedaluwarsa akhir ditentukan dengan menambahkan nilai ini ke periode validitas penandatanganan URL domain.

    Jika Anda menggunakan Pembuat URL di Konsol ApsaraVideo Live untuk menghasilkan URL yang ditandatangani, timestamp-nya adalah waktu saat ini. Dalam hal ini, berlaku rumus: Waktu kedaluwarsa = Waktu saat ini + Periode validitas.

    Jika Anda membuat URL yang ditandatangani menggunakan aturan penggabungan, Anda dapat menentukan timestamp tersebut. Misalnya, jika Anda mengatur timestamp ke waktu saat ini ditambah 3.600 detik, maka berlaku rumus: Waktu kedaluwarsa = Waktu saat ini + 3.600 detik + Periode validitas. Sebagai contoh lain, jika Anda mengatur timestamp ke waktu saat ini, maka berlaku rumus: Waktu kedaluwarsa = Waktu saat ini + Periode validitas.

  • rand: Bilangan acak, biasanya bernilai 0.

    Untuk memastikan setiap URL yang dihasilkan bersifat unik, gunakan format UUID tanpa tanda hubung (-) sebagai bilangan acak, misalnya: 477b3bbc253f467b8def6711128c7****.

  • uid: Parameter tambahan yang saat ini tidak digunakan, biasanya bernilai 0.

  • md5hash: String verifikasi yang dihitung menggunakan algoritma MD5, terdiri atas 32 karakter berupa angka (0–9) dan huruf kecil (a–z).

    Konten terenkripsi

    sstring = "URI-timestamp-rand-uid-PrivateKey" 
    md5hash = md5sum(sstring)

    Misalnya, jika URL ingest-nya adalah rtmp://push.aliyundoc.com/app/stream, string untuk enkripsi adalah /app/stream-timestamp-rand-uid-Domain authentication Key.

Cara Menggunakan

Untuk menggunakan URL yang ditandatangani, Anda harus mengaktifkan fitur Penandatanganan URL untuk nama domain Anda. Fitur ini diaktifkan secara default saat Anda pertama kali menambahkan nama domain. Untuk informasi selengkapnya, lihat Konfigurasi penandatanganan URL. Anda dapat menghasilkan URL yang ditandatangani melalui Konsol ApsaraVideo Live atau menggunakan aturan penggabungan. Untuk informasi selengkapnya, lihat Hasilkan URL ingest dan streaming.

Cara Kerja

Setelah Penandatanganan URL diaktifkan, server memverifikasi permintaan dengan melakukan langkah-langkah berikut:

  1. Server memeriksa apakah timestamp dalam permintaan lebih awal daripada waktu saat ini.

    • Jika timestamp lebih awal daripada waktu saat ini, server menganggap URL yang ditandatangani telah kedaluwarsa dan mengembalikan kode status HTTP 403.

    • Jika timestamp lebih baru daripada waktu saat ini, server membuat string menggunakan rumus berikut.

  2. Server menggunakan algoritma MD5 untuk menghitung nilai hash string tersebut, lalu membandingkannya dengan nilai hash yang terdapat dalam permintaan.

    • Jika kedua nilai sama, otentikasi berhasil dan server mengembalikan aliran live.

    • Jika kedua nilai berbeda, otentikasi gagal dan server mengembalikan kode status HTTP 403.

HashValue berasal dari string berikut:

sstring = "URI-timestamp-rand-uid-PrivateKey"
HashValue = md5sum(sstring)

Contoh

  • Asumsi:

    1. Permintaan dilakukan untuk objek rtmp://demo.aliyundoc.com/video/standard**** menggunakan `req_auth`.

    2. Anda menetapkan kunci kriptografi sebagai aliyunliveexp1234, yaitu kunci primary atau secondary yang dikonfigurasi di Konsol ApsaraVideo Live.

    3. Waktu pembuatan URL yang ditandatangani adalah pukul 16.49.57 pada 28 Mei 2021 (UTC+8).

    4. Di konsol, periode validitas untuk URL yang ditandatangani diatur menjadi 40 menit.

    5. Anda menetapkan bidang rand dan uid masing-masing ke 0.

  • Hasil:

    1. Stempel waktu UNIX yang dihitung untuk URL yang ditandatangani adalah 1622194197, yaitu pukul 17.29.57 pada 28 Mei 2021 (UTC+8).

    2. Server membuat string signature yang digunakan untuk menghitung nilai hash.

      /video/standard-1622194197-0-0-aliyunliveexp1234

    3. Server menghitung nilai hash berdasarkan string signature tersebut.

      HashValue = md5sum("/video/standard-1622194197-0-0-aliyunliveexp1234") = 5552ff52b5e4e20387c6dc18afce****

    4. URL permintaan adalah rtmp://demo.aliyundoc.com/video/standard****?auth_key=1622194197-0-0-5552ff52b5e4e20387c6dc18afce****

      Catatan

      Bidang auth_key menunjukkan token akses yang disertakan dalam URL yang ditandatangani.

    5. HashValue yang dihitung cocok dengan nilai md5hash = 5552ff52b5e4e20387c6dc18afce**** dalam permintaan pengguna. Otentikasi berhasil.

Catatan Penggunaan

  • Secara default, Penandatanganan URL diaktifkan. Kami menyarankan agar Anda tetap mengaktifkan fitur ini untuk mencegah pembajakan konten. Jika ingin menonaktifkannya, pastikan Anda memahami risiko penggunaan sumber daya tanpa izin dan menyetujui Disclaimer untuk Menonaktifkan Penandatanganan URL di halaman URL Signing di Konsol ApsaraVideo Live.

  • Anda harus mengatur bidang auth_key secara manual. ApsaraVideo Live tidak menyediakan operasi API untuk menghitung nilai bidang auth_key.

  • Setelah mengaktifkan Penandatanganan URL, Anda harus menambahkan bidang auth_key ke URL ingest dan streaming. Jika tidak, aliran live tidak dapat diputar. Anda tidak boleh hanya menandatangani salah satu—URL ingest dan streaming harus keduanya ditandatangani.

  • URL yang ditandatangani tetap valid hingga mencapai timestamp kedaluwarsanya. Anda dapat mengakses URL tersebut kapan saja sebelum kedaluwarsa. ApsaraVideo Live tidak mendukung URL yang ditandatangani sekali pakai.

  • Nilai bidang auth_key adalah hasil MD5 dari URI tanpa queryString. Untuk informasi selengkapnya, lihat bagian sebelumnya tentang pengaturan parameter Penandatanganan URL. URI untuk URL ingest maupun streaming adalah AppName/StreamName. Jika URL ingest tidak bersifat rahasia, kami menyarankan agar Anda menetapkan timestamp kedaluwarsa sedekat mungkin dengan waktu penggunaan untuk mencegah akses jahat ke URL streaming.

  • Untuk URL ingest dan streaming dalam format Real-Time Messaging Protocol (RTMP), FLV, dan Real-Time Streaming (RTS), permintaan hanya diautentikasi saat ingest aliran atau streaming dimulai. Proses ingest atau streaming yang sedang berlangsung tidak akan terputus meskipun URL yang ditandatangani kedaluwarsa selama proses tersebut.

  • Untuk URL streaming dalam format M3U8, permintaan diautentikasi saat streaming dimulai dan selama proses streaming berlangsung. Streaming yang sedang berlangsung akan terputus jika URL yang ditandatangani kedaluwarsa selama proses tersebut.

  • Jika Anda ingin mengontrol secara dinamis periode validitas URL yang ditandatangani, Anda dapat menggunakan SDK terkait untuk menentukan parameter AppName dan StreamName secara dinamis. Untuk informasi selengkapnya, lihat Kode contoh untuk penandatanganan URL.