ffmpeg-skill
ffmpeg-skill — скилл и MCP-сервер: агент режет и склеивает видео, правит звук, делает субтитры и экспорт под TikTok, Reels и YouTube через локальный FFmpeg
- 2 052 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Агент запускает Python-скрипты и FFmpeg на ваших файлах и пишет новые файлы рядом с исходными, а перезапись разрешается только флагом `--overwrite`
- Установщик копирует скилл в папки `~/.claude`, `~/.cursor` или `~/.agents` и действует во всех проектах
- При расшифровке речи локальный движок при первом запуске скачивает веса модели из сети
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add skills/ffmpeg-skillОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Агент запускает Python-скрипты и FFmpeg на ваших файлах и пишет новые файлы рядом с исходными, а перезапись разрешается только флагом `--overwrite`
- Установщик копирует скилл в папки `~/.claude`, `~/.cursor` или `~/.agents` и действует во всех проектах
- При расшифровке речи локальный движок при первом запуске скачивает веса модели из сети
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
ffmpeg-skill учит агента монтировать видео и звук через установленный на машине FFmpeg и дает ему 42 инструмента на Python. Рабочий порядок записан в `SKILL.md`: сначала `probe.py` измеряет длительность, частоту кадров, разрешение, цвет и звуковые дорожки, потом агент по возможности правит без перекодирования, показывает план флагом `--dry-run`, выполняет шаг, проверяет файл командой `check.py` и смотрит на кадр через `look.py`, который собирает контактный лист в PNG. Исходный файл инструменты не перезаписывают: результат пишется в новый файл вида `<вход>_<операция>.<расширение>`. Инструменты закрывают типовые задачи: нарезку и склейку, удаление пауз, подгонку под длительность и соотношение сторон (например 9:16), субтитры с анимацией и караоке, логотипы и титры, перевод HDR в SDR и LUT, очистку звука и нормализацию громкости, синхронизацию внешнего микрофона, переключение камер, размытие областей, пакетную обработку папок. Для площадок есть шаблоны TikTok, Reels, Shorts, YouTube, X, LinkedIn, Facebook и подкаст: `render.py --template tiktok` собирает ролик с учетом зон интерфейса и проверяет его. Те же инструменты доступны по MCP через `mcp/server.py` на stdio. У сервера нет собственной таблицы инструментов: список строится из машиночитаемого контракта `contract --json`, поэтому новый флаг скрипта появляется в MCP сам. Субтитры из речи делает локальный движок Parakeet или whisper, если он установлен. Иначе агент использует готовый текст или файл с таймингами.
Для кого. Для авторов роликов, подкастеров и разработчиков, которые поручают Claude Code, Cursor или Codex резать видео, делать вертикальные версии и субтитры на своей машине, не загружая файлы в облако.
Подходит, если
- Из интервью надо оставить отрезки 0:45–3:10 и 5:00–6:30 и уложить результат ровно в 60 секунд для Reels
- Горизонтальный ролик нужно превратить в вертикальный 9:16 с субтитрами, не закрывающими кнопки приложения
- В записи подкаста надо убрать паузы и выровнять громкость до заданного уровня LUFS
- Съемка с двух камер и внешнего микрофона требует синхронизации звука и переключения между камерами
- Видео с iPhone в HDR надо перевести в SDR и проверить перед загрузкой на площадку командой `check.py --platform`
Не подходит, если
- Нужен монтаж с решением, какие места вырезать: скилл исполняет правку, а выбор отрезков и приемку результата оставляет человеку или вызывающему агенту
- Нужны генерация видео из текста, озвучка или подбор стоковых кадров: инструменты работают только с вашими файлами и ничего не создают сами
- На машине нет FFmpeg 5.0 или новее с библиотекой `libass` и фильтрами `drawtext` и `loudnorm`: без них субтитры и нормализация не запустятся
- Нужна монтажная программа с таймлайном для ручной работы: скилл управляет файлами командами, окна редактора у него нет
- Нужна сборка ролика с анимационными вставками: для этого в каталоге есть video-use, он же вырезает паузы и оговорки
Пример запроса к агенту
Возьми interview.mp4, оставь отрезки 0:45–3:10 и 5:00–6:30 и сделай из них вертикальный ролик ровно на 60 секунд для ReelsОграничения
- Лицензия MIT. Нужны Python 3.9 или новее и FFmpeg 5.0 или новее с `libx264`, `aac`, `libass` и фильтрами `drawtext`, `loudnorm`, `xfade`, `silencedetect`. Node 16 нужен только установщику `npx`. На macOS обычная формула `ffmpeg` в Homebrew не содержит фильтров subtitles, drawtext и zscale, поэтому ставят `ffmpeg-full` и добавляют его в PATH.
- Установленная копия не обновляется сама: чтобы получить свежую версию, снова запускают `npx ffmpeg-skill`, а для плагина Claude Code команду `claude plugin update`. Через MCP по умолчанию видны только 12 инструментов из 42, остальные вызываются по имени.
- Скилл не выбирает отрезки и не принимает результат. Проверку кадра делает зрение самого агента: `look.py` только собирает PNG. Если зрения нет, в отчете указывают, что пиксели не просматривались.
- Субтитры из речи и удаление слов-паразитов требуют локального движка Parakeet или whisper. Без него инструмент отказывает и печатает команды установки. Модели загружаются при первом запуске, `parakeet-mlx` по умолчанию берет веса с Hugging Face.
- Автор сообщает об исправленной уязвимости в `batch.py`, где шаг рецепта мог выйти за пределы `scripts/` через абсолютный путь. Поддерживается только последняя версия, долгосрочных веток нет.
Как отключить. Команда `npx ffmpeg-skill --uninstall` удаляет скилл из выбранных папок: ключ `--codex` убирает его из `~/.agents/skills` и из старого `~/.codex/skills`, ключ `--cursor` из `~/.cursor/skills`. Плагин Claude Code удаляют средствами самого Claude Code. Для MCP удалите запись `ffmpeg-skill` из `mcpServers` в настройках клиента. Уже созданные ролики лежат рядом с исходными файлами, и их надо убрать вручную.
Частые вопросы
Как установить ffmpeg-skill и проверить, что все работает?
Выполните `npx ffmpeg-skill` для Claude Code, с ключом `--cursor` для Cursor или `--codex` для Codex, `--all` ставит во все три. Затем `npx ffmpeg-skill doctor` читает список кодеков, фильтров и битстрим-фильтров вашего FFmpeg и сообщает, чего не хватает. Код выхода 0 значит, что нужное есть. Код 1 значит, что чего-то нет. Код 2 значит, что часть возможностей не удалось определить. Плагин ставится командой `claude plugin install kajisho5/ffmpeg-skill`.
Как сделать ролик под TikTok или Reels одной командой?
Команда `python3 $S/render.py talk.mp4 --template tiktok --cues cues.txt` заполняет шаблон площадки: обрезка в 9:16, субтитры по словам выше строки описания, громкость −14 LUFS, пресет экспорта и проверка `check.py --platform tiktok`. Шаблоны есть для `tiktok`, `reels`, `shorts`, `youtube-shorts`, `youtube`, `x`, `linkedin`, `facebook` и `podcast`. Параметр `--template all` собирает версии для всех площадок из одного монтажа.
Какие инструменты видит агент через MCP и как увидеть все?
Сервер `mcp/server.py` по умолчанию перечисляет 12 основных: `render`, `look`, `caption`, `export`, `check`, `fit`, `cut`, `audio`, `loudness`, `graphics`, `silence`, `probe`. Переменная `FFMPEG_SKILL_MCP_FULL=1` показывает все 42. Остальные вызываются по имени и без этой переменной. Кроме инструментов сервер отдает пять готовых сценариев: `reel`, `podcast`, `multicam`, `delivery_check` и `hdr`.
Уходят ли видео в облако и нужны ли ключи?
Ключи и аккаунты не нужны. Обработку выполняет локальный FFmpeg, зависимостей Python кроме стандартной библиотеки нет. Видео и звук не загружаются. Исключение составляют веса моделей распознавания речи: `parakeet-mlx`, `faster-whisper` и `openai-whisper` скачивают их при первом запуске, если вы просите расшифровку.
Перезаписывает ли скилл исходные файлы?
Нет. Результат получает имя вида `<вход>_<операция>.<расширение>`, а существующий выходной файл инструмент отказывается трогать, пока вы не передали `--overwrite`. Тест хэширует каждый входной файл после запуска, чтобы подтвердить, что он не изменился. Выходной файл не должен совпадать с файлом, который создан не в этой задаче.
Что делать, если на macOS не рисуются субтитры?
Обычная формула `ffmpeg` в Homebrew собрана без libass, поэтому фильтра subtitles в ней нет. Поставьте `brew install ffmpeg-full`. Эта формула не подключается к PATH автоматически. Скилл сам берет `ffmpeg-full` того же префикса Homebrew, если в PATH лежит усеченная формула, а `doctor --json` показывает, какой FFmpeg использован.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
СкиллыСкилл для Claude Code: скачивает видео YouTube, делит на смысловые главы, вырезает выбранные фрагменты, переводит субтитры и вшивает двуязычные в ролик
Скиллы монтажа коротких видео
ChatGPT 剪短影音 Skills
Пара скиллов для агента: настройка среды монтажа и сборка вертикального короткого видео по восьми шагам с проверкой
Скилл и MCP-сервер нарезки длинных видео: агент берет ссылку или файл и собирает клипы для Shorts, Reels и TikTok с обложкой, текстом и ZIP
MCP-сервер и REST-API для сборки коротких вертикальных видео с субтитрами, озвучкой и музыкой для TikTok, Reels и Shorts
Скиллы для работы с видео в Claude Code и Codex: покадровый разбор ролика на кадры и сборка видео с раскадровкой
Скилл монтажа видео для Claude Code и Codex: агент вырезает паузы и оговорки, делает цветокоррекцию, субтитры и анимационные вставки
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Звезды репозитория | Главное отличие |
|---|---|---|---|
| ffmpeg-skill (эта запись) | нет | 2 052 | |
| video-use | нет | 29 550 | вырезает паузы и оговорки, делает цветокоррекцию, субтитры и анимационные вставки, скилл для Claude Code и Codex |
| Open Edit (VEED) | нет | 1 706 | от организации VEED, по описанию монтажа собирает MP4 с моушен-графикой, на Mac ставит нужное через Homebrew |
| chengfeng-videocut | нет | 3 117 | плагин для монтажа видео с говорящей головой: удаляет оговорки, добавляет субтитры и экранную графику |
Коротко о README
В репозитории лежат `SKILL.md`, 42 скрипта на Python, справочники по флагам, устройствам и подводным камням, шаблоны площадок и MCP-сервер. Рядом лежат документы о контракте и принятых решениях, дорожная карта и галерея из 53 примеров до и после с командой под каждым. Тестовая часть содержит снимки вывода FFmpeg версий 6.1, 7.1, 8 и 9 и оценочные прогоны агентов с независимыми оценками. Раздел о стабильности обещает, что версии 2.x не удалят и не переименуют ни одного инструмента, флага и ключа JSON до выхода 3.0.
Бейдж для README
Исходный SKILL.md
--- name: ffmpeg-skill description: 'Edit video and audio with local FFmpeg from natural-language requests: cut, trim, join, resize/reframe (9:16, 1:1), speed change, captions and subtitles (SRT/ASS, animated, karaoke), logos and text overlays, lower-thirds and titles, silence removal, multicam and external-mic sync, loudness normalisation, HDR/Dolby Vision to SDR, LUTs, background music with ducking, platform exports (YouTube, Reels, TikTok, X), compliance checks, scene detection and highlight reels, contact sheets to inspect results, and whole-edit project files.' --- # ffmpeg-skill Scripts live in `scripts/` next to this file; run them with `python3 <skill-dir>/scripts/<name>.py`.