简介
为了帮助开发者解决在应用中在线短视频快速切换时容易出现快速切换播放时延过长的问题,将提供对应场景的解决方案。
该解决方案使用:
- 视频播放框架AVPlayer和滑块视图容器Swiper进行短视频滑动轮播切换。
- 绘制组件XComponent的Surface类型动态渲染视频流。
- 使用LazyForEach进行数据懒加载,设置cachedCount属性来指定缓存数量,同时搭配组件复用能力以达到高性能效果,(在冷启动过程中创建一个AVPlayer并进行数据初始化到prepared阶段,在轮播过程中,每次异步创建一个播放器为下一个视频播放做准备)。
最终实现短视频快速切换起播时延达到≤230ms的效果。
说明
如果开发者使用自研播放器引擎而非AVPlayer,也可以参考该解决方案思路实现优化。
效果展示
图1 在线短视频滑动切换效果图
场景说明
适用范围
适用于应用中在线短视频快速切换,容易出现快速切换播放起播慢体验不佳的场景。
场景体验指标
起播时延计时标准
1、以用户滑动屏幕后抬手,手指离屏时刻为起点,以视频第二帧画面显示时刻为终点(不是封面帧)。
2、转场动画时长建议设置300ms。
3、在动画开始时使用预先准备的播放器起播,起播时延控制在230ms内。
描述 |
应用内滑动视频,新视频起播时延应≤230ms。 |
类型 |
规则 |
适用设备 |
手机、折叠屏、平板 |
说明 |
无 |
场景分析
典型场景及优化方案
典型场景描述
短视频:以小于5分钟的短视频为例进行说明
- 应用内滑动视频,新视频起播时延≤230ms(不包含滑动动画效果耗时)。
- 起点时间:滑动离手;时间终点:视频内容开始播放,画面发生变化。
场景优化方案
AVPlayer: