我把数据复盘了一遍:91在线为什么有人用得很顺、有人总卡?分水岭就在片单规划
我把数据复盘了一遍:91在线为什么有人用得很顺、有人总卡?分水岭就在片单规划

前言 最近把一波真实流量和观看路径的数据拉出来复盘,发现同样是91在线这类短视频/长视频混合平台,为什么有的人看得顺滑、有人总卡顿?结论比直觉更简单也更残酷:核心差异不在 CDN、也不完全在用户网络,而是片单(playlist)如何被规划与呈现。下面把我的复盘发现、根源分析和可落地的优化建议,全都写清楚,方便团队快速试验与上线。
一、观测到的主要差异(把用户分成两类)
- 顺畅组:启动快、连播不中断、自动切换码率平滑、跳转/下一个视频延迟低。通常停留时长更长、完成率更高。
- 卡顿组:频繁出现重缓冲、码率剧烈切换、点开下一个视频要等、用户跳出率高。很多是短时间内多次跳看导致的体验崩坏。
二、数据层面的关键指标(我主要看了这些)
- 启动时间(start-up time)
- 重缓冲率与重缓冲次数(rebuffer ratio/count)
- 平均码率与码率切换次数
- 视频切换延迟(用户点击“下一个”到播放开始)
- 用户跳转率(skip)与单次观看时长分布
- 设备类型、操作系统、客户端版本、网络类型(4G/WiFi)
三、为何片单规划成为分水岭(核心原因) 1) 连续高码率片单会“吃光”客户端缓存 当片单把多部高码率视频连在一起,客户端在默认的预取策略下,可能会优先缓冲当前视频的后续大片段,造成对下一个视频的预取不足。用户一旦快速跳转,就会遭遇明显延迟或重缓冲。
2) 用户行为与预取策略不匹配 两类用户行为很不一样:有人喜欢看完一整个视频再看下一个(顺序观看),有人喜欢随意跳看短片(高 skip)。但片单常常按“内容相关性”或“热度”线性排布,没把高 skip 场景考虑进去。结果是高 skip 的用户频繁触发未命中预取策略,体验差。
3) 片单内编码属性差异大 同一片单里混合了多种分辨率、码率、分段时长(segment length),会让播放器在切换时频繁进行码率重调和缓冲决策,尤其在波动网络环境下更容易出现卡顿。
4) CDN/缓存与片单热点分布不匹配 热门短片往往集中在某些列表位置,如果片单把热点跨散地分布,用户流转会触发更多不同的 CDN 请求,缓存命中率下降,延迟上升。
四、可执行的优化策略(分短期快速改进与中长线方案) 短期(1–4周,可快速验证)
- 按观影路径智能聚类:把高 skip 的短片放在专门的“跳看型片单”中,避免与顺序观看长片混排。
- 插入“缓冲桥接片段”:在连续高码率内容之间插入低码率或短片段,作为缓冲区,降低切换时的重缓冲概率。
- 优化预取策略:基于用户历史行为给出“下一视频优先级”。对高 skip 用户降低对当前视频长尾段的预取比例,增加下一个视频首段的预取。
- 动态调整首帧码率:对网络不稳或低端设备自动降低初始码率以缩短启动时间,再平滑升级到更高码率。
中长线(1–3个月,需研发配合)
- 片单智能分层:将片单分为“深度消费层”和“快换层”,分别应用不同的缓存与预取逻辑。深度层适合长片、连贯剧情;快换层适合短片、音乐、搞笑片段。
- 多维编码与分段优化:统一片单内常见分辨率与分段长度,避免过大差异,减少切换时的 ABR 抖动。
- CDN 分区与缓存预热:根据片单热度曲线对热门序列进行预热,或在地域层面做更精细的缓存策略。
- 数据驱动的片单实验平台:每次片单改动都做到 A/B 测试,指标包括启动时间、重缓冲率、观看完成率和留存。
五、给产品/运营/内容团队的实用建议(可直接拿去做)
- 片单设计模板:为不同场景制订模板(长视频观看模板 / 短视频快消模板 / 教育课程模板),并强制在内容上做小范围匹配(码率、时长、话题)。
- 运营上分类推送:把高 skip 用户标签化(可用近期跳看率阈值判断),推送前优先使用“快换片单”。
- 内容端注意结尾设计:对于容易被跳走的短片,设计更强的结尾钩子或首尾连贯性,降低随机跳出率。
- 指标告警:为连续高码率片单建立体验告警线,一旦某片单的重缓冲率或切换延迟超标,自动触发回滚或临时降级策略。
六、案例简述(复盘结论的落地效果) 在一次实验中,我们把“热门短片”从混合片单中抽出,形成独立的快换片单,并对该片单启用下一个视频优先预取。结果在一周内,用户在该片单的平均切换延迟明显下降,跳出率降低,同时单次播放时长有所上升(具体数值因团队保密,这里不展开)。结论是:只要片单和预取策略对齐,体验提升来得很快。
七、落地优先级建议(给工程排期用)
- P0(立即做):按用户 skip 行为分类并调整预取策略;调整首帧初始码率。
- P1(短期迭代):插入缓冲桥接内容;制定片单设计模板。
- P2(中长期):片单智能分层、CDN 预热、编码和分段统一优化。