

# Aufzeichnung einzelner IVS-Teilnehmer \$1 Echtzeit-Streaming
<a name="rt-individual-participant-recording"></a>

In diesem Dokument wird erklärt, wie Sie die Aufzeichnung einzelner Teilnehmer mit IVS-Streaming in Echtzeit verwenden können.

Es fallen standardmäßige S3-Speicher- und Anforderungskosten an. Für Thumbnails fallen keine zusätzlichen IVS-Gebühren an. Details finden Sie unter [Preise für Amazon IVS](https://aws.amazon.com/ivs/pricing/).

## Einführung
<a name="ind-part-rec-introduction"></a>

Die Aufzeichnung einzelner Teilnehmer ermöglicht es IVS-Echtzeit-Streaming-Kunden, IVS-Stage-Publisher einzeln in S3-Buckets aufzuzeichnen. Wenn die Aufzeichnung einzelner Teilnehmer für eine Stage aktiviert ist, werden Publisher-Inhalte aufgezeichnet, sobald sie mit der Veröffentlichung für die Stage beginnen.

**Hinweis:** Wenn Sie alle Teilnehmer der Stage in einem einzigen Video mischen möchten, ist das Feature für zusammengesetzte Aufzeichnung besser geeignet. Eine Zusammenfassung der Aufzeichnung von IVS-Echtzeit-Streaming-Inhalten finden Sie unter [Aufzeichnung](rt-recording.md).

![\[Aufzeichnen der Medien jedes Publishers in einer separaten Datei unter Verwendung der Aufzeichnung einzelner Teilnehmer\]](http://docs.aws.amazon.com/de_de/ivs/latest/RealTimeUserGuide/images/Individual_Participant_Recording.png)


## Workflow
<a name="ind-part-rec-workflow"></a>

![\[Workflow für das Aufzeichnen der Medien jedes Publishers in einer separaten Datei unter Verwendung der Aufzeichnung einzelner Teilnehmer\]](http://docs.aws.amazon.com/de_de/ivs/latest/RealTimeUserGuide/images/Workflow_Participant_Recording.png)


### 1. Erstellen eines S3-Bucket
<a name="ind-part-rec-create-s3-bucket"></a>

Es muss ein S3-Bucket vorhanden sein, um VODs zu schreiben. Einzelheiten finden Sie in der S3-Dokumentation zum [Erstellen von Buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-bucket.html). Beachten Sie, dass für die Aufzeichnung einzelner Teilnehmer die S3-Buckets in derselben AWS-Region wie die IVS-Stage erstellt werden müssen.

**Wichtig**: Wenn Sie einen vorhandenen S3-Bucket nutzen, ist Folgendes zu berücksichtigen:
+ Für die Einstellung **Objekteigentümerschaft** muss entweder **Bucket-Eigentümer erzwungen** oder **Bucket-Eigentümer bevorzugt** aktiviert sein.
+ Die **Standardverschlüsselung** muss **Serverseitige Verschlüsselung mit von Amazon S3 verwalteten Schlüsseln (SSE-S3)** sein.

Einzelheiten finden Sie in der S3-Dokumentation zum [Steuern der Eigentümerschaft von Objekten](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) und zum [Datenschutz durch Verschlüsselung](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingEncryption.html).

### 2. Erstellen eines StorageConfiguration-Objekts
<a name="ind-part-rec-create-storageconfig-object"></a>

Rufen Sie nach dem Erstellen eines Buckets die IVS-Echtzeit-Streaming-API auf, um [ein StorageConfiguration-Objekt zu erstellen](https://docs.aws.amazon.com//ivs/latest/RealTimeAPIReference/API_CreateStorageConfiguration.html). Sobald die Speicherkonfiguration erfolgreich erstellt wurde, hat IVS die Berechtigung, in den bereitgestellten S3-Bucket zu schreiben. Sie können dieses StorageConfiguration-Objekt für mehrere Stages wiederverwenden.

### 3. Erstellen einer Stage mit Teilnehmer-Token
<a name="ind-part-rec-create-stage-with-part-tokens"></a>

Jetzt müssen Sie [eine IVS-Stage erstellen](https://docs.aws.amazon.com//ivs/latest/RealTimeAPIReference/API_CreateStage.html), für welche die Aufzeichnung einzelner Teilnehmer aktiviert ist (indem Sie das AutoParticipantRecordingConfiguration-Objekt festlegen), sowie Teilnehmer-Token für jeden Publisher erstellen.

Mit der folgenden Anforderung wird eine Stage mit zwei Teilnehmer-Token und aktivierter Aufzeichnung einzelner Teilnehmer erstellt.

```
POST /CreateStage HTTP/1.1
Content-type: application/json

{
   "autoParticipantRecordingConfiguration": { 
      "mediaTypes": ["AUDIO_VIDEO"],
      "storageConfigurationArn": "arn:aws:ivs:us-west-2:123456789012:storage-configuration/AbCdef1G2hij",
      "thumbnailConfiguration": {
         "recordingMode": "INTERVAL",
         "storage": ["LATEST", "SEQUENTIAL"],
         "targetIntervalSeconds": 60
      }
   },
   "name": "TestStage",
   "participantTokenConfigurations": [ 
      { 
         "capabilities": ["PUBLISH", "SUBSCRIBE"],
         "duration": 20160,
         "userId": "1"
      },
      { 
         "capabilities": ["PUBLISH", "SUBSCRIBE"],
         "duration": 20160,
         "userId": "2"
      }
   ]
}
```

### 4. Beitritt zur Stage als aktiver Publisher
<a name="ind-part-rec-join-stage-as-active-pub"></a>

Verteilen Sie die Teilnehmer-Token an Ihre Publisher und lassen Sie sie der Stage beitreten und mit der [Veröffentlichung](https://docs.aws.amazon.com//ivs/latest/RealTimeUserGuide/getting-started-pub-sub.html) dafür beginnen.

Wenn sie der Stage beitreten und mithilfe eines der [Broadcast-SDKs für Echtzeit-Streaming von IVS](https://docs.aws.amazon.com//ivs/latest/RealTimeUserGuide/broadcast.html) beginnen, auf ihr zu veröffentlichen, startet der Aufzeichnungsvorgang für die Teilnehmer automatisch und sendet Ihnen ein [EventBridge-Ereignis](eventbridge.md), das angibt, dass die Aufzeichnung gestartet wurde. (Das Ereignis lautet „Statusänderung der IVS-Teilnehmeraufzeichnung – Aufzeichnungsstart“.) Gleichzeitig beginnt der Prozess der Teilnehmeraufzeichnung mit dem Schreiben der VOD- und Metadatendateien in den konfigurierten S3-Bucket. Hinweis: Es kann nicht garantiert werden, dass Teilnehmer, die über einen extrem kurzen Zeitraum (weniger als 5 Sekunden) miteinander verbunden sind, aufgezeichnet werden.

Es gibt zwei Möglichkeiten, das S3-Präfix für jede Aufzeichnung zu erhalten:
+ Hören Sie das EventBridge-Ereignis ab:

  ```
  {
     "version": "0",
     "id": "12345678-1a23-4567-a1bc-1a2b34567890",
     "detail-type": "IVS Participant Recording State Change",
     "source": "aws.ivs",
     "account": "123456789012",
     "time": "2024-03-13T22:19:04Z",
     "region": "us-east-1",
     "resources": ["arn:aws:ivs:us-west-2:123456789012:stage/AbCdef1G2hij"],
     "detail": {
        "session_id": "st-ZyXwvu1T2s",
        "event_name": "Recording Start",
        "participant_id": "xYz1c2d3e4f",
        "recording_s3_bucket_name": "ivs-recordings",
        "recording_s3_key_prefix": "<stage_id>/<session_id>/<participant_id>/2024-01-01T12-00-55Z"
     }
  }
  ```
+ Verwenden Sie den API-Vorgang [GetParticipant](https://docs.aws.amazon.com//ivs/latest/RealTimeAPIReference/API_GetParticipant.html) – die Antwort enthält den S3-Bucket und das Präfix für den Ort, an dem ein Teilnehmer aufgezeichnet wird. Hier ist die Anforderung:

  ```
  POST /GetParticipant HTTP/1.1
  Content-type: application/json
  {
     "participantID": "xYz1c2d3e4f",
     "sessionId": "st-ZyXwvu1T2s",
     "stageArn": "arn:aws:ivs:us-west-2:123456789012:stage/AbCdef1G2hij"
  }
  ```

  Und hier ist die Antwort:

  ```
  Content-type: application/json
  {
     "participant": {
        ...
        "recordingS3BucketName": "ivs-recordings",
        "recordingS3Prefix": "<stage_id>/<session_id>/<participant_id>",
        "recordingState": "ACTIVE",
        ...
     }
  }
  ```

### 5. Wiedergabe des VOD
<a name="ind-part-rec-play-back-vod"></a>

Nachdem die Aufzeichnung abgeschlossen ist, können Sie sie mit dem [IVS-Player](https://debug.ivsdemos.com/?p=ivs) ansehen. Anweisungen zum Einrichten von CloudFront-Distributionen für die VOD-Wiedergabe finden Sie unter [Wiedergabe von aufgezeichneten Inhalten aus privaten Buckets](https://docs.aws.amazon.com//ivs/latest/RealTimeUserGuide/rt-composite-recording.html#comp-rec-playback).

## Nur Audioaufzeichnung
<a name="ind-part-rec-audio-only-recordings"></a>

Wenn Sie die Aufzeichnung für einzelne Teilnehmer einrichten, können Sie festlegen, dass nur Audio-HLS-Segmente in Ihren S3-Bucket geschrieben werden. Um dieses Feature zu verwenden, wählen Sie bei der Erstellung der Stage `AUDIO_ONLY mediaType` aus:

```
POST /CreateStage HTTP/1.1
Content-type: application/json

{
   "autoParticipantRecordingConfiguration": { 
      "storageConfigurationArn": "arn:aws:ivs:us-west-2:123456789012:storage-configuration/AbCdef1G2hij",
      "mediaTypes": ["AUDIO_ONLY"],
      "thumbnailConfiguration": {
         "recordingMode": "DISABLED"
      }
   },
   "name": "TestStage",
   "participantTokenConfigurations": [ 
      { 
         "capabilities": ["PUBLISH", "SUBSCRIBE"],
         "duration": 20160,
         "userId": "1"
      },
      { 
         "capabilities": ["PUBLISH", "SUBSCRIBE"],
         "duration": 20160,
         "userId": "2"
      }
   ]
}
```

## Nur Thumbnail-Aufzeichnung
<a name="ind-part-rec-recording-thumbnail-only"></a>

Wenn Sie die Aufzeichnung für einzelne Teilnehmer einrichten, können Sie festlegen, dass nur Thumbnails in Ihren S3-Bucket geschrieben werden. Um dieses Feature zu verwenden, legen Sie beim Erstellen der Stage für `mediaType` `NONE` fest. Dadurch wird sichergestellt, dass keine HLS-Segmente generiert werden. Thumbnails werden trotzdem erstellt und in Ihren S3-Bucket geschrieben.

```
POST /CreateStage HTTP/1.1
Content-type: application/json
{
   "autoParticipantRecordingConfiguration": { 
      "storageConfigurationArn": "arn:aws:ivs:us-west-2:123456789012:storage-configuration/AbCdef1G2hij",
      "mediaTypes": ["NONE"],
      "thumbnailConfiguration": {
         "recordingMode": "INTERVAL",
         "storage": ["LATEST", "SEQUENTIAL"],
         "targetIntervalSeconds": 60
      }
   },
   "name": "TestStage",
   "participantTokenConfigurations": [ 
      { 
         "capabilities": ["PUBLISH", "SUBSCRIBE"],
         "duration": 20160,
         "userId": "1"
      },
      { 
         "capabilities": ["PUBLISH", "SUBSCRIBE"],
         "duration": 20160,
         "userId": "2"
      }
   ]
}
```

## Inhalte der Aufnahme
<a name="ind-part-rec-recording-contents"></a>

Wenn die Aufzeichnung einzelner Teilnehmer aktiv ist, werden HLS-Videosegmente und Thumbnails in den S3-Bucket geschrieben, der bei der Erstellung der Stage bereitgestellt wurde. Dieser Inhalt ist für die Nachbearbeitung oder Wiedergabe als On-Demand-Video verfügbar.

Beachten Sie, dass nach Abschluss einer Aufzeichnung das Ereignis „Statusänderung der IVS-Teilnehmeraufzeichnung – Aufzeichnungsende“ über EventBridge gesendet wird. Es wird empfohlen, aufgezeichnete Streams erst wiederzugeben oder zu verarbeiten, nachdem dieses Ereignis empfangen wurde. Einzelheiten finden Sie unter [Verwenden von EventBridge mit IVS-Echtzeit-Streaming](eventbridge.md).

Nachfolgend finden Sie eine Beispielverzeichnisstruktur und den Inhalt einer Aufzeichnung einer Live-IVS-Sitzung:

```
s3://mybucket/stageId/stageSessionId/participantId/timestamp
   events
      recording-started.json
      recording-ended.json
   media
      hls
	 multivariant.m3u8
         high
            playlist.m3u8
            1.mp4
      thumbnails
         high
            1.jpg
            2.jpg
      latest_thumbnail
         high
            thumb.jpg
```

Der Ordner `events` enthält die Metadatendateien, die dem Aufzeichnungsereignis entsprechen. JSON-Metadatendateien werden generiert, wenn die Aufzeichnung gestartet, erfolgreich beendet oder mit Fehlern beendet wird:
+ `events/recording-started.json`
+ `events/recording-ended.json`
+ `events/recording-failed.json`

Ein angegebener `events`-Ordner enthält `recording-started.json` und entweder `recording-ended.json` oder `recording-failed.json`. Diese enthalten Metadaten, die sich auf die aufgezeichnete Sitzung und ihre Ausgabeformate beziehen. JSON-Details sind unten angegeben.

Der Ordner `media` enthält die unterstützten Medieninhalte. Der Unterordner `hls` enthält alle Medien und Manifestdateien, die während der Aufzeichnungssitzung generiert wurden, und kann mit dem IVS-Player abgespielt werden. Falls konfiguriert, enthalten die Ordner `thumbnails` und die Unterordner `latest_thumbnail` JPEG-Thumbnail-Mediendateien, die während der Aufzeichnungssitzung generiert wurden.

## Zusammenführen fragmentierter Aufzeichnungen einzelner Teilnehmer
<a name="ind-part-rec-merge-frag"></a>

Mit der Eigenschaft `recordingReconnectWindowSeconds` einer Aufzeichnungskonfiguration können Sie ein Zeitfenster (in Sekunden) angeben, in dem IVS versucht, im selben S3-Präfix wie bei der vorherigen Sitzung aufzuzeichnen, wenn ein Stage-Publisher die Verbindung zu einer Stage trennt und dann wieder herstellt. Mit anderen Worten: Wenn ein Publisher die Verbindung trennt und dann innerhalb des angegebenen Intervalls wieder herstellt, werden die einzelnen Aufzeichnungen als eine einzige Aufzeichnung betrachtet und zusammengeführt.

Wenn die Aufzeichnung von Miniaturansichten im Modus `SEQUENTIAL` aktiviert ist, werden die Miniaturansichten ebenfalls unter demselben `recordingS3Prefix` zusammengeführt. Beim Zusammenführen der Aufzeichnungen beginnt der Miniaturansichtenzähler wieder bei dem Wert, der für die vorherige Aufzeichnung geschrieben wurde.

**Ereignisse zur Änderung des IVS-Aufzeichnungsstatus in Amazon EventBridge:** Aufzeichnungsende-Ereignisse und entsprechende JSON-Metadatendateien werden um mindestens `recordingReconnectWindowSeconds` verzögert, da Amazon IVS wartet, damit kein neuer Stream gestartet wird.

Eine Anleitung zum Einrichten der Funktionalität zum Zusammenführen von Streams finden Sie in [Schritt 2: Erstellen einer Stage mit optionaler Teilnehmeraufzeichnung](getting-started-create-stage.md) unter *Erste Schritte mit Amazon-IVS-Streaming in Echtzeit*.

### Berechtigung
<a name="ind-part-rec-merge-frag-eligibility"></a>

Damit mehrere Aufzeichnungen mit demselben S3-Präfix zusammengeführt werden können, müssen für alle Aufzeichnungen bestimmte Bedingungen erfüllt sein:
+ Der Wert der Eigenschaft `recordingReconnectWindowSeconds` der AutoParticipantRecordingConfiguration für die Stage ist auf einen Wert größer als 0 gesetzt.
+ Der `StorageConfigurationArn`, mit dem die VOD-Artefakte geschrieben wurden, ist für alle Aufzeichnungen identisch.
+ Die Zeitdifferenz in Sekunden zwischen dem Verlassen der Stage und dem Wiederbeitritt des Teilnehmers ist kleiner oder gleich `recordingReconnectWindowSeconds`.

Beachten Sie, dass der Standardwert von `recordingReconnectWindowSeconds` 0 lautet, wodurch das Zusammenführen deaktiviert wird.

## Synchronisieren von Aufzeichnungen mehrerer Teilnehmer
<a name="ind-part-rec-sync-multiple"></a>

Aufzeichnungen einzelner Teilnehmer enthalten `EXT-X-PROGRAM-DATE-TIME`-Tags in HLS-Playlisten, die präzise UTC-Zeitstempel mit einer Genauigkeit von Millisekunden für die Synchronisation von Aufzeichnungen mehrerer Teilnehmer während der Nachbearbeitung bereitstellen.

Wenn Sie mehrere Teilnehmer einzeln aufzeichnen und eine synchronisierte Zusammensetzung erstellen möchten (z. B. ein Layout nebeneinander oder ein Bild-in-Bild-Layout), können Sie diese Zeitstempel verwenden, um die Aufzeichnungen genau auszurichten, selbst wenn die Teilnehmer zu unterschiedlichen Zeiten der Stage beigetreten sind oder es zu Unterbrechungen kam, die möglicherweise durch Netzwerkunterbrechungen verursacht wurden.

Die HLS-Playlist jedes Teilnehmers enthält `EXT-X-PROGRAM-DATE-TIME`-Tags, die Folgendes kennzeichnen:
+ Der Beginn der Aufnahme (erstes Segment).
+ Alle Diskontinuitätspunkte während der Aufnahme, z. B. wenn es zu einem Stitching kommt.

Diese Zeitstempel sind auf Millisekunden genau und werden für alle Teilnehmer anhand derselben Zeitreferenz synchronisiert.

### Beispiel einer HLS-Wiedergabeliste
<a name="ind-part-rec-sync-multiple-hls-playlist"></a>

```
#EXTM3U
#EXT-X-VERSION:7
#EXT-X-TARGETDURATION:12
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-MAP:URI="init-0.mp4"
#EXT-X-PROGRAM-DATE-TIME:2024-01-01T12:00:00.000Z
#EXTINF:3.30091,
0.mp4
#EXTINF:5.63794,
1.mp4
#EXTINF:2.74290,
2.mp4
#EXT-X-DISCONTINUITY
#EXT-X-MAP:URI="init-1.mp4"
#EXT-X-PROGRAM-DATE-TIME:2024-01-01T12:00:52.772Z
#EXTINF:2.54412,
3.mp4
#EXTINF:5.63649,
4.mp4
```

Die `EXT-X-PROGRAM-DATE-TIME`-Tags geben die genaue UTC-Zeit für das erste Segment und an jedem Diskontinuitätspunkt an und ermöglichen so eine präzise Synchronisation mit den Aufzeichnungen anderer Teilnehmer.

### Synchronisierungs-Workflow
<a name="ind-part-rec-sync-multiple-workflow"></a>

Um Aufzeichnungen mehrerer Teilnehmer zu synchronisieren, extrahieren Sie die `EXT-X-PROGRAM-DATE-TIME`-Zeitstempel aus der HLS-Wiedergabeliste jedes Teilnehmers und verwenden Sie sie, um Zeitversätze zu berechnen. Diese Offsets können dann während der Nachbearbeitung der Zusammensetzung mit Videoverarbeitungstools wie FFmpeg angewendet werden. Wenn die Aufzeichnungen Unterbrechungen aufweisen, bieten Zeitstempel an diesen Stellen die erforderlichen Zeitreferenzen, um eine genaue Synchronisation während der gesamten Aufnahme aufrechtzuerhalten.

Hinweis: Für eine synchronisierte Ausgabe in Echtzeit ohne Nachbearbeitung sollten Sie die serverseitige Zusammensetzung anstelle der Aufzeichnung durch einzelne Teilnehmer in Betracht ziehen.

## JSON-Metadatendateien
<a name="ind-part-rec-json-metadata-files"></a>

Diese Metadaten weisen das JSON-Format auf. Es enthält die folgenden Informationen: 


| Feld | Typ | Erforderlich | Beschreibung | 
| --- | --- | --- | --- | 
| `stage_arn` | Zeichenfolge | Ja | ARN der Stage, die als Quelle für die Aufzeichnung verwendet wird. | 
| `session_id` | Zeichenfolge | Ja | Zeichenfolge, welche die `session_id` der Stage angibt, auf welcher der Teilnehmer aufgezeichnet wird. | 
| `participant_id` | Zeichenfolge | Ja | Zeichenfolge, die die Kennung des aufgezeichneten Teilnehmers darstellt. | 
| `recording_started_at` | Zeichenfolge | Bedingt | RFC 3339 UTC-Zeitstempel, wenn die Aufnahme gestartet wurde. Dies ist nicht verfügbar, wenn sich der `recording_status` in `RECORDING_START_FAILED` befindet. Beachten Sie auch den Hinweis unten für `recording_ended_at`. | 
| `recording_ended_at` | Zeichenfolge | Bedingt | RFC 3339 UTC-Zeitstempel, wenn die Aufnahme beendet wurde. Dies ist nur verfügbar, wenn `recording_status` `"RECORDING_ENDED"` oder `"RECORDING_ENDED_WITH_FAILURE"` ist. **Hinweis:** `recording_started_at` und `recording_ended_at` sind Zeitstempel, wenn diese Ereignisse generiert werden, und stimmen möglicherweise nicht genau mit den Zeitstempeln des HLS-Videosegments überein. Um die Dauer einer Aufnahme genau zu bestimmen, verwenden Sie das Feld `duration_ms`. | 
| `recording_status` | Zeichenfolge | Ja | Aufzeichnungsstatus. Zulässige Werte: `"RECORDING_STARTED"`, `"RECORDING_ENDED"`, `"RECORDING_START_FAILED"`, `"RECORDING_ENDED_WITH_FAILURE"`. | 
| `recording_status_message` | Zeichenfolge | Bedingt | Beschreibende Informationen über den Status. Dies ist nur verfügbar, wenn `recording_status` `"RECORDING_ENDED"` oder `"RECORDING_ENDED_WITH_FAILURE"` ist. | 
| `media` | object | Ja | Objekt, das die Aufzählungsobjekte von Medieninhalten enthält, die für diese Aufzeichnung verfügbar sind. Zulässiger Wert: `"hls"`. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/ivs/latest/RealTimeUserGuide/rt-individual-participant-recording.html)  | object | Ja | Aufzählungsfeld, das die Ausgabe des Apple HLS-Formats beschreibt. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/ivs/latest/RealTimeUserGuide/rt-individual-participant-recording.html)  | Ganzzahl | Bedingt | Dauer des aufgezeichneten HLS-Inhalts in Millisekunden. Dies ist nur verfügbar, wenn `recording_status` `"RECORDING_ENDED"` oder `"RECORDING_ENDED_WITH_FAILURE"` ist. Wenn ein Fehler aufgetreten ist, bevor eine Aufzeichnung durchgeführt wurde, ist dies 0. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/ivs/latest/RealTimeUserGuide/rt-individual-participant-recording.html)  | Zeichenfolge | Ja | Relativer Pfad vom S3-Präfix, in dem HLS-Inhalt gespeichert wird. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/ivs/latest/RealTimeUserGuide/rt-individual-participant-recording.html)  | Zeichenfolge | Ja | Name der HLS-Master-Wiedergabeliste. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/ivs/latest/RealTimeUserGuide/rt-individual-participant-recording.html)  | Objekt | Ja | Array von Formatversionen (HLS-Varianten) von Metadatenobjekten. Es ist immer mindestens eine Formatvariante vorhanden. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/ivs/latest/RealTimeUserGuide/rt-individual-participant-recording.html)  | Zeichenfolge | Ja | Relativer Pfad vom S3-Präfix, in dem HLS-Inhalt für diese Formatvariante gespeichert wird. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/ivs/latest/RealTimeUserGuide/rt-individual-participant-recording.html)  | Zeichenfolge | Ja | Name der Medienwiedergabelistdatei für diese Formatvariante. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/ivs/latest/RealTimeUserGuide/rt-individual-participant-recording.html)  | object | Bedingt | Aufzählungsfeld, das die Ausgabe von Miniaturansichten beschreibt. Diese Funktion ist nur verfügbar, wenn das Feld der Konfiguration `storage` `SEQUENTIAL` enthält. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/ivs/latest/RealTimeUserGuide/rt-individual-participant-recording.html)  | Zeichenfolge | Ja | Relativer Pfad vom S3-Präfix, in dem sequentieller Thumbnail-Inhalt gespeichert wird. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/ivs/latest/RealTimeUserGuide/rt-individual-participant-recording.html)  | object | Ja | Array von Formatversionen (Thumbnail-Varianten) von Metadatenobjekten. Es ist immer mindestens eine Formatvariante vorhanden. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/ivs/latest/RealTimeUserGuide/rt-individual-participant-recording.html)  | Zeichenfolge | Ja | Relativer Pfad vom S3-Präfix, in dem Thumbnail-Inhalt für diese Formatvariante gespeichert wird. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/ivs/latest/RealTimeUserGuide/rt-individual-participant-recording.html)  | object | Bedingt | Aufzählungsfeld, das die Ausgabe von Miniaturansichten beschreibt. Diese Funktion ist nur verfügbar, wenn das Feld der Konfiguration `storage` `LATEST` enthält. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/ivs/latest/RealTimeUserGuide/rt-individual-participant-recording.html)  | Zeichenfolge | Ja | Relativer Pfad vom S3-Präfix, in dem `latest_thumbnail` gespeichert wird. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/ivs/latest/RealTimeUserGuide/rt-individual-participant-recording.html)  | object | Ja | Array von Formatversionen (Thumbnail-Varianten) von Metadatenobjekten. Es ist immer mindestens eine Formatvariante vorhanden. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/ivs/latest/RealTimeUserGuide/rt-individual-participant-recording.html)  | Zeichenfolge | Ja | Relativer Pfad vom S3-Präfix, in dem das neueste Thumbnail für diese Formatvariante gespeichert wird. | 
| `version` | Zeichenfolge | Ja | Die Version des Metadatenschemas. | 

### Beispiel: recording-started.json
<a name="ind-part-rec-json-ex-rec-start"></a>

```
{
   "version": "v1",
   "stage_arn": "arn:aws:ivs:us-west-2:aws_account_id:stage/AbCdef1G2hij",
   "session_id": "st-ZyXwvu1T2s",
   "participant_id": "xYz1c2d3e4f",
   "recording_started_at": "2024-03-13T13:17:17Z",
   "recording_status": "RECORDING_STARTED",
   "media": {
      "hls": {
         "path": "media/hls",
         "playlist": "multivariant.m3u8",
         "renditions": [
            {
               "path": "high",
               "playlist": "playlist.m3u8"
            }
         ]
      },
      "thumbnails": {
         "path": "media/thumbnails",
         "renditions": [
            {
               "path": "high"
            }
         ]
      },
      "latest_thumbnail": {
         "path": "media/latest_thumbnail",
         "renditions": [
            {
               "path": "high"
            }
         ]
      }
   }
}
```

### Beispiel: recording-ended.json
<a name="ind-part-rec-json-ex-rec-end"></a>

```
{
   "version": "v1",
   "stage_arn": "arn:aws:ivs:us-west-2:aws_account_id:stage/AbCdef1G2hij",
   "session_id": "st-ZyXwvu1T2s",
   "participant_id": "xYz1c2d3e4f",
   "recording_started_at": "2024-03-13T19:44:19Z",
   "recording_ended_at": "2024-03-13T19:55:04Z",
   "recording_status": "RECORDING_ENDED",
   "media": {
      "hls": {
         "duration_ms": 645237,
         "path": "media/hls",
         "playlist": "multivariant.m3u8",
         "renditions": [
            {
               "path": "high",
               "playlist": "playlist.m3u8"
            }
         ]
      },
      "thumbnails": {
         "path": "media/thumbnails",
         "renditions": [
            {
               "path": "high"
            }
         ]
      },
      "latest_thumbnail": {
         "path": "media/latest_thumbnail",
         "renditions": [
            {
               "path": "high"
            }
         ]
      }
   }
}
```

### Beispiel: recording-failed.json
<a name="ind-part-rec-json-ex-rec-failed"></a>

```
{
   "version": "v1",
   "stage_arn": "arn:aws:ivs:us-west-2:aws_account_id:stage/AbCdef1G2hij",
   "session_id": "st-ZyXwvu1T2s",
   "participant_id": "xYz1c2d3e4f",
   "recording_started_at": "2024-03-13T19:44:19Z",
   "recording_ended_at": "2024-03-13T19:55:04Z",
   "recording_status": "RECORDING_ENDED_WITH_FAILURE",
   "media": {
      "hls": {
         "duration_ms": 645237,
         "path": "media/hls",
         "playlist": "multivariant.m3u8",
         "renditions": [
            {
               "path": "high",
               "playlist": "playlist.m3u8"
            }
         ]
      },
      "thumbnails": {
         "path": "media/thumbnails",
         "renditions": [
            {
               "path": "high"
            }
         ]
      },
      "latest_thumbnail": {
         "path": "media/latest_thumbnail",
         "renditions": [
            {
               "path": "high"
            }
         ]
      }
   }
}
```

## Konvertieren von Aufzeichnungen in MP4
<a name="ind-part-rec-convert-rec-mp4"></a>

Die Aufzeichnungen einzelner Teilnehmer werden im HLS-Format gespeichert, das aus Playlisten und fragmentierten MP4-Segmenten (fMP4) besteht. Um eine HLS-Aufzeichnung in eine einzelne MP4-Datei zu konvertieren, müssen Sie FFmpeg installieren und den folgenden Befehl ausführen:

```
ffmpeg -i /path/to/playlist.m3u8 -i /path/to/playlist.m3u8 -map 0:v -map 1:a -c copy output.mp4
```