2016-12-31 41 views
0

我用視頻容器創建了一個非常簡單的網頁。 在服務器端,我爲每兆字節提供了206分塊下載(範圍字節的報告是正確的)。如何提供在Firefox和HTML5中分塊下載電影?

在Chrome中,此工作正常,Chrome下載3個文件並且 - 我猜 - 當緩存清空時,它會下載另一個文件。 Chrome請求帶有「範圍:0-」的文件,所以實際上我應該做的是發送整個文件,但我只是不想這樣做。 (特別是對於移動用戶,我不希望他們開始下載500M文件)

現在在Firefox中,我注意到它只下載第一個文件塊。它從不要求下一個。

這裏的問題是:如何在所有瀏覽器中提供分塊視頻流?

據我所知,我可以選擇任何Flash電影播放器​​,但那不是我想要的。我可以做的另一件事是說「僅使用Chrome」(在我的具體情況下,這是一個選項),但這也不是我喜歡的。我喜歡在這裏解決基本問題...

謝謝!

+0

只是想添加一個說明,分塊編碼是非常不同於Range-Bytes。 Chrome截至目前似乎不支持分塊編碼。 https://en.wikipedia.org/wiki/Chunked_transfer_encoding – themihai

回答

1

所有的大腦都在瀏覽器中,而不是服務器。服務器必須以正確的結果響應瀏覽器正在進行的請求。如果您向服務器請求整個文件,並且它只返回一部分,則瀏覽器不需要爲剩餘的部分嘗試另一個請求。鉻這個事實是不尋常的,不能回答。如果你需要控制,你必須使用像fmp4這樣的分段格式,並在javascript中添加邏輯客戶端。看看像video.js的球員