Support pour Kinesis Video API Streams et les bibliothèques de producteurs - 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.

Support pour Kinesis Video API Streams et les bibliothèques de producteurs

Kinesis Video Streams vous APIs permet de créer et de gérer des flux et de lire ou d'écrire des données multimédia depuis et vers un flux. Outre les fonctionnalités d'administration, la console Kinesis Video Streams prend également en charge la diffusion en direct video-on-demand et la lecture. Kinesis Video Streams fournit également un ensemble de bibliothèques de production que vous pouvez utiliser dans le code de votre application pour extraire des données de vos sources multimédia et les télécharger sur votre flux vidéo Kinesis.

Kinesis Video Streams API

Kinesis Video Streams APIs permet de créer et de gérer des Kinesis Video Streams. Il permet également APIs de lire et d'écrire des données multimédia dans un flux, comme suit :

  • Producteur API — Kinesis Video Streams permet PutMedia API d'écrire des données multimédia dans un flux vidéo Kinesis. Dans une requête PutMedia, le producteur envoie un flux de fragments média. Un fragment est une séquence d'images autonomes. Les images appartenant à un fragment ne doivent avoir aucune dépendance vis-à-vis des images provenant d'autres fragments. Pour de plus amples informations, veuillez consulter PutMedia.

    À mesure que les fragments arrivent, Kinesis Video Streams attribue un numéro de fragment unique, par ordre croissant. Il stocke également les horodatages côté producteur et côté serveur pour chaque fragment, sous forme de métadonnées spécifiques à Kinesis Video Streams.

  • Consommateur APIs — Les consommateurs peuvent utiliser les éléments suivants APIs pour obtenir des données à partir d'un flux :

    • GetMedia- Lors de son utilisationAPI, les consommateurs doivent identifier le fragment de départ. Le renvoie API ensuite les fragments dans l'ordre dans lequel ils ont été ajoutés au flux (par ordre croissant par numéro de fragment). Les données multimédia contenues dans les fragments sont regroupées dans un format structuré tel que Matroska () MKV. Pour de plus amples informations, veuillez consulter GetMedia.

      Note

      GetMedia connait l'emplacement des fragments (archivés dans le magasin de données ou disponibles en temps réel). Par exemple, si GetMedia détermine que le fragment de départ est archivé, il commence à renvoyer des fragments à partir du magasin de données. Lorsqu'il doit renvoyer des fragments plus récents qui ne sont pas encore archivés, GetMedia passe à la lecture de fragments depuis une mémoire tampon de flux en mémoire.

      Ceci est un exemple d'un consommateur continue qui traite les fragments dans l'ordre dans lequel ils sont assimilés par le flux.

      GetMedia permet aux applications de traitement vidéo d'échouer ou de prendre du retard, puis de rattraper sans aucun effort supplémentaire. Par l'utilisation de GetMedia, les applications peuvent traiter les données archivées dans le magasin de données et lorsque l'application rattrape les tâches, GetMedia continue d'alimenter les données média en temps réel à leur arrivée.

    • GetMediaFromFragmentList (et ListFragments) - Les applications de traitement par lot sont considérées comme consommateurs hors ligne. Les consommateurs hors ligne peuvent choisir de récupérer explicitement des fragments multimédia ou des séries de vidéos spécifiques en combinant les éléments ListFragments et GetMediaFromFragmentListAPIs. ListFragmentset GetMediaFromFragmentList permettre à une application d'identifier des segments vidéo pour une plage de temps ou de fragments donnée, puis de récupérer ces fragments séquentiellement ou en parallèle pour les traiter. Cette approche convient aux gammes d'application MapReduce, qui doit traiter rapidement de grandes quantités de données en parallèle.

      Par exemple, supposons qu'un client souhaite traiter les fragments de vidéos d'une journée. Le consommateur doit procéder comme suit :

      1. Obtenez une liste de fragments en appelant le ListFragments API et en spécifiant une plage de temps pour sélectionner la collection de fragments souhaitée.

        APIRenvoie les métadonnées de tous les fragments dans la plage de temps spécifiée. Les métadonnées fournissent des informations telles que le numéro du fragment, les horodatages côté producteur et côté serveur, etc.

      2. Prenez la liste de métadonnées de fragment et récupérez les fragments, dans n'importe quel ordre. Par exemple, pour traiter tous les fragments de la journée, le consommateur peut choisir de diviser la liste en sous-listes et de demander aux employés (par exemple, plusieurs EC2 instances Amazon) de récupérer les fragments en parallèle à l'aide duGetMediaFromFragmentList, et de les traiter en parallèle.

Le schéma suivant montre le flux de données pour les fragments et les segments au cours de ces API appels.

Schéma montrant le flux de données pour les fragments et les mandrins pendant les appels API

Lorsqu'un producteur envoie une requête PutMedia, il envoie les métadonnées média dans la charge utile, puis envoie une séquence de fragments de données média. Dès réception des données, Kinesis Video Streams stocke les données multimédia entrantes sous forme de fragments Kinesis Video Streams. Chaque morceau se compose des éléments suivants :

  • Une copie des métadonnées média

  • Un fragment

  • Métadonnées spécifiques à Kinesis Video Streams, par exemple le numéro du fragment et les horodatages côté serveur et côté producteur

Lorsqu'un consommateur demande des métadonnées multimédia, Kinesis Video Streams renvoie un flux de fragments, en commençant par le numéro de fragment que vous spécifiez dans la demande.

Si vous activez la persistance des données pour le flux, après avoir reçu un fragment dans le flux, Kinesis Video Streams enregistre également une copie du fragment dans le magasin de données.

Modèle de découverte des terminaux

Plan de contrôle REST APIs

Pour accéder au REST APIs plan de contrôle Kinesis Video Streams, utilisez les points de terminaison du service Kinesis Video Streams.

Plan de données REST APIs

Kinesis Video Streams repose sur une architecture cellulaire afin de garantir une meilleure évolutivité et de meilleures propriétés d'isolation du trafic. Chaque flux étant mappé à une cellule spécifique d'une région, votre application doit utiliser les points de terminaison spécifiques à la cellule auxquels votre flux a été mappé. Lorsque vous accédez au plan de données RESTAPIs, vous devez gérer et cartographier vous-même les points de terminaison appropriés. Ce processus, le modèle de découverte des terminaux, est décrit ci-dessous :

  1. Le modèle de découverte des terminaux commence par un appel à l'une des GetEndpoints actions. Ces actions appartiennent au plan de contrôle.

    1. Si vous récupérez les points de terminaison pour les Amazon Kinesis Video Streams services Amazon Kinesis Video Streams or, utilisez. GetDataEndpoint

    2. Si vous recherchez les points de terminaison pour Amazon KinesisStockage vidéo sur le Web Amazon Kinesis RTC, ou pour Kinesis Video Signaling, utilisez. GetSignalingChannelEndpoint

  2. Mettez en cache et réutilisez le point de terminaison.

  3. Si le point de terminaison mis en cache ne fonctionne plus, effectuez un nouvel appel pour GetEndpoints actualiser le point de terminaison.

Bibliothèques pour producteurs

Après avoir créé un flux vidéo Kinesis, vous pouvez commencer à lui envoyer des données. Dans le code de votre application, vous pouvez utiliser ces bibliothèques pour extraire des données de vos sources multimédia et les télécharger dans votre flux vidéo Kinesis. Pour plus d'informations sur les bibliothèques producteur disponibles, consultez Transférer vers Kinesis Video Streams.