(转)Android拍摄的视频无法在IOS播放
https://blog.csdn.net/u012992171/article/details/50673305
公司最近的项目需要上线一个视频功能,在临近尾声的时候出现了一个比较坑爹的BUG,那就是开发Android的同事拍摄的视频上传到服务器之后,我这边用手机无法播放,而我自己拍摄的视频上传后是可以直接播放的。 我用浏览器访问了Android同事拍摄的视频的互联网
公司最近的项目需要上线一个视频功能,在临近尾声的时候出现了一个比较坑爹的BUG,那就是开发Android的同事拍摄的视频上传到服务器之后,我这边用手机无法播放,而我自己拍摄的视频上传后是可以直接播放的。
我用浏览器访问了Android同事拍摄的视频的互联网路径,在浏览器上是可以正常播放的,下载到本地,在Mac上用QuickTime也是正常播放,在此可以排除是文件损坏导致的问题。
我这边调试工程得到的错误信息如下:
是一个_itemFailedToPlayToEnd的KVO记录log,Google了这个错误,包括stackoverflow上给出的原因基本上都是视频URL有问题,不存在这个文件导致的,由于我已经检查过服务器上的文件,是可以正常访问并可以播放的,所以显然这个解决不了我的BUG。
在设置大量的MPMoviePlayerController的属性,问题依旧之后,我决定采用AVFoundation来自定义播放器来尝试播放这个视频,看看是不是由于IOS默认播放器对格式支持不全导致的。折腾了几个小时后,用AVFoundation写了个简单的视频播放器,将URL填了进去,发现仍然无法正常播放。
这时候我开始思考是不是视频本身的问题,我讲Android拍摄的视频文件,一个MP4文件通过QQ发送到我的iPhone之后,用QQ打开之后发现QQ直接卡住了,也是不能正常播放,这时候我已经确定一定是这个MP4文件和我这边拍摄的MP4肯定存在着格式上的不同。
于是我找到了一个MP4Info这款工具来分析两个MP4文件的不同,分析结果如下:
正常播放的MP4文件分析结果截图:
Android同事拍摄的问题MP4文件分析截图:
通过比较分析结果,发现无法播放的那个MP4文件的音频格式为SAMR,而我自己这边可以正常播放的音频格式为MP4A,我以这两个单词为关键字搜索了一下,找到了这篇文章
在这边文章的帮助下,我让Android的同事将其录制视频时的音频编码设置为AAC之后,再重新拍摄并上传一个视频之后就能正常播放了。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Android进阶之自定义View(2)高仿钉钉运动步数实现可动的进度圆环(上)
本文比较详细的介绍了绘制圆环及圆弧的基础知识,为实现钉钉运动步数打下基础,实现了下面的效果,实现钉钉运动就灰常简单了,本文实现的初步效果如下: 如果想直接看钉钉运动的最终效果,请戳:Android进阶之自定义控件(2)高仿钉钉运动步数实现可动的进度圆环(下) Animation.gif 1、圆环的绘制 2、绘制背景圆环和进度圆环 3、绘制中间的文字 (1)使用drawArc(RectF oval, float startAngle, float sweepAngle, boolean useCenter, Paint paint)绘制圆环: image.png public class SportStepView extends View { private Paint mPaint; //圆环绘制的宽度 private int mRoundWidth = 40; public SportStepView(Context context) { this(context, null); } public SportStepView(Context context, @Nullable A...
- 下一篇
Flutter代码模板,解放双手,提高开发效率必备
版权声明:本文为博主原创文章,未经博主允许不得转载。https://www.jianshu.com/p/4184745d6983 转载请标明出处:https://www.jianshu.com/p/4184745d6983 本文出自 AWeiLoveAndroid的博客 使用Flutter开发的朋友们都有一个疑问,自带的快捷提示不是很丰富,没有你想要的功能,不管是Android Studio 还是IDEA,斗狠有局限性,有的朋友可能在用VSCode,那个插件有两个,我都试过都不好用,扩展性不好。于是我自己就写了一些常用Flutter代码模板,导入AS或者IDEA可以直接使用。 【说明】本文同步发布在github,欢迎star,https://github.com/AweiLoveAndroid/Flutter-learning 一、导入方式(这里以AS或者IDEA为例,VSCode的代码模板有点麻烦,正在整理中) 首先打开github网址 https://github.com/AweiLoveAndroid/Flutter-learning/blob/master/code_plugi...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS8编译安装MySQL8.0.19
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- SpringBoot2整合Redis,开启缓存,提高访问速度