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

更新日期: 2019-06-06 阅读次数: 6504 字数: 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 机就已经可以正常播放了。视频大小减小了近一半。

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

谈笑风生

付飞虎

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

爱评论不评论

近期节日

2019年08月23日 处暑
2019年09月03日 抗日胜利纪念日
2019年09月08日 白露
2019年09月08日 国际扫盲日
2019年09月10日 教师节
2019年09月13日 中秋节
2019年09月16日 国际臭氧层保护日
2019年09月16日 世界清洁地球日
2019年09月18日 "九一八"事变纪念日
2019年09月20日 国际爱牙日
2019年09月21日 国际和平日
2019年09月22日 世界无车日
查看更多节日