2012-04-27 135 views
1

我有以下的HTML5視頻標籤:HTML5視頻標籤總是下載完整的視頻在Safari

<video id="vid" controls="controls" preload="metadata"> 
    <source src="/testvid.m4v" type="video/mp4" /> 
    Your browser does not support the video tag. 
</video> 

一旦視頻被點擊,Safari瀏覽器開始下載整個視頻文件,並不會停止,直到它到達結束。視頻文件是400 MB,所以這是一個問題,由於帶寬的成本。

它在文件中的索引位置似乎沒有問題,因爲http://renaun.com/blog/code/qtindexswapper/上的應用程序表示索引已經處於開始位置,並且視頻的開頭可立即播放,即使其餘部分仍在下載。

源文件位於Amazon S3中,因此服務器支持範圍請求。

有什麼我可以做的嗎?理想情況下,我想要某種明智的緩衝區,例如播放頭前20 MB的內容,或1分鐘,或類似的東西。

回答

1

正常的行爲是當頁面加載時只下載一小部分視頻(僅足以讓瀏覽器顯示一個幀並獲取文件頭)。播放視頻時,整個視頻在播放時都會下載。

在一些較舊版本的瀏覽器中,如果使用搜索欄,則視頻會再次下載。

沒有可用於更改此行爲的設置或屬性。

來源:http://www.stevefenton.co.uk/Content/Blog/Date/201106/Blog/HTML-5-Video-In-Real-Life/

+0

在這種情況下,HTML5視頻標籤似乎相當壞對我來說,這意味着如果你有幾個視頻頁面,並且用戶看着他們幾個人的前幾秒鐘,然後將他們全部完整下載! – gubby 2012-04-29 13:35:16

+0

我認爲你的問題是意圖。有些用戶暫停播放,讓視頻下載時,他們有一個緩慢的連接 - 而不是讓它繼續暫停,因爲它起着比它更快地下載。如果您停止下載,因爲播放已暫停,則它們的體驗可能不佳。 – Fenton 2012-04-30 11:50:51

0

我Sohnee同意。爲了降低你的帶寬,你有兩個選擇:(FE H264與427x240 800kbps我結束了約5-6mb /分鐘)

您的視頻壓縮到較低的質量,或者你videosize /比特率有什麼

思考關於一個播放列表(猜測southpark.de是這樣做的),將你的電影分成幾部分,如果視頻結束,則將下一部電影加載到播放器中。缺點:如果您使用自定義控件,他們只會顯示當前視頻的信息,而不是整體(如果您使用特殊魔法構建自定義控件,則可以解決)。

不知道它是否有幫助,但這將是我在這種情況下的兩個解決方案。最佳ķ