

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.

# Spielen Sie Medien aus Ihrem Kinesis-Videostream ab
<a name="producersdk-cpp-rpi-playback"></a>

Öffnen Sie die [ Kinesis Video Streams-Konsole ](https://console.aws.amazon.com/kinesisvideo/home/) und wählen Sie den ** Stream-Namen ** für den Stream, den Sie erstellt haben.

Der vom Raspberry Pi gesendete Videostream erscheint in der Konsole.

**Anmerkung**  
Es kann einige Sekunden dauern, bis das Video in der Konsole angezeigt wird.

Sobald der Stream abgespielt wird, können Sie mit den folgenden Funktionen in der Konsole experimentieren:
+ Führen Sie mit den Navigationssteuerelementen im Bereich **Video preview** (Video-Vorschau) einen Rück- oder Vorlauf des Streams durch. 
+ **Überprüfe im ** Abschnitt Stream-Informationen den Codec, die Auflösung und die Bitrate des Streams. Die Auflösungs- und Bitratenwerte sind auf dem Raspberry Pi bewusst niedrig eingestellt, um die Bandbreitennutzung für dieses Tutorial zu minimieren. 

  Um die CloudWatch Amazon-Metriken anzuzeigen, die für Ihren Stream erstellt werden, wählen Sie Stream-Metriken ** anzeigen unter. CloudWatch ** 
+ Beachten Sie unter **Data retention period** (Aufbewahrungszeitraum), dass der Videostream einen Tag lang aufbewahrt wird. Sie können diesen Wert bearbeiten und auf **No data retention** (Keine Datenaufbewahrung) einstellen oder einen Wert von einem Tag bis mehrere Jahre festlegen. 
+ Beachten Sie bei ** Server-side Verschlüsselung**, dass Ihre Daten im Ruhezustand mit einem Schlüssel verschlüsselt werden, der von AWS Key Management Service (AWS KMS) verwaltet wird. 

## Probleme bei der Wiedergabe
<a name="rpi-troubleshoot-playback"></a>

Im Folgenden finden Sie einige häufig auftretende Wiedergabeprobleme und deren Behebung.

### Keine Medien, aber es gibt PERSISTED Acks in den Protokollen
<a name="rpi-troubleshoot-no-media"></a>

Wenn Sie PERSISTED Acks in den Protokollen sehen, hat Kinesis Video Streams die Medien, die von hochgeladen wurden, erfolgreich aufgenommen und gespeichert. `kvssink` Die von Kinesis Video Streams erhaltenen Acks sehen so aus. Sehen Sie sich im JSON den Wert für den `"EventType"` Schlüssel an.

```
{"EventType":"RECEIVED","FragmentTimecode":252200,"FragmentNumber":"12345678901234567890123456724587702494771079511"}
{"EventType":"BUFFERING","FragmentTimecode":252467,"FragmentNumber":"12345678901234567890123456781729223736853277017"}
{"EventType":"RECEIVED","FragmentTimecode":252467,"FragmentNumber":"12345678901234567890123456781729223736853277017"}
{"EventType":"BUFFERING","FragmentTimecode":253000,"FragmentNumber":"12345678901234567890123456738870744847093249408"}
{"EventType":"PERSISTED","FragmentTimecode":252200,"FragmentNumber":"12345678901234567890123456724587702494771079511"}
{"EventType":"PERSISTED","FragmentTimecode":252467,"FragmentNumber":"1234567890123456789012345671729223736853277017"}
```

**Auflösung**

Warten Sie ein oder zwei Minuten in der Kinesis Video Streams-Konsole und verwenden Sie dann den Doppelpfeil nach rechts. Wenn keine Medien angezeigt werden, überprüfen Sie, ob Ihr Stream in die richtige Region gesendet wird, und überprüfen Sie die Schreibweise des Streamnamens. Du findest diese Informationen in den Protokollen.

[Geben Sie eine Region für `kvssink an`](examples-gstreamer-plugin-parameters.md#kvssink-region)Weitere Informationen darüber, wie kvssink bestimmt, welche Region verwendet werden soll, finden Sie unter.

### Das Laden des Mediums in das AWS-Managementkonsole
<a name="rpi-troubleshoot-load-time"></a>

**Wichtig**  
Das Wiedergabeerlebnis auf der Konsole unterscheidet sich vom HLS- und DASH-Wiedergabeerlebnis. Verwenden Sie auch die [ im Media Player ](https://aws-samples.github.io/amazon-kinesis-video-streams-media-viewer/) gehostete Beispielwebseite, GitHub um die Wiedergabe zu testen. Den Quellcode der Webseite finden Sie [ hier](https://github.com/aws-samples/amazon-kinesis-video-streams-media-viewer).

Medien können aufgrund einer schlechten Netzwerkbandbreite oder eines eingeschränkten Geräts in der Konsole langsam geladen werden. Dies kann aber auch mit der Videokodierung und -fragmentierung zusammenhängen. 

**Grundlagen der Videokodierung: **
+ H.264 und H.265 Encoder verwenden Key-Frames (I-Frames) und Predicted-Frames () für eine effiziente Komprimierung. P-Frames
+ Key-frames enthalten vollständige Bilddaten, enthalten aber P-frames nur Änderungen gegenüber früheren Frames.
+ Das „Keyframe-Intervall“ bestimmt, wie oft Keyframes im Videostream vorkommen.

**Fragmentierung beim Streaming: **
+ In Kinesis Video Streams beginnen neue Fragmente mit jedem Keyframe. Weitere Informationen finden Sie unter [Kinesis Video Streams-Datenmodell](how-data.md).
+ Die Fragmentlänge (in Sekunden) kann wie folgt geschätzt werden: * Keyframe-Intervall ÷ Bildrate * * *

  **Beispiel:**

  Für einen Stream mit einem Keyframe-Intervall von 30 und einer Bildrate von 15 Bildern pro Sekunde: 

  Fragmentlänge = 30 ÷ 15 = 2 Sekunden

Aufgrund größerer Keyframe-Intervalle erhöhen längere Fragmente die Latenz bei Streaming-Medien.

**Auflösung**

Um die Ladezeiten zu verkürzen, sollten Sie erwägen, das Keyframe-Intervall zu reduzieren. Dadurch werden kürzere Fragmente erzeugt, was die Latenz verringert, aber auch die Größe der Videodatei erhöht.

Für das `x264enc` GStreamer-Element können Sie das Keyframe-Intervall explizit über die folgende Eigenschaft festlegen: `key-int-max`

```
x264enc bframes=0 key-int-max=60
```

Beachten Sie bei der Überprüfung der Protokollausgabe, wie oft der hochladende Client ACKs von Kinesis Video Streams empfängt. Je mehr Keyframes generiert werden, desto mehr ACKs werden zurückgegeben.

### Das Medium ist verzerrt oder weist Artefakte auf
<a name="rpi-troubleshoot-distortion"></a>

Vergewissern Sie sich, dass alle Kabel fest angeschlossen sind, um dieses Problem zu beheben. Überprüfen Sie die Ausgabe von `libcamera-hello` (oder `raspistill` für ältere Pi-Kameras) für Kameramodule.

Ersetzen Sie in Ihrer GStreamer-Pipeline `kvssink` durch `autovideosink` oder `matroskamux` und. `filesink` Beispiel:

```
... x264enc tune=zerolatency speed-preset=ultrafast bframes=0 key-int-max=60 byte-stream=true ! h264parse ! matroskamux ! filesink location=output.mkv 
```

Prüfen Sie in der Ausgabedatei von `filesink` oder dem Media Player, der bei der Verwendung geöffnet wird`autovideosink`, ob die Artefakte ebenfalls vorhanden sind.

Überprüfen Sie auch die Ausgabe der folgenden Pipeline:

```
gst-launch-1.0 autovideosrc ! videoconvert ! autovideosink
```

Wenn Sie Elemente wie [ Dewarp zu Ihrer Pipeline hinzufügen](https://gstreamer.freedesktop.org/documentation/opencv/dewarp.html?gi-language=c), können Sie die Ausgaben von Fischaugen-Kameras korrigieren.

Überprüfen Sie die unterstützten Ausgabecodecs für Ihre Kamera und passen Sie die Elemente nach Bedarf an. 

Wenn Ihre USB-Kamera beispielsweise nur die JPEG-Ausgabe unterstützt, müssen Sie die `jpegdec` Elemente `jpegparse` und verwenden, um das Medium zu transformieren, bevor Sie es in H.264 die Verwendung umwandeln können. `x264enc` Suchen Sie in den GStreamer-Foren nach Unterstützung für andere Benutzer mit ähnlichen and/or Pipeline-Webcam-Setups.