
Как я собрал бота, который превращает доклады в вертикальные ролики: Whisper, поиск хайлайтов через LLM и проход ffmpeg
ShortyAiBotTg 33 минуты назад Как я собрал бота, который превращает доклады в вертикальные ролики: Whisper, поиск хайлайтов через LLM и проход ffmpeg Простой 2 мин 788 Искусственный интеллект Работа с видео * Кейс...
Anthropic — What company has the best second artificial intelligence model at the end of June?
Вот важная новость с фронта ИИ: ShortyAiBotTg 33 минуты назад Как я собрал бота, который превращает доклады в вертикальные ролики: Whisper, поиск хайлайтов через LLM и проход ffmpeg Простой 2 мин 788 Искусственный интеллект Работа с видео * Кейс Расскажу, как устроен пайплайн автонарезки выступлений с конференций (со спикером, субтитрами и его слайдами): где помогает LLM, почему субтитры рисуются через drawtext, а не . ass, и как собрать композицию «спикер + субтитры + слайд» одним проходом ffmpeg. С конкретным решением и граблями, на которые я сам наступилЗадачаДано: запись доклада 40+ минут (спикер + презентация).
И нужно из нее родить 5-6 самодостаточных вертикальных клипов с точными субтитрами и слайдами из презентации доклада. Ограничения: работает на обычном CPU-сервере, себестоимость прогона — копейки. Речь в текстWhisper (medium) даёт слова с таймкодами.
Технические детали
На CPU узкое место – скорость, поэтому распознавание распараллелено по ядрам. Сегменты Whisper я склеиваю обратно в предложения — это критично для следующего шага: нарезать по словам нельзя, иначе мысль в видео будет рваться. Поиск хайлайтов через LLMСамая нетривиальная часть.
Наивный промпт формата «найди вирусные моменты» даёт мусор: модель стартует фрагмент с середины фразы или со связки «Но... Что помогло с этим справиться:запрашивать диапазон по предложениям , а не по секундам;жёсткий промпт с критериями (история / факт / мнение / юмор) и запретом стартовать со связок;доснэппинг границ к реальным границам предложений уже после ответа модели;ретраи на кривой JSON и 503 — модель периодически флапает, а второй запрос помогает добить. СлайдыКакой слайд показать в момент t — определяется по кадру через vision-модель (detail=high, иначе текст слайда не читается).
Раньше пробовал image-hash — но, по итогу, отказался от этого, поскольку vision работает точнее. Композиция одним проходом ffmpegДля хорошего видео мне нужно четкое деление на три зоны: спикер, субтитры и слайды — и чтобы все это собиралось воедино за один проход. По пути к решению наступил на несколько граблей:субтитры — через drawtext, а не .
Отраслевые последствия
Контроль над переносом строк (по ширине карточки слайда), кеглем и таймингом получился чище;наложение чанков субтитров. Лечится enable через полуинтервал [a, b) (gte + lt) вместо between — иначе на стыке два чанка рисуются одновременно;динамическая раскладка. Когда спикера не видно (общий план, перебивки и тд), карточка спикера уезжает за кадр, слайд переезжает в центр — через плавную функцию P(t) и кросс-фейд субтитров, чтобы текст не наезжал на слайд.
Центровка на спикереВ полноэкранном режиме активный спикер всегда должен быть по центру: с этим мне помог трекинг лиц + поиск того, у кого больше движения губ в окне ~1. 2с (иначе при появлении мемов или картинок с людьми на слайдах бот путается), а также сегментация по склейкам монтажа.
Событие, по словам экспертов, усилит конкуренцию в сфере ИИ.





