Resource icon

How to: Record more than 6 audio tracks with OBS Studio (uses NDI)

This guide assumes you're on Windows as I haven't figured out how to run multiple copies on Linux or macOS. If you do figure this out, let me know and I'll add it here.

Prerequisites
OBS Studio, portable version (grab the latest .zip from https://obsproject.com/download or https://github.com/obsproject/obs-studio/releases/ )
OBS Studio, either a second portable install or a regular install
The obs-ndi plugin https://obsproject.com/forum/resources/obs-ndi-newtek-ndi™-integration-into-obs-studio.528/


First, verify that at least one instance is running in portable mode. The easy way is to create a file named portable_mode.txt in the folder that contains the "bin", "data" and "obs-plugins" folders:
portable.png

Once you run obs64.exe from the portable install for the first time, a new folder called "config" will be created, as shown in the screenshot.
Next, the obs-ndi plugin should be installed to both OBS Studio installs. First, run the .exe installer from https://github.com/Palakis/obs-ndi/releases/tag/4.9.1 and it will automatically install the required NDI Runtime. Then, download the .zip release from https://github.com/Palakis/obs-ndi/releases/tag/4.9.1 and manually extract it into your portable install (or two installs if you're using two). Veirfy that both installs have the "NDI(tm) Output settings" item in the Tools menu.
ndi.png


Now the fun begins. Let's say I have 8 audio tracks that I'd like to record at the same time:
8tracks.png


First, I'll need to open Edit > Advanced Audio Properties and assign each source to its respective audio track for the first 6 tracks, then untick everything else. All by hand. That's at least 42 clicks.
before.png

42 clicks and 1 mis-click later:
after.png

Tracks 7 and 8 will be sent using NDI to the second obs-studio instance for recording. To make them easier to distinguish later, I will also assign them names.
In Settings > Output > Recording, verify that advanced output mode is selected and 6 tracks are ticked:
6tracks.png

In Settings > Output > Audio, assign names to these tracks to better keep track of which is which, and change their bit rates if necessary:
tracknames.png

Now we're going to send the remaining audio tracks to the second obs-studio instance. This is done by adding a "Dedicated NDI(tm) output" audio filter to each of them. Do not forget to name them and press "Apply changes".
apply changes.png


On the second OBS Studio instance, add a new NDI(tm) Source, for each audio source that was sent, and choose the NDI outputs that you have created earlier. You will see both the name of the PC (in my case, "DESKTOP") and the name of the NDI source.
receive.png

In Settings > Output > Recording, tick as many tracks as you'll need, assign them names and bit rates on the Audio tab, then go to Edit > Advanced Audio Properties and assign those tracks to their respective outputs, just like on the first instance.
tracks2.png

Now go to Settings > Video and set resolution to 8x8 on the second instance to minimize CPU usage for video encoding. If you need more than 12 tracks, you'll need to run a 3rd instance set up in a similar fashion.

Now you can assign the same hotkeys to start and stop recording on both instances simultaneously. Note that due to NDI's latency and due to OBS Studio polling hotkeys every 25ms, there will be slight desync between the audio streams recorded this way. You will likely not need to manually sync them, so maybe add a -50ms sync offset to the second instance to compensate for NDI's latency.
  • Like
Reactions: OpenFields
Top