Почему вывод из Google Video Intelligence не в формате JSON - PullRequest
0 голосов
/ 15 октября 2019

Я пытался использовать Google Video Intelligence API с https://cloud.google.com/video-intelligence/docs/libraries, и я попробовал точно такой же код. Вывод ответа должен был быть в формате json, однако вывод был либо google.cloud.videointelligence_v1.types.AnnotateVideoResponse, либо что-то похожее на это.

Я пробовал код из многих ресурсов, а недавно из https://cloud.google.com/video-intelligence/docs/libraries, но вывод JSON по-прежнему не производился. Что я получил, когда проверил тип полученного результата:

type(result)

google.cloud.videointelligence_v1.types.AnnotateVideoResponse

Итак, как мне получить ответ JSON из этого?

Ответы [ 2 ]

0 голосов
/ 21 октября 2019

Я нашел решение для этого. Я должен был импортировать

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

0 голосов
/ 19 октября 2019

Если вы укажете outputUri, результаты будут сохранены в вашей корзине GCS в формате json. https://cloud.google.com/video-intelligence/docs/reference/rest/v1/videos/annotate

Похоже, вы не сохраняете результат в GCS. Вместо этого вы получаете результат с помощью вызова GetOperation , который имеет результат в формате AnnotateVideoResponse.

...