【问题标题】:mp4 not able to load in mobile browsermp4 无法在移动浏览器中加载
【发布时间】:2016-07-12 03:43:55
【问题描述】:

1) 我有一个 mp4 文件,可以在这里播放:http://php.weilomo.com/html/index.html 移动和桌面浏览器都可以。

2) 当我将相同的 html 移动到我的服务器 nginx+wildfly8.0 中时,该视频只能在桌面播放,而不能在移动浏览器(safari 或 android)中播放。错误是:无法加载视频,可能是因为服务器或网络故障,或者格式不受支持

有什么想法吗?

谢谢一百万。

【问题讨论】:

  • 如果 iOS 和 Android 可以从旧的php.weilomo.com 地址播放 MP4,那么保存在其他位置的相同设备可以播放它。这个 NGINX 服务器没有更改(或转换)视频文件,对吗?您能否从 您自己的服务器放一个指向 html 的链接,以便我们检查那个链接,因为它不起作用...
  • @VC.One 这里是在 wildfly 中部署的相同 mp4。 120.26.59.202/cloudviewer/mp4.html 1)我可以确认它与 nginx 无关。 2)我已经把clip重新编码成webM,没问题。
  • 是的,我检查了文件。它在图库、视频播放器和海豚浏览器中播放。但在 Chrome 浏览器中,只有持续时间正确的空白屏幕。我认为 H264 的profile 是错误的。让我再调查一下,然后再给出建议。
  • @VC.One 我们终于弄明白了。 mp4 的 url 应该带有域名。 IP 地址会导致错误发生。我不知道为什么。希望这会有所帮助,任何解决方案(仅使用 ip)将不胜感激。
  • 优秀。很高兴你修好了。 +1。请将该信息放入您的答案框中。有利于其他人了解 IP 与域问题。

标签: video mobile browser mp4


【解决方案1】:

您必须将 "playsinline" 作为视频的属性 否则它不会自动开始在移动设备的浏览器上播放..

这是一个例子:

<video id="video" playsinline autoplay muted loop>
<source src="assets/sample.mp4" type="video/mp4"/>
</video>

【讨论】:

    【解决方案2】:

    经过几天的挣扎,我很确定这是正确的答案。希望这可以帮助其他人,以防他们遇到同样的问题。

    要让 mp4 能够在网络浏览器中播放 html5 视频,首先你应该参考这篇文章:HTML5 - How to stream large .mp4 files?

    就我而言,当我“确保 moov(元数据)在 mdat(音频/视频数据)之前”时,桌面和安卓浏览器可以工作,但 safari 不能。遵循“确保您的 Web 服务器配置为处理字节范围请求”的线索。在上面提到的同一篇文章中,我们终于发现根本原因来自wildfly的一个错误(https://developer.jboss.org/thread/249279?start=0&tstart=0)。 Wildfly(至少 8.0)没有正确处理导致 safari 无法很好地播放 mp4 的字节范围请求。我们最终的解决方案是将应用服务器从 wildfly 更改为 apache httpd 并按预期工作。

    就是这样。

    【讨论】:

      猜你喜欢
      • 2023-03-03
      • 1970-01-01
      • 1970-01-01
      • 2015-03-14
      • 1970-01-01
      • 2013-12-11
      • 2020-09-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多