收藏
回答

安卓端小程序Video组件播放m3u8视频失败报,请问什么原因?

API组件:Video

微信版本号:8.0.43

错误信息:

代码如下:

<video

wx:if="{{ showVideo }}"

id="myVideo"

class="myVideo"

src="{{ hls }}"

enable-danmu="{{ false }}"

danmu-btn="{{ false }}"

object-fit="fill"

show-mute-btn

autoplay

show-center-play-btn

show-play-btn="{{ true }}"

enable-progress-gesture

show-snapshot-button

binderror="showError"

bindwaiting="showWaiting"

controls="{{ true }}"

></video>

请求的视频流地址(地址是假的,但是地址长度是等长,大概550-600个字符之间):

https://jvmp30.hnsvideo.com:20399/live/43090002031320001065.m3u8?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3NfbW9kZSI6IlQyODE4MSIsImNoYW5uZWxfaWQiOjAsImRldmljZV9pZCI6IjQzMDkwMDAyMDMxMzIwMDAxMDY1IiwiZXhwaXJlX3RpbWUiOjI2OTg5OTU5NzUsImdiX2NoYW5uZWxfaWQiOiI0MzA5MDAwMjAzMTMyMDAwMTA2NSIsImlubmVyX2FkZHIiOiIxMjcuMC4wLjE6NzI2MSIsImxpbmtfa2V5IjoibTdUblZ3cnJvRkZPIiwicG9ydF90eXBlIjoxLCJwdXNoX25ldF90eXBlIjoiV0FOIiwic3RyZWFtX3R5cGUiOjEsInN0cmVhbV91dWlkIjoiNDMwOTAwMDIwMzEzMjAwMDEwNjVfZ2JOeG9BOWw2V2zc1NTEifQ.YDZxkN2WMDy_q7XnJ1baUfDmauzxGv4oVyNcCA70rg

全部的安卓机型都播放不了且抛相同的错误,但是苹果机型都正常。我们用上面的错误地址和真实地址去请求,log里拿到的错误信息都是MEDIA_ERR_DECODE(-4000,-3),有些怀疑安卓环境下Video组件实际并没有按完整的真实地址去请求。

音频的编码格式是AAC,视频流地址的证书也是没问题的。已经参考过社区里其他MEDIA_ERR_DECODE(-4000,-3)错误的帖子,都不适用。

请帮忙分析一下可能是什么原因,video组件对流地址有长度或者特殊字符之类的有要求吗?安卓和苹果在这块有什么不同处理机制吗?

非常感谢!

回答关注问题邀请回答
收藏

1 个回答

  • 社区技术运营专员-Jahozheng
    社区技术运营专员-Jahozheng
    2023-11-07

    视频地址本身可以在微信客户端播放吗

    2023-11-07
    有用
    回复 7
    • 尹坤
      尹坤
      2023-11-07
      链接发到微信上,通过微信自己的播放器是可以正常播的。
      2023-11-07
      回复
    • 社区技术运营专员-Jahozheng
      社区技术运营专员-Jahozheng
      2023-11-07回复尹坤
      提供下真实链接看看 这个报错是你链接解码失败
      2023-11-07
      回复
    • 尹坤
      尹坤
      2023-11-07
      发您私信了,麻烦看一下
      2023-11-07
      回复
    • 社区技术运营专员-Jahozheng
      社区技术运营专员-Jahozheng
      2023-11-08回复尹坤
      一样不行啊 解析都解析不出来 在客户端都不行
      2023-11-08
      回复
    • 尹坤
      尹坤
      2023-11-09回复社区技术运营专员-Jahozheng
      不好意思,设备离线导致流地址不能播放了,给您又发了一个,麻烦方便的时候帮看一下,谢谢。
      2023-11-09
      回复
    查看更多(2)
登录 后发表内容