开发指南 · 教育者

如何为每个课程视频发布无障碍文字稿

每个视频旁的文字稿,能帮助听障学习者、非母语者以及喜欢阅读的人,也给搜索引擎提供了可索引的文本。为整个课程目录生成文字稿,只是一个很快的批量任务。

适合谁
无障碍服务办公室、教学设计师、在线学校
开发周期
一个下午
API 接口
/batchasr_options.speakerLabelsformat.paragraphs

它解决什么问题

学校和课程创作者往往有数百个没有文字稿的视频,或只有无法当作文档阅读的自动字幕。无障碍服务办公室只能逐个处理便利需求。为所有视频发布易读的文字稿,能清空积压,惠及每位学习者。

第一版应该包含哪些功能

  • 为课程或频道中的每个视频生成文字稿
  • 为没有字幕的视频提供 AI 语音识别
  • 段落和说话人标签,提升可读性
  • 便于屏幕阅读器导航的 HTML 文字稿页面
  • 可下载的文本和字幕文件

分步实现指南

  1. 01

    盘点视频

    解析每个课程播放列表或频道,列出所有需要文字稿的视频。

  2. 02

    批量转录

    把 ID 发送到 /batch 并启用 format.paragraphs。启用 allow_asr 并配置 webhook,让没有字幕的视频通过 AI 语音识别转录。

  3. 03

    提升可读性

    对于有多位讲者的课程,使用 ASR 说话人标签。保留分段和标题,让文字稿读起来像文档。

  4. 04

    发布

    把每份文字稿渲染为 HTML 页面或视频下方的可折叠区块,并提供下载链接。

入门代码

这个创意基于“方案 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

为什么值得做

对机构来说,回报是更快地履行无障碍义务,让课程内容更好用、更容易被发现。代理公司和平台可以把文字稿发布作为服务卖给学校。

需要避开的坑

  • 把自动字幕作为一整块不分段的文本发布:要按段落和说话人整理格式。
  • 只把文字稿藏在下载链接里:把文本放在页面上,既易读又可被索引。
  • 默认 AI 输出完美无误:请人抽查专业术语和人名,尤其是在提供必要便利时。

关于这个创意的问题

文字稿对视频无障碍有帮助吗?

有。文字稿让听障用户和屏幕阅读器用户能完整获取口语内容,常见的无障碍指南也建议与字幕一起提供。

文字稿对 SEO 有帮助吗?

以文本形式发布在页面上的文字稿,比单纯嵌入视频能为搜索引擎提供更多可索引的相关内容。

如果视频没有字幕怎么办?

启用 AI 语音识别,API 会用 99 种语言中的任意一种转录音频。

今天就开始开发

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

如何为课程视频添加无障碍文字稿 | YouTubeTranscript.dev