2011-12-12 60 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網址似乎發揮的罰款。