开发指南 · 研究人员

如何用 YouTube 视频搭建可搜索的公共会议档案库

成千上万的市议会、学区董事会和立法机构在 YouTube 上发布会议录像。这些录像是公开的,但几乎无法搜索:一场会议三个小时,却没有任何索引。字幕档案库能让地方政府更透明,也更便于研究。

适合谁
公民议题研究人员、地方记者、政策分析师
开发周期
1–2 周
API 接口
/playlists/resolveasr_options.speakerLabels/batch

它解决什么问题

地方记者和居民想知道官员对某项分区调整、预算项目或学校政策说了什么。要找到答案,就得在多场会议的数小时视频里来回翻找。议程和会议纪要很少记录完整讨论,而许多地方新闻机构也已无力派记者出席每一场会议。

第一版应该包含哪些功能

  • 自动导入该机构频道的每一场会议
  • 说话人标签,可按官员搜索
  • 跨多年会议的议题和关键词搜索
  • 某个议题或地址被讨论时发送提醒
  • 可分享的链接,直达录像中的精确时刻

分步实现指南

  1. 01

    收集会议视频

    解析议会的频道或会议播放列表,并持续检查新上传的视频。

  2. 02

    带说话人转录

    使用 ASR 并启用 speakerLabels,再配合已知姓名使用 speakerId,让每段内容都归属到具体发言人。会议时间长,建议先用估算接口预览费用。

  3. 03

    按会议和发言人建立索引

    将段落连同会议日期、发言人和时间戳一起存储,并加入全文搜索和语义搜索。

  4. 04

    添加提醒

    让用户保存搜索条件,如某条街道名或政策议题,当新会议中出现时通过邮件通知。

入门代码

这个创意基于“方案 3:把播放列表批量导入知识库”模式。替换成你自己的频道、提示词和存储即可。

import requests

API = "https://www.youtubetranscript.dev/api/v2"
HEADERS = {"Authorization": "Bearer yt_sk_live_YOUR_KEY"}

playlist = requests.post(f"{API}/playlists/resolve", headers=HEADERS,
                         json={"playlist_url": "https://www.youtube.com/playlist?list=PLAYLIST_ID",
                               "limit": 100}).json()

ids = [v["video_id"] for v in playlist["items"]]
batch = requests.post(f"{API}/batch", headers=HEADERS, json={
    "video_ids": ids,
    "format": {"timestamp": True, "paragraphs": True},
}).json()

# Large batches run async: poll GET /batch/{batch_id} until status is "completed"
for r in batch.get("results", []):
    if r["status"] == "completed":
        for p in r["data"]["transcript"].get("paragraphs") or []:
            store(video_id=r["video_id"], start=p["start"], text=p["text"])  # your vector DB

为什么值得做

地方新闻媒体、倡导团体以及房地产或政策类公司愿意为提醒和研究工具付费。公民科技项目通常依靠资助运营,或提供免费公开档案库加付费提醒。

需要避开的坑

  • 对多人发言的长时间会议只依赖自动字幕:说话人标签能让档案库实用得多。
  • 低估时长:会议动辄数小时,转录积压内容前先估算 ASR 额度。
  • 脱离上下文发布:每句引文都链接到录像,让读者能亲耳听到。

关于这个创意的问题

能转录 YouTube 上的市议会会议吗?

能。有字幕时直接使用字幕,否则使用带说话人标签的 AI 语音识别,让长时间会议的字幕更易读。

如何识别谁在发言?

启用说话人标签来区分不同发言人,再结合已知姓名或职务列表启用说话人识别,将发言归属到具体的人。

转录一场三小时的会议要花多少钱?

AI 语音识别在不含附加功能的情况下约为每小时 40 个额度。开始之前可以用估算接口查看准确费用。

今天就开始开发

每月 10 个免费额度,无需信用卡。

如何搭建可搜索的公共会议档案库 | YouTubeTranscript.dev