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),仅供参考

相关新闻

会讲故事才是硬实力:产品经理如何用Awesome-CheatSheets-and-MindMaps讲好PRD与团队协作沟通

会讲故事才是硬实力:产品经理如何用Awesome-CheatSheets-and-MindMaps讲好PRD与团队协作沟通

会讲故事才是硬实力:产品经理如何用Awesome-CheatSheets-and-MindMaps讲好PRD与团队协作沟通 【免费下载链接】Awesome-CheatSheets-and-MindMaps :books: Ultimate CheatSheets(Tutorials&MindMap), overview of syntax, features and practical tips, collect…

2026/8/22 15:24:20 阅读更多 →
用DiffUtil高效管理ViewPager2中的Fragment:Android-Extensions FragmentListAdapter实战

用DiffUtil高效管理ViewPager2中的Fragment:Android-Extensions FragmentListAdapter实战

用DiffUtil高效管理ViewPager2中的Fragment:Android-Extensions FragmentListAdapter实战 【免费下载链接】Android-Extensions An Android library with modules to quickly bootstrap an Android application. 项目地址: https://gitcode.com/gh_mirrors/an/And…

2026/8/22 15:24:20 阅读更多 →
ipwhois返回结果字段速查:一文读懂RDAP与Legacy Whois的完整数据结构

ipwhois返回结果字段速查:一文读懂RDAP与Legacy Whois的完整数据结构

ipwhois返回结果字段速查:一文读懂RDAP与Legacy Whois的完整数据结构 【免费下载链接】ipwhois Retrieve and parse whois data for IPv4 and IPv6 addresses 项目地址: https://gitcode.com/gh_mirrors/ip/ipwhois ipwhois 是一款专注于 IPv4 与 IPv6 whois…

2026/8/22 15:24:20 阅读更多 →

最新新闻

external-snapshotter快照删除策略详解:Delete还是Retain?一文避免存储资源泄漏

external-snapshotter快照删除策略详解:Delete还是Retain?一文避免存储资源泄漏

external-snapshotter快照删除策略详解:Delete还是Retain?一文避免存储资源泄漏 【免费下载链接】external-snapshotter Sidecar container that watches Kubernetes Snapshot CRD objects and triggers CreateSnapshot/DeleteSnapshot against a CSI en…

2026/8/22 16:02:28 阅读更多 →
FinalBurn Neo 街机模拟器完整指南:构建配置与核心功能实操

FinalBurn Neo 街机模拟器完整指南:构建配置与核心功能实操

FinalBurn Neo 街机模拟器完整指南:构建配置与核心功能实操 【免费下载链接】FBNeo FinalBurn Neo - We are Team FBNeo. 项目地址: https://gitcode.com/gh_mirrors/fb/FBNeo FinalBurn Neo(FBNeo)是一个多系统街机与家用机模拟器&am…

2026/8/22 16:02:28 阅读更多 →
bdd100k检测+跟踪评测入门:用motmetrics计算MOTA与IDF1指标

bdd100k检测+跟踪评测入门:用motmetrics计算MOTA与IDF1指标

bdd100k检测跟踪评测入门:用motmetrics计算MOTA与IDF1指标 【免费下载链接】bdd100k This repo has been moved to https://github.com/bdd100k/bdd100k permanently. 项目地址: https://gitcode.com/gh_mirrors/bd/bdd100k bdd100k(Berkeley Dee…

2026/8/22 16:02:28 阅读更多 →
Kubernetes集群搭建详细过程

Kubernetes集群搭建详细过程

声明: 写这个的主要目的想做个记录以便日后再折腾时查阅。内容适用于本人的使用环境,不同环境仅作参考。文中出现的内容来自网络和本人浅薄的认知,如果有侵犯他人内容请私信。 环境说明: master:CentOS 7.9 hostname…

2026/8/22 16:02:28 阅读更多 →
FinalBurn Neo完整指南:3分钟跑通的免费街机模拟器

FinalBurn Neo完整指南:3分钟跑通的免费街机模拟器

FinalBurn Neo完整指南:3分钟跑通的免费街机模拟器 【免费下载链接】FBNeo FinalBurn Neo - We are Team FBNeo. 项目地址: https://gitcode.com/gh_mirrors/fb/FBNeo 想重温街机老游戏,却找不到趁手的工具? 拳皇、合金弹头、街霸——…

2026/8/22 16:02:28 阅读更多 →
深度解读attorch:纯Python+Triton打造的终极轻量级深度学习框架,一篇读懂全貌

深度解读attorch:纯Python+Triton打造的终极轻量级深度学习框架,一篇读懂全貌

深度解读attorch:纯PythonTriton打造的终极轻量级深度学习框架,一篇读懂全貌 【免费下载链接】attorch A subset of PyTorchs neural network modules, written in Python using OpenAIs Triton. 项目地址: https://gitcode.com/gh_mirrors/at/attorch…

2026/8/22 16:01:28 阅读更多 →

日新闻

沉金PCB工艺实战指南:从设计到SMT焊接的可靠性保障

沉金PCB工艺实战指南:从设计到SMT焊接的可靠性保障

在电子硬件开发领域,PCB(印制电路板)的沉金工艺是提升产品可靠性和焊接质量的关键环节。对于需要高密度互连、长期稳定运行或高频信号传输的板卡,如“黍姐仿通行证”这类可能涉及身份识别、数据交互的硬件项目,选择正确…

2026/8/22 0:00:11 阅读更多 →
电气考研电路八月强化四步法:从知识体系到真题实战的闭环攻略

电气考研电路八月强化四步法:从知识体系到真题实战的闭环攻略

这次我们来看一个针对电气考研电路科目的学习规划项目。它不是软件工具,而是一套聚焦于8月份关键节点的备考策略。对于电气工程考研的同学来说,电路分析是专业课的重中之重,也是拉开分差的关键。进入8月,复习进入强化阶段&#xf…

2026/8/22 0:00:11 阅读更多 →
消除AI代码的“AI味”:Claude Code设计优化技能配置与实战指南

消除AI代码的“AI味”:Claude Code设计优化技能配置与实战指南

大家好,我是专注于前端开发与AI工具实践的技术博主。在日常使用 Claude Code 等AI编程助手时,你是否也遇到过这样的困扰:生成的代码功能上没问题,但代码风格、组件设计、交互逻辑总透着一股“AI味”——布局单调、样式简陋、交互生…

2026/8/22 0:00:11 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/21 3:21:33 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/22 8:09:09 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/21 6:07:56 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/21 16:42:28 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/22 7:31:03 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/22 3:22:48 阅读更多 →