Capturing game footage
This is an overview of the different software available for recording game footage in Windows and on Macs. Although it's written with Oni in mind, the various instructions below should apply to any game. Of course, the most reliable method for high-performance video recording is to connect your PC to a video capture device, offered by companies such as Roxio, Elgato, and Blackmagicdesign, but these devices are also more expensive than any of the software options below.
Codecs
When choosing a format in which to save your recording, you need to understand the difference between the file suffix, which is just the wrapper, and the actual codec used internally for the video data. The most popular and cross-platform-compatible video codec is MPEG-4/H.264, which is usually saved in a .mp4 file. Some video capture software has a tendency to save .flv files, which will usually be encoded in H.264 or H.263 (Sorenson Spark). These can be less convenient to work with, but they upload just as well to YouTube.
There are also a few decent Microsoft codecs, either preinstalled or coming with Windows Media Player updates (saved in a .avi wrapper). The WMV codec is used by Windows Movie Maker (usually wrapped in .asf, .avi, or .mkv): the "superior quality" setting can have lousy anti-aliasing for titles, but for raw in-game footage it's mostly OK, and it has a very convenient compression ratio.
Apart from those, if you are willing to experiment, there are a ton of other codecs that are more or less compatible with cross-platform editing of the recorded footage, and most of these should also be accepted by YouTube. See the last section of the article for editing software.
Windows
OBS Classic
Free, https://obsproject.com
OBS Classic does a fine job of recording Oni, both when running in windowed mode and full-screen. It offers a ton of options, including customizable hotkeys, but it is a bit non-intuitive and rather complex for those who are new to recording gameplay.
English tutorial: https://www.youtube.com/watch?v=y-L5zhhVuSc
German tutorial: https://www.youtube.com/watch?v=m2n5nfE26YA
There are many subjects addressed in the tutorials, but the following settings should be enough to get you started:
- Settings > General > Language
- Settings > Hotkeys > Broadcast: Start recording: F2
- Settings > Hotkeys > Broadcast: Stop recording: F3
- Settings > Broadcast Settings > Mode: File Output Only
- Settings > Video > Change resolution so that it matches Oni's resolution
- Right-click white "Sources" field > "Add" > "Game Capture"
- (Game must be already running) Select Application: Oni
- tick: [x] Capture mouse cursor
In some cases:
- Settings > Audio > Desktop Audio Device: Standard
- Settings > Audio > Microphone/Auxiliary Audio Device: Disable (Built-in microphones can record a lot of noise)
- Settings > Audio > (click button) Reinitialize and Apply
Fraps
$37, https://fraps.com/
- Pros
- The main limitations in writing uncompressed video at high resolutions are CPU and HD usage. Fraps has high performance in writing to disk, and doesn't steal much CPU time from Oni either (of course this depends on your CPU and HD).
- Cons
- Though Fraps can be used for free, the demo version displays a watermark and stops recording after 30 seconds, which is why we aren't listing Fraps as "free" above.
- The Fraps codec is proprietary and Windows-only, so Macs cannot natively play the recordings without using Perian or VLC, which sometimes have their own issues with the Fraps codec. If you were going to edit the recording on a Mac, then you would first have to convert the video to something more compatible, so in that case you should consider using a different capture program altogether. Now, if you are simply going to upload the video to YouTube, it's going to get converted to HTML5 and Flash video anyway, allowing any computer to play it.
Taksi
Free, http://taksi.sourceforge.net
- Pros
- Freeware: no watermark, unlimited recording length, compatibility with every video codec installed.
- Cons
- Doesn't record sound (but this may not be necessary if you are making a music video).
- May create "empty" ranges at the start of the video, if the recording is not the first in the Taksi session.
- Doesn't reliably detect Oni as an application window. This is fixed by using Rossy's OniUSB.
CamStudio
Free, https://camstudio.org/
Note: Unfortunately, this program now comes bundled with numerous adware-type programs that you can't always opt out of, so you may want to think twice about installing it.
CamStudio is actually intended for capturing video tutorials and is not specifically tailored for video games, but it can yield decent results (depending on the chosen codec, and your HD and CPU, of course). Like Taksi, it can use pretty much every video codec available system-wide. Unlike Taksi or Fraps, it can't hook a specific application, and instead records a specific portion of the screen. Unlike Taksi, it can record sound.
Mac A/V recording
These programs will automatically record Oni's sound and video at the same time. Just make sure to close any other applications that play sounds before you record Oni, unless you're using Audio Hijack (see "Mac audio-only recording"). If you don't want to pay for an A/V capture solution, the free alternative is OBS Studio or QuickTime Player (see the "video-only" section) used alongside Soundflower (see the "audio-only" section).
ScreenFlow
$99, http://www.telestream.net/screenflow/overview.htm
As of version 6, ScreenFlow can now capture regions of the screen, useful when playing Oni in windowed mode. System audio is captured by the Telestream Audio extension which the program offers to easily install for you.
A couple tips on preferences before starting a recording:
1. Under Advanced, choose "Lossless" compression or you will not get satisfactory results.
2. Under General, you'll probably want to turn off the countdown option.
To capture just Oni when playing in windowed mode:
1. Create a new recording (File>New), choose the right monitor in the "Record Desktop from:" menu, check the "Record Computer Audio" box, and on the second screen (notice the blue dots), the choice for "Record Desktop Framerate" should be set to "Automatic". This will allow ScreenFlow to record Oni at 60fps.
2. Instead of hitting the Record button, press the button with the icon of a rectangular marquee, then hover over Oni's window and press Space to select its area as the capture region. Now you can hit the big red circle button to record.
3. Stop recording using the ScreenFlow icon in the menu bar.
However, you will still have to use ScreenFlow's post-recording editing suite to crop out the title bar of the game window:
1. Hit the Change Canvas Size button. (If you recorded the whole screen, not just a window, make sure the "Snap to Front Window" box is checked.)
2. You'll see fields for typing in a custom canvas size, but don't use them. If you recorded Oni at 1024x768, as an example, the canvas size will be 1024x790, but if you changed "790" to "768", it would just deduct those 22 pixels from the top and bottom of the window equally.
3. In order to crop out Oni's window title bar, you'll need to zoom in on the video so you have enough control to move the top canvas boundary by individual rows of pixels. Drag the top canvas line down until the canvas size in those text fields reflects the actual resolution that Oni was running at (again, that should be 22 pixels less than what you started with).
Saving the recording will only save a ScreenFlow project with the raw video. To get a standard format video such as .mp4, choose File>Export…. Pick "Web - High". Then click the "Customize…" button. Here you can set the framerate to 60fps if desired, as well as picking a good bit rate (4000 kbits/sec seems adequate when using 60fps). The quality of the audio should not need to be higher than 128kbit AAC. Save the settings, then back on the export screen make sure that the Dimensions setting is "Scale by 100%".
iShowU
$20-$79, https://www.shinywhitebox.com/
shinywhitebox offers several versions of their capture technology, from the classic version of iShowU ($20, and somehow still supported for macOS) to the full-featured capture-and-editing suite iShowU Studio ($79). If you're thinking of getting classic iShowU, it probably makes more sense to go with the newer product iShowU Instant ($24) instead. Both apps do record system audio, though technically classic iShowU should be under the "video-only" section since it requires Soundflower (bundled with it; see "audio-only" section for info) to capture this sound. The newer iShowU apps come with iShowU Audio Capture, a replacement for the semi-defunct Soundflower that shinywhitebox wrote themselves (all the video capture apps on this page which capture system sound require a kernel extension).
iShowU supports region capture and window capture, but if you are recording Oni in windowed mode, then keep in mind that iShowU's window capture option records the window's title bar as well. This means that you have to use region capture instead, which in turn means having to precisely select the contents of Oni's window. Fortunately, iShowU provides its own zoom feature while you perform this selection, but make a tiny mistake and you could ruin your output with a misaligned recording area. If you have iShowU Instant with the Advanced Features add-on ($34, making the product a total of $58) or iShowU Studio, you can just record the Oni window and crop the video afterwards. By contrast, OBS Studio records the direct OpenGL output from Oni, giving you a perfect capture of just the game every time (but with the added hassle of configuring OBS and Soundflower).
Mac video-only recording
These programs record audio too, but they're designed to take input from a built-in microphone or from line-in, and thus will not record system sound. You have to combine one of these programs with one of the options under "Mac audio-only recording" to get an A/V recording of Oni.
OBS Studio
Free, https://github.com/obsproject/obs-studio/releases
OBS allows you to record video directly from Oni's OpenGL output, so you don't have to try to select the exact region of the game window. OBS is a bit tricky to set up, but the settings you choose for the "Scene" will be saved automatically for the next time you open OBS. An additional wrinkle is that OBS requires a kernel extension called Soundflower (see "Mac audio-only recording" section) in order to capture audio. Once Soundflower is set up, you will need to enter OBS' Settings screen, choose "Audio", then set the "Desktop Audio Device" to "Soundflower (2ch)" in order to capture the system sound that is being looped around to become input.
The resulting recording is in FLV format by default, which is inconvenient for editing purposes because Apple's video-editing software, such as iMovie, requires a .mp4 or .mov file as input. If you don't plan to make any edits, and you take care to record only what you want the user to see, then you can simply feed the FLV directly into YouTube in order to publish it. You can also convert it to a Mac-friendly format with video-conversion software such as Flip4Mac Player Pro ($29) or Perian (free, but no longer under development). But you'll probably prefer to go to OBS' Settings screen, choose "Output", and change the "Recording Format" to "mp4" or "mov".
To capture Oni's video output directly, open Oni in windowed mode, then open OBS and remove any default entry in the Sources list. Click the '+' button and choose a Syphon source. In the Syphon source's properties, check the Inject box and click the Launch SyphonInject button. Choose Oni from the list of open applications and click Inject. Close the Syphon properties window and you should see Oni's game window at the top-left of the screen preview in the OBS window. Now click the Settings button, go to the Video section, and in the Base Resolution field type in the size of the Oni window. If you don't trim the video dimensions to Oni's resolution in this way, the final video will show Oni's gameplay footage as part of a larger blank region.
QuickTime Player
Free, built-in
Simply choose File>New Screen Recording. You will be prompted to select a region of the screen to record, which still leaves you the challenge of precisely capturing the window's region (you may find macOS' Zoom feature, under the Accessibility preferences, helpful for making a precise selection). Like OBS, QT Player also will not record system sound without additional help; see below. If you use one of those methods to direct the game's sound output back into the computer, then make sure you also select this input source in QT Player's window by bringing up the pop-up menu using the arrow next to the Record button and choosing the right "Microphone" setting. The volume slider controls the volume of the input that QT Player will record; it does not seem to make much difference if it is set to the lowest volume or a little higher, but if it is set too high, it causes echoes. To make sure your recording won't have echoes, plug in headphones, open the Screen Recording window, and test-play the output from the game before you begin recording.
Mac audio-only recording
These programs will either record system sound separately, to be recombined with the captured video in your video editor of choice, or will divert system sound to a program that normally wouldn't be able to record it (as seen under "Mac video-only recording" above).
Additionally, you need to ensure that your levels are correct. Once you believe you are ready to record sound, go to System Preferences>Sound and make sure that the "Output volume" at the bottom and the "Input volume" under the Input tab are set properly. You can test this by generating some sound from the game without starting a recording, and watching the "Input level" bar in Sound's Input tab to see if it lights up appropriately while the sound is playing.
Note that you may not hear sound output from the game when you are directing the audio output to your video recording program, unless you have passthrough turned on. macOS' Audio MIDI Setup app should allow this if you select your input device and check the "Thru" box on the "M" (or "Master") channel's line. If you send passthrough to your speakers, you might get an echo that is captured in the audio recording (yes, even though you are not recording through the Mac's built-in microphone). You should use headphones to prevent this. Note that "Thru" is disabled when using Soundflower, below, but there are instructions under Soundflower's section for getting passthrough audio sent to your headphones.
Audio Hijack
$49, https://www.rogueamoeba.com/audiohijack/
The basic issue with most programs that record your system sound is that they record all the sound, including various sound effects from your mail client, instant messenger, etc. This program allows you to specifically record the audio from just Oni.
Soundflower
Free, https://github.com/mattingalls/Soundflower
Soundflower lets you loop the audio from your system output to your system input. Once it's installed, launch the controller app (actually called Soundflowerbed; note that, as of the time of this writing, the app is no longer distributed pre-built; you must download the Xcode project from the GitHub page above and build it yourself). You will get a flower icon in your menu bar; from it, select "Built-in Output" under the "Soundflower (2ch)" section (the "64ch" part doesn't matter). Then go to System Preferences>Sound, and under both the Input and Output tabs, choose "Soundflower (2ch)". This is the software equivalent of the audio cable loop method described below.
Now, if you want to have passthrough audio, so that you can actually hear the game while playing and recording it, you need to go an extra mile. First, plug in some headphones. Then, open macOS' Audio MIDI Setup app (which can be reached by choosing Soundflowerbed's "Audio Setup…" menu item), click the "+" button at the lower-left, and create a new "Multi-Output Device", then check the "Use" box for both "Built-in Output" and "Soundflower (2ch)". Then, expand the Multi-Output Device item in the left-hand list of the window and select the Built-in Output sub-item. You'll want to turn the volume for channels 1 and 2 down to -33dB or lower in order not to blow your ears out (macOS doesn't automatically dampen the volume for headphones when they are part of a multi-output device). Note that once you are recording, you won't simply be able to adjust the headphones' volume from the speaker icon in your menu bar; it will be grayed out because macOS cannot set the volume for multiple devices at once. Finally, go back into System Preferences>Sound, under the Output tab, and choose "Multi-Output Device" instead of "Soundflower (2ch)".
Either way, before you can record the audio that is being looped around by Soundflower, you must select Soundflower as the audio input source in your video capture program before starting to record Oni.
Note that, as of April 2016, Soundflower the extension is in a somewhat precarious state of development, and Soundflowerbed the app is discontinued or in the process of being rewritten. See iShowU Audio Capture for a solution that may be newer and easier to use.
iShowU Audio Capture
Free, https://www.shinywhitebox.com/
It appears that shinywhitebox's free Audio Capture extension, designed for use with their iShowU video capture apps, will work on its own, allowing you to add system audio to any video recording app, including QuickTime Player. It probably works similarly to Soundflower, but if anyone actually tests it, please update this section.
An audio cable
About $2-$5, wherever audio equipment is sold
If your Mac has standard minijack ports for audio input (microphone) and output (headphones), just plug one end of a standard audio cable into the headphones jack and the other end into the microphone jack to loop your sound output back into the computer. Then, in System Preferences>Sound, select "Headphones" under the Output tab and "Line In" under the Input tab. Make sure you also select line-in as your audio source when recording video in a program that also records audio.
Editing
Afterwards, you will probably need a way to edit your gameplay footage. On Macs, the above-mentioned ScreenFlow and iShowU Studio have built-in editors that appear after recording. iMovie is also available for free from the App Store. Free cross-platform editors include Shotcut and DaVinci Resolve (non-Studio version).
Adding subtitles
You may want to add subtitles to your videos (e.g. using srt files), for instance if your English is not perfect or to allow deaf people to understand them.
You can use Aegisub (free & cross-platform) to do that.
Note: YouTube nowadays supports adding .srt (or other types of subtitles) easily to your videos, this is good to know if you upload your videos to it.