Annotation des vidéos en streaming

Cette page explique comment extraire des analyses d'un flux vidéo à partir d'un fichier discret ou de données archivées. Pour savoir comment annoter un flux vidéo en direct, consultez la page Diffuser une vidéo en direct.

Vous pouvez détecter les vidéos en temps réel à l'aide des fonctionnalités suivantes de l'API en streaming (StreamingVideoIntelligenceService) :

Vous pouvez utiliser Vertex AI AutoML pour les fonctionnalités suivantes :

Utiliser l'API Streaming

Vous pouvez diviser un fichier vidéo en fragments et diffuser chacun d'eux à l'aide d'une requête gRPC afin d'envoyer plusieurs messages au service de diffusion de l'API Video Intelligence. Le premier message doit uniquement contenir un message StreamingVideoConfig. Tous les messages suivants ne doivent contenir que des données vidéo.

Le service de streaming de l'API Video Intelligence renvoie une réponse contenant les résultats basés sur la fonctionnalité que vous avez spécifiée dans votre configuration vidéo.

Dans une requête gRPC, vous écrivez directement les données binaires dans le flux. Vous n'avez pas besoin de convertir les contenus vidéo en base64.

Nous vous recommandons de limiter la taille de vos séquences vidéo à moins de 10 Mo.

Video Intelligence vous permet également de spécifier un bucket Google Cloud Storage pour stocker les résultats.

Codecs vidéo acceptés

Video Intelligence accepte les formats vidéo courants suivants :

Format Notes
MTS, FLV Les formats vidéo MTS et FLV sont acceptés.
MP4 (MPEG4), MOV, 3GP

L'atome MOOV doit se trouver au début du fichier.

Vous pouvez placer l'atome MOOV au début du fichier vidéo à l'aide de l'outil ffmpeg, comme indiqué dans l'exemple suivant :


$ ffmpeg -i input_file.mp4 -c copy -map 0 -movflags faststart output_file.mp4
MKV, WebM

Les repères doivent se trouver au début du fichier.

Vous pouvez déplacer le repère au début du fichier à l'aide de l'outil mkclean, comme indiqué dans l'exemple suivant :


$ mkclean --keep-cues --optimize in.mkv out.mkv
$ mkclean --keep-cues --optimize --doctype 4 in.webm out.webm

Vous pouvez déterminer si votre fichier vidéo autorise la diffusion des formats vidéo qui ne sont pas répertoriés comme étant compatibles à l'aide d'un pipeline nommé et de l'outil ffmpeg. Les exemples de commandes suivants décodent une vidéo en images PNG à un débit de 0,2 FPS. Si vous parvenez à décoder votre fichier avec ces commandes, vous pouvez le diffuser à l'aide du service de diffusion de Video Intelligence.

$ mkfifo /tmp/inpipe
$ ffmpeg -i /tmp/inpipe -r 0.2 output_%04d.png
$ cat [FILE NAME] > /tmp/inpipe