Comparison of layout engines (HTML5 media)

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

The HTML5 draft specification defines several tags which allow video and audio to be included natively and semantically in HTML markup. This page compares support for aspects of this specification among layout engines.

Explanation of the tables

Engine nomenclature

Rather than the names of web browsers, the names of the underlying engines are used. The browsers that use the various engines are listed below.

Layout engine Release version Preview version Used by
Amaya 11.4.7[1] N/A No longer developed; Amaya
Blink 537.36 source code[note 1] Chromium/Chrome (28+), Opera (15+), Yandex, Liebao and Samsung Browser[citation needed].
EdgeHTML 13.10586 [2] N/A Microsoft Edge, Universal Windows Platform (UWP) JavaScript apps
Gecko 43.0.4 (January 6, 2016; 2 years ago (2016-01-06)[3]) [±]
ESR

38.5.2 (December 22, 2015; 2 years ago (2015-12-22)[4]) [±]

Beta

44.0 Beta 8 (January 12, 2016; 2 years ago (2016-01-12)[5][6]) [±]

Developer Edition

45.0a2 (December 18, 2015; 2 years ago (2015-12-18)[7]) [±] daily release

Nightly

46.0a1 (December 14, 2015; 2 years ago (2015-12-14)[8]) [±] daily release

All Mozilla software, including Firefox; SeaMonkey and Galeon; Camino; K-Meleon; Flock (up to 2.x); Debian IceWeasel; GNU IceCat (formerly GNU IceWeasel); Cyberfox; Icedove, Iceape and Iceowl; Firefox for mobile ("Fennec"). Also used by the Maple platform in 2010 and 2011 Samsung "SmartTV" devices which are based on the build used in Firefox 3.0.[citation needed] Nokia Asha platform is also using Gecko for web apps rendering.
KHTML 4.12.3[9] N/A Konqueror[note 2]
Presto 2.12.388 N/A No longer developed; Opera and Opera Mobile use Blink now; Nintendo DS & DSi Browser; Internet Channel
Tasman (IE 5.2.3 for Mac) N/A No longer developed (aborted in 2003); Internet Explorer 5+ for Mac OS X
Trident 7.0 (IE 11) N/A Internet Explorer and other Internet Explorer shells like Maxthon (Microsoft Windows operating systems only), Windows Phone 8
WebKit 534.20 nightly build[note 3] Tizen (both OS and browser), Safari (both desktop and mobile), Google Chrome (before 28), Maxthon 3, Shiira, iCab 4, OmniWeb 5.5+, Web, Adobe AIR, Midori, Adobe Dreamweaver CS4 and CS5, Android browser, Palm webOS browser, Symbian S60 browser, OWB, Steam, Rekonq, Arora, Flock (version 3+), RockMelt, Dolphin Browser, Sleipnir, Konqueror[note 2]. Used by the LG Smart TV platform to enable web content on TVs.
  1. "chromium / chromium/blink". chromium.googlesource.com. Google. Retrieved 2014-05-27.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  2. 2.0 2.1 In Konqueror, the user can switch the used layout engine.
  3. "WebKit Nightly Builds". webkit.org. Retrieved 2014-05-27.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>


Values

Values indicate the level of support in the most recent version of the layout engine, or (if a version number is given) in the specified version. Version numbers without any other value indicate the version at which the layout engine first fully supported the feature.

Value Meaning
Yes Indicates that the layout engine fully supports this property/element when valid values are used.
No Indicates that the property/element is completely ignored.
Partial Indicates that the property/element is understood, but that not all values are supported. Supported values are implemented correctly.
Incorrect Indicates that the property/element is understood, but that it is not implemented correctly in all cases.
Experimental Indicates that the property/element is understood, but supported under an alternate name. May be incomplete or buggy.
Dropped Indicates that the property/element is no longer supported.
Nightly build Indicates that the property/element is supported to some extent in an experimental/nightly build. Future support is expected.
Depends Indicates that the property/element is supported only on certain platforms, or if certain settings are configured.

Element attributes

Media elements allow some attributes to be set directly in the tag.

Trident Gecko WebKit Presto
<audio> attributes
src 5.0[t 1] 1.9.1 525 2.5
preload 2.0[note 1][g 1] Experimental[note 1]
autoplay 1.9.1 2.5
loop 11.0[g 2]
controls 1.9.1
<video> attributes
src 5.0[t 1] 1.9.1 525 2.5
preload 2.0[note 1][g 1] Experimental[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> attributes
src 5.0[t 1] 1.9.1 525[w 1] 2.5
type
media 15.0[g 4]
<track> attributes
kind 6.0[t 2] 24.0[g 5] Yes[w 2] No
label
src
srclang

DOM attributes

Some attributes related to media elements are exposed in the DOM.

Trident Gecko WebKit Presto[p 1]
Error state
MediaError 5.0 [t 3] 1.9.1  ? 2.5
Network state
src 5.0[t 1] 1.9.1  ? 2.5
currentSrc
networkState
preload 2.0[note 1][g 1] No
buffered 2.0[g 6]
load() 1.9.1 2.5
canPlayType() 533[w 3]
Ready state
readyState 5.0[t 1] 1.9.1  ? 2.5
seeking
Playback state
currentTime 5.0[t 1] 1.9.1  ? 2.5
startTime No
duration 1.9.1
paused
defaultPlaybackRate 20.0[g 7] No
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
controls 5.0[t 1] 1.9.1  ? 2.5
volume
muted

DOM events

Media elements introduce new events to handle conditions which apply only to those elements, such as pausing/resuming.

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 No
canplay 1.9.1
canplaythrough
seeking
seeked
timeupdate
ended
ratechange
durationchange
volumechange

Video format support

This table documents support for video codecs by the <video> element.

Trident Gecko WebKit Presto
Ogg Theora Manual install[note 2] 1.9.1[g 12] Depends[note 3] 2.5
H.264 5.0[t 6] 33.0[10][g 13] Depends (525)[note 3][w 9] Depends[note 4]
WebM VP8 Manual install[note 2] 2.0[g 14][g 15] Depends (534)[w 10] 2.6.30[p 3][p 4][p 5]

Audio format support

This table documents support for audio codecs by the <audio> element.

Trident Gecko WebKit Presto
Ogg Vorbis Manual install[note 2] 1.9.1[g 12] Depends[note 3] 2.5
WAV PCM 525[note 3] 2.0
MP3 5.0[t 7] No[g 16] Depends[note 4]
AAC No
Speex Manual install[note 2] No[g 17] Depends[note 3] No
Opus In IE 12 ?? [g 18] 15.0[g 19] Depends[note 3] No

See also

Notes

  1. 1.0 1.1 1.2 1.3 1.4 Supports preload under the older name autobuffer.
  2. 2.0 2.1 2.2 2.3 Google released a WebM component for Media Foundation to allow the playback of WebM files in IE9 through the standard HTML5 <video> tag.[t 5] Xiph.org distributes OpenCodecs package, which amends Google's VP8 decoder with DirectShow-based codecs for Ogg Theora and Ogg Vorbis. VLC media player comes with "Web plugin" that uses VLC for playing multimedia from <video> and <audio> tags, enabling support for all formats VLC supports.
  3. 3.0 3.1 3.2 3.3 3.4 3.5 WebKit on Mac OS X uses QuickTime, and supports whatever formats that does.[w 4] By default, this includes H.264, MP3, AAC and WAV PCM, but not Ogg Theora or Vorbis. These are supported only if installed as third-party codecs, such as XiphQT. Google Chrome supports Theora, Vorbis, WebM, and MP3.[w 5] Chromium can be compiled to support anything that FFmpeg supports, and may or may not support patented formats such as H.264 and MP3.[w 6] Origyn Web Browser for MorphOS uses also FFmpeg for playing HTML5 media content.[w 7][w 8]
  4. 4.0 4.1 On Linux and FreeBSD, Presto 2.5 uses the system version of the GStreamer library, and is able to play any formats supported by GStreamer (including H.264, MP3, AAC and others, if codecs are installed). On other platforms, it only supports Ogg Theora for video; and Ogg Vorbis and WAVE PCM for sound.[p 2]

References

  1. Amaya Binary Releases, Most recent download link in stable
  2. Change log between EdgeHTML 12.10240 and 13.10586
  3. "Firefox — Notes (43.0.4) — Mozilla". mozilla.org. 2016-01-06. Retrieved 2015-01-06.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  4. "Firefox — Notes (38.5.2) — Mozilla". mozilla.org. 2015-12-22. Retrieved 2015-12-23.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  5. "Firefox — Beta Notes (44.0beta) — Mozilla". 2015-12-17. Retrieved 2015-12-19.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  6. "Mozilla Firefox Web Browser — Download Firefox Beta in your language — Mozilla". Retrieved 2016-01-13.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  7. "Firefox — Aurora Notes (45.0a2) — Mozilla". 2015-12-18. Retrieved 2015-12-19.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  8. "RapidRelease/Calendar - MozillaWiki". Retrieved 2015-12-19.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  9. Download for kdelibs, Most recent download link in stable
  10. via OpenH264

Trident references

  1. 1.0 1.1 1.2 1.3 1.4 1.5 1.6 Internet Explorer Platform Preview Guide for Developers, Microsoft<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  2. "track element - track object (Internet Explorer)". Microsoft. Retrieved 12 July 2013.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  3. MSDN HTMLMediaError Object for Internet Explorer 9, Microsoft<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  4. "video object". Microsoft. Retrieved 12 July 2013.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  5. Jazayeri, Mike (2011-01-14), More about the Chrome HTML Video Codec Change, Google<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  6. McCracken, Harry (2010-03-16), Microsoft Previews the Revamped Internet Explorer 9 Platform, Technologizer<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  7. Branscombe, Mary (2010-03-16), Microsoft previews Internet Explorer 9, TechRadar UK<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>

Gecko references

  1. 1.0 1.1 1.2 Bug 548523 - HTML 5 media attribute 'autobuffer' has been renamed to 'preload', Mozilla<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  2. 2.0 2.1 2.2 Bug 449157 - Implement the looping attributes in media elements, Mozilla<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  3. Bug 449156 - Implement the poster attribute for the <video> element, Mozilla<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  4. Bug 449363 - Support media attribute of <source> elements, Mozilla<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  5. Bug 629350 - Implement the track element, Mozilla<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  6. Bug 462957 - Implement nsIDOMHTMLMediaElement::GetBuffered(), Mozilla<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  7. Bug 495040 - Implement playbackRate, Mozilla<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  8. Bug 462959 - Implement nsIDOMHTMLMediaElement::GetPlayed(), Mozilla<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  9. Bug 462960 - Implement nsIDOMHTMLMediaElement::GetSeekable(), Mozilla<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  10. Using audio and video in Firefox - Media events, Mozilla<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  11. Bug 481082 - Video controls should listen for |stalled| event, Mozilla<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  12. 12.0 12.1 Shepherd, Eric (2010-01-28), Media formats supported by the audio and video elements, Mozilla, retrieved 2009-10-11<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  13. Bug 799318 - [meta] Support H.264/AAC/MP3 video/audio playback on desktop Firefox, Mozilla<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  14. Bug 566243 - Merge mozilla-webmedia repository to mozilla-central, Mozilla<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  15. Firefox WebM Builds, Mozilla<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  16. Bug 562730 - Reproducing Mp3 files with html5, Mozilla<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  17. Bug 476752 - support the speex voice codec in <audio> and <video> elements, Mozilla<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  18. Bringing Interoperable Real-Time Communications to the Web, Skype<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  19. Bug 674225 - support the Opus voice codec in <audio> and <video> elements, Mozilla<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>

WebKit references

  1. Pfeiffer, Silvia (2009-12-13), [whatwg] Quality Values for Media Source Elements<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  2. April 2012 HTML5 Media Element & WebAudio – WebKit<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  3. Bug 24364 - Add HTMLMediaElement canPlayType method, WebKit<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  4. Koivisto, Antti (2007-11-12), HTML5 Media Support, WebKit<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  5. Look for "GOOGLE_CHROME_BUILD"<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  6. DiBona, Chris (2009-06-01), [whatwg] Google's use of FFmpeg in Chromium and Chrome Was: Re: MPEG-1 subset proposal for HTML5 video codec, Google<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  7. Origyn Web Browser for MorphOS, Fabian Coeurjoly, retrieved 2010-01-04<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  8. Holwerda, Thom (2010-03-08), Origyn Web Browser 1.7 Supports HTML5 Media, More, OSNews, retrieved 2010-03-08<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  9. HTML Video Codec Support in Chrome, retrieved 2010-01-22<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  10. Bankoski, Jim (2010-05-19), WebM and VP8 land in Chromium, Google<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>

Presto references

  1. Pieters, Simon (2010-03-10), Everything you need to know about HTML5 video and audio, Opera<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  2. Jägenstedt, Philip (2009-12-31), (re-)Introducing <video>, Opera, archived from the original on 2010-01-04<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  3. Lie, Håkon Wium (2010-05-19), Welcome, WebM <video>!, Opera<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  4. Mills, Chris (2010-05-19), Opera supports the WebM video format, Opera<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  5. Kleinhout, Huib (2010-07-01), Opera 10.60 goes final, Opera<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>

External links