Utilisation des métadonnées de streaming avec Kinesis Video Streams - Amazon Kinesis Video Streams

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation des métadonnées de streaming avec Kinesis Video Streams

Vous pouvez utiliser le SDK producteur Amazon Kinesis Video Streams pour intégrer des métadonnées au niveau du fragment individuel dans un flux vidéo Kinesis. Dans Kinesis Video Streams, les métadonnées sont une paire clé-valeur modifiable. Vous pouvez l'utiliser pour décrire le contenu du fragment, intégrer les mesures de capteur associées qui doivent être transférées avec le fragment lui-même ou répondre à d'autres besoins personnalisés. Les métadonnées sont mises à disposition dans le cadre des GetMediaForFragmentList API opérations GetMedia or. Il est stocké avec les fragments pendant toute la durée de conservation du stream. Vos applications consommatrices peuvent lire, traiter et réagir en fonction des métadonnées à l'aide duRegardez le résultat des caméras à l'aide de la bibliothèque d'analyseurs.

Il existe deux modes dans lequel les métadonnées peuvent être intégrées à des fragments dans un flux :

  • Non persistant : vous pouvez apposer des métadonnées de manière ponctuelle ou ad hoc sur des fragments d'un flux, en fonction de critères spécifiques à l'entreprise qui se sont produits. Par exemple, une caméra intelligente détecte un mouvement et ajoute des métadonnées aux fragments correspondants contenant le mouvement avant de les envoyer vers son flux vidéo Kinesis. Vous pouvez appliquer les métadonnées au fragment selon le format suivant : Motion = true.

  • Persistant : vous pouvez apposer des métadonnées sur des fragments consécutifs et successifs d'un flux en fonction d'un besoin continu. Par exemple, une caméra intelligente envoie les coordonnées de latitude et de longitude actuelles associées à tous les fragments qu'elle envoie à son flux vidéo Kinesis. Vous pouvez appliquer les métadonnées à tous les fragments selon le format suivant : Lat = 47.608013N , Long = -122.335167W.

Vous pouvez associer simultanément les métadonnées au même fragment dans ces deux modes, en fonction des besoins de votre application. Les métadonnées intégrées peuvent inclure des objets détectés, des activités suivies, des GPS coordonnées ou toute autre donnée personnalisée que vous souhaitez associer aux fragments du flux. Les métadonnées sont codées sous forme de paires de chaînes clé-valeur.

Ajouter des métadonnées à un flux vidéo Kinesis

Les métadonnées que vous ajoutez à un flux vidéo Kinesis sont modélisées sous forme de MKV balises, qui sont implémentées sous forme de paires clé-valeur.

Les métadonnées peuvent être transitoires, pour marquer un événement dans le flux par exemple, ou persistantes, pour identifier les fragments dans lesquels un événement donné est en cours par exemple. Un élément de métadonnées persistant est conservé et est appliqué à chaque fragment consécutif jusqu'à son annulation.

Note

Les éléments de métadonnées ajoutés à l'aide de Transférer vers Kinesis Video Streams sont distincts du balisage au niveau du flux APIs implémenté avecTagStream, etUntagStream. ListTagsForStream

Métadonnées de diffusion API

Vous pouvez utiliser les opérations suivantes dans le producteur SDK pour implémenter les métadonnées de streaming.

PIC

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

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

Producteur Java SDK

Vous pouvez utiliser le producteur JavaSDK, pour ajouter des métadonnées à un MediaSource utilisateur MediaSourceSink.onCodecPrivateData :

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

Métadonnées persistantes et non persistantes

Pour les métadonnées non persistantes, vous pouvez ajouter plusieurs éléments de métadonnées portant le même nom. Le producteur SDK collecte les éléments de métadonnées dans la file d'attente de métadonnées jusqu'à ce qu'ils soient ajoutés au fragment suivant. La file d'attente des métadonnées est effacée lorsque les éléments de métadonnées sont appliqués au flux. Pour reproduire les métadonnées, appelez à nouveau putKinesisVideoFragmentMetadata ou putFragmentMetadata.

Pour les métadonnées persistantes, le producteur SDK collecte les éléments de métadonnées dans la file d'attente de métadonnées de la même manière que pour les métadonnées non persistantes. Toutefois, les éléments de métadonnées ne sont pas supprimés de la file d'attente lorsqu'ils sont ajoutés au fragment suivant.

L'appel de putKinesisVideoFragmentMetadata ou putFragmentMetadata avec persistent défini sur true a le comportement suivant :

  • L'appel API place l'élément de métadonnées dans la file d'attente. Les métadonnées sont ajoutées sous forme de MKV balise à chaque fragment pendant que l'élément est dans la file d'attente.

  • Le fait API d'appeler le avec le même nom et une valeur différente de ceux d'un élément de métadonnées ajouté précédemment remplace l'élément.

  • L'appel du API avec une valeur vide supprime (annule) l'élément de métadonnées de la file d'attente de métadonnées.