Menggunakan metadata streaming dengan Kinesis Video Streams - Amazon Kinesis Video Streams

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

Menggunakan metadata streaming dengan Kinesis Video Streams

Anda dapat menggunakan produsen Amazon Kinesis Video SDK Streams untuk menyematkan metadata pada tingkat fragmen individual dalam aliran video Kinesis. Metadata dalam Kinesis Video Streams adalah pasangan kunci-nilai yang bisa berubah. Anda dapat menggunakannya untuk menggambarkan konten fragmen, menyematkan pembacaan sensor terkait yang harus ditransfer bersama dengan fragmen yang sebenarnya, atau memenuhi kebutuhan khusus lainnya. Metadata dibuat tersedia sebagai bagian dari operasi GetMedia atau GetMediaForFragmentListAPI. Ini disimpan bersama dengan fragmen untuk seluruh durasi periode retensi aliran. Aplikasi yang Anda konsumsi dapat membaca, memproses, dan bereaksi berdasarkan metadata menggunakan. Tonton output dari kamera menggunakan pustaka parser

Ada dua mode di mana metadata dapat disematkan dengan fragmen dalam aliran:

  • Non-persisten — Anda dapat membubuhkan metadata pada satu kali, atau basis ad hoc ke fragmen dalam aliran, berdasarkan kriteria khusus bisnis yang telah terjadi. Contohnya adalah kamera pintar yang mendeteksi gerakan dan menambahkan metadata ke fragmen terkait yang berisi gerakan sebelum mengirim fragmen ke aliran video Kinesis. Anda dapat menerapkan metadata ke fragmen dalam format berikut: Motion = true

  • Persistent — Anda dapat membubuhkan metadata ke fragmen berturut-turut dan berurutan dalam aliran berdasarkan kebutuhan yang berkelanjutan. Contohnya adalah kamera pintar yang mengirimkan koordinat lintang dan bujur saat ini yang terkait dengan semua fragmen yang dikirimkannya ke aliran video Kinesis. Anda dapat menerapkan metadata ke semua fragmen dalam format berikut: Lat = 47.608013N , Long = -122.335167W

Anda dapat membubuhkan metadata di kedua mode ini ke fragmen yang sama secara bersamaan, berdasarkan kebutuhan aplikasi Anda. Metadata yang disematkan mungkin mencakup objek yang terdeteksi, aktivitas yang dilacak, GPS koordinat, atau data kustom lainnya yang ingin Anda kaitkan dengan fragmen dalam aliran. Metadata dikodekan sebagai pasangan string kunci-nilai.

Menambahkan metadata ke aliran video Kinesis

Metadata yang Anda tambahkan ke aliran video Kinesis dimodelkan sebagai MKV tag, yang diimplementasikan sebagai pasangan nilai kunci.

Metadata dapat bersifat sementara, seperti untuk menandai peristiwa dalam aliran, atau persisten, seperti untuk mengidentifikasi fragmen di mana peristiwa tertentu sedang berlangsung. Item metadata persisten tetap ada, dan diterapkan ke setiap fragmen berturut-turut, hingga dibatalkan.

catatan

Item metadata yang ditambahkan menggunakan ini Unggah ke Kinesis Video Streams berbeda dari penandaan tingkat aliran yang APIs diterapkan dengan,, dan. TagStream UntagStream ListTagsForStream

Metadata streaming API

Anda dapat menggunakan operasi berikut di produsen SDK untuk menerapkan metadata streaming.

PIC

PUBLIC_API STATUS putKinesisVideoFragmentMetadata(STREAM_HANDLE streamHandle, PCHAR name, PCHAR value, BOOL persistent);

Produser C ++ SDK

/** * Appends a "tag" or metadata - a key/value string pair into the stream. */ bool putFragmentMetadata(const std::string& name, const std::string& value, bool persistent = true);

Produser Jawa SDK

Anda dapat menggunakan produsen JavaSDK, untuk menambahkan metadata ke penggunaan: MediaSource MediaSourceSink.onCodecPrivateData

void onFragmentMetadata(final @Nonnull String metadataName, final @Nonnull String metadataValue, final boolean persistent) throws KinesisVideoException;

Metadata persisten dan nonpersisten

Untuk metadata nonpersisten, Anda dapat menambahkan beberapa item metadata dengan nama yang sama. SDKProduser mengumpulkan item metadata dalam antrian metadata hingga ditambahkan ke fragmen berikutnya. Antrian metadata dihapus saat item metadata diterapkan ke aliran. Untuk mengulang metadata, panggil putKinesisVideoFragmentMetadata atau putFragmentMetadata lagi.

Untuk metadata persisten, produsen SDK mengumpulkan item metadata dalam antrian metadata dengan cara yang sama seperti untuk metadata nonpersisten. Namun, item metadata tidak dihapus dari antrian saat ditambahkan ke fragmen berikutnya.

Memanggil putKinesisVideoFragmentMetadata atau putFragmentMetadata dengan persistent set untuk true memiliki perilaku berikut:

  • Memanggil API menempatkan item metadata dalam antrian. Metadata ditambahkan sebagai MKV tag ke setiap fragmen saat item berada dalam antrian.

  • Memanggil API dengan nama yang sama dan nilai yang berbeda sebagai item metadata yang ditambahkan sebelumnya menimpa item.

  • Memanggil API dengan nilai kosong menghapus (membatalkan) item metadata dari antrian metadata.