CS2 Highlights — монтаж, в котором не открывают монтажку
Входите через FACEIT, выбираете пару матчей — получаете готовую нарезку. Пайплайн читает файлы демо, сам решает, какие моменты стоит оставить, управляет игрой, чтобы их записать, и рендерит видео.
Нужные игроку моменты закопаны в файлах демо: клатч 1v4 — это несколько сотен тиков где-то внутри сорокаминутного матча, и найти его можно, только пересмотрев весь матч. Смонтировать потом дороже, чем стоит сам клип, поэтому большинство игроков нарезку так и не делает. Удобная монтажка тут не спасает: скучную часть надо не ускорить, а убрать совсем.
Демо разбирает парсер на Rust: события убийств и разминирований плюс сколько игроков ещё живы на каждом тике. Дальше моменты оцениваются по жёстким правилам — мультикиллы от одного до десяти очков, клатчи от двух до пятнадцати, с бонусами за разминирование в клатче и за первое убийство. Отобранные моменты записывает сама игра: генерируется autoexec, перематывает демо на нужный тик и выгружает кадры. Из них FFmpeg собирает клип — вспышка на убийстве, замедление в конце, зум на клатчах, плашки, переходы и музыка, — а браузер следит за процессом через server-sent events.
FACEIT OAuth2 с PKCE, затем история матчей игрока.
demoparser2 читает убийства, разминирования и количество живых на каждом тике.
Мультикиллы 1–10 очков, клатчи 2–15, бонусы за разминирование в клатче и первое убийство.
Сгенерированный autoexec перематывает на нужный тик, startmovie выгружает кадры из игры.
FFmpeg собирает клипы, браузер следит за прогрессом через server-sent events.
curves=вспышка на убийстве setpts=замедление в конце zoompan=зум на клатче drawtext=плашка 2K / 3K / ACE xfade=wiperight amix=музыкальная подложка