Dante Flow 限制:排查 “No More Flows” 报错
阅读约 6 分钟 · 更新于 2026年10月5日 · FOH 与监听工程师、系统技术员、广播操作员、AV 网络工程师、制作经理、场馆技术人员、集成商以及巡演音频团队
了解 Dante 的传输与接收 flow 限制,排查 fanout 报错,并在不引发带宽问题的前提下选择 unicast 或 multicast。
TL;DR — Dante 的 flow 是在设备之间传送一个或多个通道的网络数据流。Flow 容量和通道数量不是一回事:设备可能还有空闲通道,但已经没有可用的传输或接收 flow。先看订阅提示,确认限制出现在发送端还是接收端,统计目的设备关系,再通过合并路由或有意创建 multicast 来处理。更改之前,务必核对设备专属限制和网络带宽。
flow 不等于 channel
Dante 的一个订阅会把一个发送通道连接到一个接收通道,但网络实际上是通过 flows 来承载这些订阅的。一个 unicast 音频 flow 通常最多可承载来自同一发送端到同一接收设备的 4 个通道。若在同一对设备之间增加通道,可能会复用这个 flow;但同一个通道要再送到另一台接收设备,就需要另一个 unicast flow。
设备的 flow 容量取决于其 Dante 实现、硬件和固件。不要只根据通道标签数量来推断上限。
| 资源 | 占用它的内容 | 常见故障迹象 |
|---|---|---|
| 发送通道 | 一个源信号 | 通道不可用或未命名 |
| 接收通道 | 一个目标输入 | 没有可用的目标槽位 |
| 传输 flow | 从发送端到接收端的一条数据流 | No more flows (TX) |
| 接收 flow | 来自某个发送端的一条数据流 | No Receive flows |
| 链路带宽 | 穿过某条链路的全部流量 | 利用率上升、晚到包、掉音 |
《Dante 订阅错误指南》 说明了在更改设计前,如何读取路由矩阵状态。
先判断失败发生在哪一侧
1. 读取订阅提示
在 Dante Controller 里把鼠标悬停在失败的订阅上。记录准确的发送端、接收端、通道和报错信息。No more flows (TX) 表示发送设备的容量已耗尽。No Receive flows 表示接收设备订阅的不同发送端或流太多。
不要把每个红色图标都当成 flow 错误。格式、时钟域、调度、身份识别和发现失败都需要不同的修复方式。
2. 绘制源到目的地的关系
列出每个发送端以及消耗其通道的接收端。一个舞台接口箱把 4 个通道送到一台调音台时,通常可以共用一个 unicast flow。同一个通道同时送往 FOH、监听、广播、录音和大厅处理器,会形成多个目的地关系,并可能耗尽传输 flow。
在接收端,从同一发送端来的多个通道通常更高效;而从很多不同发送端各取少量通道,则可能消耗更多接收 flow。
3. 确认设备限制
使用厂商最新文档和 Dante Controller 的设备信息,确认支持的传输 flow、接收 flow 以及每个 flow 的通道数。限制会变化。固件可能影响能力,所以在计划更改前,请先记录已安装版本。
4. 清除废弃路由
在确认归属后,再删除过期的测试、录音、备用调音台或上一场演出的订阅。路由矩阵常常会积累一些已不在运营方案中的目的地。为了清除报错而删除一个合法的安全、录音或广播馈送,并不是解决办法。
选择最小扰动的修复方式
| 场景 | 实际处理 | 需要核对什么 |
|---|---|---|
| 当前 flow 里还有可用空间,且目标接收设备相同 | 在该设备对上合并相关通道 | 路由和格式保持正确 |
| 一个源要送给多个接收端 | 考虑有意使用 multicast flow | IGMP 设计以及每条路径的带宽 |
| 一个接收端要从多个发送端各取少量通道 | 在系统设计允许的情况下合并源 | 增益、时钟、跳线和恢复责任 |
| 旧设备的固定上限很低 | 重新分配路由或改用合适硬件 | 在满演出负载下的容量 |
| 废弃订阅占用了 flow | 通过变更控制移除它们 | 不会丢失任何必需馈送 |
multicast 可以通过让多个接收端加入同一个 multicast flow 来减少发送端 fanout。它不是通用的容量开关:multicast 可能跨链路传播,即使没有活动接收端也会占用带宽,而且需要有意设计交换机拓扑。在转换路由之前,请先阅读 《unicast 与 multicast 指南》。
在演出条件下测试容量
构建完整的演出路由,包括录音、广播、大厅、通讯、备份和备用路径。确认每一条订阅,然后检查传输和接收利用率、flow 状态、时钟稳定性和延迟计数器。执行计划中的故障切换和恢复流程。
如果删除一个 multicast flow,要记住接收端可能会回到 unicast。这个转换可能会突然超出发送端的 flow 容量或链路带宽。在删除 flow 之前,先移除或重新设计依赖路由,然后重新测试。
记录路由预算
记录:
- 每台设备的型号、固件、通道容量,以及 Tx/Rx flow 上限;
- 源到目的地的关系,以及它们是 unicast 还是 multicast;
- multicast 通道分组、归属方和交换机要求;
- 正常和峰值链路利用率;
- 为备份和临时馈送预留的容量;
- 已批准的变更、验证、回滚和升级负责人。
把这份运行摘要放在 数字音频网络技术需求清单 里,而不是只存在某一位工程师的 Controller 视图中。
Dante flow 限制检查清单
- 已记录准确的订阅提示。
- 已判断耗尽的是 Tx 还是 Rx。
- 已确认设备专属 flow 限制和固件版本。
- 已绘制当前源到目的地的关系。
- 只有在得到负责人批准后才删除废弃路由。
- 任何 multicast 调整都包含带宽和 IGMP 审查。
- 已测试满演出负载、故障、恢复和回滚。
- 已记录路由容量和责任归属。
FAQ
Dante 里的 flow 是什么?
flow 是一种网络媒体数据流,用来从发送端传送一个或多个通道。unicast flow 服务于一台接收设备;multicast flow 可以服务多台接收设备。
Dante Controller 里显示 no more flows 是什么意思?
这表示所指示的设备无法再创建或接受另一个所需的 flow。提示信息会区分发送端容量耗尽还是接收端容量耗尽。
一个 Dante flow 里能放多少个通道?
一个 unicast 音频 flow 通常会预留最多 4 个通道的空间,但设备能力会不同。multicast 的通道容量也会因设备而异。请以厂商当前规格为准。
Dante 什么时候应该用 multicast?
当同一组通道要送到多个接收端,而 unicast fanout 效率不高时,可以考虑 multicast。请检查交换机配置和所有受影响链路,因为 multicast 可能增加全网流量。
Dante flow 限制报错怎么解决?
先确认耗尽的一侧,绘制设备关系,核对真实限制,删除废弃订阅,并合并或重新设计路由。只有在理解并测试过其带宽和交换机行为后,才使用 multicast。
在演出日前让容量保持可见
当路由需求、预留容量、multicast 归属和回滚方案对整个制作团队都可见时,flow 限制就会变得可管理。把这份记录保存在 Techrider.live 中,并配合当前的输入列表和网络说明,这样协作者就能在不再流转另一份过期文件的情况下编辑、保存并查看历史记录。