如何查看Kurento服务端MediaPipeline内MediaElements的连接关系?
Kurento 服务端查看MediaPipeline内MediaElements实际连接关系的方法
原生查询能力
- Kurento核心对象模型自带运行时连接状态查询方法,不需要引入额外组件即可获取真实连接结果:
- 任意MediaElement实例调用
getSinkConnections(),可直接拿到该元素所有已建立的出站连接详情,返回信息包含对端MediaElement的唯一ID、传输媒体类型(音频/视频/数据)、对应媒体端口属性。 - 任意MediaElement实例调用
getSourceConnections(),可直接拿到该元素所有已建立的入站连接详情,信息维度和出站查询完全对齐。
- 任意MediaElement实例调用
- 针对整根MediaPipeline,只需要遍历管线下挂载的所有MediaElement,分别调用上述两个查询接口,就能组合还原出全链路的连接拓扑,直接和预期的连接配置做比对即可。
调试注意事项
- 查询结果为实时动态值:必须等连接操作的异步回调/Promise执行完成后再触发查询,在连接尚未真正建立的阶段调用接口会返回空结果,容易造成误判。
- 整理拓扑时要做结果去重:WebRtcEndpoint双向回环、RTP端点内部转发这类特殊连接,会同时被source和sink查询接口捕获,不做去重会重复统计同一条连接关系。
- 可通过日志快速回溯连接关系:只要将
org.kurento包的日志级别调整为DEBUG,Kurento服务端会自动打印每一次连接建立、断开的全流程日志,内容包含源元素ID、目标元素ID、传输媒体类型,不需要额外写查询代码,就能从日志流里梳理出完整的连接链路。
内容的提问来源于stack exchange,提问作者DK Moon
相关产品推荐
相关产品推荐

