1

当我使用示例代码中的 rpc 时,我可以获得镜头注释:

features = [
    enums.Feature.LABEL_DETECTION,
    enums.Feature.SHOT_CHANGE_DETECTION
]
operation = video_client.annotate_video(path, features=features, output_uri=json_file)
result = operation.result(timeout=90)

for i, shot in enumerate(result.annotation_results[0].shot_annotations):
    start_time = (shot.start_time_offset.seconds +
                  shot.start_time_offset.nanos / 1e9)
    end_time = (shot.end_time_offset.seconds +
                shot.end_time_offset.nanos / 1e9)
    print('\tShot {}: {} to {}'.format(i, start_time, end_time))

然而,由 GS 存储桶创建annotate_video()并写入的 json 文件仅包含键segment_label_annotationsshot_label_annotations. 关键是一个空shot_annotations列表。

4

1 回答 1

0

shot_annotations 的空结果可能是由客户端库引起的。请确保使用官方的 Google Cloud 示例。还建议在开始时阅读 Cloud Video Intelligence API快速入门教程

还要确保调用最新版本的 API并使用包含更多功能的 v1p1beta1 端点。

您也可以先测试Google Cloud 视频样本以排除视频格式兼容性问题。

于 2018-07-25T23:59:18.050 回答