流式视频注释

本页面介绍如何从独立的文件或已归档的数据中检索视频串流的分析。请参阅实时视频流式传输,了解如何为实时视频流添加注释。

您可以使用流式传输 API (StreamingVideoIntelligenceService) 来通过以下功能进行实时视频检测:

您可以将 Vertex AI AutoML 用于以下功能:

使用流式传输 API

您可以将某个视频文件拆分为多个块,并通过使用 gRPC 将多条消息发送到 Video Intelligence API 流式传输服务,从而对每个块进行流式传输。第一条消息仅能包含 StreamingVideoConfig 消息。后续的所有消息必须仅包含视频数据。

Video Intelligence API 流式传输服务会返回一个响应,该响应包含一些基于您在视频配置中指定的功能结果

在 gRPC 请求中,您可以将二进制数据直接写入串流。您无需将视频内容转换为 base64 编码的内容。

我们建议您将视频块的大小限制在 10 MB 以下。

Video Intelligence 还允许您为结果指定 Google Cloud Storage 存储分区

支持的视频编解码器

Video Intelligence 支持以下常见的视频格式:

格式 备注
MTS、FLV 支持所有 MTS、FLV 视频格式。
MP4 (MPEG4)、MOV、3GP

MOOV Atom 必须位于文件开头。

您可以使用 ffmpeg 工具将 MOOV Atom 置于视频文件开头,如以下示例所示:


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

提示必须位于文件开头。

您可以使用 mkclean 工具将提示移动到文件开头,如以下示例所示:


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

对于未作为支持格式列出的视频格式,您可以通过使用已命名的管道和 ffmpeg 工具确定您的视频文件是否支持流式传输。以下示例命令以 0.2 fps 的速率将视频解码为 PNG 图像。如果您的文件可以使用这些命令成功解码,则您可以使用 Video Intelligence 流式传输服务对其进行流式传输。

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