Transmitir videos en vivo

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

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.