2015-05-14 137 views
3

我想知道的視頻編解碼器和爲主,使用的音頻編解碼器,因爲,例如,Firefox支持MP4視頻,但在其Windows版本,如果音頻與「sowt」的聲音編碼編碼的HTML5視頻不行。在這種情況下,我可以提供一個WEBM源,但我必須先知道MP4源是否有問題。如何從JavaScript獲取HTML5視頻的編解碼器信息?

我發現this但它不是在其他瀏覽器尚未實現的IE11財產。

您認爲如何?這可能嗎?

預先感謝您。不通過媒體元素提供

回答

3

詳細低級別的編解碼器信息。您可以測試瀏覽器可以播放使用canPlayType() method與MIME類型/編解碼器參數某個文件,但這是不會給有關特定文件的具體細節一般查詢,瀏覽器只(潛在)的能力。

您參考audioTracks屬性(也就是supported in Safari)在瀏覽器已經已經解碼了一個文件,即列出了可用的音軌。能夠閱讀和處理。軌道數據更多的是「語義」描述類型(軌道類型(主要,翻譯,..),語言等),而不是關於用於原始數據的編碼的任何內容。

檢測此低級別信息的唯一方法是使用XMLHttpRequest(附帶CORS要求)或FileReader作爲字節緩衝區(ArrayBuffer)加載視頻文件(或其一部分)並手動解析它。可行,但它提供了許多陷阱。

通常,當瀏覽器跳過的首選,並使用二次,第三等的選擇,這意味着瀏覽器無法播放特定的文件,這意味着它確實有該文件的一個問題,但對於這個瀏覽器。

最好的方法是選擇適用於大多數瀏覽器的一種或多種組合的編解碼器,並始終確保視頻直接呈現爲其中一種格式,或者至少將其轉換爲這種格式。

+0

謝謝你的信息。我的問題是,有時我的公司不編碼視頻,客戶做;我們總是可以告訴客戶他們做錯了,但更容易選擇其他來源,如webm。我希望我們能夠自動化這個過程。 – davidgnin