View a markdown version of this page

Contoh: Mengurai dan merender fragmen Streams Video Kinesis - Amazon Kinesis Video Streams

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 Streams Video Kinesis

Ini Streaming menggunakan pustaka parser berisi aplikasi demo bernama KinesisVideoRendererExample yang menunjukkan parsing dan rendering fragmen aliran video Amazon Kinesis. Contoh menggunakan JCodec untuk memecahkan kode frame yang H.264 dikodekan yang dicerna Contoh: Plugin SDK GStreamer produsen Streaming Video Kinesis - kvssink menggunakan aplikasi. Setelah frame didekodekan menggunakan JCodec, gambar yang terlihat dirender menggunakan JFrame.

Contoh ini menunjukkan cara melakukan hal berikut:

  • Ambil frame dari aliran video Kinesis menggunakan GetMedia API dan render aliran untuk dilihat.

  • Lihat konten video streaming di aplikasi khusus 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

Untuk memeriksa dan menggunakan pustaka contoh Renderer, Anda harus memiliki yang berikut:

Menjalankan contoh perender

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

    git clone https://github.com/aws/amazon-kinesis-video-streams-parser-library
  2. Buka Java IDE yang Anda gunakan (misalnya, Eclipse atau IntelliJ 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.

    • Di IntelliJ Ide: Pilih Imp or. Arahkan ke pom.xml file di root paket yang diunduh.

      catatan

      Jika IntelliJ tidak dapat menemukan dependensi Anda, Anda mungkin harus melakukan hal berikut:

      • Bangun bersih: Pilih File, Peng aturan, Bang un, Eksekusi, Penerapan, Kompiler. Pastikan H apus direktori keluaran saat membangun kembali 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.

  3. Dari Java IDE Anda, bukasrc/test/java/com.amazonaws.kinesisvideo.parser/examples/KinesisVideoRendererExampleTest.

  4. Hapus @Ignore direktif dari file.

  5. Perbarui .stream parameter dengan nama aliran video Kinesis Anda.

  6. Jalankan KinesisVideoRendererExample tes.

Cara Kerjanya

Mengirim data MKV

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

Aplikasi ini membuatPutMediaWorker:

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

Untuk informasi tentang PutMediaWorker kelas, lihat Panggilan PutMedia dalam Streaming menggunakan pustaka parser dokumentasi.

Mengurai fragmen MKV menjadi bingkai

Contoh kemudian mengambil dan mengurai 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 dalam Streaming menggunakan pustaka parser dokumentasi.

Menguraikan dan menampilkan bingkai

Contoh kemudian memecahkan kode dan menampilkan bingkai menggunakan J Frame.

Contoh kode berikut adalah dari KinesisVideoFrameViewer kelas, yang diperluasJFrame:

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

Gambar ditampilkan sebagai contoh java.awt.image. BufferedImage. Untuk contoh yang menunjukkan cara bekerja denganBufferedImage, lihat Reading/Loading Gambar.