Cette page décrit comment annoter un flux vidéo à partir de protocoles standards de diffusion en direct.
L'API Video Intelligence Streaming permet d'effectuer une analyse de la diffusion en temps réel des médias en direct. Les fonctionnalités suivantes sont acceptées :
Détection des libellés en direct
Détection des changements de plans en direct
Détection du contenu explicite en direct
Détection et suivi des objets en direct
La bibliothèque d'ingestion AIStreamer fournit un ensemble d'interfaces Open Source et un exemple de code pour se connecter à l'API Video Intelligence Streaming. La bibliothèque est compatible avec les protocoles suivants :
HTTP Live Streaming (HLS) : protocole de communication et de streaming multimédia basé sur HTTP
Real Time Streaming Protocol (RTSP) : protocole de contrôle réseau pour la diffusion des serveurs multimédias. Il est utilisé conjointement avec les protocoles RTP (Real Time Protocol) et RTCP (Real Time Control Protocol).
Real Time Messaging Protocol (RTMP) : protocole de diffusion des données audio, vidéo et autres sur Internet
Prérequis pour utiliser AIStreamer
La bibliothèque d'ingestion AIStreamer comprend les exemples suivants (y compris un exemple Docker).
Streaming en direct : instructions concernant la compatibilité avec les protocoles de streaming en direct (HLS, RTSP et RTMP) dans l'API Video Intelligence
Docker et Kubernetes : instructions relatives à l'utilisation de l'exemple Docker et du déploiement de Kubernetes
Détection des libellés en direct : instructions relatives à l'analyse des libellés en streaming
Détection des changements de plans en direct : instructions relatives à la diffusion de l'analyse des changements de plans
Détection du contenu explicite en direct : instructions relatives à la diffusion de l'analyse du contenu explicite
Détection et suivi des objets en direct : instructions relatives à la détection et à l'analyse du suivi des objets en streaming
Architecture du code
La bibliothèque d'ingestion AIStreamer comprend les trois répertoires suivants :
client : bibliothèques clientes Python et C++ permettant de se connecter à Video Intelligence
env : exemple Docker pour l'ingestion d'AIStreamer
proto : définitions Proto et interface gRPC de Video Intelligence
Dépendances tierces
La bibliothèque d'ingestion Open Source AIStreamer est basée sur les bibliothèques Open Source suivantes, qui appartiennent à Google et à des tiers.
Bazel : outil de création et de test disponible en plusieurs langues
gRPC : framework RPC universel Open Source hautes performances
Protobuf : mécanisme extensible de sérialisation des données structurées de Google, indépendant de la langue et de la plate-forme
rules_protobuf : règles de Bazel permettant de créer des tampons de protocole et des services gRPC
glog : mise en œuvre du module de journalisation Google en C++
gflags : bibliothèque C++ mettant en œuvre le traitement des indicateurs de ligne de commande
ffmpeg : solution multiplate-forme complète permettant d'enregistrer, de convertir et de diffuser des contenus audio et vidéo
gStreamer : autre framework de traitement et de diffusion multimédia multiplate-forme