在线播放视频流程:录制/编码/封装/存储传输/解码/展示
关注要素:播放成功率(网络、播放下载逻辑)/启播速度(大量用户测试,带宽影响大)/缓冲率(受到CDN布局/网络/下载技术)/体验问题(音频不同步、卡顿、花屏、黑屏/清晰度/色盲模式/弹幕/倍速播放/截屏)
播放成功率/缓冲率:埋点上报/用户评测体系
视频质量保障范围:不同编码封装编码率:杜比/HEVC+HLS/不同分辨率/H264+HLS/MP4
不同问题类型:播放出错/卡顿/不同步/非正常二次缓冲
不同场景:点播/直播/轮播/竖拍
不同任务:外网top监控/外网播放监控/临时播放测试任务/常规版本冒烟
解决思路:自动化执行/统一任务调度/统一数据展示/覆盖场景全面/支持多设备/设备状态可见/实现外网监控(auto+cloud)
配置管理在云测平台/脱机测试/机器保活/服务拆分/接口封装/播放错误日志检测/花屏检测(独立分开微服务)/小部分灰度用户/灰度测试数据观察
多端: ios/android web pc(Mac/tv) 性能/UI/API
播放分层Android: activity(UI拖动条/暂停/弹幕) 与底层native player中间有个内核层(解码层/业务逻辑/接口层)
UI层:case
API层:播放内核层给业务场景层做的接口/这类接口不太会变更
播放出错/卡帧:解析解码器日志的TAG信息,播放解码层
播放器黑屏: 基于图像识别 采样截图
花屏 : 深度学习…..
日志服务器:执行后上传终端标记/执行case标记/执行时间标记 后台异步解析过程 结果上传云测平台 自动提bug bug汇总
黑屏检测方案: 相邻图片比较+黑屏图像比较 ANR(Android不允许在UI线程中做耗时的操作,否则有可能发生ANR的可能,默认情况下,在Android中Activity的最长执行时间是5秒,BroadcastReceiver的最长执行时间则是10秒。如果操作这个时长,则会产生ANR。)响应+黑屏检测 一定频率采样截图 记下时间命名 对图像数据标准尺寸 n张是否连续相似 比较相似度 与 黑屏基准相似 就是ANR 否则就是黑屏 写入错误TAG Static_Frame_Err Black_Frame_Err
花屏检测: 编码/解码兼容性测试 直播流转点播跟片源相关 传输相关 花屏样本采集 自动构造大量样本 分类调整 模型训练 线上识别 准确率优化
花屏类型: 像素没有对齐/传输丢帧导致局部马赛克/设备解码能力不足/设备色彩渲染异常(模糊 兼容性)/蒙层
现网监控:加入插件/开关配置/闲时日志上传/插件无感知升级/用户反馈(无效过滤)
特定版本/特定设备错误聚合情况
全面监测能力: 丰富的编码文件/提高机型覆盖率/传输质量网络问题实时录制回放/通用业务逻辑自动化测试方案
对昨天播放量最大的几个视频 自己本机去监测问题 iOS灰度用户很难(使用老root设备) 不一定要线上才能保证质量 安卓机型碎片化
下载的最终展现形式是播放 校验下载方式 模拟各个下载场景
从播放层面监控不到的流量的消耗 免流场景 多余流量…
离线下载 离线缓存 错误tag
音频视频时间戳不同(音画不同步还可以监测到音爆/拖很长问题 或破音问题)
花屏大小 无论大小
网友评论