Diffuser des vidéos en streaming

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).

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