微信小程序中视频无法播放,显示黑屏,但是有声音

更新日期: 2019-06-06 阅读次数: 8378 字数: 459 分类: 微信小程序

微信小程序的视频播放组件,在某些低端 Android 手机上无法正常播放视频,例如华为的某些机型。 表现为,播放时只显示黑屏,但是有声音。

而并不是所有的视频都如此,只有部分视频出现这个问题。于是对比了两个视频文件,一个为在问题手机上能正常播放的,另一个则不能。

可以播放的 MP4 视频相关参数

该视频是由腾讯云直播服务自动生成的录播文件。

Video
ID                        : 1
Format                    : AVC
Format/Info               : Advanced Video Codec
Format profile            : Baseline@L3.2
Format settings           : 1 Ref Frames
Format settings, CABAC    : No
Format settings, ReFrames : 1 frame
Codec ID                  : avc1
Codec ID/Info             : Advanced Video Coding

显示为黑屏,但是有声音的 MP4 视频相关参数

此视频是客户自己录制的视频。

Video
ID                        : 1
Format                    : AVC
Format/Info               : Advanced Video Codec
Format profile            : High@L5
Format settings           : CABAC / 4 Ref Frames
Format settings, CABAC    : Yes
Format settings, ReFrames : 4 frames
Codec ID                  : avc1
Codec ID/Info             : Advanced Video Coding

使用 VIMDIFF 进行对比

微信小程序中视频无法播放,显示黑屏,但是有声音

Format profile 为 Baseline、Main、High 的区别

这三种级别的视频质量由低到高:

  • Baseline 主要用于视频通话、手机视频等;
  • Main 用于主流消费类电子产品规格如低解码(相对而言)的mp4、便携的视频播放器、PSP 和 Ipod 等;
  • High 用于广播及视频碟片存储(蓝光影片),高清电视的应用。

解决方式

将 Format profile 调低进行转码,转到 High@L4 以下时,绝大多数 Android 机就已经可以正常播放了。视频大小减小了近一半。

除了用客户端软件进行转码,还可以使用七牛云提供的视频云转码服务,但是需要写简单的几何程序,转码完成后会提供回调通知。

关于作者

我是来自山东烟台的一名开发者,喜欢瞎折腾,顺便记记笔记。有敢兴趣的话题,欢迎加微信 zhongwei 聊聊。 白天工地搬砖,晚上哄熊孩子,可能回复有点慢,见谅。 查看更多联系方式

相关文章

谈笑风生

付飞虎

请问这个有详细的转码办法吗?

爱评论不评论

近期节日

2019年10月22日 世界传统医药日
2019年10月24日 霜降
2019年10月24日 联合国日
2019年10月31日 世界勤俭日
2019年11月01日 万圣节
2019年11月08日 立冬
2019年11月08日 中国记者日
2019年11月10日 世界青年节
2019年11月11日 光棍节,双十一购物节
2019年11月14日 世界糖尿病日
2019年11月17日 国际大学生节
2019年11月20日 国际儿童日
查看更多节日