Capturing game footage
An overview of the different methods available for recording Oni footage on Windows and on Macs.
Windows
Codecs
The most popular by far remains the so-called MPEG-4 and DivX/XviD/3ivX/whatever series. There are also a few decent Microsoft codecs, either preinstalled or coming with Windows Media Player updates (also using the AVI wrapper). WMV is produced by Windows Movie Maker: 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, there is a "countable infinity" of 3rd-party codecs, more or less compatible with cross-platform editing of the recorded footage.
FRAPS
- Pros
- The main limitations for writing uncompressed video at large resolutions are CPU and HDD usage, and FRAPS somehow manages to get fast enough HDD access and doesn't steal much CPU time from Oni either (of course this depends on your CPU and HDD).
- Cons
- FRAPS is shareware: the demo version displays a watermark and stops recording after 30 seconds.
- The FRAPS codec is proprietary and Windows-only, so one can't play back the video in Mac OS without having installed Perian. (This codec extension is still buggy in its ability to handle FRAPS video due to a glitch in the underlying libraries, but it may be fixed soon.)
Taksi
A freeware, open-source counterpart to FRAPS
- Pros
- Freeware: no watermark, unlimited recording length, compatibility with every video codec installed
- Cons
- Doesn't record sound (but this isn't all that relevant for elaborate music videos anyway)
- 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
This is actually a tool intended for capturing video tutorials, not specifically tailored for video games, but it can yield decent results (depending on the codec, HDD and CPU of course). Like Taksi, is 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 desktop. 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 (below). If you don't want to pay for an A/V capture solution, the free alternative is OBS Studio under the "video-only" section used alongside Soundflower under the "audio-only" section, but it's much more complicated to set up.
ScreenFlow
$99, http://www.telestream.net/screenflow/overview.htm
Because ScreenFlow is optimized to capture an entire screen and doesn't support region capture, it's better if you're running Oni in full-screen mode. If running in windowed mode, ScreenFlow's post-recording editing suite will allow you to crop the recording down to just the game window:
1. Hit the Change Canvas Size button. Make sure the Snap to Front Window box is checked.
2. Drag the white lines at the edges of the recorded screen inward until they snap to Oni's window.
3. In order to crop out Oni's window title bar, you'll need to zoom in on the video so you can see the individual rows of pixels and try to drag the top canvas line down to the top of the actual window content. You might think you can adjust the canvas size manually by typing in a smaller height value, but a decrease in pixels will be subtracted from the top and bottom of the window equally, whereas you want the lower edge to remain snapped to the Oni window.
Snapz Pro
$69, http://www.ambrosiasw.com/utilities/snapzprox/
Snapz Pro used to be the most popular screen recorder for Macs, but development has practically ceased and it no longer seems to work in OS X. Unless development on it resumes, you should look at the options below.
iShowU
$20, http://www.shinywhitebox.com/home/home.html
Insert useful information here.
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/jp9000/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 OS X's 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. You must also make sure that the volume slider is set properly, since it controls the volume of the input that it will record; it should not be at the lowest point, but if it is set too high, it causes echoes. After opening the Screen Recording window, you can test-play the output from the game to make sure that no echoes are occurring 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 record it (as seen under "Mac video-only recording" above). You will still have to make sure that your video capture program, if it supports audio input, has Soundflower selected as its source.
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. OS X's 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, http://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 OS X's 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 (OS X 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 OS X 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.
An audio cable
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.