0

我一直在尝试使用来自https://cloud.google.com/video-intelligence/docs/libraries的谷歌视频智能 API ,我尝试了完全相同的代码。响应输出应该是 json 格式,但是输出是 agoogle.cloud.videointelligence_v1.types.AnnotateVideoResponse或类似的东西。

我已经尝试了许多资源中的代码,最近来自https://cloud.google.com/video-intelligence/docs/libraries但仍然没有给出 JSON 输出。当我检查我得到的输出类型时,我得到了什么:

type(result)

google.cloud.videointelligence_v1.types.AnnotateVideoResponse

那么,我如何从中获得 JSON 响应呢?

4

2 回答 2

1

我已经找到了解决方案。我必须做的是导入这个

from google.protobuf.json_format import MessageToJson
import json

并运行

job = client.annotate_video(
                            input_uri='gs://xxxx.mp4',
                            features=['OBJECT_TRACKING'])
result = job.result()

serialized = MessageToJson(result)

a = json.loads(serialized)
type(a)

我正在做的是将结果变成字典。或欲了解更多信息,请尝试访问此链接:google forums thread

于 2019-10-21T03:21:36.233 回答
0

如果您指定 outputUri,则结果将以 json 格式存储在您的 GCS 存储桶中。https://cloud.google.com/video-intelligence/docs/reference/rest/v1/videos/annotate

似乎您没有将结果存储在 GCS 中。相反,您是通过GetOperation调用获得结果,该调用具有 AnnotateVideoResponse 格式的结果。

于 2019-10-19T08:13:09.170 回答