РУКОВОДСТВО ПО СОЗДАНИЮ · ИССЛЕДОВАТЕЛИ

Как создать архив публичных заседаний с 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