Fazer stream de vídeos em direto

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

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.