

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Contoh: Mengurai dan merender fragmen Kinesis Video Streams
<a name="examples-renderer"></a>

[Streaming menggunakan pustaka parser](parser-library.md)Berisi aplikasi demo bernama `KinesisVideoRendererExample` yang menunjukkan penguraian dan rendering fragmen aliran video Amazon Kinesis. Contoh ini digunakan [JCodec](http://jcodec.org/)untuk memecahkan kode frame yang dikodekan H.264 yang dicerna menggunakan aplikasi. [Contoh: Plugin SDK GStreamer produsen Kinesis Video Streams - kvssink](examples-gstreamer-plugin.md) Setelah bingkai diterjemahkan menggunakan JCodec, gambar yang terlihat dirender menggunakan. [JFrame](https://docs.oracle.com/javase/7/docs/api/javax/swing/JFrame.html) 

Contoh ini menunjukkan bagaimana melakukan hal berikut:
+ Ambil frame dari aliran video Kinesis menggunakan `GetMedia` API dan render aliran untuk dilihat.
+ Lihat konten video streaming dalam aplikasi kustom alih-alih menggunakan konsol Kinesis Video Streams.

Anda juga dapat menggunakan kelas dalam contoh ini untuk melihat konten aliran video Kinesis yang tidak dikodekan sebagai H.264, seperti aliran file JPEG yang tidak memerlukan decoding sebelum ditampilkan.

Prosedur berikut menunjukkan cara mengatur dan menggunakan aplikasi demo Renderer.

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

Untuk memeriksa dan menggunakan perpustakaan contoh Renderer, Anda harus memiliki yang berikut:
+ Akun (AWS) Amazon Web Services. Jika Anda belum memiliki AWS akun, lihat [Memulai dengan Kinesis Video Streams](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/getting-started.html).
+ [Lingkungan pengembangan terintegrasi Java (IDE), seperti [Eclipse Java Neon atau JetBrains IntelliJ Idea](https://www.eclipse.org/downloads/packages/release/neon/3/eclipse-jee-neon-3).](https://www.jetbrains.com/idea/download/)

## Menjalankan contoh penyaji
<a name="examples-renderer-procedure"></a>

1. Buat direktori, lalu kloning kode sumber contoh dari GitHub repositori.

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

1. Buka IDE Java yang Anda gunakan (misalnya, [Eclipse](https://www.eclipse.org/) atau [IntelliJ IDEA](https://www.jetbrains.com/idea/)), dan impor proyek Apache Maven yang Anda unduh: 
   + **Di Eclipse:** **Pilih **File**, **Impor**, Maven, Proyek **Maven** yang Ada.** Buka direktori `kinesis-video-streams-parser-lib` tersebut.
   + **Dalam Ide IntelliJ: Pilih Impor****.** Arahkan ke `pom.xml` file di root paket yang diunduh.
**catatan**  
Jika IntelliJ tidak dapat menemukan dependensi Anda, Anda mungkin harus melakukan hal berikut:   
**Build clean:** Pilih **File**, **Settings**, **Build, Execution, Deployment**, **Compiler**. Verifikasi bahwa **Clear output direktori pada rebuild** dipilih, lalu pilih **Build, Build** **Project**.
**Impor ulang proyek:** **Buka menu konteks (klik kanan) untuk proyek, dan pilih **Maven**, Import ulang.**

    Untuk informasi selengkapnya, lihat dokumentasi IDE terkait.

1. Dari IDE Java Anda, buka`src/test/java/com.amazonaws.kinesisvideo.parser/examples/KinesisVideoRendererExampleTest`. 

1. Hapus `@Ignore` arahan dari file.

1. Perbarui `.stream` parameter dengan nama aliran video Kinesis Anda.

1. Jalankan `KinesisVideoRendererExample` tes.

## Cara Kerjanya
<a name="examples-renderer-howitworks"></a>

**Topics**
+ [Mengirim data MKV](#examples-renderer-howitworks-send)
+ [Mengurai fragmen MKV ke dalam bingkai](#examples-renderer-howitworks-parse)
+ [Decoding dan menampilkan frame](#examples-renderer-howitworks-display)

### Mengirim data MKV
<a name="examples-renderer-howitworks-send"></a>

Contoh mengirimkan data MKV sampel dari `rendering_example_video.mkv` file, menggunakan `PutMedia` untuk mengirim data video ke aliran bernama. **render-example-stream**

Aplikasi ini menciptakan`PutMediaWorker`:

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

Untuk informasi tentang `PutMediaWorker` kelas, lihat [Panggilan PutMedia](parser-library-write.md#parser-library-write-example-putmedia) di [Streaming menggunakan pustaka parser](parser-library.md) dokumentasi.

### Mengurai fragmen MKV ke dalam bingkai
<a name="examples-renderer-howitworks-parse"></a>

Contoh kemudian mengambil dan mem-parsing fragmen MKV dari aliran menggunakan: `GetMediaWorker`

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

Untuk informasi lebih lanjut tentang `GetMediaWorker` kelas, lihat [Panggilan GetMedia](parser-library-write.md#parser-library-write-example-getmedia) di [Streaming menggunakan pustaka parser](parser-library.md) dokumentasi.

### Decoding dan menampilkan frame
<a name="examples-renderer-howitworks-display"></a>

Contoh kemudian menerjemahkan dan menampilkan bingkai menggunakan [JFrame](https://docs.oracle.com/javase/7/docs/api/javax/swing/JFrame.html).

Contoh kode berikut adalah dari `KinesisVideoFrameViewer` kelas, yang meluas`JFrame`:

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

Gambar ditampilkan sebagai contoh dari [java.awt.image. BufferedImage](https://docs.oracle.com/javase/7/docs/api/java/awt/image/BufferedImage.html). Untuk contoh yang menunjukkan cara bekerja dengan`BufferedImage`, lihat [Membaca/Memuat Gambar](https://docs.oracle.com/javase/tutorial/2d/images/loadimage.html).