?
This document uses PHP Chinese website manual Release
<audio>
和 <video>
元素為不帶插件播放音頻和視頻提供支持。媒體文件的格式由包含一個(gè)或多個(gè)數(shù)據(jù)流的容器組成, 它使用稱(chēng)為編碼解碼器的壓縮格式進(jìn)行編碼。容器的文件擴(kuò)展名是可識(shí)別的。容器中的流有多種類(lèi)型, 其中可以包括視頻、音頻、數(shù)據(jù)或字幕。單個(gè)容器 (即媒體文件) 可以容納同一類(lèi)型的多個(gè)流。在音頻和視頻流中是編解碼器。編碼解碼器, 簡(jiǎn)稱(chēng)為 "編碼解碼器", 是一種用于壓縮文件中的數(shù)據(jù)的算法。每個(gè)容器類(lèi)型只有它所支持的特定的編解碼器。
理解為什么 web 需要不同的媒體格式是很重要的。由于各種原因, 主要超出了本文的范圍, 不同的瀏覽器支持不同的媒體格式。此外, 網(wǎng)絡(luò)上的媒體格式在許多國(guó)家, 包括美國(guó)和歐盟國(guó)家, 都受到專(zhuān)利法的嚴(yán)重影響。(本文中關(guān)于專(zhuān)利的說(shuō)明是按目前的情況提供的, 沒(méi)有任何保證。本文討論與 web 最相關(guān)的格式, 包括在移動(dòng)和桌面上的瀏覽器中的支持。
下面簡(jiǎn)要回顧了如何在 HTML 中引用媒體元素。有關(guān)詳細(xì)信息, 請(qǐng)參閱每個(gè)元素的文章。
HTML5 支持多個(gè)媒體元素。<video> 和 <audio> 元素可單獨(dú)使用, 也可以與 <source> 元素合并。一個(gè)簡(jiǎn)短的例子說(shuō)明。雖然 <video> 和 <audio> 元素都包含 src 屬性, 但此示例使用 <source> 元素以多種格式提供視頻文件, 從而允許每個(gè)瀏覽器選擇它支持的元素。
<video controls> <source src="somevideo.webm" type="video/webm"> <source src="somevideo.mp4" type="video/mp4"> I'm sorry; your browser doesn't support HTML5 video in WebM with VP8/VP9 or MP4 with H.264.</video>
文件格式
下面列出的是 HTML 媒體元素支持的文件格式的數(shù)字 (盡管不是全部)。要了解哪些瀏覽器支持哪些格式, 請(qǐng)參閱本頁(yè)底部的瀏覽器兼容性部分。
WebM 格式基于 Matroska 容器格式的受限版本。它總是使用 VP8 或 VP9 視頻編解碼器和 Vorbis 或天音編解碼器。
WebM格式,特別是VP8視頻編解碼器,被指控的專(zhuān)利侵權(quán)由一組公司回答的一個(gè)電話(huà)由mpegla為形成一個(gè)專(zhuān)利水池,但mpegla同意授予那些專(zhuān)利對(duì)Google在"永久, 可轉(zhuǎn)讓, 免版稅許可證 "。這意味著, WebM 格式的所有已知專(zhuān)利都是免費(fèi)許可的。
Gecko將下列MIME類(lèi)型識(shí)別為WebM文件:
視頻/webmA WebM 媒體文件, 包含視頻 (也可能是音頻). 音頻/webmA WebM 媒體文件只包含音頻。
Ogg容器格式使用Theora視頻編解碼器和 Vorbis音頻編解碼器。在的桌面和移動(dòng)端的Gecko(Firefox),Chrome和Opera;Safari(非IOS)可以通過(guò)添加擴(kuò)展支持;但是不支持Internet Explorer
WebM在可選的情況下是優(yōu)選項(xiàng);因?yàn)樗芴峁└叩膲嚎s比,并且被更多的瀏覽器所支持;而Ogg容器格式主要用于支持低版本的瀏覽器(比如: Firefox 3.5/3.6就不支持WebM,但是支持Ogg)
Ogg的授權(quán)情況和WebM類(lèi)似
Gecko提供下面3種Ogg文件格式的MIME type:
audio/ogg
一個(gè)只包含音頻的Ogg文件
video/ogg
一個(gè)包含視頻或音頻的Ogg文件
application/ogg
一個(gè)不指定內(nèi)容的Ogg文件,當(dāng)你不知道內(nèi)容的時(shí)候可以選擇
Ogg容器可以通過(guò)使用Opus codec包含音頻編解碼器;用來(lái)支持Gecko 15.0 (Firefox 15.0 / Thunderbird 15.0 / SeaMonkey 2.12) 或更新的版本
Ogg容器可以通過(guò)使用FLAC codec包含音頻編解碼器;用來(lái)支持Gecko 51.0 (Firefox 51.0 / Thunderbird 51.0 / SeaMonkey 2.48) 或更新的版本, 但只適用于桌面瀏覽器
MP4 的容器格式與 H. 264 視頻編解碼器和 AAC 音頻編解碼器是本地支持的桌面/移動(dòng)互聯(lián)網(wǎng)瀏覽器, Safari 和 Chrome, 但鉻和歌劇不支持的格式。IE 和 Chrome 也支持 MP4 容器中的 MP3 音頻編解碼器, 但是 Safari 沒(méi)有?;鸷?火狐操作系統(tǒng)在某些情況下支持這種格式, 但只有當(dāng)?shù)谌浇獯a器可用時(shí), 設(shè)備硬件才能處理用于編碼 MP4 的配置文件。
高端編碼的MP4不能在低端手機(jī)等低端硬件上運(yùn)行。
MPEG 媒體格式被專(zhuān)利所覆蓋, 而這些都不是免費(fèi)許可的。一些必要的許可證可以從 MPEG 購(gòu)買(mǎi)。因?yàn)?H. 264 當(dāng)前不是皇族自由格式, 它不適合開(kāi)放網(wǎng)絡(luò)平臺(tái), 根據(jù) Mozilla [1, 2], Google [1, 2] 并且歌劇。然而, 由于沒(méi)有版稅的格式是不支持的互聯(lián)網(wǎng)瀏覽器和 Safari, Mozilla 決定支持的格式無(wú)論如何, 和谷歌從來(lái)沒(méi)有兌現(xiàn)他們的承諾, 以消除對(duì)它的支持, 在 Chrome。
從Firefox 51開(kāi)始,你就可以使用FLAC編解碼器播放MP4了,不管你有沒(méi)有安裝 MediaSource Extensions和DRM 擴(kuò)展支持。
MP3 audio 編碼對(duì)應(yīng)瀏覽器<audio>的支持。其中Firefox/Firefox for Android/Firefox OS需要操作系統(tǒng)本身提供了MP3的解碼器;而IE,Chrome,Safari則原生支持
WAVE容器使用PCM音頻編解碼器;桌面和移動(dòng)Gecko (Firefox) a、 Safari都支持,WAVE容器中的文件后綴為 ".wav"。
請(qǐng)參閱WAVE編解碼器注冊(cè)表的RFC 2361。
Gecko提供下面4種WAVE文件格式的MIME type:
audio/wave
(首選;在Chrome中不起作用)
audio/wav
audio/x-wav
audio/x-pn-wav
FLAC容器格式使用 FLAC 音頻編解碼器 (FLAC codec);桌面端受到Gecko Firefox 51.0 (Firefox 51.0 / Thunderbird 51.0 / SeaMonkey 2.48)的支持,文件后綴為 “.flac”
Gecko提供下面幾種FLAC文件格式的MIME type:
audio/flac
(優(yōu)選)
audio/x-flac
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 3.0 | 3.5 (1.9.1) | 9.0 | 10.50 | 3.1 |
<audio>: PCM in WAVE | (Yes) | 3.5 (1.9.1) | No support | 10.50 | 3.1 |
<audio>: Vorbis in WebM | (Yes) | 4.0 (2.0) | No support | 10.60 | 3.11 |
<audio>: Streaming Vorbis/Opus in WebM via MSE | ? | 36.0 (36.0)2 | ? | ? | ? |
<audio>: Vorbis in Ogg | (Yes) | 3.5 (1.9.1) | No support | 10.50 | No support |
<audio>: MP3 | (Yes)4 | (Yes)5 | 9.0 | (Yes) | 3.1 |
<audio>: MP3 in MP4 | ? | ? | ? | ? | (Yes) |
<audio>: AAC in MP4 | (Yes)6 | (Yes)7 | 9.0 | (Yes) | 3.1 |
<audio>: Opus in Ogg | 27.0 | 15.0 (15.0) | ? | ? | ? |
<audio>: FLAC | 56.0 | 51 (51) | No support | No support | No support |
<audio>: FLAC in Ogg | 56.0 | 51 (51) | No support | No support | No support |
<video>: VP8 and Vorbis in WebM | 6.0 | 4.0 (2.0) | 9.08 | 10.60 | 3.19 |
<video>: VP9 and Opus in WebM | 29.0 | 28.0 (28.0)36 | ? | (Yes) | ? |
<video>: Streaming WebM via MSE | ? | 42.0 (42.0)35 | ? | ? | ? |
<video>: Theora and Vorbis in Ogg | (Yes) | 3.5 (1.9.1) | No support | 10.50 | No support |
<video>: H.264 and MP3 in MP4 | (Yes)3 | (Yes)10 | 9.0 | (Yes) | (Yes) |
<video>: H.264 and AAC in MP4 | (Yes)4 | (Yes)11 | 9.0 | (Yes) | 3.1 |
<video>: FLAC in MP4 | ? | 51 (51) | ? | ? | ? |
any other format | No support | No support | No support | No support | 3.112 |
Feature | Android Webview | Chrome for Android | Firefox Mobile (Gecko) | Firefox OS (Gecko) | IE Mobile | Opera Mobile | Opera Mini | Safari Mobile |
---|---|---|---|---|---|---|---|---|
Basic support | (Yes) | 29 | 24.0 | 1.0.1 | 10.0 | 11.0 | (Yes)13 | 3.2 |
<audio>: PCM in WAVE | ? | ? | 24.0 | 1.0.1 | No support | No support | (Yes)14 | 3.2 |
<audio>: Vorbis in WebM | ? | ? | 24.0 | 1.0.1 | No support | 11.0 | (Yes)15 | No support |
<audio>: Streaming Vorbis in WebM via MSE | ? | ? | ? | ? | ? | ? | ? | ? |
<audio>: Vorbis in Ogg | ? | ? | 24.0 | 1.0.1 | No support | 11.0 | (Yes)16 | No support |
<audio>: MP3 | ? | ? | (Yes)17 | (Yes)18 | 10.0 | ? | (Yes)19 | 3.2 |
<audio>: MP3 in MP4 | ? | ? | ? | ? | ? | ? | ? | (Yes) |
<audio>: AAC in MP4 | ? | ? | (Yes)20 | (Yes)21 | 10.0 | ? | (Yes)22 | (Yes) |
<audio>: Opus in Ogg | No support | No support | 24.0 | No support | No support | No support | (Yes)23 | No support |
<video>: VP8 and Vorbis in WebM | (Yes) | 29 | 24.0 | 1.0.1 | No support | 16.0 | (Yes)24 | No support |
<video>: VP9 and Opus in WebM | ? | ? | ? | ? | ? | ? | ? | ? |
<video>: Streaming WebM via MSE | ? | ? | 42.0 (42.0) | ? | ? | ? | ? | ? |
<video>: Theora and Vorbis in Ogg | No support | No support | 24.0 | 1.0.1 | No support | No support | (Yes)25 | No support |
<video>: H.264 and MP3 in MP4 | (Yes)26 | 29 | 24.033 | (Yes)27 | 10.0 | 16.028 | (Yes)29 | (Yes) |
<video>: H.264 and AAC in MP4 | (Yes)30 | 29 | 24.034 | (Yes)31 | 10.0 | 16.028 | (Yes)32 | 3.2 |
<video>: FLAC in MP4 | ? | ? | 51.0 (51) | ? | ? | ? | ? | ? |
any other format | ? | ? | ? | ? | ? | ? | ? | ? |