企鹅电竞直播质量体系建设
如果无法正常显示,请先停止浏览器的去广告插件。
1. e
t
s
Te
o
rH
e
m
企鹅电竞直播质量量体系建设分享
腾讯
o
H
r
彭文文⻜飞
e
t
s
e
T
e
m
o
H
r
e
t
s
Te
Tencent
e
m
2. 背景
如何对这些指标进行行行更更高高效更更全面面的测试?
e
Android终端
m
o
H
r
e
t
s
Te 直播的场景多:
H5播放
推流SDK
IOS终端
播放SDK
o
H
r
e
t
s
e
T
直播的质量量指标非非常多,且比比较敏敏感:
观看
直播
发起
直播
卡顿
进房
耗时
e
m 观看
回放
发热
成功率
清晰度
花屏
o
H
r
e
t
……
s
Te
Tencent
e
m
3. 直播测试思考模型:
o
rH
e
t
s
Te 提高高直
播质量量
e
m
3、确定度量量指标:什什么质量量?
观众
主播
音音视频类 性能类
卡顿、秒开、清晰度、
成功率、花屏、延时 电量量、发热、CPU、内
存、IO、GC、稳定性、
耗时
e
m
o
H
r
e
t
1、确定目目标: 干干什什么 ?
s
e
T
2、确定用用户对象:谁的质量量?
网网络类
流量量、弱网网
代码扫描类
o
H
r
e
t
s
Te
功能 兼容性 类
Tencent
e
m
4. 直播测试思考模型:
e
m
4、如何测试?
o
rH
- 直播核心心功能
e
t
s
e
T - 弹幕测试
- 推流质量量测试
- 播放质量量测试
- 清晰度测试
- 卡顿
- 线上流质量量
- 竞品测试
- ……
- 直播核心心专项自自动化
- 直播间弹幕压测
e
m
5、效率提升: 自自动化 ?工工具?
o
H
r
e
t
s
e
T
- 推流质量量评测
- 播放质量量评测
- 清晰度自自动化
- 卡顿日日志分析
- 流质量量实时告警
- 竞品测试……
o
H
r
e
t
s
Te
Tencent
e
m
5. 企鹅电竞直播质量量专项建设总体概况
e
t
s
Te
o
rH
e
m
o
H
r
e
t
s
e
T
e
m
o
H
r
e
t
s
Te
e
m
6. Topic One
e
t
s
Te
o
rH
e
m
1 直播核心心功能自自动化
2 直播间专项性能测试
e
m
4 o
H
r
e
t
s
e
T
线上直播质量量监控
5 竞品测试
3
直播质量量评测
o
H
r
e
t
s
Te
Tencent
e
m
7. 背景
o
rH
e
m
e 推流编码+稳定性
t
s
Te
推流动态自自适应
播放器器动态缓冲区
播放器器解码播放能力力力
解决痛点和目目标:
o
H
r
e
t
自自动分析结果
s
e
T
一一键测试+
无无人人测试
e
m
P2P直播
AI流控
其它核心心场景…
o
H
r
e
t
s
Te
Tencent
e
m
8. 推流端动态码率自自适应调节智能判定方方案
e
m
推流端核心心能力力力: 主播端推流能力力力变化时,自自适应动态调整码率和分辨率,降低下行行行全员播放端卡
顿,达到推流质量量的最佳平衡
e
t
s
Te
o
rH
o
H
r
e
t
s
e
T
e
m
人人工工分析成本:1H/人人力力力
o
H
r
e
t
s
Te
e
m
9. 推流端动态码率自自适应调节智能判定方方案
e
t
s
Te
o
rH
自自动化可行行行性
分析
e
m
分辨率/码率对 • 360P(500-1000 )
• 540P(800-1400)
应关系
• 720P (1000-1800)
o
H
r
e
t
s
e
T
e
m
网网络和码率对应
• 数值变化大大小小不不对应
关系
数值区间对应
自自动化可行行行
√
e
m
规律律:波动趋势一一 ?
致
o
H
r
e
t
s
Te
10. 推流端动态码率自自适应调节智能判定方方案
e
m
关键词:一一切有规则的人人工工分析都可自自动化!!!
o
rH
e
t
s
• e
无无类似自自
T
动化监控
案例例开展
司内
方方案拓拓展
业界
• 线性变化--
统计学协方方
差解决方方案
• 弱网网络接口口
• 尝试协方方差算
法效果
• 其他类似直播
自自动化
o
H
方方案落地 r
e
t
s
e
T
自自适应调节码率协方方差系数参照算法
e
m
动态码率调
整成功率
设置码率和分
辨率判定
e
其他核心心性
m
o
能指标
H
r
te
码率和分辨
率平均调整
时间判定
s
e
T
Tencent
11. 推流端动态码率自自适应调节智能判定效果
e
t
s
Te
o
rH
e
m
o
H
r
e
t
s
e
T
e
m
o
H
r
e
t
s
Te
Tencent
e
m
12. Topic Two
e
t
s
Te
o
rH
e
m
1 直播核心心功能自自动化
2 直播间专项性能测试
e
m
4 o
H
r
e
t
s
e
T
线上直播质量量监控
5 竞品测试
3
直播质量量评测
o
H
r
e
t
s
Te
Tencent
e
m
13. 多维度性能参考直播间压测方方案
e
t
s
Te
o
rH
e
m
当我们使用传统的模拟压测方式:
进房耗时⻓长
CPU 占用用高高
直播间
弹幕 /礼物特效
卡
o
H
r
e
t
s
e
T
活动⻚页 ANR
e
m
➢ 问题现象出来了,定位问题还是比较困
难
➢ 无压测结果数据衡量,无有效标准衡量
o
H
r
e
t
s
Te
Tencent
e
m
14. 现有的直播间压测方方案
o
rH
测试场景
e
t
s
Te
压力力力控制
进房
e
m 主播端弹幕
核心心 场景
场景组合
观众端弹幕
普通消息60个/s
观众进退房30个/s
o
H
r
e
t
s
e
T
豪华礼物1个/30分钟
测试机型 TOP机型
压力力力时⻓长
压力力力时⻓长 1H
质量量标准
压不不死
卡不不死
e
m
现网网大大主播数据统计
难
定位
题
问
出
Sys CPU < 80%
帧率 >10
压
o
H
r
e
t
s
Te
e
m
15. 直播间压测拓拓展方方案
e
t
s
Te
方方案拓拓展
o
rH
e
m
e
m
分模块压测
o
H
r
e
t
性能指标细分
s
e
T
思路路:分层性能分析佐
证问题
进房
弹幕
礼物特效
webview
内存、CPU、帧率、码率等指标
问题暴暴露露至至方方法、对象层
o
H
r
e
t
s
Te
e
m
16. 多维度性能数据采集方方案
e
t
s
Te
o
rH
数据采集
方方案
e
m
复用用
Perlib专
项方方案
•
•
•
•
•
•
•
CPU
内存
流量量
FPS
IO读写
GC
…
e
t
s
e
T
o
H
r
e
m
插桩
插桩方方案
选择
•
•
•
•
弹幕模块丢帧率
方方法耗时
对象创建数量量
大大对象分析
学习成本低
运行行行时无无性能开销
无无需写字节码
e
m
o
Javaassist
H
r
e
t
s
Te
Tencent
17. 数据场景细分
o
rH
e
t
s
Te 统计信息
e
m
内存占用用细分
弹幕卡顿信息
礼物特效
webview
弹幕
• Dalvik 内存(触顶率)、.sommap、丢帧率、总流量量、电池温度
弹幕内存/CPU、礼物内存/CPU、web内存/CPUIO/DB(read/write)
e
m
• TotalPss、privateDirty、graphicdPss、dalvikPss、
o
nativePss、 erH
t
•卡顿次数、绘制总次数、卡顿率
s
otherPss、.so
mmapPss
e
T
进房耗时细分 •进房总耗时(目目标1S之内)、界面可见耗时、获取视频信息耗时
播放视频流耗时
SO/方方法数TOP • 方方法总耗时排行行行、方方法执行行行次数排行行行、方方法执行行行平均耗时排行行行
SO映射内存排行
o
H
r
e
t
s
Te
Tencent
e
m
18. 多维度性能参考直播间压测框架
e
t
s
Te
o
rH
e
m
o
H
r
e
t
s
e
T
e
m
o
H
r
e
t
s
Te
e
m
19. 播放端多维度性能参考直播间压测方方案数据展示
e
t
s
Te
o
rH
e
m
o
H
r
e
t
s
e
T
e
m
o
H
r
e
t
s
Te
Tencent
e
m
20. 播放端多维度性能参考直播间压测方方案效果
代表性问题:
o
rH
e
m
No1.【方方法调用用耗时⻓长】 直播间isSupportHevc 方方法耗时较⻓长
表现:打开直播间超过1S才出现首首帧画面面
e
t
s
Te
排查:方方法耗时排行行行中,TOP1方方法 isSupportHevc 达到200MS
根因:这个方方法是用用来判断是否支支持H265流播放,需要获取支支持的MediaCodeInfo列列表 大大概耗时200ms,而而且
每次进房间都会调用用
o
H
r
e
t
s
e
T
e
m
No2.【分模块压测】直播间压测只开弹幕时内存比比所有模块全开更更高高
表现:相同压力力力下只开弹幕模块压测时比比弹幕+礼物+webview内存高高8M
根因:只开弹幕时未对引导⻚页缓存做清理理,而而特性全开有新图片片加载会触发缓存清理理,内存释放
No3.【弹幕卡顿】放器器SDK的回调方方法耗时较⻓长
表现:赛事直播间,弹幕量量60个/秒,礼物特效全开,明显的卡顿效果
排查:弹幕模块卡顿率达12%,TOP方方法查询onNetStatus调用用次数巨大大,一一次8ms
根因:SDK把CPU性能上报放到了了主线程中执行行行,从而而引起主线程卡顿;
o
H
r
e
t
s
Te
Tencent
e
m
21. 播放端多维度性能参考直播间压测方方案效果
e
t
s
Te
o
rH
e
m
直播间首首帧加载耗时
直播间弹幕卡顿率
13%
e
m
1200
12%
1200
1、截止止目目前有效性能bug单258个,每个版本节省性能测试人人力力力1人人/日日
o
H
r
e
t
s
e
T
2、问题直接定位到代码方方法数,提高高定位问题效率
3、方方案的可复用用性高高,拓拓展更更多业务APP接入入
10% 900
7% 600
3%
0%
2%
900
300
0
o
H
r
e
t
s
Te
Tencent
e
m
22. Topic Three
e
t
s
Te
o
rH
e
m
1 直播核心心功能自自动化
2 直播间专项性能测试
e
m
4 o
H
r
e
t
s
e
T
线上直播质量量监控
5 竞品测试
3
直播质量量评测
o
H
r
e
t
s
Te
Tencent
e
m
23. 直播质量量评测和监控
o
rH
e
m
直播质量评测/监控困境
e - 直播个例例问题怎么去排查和定位
t
s
Te
e
- 横向:直播新技术(P2P、H265、自自研播放器器)接入入后如何评估横向直播质量量变化
m
o
H
r
e
t
s
e
- 纵向:发版前后大大盘推流/播放质量量如何评估
T
- 如何建立立TOP头部主播直播质量量告警机制
o
H
r
e
t
s
Te
Tencent
e
m
24. 直播质量量评测和监控
e
t
s
Te
o
rH
e
m
推流质量量个例例
回放
推流质量量评分机
制
e
m
o
H
r
e
t
s
e
播放质量量评分
T
TOP主播播放
机制
(基于卡顿维
度)
质量量实时告警
机制
o
H
r
e
t
s
Te
Tencent
e
m
25. 推流质量量多维数据协同个例例回放
e
m
! 推流质量量影响维度:结合推流质量量影响的关键指标(码率/分辨率、发送速率、帧率CPU等指标)多维度协助查询流质量量
e
t
s
Te
o
rH
CPU
内存
网网络
上行行行
码率
动态
码率
e
m
o
H
r 性能指标日日志
e
t
s
e
落地
T
GP
帧率
定制指标标准
U
o
H
r
e
t
s
Te
直播质量量平台
LPT
Tencent
e
m
26. 推流端多维数据协同个例例回放效果
e
m
个例流质量回放:
e
t
s
Te
o
rH
o
H
r
e
t
s
e
T
e
m
o
H
r
e
t
s
Te
Tencent
e
m
27. 推流/播放质量量评分机制建立立
e
m
o
H
推流质量量加权阈值云控
r
e
t
s
Te
播放质量量加权阈值云控
全网网主播端数据
FPS得分
CPU得分
降码率分辨率
上行行行带宽
缓存时⻓长
o
H
r
e
t
s
e
T
警告得分
SDK出错
e
m
全网网播放端数据
首首次缓冲平均耗时 二二次缓冲平均耗时
缓冲数
错误数
无无缓冲率
卡顿分析系统
o
H
r
e
t
s
Te
Tencent
e
m
28. 大大盘直播数据收集
e
t
s
Te
o
rH
e
m
o
H
r
e
t
s
e
T
e
m
o
H
r
e
t
s
Te
Tencent
e
m
29. 直播评分机制应用用效果
e
t
s
Te
o
rH
e
m
TOP头部主播质量量情况
横向新技术接入入后播放质量量对比比
纵向版本播放质量量对比比
第三方方链路路影响直播质量量有感知
修改动态缓冲区导致推流质量下降
o
H
r
e
t
s
e
T
P2P直播接入后直播质量下降
e
m
H265解码接入后流质量上升
o
H
r
e
t
s
Te
Tencent
e
m
30. 全参考清晰度全流程自自动化背景
e
t
s
Te
o
rH
e
m
清晰度调优自自动
化评测
游戏画面面维度:
高高、中、低三档
最高高码率优化
针对不不同游戏主
播设置最佳的初
始码率和分辨率
范围
o
H
r
e
t
s
e
T
e
m
编码器器维度: 机型维度:
编码器器设置不不同
对清晰度影响 top机型同等码率
画质差别度调优
针对编码器器porfile
的设置,不不同设
置的清晰度对比比
o
H
r
e
t
s
Te
针对不不同机型,
同等码率下的画
质评测对比比
Tencent
e
m
31. 全参考清晰度全流程自自动化方方案选择
e
t
s
Te
o
rH
e
m
清晰度评测辩论较多,如何去选择合适的方方案
画质评测IQA
无参考清晰度评测
主流算法:像素梯度、灰度
变化率、拉普拉斯算子子、图
像变换域
适合随机类型的图片片/帧
o
H
r
e
t
s
e
T
e
m
全参考清晰度评测
主流算法PSNR 、SSIM
VMAF、IFC、VIF、FSlM
适合有固定源参考,并且编
码/传输不不会新增附加属性
o
H
r
e
t
s
Te
Tencent
e
m
32. 全参考清晰度全流程自自动化方方案
e
t
s
Te
o
rH
e
m
推流端(编码)
o
H
r
e
t
s
e
T
e
m
播放端(解码)
o
H
r
e
t
s
Te
Tencent
e
m
33. 全参考清晰度全流程自自动化应用用
e
t
s
Te
o
rH
e
m
应用用场景
开发/测试自
定义参数清
晰度调优
每日迭代版本
监控编码解码
器对清晰度影
响
o
H
r
e
t
s
e
T
e
m
适用于全参
考清晰度评
测接入
o
H
r
e
t
s
Te
Tencent
e
m
34. Topic Four
e
t
s
Te
o
rH
e
m
1 直播核心心功能自自动化
2 直播间专项性能测试
e
m
4 o
H
r
e
t
s
e
T
线上直播质量量监控
5 竞品测试
3
直播质量量评测
o
H
r
e
t
s
Te
Tencent
e
m
35. 流质量量实时告警监控整体方方案
e
t
s
Te
o
rH
e
m
主播维度
90%活跃靠top主播拉动
主
数
据
收
集
播
分
级
要
重
很
控
监
量量
流质
播
主
部
头
数
据
上
报
推流APP
o
H
r
e
t
s
e
T
电竞APP
e
m
心心跳上报svr:心心跳卡顿计
数、播放失败率
用用户监控svr:弹幕关键词
卡顿、黑黑屏
推流质量量上报
数
据
汇
聚
告
警
排
查
观众维度
推流质量量个例例回放
(平台可查)
节目目维度
流质量量svr
微信实时告警
o
H
r
e
t
s
Te
哈勃观看质量量
曲线
Tencent
e
m
36. 流质量量实时告警机制(心心跳+用用户)互补监测效果
e
t
s
Te
o
rH
e
m
o
H
r
e
t
s
e
T
基础主播
e
m
o
H
r
e
t
s
Te
Tencent
e
m
37. AI+直播画质异常检测
e
m
方方案设计
e
t
s
Te
o
rH
e
m
检测&输出异常画质帧
直播内容安全存储系统
输入入
o
H
r
e
t
s
e
T
0
花
屏
绿
屏
黑黑
屏
红
屏
蓝
屏
黑黑
白白
屏
其
它
AI模型接口口
输出流质量量平台展示
AI模型训练
o
H
r
e
t
s
Te
异常帧回放+日日志排查
Tencent
e
m
38. Topic Five
e
t
s
Te
o
rH
e
m
1 直播核心心功能自自动化
2 直播间专项性能测试
e
m
4 o
H
r
e
t
s
e
T
线上直播质量量监控
5 竞品测试
3
直播质量量评测
o
H
r
e
t
s
Te
Tencent
e
m
39. 直播竞品测试-关注点
e
t
s
Te
o
rH
e
m
CPU
内存
卡顿率
帧率
GPU
清晰度
o
H
r
e
t
s
e
T
e
m
o
H
r
e
t
s
Te
Tencent
e
m
40. 竞品测试-流畅度
o
rH
e
m
e
t
s
Te 底层sdk打日日志方方式
方方案缺陷
- 自研产品可行
- 竞品无法获取
摄像头分帧
o
H
r
e
t
s
e
T
SufaceFlinger
e
m
方案缺陷 方案缺陷
- 手机出现闪烁条纹
- 灯光闪烁影响帧率 - 适合SurfaceView控件渲染
-基于TextureView渲染数据不不准确
o
H
r
e
t
s
Te
Tencent
e
m
41. 竞品测试-流畅度新方方案
e
t
s
Te
o
rH
e
m
o
H
r
e
t
s
e
T
e
m
o
H
r
e
t
s
Te
Tencent
e
m
42. e
t
s
Te
o
rH
e
m
谢谢!
o
H
r
e
t
s
e
T
e
m
o
H
r
e
t
s
Te
Tencent
e
m