mp4视频无法仅在使用HTML5视频的ipad上播放

时间:2016-09-07 07:53:40

标签: ios html5 ipad video

我们在使用视频HTML 5播放器在网页上的ipad上播放mp4文件时遇到问题。

问题: 它不适用于ipad / iphone。在所有其他平台(Windows,Android,iOS桌面)上,它可以正常工作。

这是代码:

<video id="my-video"  width="400" height="240" preload="true"  controls >
<source src="/media/video/6d9ab49-9936-4194-acvb-3cd9b60521fg/myvideo.mp4" />
</video>

将ipad连接到Mac进行调试: 无法找到消息&#39;请求的资源&#39;。 声音非常清晰,但没有意义,因为当您将网址粘贴到浏览器地址栏时,可以访问mp4文件。

已经过测试和检查:

  • 将mp4的src设置为fullpath(包括https://或http://)而不是 使用虚拟路径;
  • 检查了hosting&quot; Accept-Ranges:bytes&#39; (部分内容(206)回复);设置还可以
  • 从远程网址播放相同的mp4文件(使用或不使用https访问);奇怪但有意义:这很有效!

所以我猜问题实际上是在ipad上找不到或加载了mp4。 但为什么? 希望有人可以提供帮助。

2 个答案:

答案 0 :(得分:0)

您是否尝试过这样,直接在<video>标记内包含src?

<video id="my-video" src="/media/video/6d9ab49-9936-4194-acvb-3cd9b60521fg/myvideo.mp4" width="400" height="240" preload="true" controls></video>

如果仍然无效,请尝试仅使用带有src的视频元素,删除预加载和控件。只是为了看看你是否可以让它发挥作用。如果仍然没有结果,请尝试使用绝对的src路径。

答案 1 :(得分:0)

我在Liferay Portal上提供相同的问题,在PC和Android上完美运行,但在iOS设备上却无法运行。经过多次测试,我想我终于成功地确定了原因。

出于某种原因,如果访客用户可以访问视频文件(例如MP4)(即无需登录服务器即可访问),那么它将在iOS上正常工作。但是,如果该文件仅供登录用户访问,则无法正常工作。

我发生这种情况的原因是,iOS可能正在使用不同的会话来进行范围请求检查,而不是用于播放视频文件的会话。因此,范围请求检查失败,因为文件不可访问。