Jump to content

Capturing game footage: Difference between revisions

finishing update by adding screenshots and info on OBS' new format options besides FLV; why do I feel like I just finished a dissertation in astrophysics?
(→‎Soundflower: note about headphones volume)
(finishing update by adding screenshots and info on OBS' new format options besides FLV; why do I feel like I just finished a dissertation in astrophysics?)
Line 28: Line 28:


==Mac A/V recording==
==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 an "audio-only" option, but it's much more difficult to get working.
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===
===ScreenFlow===
Line 54: Line 54:
===OBS Studio===
===OBS Studio===
Free, https://github.com/jp9000/obs-studio/releases
Free, https://github.com/jp9000/obs-studio/releases
[[Image:OBS video capture.jpg|thumb|right|This is what the final setup should look like before pressing "Start Recording". As Oni plays the Main Menu music, the Desktop Audio meter shows an appropriate level of volume for its input.]]


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, and requires Soundflower (below) to capture audio separately. The resulting recording is a compact FLV file, which might be inconvenient for editing purposes, but if you make sure that you record only what you want the user to see (chronologically and spatially), then you can simply feed the FLV directly into YouTube in order to publish it.
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, and requires a kernel extension called Soundflower (instructions below) 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.


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.
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. Don't worry; on subsequent launches, OBS should remember your settings.


===QuickTime Player===
===QuickTime Player===
Line 69: Line 72:
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.
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 unless you have passthrough turned on. You can enable this by going to OS X's Audio MIDI Setup app. Here, you can choose the audio source you're going to use and check the "Thru" box on the "M" (or "Master") channel's line. Depending on the specific method you're using to get audio, if the output volume on your speakers is too high, you might get an echo that is captured in the audio recording. You should use headphones to prevent this.
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===
===Audio Hijack===
Line 79: Line 82:
Free, https://rogueamoeba.com/freebies/soundflower/
Free, https://rogueamoeba.com/freebies/soundflower/


This app (actually called Soundflowerbed) lets you loop the audio from your system output to your system input. Once it's installed, open it and 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.
[[Image:Audio MIDI Setup Multi-Output.jpg|thumb|right|The settings needed for output to both the video-recording app and your headphones.]]
[[Image:Mac Sound Prefs Multi-Output.jpg|thumb|right|Ditto above.]]
 
This app (actually called Soundflowerbed) lets you loop the audio from your system output to your system input. Once it's installed and you've restarted, launch it and 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)".


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 get started, you won't simply be able to adjust the headphones' volume from the speaker icon in your menu bar, because OS X is not comfortable setting 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===
===An audio cable===