2011-12-12 56 views
0

我有上iPad.It HTML 5视频的问题在各大browsers.I工作已托管在Apache Tomcat上的视频,并尝试在ipad.It工作well.But我需要播放在iPad中具有矩阵参数的URL。URL矩阵参数和IOS

如果有人可以告诉我,我该如何在Apache Tomcat中托管一个视频并添加一些矩阵参数,它会很好。如果我们添加一些垃圾查询参数和URL,它就会工作。如果我们添加矩阵参数以相同的方式,它不会工作。

没有任何规范指出,矩阵参数将无法在iPad上运行?

+0

你能提供一个示例url吗? –

+0

https://beta-classroom-dev.qaols.phoenix.edu/VirtualRepository/CP1/context-info;T=831D8B107020BBEBE0400F0A32207789;P=0593d9ed-f762-44f9-b4ee-720fd93f261f;O=OSIRIS:30253288;A=2732caa2 -ed7c-4773-92d1-910f996d0282; /file/8ef730cd-5b96-a69d-c4aa-a8e124ad6d7a/1/ECO564BETA_Price_Elasticity_final_h264.mp4?Username = scott&Password = scott http://ec2-75-101-133-143.compute- 1.amazonaws.com/ECO564BETA_Price_Elasticity_final_h264.mp4 – sunnychayen

回答

0

这个问题有点老,但我们的研究可能会帮助其他人有机会跨越这个问题。

我们花了一些时间来诊断问题,播放的内容上使用URL与矩阵参数的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网址似乎发挥的罚款。