Menggunakan variabel sesi - AWS Elemental MediaTailor

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

Menggunakan variabel sesi

Untuk mengkonfigurasi AWS Elemental MediaTailor untuk mengirim data sesi ke Server Keputusan Iklan (ADS), dalam templat ADSURL, tentukan satu atau beberapa variabel yang tercantum di bagian ini. 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 URL konfigurasi ADS permintaan template Anda. Nomor bagian yang tercantum dalam tabel sesuai dengan versi 2019a dari spesifikasi Society of Cable Telecommunications Engineers (SCTE) -35, Pesan Isyarat Penyisipan Program Digital Untuk Kabel, 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 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 ADS untuk mengisi avail, itu termasuk nomor indeks iklan avail. 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 menghasilkan 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, pembatasan perekaman ditegaskan pada segmen. Ketika nilai ini adalah 1, pembatasan perekaman tidak ditegaskan pada segmen.
[scte.avail_num] Ya 9.7.2.1 Nilai diuraikan oleh MediaTailor dari bidang SCTE -35avail_num, sebagai angka panjang. MediaTailor dapat menggunakan nilai ini untuk menunjuk nomor avail iklan linier.
[scte.avails_expected] Ya 9,7.2.1 Nilai panjang opsional yang memberikan jumlah ketersediaan yang diharapkan dalam peristiwa 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 arti seperti yang dijelaskan dalam spesifikasi SCTE -35.
[scte.device_restrictions] Ya 10.3.3.1 Nilai integer opsional yang memberi sinyal tiga kelompok perangkat yang telah ditentukan sebelumnya, independen, dan non-hierarkis. Untuk informasi selengkapnya tentang variabel ini, lihat deskripsi segments_expected dalam spesifikasi -35. SCTE
[scte.event_id]
Ya 9.1 dan 9.7.2.1 Nilai diuraikan oleh MediaTailor dari bidang SCTE -35splice_event_id, sebagai angka panjang. MediaTailor menggunakan nilai ini untuk menentukan nomor ketersediaan iklan linier atau untuk mengisi string kueri server iklan, seperti posisi pod iklan.
[scte.no_regional_blackout_flag] Ya 10.3.3.1 Nilai Boolean opsional. Jika nilai ini 0, pembatasan pemadaman regional berlaku untuk segmen tersebut. Ketika nilai ini adalah 1, pembatasan pemadaman regional tidak berlaku untuk segmen.
[scte.segment_num] Ya 10.3.3.1 Nilai integer opsional yang menghitung segmen dalam kumpulan segmen. Untuk informasi lebih lanjut tentang variabel ini, lihat deskripsi segment_num dalam spesifikasi -35. SCTE
[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 -35. SCTE
[scte.segmentation_upid]

segmentation_upid_type: Ya

private_data: Ya

segmentasi_upid: 10.3.3.1

Dikelola PribadiUPID: 10.3.3.3

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

MediaTailor mendukung segmentation_upid jenis berikut:

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

  • Managed Private UPID (0x0C) - Struktur Managed Private UPID (MPU) sebagaimana didefinisikan dalam spesifikasi SCTE -35. MediaTailor mendukung biner atau DASH XML SCTE representasi.

    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 mem-parsing nilai-nilai dari sebelumnyaJSON, dan meneruskannya ke dalamscte.segmentation_upid.assetId,scte.segmentation_upid.cueData.key, dan scte.segmentation_upid.cueData.value variabel dinamis.

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

[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 MPU private_data JSON struktur. 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 MPU private_data JSON struktur. 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 MPU private_data JSON struktur. Untuk informasi selengkapnya, lihat Managed Private UPID JSON structure for a podbuster workflow.
[scte.segments_expected] Ya 10.3.3.1 Nilai integer opsional yang memberikan jumlah yang diharapkan dari segmen individu dalam kumpulan segmen. Untuk informasi selengkapnya tentang variabel ini, lihat deskripsi segments_expected dalam spesifikasi -35. SCTE
[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 -35. SCTE
[scte.sub_segments_expected] Ya 10.3.3.1 Nilai integer opsional yang memberikan jumlah yang diharapkan dari masing-masing sub-segmen dalam kumpulan sub-segmen. Untuk informasi selengkapnya tentang variabel ini, lihat deskripsi sub_segments_expected dalam spesifikasi -35. SCTE
[scte.unique_program_id] Ya 9.7.2.1 Nilai integer diuraikan oleh MediaTailor dari bidang SCTE splice_insert -35. unique_program_id ADSMenggunakan ID program unik (UPID) untuk menyediakan penargetan iklan tingkat program untuk streaming linier langsung. Jika perintah SCTE -35 bukan sisipan sambatan, MediaTailor atur ini ke nilai kosong.
[session.avail_duration_ms] Ya

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

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

  • UntukDASH: MediaTailor memperoleh nilai durasi dari durasi acara, jika ada yang ditentukan. Jika tidak, ia menggunakan nilai default.

  • UntukVOD: saat VOD stream memicu panggilan iklan pra-putar, jika manifes tidak menyertakan SCTE pesan dengan nilai durasi, MediaTailor tidak memasukkan durasi untuk [session.avail_duration_ms], termasuk nilai durasi default.

[session.avail_duration_secs] Ya Durasi dalam hitungan detik dari slot ketersediaan iklan, atau penggunaan iklan, dibulatkan ke detik terdekat. MediaTailor menentukan nilai ini dengan cara yang sama seperti yang ditentukan[session.avail_duration_ms].
[session.client_ip] Tidak Alamat IP jarak jauh tempat MediaTailor permintaan berasal. Jika X-forwarded-for header diatur, maka nilai itulah yang MediaTailor 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 ADS bidang yang dimaksudkan untuk menghubungkan permintaan untuk satu tampilan.
[session.referer] Tidak Biasanya, halaman yang menghosting pemutar video. URL MediaTailor menetapkan variabel ini ke nilai Referer header yang digunakan pemain dalam permintaannya MediaTailor. Jika pemain tidak menyediakan 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, proxy header yang benar dari pemutar di sini.
[session.user_agent] Tidak User-AgentHeader yang MediaTailor diterima dari permintaan inisialisasi sesi pemain. Jika Anda menggunakan proxy CDN atau di depan titik akhir manifes, Anda harus mem-proxy header yang benar dari pemain 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

Jika ADS membutuhkan parameter kueri bernama deviceSession untuk diteruskan dengan pengidentifikasi sesi unik, template ADS URL di AWS Elemental MediaTailor bisa terlihat seperti berikut:

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

AWS Elemental MediaTailor secara otomatis menghasilkan pengenal unik untuk setiap aliran, dan memasukkan pengenal sebagai pengganti. session.id Jika pengenalnya1234567, permintaan akhir yang MediaTailor dibuat untuk ADS akan terlihat seperti ini:

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

Jika ADS membutuhkan beberapa parameter kueri untuk dilewatkan, template ADS URL di AWS Elemental MediaTailor bisa 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]

XMLFragmen contoh DASH penanda 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>

XMLFragmen contoh DASH penanda 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>

XMLFragmen contoh DASH penanda 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 HLS tag berikut menunjukkan cara menggunakanEXT-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 HLS tag berikut menunjukkan cara menggunakanEXT-X-CUE-OUT:

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

Contoh HLS tag berikut menunjukkan cara menggunakanEXT-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 } }