Bitfocus Companion 拆解:把 Stream Deck 变成可编程的导播台

发布时间:2026/10/22 14:27:50

Bitfocus Companion 拆解:把 Stream Deck 变成可编程的导播台 Bitfocus Companion 拆解把 Stream Deck 变成可编程的导播台【免费下载链接】companionBitfocus Companion enables the Elgato Stream Deck and other controllers to be a professional shotbox surface for an increasing amount of different presentation switchers, video playback software and broadcast equipment.项目地址: https://gitcode.com/gh_mirrors/co/companion导播间里导播按下 Stream Deck 的一个按键OBS 立刻切走机位演播室的灯光跟着变暗。按键只是表象背后是开源程序 Bitfocus Companion 在编排一切——它把 Stream Deck 这类控制器变成可编程面板统一指挥 OBS、vMix、QLab 这些软件。它替代了什么传统做法基本是三条路买专用硬件控制面板贵而且功能写死在固件里换个软件又得重新买给每个软件单独写遥控脚本OSC 归 OSC、HTTP 归 HTTP协议互不相通或者用厂商自家工具出了那个生态就没法用。Companion 把两头拆开硬件只是硬件软件只是软件中间隔着一层统一的按键模型。按键上挂的动作不是写死的底层换成任何它认识的控制器都行上层把 OBS 换成 vMix只是多配一个连接之前排好的按键原样能用。把按键变成可编程的动作传统控制器上一个键干什么功能是出厂定死的而直播现场一个键经常要连着干好几件事。Companion 把每个按键做成一个动作容器往里面塞一串动作按下的瞬间按顺序执行切场景、调灯光、改变量各干各的。执行核心在 companion/lib/Controls/ActionRunner.ts它逐个跑完你定义的动作步骤之间还能插入等待和条件判断。电台值班员把切到晚间节目做成一个键——上一个节目淡出、新推流地址切上、节目表变量刷新一按全到位。一块软件认出所有控制器硬件形态五花八门48 个灯键的 Stream Deck、带旋钮的 Loupedeck、软键加滑动条的 Mirabox。Companion 用 Surface 这一层把硬件抽象成位置类型的统一坐标设备枚举HID/USB和画面渲染都在 companion/lib/Surface/Controller.ts 里新设备靠 mDNS/Bonjour 广播自动被发现。再往上还有 Satellite 卫星机制把 Companion 界面跑在另一台机器上通过网络把按键画面推到本地的控制器。导播台放一台 Stream Deck灯光台旁边摆一台 Mirabox都接同一个 Companion各自显示你为它们配好的按键布局。把软件状态回显到按键上按键只能单向发令但操作者还得知道软件那头此刻是什么状态。Companion 的变量系统解决这个问题每个连接都能往系统里写状态——OBS 当前播什么场景、QLab 播到第几个 cue——按键的图标、文字、背光绑定变量后跟着实时变。变量值和表达式求值归 companion/lib/Variables/Controller.ts 管指示灯的闪烁逻辑单独放在 VariablesBlinker.ts。直播间里导播不用切回浏览器确认哪个场景在播对应按键就亮什么颜色扫一眼面板心里就有数。各家控制协议怎么统一接入每个软件只认自己的协议逐个适配的维护成本会爆炸。Companion 在 Service 层给每种协议各开了一个服务模块OSC 走 companion/lib/Service/OscApi.tsHTTP 走 HttpApi.ts裸 TCP/UDP 和 Artnet 也各有对应实现。配连接时选好软件就行动作发出去时自动翻译成对方听得懂的报文。一个现场团队用它同时管着 OBS 的视频切换和 QLab 的音频播放两个软件各说各的协议面板这边只认按键。 插件是怎么装进系统的软件支持靠模块一个模块对应一个软件或设备的适配。companion/lib/Instance/ModuleStore.ts 对接模块商店缓存版本列表安装和更新时用 semver 校验模块声明的 API 版本跟当前 Companion 是否兼容对不上就装不了。模块商店里 700 多个模块界面上每个模块按 Stable / Beta / Deprecated 三档标色升级、回退都是单独操作。OBS 那边接口变了老模块被标成弃用你在界面上点一下换到新版按键动作不用动——动作挂在按键上不挂在具体协议上。 怎么上手从部署到第一次跑起来生产部署走 Docker仓库根目录的 Dockerfile 直接构建镜像容器起来后浏览器打开管理界面就能用Windows 和 macOS 有现成的 launcher 安装包。想自己跑源码clone 仓库地址https://gitcode.com/gh_mirrors/co/companion装完依赖跑yarn dev即可安装细节见 docs/user-guide/1_getting-started/Installation.md开发说明在根目录的 DEVELOPER.md。第一次打开管理界面左侧是 Connections、Buttons、Surfaces、Modules 这些入口。先把 OBS 连接配上再回 Buttons 页给按键排动作几分钟就能让 Stream Deck 干上正事。Companion 适合谁需要同时指挥几台软件、又不想被硬件绑死的场合直播间、演播室、教室机房、会议室。硬件随便挑软件支持靠模块扩按键逻辑全在软件里定义——出问题能自己翻源码想加功能能自己写模块。【免费下载链接】companionBitfocus Companion enables the Elgato Stream Deck and other controllers to be a professional shotbox surface for an increasing amount of different presentation switchers, video playback software and broadcast equipment.项目地址: https://gitcode.com/gh_mirrors/co/companion创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/21 22:30:47

ubuntu安装latex的texlive

安装texlive 可以选择安全全的6-7GB sudo apt install texlive-full 如果卡在 Pregenerating ConTeXt MarkIV format. This may take some time... 连续按压Enter键,然后再静等几分钟就可以了。参考https://blog.csdn.net/sdy691/article/details/137226717 也…

2026/10/22 16:33:29

从rea标题拆解轻量中间层设计:适配器模式与工程实践

1. 从“rea”这个标题说起:一个被低估的缩写背后藏着什么 第一次看到“rea”这个标题的时候,我承认自己愣了几秒。三个字母,没有上下文,没有说明,放在任何技术社区里都像是一个被截断的变量名。但恰恰是这种极简的标题…

2026/10/22 16:33:29

ACL 2025杰出论文:能力显著向量如何实现零样本大模型性能预测

今年ACL 2025的杰出论文里,有一篇关于“能力显著向量”的工作让我印象很深。大模型越来越多,评测贵得离谱,大家都在问同一个问题:候选模型这么多,到底该选哪一个?逐个跑下游任务benchmark又不现实。这篇论文…

2026/10/22 16:33:29

SQLAlchemy CRUD 实战:Session、增删改查与事务管理全指南

前两篇把SQLAlchemy的环境配置、模型映射和连接池管理都过了一遍,这篇直接进入正题——用SQLAlchemy完成增删改查(CRUD)。这是所有业务系统里最基础、最高频的操作,也是很多人入门ORM后第一道必须跨过的门槛。我尽量把每个操作背后…

2026/10/22 16:33:29

知识工作插件:四类核心能力模块与落地实操路径

1. 从"知识工作插件"这个命名说起:它到底想解决什么问题 第一次看到"knowledge-work-plugins"这个命名,我的直觉是:这不是一个具体的工具,而是一类思路的集合。它指向的是"知识工作"这个场景&#…

2026/10/22 16:33:29

STM32驱动ADS1255:24位Delta-Sigma ADC驱动设计与调试经验

1. 项目概述与整体设计思路 前阵子帮客户做一套多通道工业数据采集系统,核心是几十个模拟量通道的精密测量。模拟前端用了仪表放大器做调理,后端需要一颗高分辨率ADC把信号数字化。对比了好几款芯片之后,最终定了德州仪器的ADS1255IDBR&#…

2026/10/22 16:28:27

MS-SAMR协议深度解析:从账户枚举到句柄管理与安全模型

很多搞AD域运维或者安全方向的朋友,一看到「MS-SAMR协议」这五个字,脑子里的第一反应多半是「用户枚举」。早些年做内网安全评估的时候,我也是这个印象,总感觉它就是用来列账户列表的。直到后来在某个跨平台系统里做账户同步模块&…

2026/10/22 11:29:28

金融AI落地指南:从调研报告到技术选型与工程实践

简介:这份PDF报告聚焦2025年金融服务业中国AI现状与趋势,面向金融科技从业者、AI战略规划人员及关注行业数字化转型的研究者,帮助读者把握生成式AI在银行、支付、交易等场景中的落地路径与投资方向。资源包内含1个PDF文件,大小约1…

2026/10/22 0:01:49

电商智能运营体系从0到1:架构设计、落地步骤与避坑指南

前两年我们团队接了一个电商平台的运营中台项目,目标很直白:把过去靠运营拍脑袋做的选品、定价、发券、推活动这些事,逐步用数据算法和自动化流程代替。项目名字内部就叫“电商智能运营体系”。最近有不少朋友问我当时是怎么设计的、踩过哪些…

2026/10/22 0:01:49

若依框架AI代码生成不稳定?用Agent Skill三层结构+五步法搞定

最近一段时间,我一直想把后台管理系统里那些机械重复的增删改查代码交给AI去写。框架用的是若依,按理说这类业务代码模式非常固定,应该是AI最擅长的事情。可真试下来却不是那么回事——你让AI生成一个用户管理模块,它给出的Contro…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑