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á.
AWS Elemental MediaTailor Para configurar o envio de dados da sessão ao Ad Decision Server (ADS), no modelo de URL do ADS, 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 em seu modelo de configuração de URL de solicitação do ADS. Os números das seções listados na tabela correspondem à versão 2019a da especificação -35 da Society of Cable Telecommunications Engineers (SCTE) -35, Digital Program Insertion Cueing Message. Para obter detalhes sobre a pré-busca de anúncios
Name | Disponível para pré-busca de anúncios | Seção de especificação SCTE-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 ADS para preencher a disponibilidade, ela inclui o número do índice de disponibilidade do anúncio. Esse parâmetro permite que o ADS melhore a seleção de anúncios usando recursos como exclusão competitiva e limitação 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 pelo MediaTailor campo SCTE-35avail_num , como um número longo. MediaTailor Eu posso usar esse valor para designar números lineares e disponíveis.O valor deve ser um número inteiro. |
[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 SCTE-35. |
[scte.event_id] |
Sim | 9.1 e 9.7.2.1 | O valor analisado pelo MediaTailor 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.O valor deve ser um número inteiro. |
[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 SCTE-35. |
[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 SCTE-35. |
[scte.segmentation_upid] |
|
segmentation_upid: 10.3.3.1 UPID privado gerenciado: 10.3.3.3 |
Corresponde ao elemento SCTE-35 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 JSON do MPU. private_data 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 JSON do MPU. private_data 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 JSON do MPU. private_data Para obter mais informações, consulte Managed Private UPID JSON structure for a podbuster workflow.O valor pode ser uma string. |
|
[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 SCTE-35. |
[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 SCTE-35. |
[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 SCTE-35. |
[scte.unique_program_id] |
Sim | 9.7.2.1 | O valor inteiro analisado pelo campo MediaTailor splice_insert SCTE-35. unique_program_id O ADS usa o ID exclusivo de programa (UPID) para fornecer direcionamento de anúncios em nível de programa para streamings lineares ao vivo. Se o comando SCTE-35 não for inserção de emenda, MediaTailor defina-o como um valor vazio.O valor deve ser um número inteiro. |
[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. Caso o cabeçalho X-forwarded-for esteja definido, esse valor é o usado pelo MediaTailor no client_ip . |
|
[session.id] |
Não | Um identificador numérico exclusivo para a sessão de reprodução atual. Como todas as solicitações feitas por um player para uma sessão têm o mesmo ID, ele pode ser usado em campos ADS que devem correlacionar solicitações de uma única exibição. | |
[session.referer] |
Não | Normalmente, o URL da 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. Caso o player não forneça esse cabeçalho, o MediaTailor deixa o [session.referer] vazio. Se você usa 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. Caso esteja usando uma CDN ou um proxy à frente do endpoint do manifesto, você deve adicionar o cabeçalho correto do player aqui. |
|
[session.uuid] |
Não |
Alternativa
|
Caso o ADS exija um parâmetro de consulta chamado deviceSession
a ser passado com o identificador da sessão exclusivo, o URL ADS do modelo em AWS Elemental MediaTailor
pode se parecer com o seguinte:
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 transmitidos, o modelo de URL do ADS AWS Elemental MediaTailor poderá 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 seguinte exemplo de fragmento XML do marcador DASH 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 seguinte exemplo de fragmento XML do marcador DASH 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 seguinte exemplo de fragmento XML do marcador DASH 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 tag HLS 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 tag HLS 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 tag HLS 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 } }