Anotación de vídeo en streaming

En esta página se describe cómo obtener análisis de una emisión de vídeo a partir de un archivo independiente o de datos archivados. Consulta Emisión de vídeo en directo para saber cómo anotar una emisión de vídeo en directo.

Puedes usar la API de streaming (StreamingVideoIntelligenceService) para detectar vídeos en tiempo real con las siguientes funciones:

Puedes usar Vertex AI AutoML para las siguientes funciones:

Usar la API Streaming

Puedes dividir un archivo de vídeo en fragmentos y transmitir cada fragmento mediante gRPC para enviar varios mensajes al servicio de streaming de la API Video Intelligence. El primer mensaje solo puede contener un mensaje StreamingVideoConfig. Todos los mensajes posteriores solo deben contener datos de vídeo.

El servicio de streaming de la API Video Intelligence devuelve una respuesta que contiene resultados basados en la función que hayas especificado en la configuración del vídeo.

En una solicitud gRPC, escribes los datos binarios directamente en el flujo. No es necesario que conviertas el contenido del vídeo a Base64.

Te recomendamos que el tamaño de los fragmentos de vídeo sea inferior a 10 MB.

Video Intelligence también te permite especificar un segmento de Google Cloud Storage para tus resultados.

Códecs de vídeo admitidos

Video Intelligence admite los siguientes formatos de vídeo habituales:

Formato Notas
MTS, FLV Se admiten todos los formatos de vídeo MTS y FLV.
MP4 (MPEG4), MOV y 3GP

El atom MOOV debe estar al principio del archivo.

Puedes usar la herramienta ffmpeg para colocar el átomo MOOV al principio del archivo de vídeo, como se muestra en el siguiente ejemplo:

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

Las señales deben estar al principio del archivo.

Puedes usar la herramienta mkclean para mover la señal al principio del archivo, como se muestra en el siguiente ejemplo:

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

En el caso de los formatos de vídeo que no aparecen en la lista de formatos compatibles, puedes determinar si tu archivo de vídeo admite la transmisión por streaming mediante una canalización con nombre y la herramienta ffmpeg. Los siguientes comandos de ejemplo decodifican un vídeo en imágenes PNG a una velocidad de 0,2 fps. Si el archivo se puede decodificar correctamente con estos comandos, puedes transmitirlo mediante el servicio de streaming de Video Intelligence.

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