Annotazione di video in streaming

Questa pagina descrive come recuperare le analisi di un flusso video da un file discreto o da dati archiviati. Consulta la sezione relativa al live streaming del video per scoprire come aggiungere annotazioni a un video stream in diretta.

Puoi utilizzare l'API di streaming (StreamingVideoIntelligenceService) per il rilevamento di video in tempo reale con le seguenti funzionalità:

Puoi utilizzare AutoML di Vertex AI per le seguenti funzionalità:

Utilizzo dell'API Streaming

Puoi suddividere un file video in blocchi e trasmettere ogni blocco utilizzando gRPC per inviare più messaggi al servizio di streaming dell'API Video Intelligence. Il primo messaggio può contenere solo un messaggio StreamingVideoConfig. Tutti i messaggi successivi devono contenere solo dati video.

Il servizio di streaming dell'API Video Intelligence restituisce una risposta contenente risultati in base alla funzionalità specificata nella configurazione video.

In una richiesta gRPC, scrivi i dati binari direttamente nel flusso. Non è necessario convertire i contenuti video in formato base64.

Ti consigliamo di mantenere le dimensioni dei blocchi di video inferiori a 10 MB.

Video Intelligence consente inoltre di specificare un bucket Google Cloud Storage per i tuoi risultati.

Codec video supportati

Video Intelligence supporta i seguenti formati video comuni:

Formato Note
MTS, FLV Sono supportati tutti i formati video MTS e FLV.
MP4 (MPEG4), MOV, 3GP

L'atom MOOV deve essere all'inizio del file.

Puoi utilizzare lo strumento ffmpeg per posizionare l'atom MOOV all'inizio del file video, come mostrato nell'esempio seguente:


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

I segnali devono essere all'inizio del file.

Puoi utilizzare lo strumento mkclean per spostare il cue all'inizio del file, come mostrato nell'esempio seguente:


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

Per i formati video che non sono elencati come supportati, puoi determinare se il tuo file video supporta lo streaming utilizzando una pipeline denominata e lo strumento ffmpeg. I seguenti comandi di esempio decodificano un video in immagini PNG a una velocità di 0,2 f/s. Se il file può essere decodificato correttamente con questi comandi, puoi trasmetterlo in streaming utilizzando il servizio di streaming Video Intelligence.

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