100 lines
3.3 KiB
Org Mode
100 lines
3.3 KiB
Org Mode
#+TITLE: Open broadcast studio setup
|
|
#+AUTHOR: James Blair
|
|
#+EMAIL: mail@jamesblair.net
|
|
#+DATE: 25th January 2022
|
|
|
|
|
|
I use [[https://obsproject.com][Open Broadcast Studio]] in Linux Mint to manage my audio and video devices for virtual meetings which drastically improves my video and audio quality. This page documents how I set up and the configuration I use.
|
|
|
|
* Install obs
|
|
|
|
To get started install obs including all dependencies required using the steps below:
|
|
|
|
#+NAME: Install open broadcast studio dependencies
|
|
#+begin_src tmate
|
|
# Install dependencies first
|
|
sudo apt install --yes ffmpeg v4l2loopback-dkms
|
|
|
|
# Load the v4l2loopback module for virtual cam
|
|
sudo modprobe v4l2loopback exclusive_caps=1
|
|
|
|
# Add package repository
|
|
sudo add-apt-repository ppa:obsproject/obs-studio
|
|
#+end_src
|
|
|
|
#+NAME: Install open broadcast studio
|
|
#+begin_src tmate
|
|
# Install open broadcast studio
|
|
sudo apt update && sudo apt install --yes obs-studio
|
|
#+end_src
|
|
|
|
|
|
|
|
* Install plugins
|
|
|
|
Before we get underway we also install the StreamFX plugin for OBS so we can blur backgrounds without a greenscreen. Follow the steps below to install the plugin:
|
|
|
|
#+NAME: Install streamfx plugin
|
|
#+begin_src tmate
|
|
# Ensure the plugin directory exists
|
|
mkdir --parents ~/.config/obs-studio && cd ~/.config/obs-studio
|
|
|
|
# Download latest plugin release archive from github
|
|
curl -s https://api.github.com/repos/Xaymar/obs-StreamFX/releases/latest \
|
|
| grep "browser_download_url.*zip" \
|
|
| grep "ubuntu" \
|
|
| grep -v "clang" \
|
|
| cut -d : -f 2,3 \
|
|
| tr -d \" \
|
|
| wget -O streamfx.zip -i -
|
|
|
|
# Extract the archive then remove it
|
|
unzip streamfx.zip && rm streamfx.zip
|
|
#+end_src
|
|
|
|
|
|
* Setup virtual audio devices
|
|
|
|
To control improve the quality of our audio we use a virtual audio output device, this allows us to take raw audio input from a microphone, apply filters and enhancements in obs, then output the enhanced audio to the virtual meeting.
|
|
|
|
#+begin_src tmate
|
|
pactl load-module module-null-sink sink_name=Source
|
|
pactl load-module module-virtual-source source_name=VirtualMic master=Source.monitor
|
|
#+end_src
|
|
|
|
Once obs is installed we can launch it with the command below. The setup wizard should open and you should see an option to optimize your configuration for using the Virtual Camera.
|
|
|
|
If you see that option, select it; once you get to the main OBS Studio screen, you should now see a button in the bottom right, "Start Virtual Camera".
|
|
|
|
|
|
* Launch obs
|
|
|
|
Now that we have finished installing obs we can launch it using the command below.
|
|
|
|
#+NAME: Run open broadcast studio
|
|
#+begin_src tmate
|
|
obs&
|
|
#+end_src
|
|
|
|
|
|
* Configure obs scene
|
|
|
|
Our final step to get up and running is to restore our "Profile" and "Scene Collection" via the OBS *Profile > Import* and *Scene Collection > Import* menu options, using the files included in this repository.
|
|
|
|
#+NAME: Show included configuration files
|
|
#+begin_src tmate
|
|
# Show contents of profile ini file
|
|
cat ~/Documents/tooling/streaming/basic.ini
|
|
|
|
# Show contents of scene collection json
|
|
cat ~/Documents/tooling/streaming/scene.json | jq
|
|
#+end_src
|
|
|
|
With the imports done you may need to revist the *Profile* and *Scene Collection* menus to ensure the right profile and scene collection are now selected. Once finished it should look like the image below:
|
|
|
|
#+CAPTION: Obs screenshot
|
|
#+NAME: fig:obs-screenshot
|
|
[[./obs.png]]
|
|
|
|
Congratulations, you should now have a robust obs configuration in place for video calling! :)
|