

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Creación de manifiestos HLS redundantes
<a name="hls-redundant-manifests"></a>

Al crear un grupo de salida HLS en un MediaLive canal estándar, puede habilitar los manifiestos redundantes. Los manifiestos redundantes permiten al sistema descendente (que lee los manifiestos) gestionar mejor un error de salida desde MediaLive.

Cuando la característica de manifiesto redundante está habilitada, el manifiesto principal de cada canalización hace referencia tanto a sus propios manifiestos secundarios como a los manifiestos secundarios de la otra canalización. El sistema descendente encuentra la ruta a los manifiestos secundarios de una canalización. Si hay un problema con esa canalización, habrá un problema con los manifiestos secundarios de esa canalización. El sistema descendente puede volver al manifiesto principal para encontrar el manifiesto secundario de la otra canalización. De esta manera, el sistema descendente siempre puede continuar con su procesamiento del manifiesto y los archivos multimedia.

Para implementar correctamente manifiestos redundantes, debe asegurarse de que el sistema descendente puede manejar manifiestos redundantes de la manera descrita en la especificación HLS.

**nota**  
En la información que se proporciona en esta sección de los manifiestos HLS se presupone que está familiarizado con los pasos generales para crear un canal, tal y como se describe en [Creación de un canal desde cero](creating-channel-scratch.md).   
Los campos clave de la consola relacionados con esta característica se encuentran en la agrupación **Manifests and segments (Manifiestos y segmentos)** de la sección **HLS output group (Grupo de salida de HLS)** de la página **Create channel (Crear canal)**. Para revisar el paso en el que se completan estos campos, consulte [El procedimiento](creating-hls-output-group.md#hls-create-procedure).

**Topics**
+ [Procedimiento para configurar manifiestos redundantes](hls-rm-procedure.md)
+ [El contenido multimedia de un manifiesto HLS](hls-rm-manifests-contents.md)
+ [Reglas para la mayoría de los sistemas descendentes](hls-redundant-manif-most-systems.md)
+ [Reglas para Akamai CDNs](hls-redundant-manif-akamai.md)
+ [Combinación de manifiestos redundantes con otras características](hls-redundant-manif-combine.md)

# Procedimiento para configurar manifiestos redundantes
<a name="hls-rm-procedure"></a>

La configuración de los manifiestos redundantes en las salidas HLS consta de dos partes. MediaLive Debe activar la característica en el grupo de salida. También debe realizar ajustes en el diseño de los nombres de salida y las rutas de destino (en comparación con las salidas de HLS que no implementan manifiestos redundantes).

El siguiente campo se refiere específicamente a manifiestos redundantes:
+ **Grupo de salida de HLS — Manifiestos y segmentos — Campo de manifiestos redundantes**

**Para configurar manifiestos redundantes**

1. Consulte al operador del sistema descendente para averiguar si admite manifiestos redundantes.

1. Revise la información de [Campos para el destino de salida – envío a un servidor HTTP](hls-destinations-http.md). Se considera que los manifiestos provienen de. MediaLive Por lo tanto, las reglas generales sobre los destinos de salida se aplican a los manifiestos redundantes.

1. Diseñe el URLs para las dos tuberías. Existen requisitos especiales URLs para los archivos HLS. Lea la sección correspondiente:
   + [Reglas para la mayoría de los sistemas descendentes](hls-redundant-manif-most-systems.md) 
   + [Reglas para Akamai CDNs](hls-redundant-manif-akamai.md)

   Estas reglas complementan la información de [Campos para el destino de salida – envío a un servidor HTTP](hls-destinations-http.md).

1. Si también necesita rutas personalizadas para manifiestos, asegúrese de leer la información de [Cómo funcionan las rutas personalizadas](hls-manifests-how-work.md#hls-custom-manifest-paths). Debe tener en cuenta las reglas de las rutas personalizadas al diseñar el URLs.

1. En la sección **HLS output group (Grupo de salida de HLS)**, en **Manifest and segments (Manifiesto y segmentos)** y en **Redundant manifest (Manifiesto redundante)**, seleccione **ENABLED (HABILITADO)**. Este campo se aplica a todas las salidas del grupo de salida.

1. Complete estos campos siguiendo su diseño:
   + Sección **Grupo de salida – Destino de grupo HLS**
   + Sección **Grupo de salida – Configuración de HLS – CDN**
   + **Grupo de salida – Ubicación – Estructura del directorio **
   + **Grupo de salida – Ubicación – Segmentos por subdirectorio**
   + **Salidas de HLS – Configuración de salida – Modificador de nombre**
   + **Salidas de HLS – Configuración de salida – Modificador de segmento**
   + **Grupo de salida de HLS – Ubicación – Manifiesto de URL base** (si también va a configurar rutas personalizadas)
   + **Grupo de salida de HLS – Ubicación – URL base** (si también va a configurar rutas personalizadas) 

Para obtener información acerca de cómo esta función cambia el contenido de los manifiestos HLS, consulte [El contenido multimedia de un manifiesto HLS](hls-rm-manifests-contents.md).

## Los resultados de esta configuración
<a name="hls-redundant-manif-results"></a>

A continuación se muestra información sobre cómo funcionan los manifiestos redundantes en tres escenarios de error.

### Escenario A: la acción de pérdida de entrada consiste en emitir una salida
<a name="hls-redundant-manif-results-emit"></a>

Si se pierde la entrada en una de las canalizaciones y el [campo de **acción de pérdida de entrada**](hls-other-features.md#hls-resiliency) está establecido en **EMIT\$1OUTPUT**, se seguirán MediaLive actualizando los manifiestos principales y secundarios. 

Desde el punto de vista del sistema descendente, no hay ningún cambio en los manifiestos principal o secundarios de ninguna canalización. El contenido que hay dentro de los archivos multimedia es contenido de relleno, pero eso no afecta a cómo el sistema descendente lee los manifiestos.

### Escenario B: la acción de pérdida de entrada consiste en poner la salida en pausa
<a name="hls-redundant-manif-results-pause"></a>

Si la entrada se pierde en una de las canalizaciones (por ejemplo, en la canalización 0) y el campo de **acción de pérdida de entrada** está establecido en **PAUSE\$1OUTPUT**, hace lo siguiente: MediaLive 
+ Elimina la descripción de los manifiestos secundarios de la canalización 0. 
+ Envía una solicitud a la ubicación del manifiesto secundario de la canalización 0 para eliminar los manifiestos secundarios.

Resultado para el sistema descendente que está leyendo el manifiesto principal de la canalización 0: el sistema ya no encontrará una descripción para los manifiestos secundarios de la canalización 0. El sistema buscará en el manifiesto principal de la canalización 0 un manifiesto secundario alternativo. Si encuentra el manifiesto secundario de la canalización 1, pasará a leer ese manifiesto secundario. 

Los sistemas descendentes que están leyendo el manifiesto principal de la canalización 1 no se ven afectados porque estos sistemas estén, probablemente, leyendo los manifiestos secundarios de la canalización 1 (porque estos aparecen primero en el manifiesto). 

### Escenario C: fallo en la canalización
<a name="hls-redundant-manif-results-pipeline-failure"></a>

También es posible que una canalización falle. Este error no es lo mismo que un error de entrada. Cuando una canalización falla (por ejemplo, la canalización 0), ocurre lo siguiente:
+ La salida se detiene.
+ El manifiesto principal de la canalización 0 no se elimina. Todavía contiene una descripción de los manifiestos secundarios de la canalización 0. 
+ Los manifiestos secundarios no se actualizan porque no se están creando nuevos archivos multimedia. Los manifiestos secundarios están *obsoletos*.
+ El manifiesto principal de la canalización 1 no cambia. Todavía contiene una descripción de los manifiestos secundarios de la canalización 0 (y de la canalización 1).

Resultado para el sistema descendente que está leyendo el manifiesto principal de la canalización 0: el sistema encontrará una descripción para los manifiestos secundarios de la canalización 0, pero ese manifiesto estará obsoleto. Si el sistema puede detectar que el manifiesto está obsoleto, puede volver al manifiesto principal de la canalización 0 y buscar un manifiesto secundario alternativo. Si encuentra el manifiesto secundario de la canalización 1, pasará a leer ese manifiesto secundario. 

Los sistemas descendentes que están leyendo el manifiesto principal de la canalización 1 no se ven afectados. Probablemente, estos sistemas están leyendo los manifiestos secundarios de la canalización 1 (porque estos aparecen primero en el manifiesto).

**nota**  
Si el sistema descendente para la salida HLS lo es AWS Elemental MediaStore, puede configurarlo para eliminar las entradas obsoletas. MediaStore Consulte [Componentes de una política de ciclo de vida de objetos](https://docs.aws.amazon.com/mediastore/latest/ug/policies-object-lifecycle-components.html). Una vez eliminado el manifiesto secundario, MediaStore se vuelve a seguir la lógica de «se ha eliminado el manifiesto» del escenario B.

# El contenido multimedia de un manifiesto HLS
<a name="hls-rm-manifests-contents"></a>

Al configurar manifiestos redundantes en una salida de HLS, MediaLive cambia el contenido del manifiesto. Cambia la información multimedia (la información de vídeo, audio y subtítulos) que hay en los manifiestos. Toda esta información aparece como etiquetas `#EXT-X-STREAM-INF`.

En las siguientes secciones se describe el número de estas etiquetas y el contenido de estas etiquetas en un manifiesto estándar (no redundante) y en un manifiesto redundante.

## Qué aspecto tiene un manifiesto estándar
<a name="hls-redundant-manif-what-standard-like"></a>

Con un canal estándar, hay dos canalizaciones. Cada canalización crea su propio conjunto de manifiestos. Por lo tanto, en la canalización 0, hay un manifiesto principal, un conjunto de manifiestos secundarios y un conjunto de archivos multimedia. Del mismo modo, la canalización 1 tiene el mismo conjunto de archivos. Los manifiestos hacen referencia únicamente a los archivos de su propia canalización.

La información de vídeo del manifiesto principal de cada canalización tendría un aspecto similar a este:

```
#EXT-X-STREAM-INF:BANDWIDTH=629107 ... 
curling-high.m3u8
```

## Qué aspecto tiene un manifiesto redundante
<a name="hls-redundant-manif-what-redundant-like"></a>

Cuando la característica de manifiesto redundante está habilitada, el manifiesto principal hace referencia tanto a sus propios manifiestos secundarios como a los manifiestos secundarios de la otra canalización. 

Esta característica no afecta a los manifiestos secundarios. Los manifiestos secundarios solo hacen referencia a sus propios archivos multimedia.

A continuación se muestra un ejemplo de cómo puede aparecer la información de vídeo en el manifiesto. Suponga que baseFilename de la canalización 0 es *primer\$1curling* y de la canalización 1 es *otro\$1curling*. 

El manifiesto de la canalización 0 podría verse así (la información del manifiesto secundario de la canalización 0 aparece primero):

```
#EXT-X-STREAM-INF:BANDWIDTH=629107 ... 
first-curling-high.m3u8

#EXT-X-STREAM-INF:BANDWIDTH=629107 ... 
other-curling-high.m3u8
```

La información de vídeo del manifiesto de la canalización 1 podría verse así (la información del manifiesto secundario de la canalización 1 aparece primero):

```
#EXT-X-STREAM-INF:BANDWIDTH=629107 ... 
other-curling-high.m3u8

#EXT-X-STREAM-INF:BANDWIDTH=629107 ... 
first-curling-high.m3u8
```

# Reglas para la mayoría de los sistemas descendentes
<a name="hls-redundant-manif-most-systems"></a>

Puede configurar manifiestos redundantes en un grupo de salida MediaLive HLS siempre que el sistema posterior pueda funcionar con reglas específicas. Lea esta sección si está configurando manifiestos redundantes con cualquier sistema descendente excepto Akamai. Si su sistema descendente es una CDN Akamai, consulte [Reglas para Akamai CDNs](hls-redundant-manif-akamai.md).

Debe asegurarse de que el sistema descendente pueda funcionar con las siguientes reglas.
+ MediaLive envía los archivos de ambas canalizaciones a la misma ubicación (). protocol/domain/path 
+ Dado que la ubicación es la misma, los nombres de archivo de base de las canalizaciones deben ser diferentes.
+ Si también está implementando [rutas de manifiesto personalizadas](hls-manifests-how-work.md#hls-custom-manifest-paths), la URL que hay en los manifiestos debe ser idéntica.


|  Campo  |  Regla  | 
| --- | --- | 
|  Protocol/domain/pathparte de los dos destinos URIs (A y B)  |  Debe ser idéntica en ambos campos.  | 
|  Parte del nombre de archivo base de los dos destinos URIs (A y B)  |  Debe ser diferente en cada campo. No *puede* utilizar [identificadores de variables](variable-data-identifiers.md) que incluyan la fecha o la hora.  | 
|  NameModifier para cada salida  |  Solo hay una instancia de este campo. Ambas canalizaciones usan el mismo valor. No *puede* utilizar [identificadores de variables](variable-data-identifiers.md) que incluyan la fecha o la hora.  | 
|  Modificador de segmento  |  Solo hay una instancia de este campo. Ambas canalizaciones usan el mismo valor. *Puede* utilizar [identificadores de variables](variable-data-identifiers.md) que incluyan la fecha o la hora.  | 
| Manifiesto de URL base A y Manifiesto de URL base B  |  Estos campos solo se aplican si también está implementando [rutas de manifiesto personalizadas](hls-manifests-how-work.md#hls-custom-manifest-paths).  Complete ambos campos.  | 
| Contenido de URL base A y Contenido de URL base B  |  Estos campos solo se aplican si también está implementando [rutas de manifiesto personalizadas](hls-manifests-how-work.md#hls-custom-manifest-paths).  Complete ambos campos.   | 

# Reglas para Akamai CDNs
<a name="hls-redundant-manif-akamai"></a>

Puede configurar manifiestos redundantes en un grupo de salida MediaLive HLS siempre que el sistema posterior pueda funcionar con reglas específicas. Lea esta sección si va a configurar manifiestos redundantes con una CDN Akamai. Si su sistema descendente no es una CDN Akamai, consulte [Reglas para la mayoría de los sistemas descendentes](hls-redundant-manif-most-systems.md).

Debe asegurarse de que el sistema descendente pueda funcionar con las siguientes reglas.


|  Campo  |  Regla  | 
| --- | --- | 
|  Protocol/domain/pathparte de los dos destinos URIs (A y B)  | Puede ser diferente o puede ser la misma.  | 
|  BaseFilename parte de los dos destinos URIs (A y B)  |  Puede ser diferente o puede ser la misma. No *puede* utilizar [identificadores de variables](variable-data-identifiers.md) que incluyan la fecha o la hora. La combinación de protocol/domain/path y BaseFileName debe ser única en A y B. Esta regla garantiza que los archivos de salida de las dos canalizaciones no se sobrescriban entre sí.   | 
|  Modificador de nombre  |  Solo hay una instancia de este campo. Ambas canalizaciones usan el mismo valor. No *puede* utilizar [identificadores de variables](variable-data-identifiers.md) que incluyan la fecha o la hora.   | 
|  Modificador de segmento  |  Solo hay una instancia de este campo. Ambas canalizaciones usan el mismo valor.  *Puede* utilizar [identificadores de variables](variable-data-identifiers.md) que incluyan la fecha o la hora.  | 
| Manifiesto de URL base A y Manifiesto de URL base B  |  Estos campos solo se aplican si también está implementando [rutas de manifiesto personalizadas](hls-manifests-how-work.md#hls-custom-manifest-paths). Normalmente, con Akamai CDNs, se implementan rutas de manifiesto personalizadas. Complete ambos campos.  | 
| Contenido de URL base A y Contenido de URL base B  |  Estos campos solo se aplican si también está implementando [rutas de manifiesto personalizadas](hls-manifests-how-work.md#hls-custom-manifest-paths).  Complete ambos campos.   | 

# Combinación de manifiestos redundantes con otras características
<a name="hls-redundant-manif-combine"></a>

## Combinación de manifiestos redundantes y característica de ruta personalizada
<a name="hls-redundant-manif-with-custom-paths"></a>

Al configurar manifiestos redundantes en un grupo de salida MediaLive HLS, también puede configurar rutas personalizadas. Asegúrese de seguir las reglas [para las rutas personalizadas](hls-custom-paths-rules.md) y los manifiestos redundantes para su sistema descendente, ya sea una [CDN de Akamai](hls-redundant-manif-akamai.md) u [otro sistema descendente](hls-redundant-manif-most-systems.md).

## Combinación de manifiestos redundantes con grupos de representación de audio
<a name="hls-redundant-manif-with-args"></a>

**nota**  
En la información que se proporciona en esta sección se presupone que está familiarizado con los manifiestos de los grupos de representación de audio. Para obtener más información, consulte [Manifiesto de muestra](sample-manifest.md).

A continuación, encontrará información sobre el procesamiento que se MediaLive realiza cuando se configuran manifiestos redundantes en un grupo de salida HLS que incluye un grupo de copias de audio.

MediaLive ajusta automáticamente las referencias a los grupos de copias de audio de los manifiestos principales.

En cada par de líneas (por ejemplo, la del `#EXT-X-STREAM-INF` vídeo de alta resolución), MediaLive ajusta el nombre de los grupos de copias. De esta manera, las referencias a los grupos de representación son diferentes para cada canalización, lo que garantiza que cuando el reproductor cliente lea el manifiesto, elija el vídeo y el audio de la misma canalización. 

`#EXT-X-STREAM` para el vídeo de la canalización 0. Anote el valor para *AUDIO*.

```
#EXT-X-STREAM-INF:BANDWIDTH=541107,...AUDIO="aac-audio-0", ... 
```

 `#EXT-X-STREAM` para el vídeo de la canalización 1. Anote el valor para *AUDIO*.

```
#EXT-X-STREAM-INF:BANDWIDTH =541107, ...AUDIO="aac-audio-1",... 
```