排版引擎比較 (HTML5媒體)
HTML5規範定義了幾個標籤,允許在語義上原生包含視頻和音頻。下表比較了排版引擎之間對這一規範各個方面的支持。
表格說明
引擎命名
這裡使用後端的引擎名而不是瀏覽器的名稱。使用各瀏覽器引擎的瀏覽器如下表所示。
- ^ chromium / chromium/blink. chromium.googlesource.com. Google. [2014-05-27].
- ^ 2.0 2.1 在Konqueror中,用戶可以切換排版引擎。
- ^ WebKit Nightly Builds. webkit.org. [2014-05-27].
取值
以下各格的顏色表示該排版引擎的最新版本或指定版本(如果給出版本號的話)對該功能的支援程度。沒有取值的版本號表示該排版引擎首次完全支援該功能。
取值 | 含義 |
---|---|
是 | 表示該排版引擎完全地支援該功能或元素。 |
否 | 表示該功能或元素尚未有支援。 |
部份 | 表示該功能或元素有實作進展,但並不支援所有取值,對於已支援的取值,該實作是正確的。 |
不正確 | 表示該功能或元素有實作進展,但是實作並非在所有情況都是正確無誤的。 |
實驗性質 | 表示該功能或元素有實作進展,但是使用另外的屬性或元素名(瀏覽器前輟)。多半是不完全實作或是有過多的漏洞。 |
拋棄 | 表示該屬性/元素不再受到支持。 |
每日構建 | 表示該功能或元素在未釋出的版本有某種程度的支援。預期將有完整支援。 |
依情況 | 表示該屬性/元素僅在某些平台支持或設定在某些配置後支持。 |
元素屬性
媒體元素允許在標籤中直接設置某些屬性
Trident | Gecko | WebKit | Presto | |
---|---|---|---|---|
<audio> 屬性
| ||||
src
|
5.0[t 1] | 1.9.1 | 525 | 2.5 |
preload
|
2.0[note 1][g 1] | 實驗性質[note 1] | ||
autoplay
|
1.9.1 | 2.5 | ||
loop
|
11.0[g 2] | |||
controls
|
1.9.1 | |||
<video> 屬性
| ||||
src
|
5.0[t 1] | 1.9.1 | 525 | 2.5 |
preload
|
2.0[note 1][g 1] | 實驗性質[note 1] | ||
autoplay
|
1.9.1 | 2.5 | ||
loop
|
11.0[g 2] | |||
controls
|
1.9.1 | |||
poster
|
1.9.2[g 3] | |||
width
|
1.9.1 | |||
height
| ||||
<source> 屬性
| ||||
src
|
5.0[t 1] | 1.9.1 | 525[w 1] | 2.5 |
type
| ||||
media
|
15.0[g 4] | |||
<track> 屬性
| ||||
kind
|
6.0[t 2] | 24.0[g 5] | 是[w 2] | 否 |
label
| ||||
src
| ||||
srclang
|
DOM屬性
與媒體元素有關的一些屬性包含在DOM中。
Trident | Gecko | WebKit | Presto[p 1] | |
---|---|---|---|---|
錯誤狀態 | ||||
MediaError
|
5.0 [t 3] | 1.9.1 | ? | 2.5 |
網絡狀態 | ||||
src
|
5.0[t 1] | 1.9.1 | ? | 2.5 |
currentSrc
| ||||
networkState
| ||||
preload
|
2.0[note 1][g 1] | 否 | ||
buffered
|
2.0[g 6] | |||
load()
|
1.9.1 | 2.5 | ||
canPlayType()
|
533[w 3] | |||
就緒狀態 | ||||
readyState
|
5.0[t 1] | 1.9.1 | ? | 2.5 |
seeking
| ||||
回放狀態 | ||||
currentTime
|
5.0[t 1] | 1.9.1 | ? | 2.5 |
startTime
|
否 | |||
duration
|
1.9.1 | |||
paused
| ||||
defaultPlaybackRate
|
20.0[g 7] | 否 | ||
playbackRate
| ||||
played
|
15.0[g 8] | |||
seekable
|
8.0[g 9] | |||
ended
|
1.9.1 | 2.5 | ||
autoplay
| ||||
loop
|
11.0[g 2] | |||
play()
|
1.9.1 | |||
pause()
| ||||
控制 | ||||
controls
|
5.0[t 1] | 1.9.1 | ? | 2.5 |
volume
| ||||
muted
|
DOM事件
媒體元素引入新的事件處理僅適用於那些元素的情況,如暫停/恢復。
Trident | Gecko[g 10] | WebKit | Presto | |
---|---|---|---|---|
loadstart
|
5.0[t 4] | 1.9.1 | ? | ? |
progress
| ||||
suspend
|
1.9.2 | |||
abort
|
1.9.1 | |||
error
| ||||
emptied
| ||||
stalled
|
8.0[g 11] | |||
play
|
1.9.1 | |||
pause
| ||||
loadedmetadata
| ||||
loadeddata
| ||||
waiting
| ||||
playing
|
否 | |||
canplay
|
1.9.1 | |||
canplaythrough
| ||||
seeking
| ||||
seeked
| ||||
timeupdate
| ||||
ended
| ||||
ratechange
| ||||
durationchange
| ||||
volumechange
|
視頻格式支持
Trident | Gecko | WebKit | Presto | |
---|---|---|---|---|
Ogg Theora | 手動安裝[note 2] | 1.9.1[g 12] | 依情況[note 3] | 2.5 |
H.264 | 5.0[t 6] | 33.0[8][g 13] | 依賴(525)[note 3][w 9] | 依情況[note 4] |
WebM VP8 | 手動安裝[note 2] | 2.0[g 14][g 15] | 依賴(534)[w 10] | 2.6.30[p 3][p 4][p 5] |
音頻格式支持
Trident | Gecko | WebKit | Presto | |
---|---|---|---|---|
Ogg Vorbis | 手動安裝[note 2] | 1.9.1[g 12] | 依情況[note 3] | 2.5 |
WAV PCM | 525[note 3] | 2.0 | ||
MP3 | 5.0[t 7] | 否[g 16] | 依情況[note 4] | |
AAC | 否 | |||
Speex | 手動安裝[note 2] | 否[g 17] | 依情況[note 3] | 否 |
Opus | IE 12 ?? [g 18] | 15.0[g 19] | 依情況[note 3] | 否 |
注釋
- ^ 1.0 1.1 1.2 1.3 1.4
preload
以舊名字autobuffer
支持。 - ^ 2.0 2.1 2.2 2.3 Google為多媒體應用庫發布了一個WebM組件以允許WebM文件在IE9中通過標準HTML5<video>標籤播放[t 5]。Xiph.org分發了OpenCodecs包,其修正了Google的基於DirectShow的VP8解碼器。VLC多媒體播放器附帶有「網頁插件」,從而使VLC從
<video>
與<audio>
標籤中播放多媒體,讓其支持所有VLC支持的格式。 - ^ 3.0 3.1 3.2 3.3 3.4 3.5 在Mac OS X下WebKit支持QuickTime[w 4],默認情況下,其支持H.264、MP3、AAC和WAV PCM格式,如果安裝了XiphQT等第三方編解碼器則會額外支持Ogg Theora與Vorbis格式。Google Chrome支持Theora、Vorbis、WebM與MP3格式[w 5]。Chromium可以被編譯以支持任意FFmpeg支持的格式,並可以選擇是否支持諸如H.264和MP3的專利格式[w 6]。MorphOS上的Origyn網頁瀏覽器也採用FFmpeg播放HTML5媒體內容。[w 7][w 8]
- ^ 4.0 4.1 在Linux與FreeBSD上,Presto 2.5使用GStreamer庫的系統版本,並且可以播放任何GStreamer支持的格式(包括H.264、MP3、AAC等, 前提是已安裝解碼器) 。在其他平台上,它只支持Ogg Theora格式的視頻和Ogg Vorbis與WAVE PCM的音頻。[p 2]
參考
- ^ Amaya Binary Releases, Most recent download link in stable
- ^ Change log between EdgeHTML 12.10240 and 13.10586
- ^ Firefox 77.0.1, See All New Features, Updates and Fixes. mozilla.org. Mozilla基金會. 2020-06-03.
- ^ Firefox ESR 68.9.0, See All New Features, Updates and Fixes. mozilla.org. Mozilla基金會. 2020-06-02.
- ^ Index of /pub/firefox/releases/134.0b9/. 2024年12月11日 [2024年12月12日] (英語).
- ^ Firefox Nightly 135.0a1, See All New Features, Updates and Fixes. 2024年11月25日 [2024年11月26日] (英語).
- ^ Download for kdelibs, Most recent download link in stable
- ^ via OpenH264
Trident參考
- ^ 1.0 1.1 1.2 1.3 1.4 1.5 1.6 Internet Explorer Platform Preview Guide for Developers, Microsoft, [2016-02-06], (原始內容存檔於2014-03-12)
- ^ track element - track object (Internet Explorer). Microsoft. [12 July 2013]. (原始內容存檔於2013-07-15).
- ^ MSDN HTMLMediaError Object for Internet Explorer 9, Microsoft, [2016-02-06], (原始內容存檔於2017-05-28)
- ^ video object. Microsoft. [12 July 2013]. (原始內容存檔於2016-03-14).
- ^ Jazayeri, Mike, More about the Chrome HTML Video Codec Change, Google, 2011-01-14 [2016-02-06], (原始內容存檔於2012-10-03)
- ^ McCracken, Harry, Microsoft Previews the Revamped Internet Explorer 9 Platform, Technologizer, 2010-03-16 [2016-02-06], (原始內容存檔於2021-02-28)
- ^ Branscombe, Mary, Microsoft previews Internet Explorer 9, TechRadar UK, 2010-03-16, (原始內容存檔於2010-03-22)
Gecko參考
- ^ 1.0 1.1 1.2 Bug 548523 - HTML 5 media attribute 'autobuffer' has been renamed to 'preload', Mozilla, [2016-02-06], (原始內容存檔於2021-03-08)
- ^ 2.0 2.1 2.2 Bug 449157 - Implement the looping attributes in media elements, Mozilla, [2016-02-06], (原始內容存檔於2021-03-08)
- ^ Bug 449156 - Implement the poster attribute for the <video> element, Mozilla, [2016-02-06], (原始內容存檔於2021-01-24)
- ^ Bug 449363 - Support media attribute of <source> elements, Mozilla, [2016-02-06], (原始內容存檔於2021-03-08)
- ^ Bug 629350 - Implement the track element, Mozilla, [2016-02-06], (原始內容存檔於2019-04-02)
- ^ Bug 462957 - Implement nsIDOMHTMLMediaElement::GetBuffered(), Mozilla, [2016-02-06], (原始內容存檔於2021-03-07)
- ^ Bug 495040 - Implement playbackRate, Mozilla, [2016-02-06], (原始內容存檔於2021-03-08)
- ^ Bug 462959 - Implement nsIDOMHTMLMediaElement::GetPlayed(), Mozilla, [2016-02-06], (原始內容存檔於2021-03-08)
- ^ Bug 462960 - Implement nsIDOMHTMLMediaElement::GetSeekable(), Mozilla, [2016-02-06], (原始內容存檔於2021-03-07)
- ^ Using audio and video in Firefox - Media events, Mozilla, [2016-02-06], (原始內容存檔於2012-05-08)
- ^ Bug 481082 - Video controls should listen for |stalled| event, Mozilla, [2016-02-06], (原始內容存檔於2021-03-08)
- ^ 12.0 12.1 Shepherd, Eric, Media formats supported by the audio and video elements, Mozilla, 2010-01-28 [2009-10-11], (原始內容存檔於2012年5月4日)
- ^ Bug 799318 - [meta] Support H.264/AAC/MP3 video/audio playback on desktop Firefox, Mozilla, [2016-02-06], (原始內容存檔於2021-02-24)
- ^ Bug 566243 - Merge mozilla-webmedia repository to mozilla-central, Mozilla, [2016-02-06], (原始內容存檔於2021-02-24)
- ^ Firefox WebM Builds, Mozilla, [2016-02-06], (原始內容存檔於2010-06-08)
- ^ Bug 562730 - Reproducing Mp3 files with html5, Mozilla, [2016-02-06], (原始內容存檔於2021-03-07)
- ^ Bug 476752 - support the speex voice codec in <audio> and <video> elements, Mozilla, [2016-02-06], (原始內容存檔於2021-03-08)
- ^ Bringing Interoperable Real-Time Communications to the Web, Skype, [2016-02-06], (原始內容存檔於2016-08-09)
- ^ Bug 674225 - support the Opus voice codec in <audio> and <video> elements, Mozilla, [2016-02-06], (原始內容存檔於2020-11-11)
WebKit參考
- ^ Pfeiffer, Silvia, [whatwg] Quality Values for Media Source Elements, 2009-12-13, (原始內容存檔於2011-07-19)
- ^ April 2012 HTML5 Media Element & WebAudio – WebKit, [2016-02-06], (原始內容存檔於2021-03-08)
- ^ Bug 24364 - Add HTMLMediaElement canPlayType method, WebKit, [2016-02-06], (原始內容存檔於2021-03-08)
- ^ Koivisto, Antti, HTML5 Media Support, WebKit, 2007-11-12 [2016-02-06], (原始內容存檔於2021-09-04)
- ^ Look for "GOOGLE_CHROME_BUILD", [2016-02-06], (原始內容存檔於2021-02-25)
- ^ DiBona, Chris, [whatwg] Google's use of FFmpeg in Chromium and Chrome Was: Re: MPEG-1 subset proposal for HTML5 video codec, Google, 2009-06-01, (原始內容存檔於2011-07-19)
- ^ Origyn Web Browser for MorphOS, Fabian Coeurjoly, [2010-01-04], (原始內容存檔於2010-03-17)
- ^ Holwerda, Thom, Origyn Web Browser 1.7 Supports HTML5 Media, More, OSNews, 2010-03-08 [2010-03-08], (原始內容存檔於2010-03-12)
- ^ HTML Video Codec Support in Chrome, [2010-01-22], (原始內容存檔於2011-06-21)
- ^ Bankoski, Jim, WebM and VP8 land in Chromium, Google, 2010-05-19 [2016-02-06], (原始內容存檔於2010-05-21)
Presto參考
- ^ Pieters, Simon, Everything you need to know about HTML5 video and audio, Opera, 2010-03-10 [2016-02-06], (原始內容存檔於2014-03-29)
- ^ Jägenstedt, Philip, (re-)Introducing <video>, Opera, 2009-12-31, (原始內容存檔於2010-01-04)
- ^ Lie, Håkon Wium, Welcome, WebM <video>!, Opera, 2010-05-19, (原始內容存檔於2011-03-21)
- ^ Mills, Chris, Opera supports the WebM video format, Opera, 2010-05-19 [2016-02-06], (原始內容存檔於2011-04-05)
- ^ Kleinhout, Huib, Opera 10.60 goes final, Opera, 2010-07-01, (原始內容存檔於2010-07-02)