Jump to content
Sign in to follow this  

How to make a video from a demo

Recommended Posts

For any discussion related to this, post it here.


This is just how I record my videos, a better way would be with real video recording software, but the method I use is all free software, and above all, its the easiest. This one won't get you fancy text overlays, transitions, or splicing in multiple things, but it will get you a working video of a single scene.


First, some reading:


http://developer.valvesoftware.com/wiki ... ding_Tools

http://developer.valvesoftware.com/wiki ... o_Creation


And optionally if you wonder what a "tick" is:

http://developer.valvesoftware.com/wiki ... Networking

(all you need to know is, its like a frame, and there's 66.6 per second)


Now install this.


It comes with xvid, which is what I use for compression.


Demos can either be recorded on your computer while you're playing the game, or the server. The server ones are also known as a SourceTV demo.


A lot of these guides refer to the ones you would record on your computer, and will tell you to hit the "drive" button on demoui, that is not necessary for SourceTV demos, and you can just ignore that.


Find the demo file you need.


Hopefully you remember the time and date the thing you want happened, the filenames show the map that was on, so that can help, and download it. Right at the top of the page where you download the demos from, it says how to decompress them, hopefully you noticed that.


At this point you should have your .dem file. For convenience, place that into

C:\Program Files\Steam\SteamApps\<your steam username>\team fortress 2\tf
That path will vary depending on where you installed TF2 to, you should be smart enough to figure out where this is.


At this point you can start up TF2 and get recording, but I'll go over a trick I use to start up TF2 in the resolution for recording demos, so I can keep that seperate from the resolution I usually play at.

If you rightclick on team fortress 2 in your games list in steam, you can "create desktop shortcut". If you get properties of that shortcut, it will look like this:


"C:\Program Files\Steam\steam.exe" -applaunch 440"
Just append "-windowed -w 1280 h 800" to that, which means run 1280x800 and in windowed mode.

"C:\Program Files\Steam\steam.exe" -applaunch 440 -windowed -w 1280 h 800
Whatever resolution you start up TF2 in is the resolution it will record at, so don't make that TOO big. But I use 1280x800, and that is enough to get me the HQ button on youtube for my videos, and 16:10 widescreen.


Now you're ready to start up TF2 and start recording! Bring up the console, and lets get some binds done. I use F9 to bring up the GUI, F10 to start recording, and F11 to stop recording.


bind f9 demoui2
bind f10 "startmovie zz"
bind f11 endmovie
volume 1   (to make the recording level perfect, it has to be at 1)
fov_desired 90   (this will widen everything so you can see more, like a fisheye but not bad)

In the F10 bind, "zz" is the prefix, you can change that to something else if you want, but I like zz since its always gonna be the last files in the folder alphabetically.


I'll just refer to these keys as the GUI key, the start movie key, and that end movie key.


I use the minimal hud in TF2


cl_hud_minmode 1

Also you may want to hide that "this person is carrying" panel, info in this thread.


I do not use these next ones, but if you want, you can remove the entire GUI in TF2 and just show the stuff in the world.


sv_cheats 1
cl_drawhud 0  (this will remove the Hud and only show the world)
r_drawviewmodel 0 (prevents from drawing the persons arms when in first person

Press the GUI key, then click on the load button. It should default to your tf folder, and you can just open the .dem file there. It will now load the map, and start playing. Close the GUI to move the camera around just like spectator mode.


First of all, there is no way to go backwards, only forward. If you seek around, it takes a very long time because it has to basically calculate everything that happened from the beginning everytime. So if you can stand it, just watch it from the beginning, and increase the speed to the max of 6x normal, and plow through it like that until the thing you're interested in happens.


Right now, just concentrate on finding the thing, and note the exact time, or better yet the tick. You're looking for a time that you can jump to that puts you maybe 30 seconds or more before it, so you have time to move the camera into position later. But for now, note the time, and just watch the demo, observe where the action moves, where people enter from, so you can think about the best possible place for the camera. Once you decide all of that, its time to actually record it.

One trick I use is at the console, you can use demo_gototick to jump to the exact tick you want.

And BTW, for ticks, the tickrate on TF2 is locked at 66.6 ticks per seconds, or 4000 ticks per minute.


One you have it cue'd up to a little bit before the event you want to make a video of, press the start record button. If it pops up a window asking what codec to use, choose full frames uncompressed. Now the demo will play and recording the video.


Some glitches to be aware of:


[*:3thq5tnp]The sound will freak out and loop the last second over and over, that is normal, the real game audio is being saved correctly. Turn off your speakers if it gets too annoying.

[*:3thq5tnp]You can go to chase view, but it gets pretty glitchy when the person you're viewing overlaps with another player on the same team, or goes up against a wall, you can end up inside the person pretty easy, so you can just stay in freelook mode.

[*:3thq5tnp]If you go first person, many times the weapon will not show up, they'll just look like they're holding nothing. So avoid first person, or do r_drawviewmodel 0

The demo will play pretty slowly, but don't worry it is just taking its time, rendering every frame perfectly, and your video is going to look great. Just work the camera, keeping the action in view. It helps to watch the whole thing first without recording it, so you know where people will enter the scene and you can pan around to catch them entering the fight, and importantly, remember what is being said in voice chat, you dont want to cut off some really funny thing someone says right at the end. You can't hear anything while recording, so it helps to have some knowledge of what happens during the clip.

One trick I use is notice the clock at the top of the screen for the time left on the map, you can use that if you want to judge the time, to know when you can stop recording. When in doubt, record a little extra, the best part of videos is people's reactions to things, so even after the event is done, you can leave on all the WTFs and laughter at the end of the clip, just leave the camera staring at the dead body if your subject was killed by something, and everyone is laughing at them.


Now press your stop button to stop, it will catch up and empty the buffer, so your computer will be pretty unusuable until that happens, it can take a minute.


You should now a ton of TGA files, 1 per frame (30 per second!) in the TF2 folder, the same place as the .dem file. Also you'll see a wav, which is the sound for the clip.

These things take up a ton of space, so be ready for that. If its your first time, try a short clip, like 10 seconds, just to get some practice.


Open up the first tga file, which is zz0001.tga, in virtualdub, it will automatically detect all the other files and load those up too.


Now notice the pulldown menus there's Video and Audio among other things. Choose these:


Audio, Full Processing mode.

Audio, Audio from other file, then select zz.wav in the TF2 folder.

Audio, Compression, MPEG Layer 3, then the top one in the list there, whatever highest quality is, for me thats 56kbit/stereo. There are better ones, but really thats good enough, and why not save the space.


Video, full processing mode.

Video, Frame Rate. "change frame rate to", then put 30.

Video, compression, ffdshow. Choose xvid for the encoder. Click configure, set the bitrate to 4000kbps. Of course, vary that to whatever you like, the higher you set, the higher quality, but more disk space.


Now, trying to watch this thing in virtualdub as a TGA per frame cill be a challenge on your computer, since its a lot of data. But don't worry, you're about to compress it so its a reasonable size, and very watchable.


Now we're going to select what part of your clip you actually want to keep. Usually there's some crap at the start and end, and we want it to only be the part we want.

Try to seek around and find the start and end of the clip, at the bottom click the black arrows to mark the start and end of your movie. Leave about a second extra at the end, since it can chop off the audio early when you upload to youtube. You'll know you've done this part right if it the bar at the bottom turns blue to highlight the part of the video you're recording.


Now save as AVI, it will save just the part you chose above, and make your video. Now try to play it to make sure it looks alright.




I made a batch file to clear out the raw files without having to drag thousands of files to the trash. To make a batch file, make a new text file, and have it contain this:


del zz*.*

Then name it 00clear.bat so it sorts to the top. Make sure it doesnt name it 00clear.bat.txt or it wont work.


If virtualdub is open, and you have the raw stuff loaded, it will keep the files locked and wont delete it, so you'd have to either close it, or do file, close video file.. then under the audio menu, do "no audio", that will close everything so you can delete the raw files.

Share this post

Link to post
This topic is now closed to further replies.
Sign in to follow this