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êtePutMedia
, 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, siGetMedia
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 deGetMedia
, 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
(etListFragments
) - 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émentsListFragments
etGetMediaFromFragmentList
APIs.ListFragments
etGetMediaFromFragmentList
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'applicationMapReduce
, 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 :
-
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.
-
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 du
GetMediaFromFragmentList
, 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.
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 :
-
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.Si vous récupérez les points de terminaison pour les Amazon Kinesis Video Streams services Amazon Kinesis Video Streams or, utilisez. GetDataEndpoint
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
Mettez en cache et réutilisez le point de terminaison.
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.