OBS Studio: Difference between revisions
imported>Steadygaze Add note about package collision gotcha |
imported>Aaronchall add in a few more requirements I'm aware of |
||
Line 12: | Line 12: | ||
plugins = with pkgs.obs-studio-plugins; [ | plugins = with pkgs.obs-studio-plugins; [ | ||
wlrobs | wlrobs | ||
obs-backgroundremoval | |||
obs-pipewire-audio-capture | |||
]; | ]; | ||
}) | }) | ||
Line 26: | Line 28: | ||
plugins = with pkgs.obs-studio-plugins; [ | plugins = with pkgs.obs-studio-plugins; [ | ||
wlrobs | wlrobs | ||
obs-backgroundremoval | |||
obs-pipewire-audio-capture | |||
]; | ]; | ||
}; | }; | ||
Line 35: | Line 39: | ||
=== Using the Virtual Camera === | === Using the Virtual Camera === | ||
The virtual camera requires the <code>v4l2loopback</code> [[Linux kernel#Custom kernel modules|kernel module]] to be installed, | The virtual camera requires the <code>v4l2loopback</code> [[Linux kernel#Custom kernel modules|kernel module]] to be installed, a loopback device configured, and polkit enabled so OBS can access the virtual device: | ||
<syntaxhighlight lang="nix"> | <syntaxhighlight lang="nix"> | ||
Line 43: | Line 47: | ||
v4l2loopback | v4l2loopback | ||
]; | ]; | ||
boot.extraModprobeConfig = '' | |||
options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1 | |||
''; | |||
security.polkit.enable = true; | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
[[Category:Applications]] | [[Category:Applications]] |
Revision as of 05:34, 23 October 2023
OBS Studio is free and open-source software for video recording and live streaming, licensed under the GNU GPLv2 license.
Installing Plugins
Plugins are available from the obs-studio-plugins
package set.
They can be installed by either wrapping the package with wrapOBS
:
environment.systemPackages = [
(pkgs.wrapOBS {
plugins = with pkgs.obs-studio-plugins; [
wlrobs
obs-backgroundremoval
obs-pipewire-audio-capture
];
})
];
or using Home Manager:
{ config, pkgs, ... }:
{
programs.obs-studio = {
enable = true;
plugins = with pkgs.obs-studio-plugins; [
wlrobs
obs-backgroundremoval
obs-pipewire-audio-capture
];
};
}
Including both obs-studio
and (pkgs.wrapOBS {...
in environment.systemPackages
will result in a package collision; if plugins are needed, only include the "wrapped" version, which sets the plugins directory to include Nix-managed plugins (see pkgs/applications/video/obs-studio/wrapper.nix.
Using the Virtual Camera
The virtual camera requires the v4l2loopback
kernel module to be installed, a loopback device configured, and polkit enabled so OBS can access the virtual device:
{ config, ... }:
{
boot.extraModulePackages = with config.boot.kernelPackages; [
v4l2loopback
];
boot.extraModprobeConfig = ''
options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1
'';
security.polkit.enable = true;
}