Créer des flux et ingérer des données

La première étape de l'analyse de vos données vidéo avec une application consiste à créer un pipeline pour le flux continu de données. Les flux permettent d'ingérer des données vidéo en temps réel, qui peuvent ensuite être utilisées comme entrée pour des modèles ou stockées dans un entrepôt.

Créer un flux

Pour pouvoir diffuser des données vidéo, vous devez d'abord créer un flux.

La première fois que vous créez un flux dans un nouveau projet, cela peut prendre un certain temps. Ce délai est d'environ 30 minutes. Ce délai est dû au fait que le système doit initialiser un cluster de calcul pour les calculs suivants.

Console

Créez un flux dans la console Google Cloud.

  1. Ouvrez l'onglet Flux du tableau de bord Vision Vertex AI.

    Accéder à l'onglet "Flux"

  2. Cliquez sur S'inscrire.

  3. Saisissez le nom du flux et sélectionnez une région. Vous pouvez cliquer sur Ajouter une ligne pour enregistrer plusieurs flux en même temps.

  4. Cliquez sur le bouton Register (S'inscrire) pour créer un ou plusieurs flux.

Ingérer des vidéos

Une fois que vous avez créé un flux, vous pouvez commencer à ingérer des données à l'aide de celui-ci.

Certaines restrictions et considérations s'appliquent aux vidéos ingérées:

  • La source vidéo d'entrée doit respecter les spécifications suivantes :

    Si la vidéo ne répond pas à ces spécifications, Vertex AI Vision risque de ne pas bien traiter l'entrée.

  • L'audio est abandonné lors de l'ingestion.
  • Si le flux fait partie d'une application connectée à un entrepôt, les paramètres vidéo (tels que les FPS ou la résolution) doivent être les mêmes pour l'ensemble du flux. Les variations des paramètres de données vidéo RTSP ou des paramètres de données vidéo locales ne sont pas acceptées.
  • En raison de la latence de démarrage du modèle, les premières secondes du contenu des vidéos ingérées peuvent être manquantes. Cette durée peut atteindre 15 secondes.
  • L'arrêt de l'ingestion peut se produire après une longue connexion (environ cinq heures en moyenne). L'outil vaictl ne permet pas de se reconnecter. Les utilisateurs doivent le faire manuellement.
  • Bien que vaictl soit un outil utile pour ingérer des données vidéo, il ne gère pas automatiquement la récupération en cas d'erreurs réseau. Ces erreurs peuvent provenir du côté de la source de données ou de l'ingestion dans le cloud. Il incombe à l'utilisateur de créer un script de redémarrage pour gérer les arrêts inattendus des opérations vaictl.

SDK Vertex AI Vision

Pour envoyer une requête d'ingestion de données vidéo à l'aide d'un flux existant, vous devez installer le SDK Vertex AI Vision.

Effectuez les substitutions de variables suivantes :

  • PROJECT_ID : ID de votre projet Google Cloud .
  • LOCATION_ID: ID de votre emplacement. Exemple :us-central1 En savoir plus Régions où le service est disponible
  • LOCAL_FILE.EXT: nom de fichier d'un fichier vidéo local. Exemple : my-video.mp4.
  • STREAM_ID: ID du flux que vous avez créé dans le cluster (par exemple, input-1).
  • RTSP_ADDRESS: adresse de votre flux RTSP (Real Time Streaming Protocol). Par exemple, rtsp://my-ip-camera.

Données vidéo locales :

# This command streams a video file to a stream. Streaming ends when the video ends.
vaictl -p PROJECT_ID \
         -l LOCATION_ID \
         -c application-cluster-0 \
         --service-endpoint visionai.googleapis.com \
send video-file to streams STREAM_ID --file-path LOCAL_FILE.EXT

Données vidéo locales (en boucle):

# This command streams a video file to a stream. Video is looped into the stream until you stop the command.
vaictl -p PROJECT_ID \
         -l LOCATION_ID \
         -c application-cluster-0 \
         --service-endpoint visionai.googleapis.com \
send video-file to streams STREAM_ID --file-path LOCAL_FILE.EXT --loop

Données de flux RTSP (Real Time Streaming Protocol) :

# This command will send an RTSP feed into the stream.
# This command has to run in the network that has direct access to the RTSP feed.
vaictl -p PROJECT_ID \
         -l LOCATION_ID \
         -c application-cluster-0 \
         --service-endpoint visionai.googleapis.com \
send rtsp to streams STREAM_ID --rtsp-uri RTSP_ADDRESS

Lire des vidéos ingérées

Une fois que vous avez créé un flux et envoyé du contenu vidéo à ce flux, vous pouvez le lire.

Si vous laissez l'onglet de la vue en streaming ouvert pendant plus d'une heure, vous devez actualiser la page pour continuer à charger les contenus vidéo.

Console

Lire la vidéo ingérée dans la console Google Cloud

  1. Ouvrez l'onglet Flux du tableau de bord Vertex AI Vision.

    Accéder à l'onglet "Flux"

  2. Cliquez sur le nom du flux dans la liste des flux.

  3. Sur la page d'informations du flux vidéo, la vue en direct de la vidéo ingérée se charge automatiquement.