Какую проблему решает
У школ и авторов курсов часто сотни видео без расшифровок или только с автоматическими субтитрами, которые невозможно читать как документ. Службы доступности получают запросы на адаптацию по одному. Публикация удобочитаемых расшифровок для всего контента устраняет этот завал и полезна каждому учащемуся.
Что включить в первую версию
- Расшифровки для каждого видео курса или канала
- AI-распознавание речи для видео без субтитров
- Абзацы и метки спикеров для удобства чтения
- HTML-страницы расшифровок с удобной навигацией для экранных дикторов
- Скачиваемые текстовые файлы и файлы субтитров
Как создать: пошагово
- 01
Проведите инвентаризацию видео
Получите список видео каждого плейлиста курса или канала, чтобы перечислить все видео, которым нужна расшифровка.
- 02
Расшифруйте пакетом
Отправьте ID в /batch с format.paragraphs. Включите allow_asr с вебхуком, чтобы видео без субтитров расшифровывались AI-распознаванием речи.
- 03
Улучшите читаемость
Для лекций с несколькими выступающими используйте метки спикеров ASR. Сохраняйте разбивку на абзацы и заголовки, чтобы расшифровки читались как документы.
- 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 языков.