

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Redundante HLS-Manifeste erstellen
<a name="hls-redundant-manifests"></a>

Wenn Sie eine HLS-Ausgabegruppe in einem MediaLive Standardkanal erstellen, können Sie redundante Manifeste aktivieren. Redundante Manifeste ermöglichen dem nachgelagerten System (das die Manifeste liest), mit einem Ausgabefehler von MediaLive besser umzugehen.

Wenn die Funktion „Redundantes Manifest“ aktiviert ist, verweist das Hauptmanifest für jede Pipeline sowohl auf ihre eigenen untergeordneten Manifeste als auch auf die untergeordneten Manifeste für die andere Pipeline. Das nachgelagerte System findet den Pfad zu den untergeordneten Manifesten für eine Pipeline. Tritt ein Problem bei dieser Pipeline auf, dann ergibt sich daraus auch ein Problem bei den für diese Pipeline untergeordneten Manifesten. Das nachgelagerte System kann dann auf das Hauptmanifest zurückgreifen, um das untergeordnete Manifest für die andere Pipeline zu finden. Auf diese Weise kann das nachgelagerte System stets mit der Verarbeitung des Manifests und der Medien fortfahren.

Um redundante Manifeste erfolgreich implementieren zu können, müssen Sie sicherstellen, dass das nachgelagerte System redundante Manifeste auf die in der HLS-Spezifikation beschriebene Weise behandeln kann.

**Anmerkung**  
Bei den Informationen in diesem Abschnitt zu HLS-Manifesten wird davon ausgegangen, dass Sie mit den allgemeinen Schritten zum Erstellen eines Kanals, wie in [Erstellen eines Channels von Grund auf](creating-channel-scratch.md) beschrieben, vertraut sind.   
Die Schlüsselfelder in der Konsole, die sich auf diese Funktion beziehen, befinden sich im Abschnitt **Manifeste und Segment**-Gruppierung des Abschnitts **HLS-Ausgabegruppe** auf der Seite **Kanal erstellen**. Informationen zum Überprüfen des Schritts, bei dem Sie diese Felder ausfüllen, finden Sie im [Verfahren](creating-hls-output-group.md#hls-create-procedure).

**Topics**
+ [Verfahren zum Einrichten redundanter Manifeste](hls-rm-procedure.md)
+ [Medieninhalte eines HLS-Manifests](hls-rm-manifests-contents.md)
+ [Regeln für die meisten nachgelagerten Systeme](hls-redundant-manif-most-systems.md)
+ [Regeln für Akamai CDNs](hls-redundant-manif-akamai.md)
+ [Kombinieren redundanter Manifeste mit anderen Funktionen](hls-redundant-manif-combine.md)

# Verfahren zum Einrichten redundanter Manifeste
<a name="hls-rm-procedure"></a>

Die Einrichtung redundanter Manifeste in MediaLive HLS-Ausgaben besteht aus zwei Teilen. Sie müssen die Funktion in der Ausgabegruppe aktivieren. Sie müssen auch Anpassungen am Design der Ausgabenamen und Zielpfade vornehmen (im Vergleich zu HLS-Ausgaben, die keine redundanten Manifeste implementieren).

Das folgende Feld bezieht sich speziell auf redundante Manifeste:
+ Feld **HLS output group – Manifests and Segments – Redundant manifests (HLS-Ausgabegruppe – Manifeste und Segmente – Redundante Manifeste)**

**So richten Sie redundante Manifeste ein**

1. Sprechen Sie mit dem Betreiber des nachgeschalteten Systems, um herauszufinden, ob dieser redundante Manifeste unterstützt.

1. Lesen Sie die Informationen in [Felder für das Ausgabeziel — Senden an einen HTTP-Server](hls-destinations-http.md). Manifeste gelten als Ausgabe von MediaLive. Daher gelten die allgemeinen Regeln über Ausgabeziele für redundante Manifeste.

1. Entwerfen Sie die URLs für die beiden Rohrleitungen. Für die HLS-Dateien URLs gelten besondere Anforderungen. Lesen Sie den entsprechenden Abschnitt:
   + [Regeln für die meisten nachgelagerten Systeme](hls-redundant-manif-most-systems.md) 
   + [Regeln für Akamai CDNs](hls-redundant-manif-akamai.md)

   Diese Regeln ergänzen die Informationen in [Felder für das Ausgabeziel — Senden an einen HTTP-Server](hls-destinations-http.md).

1. Wenn Sie auch benutzerdefinierte Pfade für Manifeste benötigen, sollten Sie unbedingt die Informationen in [Funktionsweise von benutzerdefinierten Pfaden](hls-manifests-how-work.md#hls-custom-manifest-paths) lesen. Beim Entwerfen von müssen Sie die Regeln für benutzerdefinierte Pfade berücksichtigen. URLs

1. Wählen Sie im Abschnitt **HLS output group (HLS-Ausgabegruppe)** für **Manifest and segments (Manifest und Segmente)** und für **Redundant manifest (Redundantes Manifest)** die Option **ENABLED (AKTIVIERT)**. Dieses Feld gilt für alle Ausgaben in der Ausgabegruppe.

1. Füllen Sie diese Felder entsprechend Ihrer Planung aus:
   + Abschnitt **Output group – HLS group destination (Ausgabegruppe – HLS-Gruppenziel)**
   + Abschnitt **Output group – HLS settings – CDN (Ausgabegruppe – HLS-Einstellungen – CDN)**
   + **Output group – Location – Directory structure (Ausgabegruppe – Speicherort – Verzeichnisstruktur) **
   + **Output group – Location – Segments per subdirectory (Ausgabegruppe – Speicherort – Segmente pro Unterverzeichnis)**
   + **HLS-Ausgaben — Ausgabeeinstellungen — Modifikator „Name“**
   + **HLS-Ausgaben — Ausgabeeinstellungen — Segmentmodifikator**
   + **HLS-Ausgabegruppe — Standort — Basis-URL-Manifest** (wenn Sie auch benutzerdefinierte Pfade einrichten)
   + **HLS-Ausgabegruppe — Speicherort — Basis-URL-Inhalt** (wenn Sie auch benutzerdefinierte Pfade einrichten) 

Informationen darüber, wie mit dieser Funktion der Inhalt der HLS-Manifeste verändert wird, finden Sie unter [Medieninhalte eines HLS-Manifests](hls-rm-manifests-contents.md).

## Ergebnisse dieser Einrichtung
<a name="hls-redundant-manif-results"></a>

Im Folgenden finden Sie Informationen darüber, wie redundante Manifeste in drei Ausfallszenarien funktionieren.

### Szenario A — Die Aktion zum Verlust der Eingabe besteht darin, eine Ausgabe auszugeben
<a name="hls-redundant-manif-results-emit"></a>

Wenn die Eingabe auf einer der Pipelines verloren geht und das [Feld „**Aktion beim Eingabeverlust**](hls-other-features.md#hls-resiliency)“ auf **EMIT\$1OUTPUT** gesetzt ist, werden die übergeordneten und untergeordneten Manifeste MediaLive weiter aktualisiert. 

Aus Sicht des Downstream-Systems gibt es für keine der Pipelines Änderungen an den übergeordneten oder untergeordneten Manifesten. Der Inhalt innerhalb der Mediendateien ist Füllinhalt, aber dies hat keinen Einfluss darauf, wie die Manifeste vom nachgelagerten System gelesen werden.

### Szenario B — Die Aktion „Eingangsverlust“ besteht darin, die Ausgabe anzuhalten
<a name="hls-redundant-manif-results-pause"></a>

Wenn die Eingabe in einer der Pipelines verloren geht (z. B. in Pipeline 0) und das Feld für die **Aktion zum Eingabeverlust** auf **PAUSE\$1OUTPUT** gesetzt ist, MediaLive wird wie folgt vorgegangen:
+ Es wird die Auflistung für die untergeordneten Manifeste für Pipeline 0 entfernt. 
+ Es wird eine Anforderung an den untergeordneten Manifest-Speicherort für Pipeline 0 gesendet, um die untergeordneten Manifeste zu löschen.

Ergebnis für das nachgelagerte System, das das Hauptmanifest auf Pipeline 0 liest: Das System findet für Pipeline 0 keine Auflistung mehr für die untergeordneten Manifeste. Das System sucht dann im Hauptmanifest der Pipeline 0 nach einem alternativen untergeordneten Manifest. Wenn es das untergeordnete Manifest für Pipeline 1 findet, wechselt es auf das Lesen dieses untergeordneten Manifests. 

Nachgelagerte Systeme, die das Hauptmanifest für Pipeline 1 lesen, sind nicht betroffen, da diese Systeme wahrscheinlich die untergeordneten Manifeste für Pipeline 1 lesen (da diese im Manifest zuerst angezeigt werden). 

### Szenario C — Pipelineausfall
<a name="hls-redundant-manif-results-pipeline-failure"></a>

Es ist auch möglich, dass eine Pipeline ausfällt. Dieser Ausfall ist nicht mit einem Eingabefehler zu vergleichen. Wenn eine Pipeline ausfällt (z. B. Pipeline 0), geschieht Folgendes:
+ Die Ausgabe wird beendet.
+ Das Hauptmanifest für Pipeline 0 wird nicht gelöscht. Es enthält weiterhin eine Auflistung für die untergeordneten Manifeste für die Pipeline 0. 
+ Die untergeordneten Manifeste werden nicht aktualisiert, da keine neuen Mediendateien erstellt werden. Die untergeordneten Manifeste sind *veraltet*.
+ Das Hauptmanifest für Pipeline 1 ändert sich nicht. Es enthält weiterhin eine Auflistung für die untergeordneten Manifeste für Pipeline 0 (und für Pipeline 1).

Ergebnis für das nachgelagerte System, das das Hauptmanifest für die Pipeline 0 liest: Das System findet zwar eine Auflistung für die untergeordneten Manifeste für die Pipeline 0, dieses Manifest ist jedoch veraltet. Wenn das System feststellen kann, dass das Manifest veraltet ist, kann es zum Hauptmanifest der Pipeline 0 zurückkehren und nach einem alternativen untergeordneten Manifest suchen. Wenn es das untergeordnete Manifest für Pipeline 1 findet, wechselt es auf das Lesen dieses untergeordneten Manifests. 

Nachgelagerte Systeme, die das Hauptmanifest für Pipeline 1 lesen, sind nicht betroffen. Diese Systeme lesen wahrscheinlich die untergeordneten Manifeste für Pipeline 1 (da diese im Manifest zuerst angezeigt werden).

**Anmerkung**  
Wenn das Downstream-System für die HLS-Ausgabe ist AWS Elemental MediaStore, können Sie einrichten, dass veraltete MediaStore Eingaben gelöscht werden. Siehe [Komponenten einer Objektlebenszyklus-Richtlinie](https://docs.aws.amazon.com/mediastore/latest/ug/policies-object-lifecycle-components.html). Nachdem das untergeordnete Manifest gelöscht wurde, MediaStore wird auf die Logik „Manifest wurde gelöscht“ von Szenario B zurückgegriffen.

# Medieninhalte eines HLS-Manifests
<a name="hls-rm-manifests-contents"></a>

Wenn Sie redundante Manifeste in einer HLS-Ausgabe einrichten, MediaLive ändert sich der Inhalt des Manifests. Es werden die Medieninformationen (Video-, Audio- und Untertitelinformationen) innerhalb der Manifeste verändert. Alle diese Informationen werden als `#EXT-X-STREAM-INF`-Tags angezeigt.

In den folgenden Abschnitten werden die Anzahl dieser Tags und die Inhalte dieser Tags in einem Standardmanifest (nicht in einem redundanten Manifest) und in einem redundanten Manifest beschrieben.

## Aussehen eines Standardmanifests
<a name="hls-redundant-manif-what-standard-like"></a>

Bei einem Standardkanal gibt es zwei Pipelines. Jede Pipeline erstellt ihren eigenen Satz von Manifesten. Daher gibt es für die Pipeline 0 ein Hauptmanifest, einen Satz von untergeordneten Manifesten und einen Satz von Mediendateien. Pipeline 1 weist auf ähnliche Weise den gleichen Satz von Dateien auf. Die Manifeste verweisen nur auf die Dateien für ihre eigene Pipeline.

Die Videoinformationen im Hauptmanifest für jede Pipeline könnten wie folgt aussehen:

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

## Aussehen eines redundanten Manifests
<a name="hls-redundant-manif-what-redundant-like"></a>

Wenn die Funktion „Redundantes Manifest“ aktiviert ist, verweist jedes Hauptmanifest auf die untergeordneten Manifeste für seine eigene Pipeline und für die andere Pipeline. 

Diese Funktion hat keine Auswirkungen auf untergeordnete Manifeste. Untergeordnete Manifeste verweisen nur auf ihre eigenen Mediendateien.

Es folgt ein Beispiel dafür, wie die Videoinformationen im Manifest aussehen könnten. *Gehen Sie davon aus, dass der BaseFileName für Pipeline 0 *First-Curling* und für Pipeline 1 Other-Curling lautet.* 

Das Manifest für Pipeline 0 könnte wie folgt aussehen (wobei die untergeordneten Manifestinformationen für Pipeline 0 zuerst angezeigt werden):

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

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

Die Videoinformationen im Manifest für Pipeline 1 könnten wie folgt aussehen (wobei die untergeordneten Manifestinformationen für Pipeline 1 zuerst angezeigt werden):

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

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

# Regeln für die meisten nachgelagerten Systeme
<a name="hls-redundant-manif-most-systems"></a>

Sie können redundante Manifeste in einer MediaLive HLS-Ausgabegruppe einrichten, solange das Downstream-System mit bestimmten Regeln arbeiten kann. Lesen Sie diesen Abschnitt, wenn Sie redundante Manifeste mit einem nachgelagerten System außer Akamai einrichten. Wenn es sich bei Ihrem nachgelagerten System um ein Akamai CDN handelt, finden Sie weitere Informationen unter [Regeln für Akamai CDNs](hls-redundant-manif-akamai.md).

Sie müssen sicherstellen, dass das Downstream-System mit den folgenden Regeln arbeiten kann.
+ MediaLive verschiebt die Dateien aus beiden Pipelines an denselben Speicherort ()protocol/domain/path. 
+ Da der Speicherort derselbe ist, müssen die Basisdateinamen für die Pipelines unterschiedlich sein.
+ Wenn Sie auch [benutzerdefinierte Manifestpfade](hls-manifests-how-work.md#hls-custom-manifest-paths) implementieren, muss die URL innerhalb der Manifeste identisch sein.


|  Feld  |  Regel  | 
| --- | --- | 
|  Protocol/domain/pathTeil der beiden Ziele URIs (A und B)  |  Muss in beiden Feldern identisch sein.  | 
|  Teil des Basisdateinamens der beiden Ziele URIs (A und B)  |  Muss in jedem Feld unterschiedlich sein. Es *können keine* [Variablenbezeichner](variable-data-identifiers.md) verwendet werden, in denen das Datum oder die Uhrzeit enthalten ist.  | 
|  NameModifier für jede Ausgabe  |  Dieses Feld existiert nur einmal. Beide Pipelines verwenden denselben Wert. Es *können keine* [Variablenbezeichner](variable-data-identifiers.md) verwendet werden, in denen das Datum oder die Uhrzeit enthalten ist.  | 
|  Segmentmodifikator  |  Dieses Feld existiert nur einmal. Beide Pipelines verwenden denselben Wert. Es *können* [Variablenbezeichner](variable-data-identifiers.md) verwendet werden, in denen das Datum oder die Uhrzeit enthalten ist.  | 
| Basis-URL-Manifest A und Basis-URL-Manifest B  |  Diese Felder gelten nur, wenn Sie auch [benutzerdefinierte Manifestpfade](hls-manifests-how-work.md#hls-custom-manifest-paths)implementieren.  Füllen Sie beide Felder aus.  | 
| Basis-URL-Inhalt A und Basis-URL-Inhalt B  |  Diese Felder gelten nur, wenn Sie auch [benutzerdefinierte Manifestpfade](hls-manifests-how-work.md#hls-custom-manifest-paths)implementieren.  Füllen Sie beide Felder aus.   | 

# Regeln für Akamai CDNs
<a name="hls-redundant-manif-akamai"></a>

Sie können redundante Manifeste in einer MediaLive HLS-Ausgabegruppe einrichten, sofern das Downstream-System mit bestimmten Regeln arbeiten kann. Lesen Sie diesen Abschnitt, wenn Sie redundante Manifeste mit einem Akamai-CDN einrichten. Wenn Ihr nachgelagertes System kein Akamai CDN ist, finden Sie weitere Informationen unter [Regeln für die meisten nachgelagerten Systeme](hls-redundant-manif-most-systems.md).

Sie müssen sicherstellen, dass das Downstream-System mit den folgenden Regeln arbeiten kann.


|  Feld  |  Regel  | 
| --- | --- | 
|  Protocol/domain/pathTeil der beiden Ziele URIs (A und B)  | Können sich voneinander unterscheiden oder gleich sein.  | 
|  BaseFilename Teil der beiden Ziele URIs (A und B)  |  Können sich voneinander unterscheiden oder gleich sein. Es *können keine* [Variablenbezeichner](variable-data-identifiers.md) verwendet werden, in denen das Datum oder die Uhrzeit enthalten ist. Die Kombination von protocol/domain/path und BaseFileName muss in A und B eindeutig sein. Diese Regel stellt sicher, dass sich die Ausgabedateien der beiden Pipelines nicht gegenseitig überschreiben.   | 
|  Namensmodifikator  |  Dieses Feld existiert nur einmal. Beide Pipelines verwenden denselben Wert. Es *können keine* [Variablenbezeichner](variable-data-identifiers.md) verwendet werden, in denen das Datum oder die Uhrzeit enthalten ist.   | 
|  Segmentmodifikator  |  Dieses Feld existiert nur einmal. Beide Pipelines verwenden denselben Wert.  Es *können* [Variablenbezeichner](variable-data-identifiers.md) verwendet werden, in denen das Datum oder die Uhrzeit enthalten ist.  | 
| Basis-URL-Manifest A und Basis-URL-Manifest B  |  Diese Felder gelten nur, wenn Sie auch [benutzerdefinierte Manifestpfade](hls-manifests-how-work.md#hls-custom-manifest-paths)implementieren. In der Regel implementieren Sie mit Akamai benutzerdefinierte CDNs Manifestpfade. Füllen Sie beide Felder aus.  | 
| Basis-URL-Inhalt A und Basis-URL-Inhalt B  |  Diese Felder gelten nur, wenn Sie auch [benutzerdefinierte Manifestpfade](hls-manifests-how-work.md#hls-custom-manifest-paths)implementieren.  Füllen Sie beide Felder aus.   | 

# Kombinieren redundanter Manifeste mit anderen Funktionen
<a name="hls-redundant-manif-combine"></a>

## Kombinieren redundanter Manifeste und benutzerdefinierte Pfadfunktion
<a name="hls-redundant-manif-with-custom-paths"></a>

Wenn Sie redundante Manifeste in einer MediaLive HLS-Ausgabegruppe einrichten, können Sie auch benutzerdefinierte Pfade einrichten. [Stellen Sie sicher, dass Sie die Regeln [für benutzerdefinierte Pfade und für](hls-custom-paths-rules.md) redundante Manifeste für Ihr Downstream-System befolgen — entweder ein [Akamai-CDN oder ein anderes](hls-redundant-manif-akamai.md) Downstream-System.](hls-redundant-manif-most-systems.md)

## Kombinieren redundanter Manifeste mit Audio-Wiedergabegruppen
<a name="hls-redundant-manif-with-args"></a>

**Anmerkung**  
Die Informationen in diesem Abschnitt setzen voraus, dass Sie mit den Manifesten für Audio-Wiedergabegruppen vertraut sind. Weitere Informationen finden Sie unter [Beispiel für ein Manifest](sample-manifest.md).

Im Folgenden finden Sie Informationen zur Verarbeitung, die ausgeführt wird, MediaLive wenn Sie redundante Manifeste in einer HLS-Ausgabegruppe einrichten, die eine Audio-Wiedergabegruppe umfasst.

MediaLive passt automatisch die Verweise auf die Audio-Wiedergabegruppen in den übergeordneten Manifesten an.

 MediaLive Passt in jedem Zeilenpaar (z. B. `#EXT-X-STREAM-INF` für das Video mit hoher Auflösung) die Namen der Wiedergabegruppen an. Auf diese Weise sind die Verweise auf die Wiedergabegruppen für jede Pipeline unterschiedlich. Dadurch wird sichergestellt, dass der Client-Player, wenn er das Manifest liest, das Video und das Audio aus derselben Pipeline auswählt. 

Der `#EXT-X-STREAM` für das Video für Pipeline 0. Achten Sie auf den Wert für *AUDIO*:

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

 Der `#EXT-X-STREAM` für das Video für Pipeline 1. Achten Sie auf den Wert für *AUDIO*:

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