2013-05-08 73 views
4

首先,我想問這個問題。如果沒有其他視頻內容,我無法加載元數據。 preload = "metadata"不起作用。我在Win Chrome上測試,不知道它在Safari/FF/IE/Opera上的工作原理。因此我無法快速加載六個或更多視頻剪輯。 Chrome可能會保留只有六個打開的連接在類似的端口/協議/域。如果我加載的視頻超過六個,那麼最後一個視頻無法啓動加載,而前六個視頻完全完成 loading。僅從html5視頻/音頻加載元數據

jsfiddle需要嗎?我可以創造,但我認爲這不是必要的。例如。 HTML:10 html5 <video>每個大約100mb和preload=metadata屬性。 JS(使用jQuery只是爲了清晰):

$('video').on('loadedmetadata',function(){ 
    console.log(this.duration); 
}).each(function(i){ 
    this.load(); 
}); 

然後在Chrome開發工具中打開「網絡」選項卡並重新加載頁面。六個視頻將開始加載並加載全部內容,而其他四個視頻將以(pending)標記等待。起初,在控制檯會出現6條消息。新消息將在完全加載任何第一個視頻後出現。

我嘗試了很多東西,但每個都有所下降。現在我關於在服務器端獲取元數據的事情。 PHP上有沒有解決方案?但JS解決方案會更好。

我也知道使用Youtube,可能Vimeo和一些其他網站的解決方案。這是保持一些子域名(s1.youtube.com,s2.youtube.com等)的視頻。但我無法使用它。我製作網站模板,它有一些要求。

我有很多視頻的視頻庫。玩家必須在第一次視頻播放前顯示持續時間並瞭解寬度/高度。另外,我想從視頻中間的框架中獲取視頻海報。任何停止視頻加載和關閉連接的解決方案都是我所需要的。它解決了獲取元數據的麻煩。

回答

0

如果您想要在Chrome中加載超過6個視頻,則需要使用.webm格式。

注:如果你有一大堆的來源在您的視頻標籤,就像這樣:

<video width="320" height="240" controls autoplay> <source src="vid.webm" type="video/webm"> <source src="vid.mp4" type="video/mp4"> </video>

我認爲鉻會默認mp4而不是webm。你將不得不做一些jQuery的魔術才能使它工作。 Advice on that can be seen here.

+0

爲什麼會這樣? – 2015-03-19 21:08:09

0

的情況,現在要和V42(目前是測試版 - 所以希望將其固定)更糟

現在尊重preload='metadata'但不釋放連接回池中打完6個視頻加載它只是完全卡住!

查看錯誤報告:https://code.google.com/p/chromium/issues/detail?id=468930

+0

剛剛發佈的v42現在有這個問題'在野外'。它已被修正爲希望v43,如在谷歌加納利證實 – 2015-04-16 16:14:04

+0

看起來像錯誤仍然是今天開放。它4歲,拒絕死亡。 preload =「元數據」在第7次網絡請求中停頓。 – Fawntasia 2016-11-29 02:25:07