You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PHP调用Google Video Intelligence获取YouTube视频标签时遇参数无效错误

问题:调用Google Video Intelligence获取YouTube视频标签时触发INVALID_ARGUMENT错误

我尝试用PHP调用Google Video Intelligence服务提取YouTube视频的标签,代码如下:

require __DIR__ . '/vendor/autoload.php';

use Google\Cloud\VideoIntelligence\V1\VideoIntelligenceServiceClient;
use Google\Cloud\VideoIntelligence\V1\Feature;
use Google\Client;

$youTubeUrl = "***";

$videoIntelligenceServiceClient = new VideoIntelligenceServiceClient([
  'credentials' => json_decode(file_get_contents('creds.json'), true)
]);

$features = [
    Feature::LABEL_DETECTION,
];
$operationResponse = $videoIntelligenceServiceClient->annotateVideo([
    'inputUri' => $youTubeUrl,
    'features' => $features
]);
$operationResponse->pollUntilComplete();

if ($operationResponse->operationSucceeded()) {
    $results = $operationResponse->getResult();
    foreach ($results->getAnnotationResults() as $result) {
      var_dump($result);
    }
  }

运行后返回错误:

Fatal error: Uncaught Google\ApiCore\ApiException: { "message": "Request contains an invalid argument.", "code": 3, "status": "INVALID_ARGUMENT", "details": [] }


原因及解决方法
  • YouTube播放URL不被支持:Google Video Intelligence的inputUri参数仅接受两种有效输入:

    1. Google Cloud Storage(GCS)路径,格式为gs://bucket-name/your-video-file.mp4
    2. 可直接访问的HTTP/HTTPS视频文件链接(需能直接返回视频二进制内容,而非网页)
      YouTube的标准播放URL(如https://www.youtube.com/watch?v=xxx)是网页链接,不是视频文件的直接地址,服务无法解析,这是触发该错误的核心原因。
      解决:先下载YouTube视频到本地,上传至GCS后使用GCS路径;或获取视频的直接可访问HTTP链接(需确保链接无防盗链限制)。
  • 权限配置错误:若使用GCS路径,需确保creds.json对应的服务账号拥有storage.objects.get权限,且存储桶/文件的访问权限设置正确;若使用HTTP链接,需确认链接能公开访问。
    解决:检查GCS存储桶的IAM权限,给服务账号添加对应权限;测试HTTP链接是否能直接在浏览器下载视频文件。

  • 视频格式不兼容:Video Intelligence仅支持特定视频格式(如MP4、MOV、AVI等),若视频格式不在支持列表中,也会返回参数无效错误。
    解决:确认视频格式符合官方要求,必要时转换格式后再上传。

内容的提问来源于stack exchange,提问作者Allan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 04:18:29