ArtDmx 序号从 255 回到 1 算丢包吗:怎样区分回绕与禁用
ArtDmx序号255之后回到1属于正常回绕,0则表示关闭该排序功能,不能把这两种情况都记成丢包。分析前先按发送来源与完整Port-Address分组,避免将不同数据流的序号交错到一列。
先固定输入与适用条件
本例给出连续回绕、全零禁用与可疑乱序三段合成序号,只作日志解释。Sequence不是时间戳,不能从序号差直接算出毫秒延迟,也不能把它当成视频内容帧号。实际抓包还可能漏采、重传或来自不同Physical输入,数据来源需要保留。
Art-Net字段按官方4版Release V1.4、Revision 1.4dp核对。sACN例子限定ETC sACN v2.0.2所声明的E1.31-2018兼容字段及IPv4样本;现行ESTA目录已列E1.31-2025,2018亦含IPv6。本文不声称旧库实现新版全部功能。
按字段与边界执行
-
先确定分组键和采集窗口,把来源地址、端口地址以及必要的Physical信息保存在记录中。不要把多个控制器的Sequence拼成一条所谓总序列。
-
遇到0输出排序关闭,不进行普通连续性判断。从关闭转为开启时重新建立基线,不拿前一个零计算缺失数量。
-
非零状态按一到二百五十五循环,255之后期望为1。等于前值标记重复;不等于期望值只标记需进一步核查,不立即等同链路丢包。
-
将异常点与抓包采集质量、发送端日志及接收行为对照。需要判断是否真正影响灯光,还要有目标输出证据,单列序号不够。
用具体样例核对结果
253、254、255、1、2被判为正常连续与一次回绕;0、0、0被判为排序关闭;10、12、11中后两项为非预期顺序,需要结合窗口判断。附件解析器保存前值、期望值和当前状态,只输出标签,不使用短序列强行估算丢包率。
通过条件是回绕没有误报、禁用段不参与丢包计算、各流独立建基线。若发送端重新启动,非零序号也可能从新基线开始,应结合源生命周期判断。常见错误是对255到1作普通减法,再报告负二百五十四个包;另一个错误是看到10到12就断言第11包从未到达,而后续输入恰好说明它可能只是晚到。
下载与复现
analyze.py、input.json、result.json。
下载输入即可复现三种分支,结果文件保留逐条判断与模型范围。现场报告应使用“序列异常候选”而非“网络已丢帧”的绝对措辞,除非补足发送与接收证据。
把输入与脚本保存到同一个本地目录后执行 python analyze.py,脚本只读取输入、计算并重写同目录的结果文件。先保留原始附件副本,再将自己的脱敏输入另存为新版本,记录输入摘要与执行日期;不要把合成字段覆盖成看似真实的现场日志。
已用 Python 3.12.4 实际运行附件算法并检查断言。结果来自同目录合成输入;没有接入真实NDI源、控制器、灯具、接收卡或LED屏,不能据此填写现场验收通过。
对接下一步与一级来源
基础背景可看Art-Net 灯光控制协议速查(DMX over Ethernet)。相关流程收在展厅中控专题;需要项目对接时,带上本文输入及结果向SoftControl核对实际能力。
一级来源核对日期:2026-10-24。原始协议规则、本文原创运算和目标系统行为应分别留证;附件计算正确,不等于设备已经按该参数工作。
相关阅读
留言讨论
评论发布后会被人工复核,违规内容将被删除。
如果发表没有反应,可以前往联系我们告诉我们。