You need to enable JavaScript to run this app. 如何使用Google Cloud Speech Transcription for Video Intelligence实现全视频自动分析
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Google Cloud Speech Transcription for Video Intelligence实现全视频自动分析

全视频自动分析的代码调整方案

核心逻辑

Google Cloud Video Intelligence 根本不需要你手动算出整个视频的总时长再传片段范围——只要你在VideoContext配置里不主动传segments参数,服务默认就会把输入URI对应的视频从头到尾全量执行分析。
你现有代码只能输出55-80秒区间的分析结果,纯粹是因为手动构造了固定时间范围的VideoSegment对象,强行把分析范围锁死在了这一段里。

具体修改步骤

  • 把原有代码里手动构造VideoSegment、配置起止时间戳、把segment打包成列表传给函数的几行全部删掉。
  • 调用transcribe_speech函数时,不要传入自定义的分段参数,保持函数默认的segments=None配置即可。
  • 在函数内部加一个简单判断:只有当用户显式传入分段参数时,才将segments字段挂载到VideoContext配置上。不要图省事直接传空列表[],部分客户端版本会把空列表解析为「无有效分析范围」,最后返回空结果,白白等待服务处理时间。

调整后可直接运行的代码

video_uri = "gs://cloudmleap/video/next/JaneGoodall.mp4"
language_code = "en-GB"
# 不传入任何分段参数,自动触发全片分析
response = transcribe_speech(video_uri, language_code)

def transcribe_speech(video_uri, language_code, segments=None):
    video_client = videointelligence.VideoIntelligenceServiceClient()
    features = [enums.Feature.SPEECH_TRANSCRIPTION]
    config = types.SpeechTranscriptionConfig(
        language_code=language_code,
        enable_automatic_punctuation=True,
    )
    # 动态构造VideoContext配置,仅在有分段需求时添加segments字段
    context_config = {
        "speech_transcription_config": config,
    }
    if segments is not None:
        context_config["segments"] = segments
    context = types.VideoContext(**context_config)

    print(f'Processing video "{video_uri}"...')
    operation = video_client.annotate_video(
        input_uri=video_uri,
        features=features,
        video_context=context,
    )
    return operation.result()

顺带修复你原有代码的小误区

你之前写的segment.start_time_offset.FromSeconds(55)实际没有生效:protobuf的Duration类中,FromSeconds是用于新建Duration对象的静态构造方法,不是给现有offset字段赋值的实例方法。就算未来需要指定局部片段范围,这种写法也无法正确传递时间参数,正确的赋值写法是segment.start_time_offset.seconds = 55。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.07 14:45:05