OBS Studio

From Gentoo Wiki
Jump to:navigation Jump to:search
This page contains changes which are not marked for translation.

OBS Studio is free software for video recording and live streaming.

Built with Qt, C and C++ and maintained by the OBS Project, the software provides real-time device capture, scene composition, recording, broadcasting and source capture functions with presets for streaming to popular services such as YouTube, Twitch, Instagram and Facebook[1].

In 2014, development started on a rewrite of the software, known as OBS Multiplatform, which included a larger feature set, multi-platform support and broader plugin support[2]. As of 2016, the software was rebranded as OBS Studio, with the older OBS Classic being deprecated.[3]

Installation

USE flags

USE flags for media-video/obs-studio Software for Recording and Streaming Live Video Content

+alsa Add support for media-libs/alsa-lib (Advanced Linux Sound Architecture)
+ssl Add support for SSL/TLS connections (Secure Socket Layer / Transport Layer Security)
browser Enable browser source support via (precompiled) CEF.
decklink Build the Decklink plugin.
fdk Build with LibFDK AAC support.
jack Add support for the JACK Audio Connection Kit
lua Enable Lua scripting support
mpegts Enable native SRT/RIST mpegts output.
nvenc Add support for NVIDIA Encoder/Decoder (NVENC/NVDEC) API for hardware accelerated encoding and decoding on NVIDIA cards (requires x11-drivers/nvidia-drivers)
pipewire Build with PipeWire support.
pulseaudio Add sound server support via media-libs/libpulse (may be PulseAudio or PipeWire)
python Build with scripting support for Python 3.
qsv Build with Intel Quick Sync Video support.
sndio Build with sndio support.
speex Build with Speex noise suppression filter support.
test Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)
test-input Build and install input sources used for testing.
truetype Add support for FreeType and/or FreeType2 fonts
v4l Enable support for video4linux (using linux-headers or userspace libv4l libraries)
vlc Build with VLC media source support.
wayland Enable dev-libs/wayland backend
websocket Build with WebSocket API support.

For a standard streaming setup that uses a webcam, PulseAudio, has a NVIDIA graphics card and integrates with major streaming services one might add to /etc/portage/package.use :

FILE /etc/portage/package.use/obs-studio
media-video/obs-studio lua nvenc pulseaudio speex v4l

Emerge

Install media-video/obs-studio:

root #emerge --ask media-video/obs-studio

Additional software

Audio

OBS Studio can be paired with JACK, Pulseaudio or PipeWire for audio.

VLC

OBS Studio supports integration with VLC media player services. VLC support behaves much like the ordinary media source, however in addition it accepts a list of files to play as well as provides a way to play every path, URL or media source that VLC is able to play.

Usage

Invocation

OBS Studio can be invoked from the command line as follows:

user $obs --help
--help, -h: Get list of available commands.

--startstreaming: Automatically start streaming.
--startrecording: Automatically start recording.
--startreplaybuffer: Start replay buffer.
--startvirtualcam: Start virtual camera (if available).

--collection <string>: Use specific scene collection.
--profile <string>: Use specific profile.
--scene <string>: Start with specific scene.

--studio-mode: Enable studio mode.
--minimize-to-tray: Minimize to system tray.
--portable, -p: Use portable mode.
--multi, -m: Don't warn when launching multiple instances.

--verbose: Make log more verbose.
--always-on-top: Start in 'always on top' mode.

--unfiltered_log: Make log unfiltered.

--disable-updater: Disable built-in updater (Windows/Mac only)

--disable-high-dpi-scaling: Disable automatic high-DPI scaling

--version, -V: Get current version.

Removal

Unmerge

Remove media-video/obs-studio:

root #emerge --ask --depclean --verbose media-video/obs-studio

Troubleshooting

Wayland

If OBS Studio isn't able to capture windows or the fullscreen using Pipewire on a Wayland compositor, set the pipewire and dbus USE flags for media-video/obs-studio and media-video/pipewire respectively:

FILE /etc/portage/package.use
media-video/obs-studio pipewire
media-video/pipewire dbus

Re-emerge these packages to apply the USE flag changes:

root #emerge --ask media-video/obs-studio media-video/pipewire

Emerge gui-libs/xdg-desktop-portal-wlr:

root #emerge --ask gui-libs/xdg-desktop-portal-wlr
Note
This applies to window managers. If you're using a desktop environment such as KDE Plasma or GNOME, make sure to emerge the appropriate variant from the XDG/xdg-desktop-portal page instead.

The screencast global use flag may also be required for some desktop environments.

FILE /etc/portage/make.confmake.conf file
USE="screencast"

Virtual camera

For virtual camera support within OBS Studio, emerge the v4l2loopback kernel module:

root #emerge --ask media-video/v4l2loopback

For OBS Studio to initialize the kernel module, give it the appropriate permissions, this can be done by running it as root or using a polkit agent.

External Resources

References