Introduction and Set-Up
NS Movie making is a process that requires a bit of patience, lots of time, a beefy computer and lots of diskspace (around 120 GB for 9min 1280x960 @ 100FPS movie). Here I'll show you how to do the whole process, but be prepared to download and install a truckload of stuff. This guide works for other HL1-mods too (I'd assume).
nL Movie Edition
Download nL Movie Edition to remove all extra HUD crap. It also has a good default configuration with camera controls and speedup scripts. To install it:
- Download NS installer if you don't have it already
- Download nL:Me here and unzip it somewhere (eg. Desktop)
- Close Steam
- Locate your Half-Life directory (ie. c:\Games\Steam\steamapps\firstname.lastname@example.org\half-life)
- Rename your ns directory to ns_original or something
- Install NS again with the installer
- Copy all the files from nL ME's "Put this in your NS folder" to your ns directory
- Find a nice crosshair and copy it over
- Also I suggest you copy over the liblist.gam for your version (eg. 3.2)
- Also I suggest you copy over the HLTV viewmodels
Half-Life Advanced Effects
HLAE is a tool that adds some nifty exta features to your Half-Life (like slow motion, camera zoom, entity tracking etc.). Download HLAE here and just unzip it somewhere. You'll start your NS using the HLAE program.
In your userconfig.cfg you should find the line mirv_movie_fps and set it to what FPS you want. If you want to encode the final MP4 file in 25FPS (another typical choice is 30), and you want to do 4X slow-mo, you'll have to to record it atleast at 100FPS to keep it smooth.
There're also some other mirv-settings you can tune, they're explained in the file. Also record button (bind "f1" "recstart") is overlapping with CGShader (if you use it), and you might wanna change it to something else (like F4).
You can use my version of the userconfig.cfg. If you use my config, it has 100 FPS by default, 1800 SPS and record button at F2. It has been updated in 2nd October 2010 with some few changes.
The config has high-detail NS/HL-settings. If you'd like to know what a variable does, check this list.
HLAE is a very handy tool and you can do a lot of interesting stuff with it, including recording different streams (entities, world, hud), toggling viewmodels, tracking entities (such as grenades and players). Check AdvancedFX.org for a complete manual and support forums. With its scripting capabilities, options are unlimited. If you've a good idea but don't know how to do it, it's very likely possible. Ask on the HLAE or ENSL forums for example.
Lagarith is a lossless encoder for your raw footage. You won't lose any quality but the files will take less space. Another option is HuffYuv, but Lagarith works on 64-bit applications (like VirtualDub or Vegas) and is around 10% more efficient. You can download and install Lagarith from here.
Virtualdub is the free swiss army-knife of video editing. You'll use it to convert your raw footage in screenshot format to Lagarith-encoded AVI's. Download it here and just unzip it somewhere. You can use either 32-bit or 64-bit version. 64-bit version can use more memory.
You'll have to encode your movie from several dozen gigabytes to several hundred depending on the length of the movie. There're lots of MP4 encoders. Here are some suggestions:
- Use Vegas etc. MP4 encoding options
- Use RipBot, installations instructions here
- Alternative option: use MEGUI
I recommend RipBot, but before you can use it you need to install the following:
Video Editing Program
There are free and commercial video editing software avilable. Free quality options include Davince Resvolve for Windows, Lightworks (used in eg. Pulp Fiction). More common commercial options include Sony Vegas, Adobe Premiere Pro, Adobe After Effects are the most popular options. However I've gathered some tips for Sony Vegas.
You should edit the colors a bit to get a good movie. Be creative. Use layers with overlay and so on. Atleast a bit of saturation, contrast and brightness is a good idea. Don't overdo it.
You can use Trimmer in Vegas to chop your clips into pieces and then use the speed of the track to add some sync.
Also a very important note. When you save your Vegas output, make sure to use Intel YUV (HuffYUV doesn't work always) but not Sony YUV because the colors will be a lot worse with Sony's YUV version.
Optional: Motion blur
HLAE can add some motion blur to your movies. This however breaks up if you want to split video streams (like players and world). If you do it in NS, you'll have less total rendering time and less disk-space usage, but if you want to do it in video editor, the footage has to have higher FPS which consumes more disk-space (and don't forget slow-mo requires multiplied fps too).
To add motion blur using HLAE, open your userconfig.cfg under ns directory. Add or edit the following lines:
SPS sets the number of samples per frame. So the game will render 400 frames to make one final frame. This will increase your rendering time a lot. Use at your own peril.
Optional: CG Shaders
- Download CGShaders here
- Unzip the files to your Half-Life directory
Remember: do not join a VAC-enabled game server with the shaders enabled. You'll get VAC banned. When you want to play NS, move all the files of over to 100 miles away from your Steam Directory. Use at your own risk.
Clicking F1 in the game will adjust the shader effect level from 0 to 10.
Making your first movie
Now that you have your tools ready, let's make a movie! I'll guide through the basic process. First, copy over your demos to your ns directory.
Launching NS and recording the footage
Open HLAE and click File -> Launch. You'll have to edit some things here:
- Select other modification and type ns
- For the graphic resolution, enter eg. width=1280 & height=960 or 1680x1050 (which I use)
- Tick force resolution and don't tick full screen. If you have recording problems, enable full screen.
- Click Launch
Then in NS, open console and type:
You need to execute userconfig.cfg manually since it won't load it otherwise. When watching the demo, you can use the F8-F12 keys to speed up, pause, slow down etc. Obviously with console you can tune other mirv settings, tracer settings, decals etc. Check userconfig.cfg for more details. When you find the correct spot on demo, enter following in the console:
Then click F1 or whichever is your record button to start recording. Click it again to stop recording. If you use my cfg, it'll be F2. After that you can close NS. You should find a directory under Half-Life directory with the name of the clip you gave.
Converting raw video to Lagarith AVI
Next stop is compressing your video footage to 1/3 of original size without any data loss. Also we need to convert the footage to AVI since most video editing software cannot handle screenshot files. Time to open Virtualdub.
- In Virtualdub, click Open -> Open Video File
- Browse your way to the 1st screenshot of the clip. For example
- Click Video -> Frame Rate and change FPS to whichever you used
- Click Video -> Normal Recompress for normal encoding (fast doesn't always work)
- Click Audio -> No Audio if you don't want in-game audio
- Click Audio -> Audio From Other file if you want to include in-game sounds. The audio will be in the same directory with the screenshots
- Click Video -> Compression
- Select Lagarith Lossless Codec for the encoding
- Click OK's to both screens
Then encode the video:
- Click File -> Save as AVI...
- Enter name of the file and click save
To increase performance you can check some settings
- Options -> Performance (increase memory usage to get faster results)
- Options -> Preferences -> CPU (make sure all are enabled)
- Options -> Preferences -> Threading (set to 1 if you have multiple cores)
- Options -> Preferences -> Dub Defaults (set higher prio)
- Options -> Preferences -> 3D Accel
Video Editing and Encoding
After these steps, open the video clip in a video editing software such as Vegas. Do your editing and render it as an AVI file with either no encoding or HuffYUV (recommended if available).
After this open RipBot. If you're missing any necessary software, it should whine about it. Otherwise you'll get a job list. Then do the following to get your video to MP4.
- Click Add
- Click "..." next to Video and pick the AVI file from the video editor
- Select a Profile, "HIGH 4.0" is good
- If you are in hurry, select CQ for the mode and pick a quality from CRF-list.
- If you have the time, select 2-Pass for the mode and pick a bitrate
- Make sure you're saving it as an MP4
- Select a destination for the file
- Click Done to close the job window
- Click Start in the job list. You'll get a popup when its done.
After that you can upload your movie to some popular file hosting site, Youtube or ask me to get access to upload it to ENSL (if its an NS video).
You should do the whole process for a single frag before starting to record massive loads of stuff to check the image and compresison quality and avoiding big disappointments later on. Nothing is more depressing than realizing that your picked too low SPS and you'll have record hours of footage again.
Also you should remove your screenshot-directories from your Half-Life directory after converting them to HuffYUV because they take a shitload of diskspace.
I've used resolution 1280x960 because you can easily crop it it to 1280x768 both for firstperson and HLTV (you've to use different area though but that's hardly noticeable).
When dealing with old NS demos, there're several things you'll have to keep in mind. First of all to run eg. an old demo, you need to do following things.
- You can find out the exact version from the modification time of the demo
- There's a list of NS version releases here.
- Make sure you're running the exact same version, download here.
- Make sure you have correct custom maps with all assets if necessary
- You need to install NS Movie Edition like before for every version
- You might want to copy the version-specific liblist.gam from the nL:Me
- Rememer to use ns or nsp directory depending on version
Lastly but importantly, you need to convert demos to new HL client version. In HLAE, click Tools -> DemoTools and "Try to convert Demo Version (47 -> 49)". You've to do this for all demos before the client update (around Season 12) matter what the version.
Otherwise the process is similar. You cannot however playback pre version 3 demos easily because they're not steam-supported and version 2 is not supported by NS Movie Edition.
Fana for some tips, and all the authors of these (free) programs.