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 Anda dengan iklan video. IVS SSAI terintegrasi dengan AWS Elemental MediaTailor, memberi Anda akses ke kemampuan seperti pengambilan keputusan iklan, penargetan audiens, dan personalisasi. IVS mendukung dua jenis jeda iklan:
-
Mid-roll— Dipicu secara manual selama streaming langsung menggunakan
InsertAdBreakAPI. -
Post-roll— Secara otomatis dimasukkan di akhir aliran.
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 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 MediaTailor untuk menangani pengambilan keputusan 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-nilai berikut:
-
Channel ARN — Anda memerlukan ini untuk memperbarui saluran nanti.
-
Awalan URL Pem utaran — 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 Pem MediaTailor utaran
Buat konfigurasi MediaTailor pemutaran AWS Elemental. Konfigurasi ini menghubungkan server keputusan iklan Anda ke IVS dan mengaktifkan 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 Konfigur MediaTailor asi Pemutaran di Panduan MediaTailor Pengguna Elemental AWS 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 dari URL pemutaran IVS Anda; mis., https://c17b3fb37fc9.us-west-2.playback.live-video.net/ |
| Mode penyisipan | Detail Personalisasi | PEMAIN_PILIH |
penting
Tentukan sumber konten hanya menggunakan awalan URL pemutaran saluran Anda (diakhiri live-video.net/ dengan), bukan URL lengkap. 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 asal 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 konfigurasi iklan tunggal di beberapa saluran. Konfigurasi iklan mendukung hingga 3 konfigurasi MediaTailor pemutaran. Konfigurasi pertama dalam daftar digunakan secara default. Untuk memilih yang berbeda per sesi penayangan, tentukan aws:ads-playback-config-name klaim dalam token otorisasi pemutaran.
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" \ --post-roll-configuration enabled=true,durationSeconds=30
Parameter --post-roll-configuration bersifat opsional. Jika dihilangkan, konfigurasi post-roll secara default dinonaktifkan (enabled: false) dengan durasi 15 detik (durationSeconds: 15). Jika disediakan, keduanya enabled dan durationSeconds diperlukan. Jika dihilangkan, Anda dapat mengaktifkannya nanti menggunakan UpdateAdConfiguration API.
Untuk UpdateAdConfiguration: jika --post-roll-configuration tidak termasuk dalam permintaan, konfigurasi post-roll yang ada tidak dimodifikasi. Jika disertakan, kedua bidang tersebut wajib diisi.
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 kunci streaming dari saluran Anda untuk memulai streaming.
Langkah 6: Masukkan Iklan Break
Saat streaming Anda ditayangkan, panggil InsertAdBreak operasi untuk memasukkan jeda iklan. Tentukan saluran ARN dan durasi (dalam detik) untuk jeda iklan. Langkah ini hanya berlaku untuk jeda iklan mid-roll. Post-roll jeda iklan dipicu secara otomatis dan tidak memerlukan panggilanInsertAdBreak.
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 dikembalikan InsertAdBreak, Anda dapat menerima EventBridge acara (Perubahan Status Jeda Iklan IVS) yang berisi stempel waktu yang menunjukkan waktu yang diharapkan jeda iklan akan dimasukkan ke dalam daftar putar pemirsa. Ini adalah saat ketika penyiar dapat mengharapkan iklan untuk mulai mengganti konten. Jika iklan tidak dapat diisi (misalnya, jika server keputusan iklan Anda tidak menampilkan iklan atau iklan perlu di-transcode oleh MediaTailor), konten sumber ditampilkan sebagai gantinya.
penting
Anda tidak dapat memasukkan jeda iklan tambahan saat jeda iklan yang ada masih berlangsung. Panggilan berikutnya ke InsertAdBreak akan mengembalikan 409 ConflictException sampai jeda iklan saat ini berakhir.
EventBridge Integrasi
Dengan SSAI, acara Perubahan Status Id Break IVS (disebut Id 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 yang 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 daftar putar. |
Acara SDK Pemain
Di seluruh platform, Player SDK menampilkan peristiwa saat jeda iklan diputar, memberi tahu saat iklan dimulai, berlangsung, dan berhenti. Berikut adalah ringkasan tingkat tinggi dari acara dan waktu yang tersedia:
| Peristiwa | Payload | Pemicu |
|---|---|---|
| Iklan jeda dimulai | AdBreak | Segmen pertama jeda iklan |
| Iklan kreatif dimulai | AdCreative | Segmen pertama dari setiap kreatif |
| Pembaruan waktu iklan | AdTimeUpdate | Setiap detik selama pemutaran iklan |
| Kreatif iklan berakhir | AdCreative | Segmen terakhir dari setiap kreatif |
| Iklan jeda berakhir | AdBreak | Segmen konten pertama setelah istirahat |
Untuk nama acara dan payload tertentu untuk setiap platform, lihat dokumentasi Player SDK:
-
Web: Lihat PlayerEventType enumerasi di https://aws.github.io/amazon-ivs-player-docs/latest/web/
-
Android: Lihat Player.Listener kelas di https://aws.github.io/amazon-ivs-player-docs/latest/android/
-
IOS: Lihat IVSPlayerDelegate protokol di https://aws.github.io/amazon-ivs-player-docs/latest/ios/
Berikut adalah contoh penggunaan acara 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 menyertakan penanda SCTE-35 iklan di posisi di mana iklan dipicu selama streaming langsung. Lihat Referensi Daftar Putar SSAI untuk detail.
Pengalaman Pemirsa
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 penonton untuk tidak menerima iklan dengan menambahkan klaim "aws:ads-opt-out": true ke token JWT otorisasi pemutaran Anda.
Ketika 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 terlebih dahulu mentranskode iklan. Setelah beberapa menit, panggilan berikutnya InsertAdBreak akan mengakibatkan pemirsa melihat iklan. MediaTailorlog transkode merekam transkode ini.
Parameter Pelacakan Penampil
Saat mengonfigurasi Server Keputusan Iklan (ADS) di Elemental Anda MediaTailor PlaybackConfiguration, Anda dapat meneruskan parameter ke ADS menggunakan templat (lihat meneruskan parameter MediaTailor 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 dalam daftar ini selalu diberi namespace sebagai player_params parameter template.
Ukuran payload 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 beacon 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. Saat diatur keSERVER, MediaTailor mengirimkan suar di sisi server. Saat diset CLIENT el ke, beacon sisi server dinonaktifkan dan data pelacakan disediakan di metadata.trackingData bidang acara iklan IVS Player SDK. BreakStarted SDK pemutar IVS tidak memanggil URL suar.
Masalah yang Diketahui
-
Iklan IVS tidak berfungsi jika saluran IVS
containerFormatdiatur ke.FRAGMENTED_MP4Memang UpdateChannel gil 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 lebih dari 12 jam yang mengalami kelaparan, waktu tanggal program mungkin bergeser, menyebabkan penonton tidak ditayangkan iklan. Solusinya adalah penyiar memulai ulang aliran.
Referensi Daftar Putar SSAI
Daftar Putar Varian Langsung dengan SSAI
Saat iklan dimasukkan ke dalam aliran, IVS menyisipkan tag yang didokumentasikan di bawah ini, sebelum segmen iklan.
1. Deklarasi Iklan Jahit
#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:
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 jeda iklan dikembalikan oleh IVS saat InsertAdBreak operasi dipanggil. |
2. Perubahan Sumber Stream
#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 sedang berubah. Nilai adalah live untuk konten utama atau ID unik untuk konten iklan. |
3. Penanda Diskontinuitas
#EXT-X-DISCONTINUITY
Tag HLS standar menandakan 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 |
Timestamp segmen ini. |
EXTINF |
Format:
|
| URL segmen | IVS-hosted titik akhir 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 di posisi di mana iklan dipicu selama streaming langsung. Untuk menayangkan iklan selama pemutaran VOD, Anda menayangkan daftar putar IVS ini melalui MediaTailor, yang bertanggung jawab untuk menjahit segmen iklan ke dalam daftar putar. MediaTailor menggantikan segmen VOD asli selama jeda iklan dengan segmen iklan.
1. Penanda Mulai Jeda 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 |
Pengidentifikasi unik untuk jeda iklan ini. Digunakan untuk menghubungkan 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 (J MediaTailor ahit)
#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 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 jeda iklan (sama dengan 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. |