Composing a Video from multiple sources (MP4, PowerPoint, image, text) using OBS
Videos are a powerful way of communicating a message. I have always been more inclined to write blog articles to share my findings. Recently I was introduced to OBS — Open Broadcaster Software. This free tool makes it fairly easy — for me too — to record videos and combine PowerPoint slideshow with background images, voice over, video clips, my talking head and other sources. I have written down my early findings as a newbie with OBS — in an article of course. Well, the resulting video of what I describe in this article is also available here: https://youtu.be/SSmyspinPck .
Here is the situation: I have recorded my talking head with a custom green background using Microsoft Teams (as described in this article Create video recording in Microsoft Teams with green screen chromakey background without an actual green screen), resulting in an MP4 file. While I recorded my talking head, I went through a PowerPoint slideshow. Using OBS, I recorded this slideshow, also resulting in an MP4 file (no sound). I now want to combine these two, simultaneously recorded media sources into a single MP4 output file that I can upload on YouTube. In addition to the two MP4 files, I also want to add additional text, a background image to create a nice layout and possibly even more imagery and videos.
In this article, I will describe what I did to take these four input sources and combine them into a single resulting MP4 file.
I also include a few tips — the things I would have liked to have known before starting out:
- hotkeys for pausing recording
- hotkeys for starting, stopping, restarting and pausing media sources
- settings to enable the sound from one or more media sources
- settings to actually hear the sound from the media sources while creating the OBS recording
- hotkeys for scene transitions
- playback buffer — save the last X seconds or minutes of the recording or live stream to a separate file
This on top of the tips for how to crop a source, how to apply the chromakey filter to remove the green background, add an audio input source (the microphone on my telephone cable) and how to turn the MKV file into an MP4 file ; also read my article How I create multi-layer videos with talking head, slides, sound and simple effects with OBS Studio to get going with OBS.
Record Output composed from Multiple Sources
OBS has the notion of Sources and Scenes. Sources are used across the Scenes — and are for example live window (for example running PowerPoint slideshow) or browser capture, media source (such as MP4 file), text (text snippets projected in the OBS output) and audio of video input from microphone or webcam. Scenes are screen layouts — compositions of the sources in various sizes and positions. Scenes can all use the same sources, or different subsets of sources.
In this case, I have created four sources:
- the talking head with green screen video file (MP4) recorded with Teams
- the PowerPoint slide show recording created with OBS at the same time as the Teams recording; this too is an MP4 file
- the background image with the screen, the desk, floor and walls — a running PowerPoint slideshow
- a text snippet with the URL to Register at
I have also defined three scenes. One with me projected at the desk with the screen to my right, one with a large talking head blocking the desk and one with the screen with slides large with only a small talking head. Depending on the level of detail in the slides and the urgency of my verbal message, I will pick the scene most suitable (and because I am a pretty poor director, this scene selection is still a bit messy).
To get audio in the final recording, I have to make sure that the audio input from the TeamsRecording — the one that captured my head and my voice — is enabled and has the right amplification (horizontal slider)
I can start recording in OBS using hotkeys — CTRL + R — and pause recording at any point using CTRL + Space. OBS will create a file with MKV extension. I can convert an MKV file into an MP4 file format easily, using the File |Remux option.
OBS does not allow me to make media sources start at a specific time position. The best I can do is use the Start, Restart, Pause and Unpause hot keys (see below) for media sources in order to make them start feeding into the final recording at the right position. This is not always trivial to get right.
Note: you can play the media source in a media player — such as VLC — and capture the VLC application window as a Windows Source in OBS. This allows perfect control over where to start using input from the media file. However, it means the quality of the recording will be far poorer — because now OBS does not use the MP4 content directly but rather whatever is “visible” in the display. However, if the video output is shown only in a small area in the output, capturing the VLC Window is probably acceptable.
Hotkeys for scene transitions and for starting, pausing and unpausing and stopping recording
It is hard in the middle of “live recording” to control scenes, transitions and the entire recording session with the mouse — and still keep a smiling face no camera. Hot keys are an outcome — that allow you to start, pause and stop recording with a single keystroke and also to transition between scenes and even manipulate media sources. Remembering the list of hot keys may now be the next challenge.
Under Settings | Hotkeys you can define hotkeys for most operations you will need while recording with OBS.
The option to pause recording is fairly new (Fall 2019) and it requires the right output format to be set. OBS recording formats that support pause and restart are only Flv, Mkv, ts, and m3u8. The reason these video formats have this feature is that OBS has the ability to store this video without being finalized even if the computer is turned off due to a power outage. Assuming you have your recording format selected properly you will see the pause button available once you start recording. The default hot key for pausing recording is CTRL+Space.
(Re)start a media source at the right time
When you double click on a media source, then click on OK, it is restarted. However, that crude method (the first I discovered) can be improved over using hotkeys. For each source, hotkeys can be defined. For media sources, hot keys can be set up for start and restart, pause, stop, mute and unmute.
Monitor Sound (listen into the sources you are mixing)
I had a bit of an issue while combining two sources: I could not hear the sound from either source. The sound was added to the recording — but I could not hear it during the OBS recording session. I have since learned (from this article: https://wpguru.co.uk/2020/02/routing-and-monitoring-audio-sources-in-obs/) that the sources I want to listen in to must be configured for this — they need to be set to ‘monitorable’.
In the Audio Mixer, open the Advanced Audio Properties window for the source(s) you want to listen to:
And in the Advanced Audio Properties window, set Audio Monitoring to Monitor and Output (for sources that should end up in the final recording) or to Monitor Only (for sources that you want to listen to during recording, but should not end up in the final recording, such as the track with director instructions such as cut/action, in 5, scene 1, etc.)
My earlier article on creating videos with OBS (for absolute beginners): How I create multi-layer videos with talking head, slides, sound and simple effects with OBS Studio
Routing and monitoring Audio Sources in OBS — https://wpguru.co.uk/2020/02/routing-and-monitoring-audio-sources-in-obs/
Originally published at https://technology.amis.nl on June 1, 2020.