Basically this is the package for making CS2 killfeed. It contains demo parser script and After Effects template + script.
The parser script uses following parser https://github.com/LaihoE/demoparser
In order to use this package you'll need After Effects and Node.js installed. Also Node.js has to be added to PATH
.
If some demo doesnt get parsed, then probably demo is corrupted or something wrong with parser, which is unlikely. Nothing I can do about it.
Check video tutorial to understand how it all works: https://youtu.be/oeZ95yg7vN4
In script there are 4 options:
-
Parse frags from demos
-
Get formatted frags for AE killfeed template script
-
Get players steamids
-
Get in and out points
Put demos in demos
folder next to start.bat e.g.
Some folder
-- start.bat
-- dist
-- demos
-- demo1.dem
-- demo2.dem
Run start.bat and follow instructions. You can select player by steamid, select which frags to include ,select which demos to parse
It will generate .tsv
file which is formatted with tabs. Means you can copy paste in to spreadsheet and everything will be in separte cells.
Update: 23 march 2024
Now there is new option to get killfeed exactly as each group provided. Might be useful e.g. if you want to treat group as one round. The input format is the same, it's just different type of output.
It will prompt if you want to use groups as is or if you want the default behaviour.
Default:
Provide starting index (optional).
Provide demos data in following format. You can copy paste output from first function for ease of use.
demoname steamid tick
demoname steamid tick
demoname steamid tick
Note that there's tab between demoname and frag info. If you copy it from spreadsheet it will be with tab already (ofc if values are in different cells). You can separate groups of kills by empty line.
Example:
faze-vs-g2-m1-inferno 76561197998926770 141134
faze-vs-g2-m1-inferno 76561197998926770 141282
faze-vs-g2-m1-inferno 76561197998926770 141373
faze-vs-g2-m2-ancient 76561198074762801 162312
faze-vs-g2-m2-ancient 76561198074762801 164096
faze-vs-g2-m2-ancient 76561198074762801 165597
Also note that one group = one demo. If multiple players provided they will get split into groups.
Otherwise separate into different groups (separate by empty line).
Use right click to paste in terminal.
When done press enter to get on new line and then type run
and enter again to get killfeed data.
It will generate .tsv
formatted with tabs, which you can paste to spreadsheet to use with AE killfeed template script.
Same as previous, just follow instructions. It will give you steam ids of players in selected demo.
You have to provide timecodes in following format:
timecode description
timecode description
timecode description
Check video tutorial to understand how it works and why you may or may not need it.
Video tutorial: https://youtu.be/oeZ95yg7vN4
If you want to use only After Effects template, here's how: https://youtu.be/rHzbCbOgMj8
-
Check
allow scripts to write files
inedit > preferences > scripting & expressions
, otherwise script won't work. -
Import
CS2-KIllfeed-v2.aep
into project. -
Take out
CS2-KIllfeed
folder into root of your project. -
Copy spreadsheet https://docs.google.com/spreadsheets/d/1BZdVUo386uld1ZBmGNzcN43C-Auky3VDCb6OVf8olA4/copy and fill out using provided example in there.
Important part to have GROUP
indexes not duplicated and kills indexes as 1,2,3,4,5,6,7,8,9,10
. Then you have to validate weapons names. Take the cell from Helper
sheet. You can either copy cell itself or copy it's validation thing. If you copy cell and start typing it will give you hints. If something doesnt work, then make sure you have United States locale selected in settings.
-
Export as csv and name as
killfeed
andcuts
accordingly. -
Import to root of project (
cuts
file is optional). -
Run the script
file > scripts > run script
-
If everything is done right, then you will see preview of
killfeed
content. -
Select resolution, dont forget to save your project and click
render
button.
It will output files in killfeed_resolution
folder next to your project. Since it's not actual render, but rather frame export, the progress bar doesnt reflect real-time export, so if you have a lot of these then you have to wait for all of them to appear and not to close After Effects before that.
-
Now you have killfeed as png images and you can stop here if that's enough for you. Next steps are optional.
-
If you provided correct timecodes in
killfeed.csv
then you can place on timeline. To do that you have to import pngs to tokillfeed_files
insideCS2-KIllfeed
folder. -
Create composition.
Important thing is to have same framerate as your project wherever from you exported timings. Otherwise they will not be placed correctly. Same goes for resolution. If you rendered 1080p
killfeed then you have to have 1080p
resolution. Otherwise you have to adjust it manually.
-
Select composition, run script and press place. If everything done correctly it will place killfeed pngs according to provided
killfeed.csv
with timecodes. It will also create mask for bg blur. Then you can put your footage underneath and you'll get killfeed with blur like it's done in game. -
Same story goes for
cuts.csv
. It will essentially create keyframes on opacity property of both killfeed and it's blur layer.
If you dont want to render your footage with killfeed in After Effects you can export killfeed only with alpha channel. To do so just enable track matte for your footage layer and select the same layer that is selected for track matte of blur layer. Then copy opacity keyframes to your footage layer. This will preserve blurred background.
After that you should have only killfeed on transparent background, but with blurred content of your footage. Then just render it with alpha channel enabled.