Esta página descreve como anotar uma stream de vídeo a partir de protocolos de streaming em direto padrão.
A API Video Intelligence Streaming permite a análise de streaming em tempo real para conteúdo multimédia em direto. As funcionalidades suportadas incluem:
Deteção de etiquetas em tempo real
Deteção de alterações de planos em tempo real
Deteção de conteúdo explícito em streams em direto
Deteção e acompanhamento de objetos em direto
A biblioteca de carregamento AIStreamer fornece um conjunto de interfaces de código aberto e código de exemplo para estabelecer ligação à API Streaming da Video Intelligence API. A biblioteca suporta:
HTTP Live Streaming (HLS): um protocolo de comunicação e streaming de multimédia baseado em HTTP.
Protocolo de streaming em tempo real (RTSP): um protocolo de controlo de rede para servidores de streaming de multimédia. É usado em conjunto com o protocolo em tempo real (RTP) e o protocolo de controlo em tempo real (RTCP).
Protocolo de mensagens em tempo real (RTMP): um protocolo para streaming de áudio, vídeo e dados através da Internet.
Para começar a usar o AIStreamer
A biblioteca de carregamento do AIStreamer inclui os seguintes exemplos (incluindo um exemplo do Docker).
Streams em direto: Instruções para suportar protocolos de streams em direto (HLS, RTSP e RTMP) na Video Intelligence API.
Docker e Kubernetes: instruções para usar o nosso exemplo do Docker e a implementação do Kubernetes.
Deteção de etiquetas em direto: Instruções para a análise de etiquetas de streaming.
Deteção de mudança de planos em direto: Instruções para o streaming da análise de mudança de planos.
Deteção de conteúdo explícito em direto: instruções para a análise de conteúdo explícito em streaming.
Deteção e monitorização de objetos em direto: instruções para fazer streaming da análise de deteção e monitorização de objetos.
Arquitetura de código
A biblioteca de carregamento do AIStreamer inclui os seguintes três diretórios:
cliente: Bibliotecas cliente Python e C++ para estabelecer ligação ao Video Intelligence.
env: Exemplo de Docker para carregamento do AIStreamer.
proto: Definições de proto e interface gRPC para a Video Intelligence.
Dependências de terceiros
A biblioteca de carregamento do AIStreamer de código aberto baseia-se nas seguintes bibliotecas de código aberto pertencentes à Google e de terceiros.
Bazel: uma ferramenta de compilação e teste com suporte de vários idiomas.
gRPC: uma framework de RPC universal de código aberto e de alto desempenho.
Protobuf: mecanismo extensível, independente da linguagem e da plataforma da Google para serializar dados estruturados.
rules_protobuf: regras do Bazel para criar Protocol Buffers e serviços gRPC.
glog: implementação em C++ do módulo de registo da Google.
gflags: biblioteca C++ que implementa o processamento de flags da linha de comandos.
ffmpeg: uma solução multiplataforma completa para gravar, converter e fazer streaming de áudio e vídeo.
gStreamer: outra framework de processamento e streaming multimédia multiplataforma.