我如何在 Linux 上使用 Stream Deck 和开源工具

Stream Deck 不仅仅是一个装满闪亮按钮的键盘;它是一个可定制的工具,可以更轻松地管理您的视频流。
139 位读者喜欢这篇文章。
Working from home at a laptop

Opensource.com

今年我们大多数人都更加熟悉在家工作了。作为一名开发者布道师,这意味着我的旅行减少了很多,而视频工作增加了很多,包括在 Twitch 上直播。

当我在 2020 年春季过渡到在家工作和直播视频时,我决定购买一个 Stream Deck, 但我不确定我会用它来做什么。

Stream Deck 是一个键盘,可以更轻松地管理您的视频流。您可以自定义其按钮来执行诸如切换场景、调整音频、插入媒体、与观众互动等等操作。我购买了 32 键版本,因为那是我购买时任何地方都有库存的唯一版本。

使用六个月后,它已成为我最好的桌面配件。我想向您介绍它并分享我当前的设置。

Linux 版 Stream Deck 软件

Stream Deck 提供了几种驱动设备的软件选项,但我在 Ubuntu Linux 上,因此官方的 Stream Deck 工具不是一个选项。我找到了一个 Python 图形用户界面 (GUI),但它实际上只是将 shell 脚本映射到按钮上;由于我不使用鼠标,我发现这个界面非常笨拙。

相反,我将一系列优秀的开源库粘合在一起,创建了一个相当奇怪且粗糙的 Golang 应用程序 ,它完美地满足了我的需求。这听起来像是驱动一些非常好的硬件的困难方法。也许是这样,但现在它完成了,它非常适合我,我喜欢它!我要声明它不仅仅是一个“在我的机器上工作”的解决方案,因为它在我的两台运行 Ubuntu 的 Thinkpad 上都能工作。

我的 Stream Deck 介绍

我的设置仍然每周都在变化,但这是它在 2020 年 11 月的样子。顶行是 Open Broadcaster Software (OBS) 集成;第二行主要是机器人/聊天集成和窗口聚焦,末尾带有一个额外的屏幕截图按钮;第三行包含灯光控制和一点 Twitch API 集成;底行有声音效果和最重要的静音按钮。如果您想了解更多细节,请继续阅读。

从直播开始

它是 Stream Deck;线索就在名称中!所以我首先开始添加一些与 OBS 的集成,OBS 是我用来直播的程序。OBS 有一个 插件来支持 WebSockets,并且已经有一个 Golang 库,这真的很有帮助。至关重要的是,该库还处理事件,因此我有选择场景的按钮和一个小指示器来显示哪个场景处于活动状态——即使我通过 OBS 而不是 Stream Deck 更改场景也是如此。

当您共享屏幕时,使用 Stream Deck 更改场景非常棒,因为这意味着您不必在忙于某事时专注于另一个窗口。

窗口管理

窗口焦点——保持所有正确的东西可见,而其他所有东西都不可见——绝对是直播时的一大挑战。我想说的是,在我的直播之旅的头几个月里,我不得不轮换很多按键!

有很多东西要看,在 OBS、可能的一些聊天/审核/事件、直播本身之间……你懂的。我的设置按钮专注于我在直播时最常用的应用程序(它们调用 wmctrlgtk-launch 的混合体),这使得操作变得容易得多。我有一个用于 OBS 的按钮,一个用于流管理器,一个用于我的特色聊天仪表板(最后两个是使用 Nativefier 打包成独立应用程序的网页)。现在我的直播更多的是关于我脑海中的主题,而不是主要显示 Alt+Tab。

我完全可以想象将其用于其他日常应用程序,例如,如果您经常在一组应用程序之间轮换,并且想要立即召唤一个应用程序的能力。我为此目的以已知的顺序使用浏览器选项卡,但我觉得我错过了一个提高生产力的机会。

机器人和剪贴板

我直播很多不同的技术,我的极客观众会问很多问题并推荐很多工具,这很棒。但是,这意味着我花了很多时间查找和专注于聊天窗口(以及该窗口内的文本框)以共享链接。为了改进这一点,我将频道机器人切换到 Nightbot,这是一个聊天机器人,它为直播的聊天功能添加了审核和其他功能。有很多机器人可用,但我选择这个是因为它具有 API 集成和按钮,可以帮助我在需要时将内容放入聊天中。

前两个按钮排队。我经常将 URL 粘贴到我的直播中,但我不希望冒险意外粘贴密码。因此,提示按钮首先提示我剪贴板中的内容(感谢 Clipboard for Go 的剪贴板集成)并显示给我。另一个提示按钮从我保存的文件中读取下一行,其中包含我可能想在直播中分享的内容——也许我想提及一个我正在演讲的活动,我认为观众会喜欢,或者我知道我将在当天在直播中推广一个特定的工具——并向我展示它将要发送的内容。我可以再次按下提示按钮以查看文件中的另一行。

“发送”按钮使机器人将排队的文本“聊天”到我的频道中。这比在您正在谈论某个主题时搜索聊天窗口要好得多。

灯光和声音

我不是唯一一个在我的直播位置的背景中有时髦、可变颜色的灯光的直播主,并且能够控制它们非常有用。我身后的架子有一个定制的凹槽,用于安装一条 neopixel 灯带。我的 Stream Deck 有用于打开和关闭灯光以及实现一些颜色预设的按钮。一切都通过 MQTT 工作,我使用 Go 中的 Eclipse Paho 客户端来控制这一切。Stream Deck 上的另一个按钮可以打开和关闭我的视频灯,这样我就可以在准备好直播时设置好一切并提示灯光,而不是在我不直播时让自己眼花缭乱。我很高兴承认翻转 LED 灯带颜色作为一种视频会议派对技巧,甚至在没有人观看时也是如此!按钮可以按下,灯光色彩缤纷……有什么理由不喜欢呢?

我的 Stream Deck 上也有声音效果,但我还没有为这些按钮制作可爱的图标。在技术方面,我正在运行 CasterSoundboard,它支持 Open Sound Control 协议,并在我的应用程序中使用 hypebeast/osc 库来管理它。我有一些不同的声音;它们让我(并希望其他人!)微笑。我见过一些直播中非常吸引人的声音效果,但我认为我目前还处于初级阶段!

非直播按钮

我的 Stream Deck 上没有太多其他功能,但这些是我最常用的功能,通常在我不直播时使用。第一个是屏幕截图按钮。我编写了很多技术文档,有时这意味着我需要创建屏幕截图。有一个一键按钮可以在两秒钟内捕获当前窗口非常有用,我对此感到非常满意。该按钮激活我将用于此目的的命令

/usr/bin/gnome-screenshot -w -d 2

最后,我永远不想放弃的东西:麦克风静音按钮。它通过 pulsemixer 在系统级别静音,并显示设备当前状态的指示器。我是在 2020 年写这篇文章的,那时视频通话是我主要的人际交往方式。由于许多平台没有悬停或单击以访问静音图标的方法,因此像这样控制我的声音设备真是太棒了。许多视频通话应用程序会拾取这些设置,并在您静音时显示您已静音,并在您想表达重要观点时取消静音。有时最小的事情是最能改变生活的!

试一试

我每天都使用很多功能,而不仅仅是在我直播时。我很高兴为 Stream Deck 构思改进和功能,有时甚至在实施它们时进行直播。

现在有一些功能是我不想没有的。如果您正在犹豫是否要购买这样的设备,我建议您试一试。有很多很棒的库可以帮助您将其变成您自己的设备。

接下来阅读什么
User profile image.
Lorna 居住在英国约克郡;她是一位多语言程序员,也是一位已出版的作家和经验丰富的会议演讲者。她通过写作和演讲活动,将她在各种主题上的技术专长带给世界各地的观众,并且总是以非常实用的角度呈现。

1 条评论

很棒的文章。
我理解对吗,StreamDeck 是通过 USB 连接到计算机的?然后计算机将其视为 HID,就像一个特殊的键盘,发送“按键”,但这些“按键”不在键盘的“正常”范围内?

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.