

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.

# Beispiel: Analysieren und Rendern von Kinesis Video Streams Streams-Fragmenten
<a name="examples-renderer"></a>

Die [Streamen Sie mithilfe der Parser-Bibliothek](parser-library.md) enthält eine Demo-Anwendung mit dem Namen`KinesisVideoRendererExample`, die das Parsen und Rendern von Amazon Kinesis Kinesis-Videostream-Fragmenten demonstriert. Das Beispiel dient [JCodec](http://jcodec.org/)zur Dekodierung der H.264-codierten Frames, die mit der Anwendung aufgenommen wurden. [Beispiel: GStreamer SDK-Plug-In für Kinesis Video Streams Producer — kvssink](examples-gstreamer-plugin.md) Nachdem der Frame mit dekodiert wurde JCodec, wird das sichtbare Bild mit gerendert. [JFrame](https://docs.oracle.com/javase/7/docs/api/javax/swing/JFrame.html) 

Dieses Beispiel veranschaulicht, wie Sie folgende Aufgaben ausführen:
+ Rufen Sie mithilfe der `GetMedia` API Frames aus einem Kinesis-Videostream ab und rendern Sie den Stream zur Anzeige.
+ Zeigen Sie den Videoinhalt von Streams in einer benutzerdefinierten Anwendung an, anstatt die Kinesis Video Streams Streams-Konsole zu verwenden.

Sie können die Klassen in diesem Beispiel auch verwenden, um Kinesis-Videostream-Inhalte anzuzeigen, die nicht als H.264 codiert sind, z. B. einen Stream von JPEG-Dateien, die vor der Anzeige nicht dekodiert werden müssen.

Im folgenden Verfahren wird veranschaulicht, wie Sie die Renderer-Demoanwendung einrichten und verwenden.

## Voraussetzungen
<a name="examples-renderer-prerequisites"></a>

Zum Untersuchen und Verwenden der Renderer-Beispielbibliothek ist Folgendes erforderlich:
+ Ein Amazon Web Services (AWS) -Konto. Wenn Sie noch kein AWS Konto haben, finden Sie weitere Informationen unter [Erste Schritte mit Kinesis Video Streams](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/getting-started.html).
+ Eine integrierte Java-Entwicklungsumgebung (IDE) wie [Eclipse Java Neon](https://www.eclipse.org/downloads/packages/release/neon/3/eclipse-jee-neon-3) oder [JetBrains IntelliJ](https://www.jetbrains.com/idea/download/) Idea.

## Renderer-Beispiel ausführen
<a name="examples-renderer-procedure"></a>

1. Erstellen Sie ein Verzeichnis und klonen Sie dann den Beispielquellcode aus dem GitHub Repository.

   ```
   git clone https://github.com/aws/amazon-kinesis-video-streams-parser-library
   ```

1. Öffnen Sie die Java-IDE (z. B. [Eclipse](https://www.eclipse.org/) oder [IntelliJ IDEA](https://www.jetbrains.com/idea/)) und importieren Sie das heruntergeladene Apache Maven-Projekt: 
   + **In Eclipse:** Klicken Sie auf **File**, **Import**, **Maven**, **Existing Maven Projects**. Navigieren Sie zum `kinesis-video-streams-parser-lib` Verzeichnis .
   + **In IntelliJ Idea: ** Klicken Sie auf **Import**. Navigieren Sie zur Datei `pom.xml` im Stammverzeichnis des heruntergeladenen Pakets.
**Anmerkung**  
Wenn IntelliJ Ihre Abhängigkeiten nicht finden kann, müssen Sie möglicherweise Folgendes tun:   
**Neuerstellung:** Klicken Sie auf **Datei**, **Einstellungen**, **Build, Execution, Deployment (Erstellung, Ausführung, Bereitstellung)**, **Compiler**. Vergewissern Sie sich, dass die Option **Ausgabeverzeichnis bei Neuerstellung löschen** ausgewählt ist, und wählen Sie dann **Build**, **Build Project** aus.
**Projekt erneut importieren:** Öffnen Sie das Kontextmenü (Rechtsklick) für das Projekt und wählen Sie dann **Maven** und **Reimport (Neu importieren)** aus.

    Weitere Informationen finden Sie in der Dokumentation zur IDE.

1. Öffnen Sie über Ihre Java-IDE `src/test/java/com.amazonaws.kinesisvideo.parser/examples/KinesisVideoRendererExampleTest`. 

1. Entfernen Sie die Anweisung `@Ignore` aus der Datei.

1. Aktualisieren Sie den `.stream` Parameter mit dem Namen Ihres Kinesis-Videostreams.

1. Führen Sie den Test `KinesisVideoRendererExample` aus.

## So funktioniert’s
<a name="examples-renderer-howitworks"></a>

**Topics**
+ [Senden von MKV-Daten](#examples-renderer-howitworks-send)
+ [Analysieren von MKV-Fragmenten in Frames](#examples-renderer-howitworks-parse)
+ [Den Frame dekodieren und anzeigen](#examples-renderer-howitworks-display)

### Senden von MKV-Daten
<a name="examples-renderer-howitworks-send"></a>

Im Beispiel werden MKV-Beispieldaten aus der `rendering_example_video.mkv` Datei gesendet, `PutMedia` um Videodaten an einen Stream mit dem Namen zu senden. **render-example-stream**

Die Anwendung erstellt eine `PutMediaWorker`:

```
PutMediaWorker putMediaWorker = PutMediaWorker.create(getRegion(),
    getCredentialsProvider(),
    getStreamName(),
    inputStream,
    streamOps.amazonKinesisVideo);
executorService.submit(putMediaWorker);
```

Informationen zur Klasse `PutMediaWorker` finden Sie unter [Rufen Sie an PutMedia](parser-library-write.md#parser-library-write-example-putmedia) in der Dokumentation zu [Streamen Sie mithilfe der Parser-Bibliothek](parser-library.md).

### Analysieren von MKV-Fragmenten in Frames
<a name="examples-renderer-howitworks-parse"></a>

Im Beispiel werden die MKV-Fragmente dann mittels einer `GetMediaWorker` aus dem Stream abgerufen und analysiert:

```
GetMediaWorker getMediaWorker = GetMediaWorker.create(getRegion(),
    getCredentialsProvider(),
    getStreamName(),
    new StartSelector().withStartSelectorType(StartSelectorType.EARLIEST),
    streamOps.amazonKinesisVideo,
    getMediaProcessingArgumentsLocal.getFrameVisitor());
executorService.submit(getMediaWorker);
```

Weitere Informationen zur Klasse `GetMediaWorker` finden Sie unter [Rufen Sie GetMedia](parser-library-write.md#parser-library-write-example-getmedia) in der Dokumentation zu [Streamen Sie mithilfe der Parser-Bibliothek](parser-library.md).

### Den Frame dekodieren und anzeigen
<a name="examples-renderer-howitworks-display"></a>

Das Beispiel dekodiert und zeigt den Frame dann mit. [JFrame](https://docs.oracle.com/javase/7/docs/api/javax/swing/JFrame.html)

Das folgende Code-Beispiel stammt aus der Klasse `KinesisVideoFrameViewer`, die `JFrame` erweitert:

```
 public void setImage(BufferedImage bufferedImage) {
    image = bufferedImage;
    repaint();
}
```

Das Bild wird als Instanz von [java.awt.image angezeigt. BufferedImage](https://docs.oracle.com/javase/7/docs/api/java/awt/image/BufferedImage.html). Beispiele, die die Arbeit mit `BufferedImage` veranschaulichen, finden Sie unter [Lesen/Laden eines Image](https://docs.oracle.com/javase/tutorial/2d/images/loadimage.html).