Разработчик kajisho5 представил ffmpeg-skill — специализированный набор инструментов для интеграции FFmpeg в рабочие процессы AI-агентов, таких как Claude Code, Cursor и Codex. Проект позиционируется как «руки» для видео-производства: он не принимает творческих решений, но выполняет 42 конкретные операции с видео и аудио с точностью, недоступной при ручном написании shell-команд.
Ключевые особенности и архитектура
Главное отличие ffmpeg-skill от стандартных обёрток над FFmpeg — использование Self-Producing Execution Contract (SPEC). Схема ввода (input_schema) для каждого инструмента не пишется вручную, а генерируется во время выполнения на основе парсера argparse. Это гарантирует, что документация и реальный код CLI всегда синхронизированы: CI-пайплайн автоматически ломает сборку при любом расхождении.
Пакет работает полностью локально. Для запуска не требуются облачные сервисы, API-ключи или установка дополнительных Python-зависимостей (кроме стандартной библиотеки). Агенты получают доступ к инструментам через MCP (Model Context Protocol), где по умолчанию доступны 12 базовых инструментов, а полный список из 42 открывается переменной окружения FFMPEG_SKILL_MCP_FULL=1.
Рабочий процесс: Probe → Edit → Verify
Система построена на принципе «сначала измерь, потом режь». Каждый сценарий начинается с probe.py, который извлекает метаданные (длительность, FPS, разрешение, цветовое пространство, аудио-каналы). Агент принимает решения на основе этих цифр, а не имён файлов. После монтажа результат обязательно проверяется через check.py и визуализируется как контактный лист через look.py.
Пример типичного запроса к агенту:
- Задача: «Возьми
interview.mp4, сохрани фрагменты 0:45–3:10 и 5:00–6:30, обрежь до 60 секунд для Reels». - Действия агента: Запуск
probe.py→cut.py --segments ...→fit.py --duration 60 --aspect 9:16 --fit crop→export.py --preset reels→check.py --platform reels. - Результат: Агент возвращает JSON с метриками (59.98 s, 1080×1920, 30 fps, AAC stereo) и контактный лист для визуального подтверждения.
Готовые шаблоны для соцсетей
В пакет включён модуль render.py с предустановленными шаблонами для основных платформ. Он учитывает не только технические параметры (9:16, -14 LUFS), но и UI-ограничения: например, размещение титров так, чтобы они не перекрывались кнопками лайков в TikTok или описанием в YouTube Shorts.
Поддерживаются следующие платформы:
| Платформа | Ключевые параметры | Особенности обработки |
|---|---|---|
| TikTok | 9:16, -14 LUFS | Титры над строкой описания, обход колонки лайков |
| Instagram Reels | 9:16, 30/60 fps | Оптимизация под алгоритмы IG, безопасные зоны |
| YouTube Shorts | 9:16, H.264/HEVC | Автоматическая конвертация HDR в SDR, LUTs |
| LinkedIn/Facebook | 16:9 или 9:16 | Адаптация под корпоративные стандарты качества |
| Podcast | Audio only | Очистка шума, нормализация громкости, удаление пауз |
Интеграция в экосистему
ffmpeg-skill является частью более широкой экосистемы kajisho5, где он выполняет роль исполнительного механизма. Он не конкурирует с другими инструментами, а дополняет их: video-production-agent принимает решения, media-analysis-skill анализирует контент, а ffmpeg-skill физически создаёт файлы. Все инструменты доступны как через CLI (npx ffmpeg-skill), так и через MCP-интерфейс для интеграции в IDE.
Источник: Github ↗
