Utilisation de variables de session - AWS Elemental MediaTailor

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de variables de session

AWS Elemental MediaTailorPour configurer l'envoi des données de session au serveur de décision publicitaire (ADS), dans le modèle d'URL ADS, spécifiez une ou plusieurs des variables répertoriées dans cette section. Vous pouvez utiliser des variables individuelles et vous pouvez concaténer plusieurs variables pour créer une valeur unique. MediaTailor génère certaines valeurs et obtient le reste à partir de sources telles que le manifeste et la demande d'initialisation de session du joueur.

Le tableau suivant décrit les variables de données de session que vous pouvez utiliser dans la configuration de l'URL de votre modèle de demande ADS. Les numéros de section indiqués dans le tableau correspondent à la version 2019a de la spécification 35 de la Society of Cable Telecommunications Engineers (SCTE), Digital Program Insertion Gueing Message For Cable. Pour plus de détails sur le préchargement des publicités, voir. Publicités de prélecture

Nom Disponible pour la prélecture des annonces Section de spécification SCTE-35 Description
[avail.index] Oui Nombre qui représente la position d'une annonce dans un index. Au début d'une session de diffusion, MediaTailor crée un index de toutes les publicités disponibles dans un manifeste et stocke l'index pour le reste de la session. Lorsque vous MediaTailor faites une demande à l'ADS pour remplir le fichier, celui-ci inclut le numéro d'index de disponibilité des annonces. Ce paramètre permet au serveur ADS d'améliorer la sélection des publicités en utilisant des fonctionnalités telles que l'exclusion concurrentielle et le plafonnement des fréquences.
[avail.random] Oui Un nombre aléatoire compris entre 0 et 10 000 000 000, sous forme de nombre long, MediaTailor généré pour chaque demande adressée à l'ADS. Certains serveurs publicitaires utilisent ce paramètre pour activer des fonctionnalités telles que la séparation de publicités d'entreprises concurrentes.
[scte.archive_allowed_flag] Oui 10.3.3.1 Valeur booléenne facultative. Lorsque cette valeur est égale à 0, des restrictions d'enregistrement sont imposées au segment. Lorsque cette valeur est égale à 1, aucune restriction d'enregistrement n'est imposée au segment.
[scte.avail_num] Oui 9.7.2.1 La valeur analysée MediaTailor à partir du champ SCTE-35avail_num, sous forme de nombre long. MediaTailor peut utiliser cette valeur pour désigner des numéros de publicité linéaires.
[scte.avails_expected] Oui 9,7.2.1 Une valeur longue facultative qui indique le nombre attendu d'essais dans le cadre de l'événement en cours.
[scte.delivery_not_restricted_flag] Oui 10.3.3.1 Valeur booléenne facultative. Lorsque cette valeur est égale à 0, les cinq bits suivants sont réservés. Lorsque cette valeur est égale à 1, les cinq bits suivants prennent la signification décrite dans la spécification SCTE-35.
[scte.device_restrictions] Oui 10.3.3.1 Valeur entière facultative qui indique trois groupes de périphériques prédéfinis, indépendants et non hiérarchiques. Pour plus d'informations sur cette variable, consultez la description segments_expected dans la spécification SCTE-35.
[scte.event_id]
Oui 9.1 et 9.7.2.1 La valeur analysée MediaTailor à partir du champ SCTE-35splice_event_id, sous forme de nombre long. MediaTailor utilise cette valeur pour désigner les numéros linéaires de disponibilité des publicités ou pour renseigner les chaînes de requête du serveur publicitaire, telles que les positions des espaces publicitaires.
[scte.no_regional_blackout_flag] Oui 10.3.3.1 Valeur booléenne facultative. Lorsque cette valeur est égale à 0, les restrictions d'interdiction régionales s'appliquent au segment. Lorsque cette valeur est égale à 1, les restrictions d'interdiction régionales ne s'appliquent pas au segment.
[scte.segment_num] Oui 10.3.3.1 Valeur entière facultative qui numérote les segments au sein d'une collection de segments. Pour plus d'informations sur cette variable, consultez la description de segment_num dans la spécification SCTE-35.
[scte.segmentation_event_id] Oui 10.3.3.1 MediaTailor expose cette variable sous la formescte.event_id.
[scte.segmentation_type_id] Oui 10.3.3.1 Valeur entière optionnelle de 8 bits qui indique le type de segmentation. Pour plus d'informations sur cette variable, consultez la description de segmentation_type_id dans la spécification SCTE-35.
[scte.segmentation_upid]

segmentation_upid_type : Oui

private_data : Oui

segmentation_upid : 10.3.3.1

UPID privé géré : 10.3.3.3

Correspond à l'élément SCTE-35segmentation_upid. L'segmentation_upidélément contient segmentation_upid_type etsegmentation_upid_length.

MediaTailor prend en charge les segmentation_upid types suivants :

  • Informations ADS (0x0E) - Informations publicitaires. Pour plus d'informations, consultez la description de segmentation_upid dans la spécification SCTE-35.

  • UPID privé géré (0x0C) : structure UPID privé géré (MPU) telle que définie dans la spécification SCTE-35. MediaTailor prend en charge les représentations SCTE binaires ou XML DASH.

    Vous pouvez utiliser cette structure dans un flux de travail de podbuster. Pour ce faire, spécifiez un 32 bits (4 octets) format_identifier et incluez les paramètres suivants dans l'private_dataattribut :

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

    MediaTailor analyse les valeurs du JSON précédent et les transmet aux scte.segmentation_upid.assetId variables scte.segmentation_upid.cueData.value dynamiques et. scte.segmentation_upid.cueData.key

  • Défini par l'utilisateur (0x01) - Structure définie par l'utilisateur. Pour plus d'informations, consultez la description de segmentation_upid dans la spécification SCTE-35.

[scte.segmentation_upid.assetId] Oui Utilisé conjointement avec le Managed Private UPID (0xC) segmentation_ upid_type pour les flux de travail de podbuster. MediaTailordérive cette valeur du assetId paramètre dans la structure private_data JSON du MPU. Pour plus d'informations, veuillez consulter Managed Private UPID JSON structure for a podbuster workflow.
[scte.segmentation_upid.cueData.key] Oui Utilisé conjointement avec le Managed Private UPID (0xC) segmentation_ upid_type pour les flux de travail de podbuster. MediaTailordérive cette valeur du cueData.key paramètre dans la structure private_data JSON du MPU. Pour plus d'informations, veuillez consulter Managed Private UPID JSON structure for a podbuster workflow.
[scte.segmentation_upid.cueData.value] Oui Utilisé conjointement avec le Managed Private UPID (0xC) segmentation_ upid_type pour les flux de travail de podbuster. MediaTailordérive cette valeur du cueData.key paramètre dans la structure private_data JSON du MPU. Pour plus d'informations, veuillez consulter Managed Private UPID JSON structure for a podbuster workflow.
[scte.segments_expected] Oui 10.3.3.1 Valeur entière facultative qui indique le nombre attendu de segments individuels au sein d'une collection de segments. Pour plus d'informations sur cette variable, consultez la description segments_expected dans la spécification SCTE-35.
[scte.sub_segment_num] Oui 10.3.3.1 Valeur entière facultative qui identifie un sous-segment particulier au sein d'un ensemble de sous-segments. Pour plus d'informations sur cette variable, consultez la description de sub_segment_num dans la spécification SCTE-35.
[scte.sub_segments_expected] Oui 10.3.3.1 Valeur entière facultative qui indique le nombre attendu de sous-segments individuels au sein d'une collection de sous-segments. Pour plus d'informations sur cette variable, consultez la description sub_segments_expected dans la spécification SCTE-35.
[scte.unique_program_id] Oui 9.7.2.1 La valeur entière analysée MediaTailor à partir du champ SCTE-35splice_insert. unique_program_id L'ADS utilise l'ID de programme unique (UPID) pour fournir un ciblage publicitaire au niveau du programme pour les flux linéaires en direct. Si la commande SCTE-35 n'est pas Splice Insert, lui MediaTailor attribue une valeur vide.
[session.avail_duration_ms] Oui

Durée en millisecondes du créneau de disponibilité des annonces. La valeur par défaut est 300 000 ms. AWS Elemental MediaTailor obtient la valeur de la durée à partir du manifeste en entrée comme suit :

  • Pour le HLS, MediaTailor obtient la durée à partir de #EXT-X-CUE-OUT: DURATION ou à partir des valeurs de la #EXT-X-DATERANGE balise. Si le manifeste d'entrée a une durée nulle, non valide ou nulle pour la disponibilité de l'annonce dans ces balises, MediaTailor utilise la valeur par défaut.

  • Pour DASH, MediaTailor obtient la valeur de durée à partir de la durée de l'événement, le cas échéant. Sinon, la valeur par défaut est utilisée.

[session.avail_duration_secs] Oui Durée en secondes du créneau de disponibilité publicitaire, ou disponibilité publicitaire, arrondie à la seconde la plus proche. MediaTailor détermine cette valeur de la même manière qu'elle le fait[session.avail_duration_ms].
[session.client_ip] Non Adresse IP distante d'où provient la MediaTailor demande. Si l'en-tête X-forwarded-for est défini, cette valeur est ce que MediaTailor utilise pour client_ip.
[session.id] Non Identifiant numérique unique pour la session de lecture en cours. Toutes les demandes adressées par un joueur pour une session ont le même ID et, par conséquent, il peut être utilisé pour les champs ADS destinés à établir une corrélation entre les demandes d'une même visualisation.
[session.referer] Non Il s'agit généralement de l'URL de la page hébergeant le lecteur vidéo. MediaTailor définit cette variable sur la valeur de l'Refereren-tête que le joueur a utilisé dans sa demande MediaTailor. Si le lecteur ne fournit pas cet en-tête, MediaTailor laisse vide [session.referer]. Si vous utilisez un réseau de diffusion de contenu (CDN) ou un proxy devant le point de terminaison du manifeste et que vous souhaitez que cette variable apparaisse, utilisez le proxy pour l'en-tête correct depuis le lecteur ici.
[session.user_agent] Non User-AgentEn-tête MediaTailor reçu de la demande d'initialisation de session du joueur. Si vous utilisez un réseau de diffusion de contenu (CDN) ou un proxy devant le point de terminaison du manifeste, utilisez comme proxy l'en-tête correct du lecteur ici.
[session.uuid] Non

Alternative à[session.id]. Il s'agit d'un identifiant unique pour la session courante de lecture, tel que le suivant :

e039fd39-09f0-46b2-aca9-9871cc116cde

Si le serveur ADS nécessite un paramètre de requête nommé deviceSession pour le transmettre avec l'identificateur de session unique, le modèle d'URL du serveur ADS dans AWS Elemental MediaTailor peut se présenter comme suit :

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

AWS Elemental MediaTailor génère automatiquement un identifiant unique pour chaque flux et entre l'identifiant à la place de session.id. Si l'identifiant est le cas1234567, la demande finale MediaTailor envoyée à l'ADS ressemblera à ceci :

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

Si l'ADS nécessite la transmission de plusieurs paramètres de requête, l'URL ADS du modèle AWS Elemental MediaTailor peut se présenter comme suit :

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]

Le fragment XML d'exemple de marqueur DASH suivant montre comment utiliser scte35: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>

Le fragment XML d'exemple de marqueur DASH suivant montre comment utiliser scte35: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>

Le fragment XML d'exemple de marqueur DASH suivant montre comment utiliser scte35: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>

L'exemple de balise HLS suivant montre comment utiliser 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

L'exemple de balise HLS suivant montre comment utiliser EXT-X-CUE-OUT :

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

L'exemple de balise HLS suivant montre comment utiliser EXT-X-SPLICEPOINT-SCTE35 :

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

L'exemple suivant montre comment utiliser le scte35:Binary décodage :

{ "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 } }