OBS Studio
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) |
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 |
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. |
speex
|
Build with Speex noise suppression filter support. |
ssl
|
Build with TLS/SSL support for RTMPS connections. |
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 :
/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 record windows or the fullscreen on a Wayland compositor, set the appropriate USE flags and emerge gui-libs/xdg-desktop-portal-wlr.
Add the screencast
USE flag for the dependency sys-apps/xdg-desktop-portal, and pipewire
for media-video/obs-studio:
/etc/portage/package.use
sys-apps/xdg-desktop-portal screencast
media-video/obs-studio pipewire
Emerge gui-libs/xdg-desktop-portal-wlr:
root #
emerge --ask gui-libs/xdg-desktop-portal-wlr
Re-emerge media-video/obs-studio to apply the USE flag change:
root #
emerge --ask media-video/obs-studio
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
- OBS Tutorials - Tips and tricks for OBS Studio.
- OBS Project - The OBS Project main site.
- OBS Documentation - Detailed information for developers and users alike.
References
- ↑ http://www.pcgamer.com/2012/12/04/how-to-set-up-open-broadcaster-a-free-lightweight-livestreaming-application/
- ↑ https://web.archive.org/web/20160309230843/https://obsproject.com/index
- ↑ https://obsproject.com/forum/threads/obs-classic-is-no-longer-supported-heres-how-to-easily-switch-to-obs-studio.55820/