Mike Slinn
Mike Slinn

Recording Solo With OBS Studio

Published 2021-11-15.
Time to read: about 5 minutes.

This article is categorized under Media.

Making video recordings of yourself solo is a challenge in many ways. Not only do you need to start and stop recordings, but you also need to hear and see yourself as you appear in the video, and either adjust settings or adjust yourself.

For me, one of the biggest issues is starting and stopping the recording without moving out of position. The space where I sit in order to play has a camera, lights and microphones, and all of that cannot be right in front of the computer that records the audio and video. I need another viewing surface, and a means of controlling the recording software.

The software I usually need to run in order to make music videos includes RME TotalMix, Pro Tools, and OBS Studio. Another problem that solo recording artists face is that these programs must all run at the same time, and all of them require lots of real estate on your computer screen.

RME TotalMix Remote and Avid EUCON

I have experimented with various ways of controlling the software, including controlling the recording computer from a touchscreen laptop, a first-generation iPad mini, an Android phone, and MIDI devices. RME TotalMix Remote, Pro Tools EUCON and Pro Tools EUControl all work well on every device I have tried, for example:

  • RME TotalMix Remote on my first-generation iPad mini
  • RME TotalMix Remote on a touchscreen laptop
  • Pro Tools EUControl and EUCON Client on touchscreen laptop
  • Avid Control on the iPad mini

It is also possible to use MIDI controllers that have knobs, slider and buttons to control arbitrary software using Bome MIDI Translator Pro. That software is complex, but very capable. MIDI devices generally require cables, and setting them up can be time-consuming, and that setup is specific for each MIDI controller you might want to try. MIDI over WiFi is interesting, but requires extra setup. Maybe I will dig into this topic one day.

iPad Mini Is Too Small

The iPad mini works well, but it is awkward to run TotalMix Remote and Avid Control together on such a tiny device. I can run TotalMix remote on the iPad mini, and Avid Control on my Android phone, although the phone's screen is too small to be useful.

Using a second laptop is better because multiple programs can be visible at the same time, and I don't have to think about which device to pick up in order to make an adjustment or start/stop recording.

Perhaps using the iPadOS multitasking feature on an iPad Pro might work as well as running several programs on a laptop, but an iPad Pro is as expensive as a laptop, and laptops are more versatile.

OBS Studio Control Options

Two simple ways that I experimented with in order to control OBS Studio from the recording space were abandoned:

  1. Plugging in a second keyboard on the recording computer and using OBS Studio hotkeys to start and stop recording (difficult to see the computer screen, and the hot keys only work if OBS Studio is in the foreground.)
  2. Using a touch-sensitive computer monitor on the recording computer, and mounting the monitor on a swivel arm (OBS Studio's buttons are too small to work reliably, half the time the wrong button is pushed).

Obs-web is a better way, because it provides a live web page that can be accessed from anywhere in your local area network. However, you need some technical ability because there is no user-friendly way to set up obs-web. Once setup, operation is very simple, however.

Obs-web requires an OBS Studio plugin called obs-websocket.

From Discord #announcements (obs-websocket)
@everyone Hey there, update for you regarding obs-websocket. We've moved to the OBS Project! This is exciting news. It means that obs-websocket is on the roadmap to be included as a default plugin in OBS Studio.

I'll share our current roadmap, which may change at any point:

**Til the end of 2021:** Release obs-websocket version 5.0.0 as an independent plugin, officially beginning the transition period from 4.x to 5.x.

**A few months into 2022:** Merge obs-websocket as a submodule to obs-studio, and include it by default in the next major OBS release. This will overwrite obs-websocket 4.x, officially deprecating those versions.

As for our financial contributors over at Open Collective, we're working to get all of that data transferred to the OBS Project's page, where we will have a project dedicated to obs-websocket. Palakis and I are looking forward to obs-websocket's future in OBS. We will be keeping our roles as lead maintainers of the plugin.

Installing Obs-web

Using a mobile device or another computer to control OBS Studio is possible using an OBS Studio plugin called OBS-websocket, and a client called obs-web. Some technical experience with computers is required for this approach, but it works quite well.

  1. OBS-websocket was installed easily on the computer that is running OBS Studio by using the provided installer program. Once installed, the OBS Studio Tools menu had a new item called Websockets Server Settings.
  2. Clicking on the new OBS Studio Tools menu allows you to configure OBS-websocket. Notice that I disabled Enable authentication.
  3. On the same computer, download OBS-web from this page and click on Download latest build here.
  4. I extracted the contents of the download, provided as a zip file, to E:\media\obs-web-gh-pages.
  5. I used Python 3 to start a small web server on port 4321 that serves the OBS-web files like this:
    Shell
    C:\Users\Mike Slinn>python -m http.server \
      --directory E:\media\obs-web-gh-pages \
      4321
    Serving HTTP on :: port 4321 (http://[::]:4321/) ...
    ::1 - - [15/Nov/2021 10:49:52] "GET / HTTP/1.1" 304 -
    ::1 - - [15/Nov/2021 10:49:53] "GET /service-worker.js HTTP/1.1" 304 - 
    
    The above incantation works on Windows, Mac and Linux. You only need to adjust the directory that the OBS-web files are stored in.

Using Obs-web

There are 2 small web servers now running on the computer with OBS Studio: the Python web server I started on the command line, and the OBS-web plugin for OBS Studio. This is how all the various bits of software work together:

The computer running OBS Studio had IP address 192.168.1.77. Knowing the IP address of that computer allows it and its programs to be accessed from other computers in the same network. Discover your computer's IP address.

To control OBS Studio from any computer or device in my local area network, I just need to point a web browser on the device to the http://192.168.1.77:4321/#192.168.1.77:4444. The buttons displayed on the web browser can be clicked on using a mouse, or by a finger if the device is touch-senstive.

The 3 scenes I defined in OBS Studio are shown as blue and green buttons labeled Default, Sony ILCE-7SM3 and ProTools. I can click on the red button labeled Start recording. Works really well.