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

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

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

1. IOS音视频自动播放

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

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

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

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

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

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

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

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

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

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

分析点3:资源问题

为了排查问题 我试过压缩音频资源这些,我观察到一点 就是比特率

简单来说 越高音质越好 反之亦然,那么音频这种多少合适,这块得看你们运营或者产品了,基本来说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的特点

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

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

  1. 于冰:用户导向的音视频体验优化

    在LiveVideoStackCon2018音视频技术大会上,快手音视频技术负责人于冰分享了题为<用户导向的音视频体验优化>的主题演讲,从用户的角度来去谈音视频的体验优化. 文 / 于冰 ...

  2. 即时通讯开发之网页端实时音视频技术WebRTC

    WebRTC,名称源自网页实时通信(Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音通话或视频聊天的技术,是谷歌2010年以6820万美元收购Globa ...

  3. 云游戏音视频体验优化实践

     点击上方"LiveVideoStack"关注我们 ▲扫描图中二维码或点击阅读原文▲ 了解音视频技术大会更多信息 编者按:从2019年开始,云游戏的热度迅速上升,云游戏平台如雨后春 ...

  4. 移动端实时音视频直播技术详解(一):开篇

    移动端实时音视频直播技术详解(一):开篇 1.引言 随着互联网用户消费内容和交互方式的升级,支撑这些内容和交互方式的基础设施也正在悄悄发生变革.手机设备拍摄视频能力和网络的升级催生了大家对视频直播领域 ...

  5. 探索企业出海新机遇与音视频技术优化实践

    10月31日·北京 | LiveVideoStack联合Zenlayer共同组织"音视频技术与全球化"专题,邀请了YY.印尼电信旗下Telin Singapore.拓课云和Live ...

  6. 首届“马栏山杯”国际音视频算法优化大赛颁奖盛典暨高峰论坛圆满落幕

    "音画密码,神机妙算",2020互联网岳麓峰会重磅活动--首届"马栏山杯"国际音视频算法优化大赛颁奖盛典暨高峰论坛9月8日在长沙马栏山盛大举行,湖南省委常委.省 ...

  7. 移动端实时音视频详解(三):编码和封装

    移动端实时音视频详解(三):编码和封装 视频编码是本系列一个重要的部分,如果把整个流媒体比喻成一个物流系统,那么编解码就是其中配货和装货的过程,这个过程非常重要,它的速度和压缩比对物流系统的意义非常大 ...

  8. 移动端实时音视频详解(二):处理

    移动端实时音视频详解(二):处理 视频或者音频完成采集之后得到原始数据,为了增强一些现场效果或者加上一些额外的效果,我们一般会在将其编码压缩前进行处理,比如打上时间戳或者公司 Logo 的水印,祛斑美 ...

  9. 【音视频第6天】基础知识-移动端实时音视频直播技术详解和开源工程WebRTC的技术原理和使用浅析

    本文是系列文章中的第1篇,本系列文章的大纲如下: <移动端实时音视频直播技术详解(一):开篇> <移动端实时音视频直播技术详解(二):采集> <移动端实时音视频直播技术详 ...

  10. Android端实时音视频开发指南

    简介 yun2win-sdk-Android提供Android端实时音视频完整解决方案,方便客户快速集成实时音视频功能. SDK 提供的能力如下: 发起 加入 AVClient Channel AVM ...

最新文章

  1. Dropout, DropConnect ——一个对输出,一个对输入
  2. Java程序员从笨鸟到菜鸟之(九十)跟我学jquery(六)jquery中事件详解
  3. spring Aop实现身份验证和springboot异常统一处理
  4. 图论--一般图带花树匹配--模板
  5. Android STL PORT
  6. 【Python CheckiO 题解】Create Intervals
  7. 黄光裕:力争用未来18个月的时间 使企业恢复原有的市场地位
  8. 【引用】在VB6.0中实现弹出式菜单的几种方法
  9. 手把手教你搭建LyncServer2013之部署边缘服务器(七)
  10. [Jscript]Js导出Excel
  11. python数据保存为excel_Python读excel生成数据存入txt文件
  12. 广东2022年下半年系统集成项目管理工程师上午真题及答案解析
  13. 服务器 '' 上的 MSDTC 不可用。
  14. EditPlus软件的安装与配置
  15. 苹果原壁纸高清_苹果iPhone全面屏桌面壁纸 第89期 苹果x手机专用高清壁纸
  16. php-screw 安装,php源码加密:php_screw 安装与使用
  17. 用malloc开辟二维数组的三种办法
  18. Tiled的qbs方式编译记录
  19. C++虚函数实现机制
  20. 记一次使用百度云加速开启ssl后网站打不开的解决办法

热门文章

  1. vue3.0 深度选择器>>> 和 /deep/ 和 ::v-deep 被弃用‘the >>> and /deep/ combinators have been deprecated‘
  2. m1芯片 mysql_苹果M1芯片各种不支持,但居然可以刷朋友圈!你会买单吗?
  3. redis分布式锁原理与实现
  4. word 2013如何从第三页开始设置页码
  5. 【网站流量分析】某网站网站流量分析报告(CNZZ统计)
  6. 数据结构——二叉树练习题
  7. 关于微信分享logo图片不显示,带有微信敏感文字
  8. revit打开服务器文件,Revit官方教程丨链接及打开IFC文件
  9. 到底什么是代码重构?
  10. css定位(相对、绝对和固定)