Open Broadcaster Software

From ArchWiki

Open Broadcaster Software (OBS) is an open source cross-platform video recording and live-streaming application. It provides an easy to pick up and extensible workflow with customizable scenes, volume mixers, transitions, filters and more.


OBS can be installed with the obs-studio package, or obs-studio-gitAUR for the development version.

Other clients that provide other functionality are available:


For easy configuration, Tools > Auto-Configuration Wizard can quickly set up base settings for both recording and live-streaming. The wizard auto-selects bitrate, resolution and encoder based on your hardware (and network connection if streaming was set up).

Hardware video acceleration

Hardware-accelerated encoding and decoding is best for performance, CPU/GPU usage and quality. The encoder can be changed in Settings > Output > Streaming > Encoder (may have to first set Settings > Output > Output Mode to Advanced). See Hardware video acceleration if a hardware encoder is not detected.

Recording output

By default, OBS will output recordings in the user's home path with spaces in the video filename and the same encoder selected for streaming. The output path, filesize, file format, filename style and more can be changed in Settings > Output > Streaming > Encoder.


By default, OBS assigns no hotkeys. All hotkey pairs highlighted in red upon selection can use the same keybind for toggling the pair's function.

Virtual camera output

Starting from version 26.1, OBS supports virtual camera output on Linux. To use it, install the v4l2loopback-dkms package and add yourself to the video user group, then the Start Virtual Camera button will appear in OBS. If the v4l2loopback kernel module is not loaded yet, OBS will automatically try to load it and ask for administrative privileges to do so (using pkexec(1)).


Since OBS is a Qt application, see Wayland#Qt to make it work under Wayland. See PipeWire#WebRTC screen sharing to enable Wayland screen capture.

Global shortcuts in KDE not working

The global shortcuts set in OBS are working only when the OBS is in focus. As a workaround you can use a websocket plugin to control OBS. See [1].

Tips and tricks

Browser source

The obs-browser plugin gives the ability to use a webpage within the canvas, typically for web-based overlays. The webpage can be interacted with and works like any other source type.

The default obs-studio package does not provide this plugin. It can be added via other clients or plugin packages:

  • obs-studio-gitAUR compiles with the browser plugin.
  • obs-linuxbrowserAUR (or obs-linuxbrowser-binAUR for pre-compiled binary) provides the old linuxbrowser plugin. Works with the default client, but is abandoned and slightly outdated. The quickest way to get the plugin as of December 2021.
  • obs-studio-tytan652AUR is a custom client that provides the browser plugin as well as browser docks, along with other general improvements.

Capturing via Vulkan/OpenGL

The obs-vkcapture plugin adds the capability to capture Vulkan or OpenGL programs by hooking into those APIs directly, rather than using generic Xorg or Wayland window capture APIs. To use it, install obs-vkcapture-gitAUR, as well as lib32-obs-vkcapture-gitAUR if capturing 32-bit applications. Follow the instructions in the GitHub repository to setup a Game Capture using the plugin.

Encoding using GStreamer

obs-gstreamer is a project which provides:

  • An encoder plugin for using GStreamer for encoding.
  • Plugins for using a GStreamer pipeline as a source, video filter, or audio filter. This is an advanced capability intended for users familiar with GStreamer usage.

AMD GPU users report that VA-API via GStreamer outperforms OBS's default VA-API video encoding capabilities. To use obs-gstreamer for encoding, install obs-gstreamerAUR and change OBS' encoder to GStreamer Encoder. If OBS gives an error regarding encoders you might need to install the gstreamer-vaapi package.

Encoding using AMF

obs-studio-amf is a patch that ports the AMD Media Framework encoder to Linux, which was previously exclusive to Windows.

To make this work you need to setup AMDGPU PRO, install obs-studio-amfAUR and set the VK_ICD_FILENAMES environment variable:

$ VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/amd_pro_icd64.json:/usr/share/vulkan/icd.d/amd_pro_icd32.json obs

With the most recent graphics drivers, AMF should outperform any hardware encoder for AMD in both speed and quality.

Manual plugins installation

You can manually install plugin to the ~/.config/obs-studio/plugins/. The folder structure is the following:


See also