Making NS Movies

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:

  1. Download NS installer if you don't have it already
  2. Download nL:Me here and unzip it somewhere (eg. Desktop) 
  3. Close Steam
  4. Locate your Half-Life directory (ie. c:\Games\Steam\steamapps\your@email.com\half-life)
  5. Rename your ns directory to ns_original or something
  6. Install NS again with the installer
  7. Copy all the files from nL ME's "Put this in your NS folder" to your ns directory
Additionally I suggest you get the following stuff from the additional files:
  1. Find a nice crosshair and copy it over
  2. Also I suggest you copy over the liblist.gam for your version (eg. 3.2)
  3. 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

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

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.

 

MP4 Encoder

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:

  1. Use Vegas etc. MP4 encoding options
  2. Use RipBot, installations instructions here
  3. Alternative option: use MEGUI

I recommend RipBot, but before you can use it you need to install the following:

  1. AVISynth
  2. ffdshow
  3. Haali Media Splitter
  4. NET Framework (installed in Vista and Win7 by default)
However RipBot should whine you at the start if its missing some of these requirements.
 

Video Editing Program

This is the part where you don't have free software available. You'll have to use commercial software. Sony Vegas and 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:

mirv_sample_enable "1"

mirv_sample_sps "400"

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

Shaders add bloom to your movies. You can do the same effect in the video-editing software and in many ways that's probably better since you can make it more unique. However if you don't have the skills to do it elsewhere, this a very easy way to have bloom in your movie. Its a matter of taste if you want to it. It also increases the rendering time. Installaton instructions below:
  1. Download CGShaders here
  2. 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:

  1. Select other modification and type ns
  2. For the graphic resolution, enter eg. width=1280 & height=960 or 1680x1050 (which I use)
  3. Tick force resolution and don't tick full screen. If you have recording problems, enable full screen.
  4. Click Launch

Then in NS, open console and type:

viewdemo demoname

exec userconfig.cfg

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:

mirv_movie_filename nameoftheclip

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.

  1. In Virtualdub, click Open -> Open Video File
  2. Browse your way to the 1st screenshot of the clip. For example
c:\Games\Steam\steamapps\your@mail.com\half-life\clip1\take00\all\00000.bmp
Next we'll have to setup some options:
  1. Click Video -> Frame Rate and change FPS to whichever you used
  2. Click Video -> Normal Recompress for normal encoding (fast doesn't always work)
  3. Click Audio -> No Audio if you don't want in-game audio
  4. 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
Then we'll have to use Lagarith:
  1. Click Video -> Compression
  2. Select Lagarith Lossless Codec for the encoding
  3. Click OK's to both screens

Then encode the video:

  1. Click File -> Save as AVI...
  2. Enter name of the file and click save

To increase performance you can check some settings

  1. Options -> Performance (increase memory usage to get faster results)
  2. Options -> Preferences -> CPU (make sure all are enabled)
  3. Options -> Preferences -> Threading (set to 1 if you have multiple cores)
  4. Options -> Preferences -> Dub Defaults (set higher prio)
  5. Options -> Preferences -> 3D Accel
These can break your computer so use at your own risk. You can also select range. Raw footage takes space so that's a good idea.

 

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.

  1. Click Add
  2. Click "..." next to Video and pick the AVI file from the video editor
  3. Select a Profile, "HIGH 4.0" is good
  4. If you are in hurry, select CQ for the mode and pick a quality from CRF-list.
  5. If you have the time, select 2-Pass for the mode and pick a bitrate
  6. Make sure you're saving it as an MP4
  7. Select a destination for the file
  8. Click Done to close the job window
  9. Click Start in the job list. You'll get a popup when its done.
For the bitrate, you can use this tool to calculate a fitting quality to size ratio. 4096kbps is high quality but higher bitrate makes it look better.

 

Uploading

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).

 

General Tips

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).

 

Old Versions

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.

  1. You can find out the exact version from the modification time of the demo
  2. There's a list of NS version releases here.
  3. Make sure you're running the exact same version, download here.
  4. Make sure you have correct custom maps with all assets if necessary
  5. You need to install NS Movie Edition like before for every version
  6. You might want to copy the version-specific liblist.gam from the nL:Me
  7. 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.

 

Thanks to

Fana for some tips, and all the authors of these (free) programs.

jiriki on 13 May 10 16:31

Comments

Noavatar

Blank gobot | Stray Dogs

thanks for the nice article jiriki!

15 May 2010, 14:10

1930

Blank sonder | The Team

wow nice

16 May 2010, 01:46

1790

Blank Keel

3rd

16 May 2010, 02:20

1790

Blank Keel

jiriki ftw

17 May 2010, 01:15

176

Blank jiriki | old people

Updated!

26 December 2011, 17:45

New Comment
Please log in or register to post comments.