Protokol:展厅 OSC/MIDI 消息监视器

2026-08-25
Protokol 又称 OSC 监视器、OSC 调试工具、MIDI 监视器、OSC/MIDI 抓包工具
分类
协议调试
平台
Windows、macOS、Linux、iOS、Android
许可证
免费闭源
许可证说明
官方 EULA 授权个人免费使用,企业内部研发测试范围内也可用;不得转售、重新打包对外分发或反编译,源码被作者列为商业机密。官网未标注价格,只挂了一个自愿捐赠的支持通道。
是否开源
闭源
收费模式
免费
适用工序
中控与协议、互动展项
支持协议
OSC、MIDI、Art-Net、游戏手柄
选型结论:展厅 OSC/MIDI 链路排故的听诊器,只听不发,把"按了没反应"这种说不清的争执,收敛成一次可复现的报文核对。
官方下载
获取最新版(具体版本号以官网页面为准)
前往官网下载 ↗

它到底解决什么

Protokol 是 Hexler(做 TouchOSC 那家公司)出的一个小工具,官方给它的定性很直接:control protocol test utility,控制协议测试工具。说白了就是一个"耳朵"——把收到的 OSC、MIDI 消息,以及 Art-Net、游戏手柄输入这几类控制协议报文,原样摆成一份实时滚动的列表给你看。它不控制任何东西,不发消息,也不替你翻译这条消息是什么意思,它唯一的工作就是老老实实告诉你:这一秒,线上到底传了什么。

这个定位对展厅工程来说价值不小。互动展项的控制链路里,OSC 常年扮演"通用胶水"的角色——中控或平板发消息给互动引擎,灯光台、媒体服务器、播控软件之间互相触发,传感器网关把状态往外抛,用的都是它。链路一旦出问题,现场最常见的争执就是"我按了按钮它没反应",然后集成商说自己发了、软件方说自己没收到,两边各执一词,谁也拿不出证据。Protokol 的作用就是摆在链路中间当第三方证人:它跟真正的接收端(互动引擎、灯光台)一样去听同一路消息,如果它都没收到,问题肯定不在接收端;如果它收到了、接收端却没反应,问题就落在接收端那一侧的处理逻辑上。这条判断本身不复杂,但没有一个中立的旁观者,现场往往连这一步都走不到。

MIDI 在展厅里同样常见,多用来做设备之间的触发同步——比如让灯光的爆闪卡在音乐鼓点上,Protokol 一并能监视。

展厅哪道工序会用到它

联调阶段验证控制端有没有真的发出消息。 中控或者平板做完了一套触发逻辑,接进互动引擎之前,先拿 Protokol 接到同一个网段听一听:按钮按下去那一刻,报文有没有真的出现在网络上。这一步能把"控制端没做对"和"接收端没配对"两类问题提前分开,比直接对着成品展项瞎猜快得多。

设备之间用协议互相触发的调试期。 灯光台、播控软件、媒体服务器之间常常用 OSC 或 MIDI 互相喊话,谁触发谁、触发的地址或通道对不对,联调期间挂着 Protokol 听一路,能第一时间看到消息到底有没有按预期的节奏出现。

排查时序错位。 "画面到点了灯没跟上"这类声光不同步的毛病,Protokol 的时间戳功能能把每条报文的到达时间精确记下来,从而判断消息到达是不是本身就参差不齐,还是接收端处理慢了。

接手他人做的老项目。 总线和网络上到底挂着哪些设备、在发什么协议、发得频不频繁,铭牌和文档往往说不清楚。把 Protokol 接上去听一阵子,比翻半天资料更快摸清现状。

怎么获取,该下哪个包

唯一的官方渠道是 https://hexler.net/protokol,产品介绍、下载入口、在线手册都在这一个站点里,不用去别处找。

覆盖的平台很全,官方页面写得很清楚:桌面端有 Windows(64 位安装包)、macOS(同时支持 Intel 和 Apple 芯片的机器)、Linux(x86_64 以及 ARM 32/64 位,树莓派也在覆盖范围里,提供 zip 压缩包和 deb 安装包两种形式);移动端还有 iOS(App Store 上架)和 Android(Google Play 与亚马逊应用商店都有)。同一套界面、同一套操作逻辑,桌面和手机上体验是一致的,这意味着现场排查时手机就能当临时监视器用,不一定非要背电脑去。

授权方面要留意两件事。第一,官方的最终用户许可协议写得很明确:个人使用免费,企业内部的研发和测试用途也在授权范围内可以用;但不允许把它重新打包、转售或者塞进你自己的产品里对外分发,也不允许反编译——协议里原话是把源代码、设计和结构当作商业机密看待的。所以本站按"免费、非开源"登记,不当开源软件对待,也没有公开代码仓库可查。第二,官网的下载页面本身没有标价格,也不需要注册或付款就能直接拿到安装包;官方额外挂了一个"Support Us"的自愿捐赠入口,走的是在线支付渠道,纯自愿,不是强制的购买流程。

不要去非官方渠道找安装包。这类会连着系统底层驱动、要监听网络端口的调试工具,来路不明的版本风险不成比例。

最短可用路径

打开之后基本不需要额外配置,操作顺序官方手册写得很直白。

如果监听的是 MIDI 或者游戏手柄:只要这台电脑已经接了对应的接口设备,Protokol 会自动把可用的接口列出来,点亮对应标签页上的 "Enabled" 开关就开始记录,不用额外配置地址或端口。

如果监听的是 OSC:多一步准备工作。Protokol 本身扮演的是"接收方"(官方叫 OSC Host),你需要回头去发送端那台设备或软件(比如某些平板控制 App)里,把它要发送的目的地址和端口,配置成指向 Protokol 界面上显示的那个监听端口。两边对上号之后,同样点亮 "Enabled" 开关,消息就会开始进来。这一步经常被跳过——很多人打开 Protokol 就等着看数据,却忘了发送端那边压根没配对目的地址。

怎么确认它在听:界面顶部是一排协议标签(MIDI / OSC / 游戏手柄),当前激活的那个标签名字旁边有个小白点,亮着表示这个协议的记录功能已经打开;旁边还有一个显示每秒消息数的小数字,默认是 0.00。看到这个数字开始跳动,就说明数据真的进来了,不再是"应该通了",而是"确实通了"。

看到什么算收到了:界面下方最大的一块区域是滚动列表,每一行就是一条实际收到的报文,实时刷新。想暂停下来盯着某几条看,或者把这段记录发给对方核对,可以直接整段复制到剪贴板,也可以存成文本文件——这份记录比嘴上说"我这边看到了"有说服力得多,现场对线时比谁描述得准更管用。开始新一轮测试前,记得点一下 "Clear" 清空上一轮的记录,免得新旧数据混在一起看花眼。

展厅工程里真正要弄明白的那几件事

这一节是全篇的重点,几件事想通了,遇到"没反应"基本就能自己走完排查,不用干等着别人来救场。

第一件事,也是最有用的一件:把"没反应"拆成三段来排查,顺序不能乱。 一个复合现象——"按了按钮,展项没反应"——直接上去猜哪里坏了往往是浪费时间,靠谱的做法是按下面这个顺序,用 Protokol 逐段证伪:

  1. 先看发送端有没有真的发出去。 把 Protokol 接到跟发送端同一段网络上(甚至直接放在发送端那台机器旁边)监听。如果这里一条报文都进不来,问题百分之百出在发送端本身,或者发送端到网络这一段——跟接收端(互动引擎、灯光台)的代码半点关系都没有,这时候去查引擎逻辑纯属白费功夫。
  2. 再看网络通不通。 如果 Protokol 这边能收到,说明发送端确实发出去了、网络路径也是通的——因为报文已经实实在在到了你的电脑上。这一步排除了"网络不通"这个最容易被误判的原因。
  3. 最后看接收端的地址或端口对不对。 Protokol 收得到,但真正的接收端(引擎、灯光台)没反应,问题就一定出在接收端那一侧的"匹配"逻辑上——它监听的地址或端口和发送端发过去的对不上。这时候该做的不是继续查网线查驱动,是把 Protokol 里看到的这条消息,跟接收端配置里订阅的内容逐字比对。

这三段各自对应一个明确的排除范围,按顺序走一遍,基本能把"到底卡在哪一环"锁死,不会在错误的方向上耗一下午。

第二件事:地址是最高频、也最隐蔽的坑,出错不会有任何提示。 OSC 的地址是一串类似文件路径的字符串,比如 /scene/1/trigger,本质上就是消息的"频道名"——发送端和接收端得提前约定好完全一样的写法。这里最坑的地方在于:大小写、斜杠、拼写但凡差一个字符,接收端就会静默地把这条消息当成不认识的东西直接忽略掉,不会报错,不会弹提示,界面上什么异样都看不出来。Protokol 帮不了你避免这种错误,但它能帮你看见这种错误——把它列出来的真实地址,跟接收端配置里写的订阅地址一字一句对一遍,十有八九问题就在这儿。地址这套命名机制本身怎么设计、怎么分层,站内 OSC 协议速查 里有更完整的讲解,这一篇不重复。

MIDI 那边对应的坑通常出在通道号和音符/控制器编号上,逻辑是一回事,具体的字节含义参见 MIDI 协议速查

第三件事:端口冲突会让人误以为软件坏了。 Protokol 作为 OSC 的监听方,需要占用一个网络端口。如果这个端口已经被另一个软件占着——比如同时开了两份调试工具都想听同一个端口——要么 Protokol 这边开不起来,要么两边互相抢,谁也收不完整。遇到"配置明明没错,就是收不到",先想想是不是有别的程序也在盯着这同一个端口。

第四件事:时间戳功能是排查时序问题的利器。 打开时间戳选项后,每一条收到的报文都会带上精确的到达时刻。官方最初做这个功能是给音乐制作人核对硬件同步用的,放到展厅场景里同样好用——判断"声光对不齐"到底是报文本身送达就不规律,还是接收端处理慢了,把这串时间戳摊开来看一眼间隔,比凭感觉猜靠谱得多。

第五件事,也是必须老实承认的边界:它只听不发。 Protokol 扮演的永远是接收方的角色,界面上没有任何"发送一条测试消息"的功能。如果你要做的事情是主动戳一下某台设备、看它响不响应——比如怀疑某个灯光台的 OSC 接收有问题,想手动发一条触发消息去试——这件事 Protokol 做不了,得换一个能主动发送的工具(比如 TouchOSC 这类控制器软件)来配合。这一条务必记清楚,别指望它一个工具把收发两头全包了。

最后一件事:它跟 MThings 是同一类角色在不同链路上的化身。 MThings 管的是 485/Modbus 这条设备侧总线,Protokol 管的是 OSC/MIDI 这条软件与展项侧链路——两者都不控制任何东西,都是摆在链路中间充当中立第三方,把"到底传了什么"这件事从猜测变成事实。总线在哪一段出问题、该派哪个工具去听,看清链路两端各自走的是哪种协议就知道了。

踩坑与排错清单

现象 原因 处置
Protokol 这边一条 OSC 报文都收不到 发送端配置的目的地址/端口,跟 Protokol 显示的监听端口不是一回事;或者两台设备根本不在同一网段 先核对发送端的目标地址和端口是否精确对应 Protokol 界面上的那一个;再确认两台机器网络本身是通的
Protokol 能看到报文,接收引擎(灯光台/播控)却没反应 地址字符串大小写、斜杠或拼写对不上,这是最高频的坑,不会有任何报错提示 把 Protokol 里看到的真实地址原样复制,跟接收端配置的订阅地址逐字符核对
同一个端口开了两个监视/调试软件,两边都收不完整 端口被独占或者互相抢占 一次只留一个程序监听这个端口,或者改用不同端口分开测
MIDI 标签页里什么设备都没列出来 系统本身没识别到这台 MIDI 接口,跟软件无关 先在系统自带的音频/MIDI 设置里确认这台设备存在;Protokol 只是转述系统已经看到的东西
报文时有时无、列表里数据一阵有一阵没有 网络不稳定(尤其 Wi-Fi 丢包),或者发送端本身发送节奏就不稳 打开时间戳功能核对到达间隔是否规律;条件允许就换有线,别指望展厅 Wi-Fi 一直稳
想拿这段记录去跟对方对线,结果动完配置发现记录没了 忘了在改配置之前先复制或保存 出现异常当场先复制到剪贴板或存成文件,留证据之后再动手改配置
点了 "Enabled",每秒消息数一直是 0.00 停留在了错误的协议标签页,比如设备发的是 OSC,却在看 MIDI 标签 确认 Tab Bar 上当前激活的标签跟你要监听的协议一致
手机/平板上的 Protokol App 连不上电脑那边的 OSC Host 路由器开着客户端隔离(AP 隔离),同一 Wi-Fi 下设备互相看不到 检查展厅 Wi-Fi 的 AP 隔离开关,很多路由器默认是开着的
报文能收到,但内容跟发送端预期的对不上 发送端本身参数配错了,跟 Protokol 无关——它只负责原样呈现,不会替你纠错 回到发送端逐项核对该发的地址、数值和格式

什么时候别用它

它是一个纯粹的监听工具,边界也很清楚。需要主动发消息去验证某个设备响不响应时,它做不到——界面上没有发送功能,这活儿得交给 TouchOSC 这类能发送控制消息的客户端软件。

不要把它当成长期在线的协议网关或格式转换器塞进生产链路。 Protokol 的定位始终是调试期的监视工具,不做转发,也不做协议之间的格式转换;一套要长期无人值守运行的展项,该用专门做转发/网关的方案去承接,而不是让一个调试工具常驻在那儿顶着。

团队完全不懂 OSC 地址、MIDI 通道这些基本概念时,先补一课再上手。 工具只会把报文原样列出来,它不会替你判断某条消息该对应展项里的哪个功能——看着一屏幕滚动的数据却读不出门道,用了也是白用。

现场设备走的根本不是它支持的这几种协议时,别硬试。 纯 RS232 指令串、PJLink、CEC 这类协议,拿 Protokol 去监听,得到的必然是"什么都没有",这个结果不携带任何诊断价值,反而容易让人误判成设备坏了。这类场合该换对应协议的专用调试工具。

与本站的衔接

调试期试通的指令,能不能变成资产

调试工具帮你把每一条指令试通,但展厅真正的成本在交付之后:几十台设备、上百条指令、开闭馆时序、异常重试与告警,这些靠手动工具堆不出来。

企服君中控 SoftControl 承接的是这一段:调试期试通的指令沉淀成可复用的设备驱动,新项目只做界面编排。对每年交付多个展厅的集成商来说,这部分复用是可以量化的——见集成商年费方案

出处

本文事实依据来自 Hexler 官网及其在线手册的公开页面:产品主页(https://hexler.net/protokol)、最终用户许可协议(https://hexler.net/protokol/eula)、在线手册简介与《Getting Started》《Interface》页面(https://hexler.net/protokol/manualhttps://hexler.net/protokol/manual/getting-startedhttps://hexler.net/protokol/manual/interface/osc-tab)。文中涉及的展厅工序判断属于工程经验,具体版本的功能表现请以官方最新说明为准,本文不涉及版本号与价格等易变信息。

同类可替代
📄 来源 / 自校链接

本文为公开资料整理,非亲测。关键参数与代码请结合实物与下列官方来源验证。

做展厅项目,软件授权不必每次重走采购

企服君有九款自研展厅软件。集成商年费一次备好全年额度,接到项目直接激活;已激活项目的授权永久有效。

留言讨论

评论发布后会被人工复核,违规内容将被删除。

    还没有人评论,来说说你的看法

    如果发表没有反应,可以前往联系我们告诉我们。

    这个页面有问题?

    提交时会附带当前页面地址和浏览器信息,帮助我们定位问题。不填联系方式即为匿名。