ios video标签部分mp4文件无法播放的问题


问题描述:

部分MP4文件在ios的微信浏览器中无法播放,点击播放后缓冲一下之后显示叉,而另外一些mp4文件正常,同时在安卓全部下正常。

原因分析:

h264编码的压缩级别问题导致。 
苹果官方文档中对 ios 能支持的压缩级别进行了描述 点击查看
我们可以通过  potplayer等软件,查看对应的mp4文件的 压缩级别,如果 压缩级别高于苹果能支持的压缩级别,则会出现ios下无法播放的问题.
 
具体的苹果设备支持的编码格式列表: 参考列表

 

 

解决方法:

如果视频存放在 阿里云或者七牛云,可以使用 他们的 视频转码服务(一般是按量计费),转码为 h264 high 4.1 就基本可以支持 phone4s + 的苹果设备了。如果 要兼容所有(包括iphone3gs 和 iphone4),那需要转为 baseline 3.1

ffmpeg -i input.flv -vcodec libx264 -acodec aac output.mp4
ffmpeg -i sample.mp4 -vf "scale=2*trunc(iw/2):-2,setsar=1" -profile:v main -pix_fmt yuv420p sampleXX.mp4

 

转换结果

计算机生成了可选文字:
卜》MediaAreanet/MediaInfoC:\Users\garso\Desktop\h5\sampleXX.mp4
0文仁团》苷(Y)吓远项凶0调试〔、0帮罰(V)语言〔u)
vC们sss引Des00中5am訓e凡(m04
亮名称
CsssDes005amem04
格式MPEG-4
格式滁
BaseMedia
码器IDisom(iso而s02VC们m04的
件大小
84M旧
持缍时闾1分0秒
屮台码率1217旭
码程序L158201
v视频
格式
格式脂
At"ancedVideoCodec
格式滁Maln@L3.1
格式设舌
CC4RefFrames
格式设舌
格式设舌考4
码器旧cl
码器旧0阉ncVideoCoding
持缍时闾1分0秒
码率15kb/s
贲度12像
度72囗像
面比g
率模式恒定
率25000
色彩空闾YUV
色度油样
20
位深8位
扫插方式行扫插
》:047
流大小
78M旧g,
码訕库
x204core157「2g35545de2f
码设舌
C303C=1e仁3de引oc=100/analyse=OX1m111/subme=7/PSFI/psy「d=t00000/mixed「e仁1
谱自萸谱(English)
Codeccong凵「黼on00avcC
0
L

 

ffmpeg -i sample.mp4 -vf "scale=2*trunc(iw/2):-2,setsar=1" -profile:v baseline -level 3.0 -pix_fmt yuv420p sampleXX2.mp4

转换结果,要实现的效果:

计算机生成了可选文字:
卜》MediaArea.net/MediaInfoC:\Users\garso\Desktop\h5\oceans.mp4
(Y)吓远项凶0调试〔W)0帮的(V)语言〔u)
亮名称
CsssDes005m04
格式MPEG-4
格式滁
BaseMedia
码器旧is0m(isoc
件大小21gM旧
持缍时闾北秒鍆3亳秒
台码率模式动态巳R冫
屮台码率
3g5囗kb/s
码日UTC2013一053225107
标记日UTC2013一05322巧t07
v视频
格式
格式萨AtvancedVideoCodec
格式滁
Baseline@L3
格式设舌3RefFrames
格式设舌
格式设舌考3
码器旧cl
码器旧萨AtvancedVideoCoding
持缍时闾北秒5巧亳秒
码率
380Ukb/s
最大码率
g253O/s
贲度g60像
度4開像
面比例
2401
率模式恒定
率23g70(2O/O
色彩空闾YUV
色度油样
20
位深8位
扫插方式行扫插
》:a41g
流大小214M旧(g8,到
码訕库ZenCOde「VideoEncodingSystem
码日UTC2囗13一囗5一囗3225囗47
标记日UTC2囗13一囗5一囗3225108
Codecconfiguration00avcC
昌频
格式AACLC
格式At"ancedAudlOCodecLOWComplexity
码器旧m043一一2
持缍时闾北秒鍆3亳秒
码率模式动态巳
码率
g2gkb/s
最大码率105旭
声2声
ChannellayoutLR
采样率
480kHz
率40875(10SPF)
压模式有损压
流大小
52gKid(2%冫
码日UTC2013一053225T07
标记日
UTC2013一05322巧t08

 

 

参考:https://www.cnblogs.com/aleafo/p/7644553.html

参考:https://stackoverflow.com/questions/37967120/ffmpeg-convert-from-h-264-high-444-profile-to-h-264-main-profile

 

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
YES开发框架
上一篇:Web service 超过了最大请求长度
下一篇:vue vue-clie多环境配置
评论列表

发表评论

评论内容
昵称:
关联文章

ios video标签部分mp4文件无法播放问题
文件或目录损坏且无法读取
VSCode无法格式化python代码py文件解决办法
编译项目提示报错,提示:无法文件 "**"复制到***,正由另一进程使用,因此该进程无法访问此文件
Dotfuscator Professional Edition 4.96 版使用教程
无法处理文件 **.resx,因为它位于 Internet 或受限区域中,或者文件上具有 Web 标记。要想处理这些文件,请删除 Web 标记。
数据库中发生这个错误:无法为数据库 中对象 分配空间,因为 'PRIMARY' 文件组已满。请删除不需要文件、删除文件组中对象、将其他文件添加到文件组或为文件组中现有文件启用自动增长,以便增加可用磁盘空间。
文件加密技术研究
SQLite Database 多线程访问需要注意问题
Blazor Webassembly多标签页实现非iframe实现
.NET Core 运行时T4模板使用,T4生成代码
VS打包nuget包无法上传nuget官网
模仿写了一个摸鱼应用解决原作者问题
微信支付:签名计算.net4.5
消息发送时问题
VSCode正则表达式检索:如何使用正则表达式匹配包含特定属性但排除另一个属性HTML标签
Devexpress GridControl明细标签控制,隐藏detail标签
C#读取被进程占用文件,只读模式打开文件
模板修改无法保存
C# / VB.NET 在Word中嵌入多媒体(视频、音频)文件

联系我们
联系电话:15090125178(微信同号)
电子邮箱:garson_zhang@163.com
站长微信二维码
微信二维码