wimpysworld / obs-studio-portable

Portable OBS Studio for Ubuntu bundled with 50 plugins
MIT License
80 stars 8 forks source link
hacktoberfest linux obs obs-studio obsstudio plugins portable streaming ubuntu

OBS Studio
OBS Studio Portable for Ubuntu

Portable builds of OBS Studio for Linux, pre-loaded with extra features and plugins for live streaming and screen recording

GitHub all releases

Made with πŸ’ for 🐧

OBS Studio Portable for Ubuntu

Portable?

Running OBS Studio in Portable Mode means all settings (Profiles and Scene Collections) are saved within the same directory tree as the OBS Studio executables, plugins, and configuration. You can copy the whole folder to another computer and use it.

OBS Studio Portable is also a container image for Distrobox, so you can run OBS Studio Portable on any Linux distro.

Supported Features

Ubuntu Release OBS Studio SRT RIST Plugins Scripts Themes
Ubuntu 20.04 (Focal) EOL
Ubuntu 22.04 (Jammy) 30.0.2 ❌ ❌ 54 2 2
Ubuntu 23.04 (Lunar) 30.0.2 βœ… βœ… 54 2 2
Ubuntu 23.10 (Mantic) 30.0.2 βœ… βœ… 54 2 2

Install

You can safely install these OBS Studio Portable builds alongside .deb, Flatpak, or Snap installs of OBS Studio.

Ubuntu

The installation process is simple:

wget "https://github.com/wimpysworld/obs-studio-portable/releases/download/r23365/obs-portable-30.0.2-r23365-ubuntu-$(lsb_release -rs).tar.bz2"
wget "https://github.com/wimpysworld/obs-studio-portable/releases/download/r23365/obs-portable-30.0.2-r23365-ubuntu-$(lsb_release -rs).tar.bz2.sha256"
sha256sum -c obs-portable-30.0.2-r23365-ubuntu-$(lsb_release -rs).tar.bz2.sha256
tar xvf obs-portable-30.0.2-r23365-ubuntu-$(lsb_release -rs).tar.bz2
cd obs-portable-30.0.2-r23365-ubuntu-$(lsb_release -rs)
sudo ./obs-dependencies
./obs-portable

Upgrades

The upgrade process is the same as an install; download and extract the new tarball and run sudo ./obs-dependencies to ensure all the dependencies are installed. Then copy the config folder from your old OBS Studio Portable directory to the new one. If anything doesn't work correctly when you start the new OBS Studio, continue using the previous OBS Studio Portable instance.

Distrobox (any Linux)

You can use Distrobox to run OBS Studio Portable on any Linux 🐧 distro. The container image for OBS Studio Portable is maintained under the umbrella of the Universal Blue project.

The portable nature of OBS Studio Portable is redefined when using Distrobox.

Running a single instance of OBS Studio Portable works great! I am currently using OBS Studio Portable this way on NixOS ❄️

  1. Install Distrobox (1.4.2.1 or newer) and Podman (recommended) or Docker.
  2. Create a Distrobox container for OBS Studio Portable.
distrobox create --image ghcr.io/ublue-os/obs-studio-portable:latest --name obs --pull

NVIDIA support

The appropriate NVIDIA libraries on the host should be automatically linked inside the container πŸͺ„ However, the capability for Distrobox to automatically connect NVIDIA libraries was added in Distrobox 1.5.0, and is also not supported on all distros; NixOS for example.

Therefore, if you are running an older version of Distrobox or the NVIDIA drivers are not automatically linked inside the container you can install them as follows:

NVIDIA complete driver stack

Required if the display is rendered by an NVIDIA GPU.

distrobox create --image ghcr.io/ublue-os/obs-studio-portable:latest --name obs --pull --additional-packages nvidia-driver-535

NVIDIA compute only

Suitable for multi-GPU systems where the NVIDIA GPU is not rendering the display and is only being used for compute.

distrobox create --image ghcr.io/ublue-os/obs-studio-portable:latest --name obs --pull --additional-packages libnvidia-encode-535 nvidia-headless-no-dkms-535

3. Run the initial setup.

```bash
distrobox enter --name obs -- true
  1. From now on, launch OBS Studio Portable using the obs-portable launcher.
distrobox enter --name obs -- /opt/obs-portable/obs-portable

If the OBS Studio Portable container cannot connect to the host X11 server, add xhost +si:localuser:$USER to ~/.distroboxrc.

Multiple OBS Studio Portable instances in Distrobox

Should you require multiple instances of OBS Studio, each with its configuration, follow the steps above to get OBS Studio Portable running in Distrobox. Then, extract the OBS Studio tarball into a different directory in your home directory on the host. For example:

mkdir ~/OBS-Studio-again
cd ~/OBS-Studio-again
wget "https://github.com/wimpysworld/obs-studio-portable/releases/download/r23365/obs-portable-30.0.2-r23365-ubuntu-$(lsb_release -rs).tar.bz2"
tar xvf obs-portable-30.0.2-r23365-ubuntu-$(lsb_release -rs).tar.bz2
cd obs-portable-30.0.2-r23365-ubuntu-$(lsb_release -rs)

To launch the second instance of OBS Studio Portable in Distrobox, run the following command:

distrobox-enter --name obs -- ~/OBS-Studio-again/obs-portable

Batteries included πŸ”‹

I'm incredibly thankful to the OBS Studio developers and developers of the growing list of excellent plugins, scripts and themes. These Portable builds of OBS Studio for Ubuntu celebrate the best of what's available. Thank you! πŸ™‡

Here are the 3rd party plugins that come bundled with OBS Studio Portable for Ubuntu:

Audio πŸ”‰

Automation πŸŽ›

Effects ✨

Encoding & Output 🎞

Tools πŸ› 

Text πŸ“

Themes 🎨

Removed πŸ—‘οΈ

These plugins were previously bundled with OBS Studio, but have since been removed.

To consider πŸ€”

Here are some additional plugins that look useful that I might add in the future:

gPhoto

There isn't a definitive gPhoto plugin for current OBS Studio so I'm reluctant to include it. Here's what I know:

Additional plugins

If the builds of OBS Studio offered here don't include a plugin that you use, you can download a pre-compiled version and add it to the portable folder:

OBS Virtual Camera

OBS Studio Virtual Camera support is integrated. The Start Virtual Camera button is in the Controls pane below Start Recording. Here's how to install and configure v4l2loopback, which OBS uses:

echo 'options v4l2loopback devices=1 video_nr=13 card_label="OBS Virtual Camera" exclusive_caps=1' | sudo tee /etc/modprobe.d/v4l2loopback.conf
echo "v4l2loopback" | sudo tee /etc/modules-load.d/v4l2loopback.conf
sudo modprobe -r v4l2loopback
sudo modprobe v4l2loopback devices=1 video_nr=13 card_label="OBS Virtual Camera" exclusive_caps=1

NOTE! Using video_nr greater than 64 will not work.

Wayland

Browser docks and streaming service integrations are currently disabled on Wayland due to Chromium Embedded Framework (CEF) issues. If you need browser docks or stream service integrations, click on the cog icon when logging into Ubuntu and select "ubuntu on xorg".

Alternatively, you can coerce OBS Studio to run via Xwayland without changing the desktop session:

env QT_QPA_PLATFORM=xcb ./obs-portable

Why does this project exist?

If any of the following are true for you, you might find these builds of OBS Studio useful.

Build process πŸ—

Each build is compiled in a freshly provisioned systemd container. The build scripts are included in this repository.

The build-*.sh scripts are wrappers to help automate things, with build-auto.sh being the main entry point.

The actual build script, obs-build.sh, gets injected into the new container and is responsible for actually building OBS Studio. Perhaps it might also serve as a reference for users of other Linux distributions who want to create their portable builds of OBS Studio.

Release numbers

An OBS Studio Portable for Linux release number will be something like r23365, and the filename will indicate the version of OBS Studio and which Ubuntu release it is for:

                     +-- OBS Portable for Ubuntu revision
                     |
                     v
obs-portable-30.0.2-r23365-ubuntu-22.04.tar.bz2
              ^                    ^
              |                    |
              +-- OBS version      +-- Supported Ubuntu release

The purpose of the release number is to indicate a change to the composition of the portable release, most likely due to adding/updating the bundled 3rd party plugins.

References