En esta página se describe cómo anotar una emisión de vídeo a partir de protocolos de emisión en directo estándar.
La API Streaming de la API Video Intelligence permite analizar en tiempo real el contenido multimedia en directo. Entre las funciones admitidas se incluyen las siguientes:
Detección de etiquetas en directo
Detección de cambios de plano en directo
Detección de contenido explícito en directo
Detección y seguimiento de objetos en directo
La biblioteca de ingestión AIStreamer proporciona un conjunto de interfaces de código abierto y código de ejemplo para conectarse a la API Streaming de Video Intelligence. La biblioteca admite lo siguiente:
HTTP Live Streaming (HLS): protocolo de streaming y comunicación multimedia basado en HTTP.
Protocolo de transmisión en tiempo real (RTSP): protocolo de control de red para servidores de contenido multimedia en streaming. Se usa junto con el protocolo en tiempo real (RTP) y el protocolo de control en tiempo real (RTCP).
Protocolo de mensajería en tiempo real (RTMP): protocolo para transmitir audio, vídeo y datos a través de Internet.
Para empezar a usar AIStreamer
La biblioteca de ingestión AIStreamer incluye los siguientes ejemplos (incluido un ejemplo de Docker).
Emisión en directo: instrucciones para admitir protocolos de emisión en directo (HLS, RTSP y RTMP) en la API Video Intelligence.
Docker y Kubernetes: instrucciones para usar nuestro ejemplo de Docker y el despliegue de Kubernetes.
Detección de etiquetas en directo: instrucciones para transmitir el análisis de etiquetas.
Detección de cambios de plano en directo: instrucciones para analizar los cambios de plano en streaming.
Detección de contenido explícito en directo: instrucciones para analizar contenido explícito en streaming.
Detección y seguimiento de objetos en directo: instrucciones para transmitir análisis de detección y seguimiento de objetos.
Arquitectura del código
La biblioteca de ingestión AIStreamer incluye los tres directorios siguientes:
Cliente: bibliotecas de cliente de Python y C++ para conectarse a Video Intelligence.
env: Ejemplo de Docker para la ingestión de AIStreamer.
proto: Definiciones de Proto e interfaz gRPC para Video Intelligence.
Dependencias de terceros
La biblioteca de ingestión de AIStreamer de código abierto se basa en las siguientes bibliotecas de código abierto propiedad de Google y de terceros.
Bazel: una herramienta de compilación y pruebas compatible con varios idiomas.
gRPC un framework de RPC universal de código abierto y alto rendimiento.
Protobuf: mecanismo extensible, neutral en cuanto a idiomas y plataformas, diseñado por Google para serializar datos estructurados.
rules_protobuf reglas de Bazel para crear búferes de protocolo y servicios gRPC.
glog implementación en C++ del módulo de registro de Google.
gflags: biblioteca de C++ que implementa el procesamiento de marcas de línea de comandos.
ffmpeg una solución completa y multiplataforma para grabar, convertir y transmitir audio y vídeo.
gStreamer otro framework multiplataforma de procesamiento y streaming multimedia.