Recording live presentations, Part 2: Software setup

Recording live presentations, Part 2: Software setup

In the second of a three-part series, learn to use Open Broadcaster Software and Inkscape to record or live stream speakers' presentations.

Recording live presentations, Part 2: Software setup
Image by : 

Internet Archive Book Images. Modified by CC BY-SA 4.0

Get the newsletter

Join the 85,000 open source advocates who receive our giveaway alerts and article roundups.

If you're part of a team producing live meeting or conferences, chances are you'd like to record speakers' presentations and make them available on the web. Fortunately, this is easy and relatively inexpensive today, thanks to open source software and readily available hardware. Part 1 of this series on recording live presentations covered the equipment you need. Now it's time to prepare your software to capture video, and part 3 will explain how to record a presentation and troubleshoot anything that goes wrong.

This project uses two cross-platform, free and open source software packages: Open Broadcaster Software (OBS) presentation capture software, which is used to do live recordings, and Inkscape vector graphics editor software, which is used to create a mask for OBS with information about the talk, logo, background, and transparent areas for the video inputs. Download and install both from their respective websites or repositories/packet managers.

General notes:

  • Plug all your devices together before starting your recording computer so the system loads drivers during startup and is more stable.
  • Before starting OBS, close all other applications and dedicate your computer to the recording. Stable recording needs all of the computer's power.
  • If you aren't live streaming, disable networking.
  • Remove unnecessary USB devices so your USB ports are dedicated to your recording devices.
  • Check that the USB sound card is detected.

Now that you have everything plugged in, let's dive into the software with the methods we used at EclipseCon France 2017.

Create a mask with Inkscape

The first step is to create a mask for the speaker recordings that displays the speaker, the slides, and the conference information on one screen. This is how it will look when it's finished.

It is simple to do with a few Inkscape tricks. First, open a new document in Inkscape.

Create the mask base

In the menu, select File/Document properties, and change the document size to 1280x720 pixels.

  • Create one 1280x720 pixel rectangle (the same size as the document), fill it with a gray color, without contour (no stroke), and center it exactly in the document.
  • Create two 4:3 rectangles (e.g.,640x480 pixels), and fill them in black without contour.
  • Using Ctrl+Click to keep the ratio, resize them to create one big and one small rectangle. Align them as shown in the image below.
  • Select both with Shift+Click, and select Path/Combine in the menu.

Now, combine them to create the transparent areas for the audio/video capture:

  • Select all with Ctrl+A.
  • In the menu, click on Path/Object to Path.
  • Click on Difference.

Now, you have two transparent areas. To check, create a simple black rectangle, move it to the background, and look:

Remove the black square, and you have the base of your mask for OBS.

To add a background texture to the mask:

  • Create a picture in your favorite picture editor, or download a free image from Unsplash or Pixabay so you are clear with the license (such as this image by Britt Felton).
  • Import the picture in Inkscape.
  • Resize it to be a little bit larger than the mask document (e.g., 1366x768).
  • Select the picture and, in the menu, select Object / Pattern / Object to Pattern.
  • Select the mask and click on the gray area.
  • In the Fill and Stroke menu, click on the Fill tab.

  • Select the pattern you want to use from the list.

  • You can move the pattern around in the mask. Double click on the mask to see the nodes of the mask and the nodes of the pattern. You can set the beginning of the pattern, rotate it, etc.

Adding text and images, such as a company name and/or logo, information about the event, a social media channel or website, etc., is a smart way to brand your video. Think about what you would like viewers to see (in addition to the video) while watching the presentation, and insert them on the mask.

Finally, export your mask so you can use it in OBS.

  • In the menu, click on File / Export PNG image.
  • Click on Page, then check the image size (make sure it's still 1280x720) and set the path and filename to save the mask. And don't forget to click on Export, or nothing will happen.

Before you close Inkscape, don't forget to save the file, in case you want to modify it or to use to create new masks.

You should have a 1280x720 pixel PNG image file that looks something like this:

The checkerboard areas are transparent. OBS manages PNG transparency very well, as you will see below.

These basic steps can be use to create other types of masks, such as:

  • The same mask, but with a 16:9 ratio for the speaker input.
  • A mask to display only one video source (e.g., only the laptop output or only the webcam) rather than two, if you need to show something bigger.
  • Intro, outro, and "please wait" masks.
  • Title templates to add a message or the speaker's name and presentation title. You can add a simple message directly in OBS, or you can prepare your titles in advance in Inkscape.

OBS setup

Now that the mask is finished, it's time to configure OBS for a good quality 720p video recording.

Let's start with a basic OBS configuration for recording live presentations. Start OBS and click on Settings.

Select Output from the left-hand menu.

Change the audio quality to 192khz at minimum and set your recording path (where you want to save the recording). The other default options are fine for a Core i5 processor. 

In terms of Recording Quality, note that the more you compress your file, the more power you need, but the smaller the output file. A medium compression produces larger files, but requires less power. Keep in mind that a Core i5 CPU is not ultra-powerful. With this configuration, expect files to be around 800MB for a 40-minute talk.

You have a choice among FLV, MOV, MP4, MKV, and others for Recording Format. MKV is the safest container to use, because if OBS or the operating system crashes, you can recover the recording (up until the crash). You can also upload MKV directly to YouTube.

If you need an MP4 for post-editing, in OBS's menu, find File / Remux Recordings, browse and open the MKV file, click on Remux, and it will generate a MP4 file with no decrease in quality. Simple, easy, and very fast.

Next, select Audio from the left-hand menu.

We'll maintain the typical configuration of recording audio in two 48KHz tracks (stereo). This makes it easy to read the recording, upload it to the web, remux it in MP4, or import it in an editor.

By default, we will disable all audio sources that OBS can detect and add our USB sound card manually in the Audio settings. This ensures that we record only the speaker (and avoid the common mistake of accidentally recording system sounds or the webcam's microphone).

Video is our last configuration. Again, select it from the left-hand menu.

The goal is to record a good 720p video. The resolution for a 16:9, 720p video is 1280x720 pixels.

FPS (frames per second) is a standard that changes depending on your location. In North America, it's usually 30fps (or 29.97), and in Europe it's usually 25fps. Cinema standard has been 24fps for years. It's up to you, but keep in mind that 25fps will do the job very well and generate a smaller file than 30fps.

Additional settings requirements depend on your target:

  • YouTube encoding and formatting recommendations
  • Vimeo video compression guidelines

It's a good practice to record with a better quality than required, then compress your video afterward. This way you have good material for other uses.

After OBS is configured, it will keep those settings whenever it starts (until they're changed). A configuration can be saved as a profile and new ones can be created and saved; this is a good way to manage multiple configurations.

Setting up the video and mask inputs

By default, OBS starts with an empty Scene in the left column. One scene is enough for this use, but it needs to be prepared before recording. Let's do it with a concrete example: recording talks at EclipseCon France.

In each Scene, you can add Sources. Sources can be anything: a screen, a window, a webcam, streaming via VLC, a webpage, a picture, an audio source, etc.

Click on + in the Sources column to see this menu:

Add the speaker laptop input. At EclipseCon France, we used Epiphan devices, so I will also use an Epiphan in this tutorial.

First, check that the USB webcam and the Epiphan device are plugged in (no joke, please check again). Then, connect the speaker's laptop's VGA output and the projector cable to the VGA splitter (see the image at the end of Part 1 for the proper setup). When the projector displays the speaker laptop, the Epiphan device should be ready and visible in the list of devices. To add it:

  • Click on + in the Sources column.
  • Select Video Capture Device (V4L2)
  • In Create New, add a name like Epiphan or Speaker Laptop. Make sure the name is obvious; you don't want to be live and not sure what you see. Click on OK.

  • In the new window, click on Device and select the Epiphan. You should see a preview. A green screen will be visible for a second, then you should see the same thing on the projector:

Keep the default configuration (it should work fine), and click on OK.

Note: If the preview stays green, change the screen resolution on the laptop to enable the Epiphan device to handle it. Try a smaller resolution or another form factor (e.g., 16:9 to 4:3).

Then, do the same with the USB webcam. If you are using a laptop, you will probably see the integrated webcam in the device list, just select the right one.

  • Give it a clear name, like Webcam or Room View.
  • Configure the webcam resolution to 640x480 pixels.
  • If possible, set the frame rate to 25fps (or the frame you are using in the OBS configuration). OBS requires less CPU power when the frame rates are the same.

You should have something like this:

The final step is to add the mask and change the size and position of the video inputs to match the transparent areas:

  • Click on + in the Sources column and select Image.

  • Name it Mask or something like that and click on OK.

  • Browse to find the PNG file you exported from Inkscape.

  • In the preview, check that the transparent areas of the mask are dark gray, like OBS's background. If it is white, there's a problem with your export from Inkscape; try the export again. If not, click on OK.

You should now have something like this:

The last step is to resize and position the Sources:

  • Click on Epiphan in the Sources column.
  • There will be a red frame around the preview in the monitoring area. Move and resize it to fit its place. Do not hesitate to oversize the frame to hide black borders or compensate inside the input frame. Ctrl+Click provides more precision and control.
  • Do the same with the webcam.
  • Check that the Mask is at the top of the Sources list. You can change the order using the up and down arrows (circled below).

Other options include creating other scenes and configuring transitions and changing between them during the live presentation. Test your scenes each time to be sure that everything is working well before recording each presentation. We had only one scene at EclipseCon France, which decreases the number of things to check before each talk. Recording a live presentation can be stressful, so try to keep things as simple as possible.

Now that the video is ready, it's time to configure the audio.

Configure the audio input

At EclipseCon, we used a wireless microphones, so I will use one for this example. Check that (yes, check again):

  • The microphone output is connected to the sound card input.
  • The input gain on the sound card is not on mute.
  • The microphone transmitter receiver output levels are not too low, not too loud, and not on mute. If you set the levels too high, the sound will be saturated or truncated, resulting in a poor signal quality. Use the level meters or the peak level diodes to check that you never hit the maximum level.
  • The battery levels are good; if any doubt, change them.
  • You have spare batteries for your devices.

Keep in mind that it is better if the microphone is set a little bit low rather than having a distorted voice because the level was set too high.

Add the audio input in OBS by clicking on + in the Source column.

There are two choices:

  • To add just the USB sound card dedicated to OBS, select Audio Capture Device (ALSA).
  • To use the main operating system sound card, use Audio Input Capture (PulseAudio). In this case, the sound card must be selected as the input source in the sound preferences.

  • Name the audio source and click OK.
  • Select your device in the list.

  • Set the sample rate at 48000 Hz and click OK.

  • There is now an input in the Mixer column.

  • Click on the settings symbol next to Mixer.

  • Check the Downmix to Mono box, as there's only one microphone and the voice should be in the center.
  • Use Sync Offset (ms) to synchronize the speaker voice with what's shown on the webcam. In our case, this is not necessary, as the speaker is not near the webcam and is very small in the composition, so any discrepancy will not be noticeable.
  • Keep two tracks to create a standard stereo MKV recording. This creates a file that's easy to use in an editor, upload to the web, or remux into a stereo MP4 file.
  • Click Close.

Add a noise suppression filter and a limiter on the audio input to record a clean sound. Noise suppression will remove the background noise from the microphone input (this is very useful, particularly with an inexpensive sound card like the Behringer). The limiter will prevent a hand clap or something hitting the microphone from damaging the audio track.

  • Click on the settings symbol next to the audio input in the Mixer column and select Filter.

  • Click on the + at the bottom and add Noise Suppression.

  • Keep the default parameter at -30dB.
  • Repeat the steps and add the Compressor.
  • Configure it as a fast limiter with the maximum ratio, fast Attack and Release times, and a Threshold slightly below 0dB (0dB is the maximum level for a digital audio signal).

  • Click Close.

Sound check

It's time for a sound check.

Unfortunately, it is not yet possible to monitor audio directly with OBS in the Linux version, so use the sound card's monitoring features. Fortunately, most sound cards include a way to listen to the inputs, so you can be sure that the sound coming from the microphone is good.

The Mac and Windows versions of OBS enable software audio monitoring. I don't know why it's not included in the Linux version, but I can't wait to have it. (If a contributor can tell us why in a comment, that would be awesome, and maybe we can find some help.)

For the sound check, ask the presenters to use the microphone like they would present a slide. On the sound card, turn the gain of the microphone input so you can hear the speaker. Listen carefully, to make sure the voice is clear. If necessary, adjust the output level of the microphone receiver until you have an input level at maximum 3/4 of the view meter in OBS.

This should ensure that the voice is never distorted, even if there is an issue during the presentation. If you feel the voice is too low after the recording, it can be improved by using an audio editor, since the recording quality will be good.

Coming next

Now it's time to record. Part 3 of this series explains how to do that and what to do if something goes wrong.

About the author

Antoine Thomas - Involved in various Open Source and Free Software projects and communities for many years; Ubuntu Studio co-founder. I run the studio and label Une Jolie Musique, using open source and open source based software only to record music and produce videos. I also teach and advise on open source, and write tutorials. After a mission as Product Manager for the Eclipse Foundation, I am looking for a job or a new mission. more about Antoine Thomas