View a markdown version of this page

Server-Side Penyisipan Iklan (SSAI) - Amazon IVS

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Server-Side Penyisipan Iklan (SSAI)

Penyisipan iklan sisi server Amazon IVS (SSAI) memungkinkan Anda memonetisasi streaming dengan iklan video. IVS SSAI terintegrasi dengan AWS Elemental MediaTailor, memberi Anda akses ke kemampuan seperti pengambilan keputusan iklan, penargetan audiens, dan personalisasi. IVS menyediakan operasi API untuk menyisipkan jeda iklan ke streaming langsung Anda, memungkinkan Anda memberi kreator atau operator kontrol atas kapan iklan dijalankan. IVS menjahit iklan langsung ke aliran video. Ini memberikan pengalaman menonton yang mulus dan menghindari logika sisi klien yang kompleks. Untuk informasi tentang biaya yang terkait dengan SSAI, lihat Biaya IVS.

Memulai dengan SSAI

Tutorial ini membantu Anda memulai dengan penyisipan iklan sisi server Amazon IVS (SSAI). Di akhir tutorial ini, Anda akan memiliki saluran IVS yang dikonfigurasi untuk penyisipan iklan sisi server, dan Anda akan tahu cara memasukkan jeda iklan ke streaming langsung Anda. IVS SSAI terintegrasi dengan AWS Elemental untuk menangani pengambilan keputusan MediaTailor iklan.

Langkah 1: Buat Saluran IVS

Buat saluran IVS. Anda memerlukan URL pemutaran saluran untuk mengonfigurasi MediaTailor pada langkah berikutnya. Setelah membuat saluran Anda, simpan nilai berikut:

  • Saluran ARN — Anda memerlukan ini untuk memperbarui saluran nanti.

  • Awalan URL pemutaran - Ekstrak awalan URL dari URL pemutaran (semuanya sebelum/api/). Misalnya, jika URL pemutaran Anda adalah:

    • https://c17b3fb37fc9.us-west-2.playback.live-video.net/api/video/v1/us-west-2.123456789012.channel.ABcdef12ghIJ.m3u8

    awalan adalah:

    • https://c17b3fb37fc9.us-west-2.playback.live-video.net/

  • Format kontainer - Harus diatur ke MPEG Transport Stream (TS).

Langkah 2: Buat Konfigurasi MediaTailor Pemutaran

Buat konfigurasi MediaTailor pemutaran AWS Elemental. Konfigurasi ini menghubungkan server keputusan iklan Anda ke IVS dan memungkinkan penyisipan iklan untuk streaming Anda.

Konfigurasi pemutaran menggunakan awalan URL pemutaran, yang umum di semua saluran IVS di akun dan wilayah Anda. Ini berarti Anda dapat menggunakan konfigurasi MediaTailor pemutaran tunggal dengan beberapa saluran IVS.

Lihat Membuat Konfigurasi MediaTailor Pemutaran di Panduan MediaTailor Pengguna AWS Elemental untuk petunjuk. Saat membuat konfigurasi, pengaturan berikut diperlukan untuk IVS SSAI:

Pengaturan Lokasi Nilai
URL server keputusan iklan Pengaturan yang Diperlukan URL server keputusan iklan
Sumber konten Pengaturan yang Diperlukan Awalan URL URL pemutaran IVS Anda; misalnya, https://c17b3fb37fc9.us-west-2.playback.live-video.net/
Mode penyisipan Detail Personalisasi PLAYER_SELECT
penting

Tentukan sumber konten hanya menggunakan awalan URL pemutaran saluran Anda (diakhiri denganlive-video.net/), bukan URL lengkapnya. Jika formatnya salah, membuat konfigurasi iklan di langkah berikutnya gagal dengan kesalahan validasi.

Langkah 3: Buat Konfigurasi Iklan IVS

Konfigurasi iklan menautkan sumber daya IVS Anda ke konfigurasi MediaTailor pemutaran Anda. Anda dapat menggunakan konfigurasi MediaTailor pemutaran yang dibuat di wilayah rumah IVS mana pun dengan konfigurasi iklan di wilayah asal IVS lainnya. Wilayah asal IVS meliputius-west-2,,us-east-1,eu-west-1,eu-central-1, ap-northeast-1ap-northeast-2, danap-south-1.

Anda dapat menggunakan kembali satu konfigurasi iklan di beberapa saluran.

Untuk membuat konfigurasi iklan (AWS CLI):

aws ivs create-ad-configuration --name "my-ad-config" --media-tailor-playback-configurations playbackConfigurationArn="arn:aws:mediatailor:us-west-2:123456789012:playbackConfiguration/my-mediatailor-config"

Simpan nilai arn dari respons. Anda membutuhkannya di langkah berikutnya.

Langkah 4: Perbarui Saluran dengan Konfigurasi Iklan

Perbarui saluran IVS Anda untuk mengaitkannya dengan konfigurasi iklan yang Anda buat. Untuk memperbarui saluran (AWS CLI):

aws ivs update-channel --arn "arn:aws:ivs:us-west-2:123456789012:channel/ABcdef12ghIJ" --ad-configuration-arn "arn:aws:ivs:us-west-2:123456789012:ad-configuration/ABcdef12ghIJ"

Langkah 5: Mulai Streaming

Gunakan titik akhir ingest dan tombol streaming dari saluran Anda untuk memulai streaming.

Langkah 6: Masukkan Ad Break

Saat streaming Anda aktif, hubungi InsertAdBreak operasi untuk menyisipkan jeda iklan. Tentukan saluran ARN dan durasi (dalam detik) untuk jeda iklan.

Untuk menyisipkan jeda iklan (AWS CLI):

aws ivs insert-ad-break --channel-arn "arn:aws:ivs:us-west-2:123456789012:channel/ABcdef12ghIJ" --duration-seconds 30

Setelah berhasil kembali InsertAdBreak, Anda dapat menerima EventBridge acara (IVS Ad Break State Change) yang berisi stempel waktu yang menunjukkan waktu yang diharapkan jeda iklan akan dimasukkan ke dalam daftar putar pemirsa. Ini adalah waktu ketika penyiar dapat mengharapkan iklan untuk mulai menggantikan konten. Jika iklan tidak dapat diisi (misalnya, jika server keputusan iklan Anda tidak menampilkan iklan atau iklan perlu ditranskode oleh MediaTailor), konten sumber ditampilkan sebagai gantinya.

penting

Anda tidak dapat menyisipkan jeda iklan tambahan saat jeda iklan yang ada masih berlangsung. Panggilan berikutnya ke InsertAdBreak akan mengembalikan 409 ConflictException hingga jeda iklan saat ini berakhir.

EventBridge Integrasi

Dengan SSAI, acara IVS Ad Break State Change (disebut Ad Break Inserted) ditambahkan, dengan bidang berikut:

Bidang Deskripsi
event_name Nama acara yang dipancarkan.
channel_name Nama saluran yang dipicu oleh permintaan InsertAdBreak API.
stream_id ID streaming langsung ke saluran dipicu oleh permintaan InsertAdBreak API.
ad_break_id ID unik yang terkait dengan jeda iklan, yang sesuai dengan ID jeda iklan dalam respons dari InsertAdBreak permintaan awal.
duration_seconds Nilai dalam detik yang disertakan pada InsertAdBreak permintaan dan ditentukan oleh pelanggan.
target_start_time Perkiraan stempel waktu untuk streaming langsung saat jeda iklan dimasukkan ke dalam daftar putar.

Langkah 7: Acara SDK Pemain

Di seluruh platform, Player SDK menampilkan peristiwa saat jeda iklan diputar, memberi tahu kapan iklan dimulai, berlangsung, dan berhenti. Berikut adalah ringkasan tingkat tinggi dari acara dan waktu yang tersedia:

Peristiwa Payload Pemicu
Istirahat iklan dimulai AdBreak Segmen pertama dari jeda iklan
Iklan kreatif dimulai AdCreative Segmen pertama dari setiap kreatif
Pembaruan waktu iklan AdTimeUpdate Setiap detik selama pemutaran iklan
Iklan kreatif berakhir AdCreative Segmen terakhir dari setiap kreatif
Istirahat iklan berakhir AdBreak Segmen konten pertama setelah istirahat

Untuk nama event dan payload spesifik untuk setiap platform, lihat dokumentasi SDK Player:

Di bawah ini adalah contoh penggunaan peristiwa iklan di Web SDK untuk membuat komponen UI hitung mundur iklan sederhana selama jeda iklan:

// State let podLength = 0; let podIndex = 0; let remainingSeconds = 0; // Fired every second during the ad break player.addEventListener(PlayerEventType.AD_TIME_UPDATE, (payload) => { podLength = payload.podLength; podIndex = payload.podIndex; remainingSeconds = Math.round(payload.creativeDuration - payload.creativeElapsed); const text = `Ad ${podIndex} of ${podLength} · ${remainingSeconds}s remaining` // Ad 1 of 2 · 20s remaining console.log('Ad countdown text', text); UpdateAdOverlay(text); }); // Fired when the ad break ends player.addEventListener(PlayerEventType.AD_BREAK_ENDED, (payload) => { hideAdOverlay(); });

Penanda Iklan dalam Konten Rekaman

Saat streaming langsung direkam menggunakan rekam otomatis ke Amazon S3, IVS menghasilkan dan menulis daftar putar VOD ke S3 yang SCTE-35 menyertakan penanda iklan di posisi di mana iklan dipicu selama streaming langsung. Lihat Referensi Daftar Putar SSAI untuk detail.

Pengalaman Penampil

Secara default, MediaTailor mengisi dan menayangkan iklan ke semua pemirsa saat Anda menyisipkan jeda iklan. Jika Anda menggunakan token otorisasi pemutaran untuk streaming Anda, Anda dapat memilih pemirsa untuk tidak menerima iklan dengan menambahkan klaim "aws:ads-opt-out": true ke token JWT otorisasi pemutaran Anda.

Saat pemirsa mulai streaming di tengah jeda iklan, IVS membulatkan durasi jeda iklan ke kuartil terdekat. Misalnya, pemirsa yang bergabung dengan 35 detik tersisa dalam jeda iklan 60 detik akan mengalami jeda iklan 45 detik.

Saat memperbarui konfigurasi MediaTailor pemutaran atau menambahkan iklan baru, pemirsa mungkin tidak melihat iklan saat pertama kali Anda meminta jeda iklan karena MediaTailor harus melakukan transkode iklan terlebih dahulu. Setelah beberapa menit, panggilan berikutnya InsertAdBreak akan mengakibatkan pemirsa melihat iklan. MediaTailorlog transcode merekam transkode ini.

Parameter Pelacakan Penampil

Saat mengonfigurasi Server Keputusan Iklan (ADS) di Elemental MediaTailor PlaybackConfiguration, Anda dapat meneruskan parameter ke ADS menggunakan templat (lihat parameter yang MediaTailorditeruskan ke ADS). Dengan IVS SSAI, Anda dapat meneruskan parameter untuk setiap penampil menggunakan token otorisasi pemutaran untuk pengguna tersebut, dengan menambahkan klaim dengan format berikut:

"aws:ads-player-params": { "key1": "value1", "key2": "value2" }

Parameter ini diteruskan ke Elemental MediaTailor untuk diisi sebagai variabel [player_params.key1] dan [player_params.key2] template. Kunci yang Anda masukkan ke dalam daftar ini selalu diberi namespaced sebagai player_params parameter template.

Ukuran muatan total untuk semua kunci dan nilai gabungan dibatasi hingga 1000 byte.

Mode Pelaporan

Saat pemirsa menonton iklan, klien atau server dapat mengirim suar yang menunjukkan kemajuan pemutaran untuk setiap iklan kreatif. Secara default, MediaTailor menangani beaconing di sisi server. Anda dapat mengontrol mode pelaporan dengan menambahkan klaim berikut ke token otorisasi pemutaran:

"aws:ads-reporting-mode": "CLIENT" | "SERVER"

Nilai default-nya adalah SERVER. Ketika diatur keSERVER, MediaTailor mengirim beacon di sisi server. Saat disetel keCLIENT, beaconing sisi server dinonaktifkan dan data pelacakan disediakan di metadata.trackingData bidang acara iklan SDK IVS Player. BreakStarted SDK pemutar IVS tidak memanggil URL suar.

Masalah yang Diketahui

  • Iklan IVS tidak berfungsi jika saluran IVS containerFormat disetel ke. FRAGMENTED_MP4 Panggilan ke UpdateChannel dan CreateChannel akan mengembalikan kesalahan validasi jika format wadah FMP4 digunakan dengan konfigurasi iklan.

  • Selama pemutaran iklan, beralih antara mode bitrate adaptif dan pemilihan kualitas manual dapat menyebabkan pemain mengalami masalah pembekuan dan buffering.

  • Untuk streaming yang lebih dari 12 jam yang mengalami kelaparan, dimungkinkan waktu tanggal program melayang, menyebabkan pemirsa tidak ditayangkan iklan. Solusinya adalah penyiar memulai ulang streaming.

Referensi Daftar Putar SSAI

Daftar Putar Varian Langsung dengan SSAI

Saat iklan dijahit ke aliran, IVS menyisipkan tag yang didokumentasikan di bawah ini, sebelum segmen iklan.

1. Deklarasi Iklan Dijahit

#EXT-X-DATERANGE:ID="stitched-ad-1765566299-20000000000",CLASS="live-video-net-stitched-ad",START-DATE="2025-12-12T19:04:59.079Z",DURATION=20.000,X-NET-LIVE-VIDEO-AD-AD-BREAK-ID="test"
Atribut Deskripsi
ID

Format: stitched-ad-{timestamp}-{duration}

{timestamp}: Stempel waktu Unix dari awal iklan

{duration}:Durasi iklan sebagai bilangan bulat dalam nanodetik

Tipe: Array string

CLASS Selalu live-video-net-stitched-ad untuk iklan SSAI.
START-DATE Program ISO 8601 date/time saat iklan dimulai.
DURATION Panjang iklan dalam hitungan detik.
X-NET-LIVE-VIDEO-AD-AD-BREAK-ID ID pemutus iklan dikembalikan oleh IVS saat InsertAdBreak operasi dipanggil.

2. Perubahan Sumber Streaming

#EXT-X-DATERANGE:ID="source-1765566299",CLASS="live-video-net-stream-source",START-DATE="2025-12-12T19:04:59.079Z",END-ON-NEXT=YES,X-NET-LIVE-VIDEO-STREAM-SOURCE="0f262e65-a709-4ef1-8741-e82d936c"
Atribut Deskripsi
CLASS Selalulive-video-net-stream-source.
START-DATE / END-ON-NEXT Metadata waktu untuk rentang sumber ini.
X-NET-LIVE-VIDEO-STREAM-SOURCE Petunjuk ke pemutar bahwa sumber video berubah. Nilai langsung untuk konten utama atau ID unik untuk konten iklan.

3. Penanda Diskontinuitas

#EXT-X-DISCONTINUITY

Pensinyalan tag HLS standar bahwa parameter pengkodean dapat berubah antara streaming langsung dan konten iklan.

Segmen Iklan

#EXT-X-PROGRAM-DATE-TIME:2025-12-12T19:04:59.079Z #EXTINF:2.000,0f262e65-a709-4ef1-8741-e82d936c https://4ce388b1cf28.j.cloudfront.hls.live-video.net/v1/segment/CvsCse8Qbs5DU_aRmrVLd72_nK9lo9xS1KjD115LsIXcsD27JfLfkSuamLUivqOTrfHUeGf6Zmx_c9rhq0btTOu7E4F1DaU8knNoebLq6FlKp6q8ysaQdEA10gKCNP92oAQ_0DGLInY462O9HUxgtk5KHj23ZjPhVCxIh3DjWqwaevDci1_q7dYL55rgSKd11SfpsGSS9Yup4g5dfzyGhfz6Y2Skaj34JtoVyd8Nxlppc4jDlZl-6j7YM1i2qdUcM3VNWrZrxCisBXgOPtI3vFdeNcNjPzVdOGjMz5cXcQIp8YOCwnkdkomhn_3xxmB1Zngl3QPao6-oPsjH3qVcMOCuKfKZSmRJGFLvkrO1PefV5ya3eUvihXCMvDE-81EmGp5q9ErEgFpz06rMDbYFWb3z9H8X0t8KzvGDOaqKTYHZ0lgEV-fULeDQ76pDy_OVPwhO2vJMxBpfdQ_IeB1QUK2wJmXJ96Mvv0C2dcb0F7zE3lr_iBGemUjwmb7JmBoM3HdJbpV0TGp8C6vhIAEqCXVzLXdlc3QtMjD3DQ.ts?dna=CmanuVzG9F6kGS2X7ThbGZyZPHWgX2TiBlBMYsvGWLcWaLWyntTaWRp5D9qjZsrGKkzdwoLNY4pri6ZgpxnzqLqWvhcP6zoGu8vifP5NxPgiNKMmYdUmQrqTAf7jbauvE3c6B9ebptAaDEkrbrnG1qF8Cv3kbiABKgl1cy13ZXN0LTIw9w0
Atribut Deskripsi
EXT-X-PROGRAM-DATE-TIME Stempel waktu segmen ini.
EXTINF

Format: {duration},{tag}

{duration}: Panjang segmen dalam hitungan detik.

{tag}: Pengidentifikasi sumber. Untuk konten langsung, ini selalulive. Untuk konten iklan, ini adalah UUID yang disediakan oleh MediaTailor yang secara unik mengidentifikasi transkode aset iklan

URL Segmen IVS-hosted endpoint yang berisi informasi terenkripsi tentang segmen dan lokasinya di cache IVS.

Daftar Putar Varian VOD dengan SSAI

Saat streaming langsung direkam, IVS menghasilkan dan menulis daftar putar VOD ke S3 yang menyertakan penanda SCTE-35 iklan pada posisi di mana iklan dipicu selama streaming langsung. Untuk menayangkan iklan selama pemutaran VOD, Anda menayangkan daftar putar IVS ini MediaTailor, yang bertanggung jawab untuk memasukkan segmen iklan ke dalam daftar putar. MediaTailor menggantikan segmen VOD asli selama jeda iklan dengan segmen iklan.

1. Penanda Mulai Istirahat Iklan (SCTE35-OUT)

#EXT-X-DATERANGE:ID="12345678",START-DATE="2025-12-06T00:45:45.723Z",PLANNED-DURATION=20.0,SCTE35-OUT=0xFC302000000000000000FFF00F05F8E7AEFC7FFFFE001B7740000000000000340CFD88
Atribut Deskripsi
ID Pengenal unik untuk jeda iklan ini. Digunakan untuk mengkorelasikan penanda awal dan akhir.
START-DATE Program ISO 8601 date/time saat jeda iklan dimulai.
PLANNED-DURATION Durasi jeda iklan yang diharapkan dalam hitungan detik.
SCTE35-OUT SCTE-35 penanda menandakan dimulainya jeda iklan.

2. Segmen Iklan (MediaTailor Dijahit)

#EXTINF:2.0, ../../../../segment/b2857627df9428679e888ee8daa979d0b7559801/gk-test-ivs-vod/bd0c7d90-a47c-4a91-b5ec-7d0f9897049b/0/3
Atribut Deskripsi
EXTINF Durasi segmen iklan dalam hitungan detik.
Segment URL Jalur relatif ke segmen MediaTailor-hosted iklan.

3. Penanda Akhir Istirahat Iklan (SCTE35-IN)

#EXT-X-DATERANGE:ID="12345678",START-DATE="2025-12-06T00:45:45.723Z",END-DATE="2025-12-06T00:46:07.889Z",DURATION=20.0,SCTE35-IN=0xFC302000000000000000FFF00F05F8E7AEFC7F7FFE001B7740000000000000C23E5851
Atribut Deskripsi
ID ID yang sama dengan penanda awal. Menghubungkan keduanya bersama-sama.
START-DATE Waktu mulai asli dari jeda iklan (sama seperti penanda awal).
END-DATE Stempel waktu ISO 8601 saat jeda iklan berakhir.
DURATION Durasi aktual jeda iklan dalam hitungan detik.
SCTE35-IN SCTE-35 penanda menandakan akhir jeda iklan.