All Products
Search
Document Center

ApsaraVideo Live:Format callback ingest aliran

Last Updated:Jul 06, 2025

Dengan mengonfigurasi callback untuk status ingest aliran, Anda dapat menerima notifikasi tepat waktu terkait keberhasilan atau pemutusan ingest aliran.

Cara kerjanya

ApsaraVideo Live mengirimkan permintaan HTTP GET ke server Anda untuk memberi tahu secara real-time tentang keberhasilan atau pemutusan ingest aliran. Server kemudian merespons dengan kode status HTTP 200, yang menunjukkan bahwa callback berhasil diterima.

Catatan penggunaan

  • URL callback tidak memerlukan pengenal tetapi harus dapat diakses. Respons URL harus memenuhi persyaratan berikut:

    Jika akses ke URL callback mengalami timeout, ApsaraVideo Live akan mencoba mengakses kembali URL tersebut hingga lima kali dengan interval 1 detik. Periode timeout adalah 5 detik.

  • Logika callback

    • Selama ingest aliran melalui Real-Time Messaging Protocol (RTMP), ApsaraVideo Live memeriksa apakah klien ingest aliran menutup koneksi dalam waktu 2 detik setelah menerima pesan OnPublish. Jika koneksi tidak ditutup, ApsaraVideo Live mengirimkan notifikasi callback tentang keberhasilan ingest aliran.

    • Misalkan Anda memiliki Domain Ingest A dan Domain Streaming B yang saling terkait, serta mengonfigurasikan penarikan aliran reguler dan penarikan aliran yang dipicu untuk Domain Streaming B. Untuk menerima notifikasi callback tentang status penarikan aliran, konfigurasikan stream ingest callbacks untuk Domain Ingest A. Setelah konfigurasi, logika callback yang sama berlaku untuk penarikan aliran di bawah Domain Streaming B. Secara default, penarikan aliran dianggap berhasil jika klien tidak menutup koneksi dalam waktu 2 detik.

    Catatan
    • Kami sarankan Anda menerbitkan URL streaming setelah memastikan bahwa ingest atau penarikan aliran berhasil berdasarkan notifikasi callback dan respons terhadap panggilan operasi DescribeLiveStreamsOnlineList.

    • ApsaraVideo Live secara otomatis menghentikan ingest aliran ketika tidak ada data streaming yang dikirim ke pusat live selama 10 detik.

  • Logika callback ingest aliran

    Secara default, autentikasi untuk callback ingest aliran dinonaktifkan. Anda dapat mengaktifkan fitur ini saat menentukan URL callback ingest aliran. Setelah diaktifkan, logika autentikasi berikut berlaku:

    1. Ketika ApsaraVideo Live memulai permintaan callback, ia menyertakan header ALI-LIVE-TIMESTAMP dan ALI-LIVE-SIGNATURE dalam permintaan HTTP atau HTTPS sehingga server penerima pesan callback dapat mengautentikasi tanda tangan. Nilai dari ALI-LIVE-SIGNATURE dihitung menggunakan rumus berikut:

      ALI-LIVE-SIGNATURE = MD5SUM (MD5CONTENT)

      MD5CONTENT = Nama domain|Nilai ALI-LIVE-TIMESTAMP|Kunci kriptografi

      Catatan

      Nama domain adalah domain ingest tempat Anda mengonfigurasi URL callback. Kunci kriptografi adalah kunci kriptografi yang Anda tentukan untuk URL callback.

    2. Setelah menerima pesan callback, server penerima menggabungkan nama domain callback, nilai header ALI-LIVE-TIMESTAMP, dan kunci kriptografi dalam format sebelumnya. Server menghitung nilai MD5 dari string untuk mendapatkan string terenkripsi, lalu membandingkan string terenkripsi dengan nilai header ALI-LIVE-SIGNATURE dalam permintaan HTTP atau HTTPS yang dimulai oleh ApsaraVideo Live. Jika kedua nilai berbeda, permintaan dianggap tidak valid.

Contoh

Contoh callback:

http://1.1.1.1?action=publish&ip=192.168.XX.XX&id=world&app=example.aliyundoc.com&appname=liveApp****&time=1609220385&usrargs={Parameter kustom}&
node=cdnvideocenter01020711****.cm3&height=720&width=1280

Parameter

Deskripsi

action

Peristiwa. Nilai yang valid:

  • publish: ingest aliran

  • publish_done: pemutusan aliran

ip

Alamat IP klien ingest aliran.

id

Nama aliran yang di-ingest.

app

Domain ingest. Nilai default adalah domain ingest kustom. Jika tidak ada domain ingest yang tersedia, domain streaming digunakan.

appname

Nama aplikasi yang meng-ingest aliran.

time

Timestamp UNIX. Unit: detik.

usrargs

Parameter kustom yang digunakan untuk meng-ingest aliran.

node

Nama CDN point of presence (POP) atau host yang menerima aliran.

height

Tinggi resolusi. Unit: piksel.

Catatan

Tinggi dan lebar resolusi hanya dikembalikan saat callback dipanggil untuk pertama kalinya.

width

Lebar resolusi. Unit: piksel.