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.
Exemple : Plug-in de SDK GStreamer production de Kinesis Video Streams - kvssink
Cette rubrique explique comment créer le SDK producteur Amazon Kinesis Video Streams à utiliser GStreamer comme plugin.
Rubriques
GStreamer
Le GStreamer plugin gère automatiquement le transfert de votre flux vidéo vers Kinesis Video Streams en encapsulant les fonctionnalités fournies par le producteur Kinesis Video SDK Streams GStreamer dans un élément récepteur,. kvssink
Le GStreamer framework fournit un environnement géré standard pour créer un flux multimédia à partir d'un périphérique tel qu'une caméra ou une autre source vidéo pour un traitement, un rendu ou un stockage ultérieurs.
Le GStreamer pipeline consiste généralement en un lien entre une source (caméra vidéo) et l'élément récepteur (soit un lecteur pour le rendu de la vidéo, soit un stockage pour la récupération hors ligne). Dans cet exemple, vous utilisez l'SDKélément Producer comme récepteur, ou destination multimédia, pour votre source vidéo (webcam ou caméra IP). L'élément du plugin qui encapsule le flux vidéo est SDK ensuite envoyé à Kinesis Video Streams.
Cette rubrique explique comment créer un pipeline GStreamer multimédia capable de diffuser des vidéos à partir d'une source vidéo, telle qu'une caméra Web ou un RTSP flux, généralement connectée via des étapes de codage intermédiaires (à l'aide du codage H.264) à Kinesis Video Streams. Lorsque votre flux vidéo est disponible sous forme de flux vidéo Kinesis, vous pouvez l'utiliser Regardez le résultat des caméras à l'aide de la bibliothèque d'analyseurs pour poursuivre le traitement, la lecture, le stockage ou l'analyse de votre flux vidéo.
Téléchargez, créez et configurez l'GStreamerélément
L'exemple de GStreamer plugin est inclus dans le producteur Kinesis Video Streams C++SDK. Pour plus d'informations sur SDK les prérequis et le téléchargement, consultezTéléchargez et configurez le code de la bibliothèque C++ Producer.
Vous pouvez créer le SDK GStreamer récepteur de production sous forme de bibliothèque dynamique sur macOS, Ubuntu, Raspberry Pi ou Windows. Le GStreamer plugin se trouve dans votre build
répertoire. Pour charger ce plugin, il doit se trouver dans votreGST_PLUGIN_PATH
. Exécutez la commande suivante :
export GST_PLUGIN_PATH=`pwd`/build
Note
Sur macOS, vous ne pouvez diffuser de la vidéo à partir d'une caméra réseau que si vous l'exécutez GStreamer dans un conteneur Docker. Le streaming vidéo depuis une USB caméra sur macOS dans un conteneur Docker n'est pas pris en charge.
Exécutez l'GStreamerélément
Pour exécuter GStreamer avec l'élément SDK producteur Kinesis Video Streams comme récepteur, utilisez gst-launch-1.0
la commande. Utilisez des éléments en amont adaptés à l'utilisation du GStreamer plugin. Par exemple, v4l2src pour les appareils v4l2 sur les systèmes Linux, ou rtspsrckvssink
comme récepteur (destination finale du pipeline) pour envoyer la vidéo au producteurSDK.
En plus de fournir des informations d'identification et une région, l'kvssink
élément possède le paramètre obligatoire suivant :
-
stream-name
— Le nom du Kinesis Video Streams de destination.
Pour plus d'informations sur les paramètres facultatifs kvssink
, consultez GStreamerréférence de paramètre d'élément.
Pour obtenir les dernières informations sur les GStreamer plug-ins et les paramètres, consultez la section GStreamerPluginsgst-inspect-1.0
suivi du nom d'un GStreamer élément ou d'un plugin pour imprimer ses informations et vérifier qu'il est disponible sur votre appareil :
gst-inspect-1.0 kvssink
Si la construction kvssink
a échoué ou si GST PLUGIN _ _ n'PATHest pas correctement défini, votre résultat ressemblera à ceci :
No such element or plugin 'kvssink'
Exemples de commandes GStreamer de lancement
Les exemples suivants montrent comment utiliser le kvssink
GStreamer plugin pour diffuser des vidéos à partir de différents types d'appareils.
Exemple 1 : Diffuser une vidéo depuis une RTSP caméra sous Ubuntu
La commande suivante crée un GStreamer pipeline sur Ubuntu qui diffuse à partir d'une RTSP caméra réseau à l'aide du plugin rtspsrc
gst-launch-1.0 -v rtspsrc location="rtsp://YourCameraRtspUrl" short-header=TRUE ! rtph264depay ! h264parse ! kvssink stream-name="YourStreamName" storage-size=128
Exemple 2 : Encoder et diffuser une vidéo à partir d'une USB caméra sur Ubuntu
La commande suivante crée un GStreamer pipeline sur Ubuntu qui encode le flux provenant d'une USB caméra au format H.264 et le diffuse vers Kinesis Video Streams. Cet exemple utilise le plugin GStreamerv4l2src
gst-launch-1.0 v4l2src do-timestamp=TRUE device=/dev/video0 ! videoconvert ! video/x-raw,format=I420,width=640,height=480,framerate=30/1 ! x264enc bframes=0 key-int-max=45 bitrate=500 ! video/x-h264,stream-format=avc,alignment=au,profile=baseline ! kvssink stream-name="YourStreamName" storage-size=512 access-key="YourAccessKey" secret-key="YourSecretKey" aws-region="YourAWSRegion"
Exemple 3 : Diffuser une vidéo pré-encodée depuis une USB caméra sous Ubuntu
La commande suivante crée un GStreamer pipeline sur Ubuntu qui diffuse des vidéos déjà codées par la caméra au format H.264 vers Kinesis Video Streams. Cet exemple utilise le plugin GStreamerv4l2src
gst-launch-1.0 v4l2src do-timestamp=TRUE device=/dev/video0 ! h264parse ! video/x-h264,stream-format=avc,alignment=au ! kvssink stream-name="plugin" storage-size=512 access-key="YourAccessKey" secret-key="YourSecretKey" aws-region="YourAWSRegion"
Exemple 4 : Diffuser une vidéo depuis une caméra réseau sous macOS
La commande suivante crée un GStreamer pipeline sur macOS qui diffuse des vidéos vers Kinesis Video Streams à partir d'une caméra réseau. Cet exemple utilise le plugin rtspsrc
gst-launch-1.0 rtspsrc location="rtsp://YourCameraRtspUrl" short-header=TRUE ! rtph264depay ! h264parse ! video/x-h264, format=avc,alignment=au ! kvssink stream-name="YourStreamName" storage-size=512 access-key="YourAccessKey" secret-key="YourSecretKey" aws-region="YourAWSRegion"
Exemple 5 : Diffuser une vidéo à partir d'une caméra réseau sous Windows
La commande suivante crée un GStreamer pipeline sous Windows qui diffuse des vidéos vers Kinesis Video Streams à partir d'une caméra réseau. Cet exemple utilise le plugin rtspsrc
gst-launch-1.0 rtspsrc location="rtsp://YourCameraRtspUrl" short-header=TRUE ! rtph264depay ! video/x-h264, format=avc,alignment=au ! kvssink stream-name="YourStreamName" storage-size=512 access-key="YourAccessKey" secret-key="YourSecretKey" aws-region="YourAWSRegion"
Exemple 6 : Diffuser une vidéo depuis une caméra sur un Raspberry Pi
La commande suivante crée un GStreamer pipeline sur le Raspberry Pi qui diffuse des vidéos vers Kinesis Video Streams. Cet exemple utilise le plugin GStreamerv4l2src
gst-launch-1.0 v4l2src do-timestamp=TRUE device=/dev/video0 ! videoconvert ! video/x-raw,format=I420,width=640,height=480,framerate=30/1 ! omxh264enc control-rate=1 target-bitrate=5120000 periodicity-idr=45 inline-header=FALSE ! h264parse ! video/x-h264,stream-format=avc,alignment=au,width=640,height=480,framerate=30/1,profile=baseline ! kvssink stream-name="YourStreamName" access-key="YourAccessKey" secret-key="YourSecretKey" aws-region="YourAWSRegion"
Exemple 7 : Diffuser de l'audio et de la vidéo dans Raspberry Pi et Ubuntu
Découvrez comment exécuter la commande gst-launch-1.0 pour commencer à diffuser en streaming du contenu audio et vidéo dans Raspberry-PI et Ubuntu
Exemple 8 : Diffuser du son et de la vidéo à partir des sources de l'appareil sous macOS
Découvrez comment exécuter la commande gst-launch-1.0 pour commencer à diffuser en streaming du contenu audio et vidéo dans MacOS
Exemple 9 : Importer un MKV fichier contenant à la fois du son et de la vidéo
Découvrez comment exécuter la commande gst-launch-1.0 pour télécharger un MKV fichier contenant à la fois
Exécuter l'GStreamerélément dans un conteneur Docker
Docker est une plateforme permettant de développer, de déployer et d'exécuter des applications à l'aide de conteneurs. L'utilisation de Docker pour créer le GStreamer pipeline normalise l'environnement d'exploitation de Kinesis Video Streams, ce qui rationalise la création et l'utilisation de l'application.
Pour installer et configurer Docker, consultez les éléments suivants :
Après avoir installé Docker, vous pouvez télécharger le Kinesis Video Streams C++ SDK Producer (GStreameret le plugin) depuis le Amazon Elastic Container Registry à l'aide de l'une des commandes ci-dessous. docker
pull
Pour exécuter GStreamer l'élément SDK producteur Kinesis Video Streams comme récepteur dans un conteneur Docker, procédez comme suit :
Rubriques
Authentifiez votre client Docker
Authentifiez votre client Docker auprès ECR du registre Amazon à partir duquel vous souhaitez extraire votre image. Vous devez obtenir des jetons d'authentification pour chaque registre utilisé. Les jetons sont valides pendant 12 heures. Pour plus d'informations, veuillez consulter Authentification de registre dans le Guide de l'utilisateur Amazon Elastic Container Registry.
Exemple : Authentifiez-vous auprès d'Amazon ECR
Pour vous authentifier auprès d'AmazonECR, copiez et collez la commande suivante comme indiqué.
sudo aws ecr get-login-password --region us-west-2 | docker login -u AWS --password-stdin https://546150905175.dkr.ecr.us-west-2.amazonaws.com
En cas de succès, la sortie imprime Login Succeeded
.
Téléchargez l'image Docker pour Ubuntu, macOS, Windows ou Raspberry Pi
Téléchargez l'image Docker dans votre environnement Docker à l'aide d'une des commandes suivantes en fonction de votre système d'exploitation :
Téléchargez l'image Docker pour Ubuntu
sudo docker pull 546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-amazon-linux:latest
Téléchargez l'image Docker pour macOS
docker pull 546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-amazon-linux:latest
Téléchargez l'image Docker pour Windows
docker pull 546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-amazon-windows:latest
Téléchargez l'image Docker pour Raspberry Pi
sudo docker pull 546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-raspberry-pi:latest
Pour vérifier que l'image a été ajoutée avec succès, utilisez la commande suivante :
docker images
Exécutez l'image Docker
Utilisez l'une des commandes suivantes pour exécuter l'image Docker en fonction de votre système d'exploitation :
Exécutez l'image Docker sur Ubuntu
sudo docker run -it --network="host" --device=/dev/video0 546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-amazon-linux /bin/bash
Exécutez l'image Docker sur macOS
sudo docker run -it --network="host" 546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-amazon-linux /bin/bash
Exécutez l'image Docker sous Windows
docker run -it 546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-windows
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
RTSP_URL
STREAM_NAME
Exécutez l'image Docker sur Raspberry Pi
sudo docker run -it --device=/dev/video0 --device=/dev/vchiq -v /opt/vc:/opt/vc 546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-raspberry-pi /bin/bash
Docker lance le conteneur et vous présente une invite de commande pour utiliser les commandes dans le conteneur.
Dans le conteneur, définissez les variables d'environnement à l'aide de la commande suivante :
export LD_LIBRARY_PATH=/opt/awssdk/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build/downloads/local/lib:$LD_LIBRARY_PATH export PATH=/opt/awssdk/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build/downloads/local/bin:$PATH export GST_PLUGIN_PATH=/opt/awssdk/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build/downloads/local/lib:$GST_PLUGIN_PATH
Commencez à diffuser en kvssink
utilisant le gst-launch-1.0
pour exécuter un pipeline adapté à votre appareil et à votre source vidéo. Par exemple, les pipelines, voirExemples de commandes GStreamer de lancement.