yt-fts: Ваш персональный поисковик по YouTube-каналам
Когда YouTube-поиска недостаточно
Представьте: вы точно помните, что в одном из видео любимого образовательного канала обсуждалась интересная концепция, но как найти нужный момент? Встроенный поиск YouTube часто бессилен — он ищет только по названиям и описаниям. Решение? yt-fts — инструмент, который превращает субтитры видео в полноценную поисковую базу.
Что это за инструмент?
yt-fts — это CLI-утилита на Python, которая:
- Скачивает субтитры со всех видео канала через yt-dlp
- Сохраняет их в SQLite-базу с полнотекстовым поиском
- Позволяет искать фразы с точными тайм-кодами
- Поддерживает семантический поиск через OpenAI API
Основные возможности
Базовый функционал:
# Скачать субтитры канала
yt-fts download "https://www.youtube.com/@3blue1brown"
# Поиск по ключевым словам
yt-fts search "нейронные сети" --channel "3Blue1Brown"
Расширенные фичи:
- Семантический поиск (похожие по смыслу фразы)
- Чат-бот на основе контента канала
- Автоматические суммаризации видео
- Экспорт субтитров в разные форматы
Как это работает технически?
- Сбор данных: yt-dlp загружает субтитры (авто- или ручные)
- Хранение: SQLite с FTS5 для быстрого поиска
- Семантический поиск: ChromaDB + OpenAI embeddings
- Интерфейс: CLI на Click с интуитивными командами
Интересный нюанс: для семантического поиска текст делится на 30-секундные отрезки — это оптимальный баланс между точностью и контекстом.
Практические кейсы
- Исследователям: Быстрый поиск упоминаний терминов в образовательных каналах
- Контент-менеджерам: Анализ тематик популярных видео
- Разработчикам: Использование как источника данных для RAG-приложений
- Преподавателям: Создание подборок материалов по темам
# Пример: получить summary видео по ML
yt-fts summarize "https://youtu.be/9-Jl0dxWQs8" --model gpt-4
Настройка и тонкости
Для работы с приватными каналами может потребоваться:
yt-fts download --cookies-from-browser firefox "https://youtube.com/private_channel"
Семантический поиск требует OpenAI API key:
export OPENAI_API_KEY="your-key"
yt-fts embeddings --channel "3Blue1Brown"
Вывод: кому стоит попробовать?
yt-fts — must-have для:
- Любителей образовательного контента
- Разработчиков, работающих с видеоаналитикой
- Исследователей, анализирующих YouTube-контент
Проект активно развивается: за год набрал 1.7k звезд на GitHub и обрастает новыми функциями вроде чат-бота на основе контента каналов.
Попробуйте — и вы больше никогда не будете тратить часы на ручной поиск в YouTube!
