Video-analyzer: скилл Claude для любого видео с речью
Video-analyzer — это скилл для Claude Code, который из любого видео с речью (ссылка на YouTube, Reels, локальный .mp4) делает транскрипт, конспект, туториал, список цитат — что попросишь. Детерминированная часть (скачать, выдрать аудио, насэмплировать ключевые кадры, прогнать speech-to-text) выполняется встроенными скриптами. Синтез делает Claude — на основе транскрипта и нескольких кадров.
Я пользуюсь им каждый день: конспекты подкастов, разборы лекций, "что вообще сказали в этом 90-минутном ролике", вытягивание таймкодов из длинных созвонов.
Установка за 10 секунд
Скопируй и вставь в терминал. Команда скачает бандл и распакует в нужную папку — Claude Code подхватит автоматически.
mkdir -p ~/.claude/skills && curl -L https://alfayzullaev.com/skills/video-analyzer.tar.gz | tar -xz -C ~/.claude/skills/Всё — открываешь Claude Code, скилл уже виден. Перезапускать не надо.
Или скачать вручную
↓video-analyzer.tar.gz(28 КБ)Распакуй в ~/.claude/skills/, чтобы итоговый путь был ~/.claude/skills/video-analyzer/. В архиве: SKILL.md, папка scripts/ и references/. Без venv, без кэшей.
Как пользоваться
После установки просто пиши Claude Code обычным языком. Скилл триггерится на фразы вроде:
- "транскрибируй это видео:
/path/to/file.mp4" - "сделай туториал по этому Reels:
https://..." - "коротко перескажи это видео в 5 буллетах"
- "что докладчик говорит про прайсинг?"
- "вытащи лучшие цитаты с таймкодами"
- "выгрузи список всех видео с этого канала на YouTube" (без транскрибации, только заголовки + ссылки)
Не нужно говорить "используй скилл video-analyzer" — Claude сам понимает по входу (путь, URL, ссылка на канал/плейлист).
Режимы вывода
Пайплайн один и тот же; меняется только финальный синтез — в зависимости от того, что ты попросил.
| Режим | Когда триггерится | Что получаешь |
|---|---|---|
| tutorial | "сделай туториал / разбор / детальный конспект" | Структурированный markdown с таймкодами |
| brief | "TLDR / коротко / в двух словах" | 1 абзац + 5–10 буллетов |
| transcript | "просто субтитры / SRT / расшифровку" | Файлы .srt и .txt из воркспейса |
| quotes | "лучшие моменты / цитаты / highlights" | 5–15 цитат с таймкодами [MM:SS] |
| qa | "что говорят про X" | Прямой ответ с таймкодами-цитатами |
| topics | "о каких темах / структура" | Иерархический разбор тем с таймкодами |
Что под капотом
Оркестратор — scripts/pipeline.sh, цепочка независимых стадий:
download_video.sh—yt-dlpдля любого URL, поддержка--cookies-from-browserдля платформ за логином (Instagram и т.д.)extract_audio.sh—ffmpeg→ 16 кГц моно WAVextract_keyframes.sh— детекция сцен → JPG кадры + таймкодыtranscribe.py— pluggable Whisper-бэкенд (mlx-whisper на Mac, faster-whisper на Linux/CUDA)
Для URL-входов скилл сначала спрашивает: нужно только аудио (дёшево, без кадров), низкое качество видео + кадры (дефолт для туториалов), среднее, или best (для покадрового визуального анализа). Audio-only экономит 5–10× трафика и места, если нужен только транскрипт.
Для ссылок на канал/плейлист YouTube есть отдельный list_channel.sh — просто выгружает заголовки и URL, без транскрибации.
Как расширять
Пайплайн модульный. Чтобы добавить стадию (OCR по кадрам, диаризация, перевод), кинь скрипт в scripts/, соблюдая контракт воркспейса из references/pipeline_architecture.md. Чтобы добавить режим вывода (slides, tweet-thread), допиши строку в таблицу в SKILL.md и шаблон в references/.
Подводные камни
- Нужны
ffmpegиyt-dlp(пайплайн ставит сам черезbrewна macOS; на Linux — пакетным менеджером). - На первом запуске создаётся Python venv внутри папки скилла для Whisper — добавляет ~500 МБ.
- На немое видео не работает — нечего транскрибировать. Скилл явно скажет.
Если хочется почитать про дизайн таких скиллов — почему детерминированный пайплайн лучше, чем каждый раз заставлять Claude самому собирать команду к ffmpeg — пиши.