

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

# Personalizar os caminhos dentro dos manifestos HLS
<a name="hls-manifest-paths"></a>

Ao criar um grupo de saída HLS em um MediaLive canal padrão, você pode configurar manifestos personalizados. 

Observe que você não pode configurar manifestos personalizados em um grupo de MediaPackage saída ou em um grupo de saída HLS se o sistema downstream estiver. MediaPackage MediaPackage funciona somente com os caminhos padrão.

É possível personalizar o manifesto principal alterando os caminhos para os manifestos filhos. Também é possível personalizar cada manifesto filho alterando os caminhos dos arquivos de mídia. Normalmente, você só precisa alterar a sintaxe se o sistema de downstream tiver requisitos de caminho especiais. A Akamai CDNs geralmente exige que você altere a sintaxe.

**nota**  
As informações desta seção em manifestos HLS pressupõem que você esteja familiarizado com as etapas gerais para criar um canal, conforme descrito em [Criar um canal do zero](creating-channel-scratch.md).  
Os principais campos no console relacionados a esse recurso estão no agrupamento **Location (Local)** da seção **HLS output group (Grupo de saída HLS)** na página **Create channel (Criar canal)**. Para revisar a etapa em que você preenche esses campos, consulte [O procedimento](creating-hls-output-group.md#hls-create-procedure).

**Topics**
+ [Procedimento para configurar caminhos personalizados](hls-custom-manifests-procedure.md)
+ [Como os manifestos funcionam](hls-manifests-how-work.md)
+ [Regras para caminhos personalizados](hls-custom-paths-rules.md)
+ [Orientação para configurar caminhos personalizados](hls-custom-paths-guidance.md)
+ [Exemplos de caminhos personalizados](hls-custom-paths-examples.md)

# Procedimento para configurar caminhos personalizados
<a name="hls-custom-manifests-procedure"></a>

A personalização dos caminhos do manifesto envolve trabalhar com os seguintes campos:
+ **HLS output group – Location (Grupo de saída HLS – Local)** – os campos de **Base URL manifest (Manifesto de URL base)**
+ **HLS output group – Location (Grupo de saída HLS – Local)** – os campos de **Base URL content (Conteúdo de URL base)**

**Como configurar caminhos personalizados em manifestos**

1. Fale com o sistema de downstream para descobrir se são necessários caminhos personalizados. Os principais manifestos podem precisar de caminhos personalizados para os manifestos filhos, os manifestos filhos podem precisar de caminhos personalizados para os arquivos de mídia ou os manifestos principal e filho podem precisar de caminhos personalizados. Consulte [Como os manifestos funcionam](hls-manifests-how-work.md).

1. Projete os caminhos, prestando atenção à [sintaxe e às regras de construção de caminhos](hls-destinations-design-step.md#hls-syntax-http).

   Consulte esta [orientação para diferentes sistemas de downstream](hls-custom-paths-guidance.md).

   Consulte [estes exemplos](hls-custom-paths-examples.md).

1. Preencha um ou ambos os campos na seção **Location (Local)** da página do grupo de saída HLS:
   + **Manifesto do URL base A** e **Manifesto do URL base B**. Para um canal de pipeline único, preencha apenas o campo A. Para um canal padrão, preencha o campo A e o campo B.
   + **Conteúdo do URL base A** e **Conteúdo do URL base B**. Para um canal de pipeline único, preencha apenas o campo A. Para um canal padrão, preencha o campo A e o campo B.

# Como os manifestos funcionam
<a name="hls-manifests-how-work"></a>

As seções a seguir descrevem como MediaLive manipula os caminhos do manifesto.

## Como os caminhos de manifesto funcionam por padrão
<a name="hls-default-manifest-paths"></a>

Os manifestos MediaLive criados incluem informações sobre os caminhos para outros arquivos, especificamente:
+ O conteúdo dentro do manifesto principal inclui um caminho para cada manifesto filho.

  Por padrão, a sintaxe desse caminho é a seguinte: 

  ```
  baseFilename nameModifier extension
  ```

  Por exemplo:

  ```
  curling-high.m3u8
  ```

  O caminho é relativo ao local do manifesto principal.
+ O conteúdo dentro de cada manifesto filho inclui um caminho para seus arquivos de mídia.

  Por padrão, a sintaxe desse caminho é a seguinte:

  ```
  baseFilename nameModifier optionalSegmentModifier counter extension
  ```

  Por exemplo:

  ```
  curling-high-000001.ts
  ```

  O caminho é relativo ao local do manifesto filho.

## Como os caminhos personalizados funcionam
<a name="hls-custom-manifest-paths"></a>

Se os caminhos padrão dentro dos manifestos não forem adequados para a maneira como o sistema de downstream lida com os três conjuntos de arquivos, você poderá preencher os campos de *URL base*:
+ Preencha os campos **do manifesto do URL base** para criar caminhos MediaLive personalizados para os manifestos secundários. 
+ Preencha os campos de **conteúdo do URL base** para criar caminhos MediaLive personalizados para os arquivos de mídia. 

Quando você personaliza os caminhos, a sintaxe muda.
+ Quando você preenche os campos de **Base URL manifest (Manifesto de URL base)**, a sintaxe para o caminho do manifesto filho (dentro do manifesto principal) é a seguinte: 

  ```
  baseURLManifest baseFilename nameModifier extension
  ```

  Por exemplo:

  ```
  http://viewing/sports/curling-high.m3u8
  ```
+ Quando você preenche os campos de **Base URL content (Conteúdo de URL base)**, a sintaxe dos caminhos do arquivo de mídia (dentro dos manifestos filhos) é a seguinte: 

  ```
  baseURLContent baseFilename nameModifier optionalSegmentModifier counter
          extension
  ```

  Por exemplo:

  ```
  http://viewing/media/sports/curling-high-000001.ts
  ```

## Como MediaLive constrói esses caminhos
<a name="hls-how-construct-custom-paths"></a>

Os caminhos personalizados para os manifestos filhos são construídos da seguinte forma:
+ Preencha os campos de **Base URL manifest (Manifesto de URL base)**, ou os campos de **Base URL content (Conteúdo de URL base)** ou ambos. 

  Por exemplo:

  ```
  http://198.51.100/sports/viewing/
  ```

  Observe a barra no final do valor.
+ MediaLive acrescenta esse valor ao caminho [padrão](#hls-default-manifest-paths). Por exemplo:

  ```
  http://198.51.100/sports/viewing/curling-high.m3u8
  ```

# Regras para caminhos personalizados
<a name="hls-custom-paths-rules"></a>

Depois de configurar a personalização dos manifestos em um grupo de saída MediaLive HLS, você deve compartilhar as seguintes regras com sua pessoa de contato no sistema downstream.

A regra geral é que é responsabilidade do sistema downstream garantir que o caminho personalizado funcione em seu ambiente. MediaLive não valida os valores de forma alguma. Portanto:
+ Se o protocolo for especificado (é opcional), ele deverá ser idêntico ao protocolo especificado nos campos de **Destination URL (URL de destino)**.
+ Os campos de **Base URL manifest (Manifesto de URL base)** e **Base URL content (Conteúdo de URL base)** para o mesmo pipeline podem ter o mesmo valor ou valores diferentes. Eles podem ser iguais ou diferentes em qualquer parte (domínio, caminho).
+ Os valores podem resultar em um caminho relativo ou em um caminho absoluto. 
+ Um caminho relativo para o manifesto filho é sempre relativo ao local do manifesto principal.
+ Um caminho relativo para os arquivos de mídia é sempre relativo ao local do manifesto filho.
+ Os caminhos devem terminar com uma barra.

# Orientação para configurar caminhos personalizados
<a name="hls-custom-paths-guidance"></a>

O conteúdo no caminho personalizado em uma saída HLS deve ser apropriado para o sistema que está a jusante de. MediaLive Veja a seguir algumas orientações para usar os campos de *URL base* para diferentes sistemas de downstream.

**Configuração para caminhos personalizados se você controlar o sistema de downstream**

Você pode controlar o sistema de downstream. Por exemplo, os sistemas downstream podem ser o Amazon S3 MediaStore ou que enviam conteúdo para a Amazon. CloudFront Seu processamento dos arquivos HLS pode exigir que você mova um ou mais conjuntos de arquivos. Nesse caso, você pode preencher esses campos de *URL base* para corresponder aos caminhos do local final dos arquivos.

**Configuração para caminhos personalizados se o empacotador de downstream for o MediaPackage**

Se o pacote downstream estiver MediaPackage, deixe os campos **URL base** vazios. MediaPackage não usa essas informações.

**Configuração para caminhos personalizados se você usar um sistema de downstream de terceiros**

Se você usar um sistema de downstream de terceiros, ele deverá informar se esses campos de **Base URL (URL base)** devem ser preenchidos. 

# Exemplos de caminhos personalizados
<a name="hls-custom-paths-examples"></a>

Veja a seguir exemplos das diferentes maneiras pelas quais você pode personalizar os manifestos em um grupo de saída MediaLive HLS. Em todos esses exemplos, suponha o seguinte:
+ No manifesto principal, o caminho padrão para os manifestos filhos é este caminho relativo:

  ```
  curling-high.m3u8
  ```
+ No manifesto filho, o caminho padrão para os arquivos de mídia é este caminho relativo:

  ```
  curling-high-000001.ts
  ```

**Example 1**  
O sistema downstream moverá os arquivos do local onde os MediaLive envia. O sistema downstream moverá os arquivos de tal forma que os manifestos filhos permaneçam no mesmo local relativo aos manifestos pais e os arquivos de mídia permaneçam no mesmo local relativo aos manifestos filhos.  
Portanto, não é necessário personalizar os caminhos. Os caminhos padrão ainda funcionarão após a migração.

**Example 2**  
Você deseja que o manifesto principal e os manifestos filhos incluam caminhos absolutos para seus respectivos arquivos. Configure da seguinte forma:  
+ Preencha o campo **Base URL manifest A (Manifesto de URL base A)** para especificar este caminho absoluto: 

  ```
  http://198.51.100/sports/viewing/
  ```

  Dentro do manifesto principal, o caminho para o manifesto filho agora será o seguinte:

  ```
  http://198.51.100/sports/viewing/curling-high.m3u8
  ```
+ Preencha o campo de **Base URL content (Conteúdo de URL base)** para especificar este caminho absoluto:

  ```
  http://203.0.113.55/sports/viewing/
  ```

  Dentro dos manifestos filhos, os caminhos para os arquivos de mídia agora serão os seguintes:

  ```
  http://203.0.113.55/sports/viewing/curling-high-000001.ts
  ```
Esse exemplo ilustra que o domínio para os dois conjuntos de arquivos pode ser diferente.

**Example 3**  
Você deseja que o manifesto pai inclua caminhos absolutos para os manifestos filhos. Entretanto, você deseja que os manifestos filhos incluam caminhos para os arquivos de mídia que são relativos ao manifesto filho. Nesse caso, personalize o caminho para os manifestos filhos, mas continue a usar os caminhos padrão para os arquivos de mídia.  
+ Preencha o campo **Base URL manifest A (Manifesto de URL base A)** para especificar este caminho absoluto: 

  Dentro do manifesto principal do pipeline A, o caminho para o manifesto filho agora será o seguinte:

  ```
  http://198.51.100/sports/viewing/curling-high.m3u8
  ```
+ Não preencha o campo **Base URL content A (Conteúdo de URL base A)**. 

  Dentro dos manifestos filhos, os caminhos para os arquivos de mídia ainda serão o padrão:

  ```
  curling-high-000001.ts
  ```