请选择 进入手机版 | 继续访问电脑版
查看: 494|回复: 0

等了这么久,就给我看这个?

[复制链接]

353

主题

373

帖子

9万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
99935
发表于 2017-11-23 16:55:22 | 显示全部楼层 |阅读模式
现在最火的是什么?直播!
吃饭直播、游戏直播、美女直播、明星直播...
当然,看直播最糟心的事情就是:卡顿
好好的直播,被卡成PPT,更过分的是卡成连续剧。
网红Papi酱的直播首秀因为卡顿被网友截出了各种表情包:



本来还想打赏个游轮飞机跑车的,卡成这样真是什么心情也没有了

卡顿是影响直播用户体验的核心问题,也是视频云面临的主要挑战之一,很容易扎老铁的心。针对卡顿的优化方案已经有很多,在此不做详细描述,本文主要介绍视频云是如何感知和监控卡顿的发生。





直播卡顿的成因

一场直播的视频流数据从主播端发出,直到被观众端接收,中间需要经历很多环节:

由上述数据流向图可以很容易的知道,卡顿成因一般有以下几种:

1. 主播到边缘节点的网络状况不佳(调度问题,链路问题,网络波动问题等)。这种卡顿情况的影响面较大,因为主播的音视频数据无法正常流出,所以该主播的所有观众都无法幸免,频繁卡顿。
2. 观众到边缘节点的网络状况不佳(调度问题,链路问题,网络波动问题等)。这种卡顿影响较小,基本上只有特定观众的观看体验受影响。
3. 主播端的推流边缘节点服务器异常。这种情况一般极少发生,会影响到正在连接该节点的所有主播。
4. 观众端的拉流边缘节点服务器异常。这种情况一般也极少发生,会影响到正在连接该节点的所有观众。
5. 内容分发网络异常。极少发生,影响范围不定。
6. 主播或观众的设备性能问题。影响具体的某一场直播。
由于卡顿的成因众多,所以建立一套监控体系实时监控直播过程的每一个环节,有助于帮助客户快速定位与解决问题。




实时监控

视频云实时监控的解决方案主要涉及数据采集,评价算法,实时计算,监控预警等多个方面。


1. 数据的采集:视频云从项目初期就建立起了比较完善的数据采集体系,主要包括:
  • SDK端实时收集推拉流的多项指标数据,定时上报至统计服务集群;
  • 在边缘节点上部署数据采集应用,实时采集各路视频流的详细数据,实时上报;
  • 通过在全国各地进行网络测速的方式,实时收集不同地区不同运营商的用户到各个边缘节点的网络畅通情况,上报服务端统一处理。

2. 评价算法 :通过离线大数据的方式对线上海量数据进行特征计算,总结出了一套比较成熟的卡顿评价算法,可以有效评估直播各个环节的质量,并以卡顿率为主要评价指标。
3. 实时计算 :为了能及时处理汇总而来的海量数据,视频云搭建了一套实时计算集群,利用评价算法对各环节产生的数据进行统计,实时的评估各环节在时间,地域,运营商,边缘节点等不同维度下的卡顿率,输出评估结果。确保每一份数据都能在几秒内被准确的计算评估,供监控使用。
4. 监控预警 :对实时计算集群产生的各环节各维度下的卡顿数据进行监控,及时的将异常情况推送给相关的负责人,即时处理。
下图为卡顿实时监控方案的总体结构概览:





监控实例

方案上线后,已经产出了不少监控信息,举一个例子来说明卡顿实时监控的运作情况:
某日收到的一条告警信息,显示某一场直播在过去几分钟内质量不佳,主播端和观众端的卡顿率都在持续爬升。收到监控告警信息后,查看该直播的主播推流数据,发现该时间段内的音视频的推流码率都发生了较大的波动:


同时发现SDK的qos机制已经自动启动,开始调整设定参数以保障弱网下的直播流畅:


说明该主播到边缘节点间的网络的确发生了波动,并且已经影响到了部分用户的观看体验。进一步排查后确认是该主播的个人网络发生波动,与地域及cdn边缘节点无关。
利用这一套实时监控体系,视频云能够有效的监控线上各个环节的运作情况,对可能存在异常的节点进行及时处理,最大程度上保障用户的使用体验。




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表