

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

# Trabalhar com timecodes e timestamps
<a name="timecode"></a>

MediaLive tem códigos de tempo para o pipeline de entrada e o pipeline de saída. Os dois timecode são separados um do outro. Não é possível configurar o timecode da entrada. É possível configurar o comportamento do timecode da saída. Você também pode configurar a saída para incluir o timecode de saída como metadados and/or para gravar o timecode de saída no quadro do vídeo.

**Topics**
+ [Sobre timecodes e timestamps](timecodes-about.md)
+ [Configurando a hora de início do timecode da saída](timecode-configure-source.md)
+ [Incluir metadados de timecode na saída](timecode-configure-metadata.md)
+ [Fazer o burn-in do timecode na saída](timecode-configure-burnin.md)

# Sobre timecodes e timestamps
<a name="timecodes-about"></a>

MediaLive tem códigos de tempo para o pipeline de entrada e o pipeline de saída. Os dois timecode são separados um do outro.

**Timecode da entrada**

MediaLive tem recursos que funcionam somente se os quadros de entrada incluírem códigos de tempo incorporados. Esses recursos incluem bloqueio de pipelines e marcas d'água. Se uma entrada não tiver um timecode incorporado, MediaLive não implementará o recurso. Por exemplo, com o bloqueio de pipelines, os pipelines não serão bloqueados de forma precisa. (Para obter mais informações sobre como o timecode afeta o bloqueio de pipelines, consulte [Implementar o bloqueio de pipelines](pipeline-lock.md).

A fonte do timecode da entrada não é configurável. 

**Timecode da saída**

MediaLive implementa o timecode SMPTE, o que significa que MediaLive atribui um timecode do formato a cada quadro de saída. `HH:MM:SS:FF` O timecode é atualizado à meia-noite.

Há três formas de inicializar o timecode da saída em um canal: 
+ Incorporado (o padrão): use o timecode incorporado para inicializar o timecode de saída. MediaLive usa o timecode no primeiro quadro que ele ingere na entrada. Se a entrada não contiver um timecode, MediaLive usa UTC. 
+ UTC: inicialize o timecode da saída com a hora UTC no momento em que o primeiro quadro entra no lado de saída do pipeline.
+ Baseado em zero: inicialize o timecode da saída como 00:00:00:00.

O timecode de saída é usado em recursos como o PDT para uma saída HLS e para o timecode para ID3 metadados que você pode optar por incluir. Você também pode configurar a saída para incluir o timecode de saída como metadados and/or para gravar o timecode de saída no quadro do vídeo.

Você também pode configurar o vídeo de saída para incluir o [timecode de saída como metadados](timecode-configure-metadata.md), and/or para [gravar o timecode de saída no quadro](timecode-configure-burnin.md) do vídeo.

**Timestamps**

MediaLive anexa um carimbo de data/hora a todo o conteúdo de saída. Os sistemas downstream usam o timestamp para sincronização. O timestamp é um valor como o número de 90 ciclos de KHz relógio.

Não combine timestamps e timecodes. Eles são diferentes.

# Configurando a hora de início do timecode da saída
<a name="timecode-configure-source"></a>

Você pode configurar a hora de início do timecode de saída MediaLive incluído nas codificações de saída.

**nota**  
Este procedimento pressupõe que você esteja familiarizado com a criação ou a edição de um canal, conforme descrito em [Criar um canal do zero](creating-channel-scratch.md).

1. Na página **Criar canal** na seção **Configurações gerais**, escolha **Configuração do timecode**.

1. Em **Fonte**, escolha a opção para inicializar o timecode na saída: 
   + **EMBEDDED**: use o timecode incorporado no vídeo da fonte. 

     MediaLive procura o timecode no vídeo de origem, da seguinte forma:
     + AV1 — Um timecode inserido em uma OBU de metadados do tipo timecode (METADATA\$1TYPE\$1TIMECODE), de acordo com a seção 5.8.3 da especificação AOM (https://aomediacodec.github.io/av1-spec/) AV1 
     + H.264: um timecode inserido em uma mensagem SEI do tipo pic\$1timing de acordo com a seção D.1.2 da ISO/IEC 14496-10-2005
     + H.265: um timecode inserido em uma mensagem SEI do tipo timecode de acordo com a seção D.2.26 da ITU-T H.265
     + MPEG-2 — Um timecode inserido em cada cabeçalho GOP, de acordo com a seção 6.2.2.6 de 13818-2-2000 (R2006) ISO/IEC 
   + **SYSTEMCLOCK**: use o horário UTC. 
   + **ZEROBASED**: use 00:00:00:00. 

1. (Opcional) Em **Limite de sincronização**, insira um limite (em quadros) para sincronizar o timecode da saída atual com o timecode da entrada atual. Para obter informações sobre esse campo, consulte [Sobre o limite de sincronização](#timecode-sync).

## Como o timecode funciona em tempo de execução
<a name="timecode-runtime"></a>

**Início ou reinício do canal inicial**

Quando você inicia o canal, o canal estabelece o timecode inicial para o pipeline de saída:
+ O canal criará uma amostra do timecode da entrada se você configurar o horário de início para fazer referência ao timecode incorporado. Se MediaLive não encontrar um timecode incorporado na fonte, ele volta para UTC. 
+ Ou define o timecode como a hora UTC atual.
+ Ou define o timecode como 00:00:00:00.

O canal gera um novo timecode para cada quadro de saída que produz. 

**Alternâncias de entradas**

Quando o canal muda para uma entrada diferente, MediaLive não reinicializa o timecode. Consequentemente, o timecode não é interrompido por uma [alternância de entrada](scheduled-input-switching.md).

**Pausar e cancelar a pausa**

Se você pausar o canal, ele MediaLive continuará a codificar os quadros, que serão descartados imediatamente. Mas, como MediaLive continuam codificando, os timecodes continuam aumentando. Portanto, ao cancelar a pausa, haverá uma descontinuidade de timecode na saída.

## Sobre o limite de sincronização
<a name="timecode-sync"></a>

O campo **Limite de sincronização** sincroniza o timecode da saída com o timecode da entrada. Uma oscilação pode ocorrer de várias maneiras. Por exemplo, podem ocorrer problemas de processamento que causam MediaLive a queda ou a repetição de quadros para compensar. Ou pode haver descontinuidades no fluxo de timecode da entrada.

**Finalidade da sincronização**

A sincronização é útil se for importante para seu fluxo de trabalho que o timecode de saída ( MediaLive gerado) corresponda ao timecode de entrada original. 
+ A correspondência poderá ser importante se você souber que o sistema de downstream deve identificar quadros específicos. 

  Normalmente, o sistema de downstream já identificou esses quadros com base no timecode da entrada original. Portanto, o timecode de saída deve corresponder ao timecode da entrada original, para que o sistema de downstream encontre o quadro desejado.
+ A correspondência não será importante se o objetivo principal do timecode de saída for simplesmente identificar exclusivamente cada quadro de saída.

**Como a sincronização funciona**

Depois que o timecode de entrada e o timecode de saída se separarem pelo número especificado de quadros, MediaLive insere uma descontinuidade na sequência do timecode de saída e define o timecode de saída para corresponder ao timecode de entrada atual.

As principais desvantagens da sincronização são que ela introduz descontinuidades de timecode nos metadados e que não pode garantir que cada timecode de saída seja exclusivo. 

# Incluir metadados de timecode na saída
<a name="timecode-configure-metadata"></a>

Você pode configurar um MediaLive canal para incluir metadados de timecode na codificação de saída individual. Os metadados de timecode são compatíveis com qualquer tipo de grupo de saídas, exceto Captura de quadros. 

O timecode é inserido de acordo com o padrão para a codificação da saída: 
+ AV1 — O timecode é inserido em uma OBU de metadados do tipo timecode (METADATA\$1TYPE\$1TIMECODE), de acordo com a seção 5.8.3 da especificação AOM (https://aomediacodec.github.io/av1-spec/) AV1
+ H.264 — O timecode é inserido em uma mensagem SEI do tipo pic\$1timing, de acordo com a seção D.1.2 de 14496-10-2005 ISO/IEC 
+ H.265: o timecode é inserido em uma mensagem SEI do tipo timecode de acordo com a seção D.2.26 da ITU-T H.265
+ MPEG — O timecode é inserido em cada cabeçalho GOP, de acordo com a seção 6.2.2.6 de 13818-2-2000 (R2006) ISO/IEC 

**Para incluir metadados de timecode na saída**

No lado da saída, em cada codificação de vídeo, especifique se deseja incluir o timecode. Por padrão, o timecode não está incluído na codificação de vídeo.

1. Na página **Criar canal**, na seção **Grupos de saídas**, crie um grupo de saídas e, em seguida, escolha uma saída.

1. Exiba a seção **Configurações de fluxo** e escolha a seção **Vídeo**. Em **Configurações de codec**, escolha o codec para essa codificação de vídeo. Mais campos serão exibidos.

1. Escolha **Timecode** e, em **Inserção de timecode**, escolha uma opção:
   + **DISABLED**: esta codificação não incluirá metadados de timecode.
   + **METADATA\$1OBU** **(para AV1) ou **PIC\$1TIMING\$1SEI (para H.264 ou H.265) ou GOP\$1timecode** (MPEG) — Essa codificação incluirá metadados de timecode.**

# Fazer o burn-in do timecode na saída
<a name="timecode-configure-burnin"></a>

Você pode configurar qualquer codificação de vídeo em um MediaLive canal para gravar no timecode de saída. O timecode se tornará parte do vídeo.

Observe que o recurso de burn-in de timecode é independente do recurso de metadados do timecode. Não é necessário habilitar os metadados do timecode para o burn-in do timecode.

**Para fazer o burn-in do timecode na saída de vídeo**

1. Na página **Criar canal**, na seção **Grupos de saídas**, crie um grupo de saídas e, em seguida, escolha uma saída.

1. Exiba a seção **Configurações de fluxo** e escolha a seção **Vídeo**. Em **Configurações de codec**, escolha o codec para essa codificação de vídeo. Mais campos serão exibidos.

1. Escolha **Timecode** e, em seguida, em **Configurações de burn-in do timecode**, escolha **Gravação do timecode**. Mais campos serão exibidos.

1. Defina o estilo e a posição do timecode no quadro de vídeo. No campo opcional **Prefixo**, insira qualquer descritor. Por exemplo, .**UTC-1**