鸿蒙NEXT开发【在线短视频流畅切换】业务场景与解决方案

简介

为了帮助开发者解决在应用中在线短视频快速切换时容易出现快速切换播放时延过长的问题,将提供对应场景的解决方案。

该解决方案使用:

  • 视频播放框架AVPlayer和滑块视图容器Swiper进行短视频滑动轮播切换。
  • 绘制组件XComponent的Surface类型动态渲染视频流。
  • 使用LazyForEach进行数据懒加载,设置cachedCount属性来指定缓存数量,同时搭配组件复用能力以达到高性能效果,(在冷启动过程中创建一个AVPlayer并进行数据初始化到prepared阶段,在轮播过程中,每次异步创建一个播放器为下一个视频播放做准备)。

最终实现短视频快速切换起播时延达到≤230ms的效果。

说明

如果开发者使用自研播放器引擎而非AVPlayer,也可以参考该解决方案思路实现优化。

效果展示

图1 在线短视频滑动切换效果图

场景说明

适用范围

适用于应用中在线短视频快速切换,容易出现快速切换播放起播慢体验不佳的场景。

场景体验指标

起播时延计时标准

1、以用户滑动屏幕后抬手,手指离屏时刻为起点,以视频第二帧画面显示时刻为终点(不是封面帧)。

2、转场动画时长建议设置300ms。

3、在动画开始时使用预先准备的播放器起播,起播时延控制在230ms内。

描述

应用内滑动视频,新视频起播时延应≤230ms。

类型

规则

适用设备

手机、折叠屏、平板

说明

场景分析

典型场景及优化方案

典型场景描述

短视频:以小于5分钟的短视频为例进行说明

  1. 应用内滑动视频,新视频起播时延≤230ms(不包含滑动动画效果耗时)。
  2. 起点时间:滑动离手;时间终点:视频内容开始播放,画面发生变化。

场景优化方案

AVPlayer:

  1. 数据懒加载

    在线短视频预加载,冷启动时创建第一个播放器,播放当前视频时预加载下一个播放视频(预加载下一个视频的时候会使用户的流量消耗增加,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值