Auto-login: - Forgot your password?


CS Moviemaking Guide for Deckarn

Written by anthony on 5. March 2018 07:09

Alright Dec.  Let's do this.  You get your very own front page article on how to make CSGO movies.  Let's make some magic.  I expect royalties for every release you put out.  It can be in text form.  It must say "Anthony Perfetto Rules!" at the end of the credits.  With that being said, let's get started.

I. CSGO Graphics Settings

Every graphic setting is on max settings and/or enabled.  Vertical Sync is off and Motion Blur is off.  I do this because you're already producing motion blur with frame blending, so no need to put it on ingame.  It's just a bit much.

II. Launching With HLAE

Tools > Developer > Custom Loader

Program path is obviously where your CSGO.exe is.  CommandLine is where you put the goodies at.  I have, currently, the following:

-steam -insecure +sv_lan 1 -window -console -game csgo -width 1920 -height 960

Obviously you can fill in whatever resolution you want at the end there.  Remove "-window" if you want fullscreen.  Other things are basic functionality commands.

DLL to inject is the AFXHookSource.  Found in your HLAE folder, where ever that may be.  Just browse for it.  Then hit Ok.

III. Launching Demo

Demoui in console.  Click Load.  Demos are placed in your C:\Program Files\Steam\steamapps\common\Counter-Strike Global Offensive\csgo\ and loaded from there as well.

IV. Creating and Loading Moviemaking Config

CFGs are made in txt files using notepad.  They are placed in C:\Program Files\Steam\steamapps\common\Counter-Strike Global Offensive\csgo\cfg folder and executed by typing exec name in console.  I would first execute sv_cheats 1 and mirv_cvar_unhide_all 1 before executing your cfg.  Or you could be lazy/smart and just add those commands in your CFG at the top so they execute first.  Now for the basic commands:

Playback Commands

cl_interpolate 1
cl_interp 0.1
cl_interp_ratio 2
cl_updaterate 200
cl_clock_correction 0
mirv_fix playerAnimState 1

These seem to optimize playback and reduce any/all lag in player animations.  10/10 for the playerAnimState command.  Well done, Dom.

Crosshair Customization


Good luck, have fun.

 In Game Clutter

sv_disablefreezecam 1
sv_nomvp 1
sv_nonemesis 1
sv_showimpacts 0
mp_display_kill_assists 0
glow_outline_effect_enable 0
spec_show_xray 0
r_drawtracers_firstperson 0
r_disable_distance_fade_on_big_props 1
r_disable_distance_fade_on_big_props_thresh 1

Some of the commands are pretty self explanatory.  They basically remove some deathcam/killfeed clutter and remove the viewer crap Valve added in.  Big Props commands allow stuff to be drawn from far away in case you're using a low fov with a far cam.

Sound Commands

mirv_snd_filter block "+player\\vo\\\*"
mirv_snd_filter block "+radio\*"

Cleans up the audio so you don't hear all the chatter from the radio or ingame voices.

Weapon Model Commands

cl_custom_material_override 1

Custom Material Override removes skins.  Bob amounts can be set to raise or lower how much the weapon moves around when walking or running.  Weapon fov and offset are how far and wide your weapon appears from your perspective.  I wouldn't mess with this stuff too much since default is pretty balanced.

mirv_streams add baseFx name

This is the command for creating a new stream that you can then add your own customizable settings to.  This is like a container that holds all your recording settings listed below.

mirv_streams record name "path"

"path" is obviously where you want your recorded TGAs to go.

No Flash - "mirv_streams edit name actionFilter add effects/flashbang noDraw; mirv_streams edit base actionFilter add effects/flashbang_white noDraw"

No Stickers "mirv_streams edit name stickerAction noDraw; mirv_streams edit base stattrackAction noDraw"

No Graffiti "mirv_streams edit name actionFilter add decals/playerlogo\* noDraw"

Okay.  So the above shows the commands for removing flashbang effects, stickers and StatTrack on guns, and graffiti on the ground.  These will be attached to that baseFX stream you added earlier.

setframerate "host_framerate #"

 This is what FPS you'll record in.

bind key "host_timescale 0; mirv_snd_timescale 1; mirv_streams record start"

bind key "mirv_streams record end; host_timescale 1; mirv_snd_timescale default; host_framerate 0; endmovie"

Loose example of binding a key to startmovie and endmovie.  Timescale commands basically let you record at the predetermined FPS in your cfg instead of the FPS your game is current running at (I think.  It's been a while.)

You can also take all of the binds and create aliases in your cfg so you can then do something like this:

alias noflash "mirv_streams edit name actionFilter add effects/flashbang noDraw; mirv_streams edit name actionFilter add effects/flashbang_white noDraw"

alias nostickers "mirv_streams edit name stickerAction noDraw; mirv_streams edit name stattrackAction noDraw"

bind key "nostickers; noflash; mirv_streams record start"


V. Creating AVIs in Virtualdub

After this, open VDub.

File>Open video File>Find your mirv directory you set>double click on the first TGA.

Then go to Video>Framerate>Change Frame Rate to>input recorded FPS

File>Save As Avi>Viola!

I think that should be a good start for you.  There's always more advanced stuff to get into with mirv specifically, so maybe I'll do that at a later time for you.  Any questions, ask in the forums.

Kidding.  Use your own custom news article here!


#26anthony Style-Productions 12. March 2018 18:40
For the love of God, its a camera, not a smooth.

Are you using HLAE for your freecams?
#27Dec HLAE 12. March 2018 19:09
Since the button is called smooth, I guess that's why some people call them smooths :D

I have tried both the "smooth" tool and HLAE's own mirv_campath system, was just wondering if both methods work, although I assume the HLAE method is preferred.
#28anthony Style-Productions 12. March 2018 19:54
i would most definitely use the mirv function over the built in one.
#29Dec HLAE 13. March 2018 12:25
Do you have any tips? Can I, for example, create 4 campath "keyframes" (since you need a minimum of 4) at the same time and position, and change their individual time plus position afterwards? Or do I have to get into the correct time and position for each keyframe?
With the demoui tool, it feels rather clumsy to adjust the time of a demo. Unless there is a way to easily rewind a few seconds? The arrow icons only rewind rounds if I recall. Are there any binds that can help me control a demo? So far I have a togglepause and mirv_campath add bind.
#30anthony Style-Productions 13. March 2018 18:53
I got you covered homie. Short answer to all of that: yes.
#31Dec HLAE 15. March 2018 16:09
Found out about mirv_skip tick, and how to select and edit campath keyframes, which feels overly complicated btw.
What annoys me the most now is the default "smooth" effect that is applied to campaths, is it possible to change the type of fade-in/out system each keyframe will follow? I think the smooth tool calls it "splining".
#32anthony Style-Productions 15. March 2018 19:48
You can also use demo_gototick to move around.  Much better than the demoui. 

Ya, editing campaths is a bit overwhelming at first, but you get to know all of the commands after working with them.

Yes, you can alter how the camera moves along the pathing.  The commands are mirv_campath edit interp rotation/position.  You can choose between linear and cubic. Be forewarned: Dom doesn't allow users to individually set each keyframe yet. Also, linear is a bit robotic. Use with discretion.


Last changed: 15. March 2018 19:50
#33Dec HLAE 18. March 2018 21:05
Quickguide on how to remove specific player models/objects from a normal stream? Is there an option for that in the mirv_streams settings or do I need to combine it with matteEntity streams?
#34anthony Style-Productions 19. March 2018 15:17
So you can use the picker to find what specific entities and materials are named and then edit a stream so that mirv doesn't draw them. However, I don't think there is a way to cleanly pick one specific player and remove that from a stream with one command
#35Dec HLAE 20. March 2018 08:56
#36anthony Style-Productions 20. March 2018 14:20
#37Dec HLAE 20. March 2018 16:48
Holy moly!

Though, now when I think about it, it might be easier to do a standard matteEntity stream and mask the object(s) in post, as long as the "areas" of the different entities don't clash/overlay with each other.
#38anthony Style-Productions 20. March 2018 17:27
That's honestly exactly what I do, though I prefer the alpha entity stream if I'm taking that route
#39xyanide Style-Productions 23. March 2018 15:45
Can't wait to see some sick smooths, Dec.
#40Dec HLAE 23. March 2018 17:24
Campaths feel very frustrating to do, and with the [default] cubic interp setting I often get cams that swirl around in weird ways, or moving back and forth in a bouncing manner. Sometimes I fix it by adjusting the position(s) or the time of the keyframes, but not always, which makes it very time consuming it get it right. Bah!
#41anthony Style-Productions 23. March 2018 23:57
Yup. You can't put keypoints too close together with minimal time intervals between them.  It confuses it :D
#42Dec HLAE 14. April 2018 14:21
Where/how can I get sound files of casters? Dom said they were part of the GOTV demos, but I tried a demo and I don't hear any. Unless I have muted voices possibly?
#43Dec HLAE 3. May 2018 13:22
And I can't manage to get rid of lag in a pov demo I recorded last week. Even when following the smoother demo guide @ afx :/
#44Dec HLAE 22. May 2018 20:37
Annoying random ragdoll physics. What do you do about that? Nothing? Or maybe use the picker tool to get rid of bodies that aren't part of the frag?
Page: << Previous 1 2
You have to be logged on to write a comment.