我在iPad上遇到HTML 5视频问题。它正在所有主流浏览器中工作。我在Apache tomcat上托管了一个视频并尝试使用ipad。它运行良好。但我需要播放一个URL在iPad中有矩阵参数。
如果有人能告诉我,如何在Apache tomcat中托管视频并为其添加一些矩阵参数将会很棒。如果我们使用URL添加一些垃圾查询参数,我们会添加矩阵参数以同样的方式,它将无法正常工作。
有没有规格说明,矩阵参数在iPad上不起作用?
答案 0 :(得分:0)
这个问题有点陈旧,但我们的研究可能会帮助那些偶然遇到这种情况的人。
我们花了一些时间来诊断使用带有矩阵参数的网址在iOS / QuickTime上播放内容的问题。具体来说,我们尝试使用“http://myserver.mydomain.com/path;a=b.m3u8”
形式的网址播放HLS内容视频第一次播放正常,然后第二次(以及每隔一次)失败。如果矩阵参数不存在,则视频每次播放都很好。
最终我们得出结论,这是iOS / QuickTime编写错误缓存条目的问题。所以第一次服务器返回内容时,这就像iOS / QuickTime上的缓存未命中所以它运行良好。下一次,服务器返回304(未修改 - 即缓存命中),iOS / QuickTime试图将其从缓存中拉出,这失败,因此视频无法播放。
我们的解决方案是通过将Cache-Control标头设置为no-cache来防止客户端缓存。另一种解决方案是不使用矩阵参数。
请注意,就HLS而言,这个错误似乎只发生在加载的第一个m3u8文件中 - 包含矩阵参数的第一个m3u8中列出的m3u8网址似乎正常。