Utilizzo dei metadati di streaming con Kinesis Video Streams - Flusso di video Amazon Kinesis

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo dei metadati di streaming con Kinesis Video Streams

Puoi utilizzare il produttore Amazon Kinesis Video SDK Streams per incorporare i metadati a livello di singolo frammento in un flusso video Kinesis. I metadati in Kinesis Video Streams sono una coppia chiave-valore mutabile. Puoi utilizzarla per descrivere il contenuto del frammento, incorporare le letture dei sensori associate che devono essere trasferite insieme al frammento effettivo o soddisfare altre esigenze personalizzate. I metadati vengono resi disponibili come parte delle operazioni operative. GetMedia GetMediaForFragmentList API Vengono archiviati insieme ai frammenti per l'intera durata del periodo di conservazione dello stream. Le applicazioni che consumano possono leggere, elaborare e reagire in base ai metadati utilizzando il. Guarda l'output delle telecamere utilizzando la libreria parser

Esistono due modalità in cui i metadati possono essere incorporati con i frammenti in un flusso:

  • Non persistente: puoi applicare i metadati una tantum o ad hoc ai frammenti di un flusso, in base a criteri aziendali specifici che si sono verificati. Un esempio è una videocamera intelligente che rileva il movimento e aggiunge metadati ai frammenti corrispondenti che contengono il movimento prima di inviarli al relativo flusso video Kinesis. Puoi applicare i metadati al frammento nel formato seguente: Motion = true.

  • Persistente: puoi aggiungere metadati a frammenti successivi e consecutivi in un flusso in base a un'esigenza continua. Un esempio è una videocamera intelligente che invia le coordinate correnti di latitudine e longitudine associate a tutti i frammenti che invia al flusso video Kinesis. Puoi applicare i metadati a tutti i frammenti nel formato seguente: Lat = 47.608013N , Long = -122.335167W.

Puoi applicare i metadati in entrambe queste modalità allo stesso frammento contemporaneamente in base alle esigenze dell'applicazione. I metadati incorporati possono includere oggetti rilevati, attività tracciate, GPS coordinate o qualsiasi altro dato personalizzato da associare ai frammenti del flusso. I metadati sono codificati come coppie di stringhe chiave-valore.

Aggiungere metadati a un flusso video Kinesis

I metadati aggiunti a uno stream video Kinesis sono modellati MKV come tag, che vengono implementati come coppie chiave-valore.

I metadati possono essere transitori, ad esempio per contrassegnare un evento all'interno del flusso, o persistenti, ad esempio per identificare frammenti in cui si verifica un determinato evento. Un elemento di metadati persistente rimane e viene applicato a ogni frammento consecutivo finché non viene annullato.

Nota

Gli elementi di metadati aggiunti utilizzando Caricamento su Kinesis Video Streams sono distinti dall'etichettatura a livello di flusso implementata con, e. APIs TagStream UntagStream ListTagsForStream

Metadati di streaming API

È possibile utilizzare le seguenti operazioni nel produttore SDK per implementare i metadati di streaming.

PIC

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

Produttore 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);

Produttore Java SDK

È possibile utilizzare il produttore JavaSDK, per aggiungere metadati a un MediaSource utilizzoMediaSourceSink.onCodecPrivateData:

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

Metadati persistenti e non persistenti

Per i metadati non persistenti, puoi aggiungere più elementi metadati con lo stesso nome. Il produttore SDK raccoglie gli elementi di metadati nella coda dei metadati fino a quando non vengono aggiunti al frammento successivo. La coda dei metadati viene cancellata quando gli elementi metadati vengono applicati al flusso. Per ripetere i metadati, chiama di nuovo putKinesisVideoFragmentMetadata o putFragmentMetadata.

Per i metadati persistenti, il produttore SDK raccoglie gli elementi di metadati nella coda dei metadati allo stesso modo dei metadati non persistenti. Tuttavia, gli elementi di metadati non vengono rimossi dalla coda quando vengono aggiunti al frammento successivo.

La chiamata putKinesisVideoFragmentMetadata o putFragmentMetadata con persistent impostato su true ha il seguente comportamento:

  • La chiamata a API inserisce l'elemento di metadati nella coda. I metadati vengono aggiunti come MKV tag a ogni frammento mentre l'elemento è in coda.

  • La chiamata API con lo stesso nome e un valore diverso di un elemento di metadati aggiunto in precedenza sovrascrive l'elemento.

  • La chiamata a API con un valore vuoto rimuove (annulla) l'elemento di metadati dalla coda dei metadati.