Как мы собираем рекламные шортсы прямо из движка игры: Godot, Python и ffmpeg
ccdotac 47 минут назад Краткое содержание статьи Как мы собираем рекламные шортсы прямо из движка игры: Godot, Python и ffmpeg Средний 4 мин 2.3K Godot * Разработка игр * Python * Работа с видео * Кейс Из песочницы Мы...
Will Anthropic be the #3 AI Lab at the end of November 2026 (Style Control On)?
В сфере искусственного интеллекта произошло заметное событие. ccdotac 47 минут назад Краткое содержание статьи Как мы собираем рекламные шортсы прямо из движка игры: Godot, Python и ffmpeg Средний 4 мин 2. 3K Godot * Разработка игр * Python * Работа с видео * Кейс Из песочницы Мы небольшая студия, делаем экономическую стратегию про IT-компанию на Godot 4. Для соцсетей нужно много коротких вертикальных роликов, а монтировать каждый руками долго и скучно.
В итоге собрали конвейер: игра сама разыгрывает сцену и пишет видео, а скрипт на Python монтирует из этого шортс с подписями, голосом, музыкой и обложкой. Один ролик собирается примерно за минуту, сейчас их 64. Расскажу, как это устроено и на какие грабли наступили.
Технические детали
Запись: Movie Maker в GodotВ Godot 4 есть режим Movie Maker. Если запустить проект с ключом --write-movie, движок пишет каждый кадр в файл с фиксированным шагом времени, а не в реальном времени. Запись не зависит от того, успевает ли компьютер: ролик в 60 кадров в секунду получается ровным, даже если тяжёлый кадр рендерится 100 мс.
godot --path game -s res://tools/short_story. gd --fixed-fps 60 --write-movie story/friday. aviВертикальное окно получили через override.
Если рядом с проектом лежит этот файл, Godot при старте берёт из него настройки поверх project. Скрипт кладёт файл, запускает запись и удаляет его: window/size/viewport_width=1080 window/size/viewport_height=1920 window/size/window_width_override=540 window/size/window_height_override=960 window/stretch/mode="viewport"Окно на экране 540×960, а кадр пишется 1080×1920. Удалять файл нужно обязательно в finally: однажды он остался в папке после упавшей записи, и следующая сборка игры сломалась на копировании проекта.
Отраслевые последствия
Теперь сборщик демо этот файл пропускает, а скрипт записи отказывается стартовать, если override. cfg уже лежит рядом и он его не создавал. Movie Maker пишет AVI с MJPEG, файлы большие: 30 секунд записи весят около 250 МБ.
Это только исходник, дальше всё пережимается. Постановка сценыshort_story. gd запускается как скрипт SceneTree (ключ -s).
Он начинает партию с заранее подготовленной компанией, расставляет людей, переводит игровое время и ставит камеру. История описана списком кадров: id, длительность и время на подготовку. Подготовка нужна, чтобы сцена успокоилась: подгрузились модели, люди сели за столы, свет пересчитался.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.




