最近遇到一个奇怪的问题:同一个视频,都是mp4格式,在安卓手机的h5页面上播放没有任何问题,但是在苹果手机上却出现了下图:
我们开始分析原因:我认为是转码的原因。 于是我向视频编辑部门要了原视频,自己下载了一个转码软件,在Mac电脑上转码成mp4格式,然后在iOS上播放。 但问题是,为什么视频编辑部门制作的一些视频无法在iOS上正常播放。 难道是因为我们使用的平台不同? 视频剪辑部门用的是win系统,转码软件和我的不一样。 ,所以视频制作的转码是不同的。 继续分析~~~终于发现了:
由h264编码的压缩级别问题引起的。 苹果官方文档描述了iOS可以支持的压缩级别:
。
解决方案:因为我的视频是上传到阿里云的html5 视频 ios,所以后来使用了阿里云的视频转码服务,也就是说调用他们的socket获取阿里云转码返回的视频URL地址html5 视频 ios,使用ios和安卓机器上播放这个地址是没有问题的。 如果使用转码软件制作mp4格式的视频,还是会存在兼容性问题,所以最好使用第三方转码。
在 Android 设备上,无法在不脱离文档流的情况下在浮动层中显示视频标签。
在 Android 机器上,一个页面上有多个视频。 当主图像的视频有海报时,将播放另一个视频。 暂停后,点击播放主图视频时,会出现红色区域。 这个时候就需要单独设置了。 当主图视频暂停时,可以通过附加描边层实现一页多个视频标签来回播放而不出现红色区域。
在ios内嵌的h5页面上,对video标签的支持就多了。 如果设置了webkit-playsinline="true",那么如果想要真正让这个属性在不离开文档流播放的情况下生效,需要让ios开发者帮忙添加
allowedInlineMediaPlayback = YES webview.allowsInlineMediaPlayback = YES 这两个属性就足够了。
最后,您可以扫描陌陌上的二维码加入群组,一起交流。