vivo 短视频体验与成本优化实践

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. vivo 短视频体验与成本优化实践 蔡创业 vivo 互联网音视频架构师 马运杰 vivo 互联网音视频架构师
2. 01 业务介绍
3. 业务介绍 生产 处理 拍摄/导入 转码 编辑 上传 日志收集 压缩 分发 消费 CDN调度 下载/缓存 前处理 播放 监控统计 AB测试
4. 当前问题 用户诉求 费流量 压缩严重 不流畅 画质 不流畅 费流量 成本压力 不流畅 画质 画质卡顿 不流畅 不流畅 费流量 不清晰 噪点多 压缩严重 噪点多 费流量 费流量 压缩严重 费流量 画质卡顿 不清晰
5. 02 体验优化
6. 体验优化 起播:首帧零耗时 创建 播放器 网络 连接 耗时 建连优化 播放中:流畅不卡顿 解码音频 下载 解封装 解码视频 耗时 声画同步 渲染 Playing 缓存不足导致卡顿 耗时 分片下载 预渲染 数据监控体系 数据预加载
7. 体验优化 - 建连优化 连接复用 连接保活 未复用 DNS、TCP、SSL 下载耗时 Http 1.1/2.0连接复用 复用 播放中 播放中 下载耗时 通过复用连接减少一次网络请求中DNS解析以及TCP建连环节的耗时 通过保活,避免因暂停时间较长导致连接断开 HTTPDNS IP直连兜底 DNS解析失败 LocalDNS 播放暂停 HTTPDNS 兜底IP直连 网络请求失败 使用HTTPDNS,提升DNS解析的速度和成功率 DNS解析失败 请求成功 常规DNS解析失败后,使用兜底的IP直连,提升连接成功率
8. 体验优化 - 分片下载 原生下载架构 播放器 本地代理下载 播放器 socket 本地代理下载 存在的问题 本地代理服务 socket CDN CDN 1 2
9. 体验优化 - 分片下载 播放器与本地代理服务之间直连 多线程分片下载提升下载速度 播放器 视频文件 直连 分片1 分片3 本地代理服务 … socket 分片2 分片4 提升体验 首帧耗时 CDN … 实时切换CDN能力 -9% 标准CDN 低成本CDN 标准CDN 播放失败率 开播流量 高水位时流量 低水位时流量
10. 体验优化 -预渲染 播放器实例1 应用启动 视频1 正在播放 视频2 即将播放:预渲染 播放器实例2 预创建 Codec 请求 首刷数据 播放器资源池 应用启动时Codec预创建 全局复用播放器资源池 提前预渲染,首帧零耗时
11. 体验优化 - 数据预加载 固定大小预加载策略 动态预加载策略 智能预加载策略
12. 体验优化 - 数据预加载 核心策略 播放进度 1 正在播放 视频1 2 视频2 缓存 视频3 缓存 视频4 缓存 缓冲低水位 暂停下载 缓冲高水位 恢复下载 3 存在的问题 视频5 缓存 1 视频6 缓存 2
13. 体验优化 - 数据预加载 核心策略 正在播放 视频1 1 视频2 一级缓存 二级缓存 视频3 一级缓存 二级缓存 视频4 一级缓存 二级缓存 视频5 一级缓存 视频6 一级缓存 三级缓存 优先级中 优先级高 确保视频开播,快滑时命中 优先级低 提升深度消费时播放体验 2 收益 -2.3% 首帧耗时 卡顿率
14. 体验优化 - 数据预加载 预加载大小 视频1 视频2 观看进度 观看进度 观看进度 视频3 观看进度 视频4 视频5 观看进度 观看进度 视频6 视频7 视频8 观看进度 观看进度 只有深度消费的视频 才真正需要 二级和三级缓存
15. 体验优化 - 数据预加载 云端 APP 加载云端部署的 预测模型 历史行为特征 深度神经网络 预测视频观看时长 云端模型训练 正在播放 视频1 视频信息特征 用户特征 Player 视频开播前 预测消费深度 端侧预测消费深度 视频2 一级缓存 视频3 一级缓存 视频4 一级缓存 视频5 一级缓存 视频6 一级缓存 二级缓存 基于深度学习模型推理滑动 速度计算预加载大小 根据预测结果动态调整二级缓存
16. 体验优化 - 数据监控体系 QoS 起播 播放中 卡顿率 P0 指 标 首帧耗时 P0指标 (核心性能) 开播耗时、卡顿… 卡顿时长 失败率 Seek卡顿 P1 指 标 分层监控体系 缓存命中率 百秒卡顿时长 预渲染命中率 百秒卡顿次数 P1指标 (对P0指标的补充和完善) 客观、全面反映 播放体验 秒播率、百秒卡顿时长、百秒卡顿次数 预加载策略 开启率 、命中率… 缓存大小 缓存利用率 下载速度 CPU/内存 … … 视频信息 码率、时长、画质分… 解释核心指标 波动原因
17. 体验优化 小结 建连优化 分片下载 预渲染 数据预加载 预建连 独立下载模块 Codec预创建 动态预加载 连接保活 分片下载 播放器资源池 智能预加载 HTTPDNS 提前解码 兜底IP直连 数据监控体系 P0指标、P1指标、策略指标、视频信息
18. 03 成本优化
19. 成本优化 - 成本拆解 总成本 80 % 10 % 10 % CDN成本 存储成本 计算成本
20. 成本优化 - 成本拆解 单价降低 CDN成本 单价 时长 用量 码率 流量利用率 极致压缩 利用率治理 降 本 方 向
21. 成本优化 - 难点 体验 成本 成本的降低往往带来的是服务质量的降低 如何才能在保证播放体验的同时,降低播放成本
22. 成本优化 - 单价降低 引入PCDN技术 优势 劣势 相比于标准CDN,价格低 访问时会增加 302跳转消耗 节点性能差 存储层 标准CDN接入节点 APP应用 CDN边缘节点 网络SDK PCDN接入点 路由器 PCDN SDK OSS 小盒子 CDN二级节点 OSS OSS OSS P C D N 网 络 架 构
23. 成本优化 - 单价降低 优化一 通过播放缓冲水位控制是否走PCDN PCDN下载 优化二 起播阶段发送探测包,探测PCDN节点中是否存在资源 CDN节点 PCDN节点 播放缓冲水位阈值 标准CDN下载 达到缓存水位后 若PCDN节点不存在资源 则继续使用标准CDN 起播阶段使用标准 CDN拉取资源 SDK 发送探测请 探测PCDN中 是否存在视频资源 若PCN节点存在资源 则换为PCDN响应服务
24. 成本优化 - 单价降低 推送 引流 热榜 热点精准预热 缓 冲 水 位 阈 值 缓冲水位阈值动态控制 热度值 QoE保持不变 PCDN分享率提升 成本降低
25. 成本优化 - 单价降低 调控前带宽波形 优化效果 空闲带宽 调控后带宽波形 调控带宽 点播带宽 空闲带宽得到有效利用
26. 成本优化 - 极致压缩 解决方案 困难 问题
27. 成本优化 - 极致压缩 复杂度特征 视频数据集 视频 多比例压缩转码 码率信息 模型训练 画质特征 码流特征 Ground Truth 压缩比例/质量 预测模型
28. 成本优化 - 极致压缩 Predict 分差<1 高 GT 97 train_loss 100 分差<2 中 96 分差<3 95 80 低 loss for models in training 基准线 98 60 94 40 93 20 92 91 0 0.5 0.6 0.7 compress 0.8 0.9 0 5000 10000 15000 iters 20000 25000
29. 成本优化 - 极致压缩 画质特征 基准转码 前置增强修复 复杂度特征 码流特征 场 景 划 分 模型预测决策 编码&合成 基础信息提取 60 % 40 % 普通转码 极致压缩 压缩率 压缩率
30. 成本优化 - 利用率治理 有效利用流量 正常播放 预缓冲 预加载 损耗流量 CDN实际计费流量 流量利用率 有效利用流量 CDN实际计费流量 Socket Buffer
31. 成本优化 - 利用率治理 现状一 正常播放 问题 预缓冲 建立完善的版本流量利用率漏斗,并加入灰度报告中 严格监控每个版本产生的流量浪费情况 预加载 正常播放 预加载 预加载 预加载 预加载 预缓冲 预加载 治理方案 版本迭代时,无法有效衡 量播放策略的优化对CDN 成本带来的影响变化 CDN实际流量 网络下载流量 播放下载流量 用户观看流量
32. 成本优化 - 利用率治理 现状二 正常播放 问题 治理方案 依据前述漏斗数据,并进行A/B实验 确定最佳阈值大小 预缓冲 预加载 预加载 预加载 预缓冲/预加载/buffer的 阈值大小依据工程师经验 设置,无法确定合理性 QoE提升 成本体验拐点 成本 阈值大小
33. 成本优化 - 利用率治理 CDN峰值带宽 治理前 效果一 流量利用率 60 % 70 % 治理前 治理后 治理后 不再出现因策略变更导致的带宽突增问题 效果二 流量利用率提升明显,流量浪费大大减少
34. 04 总结与展望
35. 总结与展望 播放体验 网络策略 播放成本 应用策略 单价 播放策略 大数据 利用率 码率 A/B实验 AI+
36. 总结与展望 H266 端侧增强
37. Thanks

Accueil - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-16 16:20
浙ICP备14020137号-1 $Carte des visiteurs$