Html 加载资源失败,插件已在iOS上处理加载

Html 加载资源失败,插件已在iOS上处理加载,html,ios,apache,Html,Ios,Apache,每次我试图在我的服务器上查看视频文件时,我都会在Safari、Chrome的iOS上看到这个错误 我使用的是blob服务器,然后是Apache服务器,所以我不确定问题出在哪里。然而,当我只使用Apache时,我确实会遇到这个错误,但是我也有视频渲染 但是,当我使用我的服务器渲染时,这不起作用。有人知道这是为什么吗?这些视频在其他设备上运行良好,如果仅通过Apache访问,在浏览器中也可以正常运行 这个问题的解决方案只是一个变通办法。原因是blob服务器不是流式服务器。iOS设备希望视频以小块的形

每次我试图在我的服务器上查看视频文件时,我都会在Safari、Chrome的iOS上看到这个错误

我使用的是blob服务器,然后是Apache服务器,所以我不确定问题出在哪里。然而,当我只使用Apache时,我确实会遇到这个错误,但是我也有视频渲染


但是,当我使用我的服务器渲染时,这不起作用。有人知道这是为什么吗?这些视频在其他设备上运行良好,如果仅通过Apache访问,在浏览器中也可以正常运行

这个问题的解决方案只是一个变通办法。原因是blob服务器不是流式服务器。iOS设备希望视频以小块的形式出现。例如,流媒体服务器就能够做到这一点。然而,blob服务器只是将视频作为blob发送,这不是iOS设备所期望的。一些浏览器足够聪明来处理这个问题,但其他浏览器则不然


我解决这个问题的方法是将blob服务器之外的视频文件添加到项目中的一个文件夹中,然后通过Apache服务器呈现,而不是通过我们使用的实际blob服务器提供服务。我希望这有帮助

在我们的例子中,我们为blob资产创建了一个URL模式,然后在该URL模式定义页面中设置头,该页面返回一个mime类型的“video/mp4”。这将指示浏览器将二进制流视为分块,这反过来意味着我们在开始播放之前不需要下载整个内容。

我们在这里遇到了类似的错误。我认为这可能是流媒体的问题,因为我们的视频是在Azure上的blob存储中托管的。设置流媒体服务后,视频仍然无法工作。事实证明,对我们来说,这个错误的原因是Safari使用了一名服务人员。以下是我们发现的一些进一步解释:

Safari首先发送一个视频标签的字节范围请求,该视频标签需要206响应。但是,如果使用服务工作者,则响应返回200,而Safari似乎不知道如何处理此问题我们的解决方案是排除在Safari中使用服务人员。

我们通过使用Macbook上Safari调试器的“网络”选项卡来解决我们在iPad上看到的问题,发现了这一点。附件是一个屏幕截图,供比较/参考。左侧选项卡显示默认情况下调用的外观。右边的选项卡显示了如果使用服务工作者将看到的内容


我在一些mp4视频中也遇到了这个错误。对我来说,这不是服务器问题,而是视频编码问题

问题

需要在视频文件的前面放置一个“moov atom”。它用作视频的目录。对于html流媒体,必须首先读取“moovatom”,否则它将无法在某些设备上播放

修复程序


为了解决这个问题,我经常对我的视频进行转码。启用“web优化”同时启用零延迟和“快速解码”可能会有所帮助(可在“视频”选项卡中找到)。

谷歌云平台解决方案

这个问题让我非常头疼,所以如果其他人在部署到谷歌云平台时遇到这个问题,我只想在这里添加我的特定解决方案

在Safari中尝试加载MP4视频时,我遇到了相同的错误:

加载资源失败,插件已处理加载

这阻止了视频播放

尽管如此,我还是想把所有东西都保存在谷歌云中,所以我为该网站创建了一个存储桶,并在那里添加了视频

当然,尝试从主站点的存储URL检索视频会导致CORS错误。 幸运的是,您可以非常轻松地在存储桶上配置COR:


一旦部署了该配置,我就能够在Safari中检索并加载站点上的视频,而不会出现“插件处理加载”错误。

将以下代码行添加到.htaccess(位于WordPress安装的根目录下)):

下面的屏幕截图是新的complete.htaccess


参考资料:

你有没有想过这个问题?我也有同样的问题!哇-谢谢你的回答!我没有想到web服务器可能无法处理流媒体。就我而言,Umbraco CMS无法处理此问题。。一旦我们将视频移动到另一台服务器上,一切正常。这些系统太脆弱了。这个答案绝对是金子!我花了几天时间尝试各种视频/音频格式/分辨率组合,但都没有成功。问题肯定出在我的Spring代码中,因为工作的Apache响应包含最小的头集(服务器、连接、日期、ETag、保持活动)。这个解决方案适用于iOS,但也修复了我在OSX上的Safari。你能再解释一下这个解决方案吗?我正在使用wordpress,那么我应该在哪里保存视频以使其工作?如何将视频分成小块提供服务,PHP代码是什么?我有一个web应用程序,在运行时通过workbox(一个服务人员库)缓存视频。我的视频在Safari中被破坏(并且仅在Safari中)。我觉得在其他iOS浏览器中视频加载正常很奇怪,但我记得Safari是一款支持服务人员的iOS浏览器。您是否仍将Safari排除在服务人员之外?WebKit错误:。工具箱问题:。是的,我们仍然排除它。我们在一个非常特殊的案例中使用了一个服务人员,Safari不需要它。如果您不想使用workbox,Phil Nash也有一个范围流。为我修复了Safari/iOS流媒体。你能详细介绍一下这个解决方案吗?谢谢你,塞尔索。使用“web优化”对手刹中的视频重新编码为我解决了这个问题。非常感谢。当Safari Mac无法播放时,这对我很有效。mp4出现错误“加载资源失败,插件处理加载”。显然Safari不喜欢Gzip内容。
SetEnvIfNoCase Request_URI .(?:mp4)$ no-gzip dont-vary