移动端H5-音视频资源优化方案实战方案推荐

很久没更新了,近期在做资源播放相关的,看到很多方案很少人分享,来给大家马下 分享分享。

在微信中做H5端的页面开发时,尤其会有做视频或音频播放的最最最常见的一些问题如下:

  1. IOS音视频自动播放
  2. IOS加载音频/视频较慢
  3. 视频播放全屏

1. IOS音视频自动播放

自动播放我之前的文章有说过,音频的实现可以看这里
至于视频很不巧 在IOS 视频的自动播放一定得有 "交互动作"
这里的交互动作 对用户是友好的 这也是为什么IOS在做系统交互这块一直领先安卓的主要原因,也让一些网页垃圾操作无处遁形,也就相当于对开发者不是那么友好了。

交互动作理解很简单:你必须让用户触碰了你的网页。

所以基本一些你常见的H5视频的播放 基本都会有一个引导 大厂都是 定的规则如此你必须这么做。

2. IOS加载音频/视频较慢

这一块我打算重点说一下,因为现在网上清一色很少人说 但是我发现很多人提问,没有合适的解答 所以也是我今天想写博客的原因,

分析点1:作为前端我们先从谷歌内核和sarfi内核的角度分析一下 安卓和IOS加载规则上有什么不同

在这里插入图片描述只要你在抓个包观察 会发现ios一定会先请求一次资源 这个请求间隔很短,拿的是资源的基础信息,音视频都如此
但其实请求间隔时间很短 他并没有耽搁到你太多加载时间。

但是仔细观察两个平台 安卓是边下边播,IOS一定是加载资源在整体进度的20%-30%才播放
甚至也有完全加载完的情况 网速当然会影响

分析点2:资源链接的问题

这块不细说 但是本次开发过程中
我们后台的cdn就出现了对接问题 导致加载媒体流特别慢,这块可以协助后台去定位
毕竟服务器的带宽也是同样影响的关键点之一 但是烧带宽用户量起来的话 成本就高了,所以我们还是得找到问题原因去分析

分析点3:资源问题

为了排查问题 我试过压缩音频资源这些,我观察到一点 就是比特率
移动端H5-音视频资源优化方案实战方案推荐_第1张图片
简单来说 越高音质越好 反之亦然,那么音频这种多少合适,这块得看你们运营或者产品了,基本来说128是比较合适的 正常用户手机扬声听不出区别
那么比特率影响什么了?
给大家两个音频作对比
4分钟的音频 比特率320
90分钟的音频 比特率96
你们认为同等网络和资源环境 哪个加载速度最快?

答案是90分钟的视频 测试发现 首次加载播放的速度
4分钟320比特率的 至少加载50%以上的进度才播放
90分钟96比特率的 只需要20%,

前面也说了 一秒传输的大小在这里插入图片描述

也解释了同等大小的资源 不同比特率导致加载速度的差异

分析了以上这三点相信大家有优化的出发点想法了 同等环境下 压缩时要注意比特率这一块。

3.微信H5播放全屏的问题

这个很好处理 给三段关键的

 webkit-playsinline="webkit-playsinline"
 x5-playsinline="x5-playsinline"
 x-webkit-airplay="allow"

加载video标签内基本就是小窗播放了。详细的可以查这三个 x5针对安卓 webkit针对ios
x5是微信H5的内置内核 有很多设置 包括一些查看页面console的特点

还有遇到什么问题的欢迎评论区讨论,
如果帮到你了 希望能点个赞~

你可能感兴趣的:(前端)