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:
-
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/
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
containerFormatdisetel ke.FRAGMENTED_MP4Panggilan 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:
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:
|
| 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. |