加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

即构 如何快速实现即构推拉流网络探测及推流测速

发布时间:2020-05-18 13:15:17 所属栏目:业界 来源:站长网
导读:在直播、在线教育、线上会议等音视频应用场景中,网络质量的好坏会直接影响用户体验。从主播端推流到观看端拉流,涉及多地多端的网络,一旦出现网络连通性问题,往往难以快速清晰判定问题发生的阶段、原因,不利于及时排查故障和后续运营优化。 因此,即构

在直播、在线教育、线上会议等音视频应用场景中,网络质量的好坏会直接影响用户体验。从主播端推流到观看端拉流,涉及多地多端的网络,一旦出现网络连通性问题,往往难以快速清晰判定问题发生的阶段、原因,不利于及时排查故障和后续运营优化。

因此,即构在本月全新上线了推拉流网络探测及推流测速功能,通过调用相关接口,即可实现网络探测及上行推流速率测试,从而获得网络质量动态感知、事后分析的能力,不断提升运营质量。

一、推拉流网络探测

应用场景:

在推拉流过程中或者登陆房间之前遇到网络问题,用户可调用网络探测接口进行网络探测,ZEGO SDK会对HTTP、TCP、UDP 协议进行探测,若探测失败,会启动Traceroute路由跟踪。最终将探测的结果回调给用户,同时SDK本地日志和即构后台均有记录。

功能实现:

新增 StartNetworkTrace、StopNetworkTrace 接口,用于网络探测。用户可以手动调用接口进行网络探测,在登录房间出现异常时,通过网络探测收集日志记录,方便用户侧统计和上报给ZEGO后台。但不推荐把网络探测作为推流前的必须路径,当网络质量较差的情况下,网络探测耗时过久,会导致用户体验急剧下降。

而在以下异常情况下,ZEGO SDK会进行自动探测,用户即使不主动调用,也可以实现在本地日志记录结果的同时上报即构后台。

1) Quic Connect/LoginRoom/UDP Dispatch/Publish timeout/Play timeout 超时

2) 无缓存时统一调度

3) 统一接入连接失败

4) LoginRoom失败

5) UDP Dispatch 失败

6) Publish/Play hello timeout

实际场景中只要触发上述任一情况,就会开始探测,如果在探测过程中又触发了其他情况,系统不会重复探测,而是等待前一次探测结果。

二、推流测速

应用场景:

在推流前可进行流媒体协议(基于UDP)连通性及上行推流速率测试,帮助用户测试UDP 连通性是否正常,判断上行网络质量是否良好。如果出现网络质量“差”的情况,业务平台侧可建议推流端适当降低推流码率,从而获得更好的体验。

推流测速广泛适用于多场景,比如,在线教育场景中,教师在开课前先进行推流测试,根据网络情况选择推流码率;秀场直播中,主播可能会在直播前调试美颜滤镜效果,可以同步开启测速。

功能实现:

新增 StartConnectivityTest、StopConnectivityTest 接口,用于 UDP 连通性测试;新增 StartSpeedTest、SetQualitycallbackInterval、StopSpeedTest 等接口,用于网络测速。

两者都是初始化SDK 后调用,同一时间内只有一个生效,开始推拉流则会中断此操作。

需要注意的是:

连通性测试只测试UDP网络是否与ZEGO媒体服务连通,而测速则会实际产生媒体数据。

测速过程中会消耗服务器资源,但不产生计费,目前服务推流只配置测速180S。超过时间未停止,则会返回1017错误。

如需开通UDP连通性测试及推流测速,请联系ZEGO技术支持处理

以上就是即构网络探测及推流测速功能的应用及实践,我们将持续迭代优化,将诊断信息用于改进即构节点的保底逻辑。降低网络等不可控因素带来的负面影响,不断提升用户使用体验。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读