En esta página, se describe cómo anotar una transmisión de video desde protocolos de transmisión en vivo estándar.
La API de transmisión de la API de Video Intelligence habilita el análisis de transmisión en tiempo real para los medios de comunicación en vivo. Entre las funciones compatibles, se incluyen las siguientes:
Detección de etiquetas en tiempo real
Detección de cambio de plano en tiempo real
Detección de contenido explícito en tiempo real
Detección y seguimiento de objetos en vivo
La biblioteca de transferencia de AIStreamer proporciona un conjunto de interfaces de código abierto y un código de ejemplo para conectarse a la API de transmisión de la API de Video Intelligence. La biblioteca admite lo siguiente:
HTTP Live Streaming (HLS): protocolo de comunicación y transmisión en medios de comunicación basado en HTTP.
Protocolo de transmisión en tiempo real (RTSP): protocolo de control de red para servidores de medios de transmisión. 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): un protocolo para transmitir audio, video y datos a través de Internet.
Haz lo siguiente para comenzar a usar AIStreamer.
La biblioteca de transferencia de AIStreamer incluye los siguientes ejemplos (incluido un ejemplo de Docker).
Transmisión en vivo: Instrucciones para admitir protocolos de transmisión en vivo (HLS, RTSP y RTMP) en la API de Video Intelligence.
Docker y Kubernetes: Instrucciones para usar el ejemplo de Docker y la implementación de Kubernetes.
Detección de etiquetas en vivo: Instrucciones para el análisis de etiquetas de transmisión.
Detección de cambio de toma en vivo: Instrucciones para realizar un análisis de cambios de toma de una transmisión.
Detección de contenido explícito en vivo: Instrucciones para analizar contenido explícito en una transmisión.
Detección y seguimiento de objetos en vivo: Instrucciones para hacer análisis de seguimiento y detección de objetos en una transmisión.
Arquitectura del código
La biblioteca de transferencia de AIStreamer incluye los siguientes tres directorios:
client: Bibliotecas cliente de Python y C++ para conectarse a Video Intelligence.
env: Ejemplo de Docker para la transferencia de AIStream.
proto: Las definiciones de proto y la interfaz de gRPC para Video Intelligence.
Y las dependencias de terceros
La biblioteca de transferencia de AIStreamer de código abierto se basa en las siguientes bibliotecas de código abierto de Google y de terceros.
Bazel: Herramienta de compilación y prueba que admite varios lenguajes.
gRPC: Framework de RPC universal de código abierto y alto rendimiento.
Protobuf: Mecanismo extensible y neutral en cuanto al lenguaje y la plataforma de Google para serializar datos estructurados.
rules_protobuf: Reglas de Bazar para compilar búferes de protocolo y servicios de gRPC.
glog: Implementación de C++ del módulo de registro de Google.
gflags: Biblioteca de C++ que implementa el procesamiento de funciones experimentales de líneas de comandos.
ffmpeg: Solución multiplataforma completa para grabar, convertir y transmitir audio y video.
gStreamer: Otro marco de trabajo de procesamiento y transmisión multimedia multiplataforma.