Utilisation de la bibliothèque Producteur C++ - 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 de la bibliothèque Producteur C++

Vous pouvez utiliser la bibliothèque C++ Producer Library fournie par Amazon Kinesis Video Streams pour écrire du code d'application afin d'envoyer des données multimédia d'un appareil vers un flux vidéo Kinesis.

Modèle d'objet

La bibliothèque C++ fournit les objets suivants pour gérer l'envoi de données vers un flux vidéo Kinesis :

  • KinesisVideoProducer: contient des informations sur votre source multimédia et vos AWS informations d'identification, et gère des rappels pour signaler les événements liés à Kinesis Video Streams.

  • KinesisVideoStream: représente le flux vidéo Kinesis. Contient des informations sur les paramètres du flux vidéo, tels que le nom, la durée de conservation des données et le type de contenu multimédia.

Intégrer du contenu multimédia dans le stream

Vous pouvez utiliser les méthodes fournies par la bibliothèque C++ (par exemple,PutFrame) pour insérer des données dans l'KinesisVideoStreamobjet. La bibliothèque gère ensuite l'état interne des données, ce qui peut inclure les tâches suivantes :

  • Réalisation de l'authentification.

  • Supervision de la latence du réseau. Si la latence est trop élevée, la bibliothèque peut choisir d'abandonner des images.

  • Suivi de l'état du streaming en cours.

Interfaces de rappel

Cette couche propose un ensemble d'interfaces de rappel, ce qui lui permet de consulter la couche d'application. Parmi ces interfaces de rappel, on trouve :

  • Interface de rappel de service (CallbackProvider) : la bibliothèque invoque les événements obtenus via cette interface lorsqu'elle crée un flux, obtient une description de flux et supprime un flux.

  • L'interface d'événements à l'état Client disponible ou à stockage faible (ClientCallbackProvider) : la bibliothèque invoque des événements sur cette interface lorsque le client est prêt ou lorsqu'elle détecte un faible espace de stockage ou une faible mémoire.

  • L'interface de rappel d'événements de flux (StreamCallbackProvider) : la bibliothèque invoque des événements sur cette interface lors d'événements de flux, par exemple lorsque le flux entre en l'état Prêt, abandonne des images, lorsque des erreurs de flux surviennent, etc.

Kinesis Video Streams fournit des implémentations par défaut pour ces interfaces. Vous pouvez également fournir votre propre implémentation personnalisée, par exemple, si vous avez besoin d'une logique réseau personnalisée ou si vous souhaitez exposer l'interface utilisateur à un faible niveau de stockage.

Pour plus d'informations sur les rappels des bibliothèques Producteur, consultez Rappels du SDK pour les producteurs.

Procédure : Utilisation du kit SDK Producteur C++

Cette procédure explique comment utiliser le client Kinesis Video Streams et les sources multimédia dans une application C++ pour envoyer des données à votre flux vidéo Kinesis.

La procédure comprend les étapes suivantes :

Prérequis

  • Informations d'identification : dans l'exemple de code, vous fournissez des informations d'identification en spécifiant un profil que vous avez configuré dans votre fichier de profil AWS d'informations d'identification. Si vous n'y avez pas encore procédé, commencez par définir votre profil à informations d'identification.

    Pour plus d'informations, voir Configurer les AWS informations d'identification et la région pour le développement.

  • Intégration du magasin de certificats : la bibliothèque Kinesis Video Streams Producer doit établir un lien de confiance avec le service qu'elle appelle. Cela se fait en validant les autorités de certification (CA) dans le magasin de certificats public. Sur les modèles basés sur Linux, ce magasin est localisé dans le répertoire /etc/ssl/.

    Télécharger le certificat depuis l'emplacement suivant vers votre magasin de certificats :

    https://www.amazontrust.com/repository/SFSRootCAG2.pem

  • Installez les dépendances de build suivantes pour macOS :

  • Installez les dépendances de build suivantes pour Ubuntu :

    • Git : sudo apt install git

    • CMake : sudo apt install cmake

    • G ++ : sudo apt install g++

    • configuration du fichier : sudo apt install pkg-config

    • OpenJDK : sudo apt install openjdk-8-jdk

      Note

      Cela n'est nécessaire que si vous créez une interface native Java (JNI).

    • Définissez la variable d'environnement :JAVA_HOME export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/

Étape suivante

Étape 1 : Télécharger et configurer la bibliothèque le code de bibliothèque Producteur C++