Anotação de vídeo de stream

Nesta página, você aprende a anotar um stream de vídeo a partir de arquivos diferentes ou dados arquivados. Consulte streaming de vídeo ao vivo para saber como anotar um stream de vídeo ao vivo.

Use a API de streaming (StreamingVideoIntelligenceService) para detecção de vídeo em tempo real com os seguintes recursos:

É possível usar o AI Platform (Unified) AutoML para:

Como usar a API de streaming

É possível dividir um arquivo de vídeo em partes e fazer streaming de cada parte usando o gRPC para enviar várias mensagens ao serviço de streaming da Video Intelligence. A primeira mensagem pode conter apenas uma mensagem de StreamingVideoConfig. Todas as mensagens subsequentes precisam conter apenas dados de vídeo.

O serviço de streaming da Video Intelligence retorna uma resposta que contém resultados com base no recurso especificado na configuração de vídeo.

Em uma solicitação gRPC, você grava os dados binários diretamente no stream. Não é preciso converter o conteúdo de vídeo em base64.

Recomendamos que as partes do vídeo tenham menos de 10 MB.

O Video Intelligence também permite que você especifique um bucket do Google Cloud Storage para seus resultados.

Codecs de vídeo compatíveis

O Video Intelligence oferece suporte aos seguintes formatos de vídeo comuns:

Formato Observações
MTS, FLV Todos os formatos de vídeo MTS e FLV são compatíveis.
MP4 (MPEG4), MOV, 3GP

O átomo MOOV precisa estar no início do arquivo.

Use a ferramenta ffmpeg para colocar o átomo MOOV no início do seu arquivo de vídeo, conforme mostrado no exemplo a seguir:


$ ffmpeg -i input_file.mp4 -c copy -map 0 -movflags faststart output_file.mp4
MKV, WebM

As indicações precisam estar no início do arquivo.

Use a ferramenta mkclean para mover a indicação para o início do arquivo, conforme mostrado no exemplo a seguir:


$ mkclean --keep-cues --optimize in.mkv out.mkv
$ mkclean --keep-cues --optimize --doctype 4 in.webm out.webm

Para os formatos de vídeo não listados como compatíveis, é possível determinar se o arquivo de vídeo oferece suporte a streaming usando um pipe nomeado e a ferramenta ffmpeg. Os comandos de exemplo a seguir decodificam um vídeo em imagens PNG a uma taxa de 0,2 fps. Se o arquivo puder ser decodificado com sucesso usando esses comandos, será possível fazer streaming usando o serviço de streaming do Video Intelligence.

$ mkfifo /tmp/inpipe
$ ffmpeg -i /tmp/inpipe -r 0.2 output_%04d.png
$ cat [FILE NAME] > /tmp/inpipe