Google Cloud Video API 在使用“input_content”参数时出错

Posted

技术标签:

【中文标题】Google Cloud Video API 在使用“input_content”参数时出错【英文标题】:Google Cloud Video API gives error on using "input_content" argument 【发布时间】:2022-01-13 02:58:23 【问题描述】:

我正在尝试使用 Google Video API 并使用 "input_content" 参数传递我本地驱动器上的视频,但我收到此错误:InvalidArgument: 400 Either `input_uri` or `input_content` should be set.

这里是基于Google Documentation的代码:

"""Detect labels given a file path."""
video_client = videointelligence.VideoIntelligenceServiceClient()
features = [videointelligence.Feature.LABEL_DETECTION]

cwd = "E:/Google_Video_API/videos/video.mp4"
with io.open(cwd, "rb") as movie:
    input_content = movie.read()

operation = video_client.annotate_video(
    request="features": features, "input_content": input_content
)

【问题讨论】:

【参考方案1】:

 视频文件需要Base64 编码所以试试这个:

import base64 
...
operation = video_client.annotate_video(
    request="features": features, "input_content": base64.b64encode(input_content)
)

【讨论】:

当我使用 base64 时,我没有收到提到的错误,但是当我打印结果时它说:message: "Calculator failed, commonly caused by invalid video, or unsupported format, or file not found, or permission denied." 好吧,那我把file留给你作为例子。由于他们所做的只是使用单个path 参数和视频python analyze.py labels f://data/video/video.mp4,但是您需要创建一个labels 文件

以上是关于Google Cloud Video API 在使用“input_content”参数时出错的主要内容,如果未能解决你的问题,请参考以下文章

sh 使用Cloud Video Intelligence和Cloud Vision API扫描用户生成的内容 - 4

sh 使用Cloud Video Intelligence和Cloud Vision API扫描用户生成的内容 - 3

sh 使用Cloud Video Intelligence和Cloud Vision API扫描用户生成的内容 - 2

库 appengine.api.datastore 和 com.google.cloud.datastore 有啥区别?

如何将 google-api-client 用于 Google Cloud Logging

Google发布用于Google Cloud的.Net API