

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á.

# Especificação de marcadores SCTE-35 usando ESAM XML
<a name="specifying-scte-35-markers-using-esam-xml"></a>

Se o vídeo de entrada não contiver marcadores SCTE-35, mas você precisar especificar pontos de inserção de anúncios nas saídas, você poderá fornecer documentos XML de Sinalização e Gerenciamento de Eventos (ESAM) nas configurações do seu trabalho. AWS Elemental MediaConvert Ao fazer isso, MediaConvert condicione suas saídas com quadros IDR (atualização instantânea do decodificador) nos pontos de inserção especificados no documento. Nas saídas que também são agrupadas em contêineres MPEG2 -TS e HLS, MediaConvert insere mensagens time\$1signal SCTE-35 nesses pontos. 

Para grupos de saída **Apple HLS**, você também pode fornecer um documento XML de condicionamento de manifesto HLS. Você pode, então, configurar sua tarefa para condicionar os manifestos para suas saídas HLS apropriadamente.

**nota**  
**Para colocar marcadores SCTE-35 em suas saídas MPEG2 -TS, além de fornecer os documentos XML do ESAM, você também deve habilitar o ESAM SCTE-35 em cada saída.** Para obter mais informações, consulte o procedimento de console seguindo essa visão geral.

**Sobre timecodes em seus documentos ESAM**  
Especifique os pontos de inserção em seus documentos XML relacionados ao tempo da saída final, após a junção e recorte de entrada. Inicie seu tempo em 00:00:00:00, independentemente de suas configurações de timecode. Use o seguinte formato de 24 horas com um número de quadro: HH:MM:SS:FF.

Por exemplo, uma tarefa tem as seguintes três entradas: um precedente de cinco minutos, um filme de uma hora, e um posterior de cinco minutos. Você pode usar o recorte para recortar apenas os 20 minutos finais da entrada de uma hora. Portanto, sua saída com a parte anterior e posterior é de 30 minutos. Se você quiser que o seu primeiro ponto de inserção apareça depois de três minutos no conteúdo principal, você deve especificá-lo em oito minutos – três minutos após sua parte inicial de cinco minutos. 

**Para incluir documentos XML ESAM em suas configurações de tarefa (console)**

1. Abra o MediaConvert console em [https://console.aws.amazon.com/mediaconvert](https://console.aws.amazon.com/mediaconvert).

1. Escolha **Create new job** (Criar uma nova tarefa).

1. Configure sua entrada, grupos de saída e saídas para vídeo e áudio, conforme descrito em [Tutorial: Definindo as configurações do trabalho](setting-up-a-job.md) e [Criação de saídas](output-settings.md).

1. No painel **Job** (Tarefa) à esquerda, na seção **Job settings** (Configurações de tarefa), escolha **Settings** (Configurações).

1. Na seção **Ad signaling** (Sinalização de anúncio), habilite **Event signaling and messaging (ESAM)** (Sinalização e mensagens de eventos (ESAM)).

1. Para **Signal processing notification XML** (XML de notificação de processamento de sinal), insira seu documento XML de sinalização ESAM como texto. Para ver um exemplo, consulte [Exemplo de notificação de processamento de sinais de ESAM XML](example-esam-xml.md).
**nota**  
Por padrão, MediaConvert adiciona uma pré-rolagem de quatro segundos à carga útil do ESAM. Isso pode resultar na MediaConvert colocação da mensagem SCTE-35 um segmento antes do que o marcador de sinalização designa no manifesto HLS. Para remover o preroll, defina `responseSignalPreroll` como zero. Essa configuração é filha da [EsamSettings](https://docs.aws.amazon.com/mediaconvert/latest/apireference/jobs-id.html#jobs-id-model-esamsettings).

1. Se você quiser incluir informações sobre seus marcadores SCTE-35 em seus manifestos HLS, em XML de **notificação de condição de confirmação de manifesto, insira o documento XML** condicional do manifesto ESAM como texto. MediaConvert não inclui informações sobre seus marcadores SCTE-35 em seus manifestos DASH.

   Para inserir marcadores SCTE-35 no fluxo de transporte e no manifesto, defina o atributo `dataPassThrough` em seu documento MCC como `"true"`. Se você não quiser marcadores no fluxo de transporte, remova os atributos `dataPassThrough`.

   Para ver um exemplo, consulte [Exemplo de notificação de condição de confirmação de manifesto ESAM XML](example-esam-xml-manifest-conditioning.md). 

1. Para cada saída MPEG2 -TS em que você deseja marcadores SCTE-35, habilite os marcadores:

   1. No painel **Job** (Tarefa) à esquerda, em **Output groups** (Grupos de saída), **File group** (Grupo de arquivo), escolha a saída.

   1. Confirme se é uma saída MPEG2 -TS. Na seção **Output settings** (Configurações de saída), verifique se **Container** (Contêiner) está definido como **MPEG-2 Transport Stream** (Fluxo de transporte MPEG-2).

   1. Escolha **Container settings** (Configurações de contêiner) e role para baixo para encontrar a seção **PID controls** (Controles PID).

   1. Para **ESAM SCTE-35** escolha **Enabled** (Habilitado).

   1. Para **SCTE-35 source** (Fonte SCTE-35), mantenha o padrão **None** (Nenhum).

1. Execute esta etapa somente para qualquer grupo de saída **Apple HLS** em sua tarefa.

   Se você quiser condicionar seu manifesto HLS aos seus pontos de inserção ESAM, siga o procedimento em [Incluir informações de SCTE-35 no seu manifesto HLS](including-scte-35-information-in-your-hls-manifest.md). Caso contrário, siga estas etapas para confirmar que as seguintes configurações ainda estão em seu estado padrão:

   1. Certifique-se de que **Manifest confirm condition notification XML** (XML de notificação de condição de confirmação de manifesto), discutido em uma etapa anterior deste procedimento, esteja vazio.

   1. Para cada grupo de saída **Apple HLS** em sua tarefa, confirme se você manteve **Ad Markers** (Marcadores de anúncios) desmarcados.

      1. No painel esquerdo **Job** (Tarefa), em **Output groups** (Grupos de saída), escolha **Apple HLS**.

      1. Na seção **Apple HLS group settings** (Configurações do grupo Apple HLS), escolha **Advanced** (Avançado).

      1. Na seção **Ad markers** (Marcadores de anúncios), desmarque as caixas de seleção **Elemental** e **SCTE-35 enhanced**.

   1. Para cada saída em seus grupos de saída **Apple HLS**, confirme se **SCTE-35 source** (Origem de SCTE-35) está definido como **None** (Nenhum):

      1. No painel esquerdo **Job** (Tarefa), em **Output groups** (Grupos de saída), **Apple HLS**, escolha uma saída.

      1. Na seção **Output settings** (Configurações de saída), escolha **Transport stream settings** (Configurações de fluxo de transporte).

      1. Para **SCTE-35 source** (Origem SCTE-35), escolha **None** (Nenhum).

**Para incluir documentos ESAM XML nas configurações de seus trabalhos (API, SDK,) AWS CLI**

1. Inclua a [`esam`propriedade](https://docs.aws.amazon.com/mediaconvert/latest/apireference/jobs.html#jobs-prop-jobsettings-esam) e seus filhos na raiz das configurações da tarefa em sua especificação de tarefa JSON. Essas propriedades são mostradas no exemplo a seguir.

   1.  Inclua sua especificação de XML de processamento de sinal ESAM como uma string na configuração `sccXml`. 

   1. Opcionalmente, inclua um documento XML de notificação de condição de confirmação de manifesto como string na configuração `mccXml`:

   ```
     "esam": {
       "responseSignalPreroll": 4000,
       "signalProcessingNotification": {
         "sccXml": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<SignalProcessingNotification ..."
       },
       "manifestConfirmConditionNotification": {
         "mccXml": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>\n<ns2:ManifestConfirmConditionNotification ... " 
       }
   ```

1. Para cada saída M2TS (MPEG2 Transport Stream) em seu trabalho, defina sua especificação de trabalho JSON conforme mostrado no exemplo a seguir. Inclua a propriedade [https://docs.aws.amazon.com/mediaconvert/latest/apireference/jobs.html#jobs-prop-m2tssettings-scte35esam](https://docs.aws.amazon.com/mediaconvert/latest/apireference/jobs.html#jobs-prop-m2tssettings-scte35esam). Defina [https://docs.aws.amazon.com/mediaconvert/latest/apireference/jobs.html#jobs-prop-m2tssettings-scte35source](https://docs.aws.amazon.com/mediaconvert/latest/apireference/jobs.html#jobs-prop-m2tssettings-scte35source) como `NONE`.

   ```
     "outputs": [
           {
             "extension": "m2ts",
             "containerSettings": {
               "container": "M2TS",
               "m2tsSettings": {
                 ...
   
                 "scte35Esam": {
                   "scte35EsamPid": 508
                 },
                 ...
                 "scte35Source": "NONE"
               }
   ```

1. Se quiser condicionar seus manifestos HLS a informações SCTE-35, para cada grupo de saída Apple HLS na tarefa, inclua o seguinte. Essas configurações são mostradas no exemplo no final desta etapa:
   +  Defina [https://docs.aws.amazon.com/mediaconvert/latest/apireference/jobs.html#jobs-prop-m3u8settings-scte35source](https://docs.aws.amazon.com/mediaconvert/latest/apireference/jobs.html#jobs-prop-m3u8settings-scte35source) como `PASSTHROUGH`.
   + Inclua [https://docs.aws.amazon.com/mediaconvert/latest/apireference/jobs.html#jobs-prop-hlsgroupsettings-admarkers](https://docs.aws.amazon.com/mediaconvert/latest/apireference/jobs.html#jobs-prop-hlsgroupsettings-admarkers) e liste um ou ambos `ELEMENTAL_SCTE35` ou `ELEMENTAL` em uma matriz.

     Para exemplos de manifestos criados com cada configuração selecionada, consulte [Exemplo de manifesto: marcadores de anúncios Elemental](sample-manifest-elemental-ad-markers.md) e [Exemplo de manifesto: marcadores de anúncios SCTE-35 Enhanced](sample-manifest-scte-35-enhanced-ad-markers.md).

   Se você não quiser condicionar os manifestos HLS a informações SCTE-35, mantenha a configuração padrão `NONE` para `scte35Source` e não inclua `adMarkers`:

   ```
     "outputGroups": [
       {
         "customName": "apple_hls",
         "outputGroupSettings": {
           "type": "HLS_GROUP_SETTINGS",
           "hlsGroupSettings": {
             "adMarkers": [
               "ELEMENTAL_SCTE35"
             ],
             ...
   
           }
         },
         "outputs": [
           {
             "extension": "m3u8",
             "nameModifier": "high",
             "outputSettings": {
               "hlsSettings": {
                 ...
               }
             },
             "containerSettings": {
               "container": "M3U8",
               "m3u8Settings": {
                 ...
                 "scte35Source": "PASSTHROUGH"
               }
   ```

1. Envie sua tarefa normalmente. 

   Para obter informações sobre o envio programático de AWS Elemental MediaConvert trabalhos, consulte [Introdução ao AWS Elemental MediaConvert uso do AWS SDKs ou do AWS CLI](https://docs.aws.amazon.com/mediaconvert/latest/apireference/custom-endpoints.html) e [Introdução ao AWS Elemental MediaConvert uso da API](https://docs.aws.amazon.com/mediaconvert/latest/apireference/getting-started.html).

# Exemplo de notificação de processamento de sinais de ESAM XML
<a name="example-esam-xml"></a>

Esse bloco de ESAM XML gera duas pausas de anúncios de 30 segundos, uma aos 10 segundos e a outra aos 75 segundos.

```
<?xml version="1.0" encoding="UTF-8"?>
<SignalProcessingNotification xmlns="urn:cablelabs:iptvservices:esam:xsd:signal:1" xmlns:sig="urn:cablelabs:md:xsd:signaling:3.0" xmlns:common="urn:cablelabs:iptvservices:esam:xsd:common:1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" acquisitionPointIdentity="ExampleESAM">

    <common:BatchInfo batchId="1">
      <common:Source xsi:type="content:MovieType" />
    </common:BatchInfo>

    <ResponseSignal acquisitionPointIdentity="ExampleESAM" acquisitionSignalID="1" signalPointID="10.00" action="create">
      <sig:NPTPoint nptPoint="10.00"/>
      <sig:SCTE35PointDescriptor spliceCommandType="06">
        <sig:SegmentationDescriptorInfo segmentEventId="1" segmentTypeId="52" upidType="9" upid="1" duration="PT30S" segmentNumber="1" segmentsExpected="1"/>
      </sig:SCTE35PointDescriptor>
    </ResponseSignal>
    <ConditioningInfo acquisitionSignalIDRef="1" startOffset="PT10S" duration="PT30S"/>

    <ResponseSignal acquisitionPointIdentity="ExampleESAM" acquisitionSignalID="2" signalPointID="40.00" action="create">
      <sig:NPTPoint nptPoint="40.00" />
      <sig:SCTE35PointDescriptor spliceCommandType="06">
        <sig:SegmentationDescriptorInfo segmentEventId="1" segmentTypeId="53" upidType="9" upid="2"/>
      </sig:SCTE35PointDescriptor>
    </ResponseSignal>

    <ResponseSignal acquisitionPointIdentity="ExampleESAM" acquisitionSignalID="3" signalPointID="75.00" action="create">
      <sig:NPTPoint nptPoint="75.00"/>
      <sig:SCTE35PointDescriptor spliceCommandType="06">
        <sig:SegmentationDescriptorInfo segmentEventId="2" segmentTypeId="52" upidType="9" upid="3" duration="PT30S" segmentNumber="2" segmentsExpected="1"/>
      </sig:SCTE35PointDescriptor>
    </ResponseSignal>
    <ConditioningInfo acquisitionSignalIDRef="3" startOffset="PT75S" duration="PT30S"/>
    
    <ResponseSignal acquisitionPointIdentity="ExampleESAM" acquisitionSignalID="4" signalPointID="105.00" action="create">
      <sig:NPTPoint nptPoint="105.00" />
      <sig:SCTE35PointDescriptor spliceCommandType="06">
        <sig:SegmentationDescriptorInfo segmentEventId="2" segmentTypeId="53" upidType="9" upid="4"/>
      </sig:SCTE35PointDescriptor>
    </ResponseSignal>

</SignalProcessingNotification>
```

# Exemplo de notificação de condição de confirmação de manifesto ESAM XML
<a name="example-esam-xml-manifest-conditioning"></a>

Esse documento XML de condição de confirmação de manifesto ESAM (MCC) gera tags de sinalização de manifesto HLS para dois intervalos de anúncios de 30 segundos. O primeiro começa aos 10 segundos; o segundo começa aos 75 segundos. Essas tags de manifesto de sinalização também contêm dados que podem ser usados por um cliente posterior para substituição e inserção de anúncios. As saídas geradas com esse documento de MCC contêm uma mensagem SCTE-35 incorporada ao arquivo de fluxo de transporte no primeiro intervalo de anúncio, mas não no segundo.

Observe o atributo `dataPassThrough` no primeiro intervalo de anúncio. Quando esse atributo está presente e definido como`"true"`, MediaConvert insere os marcadores SCTE-35 no fluxo de transporte, além do manifesto. Para qualquer intervalo de anúncio que você queira marcar somente no manifesto, omita o atributo `dataPassThrough`.

MediaConvert suporta condicionamento de manifesto com ESAM somente em pacotes HLS.

```
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<ns2:ManifestConfirmConditionNotification xmlns:ns2="http://www.cablelabs.com/namespaces/metadata/xsd/confirmation/2" xmlns="http://www.cablelabs.com/namespaces/metadata/xsd/core/2" xmlns:ns3="http://www.cablelabs.com/namespaces/metadata/xsd/signaling/2">
  <ns2:ManifestResponse acquisitionPointIdentity="ExampleESAM" acquisitionSignalID="1" duration="PT30S" dataPassThrough="true"> 
  <ns2:SegmentModify>
      <ns2:FirstSegment>
        <ns2:Tag value="#EXT-X-CUE-OUT:4,SpliceType=VOD_DAI,Action=REPLACE, PAID=amazon.com/TEST2014020500000346,Acds=BA" />
      </ns2:FirstSegment>
      <ns2:SpanSegment>
        <ns2:Tag value="#EXT-X-CUE-OUT-CONT:${secondsFromSignal}/4, SpliceType=VOD_DAI,Action=REPLACE,PAID=amazon.com/TEST2014020500000346,Acds=BA" adapt="true" />
      </ns2:SpanSegment>
      <ns2:LastSegment>
        <ns2:Tag value="#EXT-X-CUE-IN:4,SpliceType=VOD_DAI" locality="after" adapt="true" />
      </ns2:LastSegment>
    </ns2:SegmentModify>
	</ns2:ManifestResponse>
  <ns2:ManifestResponse acquisitionPointIdentity="ExampleESAM" acquisitionSignalID="2"></ns2:ManifestResponse>
  <ns2:ManifestResponse acquisitionPointIdentity="ExampleESAM" acquisitionSignalID="3" duration="PT30S">  
  <ns2:SegmentModify>
      <ns2:FirstSegment>
        <ns2:Tag value="#EXT-X-OUT:4,SpliceType=VOD_DAI,Action=REPLACE, PAID=amazon.com/TEST2014020500000347,Acds=BA" />
      </ns2:FirstSegment>
      <ns2:SpanSegment>
        <ns2:Tag value="#EXT-X-OUT-CONT:${secondsFromSignal}/4, SpliceType=VOD_DAI,Action=REPLACE,PAID=amazon.com/TEST2014020500000346,Acds=BA" adapt="true" />
      </ns2:SpanSegment>
      <ns2:LastSegment>
        <ns2:Tag value="#EXT-X-CUE-IN:4,SpliceType=VOD_DAI" locality="after" adapt="true" />
      </ns2:LastSegment>
    </ns2:SegmentModify>
	</ns2:ManifestResponse>
	<ns2:ManifestResponse acquisitionPointIdentity="ExampleESAM" acquisitionSignalID="4"></ns2:ManifestResponse>
</ns2:ManifestConfirmConditionNotification>
```