#obs #websocket #streaming #control #studio #hotkey #utility

app obs-do

OBS Studio 的 WebSocket 控制工具

4 个版本

0.1.3 2024年6月22日
0.1.2 2024年3月16日
0.1.1 2024年2月11日
0.1.0 2023年7月16日

#19 in 视频

Download history 155/week @ 2024-06-18 14/week @ 2024-06-25 9/week @ 2024-07-02 6/week @ 2024-07-09

每月212次下载

MIT/Apache

22KB
139

Crates.io codecov Dependency status

obs-do 是一个简单的控制工具,当在命令行上调用时,会触发 OBS 操作。当与全局系统热键结合使用时尤其方便,可以调用命令。

假设您已经安装了 [Rust][Rust],请运行

$ cargo install obs-do

并确保您有 ~/.cargo/bin 在您的 $PATH 中(或直接从那里执行)。

我构建它的动机是 OBS 尚不支持 Wayland 下的全局热键。这很遗憾,因为它们在进行直播时几乎必不可少,您不能总是切换到 OBS 窗口。一些 Wayland 合成器支持 全局热键传递,这通常足以应对。然而,在我这个例子中,由于 Hyprland 中的此错误OBS 中的此错误,我根本无法以这种方式获得所需的全局热键。

这让我想到了 obs-do。这个超级简单的 CLI 通过 WebSocket 连接到 OBS,并以此方式发出命令,然后可以由任何您想要的手段(包括 Wayland 合成器全局热键)调用以触发所需的 OBS 效果。例如,我使用以下 hyprland 配置来使用我的数字键盘进行流控制

bind = SHIFT, KP_SUBTRACT, exec, obs-do toggle-stream
bind = SHIFT, KP_ADD, exec, obs-do toggle-record
bind = , KP_DELETE, exec, obs-do toggle-mute
bind = , KP_BEGIN, exec, obs-do set-scene 'Desktop (Q&A)'
bind = , KP_INSERT, exec, obs-do set-scene 'Desktop (code)'
bind = , KP_MULTIPLY, exec, obs-do set-scene 'Break'
bind = , KP_END, exec, obs-do set-scene 'Webcam'

请注意,要使此功能正常工作,您必须安装一个包含WebSocket功能的OBS。如果在OBS菜单中看到“工具 -> WebSocket服务器设置”,那么您已经设置好了 - 只需将“显示连接信息”弹出窗口中的“服务器密码”复制到~/.config/obs-do/websocket-token。否则,请获取一个包含WebSocket支持的不同OBS安装。例如,在目前Arch Linux中,obs-studio软件包不包括WebSocket支持。相反,您需要从AUR(如obs-studio-git)安装其他OBS软件包。

许可

根据以下任一许可授权:

任选其一。

贡献

除非您明确声明,否则您提交的任何有意包含在作品中的贡献,如Apache-2.0许可证中定义的,均应如上所述双重许可,不附加任何额外条款或条件。

依赖关系

~9–22MB
~250K SLoC