2017-02-19 79 views
1

我正在努力添加將視頻上傳到我正在開發的CMS的功能,並且我對上傳視頻的「最佳做法」有些困惑。視頻將使用Video.js庫進行播放。HTML5視頻格式最佳做法

我對HTML5視頻的理解是有三種可能的格式:MP4,OGG和WEBM。 It would appear MP4支持所有瀏覽器,而其他兩個支持較少。

  • 如果我想允許用戶上傳任何類型的視頻,那麼我需要將他們上傳的任何內容轉換爲適用於HTML5的格式嗎?或者有什麼不同的方法可以解決這個問題?
  • 如果到處都支持MP4,那麼包括其他兩種格式又有什麼意義呢?如果我在用戶上傳後轉換視頻,我應該將視頻轉換爲全部三種版本嗎?
  • 我假設當您將視頻上傳到YouTube時,他們會將視頻轉換爲正確的格式?或者他們還有什麼能夠播放任何視頻格式?
  • 是否有任何庫或技術可以快速轉換上傳的視頻?
+0

您可以使用'ffmpeg'在服務器上將媒體轉換爲不同的格式,並且在'html'處使用''元素作爲'

+0

是的,我正在查看https://github.com/AydinAdn/MediaToolkit來轉換視頻 - 但我應該將視頻轉換爲所有三種格式,還是讓MP4足夠? – William

+0

請參閱[''](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source) – guest271314

回答

5

MP4(詳細h.264壓縮和MP4容器)擁有一傢俬人公司MPEG LA的許可/權利。這就是爲什麼有些瀏覽器希望避免依賴它。儘管瀏覽器不太可能放棄其現有的支持,但許可證問題阻止開發人員認爲瀏覽器對MP4/h.264的支持將會持續下去。

Google在2011年宣佈了來自Chromium項目的it would remove h.264 support,但Chrome仍支持它。

Google的VP8和VP9(以及WEBM容器)擁有免費的開放許可。但由於競爭,並非所有其他瀏覽器都願意爲VP8-9/WEBM提供支持。這可能會及時改變/改善。例如,沒有任何Internet Explorer版本具有WEBM支持,Edge does。顯然,只在主要瀏覽器中應用Safari,缺乏WEBM支持。

MPEG LA在此期間不斷宣佈it will not charge for their formats use on the internet,這實際上並沒有使h.264/MP4格式完全免費。

因此,這些使網站提供必要的視頻內容來仔細考慮他們的瀏覽器/格式支持。我相信至少應該創建每個視頻的MP4和WEBM副本,即使MP4內容的部分內容可能在幾年內被安全清除。

上傳後的轉換幾乎是必須的。視頻編碼器和包裝器有很多不同的參數,如果你接受上傳的視頻,你最終可能會有一個叢林。

Youtube對視頻進行了重新編碼,並且還有一些evidences,他們至少使用ffmpeg來完成他們的一些任務。

+0

謝謝!這正是我需要的信息類型 -​​ 我將確保每個上傳文件的MP4和WEBM副本至少包含在HTML視頻中 - – William

+0

歡迎您。我進行了一些語法修正,並在答案中增加了更多細節,而不更改其核心含義,使其對每個人都更有幫助。 –

+0

@BulentVural怎麼樣HLS?這是支持它的瀏覽器更好嗎?據我瞭解,它將允許瀏覽器流式傳輸文件,而不是下載整個文件? – geoboy