Волнорез
mp3 в вертикальное видео с волной, обложкой и субтитрами — одной командой

Из подкастового mp3 делает вертикальный ролик 1080×1920 для сторис и анонсов: круглая обложка, анимированная звуковая волна и субтитры с подсветкой произносимого слова. Один вызов из терминала, один mp4 на выходе — без монтажной программы и ручной раскадровки.
Зачем это
Подкастеры каждый выпуск повторяют одно и то же в редакторе: положить волну поверх обложки, синхронизировать субтитры, обрезать под вертикальный формат сторис. Работа механическая и одинаковая от выпуска к выпуску — то, что стоит один раз описать как пайплайн и больше не трогать руками.
Как устроено
Транскрибирует дорожку через whisper.cpp с покадровым таймингом слов, кладёт волну через ffmpeg-фильтры showwaves и geq поверх круглой обложки, поджигает субтитры через subtitles-фильтр с libass — активное слово подсвечивается акцентным цветом в момент произнесения. Перед запуском проверяет, что у ffmpeg есть нужные фильтры и кодеки, и называет точную нехватку, если чего-то нет. Рендерит во временный файл рядом с целевым и переименовывает его в финальный только после проверки через ffprobe — прерывание на середине не портит и не оставляет обрубленный старый ролик.
Ограничения
Модель whisper.cpp и сам whisper-cli нужно поставить отдельно — не бандлит и не скачивает их. Стоковый ffmpeg из Homebrew на macOS собирается без libass и без фильтра subtitles — нужен ffmpeg-full. Обложку берёт из embedded-арта mp3 или отдельным флагом; без того и другого не запускается. Один файл за один вызов, очереди и пакетной обработки нет.
Публикация ролика продумана как транзакция: рендер идёт во временный файл рядом с целевым, публикуется переименованием только после верификации через ffprobe, а прерывание на середине оставляет прежний рабочий mp4 нетронутым. Отдельно порадовал точечный диагноз — вместо общей ошибки ffmpeg инструмент называет именно недостающий фильтр или кодек.
<a href="https://vibecoded.ru/products/volnorez"> <img src="https://vibecoded.ru/badge.svg" alt="запущено на vibecoded.ru" width="200" height="44"> </a>
Похожие запуски
- ClaudeLimitsЛимиты Claude в меню-баре macOS — три числа вместо похода в настройки
- Sorting VisualizerШесть сортировок, анимированных рядом с кодом на Go, который их выполняет
- git-nannyУбирает кладбище локальных веток — включая вмёрженные сквошем