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

发布时间: 2019-02-16 23:17:11 作者: 大象笔记

微信小程序的视频播放组件,在某些低端 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 的区别

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

解决方式

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

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

我是一名山东烟台的开发者,联系作者