我正在使用 OBS Studio,并希望永久保存虚拟视频输出,以便在启动应用程序时运行它。
此命令创建虚拟输出:
sudo modprobe v4l2loopback video_nr=10 card_label="OBS Video Source" exclusive_caps=1
但是我必须在每次启动时在控制台中运行该命令。我怎样才能使它永久化?利用 OBS Studio 中的输出的插件被配置为自动启动,但/dev/video10
在系统重启后不可用。
$ modinfo v4l2loopback | grep -i parm
parm: debug:debugging level (higher values == more verbose) (int)
parm: max_buffers:how many buffers should be allocated (int)
parm: max_openers:how many users can open loopback device (int)
parm: devices:how many devices should be created (int)
parm: video_nr:video device numbers (-1=auto, 0=/dev/video0, etc.) (array of int)
parm: card_label:card labels for every device (array of charp)
parm: exclusive_caps:whether to announce OUTPUT/CAPTURE capabilities exclusively or not (array of bool)
parm: max_width:maximum frame width (int)
parm: max_height:maximum frame height (int)
通常内核模块可以添加到 /etc/modules 以在启动时加载。
将此添加到 /etc/modules...
但是,我不知道你是否可以在那里传递参数。所以这是另一种方法。
将此添加到 /etc/modules...
创建 /etc/modprobe.d/v4l2loopback.conf
然后...
确认模块加载...
在 Ubuntu 20.04 和其他系统上的简单方法:
您可以重新启动以检查它是否有效!
注意
请注意 v4l2loopback-dkms 0.12.3-1ubuntu0.1 上的错误
有关此 stackoverflow 帖子的更多信息。
编辑 - 使用三通
正如 renyhp 所指出的,最好使用 tee 命令:
编辑 - 更新模块
正如评论的那样,似乎在某些系统中重新启动后可能会遇到一些问题。为避免这种情况,更新模块总是一个好主意: