As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Usando variáveis de sessão
Para configurar AWS Elemental MediaTailor para enviar dados da sessão para o Ad Decision Server (ADS), no modelo ADSURL, especifique uma ou mais das variáveis listadas nesta seção. Você pode usar variáveis individuais e concatenar várias variáveis para criar um único valor. MediaTailor gera alguns valores e obtém o restante de fontes como o manifesto e a solicitação de inicialização da sessão do player.
A tabela a seguir descreve as variáveis de dados da sessão que você pode usar na URL configuração da ADS solicitação de modelo. Os números das seções listados na tabela correspondem à versão 2019a da especificação Society of Cable Telecommunications Engineers (SCTE) -35, Digital Program Insertion Cueing Message For Cable. Para
Nome | Disponível para pré-busca de anúncios | SCTESeção de especificação -35 | Descrição |
---|---|---|---|
[avail.index] |
Sim | Um número que representa a posição de um anúncio disponível em um índice. No início de uma sessão de reprodução, MediaTailor cria um índice de todos os anúncios disponibilizados em um manifesto e armazena o índice para o restante da sessão. Quando MediaTailor faz uma solicitação ao para preencher ADS a disponibilidade, ela inclui o número do índice de disponibilidade do anúncio. Esse parâmetro permite melhorar ADS a seleção de anúncios usando recursos como exclusão competitiva e limite de frequência. | |
[avail.random] |
Sim | Um número aleatório entre 0 e 10.000.000.000, como um número longo, que é MediaTailor gerado para cada solicitação ao. ADS Alguns servidores de anúncios usam esse parâmetro para habilitar recursos como separar anúncios de empresas concorrentes. | |
[scte.archive_allowed_flag] |
Sim | 10.3.3.1 | Um valor booleano opcional. Quando esse valor é 0, restrições de gravação são declaradas no segmento. Quando esse valor é 1, as restrições de gravação não são declaradas no segmento. |
[scte.avail_num] |
Sim | 9.7.2.1 | O valor analisado por a MediaTailor partir do campo SCTE -35avail_num , como um número longo. MediaTailor Eu posso usar esse valor para designar números lineares e disponíveis. |
[scte.avails_expected] |
Sim | 9,7.2.1 | Um valor longo opcional que fornece a contagem esperada de disponibilidades no evento atual. |
[scte.delivery_not_restricted_flag] |
Sim | 10.3.3.1 | Um valor booleano opcional. Quando esse valor é 0, os próximos cinco bits são reservados. Quando esse valor é 1, os próximos cinco bits assumem os significados descritos na especificação SCTE -35. |
[scte.device_restrictions] |
Sim | 10.3.3.1 | Um valor inteiro opcional que sinaliza três grupos de dispositivos predefinidos, independentes e não hierárquicos. Para obter mais informações sobre essa variável, consulte a descrição segments_expected na especificação -35. SCTE |
[scte.event_id] |
Sim | 9.1 e 9.7.2.1 | O valor analisado por a MediaTailor partir do campo SCTE -35splice_event_id , como um número longo. MediaTailor usa esse valor para designar números lineares de disponibilidade de anúncios ou para preencher cadeias de caracteres de consulta do servidor de anúncios, como posições do pod de anúncios. |
[scte.no_regional_blackout_flag] |
Sim | 10.3.3.1 | Um valor booleano opcional. Quando esse valor é 0, as restrições regionais de blackout se aplicam ao segmento. Quando esse valor é 1, as restrições regionais de blackout não se aplicam ao segmento. |
[scte.segment_num] |
Sim | 10.3.3.1 | Um valor inteiro opcional que numera segmentos dentro de uma coleção de segmentos. Para obter mais informações sobre essa variável, consulte a descrição segment_num na especificação -35. SCTE |
[scte.segmentation_event_id]
|
Sim | 10.3.3.1 | MediaTailor expõe essa variável comoscte.event_id. |
[scte.segmentation_type_id] |
Sim | 10.3.3.1 | Um valor inteiro opcional de 8 bits que especifica o tipo de segmentação. Para obter mais informações sobre essa variável, consulte a descrição segmentation_type_id na especificação -35. SCTE |
[scte.segmentation_upid] |
|
segmentation_upid: 10.3.3.1 Privado gerenciadoUPID: 10.3.3.3 |
Corresponde ao MediaTailor suporta os seguintes
|
[scte.segmentation_upid.assetId] |
Sim | Usado em conjunto com o Managed Private UPID (0xC) segmentation_ upid_type para fluxos de trabalho de podbuster. MediaTailorderiva esse valor do assetId parâmetro na estrutura MPU do private_data JSON. Para obter mais informações, consulte Managed Private UPID JSON structure for a podbuster workflow. |
|
[scte.segmentation_upid.cueData.key] |
Sim | Usado em conjunto com o Managed Private UPID (0xC) segmentation_ upid_type para fluxos de trabalho de podbuster. MediaTailorderiva esse valor do cueData.key parâmetro na estrutura MPU do private_data JSON. Para obter mais informações, consulte Managed Private UPID JSON structure for a podbuster workflow. |
|
[scte.segmentation_upid.cueData.value] |
Sim | Usado em conjunto com o Managed Private UPID (0xC) segmentation_ upid_type para fluxos de trabalho de podbuster. MediaTailorderiva esse valor do cueData.key parâmetro na estrutura MPU do private_data JSON. Para obter mais informações, consulte Managed Private UPID JSON structure for a podbuster workflow. |
|
[scte.segments_expected] |
Sim | 10.3.3.1 | Um valor inteiro opcional que fornece a contagem esperada de segmentos individuais em uma coleção de segmentos. Para obter mais informações sobre essa variável, consulte a descrição segments_expected na especificação -35. SCTE |
[scte.sub_segment_num] |
Sim | 10.3.3.1 | Um valor inteiro opcional que identifica um subsegmento específico dentro de uma coleção de subsegmentos. Para obter mais informações sobre essa variável, consulte a descrição do sub_segment_num na especificação -35. SCTE |
[scte.sub_segments_expected] |
Sim | 10.3.3.1 | Um valor inteiro opcional que fornece a contagem esperada de subsegmentos individuais em uma coleção de subsegmentos. Para obter mais informações sobre essa variável, consulte a descrição sub_segments_expected na especificação -35. SCTE |
[scte.unique_program_id] |
Sim | 9.7.2.1 | O valor inteiro analisado por a MediaTailor partir do campo SCTE splice_insert -35. unique_program_id O ADS usa o ID exclusivo do programa (UPID) para fornecer segmentação de anúncios em nível de programa para transmissões lineares ao vivo. Se o comando SCTE -35 não for inserção de emenda, MediaTailor defina isso como um valor vazio. |
[session.avail_duration_ms] |
Sim |
A duração em milissegundos do espaço de disponibilidade do anúncio. O valor padrão é 300.000 ms. AWS Elemental MediaTailor obtém o valor da duração do manifesto de entrada da seguinte forma:
|
|
[session.avail_duration_secs] |
Sim | A duração em segundos do espaço de disponibilidade do anúncio, ou disponibilidade do anúncio, arredondada para o segundo mais próximo. MediaTailor determina esse valor da mesma forma que determina[session.avail_duration_ms] . |
|
[session.client_ip] |
Não | O endereço IP remoto de onde veio a MediaTailor solicitação. Se o X-forwarded-for cabeçalho estiver definido, esse valor é o que é MediaTailor usado para client_ip o. |
|
[session.id] |
Não | Um identificador numérico exclusivo para a sessão de reprodução atual. Todas as solicitações que um jogador faz para uma sessão têm o mesmo ID, portanto, ele pode ser usado para ADS campos destinados a correlacionar solicitações para uma única visualização. | |
[session.referer] |
Não | Normalmente, URL a página que está hospedando o player de vídeo. MediaTailor define essa variável com o valor do Referer cabeçalho que o player usou em sua solicitação para MediaTailor. Se o player não fornecer esse cabeçalho, MediaTailor deixa o [session.referer] vazio. Se você usar uma rede de distribuição de conteúdo (CDN) ou proxy na frente do endpoint do manifesto e quiser que essa variável apareça, faça o proxy do cabeçalho correto do player aqui. |
|
[session.user_agent] |
Não | O User-Agent cabeçalho MediaTailor recebido da solicitação de inicialização da sessão do jogador. Se você estiver usando um proxy CDN or na frente do endpoint do manifesto, deverá fazer o proxy do cabeçalho correto do player aqui. |
|
[session.uuid] |
Não |
Alternativa para
|
Se o ADS exigir que um parâmetro de consulta chamado deviceSession
seja passado com o identificador de sessão exclusivo, o modelo ADS URL em AWS Elemental MediaTailor
poderia ter a seguinte aparência:
https://my.ads.server.com/path?deviceSession=[session.id]
AWS Elemental MediaTailor gera automaticamente um identificador exclusivo para cada fluxo e insere o identificador no lugar desession.id
. Se o identificador for1234567
, a solicitação final MediaTailor feita ao ADS seria mais ou menos assim:
https://my.ads.server.com/path?deviceSession=1234567
Se o ADS exigir que vários parâmetros de consulta sejam passados, o modelo ADS URL em AWS Elemental MediaTailor poderia ter a seguinte aparência:
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]
O XML fragmento de exemplo de DASH marcador a seguir mostra como usar: 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>
O XML fragmento de exemplo de DASH marcador a seguir mostra como usar: 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>
O XML fragmento de exemplo de DASH marcador a seguir mostra como usar: 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>
O exemplo de HLS tag a seguir mostra como usarEXT-X-DATERANGE
:
#EXT-X-DATERANGE:ID="splice-6FFFFFF0",START-DATE="2014-03-05T11: 15:00Z",PLANNED-DURATION=59.993,SCTE35-OUT=0xFC002F0000000000FF0 00014056FFFFFF000E011622DCAFF000052636200000000000A0008029896F50 000008700000000
O exemplo de HLS tag a seguir mostra como usarEXT-X-CUE-OUT
:
#EXT-OATCLS-SCTE35:/DA0AAAAAAAAAAAABQb+ADAQ6QAeAhxDVUVJQAAAO3/PAAEUrEoICAAAAAAg+2UBNAAANvrtoQ== #EXT-X-ASSET:CAID=0x0000000020FB6501 #EXT-X-CUE-OUT:201.467
O exemplo de HLS tag a seguir mostra como usarEXT-X-SPLICEPOINT-SCTE35
:
#EXT-X-SPLICEPOINT-SCTE35:/DA9AAAAAAAAAP/wBQb+uYbZqwAnAiVDVUVJAAAKqX//AAEjW4AMEU1EU05CMDAxMTMyMjE5M19ONAAAmXz5JA==
O exemplo a seguir mostra como usar a scte35:Binary
decodificação:
{ "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 } }