Making trailers and other videos on a budget can be tricky. It's one of those topics that's full of people on the internet wanting to sell you things. Big-budget video editors and sketchy shareware screen capture utilities abound. At this point, though, we have a pretty solid toolchain for capturing and editing footage on Windows, even of browser games.
This approach depends on two major steps: capturing the raw footage, the unedited video of your game, and then editing it so that it works as a trailer instead of being several long pieces of boring video.
For capturing game footage we'd recommend either Open Broadcaster Software (or OBS) or Fraps, depending on your needs. For video editing we use Blender.
Just like in a game of Telephone, video files decrease in quality the more you do to them. Because of this, you should start with as high-quality of an initial file as you can. For many games, a high-quality recording from OBS will do quite well. However, for some approaches you need a lossless (or nearly lossless) source. For example, Exploit: Zero Day features high-contrast, sharp-pixeled art on a black background. Even with OBS's excellent compression this can cause artifacts, so we're using Fraps to record that.
Open Broadcaster Software is a free application created for streaming, such as to Twitch, but as a necessary part of that it is able to capture video and encode it into a useful video format. With only a bit of configuration, it can save that video to disk in high quality so that we can use it in an editor.
Robert Yang does a good basic introduction to OBS video capture in his post about making animations and videos, but for trailers you'll probably want higher quality than the OBS defaults provide.
The settings you'll want to use are detailed in this guide. To summarize:
- Use CBR: Disabled
- Quality Balance: 10
- Bitrate: 1000
- Use custom buffer size: Enabled
- Buffer size: 0
- Use custom x264 parameters: Enabled
- Custom x264 parameters: crf=X, where X is anywhere from 1-20, lower being higher quality / higher CPU usage. A good place to start is the 15 - 20 range.
Contrary to what you might see elsewhere, the current version of OBS does not support lossless recording. This means that you may see some slight "artifacts" in even a high-quality video, such as fuzziness around high-contrast edges or some color distortion. For lossless video, turn to Fraps.
The old standby for capturing high-quality video on Windows is Fraps, which is pretty cheap: $37. It also takes screenshots quite well and lets you see the framerate of your game for benchmarking purposes.
Fraps does a great job of recording full-screen video on a single monitor. However, it has problems figuring out what to record if you have more than one monitor. I sometimes see flickers of the other monitor in recorded footage, probably because some routine redraw is making it think something interesting is occurring over there. The low-tech solution I've come up with is to unplug the HDMI cable from my second monitor when I want to record. It's not elegant, but it does the job.
Other than that, Fraps recording is very simple. If you're capturing a non-fullscreen game, like a browser game, go to the "General" tab and make sure "Monitor Aero Desktop (DWM)" is checked. After that, go to the "Movies" tab. Check "Record Win7 sound" or its equivalent if you want to record sound. Make sure to pick "Full-size" unless you're okay with FRAPS scaling your video down to save space.
Once you're configured, just press the start/stop recording button (F9 by default). You'll see the framerate counter in the corner of your screen turn red, indicating that it's recording. When you're done, hit the same button to stop the recording. The file will be saved in the directory configured in the options.
Be aware that FRAPS produces huge video files. Thirty seconds of a full-screen video at a standard 30 FPS takes over half a gigabyte of space. Unless you've got a lot of free space and memory, be somewhat selective about what you capture. And if you're inclined to clean up the files when you're done, know that most video editing software needs the original file to still exist in order to render out a final video. Don't delete the original footage too soon!
There are a bunch of expensive video editing suites out there, but Blender is a surprisingly good and totally free option. Most people know Blender for its primary purpose as a 3d modelling program, but it has had a decent nonlinear video editor inside for a while.
Blender has a well-deserved reputation for being difficult to learn. It's better than it used to be in that respect, but do be aware that it will take some trial and error to get used to. The Blender community suffers from a fondness for video tutorials, but there's at least one good starter text tutorial. I'll try and give the basics here as well.
This will not be easy, but it will be cheap.
I'll leave animation curves and special effects for further study. Here I'll try to cover the most basic stuff: cutting together some clips into a sequence and rendering it out to a video that you can upload to Youtube or a similar site. The most advanced thing I'll cover is fading between two clips.
Setting up the VSE (Video Sequence Editor)
Install and start up Blender. You'll get a splash screen with an image in the middle of the window; click outside to close it. You should see a wireframe 3D scene with a cube. Ignore it. At the top of the screen you'll see a dropdown menu saying "Default." Click the dropdown button on the left side of it and pick "Video Editing." Your screen should look like this:
The bottom half of the screen is the timeline, where you'll be rearranging clips. Time runs left to right, and you can place clips in vertical layers. At the very bottom are playback controls, which work like a media player. The upper right is where you'll preview your video.
Right now the upper left shows the animation curves panel, which is for slightly more advanced users. Click the menu button to the left of "View" in the lower left of this panel. It shows some overlapping graphs. From the menu that pops up, pick "Properties." You should now see a bunch of render properties in the upper left in place of that curves panel.
A few things to notice and tweak here:
- When you're ready to render out your video into a final file, you'll be clicking the "Animation" button. From the "Display" dropdown just below, pick "New Window." This will preserve your window layout when you render.
- You can set your resolution. More importantly, just below that is a slider that's set to "50%" by default. If you leave it there, your video will render faster (for draft review purposes) but it will be half-size. Move that slider to "100%" to render full-size.
- The Frame Range controls pick what frames will get rendered out. These match the "Start" and "End" options on the playback controls.
- Pick a Frame Rate that matches whatever you recorded in FRAPS or OBS: this should probably be 30.
- If you scroll down, you'll see an "Output" section. The directory ("/tmp\" by default) is where your video will get saved to. There's a folder button on the right side of that field that lets you pick a different directory and filename.
Finally, configure your output settings. In the "Output" section, click where it says "PNG." Pick "MPEG" instead and expand the "Encoding" section by clicking on it.
Pick the following options for a good start:
- Format: MPEG-4
- Audio Codec: AAC
You can tweak other settings as much as you like, but these will be fine for beginning work. Now you're ready to lay out your video.
Editing Your Footage
During this section, remember to save often and keep in mind that you can use
Ctrl-Z to undo mistakes. Important: Once you've picked a save location, hitting
Ctrl-S will make Blender ask for confirmation in a popup window. Make sure to click to confirm! If you save from the File menu, Blender will save without asking for confirmation.
Drag your video files, recorded earlier, from whatever directory you saved them to and drop them onto the striped timeline on the bottom half of the screen. They'll look something like this:
The top green/teal clips are the sound part of your recordings. The bottom blue clips are the video part. You can select them by right-clicking on them. For simplicity, let's group them so they can't get out of alignment. Right click on the middle of an audio clip, then shift-right-click on the video clip. From the menu below the timeline, pick Strip → Make Meta Strip (or hit
Ctrl-G). Do this for each pair and you'll have a tidy timeline.
You'll notice that each strip has an arrow on each hand, labeled "left" and "right handles" in the image above. These can be independently selected, letting you change where the strip begins or ends. For now, try to right-click in the big center of a clip to select it.
With a clip selected, press
G to go into "grab" mode. This lets you move a strip around. Left click where you want the strip to end up.
You can drag with your left mouse button to move the green line that serves as the cursor. Notice how the upper-right panel shows the current frame of the video based on the cursor. You can zoom this window with your mouse wheel and pan it by clicking and dragging with your middle mouse button.
K will cut a strip at the green cursor (think "Kut"). You can delete extra clips with the
Delete key; Blender will ask for confirmation in a popup, which you need to click on. You can always drag in extra copies of a clip from your file system.
Cut and move around your clips until you have them in a sequence you like. If you want to make sure there are no gaps between the clips, Grab one and drop it at the same vertical layer, slightly overlapping. As long as there's room, Blender will automatically move the clip you drop slightly to line up just right.
To fade between two clips, overlap them on two different layers in the timeline. The parts that are overlapped are the parts that will be involved in the fade. Select the first clip with right click, then shift-right-click to select the second clip. From the menu below the timeline, click Add → Effect Strip... → Cross. Left-click-drag the cursor over the cross-fade to make sure you got the order of first and second clips correct.
You can use this technique to fade to and from black. Just create a black clip with Add → Effect Strip... → Color. You can cross-fade with this color strip as if it was a normal video clip. You can adjust its length using the Length field on the right-hand strip properties panel.
Zooming and Panning
For more advanced users. If your brain is feeling full, skip this section.
If you don't want a clip taking up the whole screen, you can adjust its offset and crop, but that's a real pain. My recommendation is to install the VSE Transform Tool. Download the .py file to somewhere useful. Switch your Properties panel, where the render settings are, to the User Preferences panel using the little dropdown in the upper left with the icon of some sliders on it. Go to the Add-ons tab, click "Install from File..." at the bottom, and find your file. Click the checkbox next to the little jumping person beside "VSE Transform Tool" to activate it. (If my instructions are unclear, you may have better luck with this guide. Regardless, Blender's UX for this is strange and alien.)
Save your file. In Blender, options are saved with each individual document, not in the application as a whole.
With this addon installed, you can press
T with a selected clip to generate a translation layer. This lets you manipulate the currently-selected clip in the video preview panel. Put your cursor over that panel and you can press
G to Grab the clip and move it around in the frame (clicking to drop it). You can press
S to scale the clip, clicking to pick a scale. More options are documented in the link above.
When rearranging transformed clips on the timeline, always select and Grab the original clip, which is now surrounded by a dotted line, instead of dealing with the green translation layer labeled
[TR]. However, if you're cross-fading or doing other effects, you'll want to use the translation layer, not the original clip.
Are you happy with your edited video? Play it through to see how it looks. You may need to adjust the "Start" and "End" frames at the bottom of the screen to see the whole duration. You may also find that the video lags or is slow to play back inside Blender. This is totally normal. Video is resource-intensive.
Once you're satisfied, make sure that the "Start" and "End" frames are correct and hit the "Animation" button under Render on the properties panel to render an animation. You'll see your video start to render along with a tiny progress bar at the top of the screen. This process will take a while; depending on how complex your video is and how slow your computer is, it might take hours. In the end, you'll have a video you can upload to the video site of your choice.
Taking footage is pretty simple. Editing it is a whole lot more complicated. But if you can make games, you can learn how to edit your own game videos and make cool trailers. We used these same applications to make our first Exploit: Zero Day gameplay trailer.
If you have any questions, corrections, or suggestions, please leave them in the comments below!