View a markdown version of this page

MediaTailor variabel sesi untuk permintaan ADS - AWS Elemental MediaTailor

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

MediaTailor variabel sesi untuk permintaan ADS

AWS Elemental MediaTailor mengirimkan data sesi ke Server Keputusan Iklan (ADS) saat Anda mengonfigurasi AWS Elemental MediaTailor untuk menentukan satu atau beberapa variabel yang tercantum di bagian ini di URL ADS template. Anda dapat menggunakan variabel individual, dan Anda dapat menggabungkan beberapa variabel untuk membuat nilai tunggal. MediaTailor menghasilkan beberapa nilai dan memperoleh sisanya dari sumber seperti manifes dan permintaan inisialisasi sesi pemain.

Tabel berikut menjelaskan variabel data sesi yang dapat Anda gunakan dalam konfigurasi URL permintaan ADS template Anda. Nomor bagian yang tercantum dalam tabel sesuai dengan spesifikasi Society of Cable Telecommunications Engineers (SCTE) -35 versi 2019a, Pesan Isyarat Penyisipan Program Digital, Untuk detail tentang prefetch iklan, lihat. Prefetching iklan

Nama Tersedia untuk prefetch iklan SCTE-35 bagian spesifikasi Deskripsi
[avail.index] Ya Angka yang mewakili posisi iklan yang tersedia dalam indeks. Pada awal sesi pemutaran, MediaTailor buat indeks semua iklan yang tersedia dalam manifes dan menyimpan indeks untuk sisa sesi. Ketika MediaTailor membuat permintaan ke ADS untuk mengisi yang tersedia, itu termasuk nomor indeks tersedia iklan. Parameter ini memungkinkan ADS untuk meningkatkan pemilihan iklan dengan menggunakan fitur seperti pengecualian kompetitif dan pembatasan frekuensi.
[avail.random] Ya Angka acak antara 0 dan 10.000.000.000, sebagai angka panjang, yang MediaTailor dihasilkan untuk setiap permintaan ke ADS. Beberapa server iklan menggunakan parameter ini untuk mengaktifkan fitur seperti memisahkan iklan dari perusahaan pesaing.
[scte.archive_allowed_flag] Ya 10.3.3.1 Nilai Boolean opsional. Ketika nilai ini adalah 0, batasan perekaman ditegaskan pada segmen. Ketika nilai ini adalah 1, batasan perekaman tidak ditegaskan pada segmen.
[scte.avail_num] Ya 9.7.2.1 Nilai diurai MediaTailor dari SCTE-35 bidangavail_num, sebagai angka panjang. MediaTailor dapat menggunakan nilai ini untuk menunjuk angka ketersediaan iklan linier.

Nilai harus bilangan bulat.

[scte.avails_expected] Ya 9.7.2.1 Nilai panjang opsional yang memberikan jumlah ketersediaan yang diharapkan dalam acara saat ini.
[scte.delivery_not_restricted_flag] Ya 10.3.3.1 Nilai Boolean opsional. Ketika nilai ini adalah 0, lima bit berikutnya dicadangkan. Ketika nilai ini adalah 1, lima bit berikutnya mengambil makna seperti yang dijelaskan dalam SCTE-35 spesifikasi.
[scte.device_restrictions] Ya 10.3.3.1 Nilai integer opsional yang menandakan tiga kelompok perangkat yang telah ditentukan sebelumnya, independen, dan non-hierarkis. Untuk informasi selengkapnya tentang variabel ini, lihat deskripsi segments_dalam spesifikasi. SCTE-35
[scte.event_id]
Ya 9.1 dan 9.7.2.1 Nilai diurai MediaTailor dari SCTE-35 bidangsplice_event_id, sebagai angka panjang. MediaTailor menggunakan nilai ini untuk menetapkan angka ketersediaan iklan linier atau untuk mengisi string kueri server iklan, seperti posisi pod iklan.

Nilai harus bilangan bulat.

[scte.no_regional_blackout_flag] Ya 10.3.3.1 Nilai Boolean opsional. Jika nilai ini adalah 0, pembatasan pemadaman regional berlaku untuk segmen. Jika nilai ini adalah 1, pembatasan pemadaman regional tidak berlaku untuk segmen.
[scte.segment_num] Ya 10.3.3.1 Nilai integer opsional yang memberi nomor segmen dalam kumpulan segmen. Untuk informasi selengkapnya tentang variabel ini, lihat deskripsi segment_num dalam spesifikasi. SCTE-35
[scte.segmentation_event_id] Ya 10.3.3.1 MediaTailor mengekspos variabel ini sebagaiscte.event_id.
[scte.segmentation_type_id] Ya 10.3.3.1 Nilai integer 8-bit opsional yang menentukan jenis segmentasi. Untuk informasi selengkapnya tentang variabel ini, lihat deskripsi segmentation_type_id dalam spesifikasi. SCTE-35
[scte.segmentation_upid]

segmentation_upid_type: Ya

private_data: Ya

segmentasi_ upid: 10.3.3.1

UPID Pribadi Terkelola: 10.3.3.3

Sesuai dengan SCTE-35 segmentation_upid elemen. segmentation_upidElemen berisi segmentation_upid_type dansegmentation_upid_length.

MediaTailor mendukung segmentation_upid jenis berikut:

  • Informasi ADS (0x0E) - Informasi iklan. Untuk informasi selengkapnya, lihat deskripsi segmentation_upid dalam spesifikasi. SCTE-35

  • UPID Pribadi Terkelola (0x0C) - Struktur UPID Pribadi Terkelola (MPU) seperti yang didefinisikan dalam spesifikasi. SCTE-35 MediaTailor mendukung representasi SCTE XML biner atau DASH.

    Anda dapat menggunakan struktur ini dalam alur kerja podbuster. Untuk melakukannya, tentukan 32-bit (4 byte)format_identifier, dan sertakan parameter berikut dalam private_data atribut:

    ABCD{"assetId":"my_program","cueData":{"cueType":"theAdType","key":"pb","value":"123456"}}

    MediaTailor mengurai nilai-nilai dari JSON sebelumnya, dan meneruskannya ke variabelscte.segmentation_upid.assetId,scte.segmentation_upid.cueData.key, dan scte.segmentation_upid.cueData.value dinamis.

  • User Defined (0x01) - Struktur yang ditentukan pengguna. Untuk informasi selengkapnya, lihat deskripsi segmentation_upid dalam spesifikasi. SCTE-35

[scte.segmentation_upid.assetId] Ya Digunakan bersama dengan Managed Private UPID (0xC) segmentation_ upid_type untuk alur kerja podbuster. MediaTailormemperoleh nilai ini dari assetId parameter dalam struktur private_data JSON MPU. Untuk informasi selengkapnya, lihat Managed Private UPID JSON structure for a podbuster workflow.
[scte.segmentation_upid.cueData.key] Ya Digunakan bersama dengan Managed Private UPID (0xC) segmentation_ upid_type untuk alur kerja podbuster. MediaTailormemperoleh nilai ini dari cueData.key parameter dalam struktur private_data JSON MPU. Untuk informasi selengkapnya, lihat Managed Private UPID JSON structure for a podbuster workflow.
[scte.segmentation_upid.cueData.value] Ya Digunakan bersama dengan Managed Private UPID (0xC) segmentation_ upid_type untuk alur kerja podbuster. MediaTailormemperoleh nilai ini dari cueData.key parameter dalam struktur private_data JSON MPU. Untuk informasi selengkapnya, lihat Managed Private UPID JSON structure for a podbuster workflow.

Nilai bisa berupa string.

[scte.segmentation_upid.private_data.{index}] Ya Digunakan bersama dengan Managed Private UPID (0xC) segmentation_upid_type untuk alur kerja iklan bertarget. MediaTailor membagi token UPID segmentasi yang dibatasi titik dua dan membuat variabel sesi yang diindeks. Indeks sesuai dengan posisi dalam daftar dibatasi titik dua, mengabaikan spasi awal dari titik dua awal.

Misalnya, jikasegmentation_upid = ":3213214:2313321/5:3943", maka:

  • [scte.segmentation_upid.private_data.0] = 3213214

  • [scte.segmentation_upid.private_data.1] = 2313321/5

  • [scte.segmentation_upid.private_data.2] = 3943

Nilai bisa berupa string.

[scte.segments_expected] Ya 10.3.3.1 Nilai integer opsional yang memberikan jumlah segmen individual yang diharapkan dalam kumpulan segmen. Untuk informasi selengkapnya tentang variabel ini, lihat deskripsi segments_dalam spesifikasi. SCTE-35
[scte.sub_segment_num] Ya 10.3.3.1 Nilai integer opsional yang mengidentifikasi sub-segmen tertentu dalam kumpulan sub-segmen. Untuk informasi selengkapnya tentang variabel ini, lihat deskripsi sub_segment_num dalam spesifikasi. SCTE-35
[scte.sub_segments_expected] Ya 10.3.3.1 Nilai integer opsional yang memberikan jumlah yang diharapkan dari sub-segmen individu dalam kumpulan sub-segmen. Untuk informasi selengkapnya tentang variabel ini, lihat deskripsi sub_segments_dalam spesifikasi. SCTE-35
[scte.unique_program_id] Ya 9.7.2.1 Nilai integer diurai oleh MediaTailor dari SCTE-35 splice_insert bidangunique_program_id. ADS menggunakan ID program unik (UPID) untuk menyediakan penargetan iklan tingkat program untuk streaming linier langsung. Jika SCTE-35 perintahnya bukan splice insert, MediaTailor atur ini ke nilai kosong.

Nilai harus bilangan bulat.

[session.avail_duration_ms] Ya

Durasi slot ketersediaan iklan dalam milidetik. Nilai defaultnya adalah 300.000 ms. AWS Elemental MediaTailor memperoleh nilai durasi dari manifes input sebagai berikut:

  • Untuk HLS: MediaTailor memperoleh durasi dari #EXT-X-CUE-OUT: DURATION atau dari nilai dalam tag. #EXT-X-DATERANGE Jika manifes input memiliki durasi nol, tidak valid, atau 0 untuk iklan yang tersedia di tag tersebut MediaTailor , gunakan default.

  • Untuk DASH: MediaTailor memperoleh nilai durasi dari durasi acara, jika ditentukan. Jika tidak, ia menggunakan nilai default.

  • Untuk VOD: ketika aliran VOD memicu panggilan iklan pra-tayang, jika manifes tidak menyertakan pesan SCTE dengan nilai durasi, MediaTailor tidak memasukkan durasi untuk [session.avail_duration_ms], termasuk nilai durasi default.

[session.avail_duration_secs] Ya Durasi dalam detik dari slot ketersediaan iklan, atau ketersediaan iklan, dibulatkan ke detik terdekat. MediaTailor menentukan nilai ini dengan cara yang sama yang ditentukan[session.avail_duration_ms].
[session.client_ip] Tidak Alamat IP jarak jauh tempat MediaTailor permintaan itu berasal. Jika X-forwarded-for header disetel, maka nilai itulah MediaTailor yang digunakan untukclient_ip.
[session.id] Tidak Pengidentifikasi numerik unik untuk sesi pemutaran saat ini. Semua permintaan yang dibuat pemain untuk sesi memiliki id yang sama, sehingga dapat digunakan untuk bidang ADS yang dimaksudkan untuk menghubungkan permintaan untuk satu tampilan.
[session.referer] Tidak Biasanya, URL halaman yang menghosting pemutar video. MediaTailor menetapkan variabel ini ke nilai Referer header yang digunakan pemain dalam permintaannya MediaTailor. Jika pemain tidak memberikan header ini, MediaTailor biarkan yang [session.referer] kosong. Jika Anda menggunakan jaringan pengiriman konten (CDN) atau proxy di depan titik akhir manifes dan Anda ingin variabel ini muncul, proksi header yang benar dari pemutar di sini.
[session.user_agent] Tidak User-AgentHeader yang MediaTailor diterima dari permintaan inisialisasi sesi pemain. Jika Anda menggunakan CDN atau proxy di depan titik akhir manifes, Anda harus memproksi header yang benar dari pemutar di sini.
[session.uuid] Tidak

Alternatif untuk[session.id]. Ini adalah pengenal unik untuk sesi pemutaran saat ini, seperti berikut ini:

e039fd39-09f0-46b2-aca9-9871cc116cde
[avail.source_content_time_epoch_ms] Tidak

Untuk HLS nilainya adalah PDT dari segmen asal yang memulai keuntungan. Untuk DASH nilainya adalah <SupplementalProperty> urn:scte:dash:utc-time nilai <Period> yang berisi<EventStream>.

  • Untuk iklan HLS atau DASH preroll [avail.source_content_time_epoch_ms] adalah PDT dari segmen HLS pertama, dan yang pertama<SupplementalProperty> urn:scte:dash:utc-time. <Period> Untuk streaming langsung dengan jendela manifes pendek, nilai ini akan berbeda untuk setiap pemirsa berdasarkan kapan mereka mulai menonton streaming. Untuk streaming langsung dengan jendela DVR acara penuh nilainya akan sama untuk setiap pemirsa.

  • Untuk keuntungan sebagian karena penekanan keuntungan, [avail.source_content_time_epoch_ms] adalah PDT dari segmen konten sumber yang memulai keuntungan. Misalnya, jika MediaTailor menghapus 20 detik pertama dari hasil, masih [avail.source_content_time_epoch_ms] akan diatur ke PDT asli, tidak bergeser 20 detik.

  • Untuk permintaan ADS prefetch, kosong, [avail.source_content_time_epoch_ms] namun pelanggan dapat mengaturnya menggunakan variabel dinamis pengambilan jadwal prefetch.

contoh

Jika ADS memerlukan parameter kueri bernama deviceSession untuk diteruskan dengan pengenal sesi unik, URL ADS template AWS Elemental MediaTailor dapat terlihat seperti berikut:

https://my.ads.server.com/path?deviceSession=[session.id]

AWS Elemental MediaTailor secara otomatis menghasilkan pengidentifikasi unik untuk setiap aliran, dan memasukkan pengidentifikasi sebagai penggantisession.id. Jika pengenal adalah1234567, permintaan terakhir yang MediaTailor dibuat ke ADS akan terlihat seperti ini:

https://my.ads.server.com/path?deviceSession=1234567

Jika ADS memerlukan beberapa parameter kueri untuk diteruskan, URL ADS template AWS Elemental MediaTailor dapat terlihat seperti berikut:

https://my.ads.server.com/sample?e=[scte.avails_expected]&f=[scte.segment_num]&g=[scte.segments_expected]&h=[scte.sub_segment_num]&j=[scte.sub_segments_expected]&k=[scte.segmentation_type_id]

Contoh fragmen XML penanda DASH berikut menunjukkan cara menggunakanscte35:SpliceInsert:

<Period start="PT444806.040S" id="123456" duration="PT15.000S"> <EventStream timescale="90000" schemeIdUri="urn:scte:scte35:2013:xml"> <Event duration="1350000"> <scte35:SpliceInfoSection protocolVersion="0" ptsAdjustment="180832" tier="4095"> <scte35:SpliceInsert spliceEventId="1234567890" spliceEventCancelIndicator="false" outOfNetworkIndicator="true" spliceImmediateFlag="false" uniqueProgramId="1" availNum="1" availsExpected="1"> <scte35:Program><scte35:SpliceTime ptsTime="5672624400"/></scte35:Program> <scte35:BreakDuration autoReturn="true" duration="1350000"/> </scte35:SpliceInsert> </scte35:SpliceInfoSection>

Contoh fragmen XML penanda DASH berikut menunjukkan cara menggunakanscte35:TimeSignal:

<Period start="PT346530.250S" id="123456" duration="PT61.561S"> <EventStream timescale="90000" schemeIdUri="urn:scte:scte35:2013:xml"> <Event duration="5310000"> <scte35:SpliceInfoSection protocolVersion="0" ptsAdjustment="183003" tier="4095"> <scte35:TimeSignal> <scte35:SpliceTime ptsTime="3442857000"/> </scte35:TimeSignal> <scte35:SegmentationDescriptor segmentationEventId="1234567" segmentationEventCancelIndicator="false" segmentationDuration="8100000" segmentationTypeId="52" segmentNum="0" segmentsExpected="0"> <scte35:DeliveryRestrictions webDeliveryAllowedFlag="false" noRegionalBlackoutFlag="false" archiveAllowedFlag="false" deviceRestrictions="3"/> <scte35:SegmentationUpid segmentationUpidType="12" segmentationUpidLength="2">0100</scte35:SegmentationUpid> </scte35:SegmentationDescriptor> </scte35:SpliceInfoSection> </Event>

Contoh fragmen XML penanda DASH berikut menunjukkan cara menggunakanscte35:Binary:

<Period start="PT444806.040S" id="123456" duration="PT15.000S"> <EventStream schemeIdUri="urn:scte:scte35:2014:xml+bin" timescale="1"> <Event presentationTime="1541436240" duration="24" id="29"> <scte35:Signal xmlns="http://www.scte.org/schemas/35/2016"> <scte35:Binary>/DAhAAAAAAAAAP/wEAUAAAHAf+9/fgAg9YDAAAAAAAA25aoh</Binary> </scte35:Signal> </Event> <Event presentationTime="1541436360" duration="24" id="30"> <scte35:Signal xmlns="http://www.scte.org/schemas/35/2016"> <scte35:Binary>QW5vdGhlciB0ZXN0IHN0cmluZyBmb3IgZW5jb2RpbmcgdG8gQmFzZTY0IGVuY29kZWQgYmluYXJ5Lg==</Binary> </scte35:Signal> </Event>

Contoh tag HLS berikut menunjukkan cara menggunakan: EXT-X-DATERANGE

#EXT-X-DATERANGE:ID="splice-6FFFFFF0",START-DATE="2014-03-05T11: 15:00Z",PLANNED-DURATION=59.993,SCTE35-OUT=0xFC002F0000000000FF0 00014056FFFFFF000E011622DCAFF000052636200000000000A0008029896F50 000008700000000

Contoh tag HLS berikut menunjukkan cara menggunakan: EXT-X-CUE-OUT

#EXT-OATCLS-SCTE35:/DA0AAAAAAAAAAAABQb+ADAQ6QAeAhxDVUVJQAAAO3/PAAEUrEoICAAAAAAg+2UBNAAANvrtoQ== #EXT-X-ASSET:CAID=0x0000000020FB6501 #EXT-X-CUE-OUT:201.467

Contoh tag HLS berikut menunjukkan cara menggunakan: EXT-X-SPLICEPOINT-SCTE35

#EXT-X-SPLICEPOINT-SCTE35:/DA9AAAAAAAAAP/wBQb+uYbZqwAnAiVDVUVJAAAKqX//AAEjW4AMEU1EU05CMDAxMTMyMjE5M19ONAAAmXz5JA==

Contoh berikut menunjukkan cara menggunakan scte35:Binary decode:

{ "table_id": 252, "section_syntax_indicator": false, "private_indicator": false, "section_length": 33, "protocol_version": 0, "encrypted_packet": false, "encryption_algorithm": 0, "pts_adjustment": 0, "cw_index": 0, "tier": "0xFFF", "splice_command_length": 16, "splice_command_type": 5, "splice_command": { "splice_event_id": 448, "splice_event_cancel_indicator": false, "out_of_network_indicator": true, "program_splice_flag": true, "duration_flag": true, "splice_immediate_flag": false, "utc_splice_time": { "time_specified_flag": false, "pts_time": null }, "component_count": 0, "components": null, "break_duration": { "auto_return": false, "duration": { "pts_time": 2160000, "wall_clock_seconds": 24.0, "wall_clock_time": "00:00:24:00000" } }, "unique_program_id": 49152, "avail_num": 0, "avails_expected": 0 "segment_num": 0, "segments_expected": 0, "sub_segment_num": 0, "sub_segments_expected": 0 }, "splice_descriptor_loop_length": 0, "splice_descriptors": null, "Scte35Exception": { "parse_status": "SCTE-35 cue parsing completed with 0 errors.", "error_messages": [], "table_id": 252, "splice_command_type": 5 } }