HTML5 movie

HTML5 movie

The HTML5 specification introduced the movie element for the purpose of playing movies, [1] partially substituting the object element. HTML5 movie is intended by its creators to become the fresh standard way to showcase movie on the web, instead of the previous de facto standard of using the proprietary Adobe Flash plugin, however early adoption was hampered by lack of agreement as to which movie coding formats and audio coding formats should be supported in web browsers.

Contents

The <movie> element was proposed by Opera Software in February 2007. [Two] Opera also released a preview build that was showcased the same day, [Trio] [Four] and a manifesto that called for movie to become a first-class citizen of the web. [Five]

The following HTML5 code fragment will embed a WebM movie into a web page.

The "controls" attribute enables the browser’s own user interface for controlling playback. Alternatively, playback can be managed with JavaScript, which the web designer can use to create a custom-built user interface. The optional "poster" attribute specifies an pic to showcase in the movie’s place before playback is began. Its purpose is to be representative of the movie.

Numerous sources Edit

Movie format support varies among browsers (see below), so a web page can provide movie in numerous formats. For other features, browser sniffing is used sometimes, which may be error-prone: any web developer’s skill of browsers will inevitably be incomplete or not up-to-date. The browser in question "knows best" what formats it can use. The "movie" element supports fallback through specification of numerous sources. Using any number of <source> elements, as shown below, the browser will choose automatically which file to download. Alternatively, the JavaScript canPlayType() function can be used to achieve the same. The "type" attribute specifies the MIME type and possibly a list of codecs, which helps the browser to determine whether it can decode the file. Even with only one choice, such hints may be necessary to a browser for querying its multimedia framework for third party codecs.

The HTML5 specification does not specify which movie and audio formats browsers should support. User agents are free to support any movie formats they feel are suitable, but content authors cannot assume that any movie will be accessible by all conforming user agents, since user agents have no minimal set of movie and audio formats to support.

The HTML5 Working Group considered it desirable to specify at least one movie format which all user agents (browsers) should support. The ideal format in this regard would:

  • Have good compression, good picture quality, and low decode processor use.
  • Be royalty-free.
  • In addition to software decoders, a hardware movie decoder should exist for the format, as many embedded processors do not have the spectacle to decode movie.

Originally, Ogg Theora was the recommended standard movie format in HTML5, because it was not affected by any known patents. But on December Ten, 2007, the HTML5 specification was updated, [6] substituting the reference to concrete formats:

User agents should support Theora movie and Vorbis audio, as well as the Ogg container format.

with a placeholder: [7]

It would be helpful for interoperability if all browsers could support the same codecs. However, there are no known codecs that please all the current players: we need a codec that is known to not require per-unit or per-distributor licensing, that is compatible with the open source development model, that is of sufficient quality as to be usable, and that is not an extra submarine patent risk for large companies. This is an ongoing issue and this section will be updated once more information is available. [8]

The result has been the polarisation of HTML5 movie inbetween industry-standard, ISO-defined but patented formats, and free, open formats.

Free formats Edit

Albeit Theora is not affected by known non-free patents, Apple [9] has voiced concern about unknown patents that might affect it, whose owners might be waiting for a corporation with extensive financial resources to use the format before suing. [Ten] [11] Formats like H.264 might also be subject to unknown patents in principle, but they have been deployed much more widely and so it is presumed that any patent-holders would have already made themselves known. Apple has also opposed requiring Ogg format support in the HTML standard (even as a "should" requirement) on the grounds that some devices might support other formats much more lightly, and that HTML has historically not required particular formats for anything. [11]

Some web developers criticized the removal of the Ogg formats from the specification. [12] A follow-up discussion also occurred on the W3C questions and answers blog. [13]

Mozilla and Opera support only the open formats of Theora and WebM. Google stated its intention to eliminate support for H.264 in 2011, specifically for the HTML5 movie tag. [14] Albeit it has been eliminated from Chromium, As of November two thousand sixteen [update] it has yet to be liquidated from Google Chrome five years later. [15] [16]

MPEG-DASH Support via the HTML5 Media Source Extensions (MSE) Edit

The adaptive bitrate streaming standard MPEG-DASH can be used in Web browsers via the HTML5 Media Source Extensions (MSE) [17] and JavaScript-based DASH players. Such players are, e.g., the open-source project dash.js [17] of the DASH Industry Forum, but there are also products such as bitdash of bitmovin [Legal] (using HTML5 with JavaScript, but also a Flash-based DASH players for legacy Web browsers not supporting the HTML5 MSE).

Google’s purchase of On2 Edit

Google’s acquisition of On2 in two thousand ten resulted in its acquisition of the VP8 movie format. Google has provided a royalty-free license to use VP8. [Nineteen] Google also began WebM, which combines the standardized open source VP8 movie codec with Vorbis audio in a Matroska based container. The opening of VP8 was welcomed by the Free Software Foundation. [20]

When Google announced in January two thousand eleven that it would end native support of H.264 in Chrome, [21] criticism came from many quarters including Peter Bright of Ars Technica [22] and Microsoft web evangelist Tim Sneath, who compared Google’s budge to proclaiming Esperanto the official language of the United States. [23] However, Haavard Moen of Opera Software strongly criticized the Ars Technica article [24] and Google responded to the reaction by clarifying its intent to promote WebM in its products on the basis of openness. [14]

After the launch of WebM, Mozilla and Opera have called for the inclusion of VP8 in HTML. [25]

On March 7, 2013, Google Inc. and MPEG LA, LLC announced agreements covering technics that "may be essential" to VP8, with Google receiving a license from MPEG LA and eleven patent holders, and MPEG LA ending its efforts to form a VP8 patent pool. [26] [27] [28] [29]

Non-free formats Edit

H.264/MPEG-4 AVC is widely used, and has good speed, compression, hardware decoders, and movie quality, but is patent-encumbered. [30] Users of H.264 need licenses either from the individual patent holders, or from the MPEG LA, a group of patent holders including Microsoft and Apple, except for some Internet broadcast movie uses. [31] H.264 is usually used in the MP4 container format, together with Advanced Audio Coding (AAC) audio. AAC is also patented in itself, so users of MP4 will have to license both H.264 and AAC.

In June 2009, the WHATWG concluded that no existing format was suitable as a specified requirement. [32]

Apple still only supports H.264, but Microsoft now supports VP9 and WebM, and has pledged support for AV1.

Cisco makes a licensed H.264 binary module available for free Edit

On October 30, 2013, Cisco announced that they were making a binary H.264 module available for download. Cisco will pay the costs of patent licensing for those binary modules when downloaded by the using software while it is being installed, making H.264 free to use in that specific case. [33]

In the announcement, Cisco cited its desire of furthering the use of the WebRTC project as the reason, since WebRTC’s movie talk feature will benefit from having a movie format supported in all browsers. [34] The H.264 module will be available on "all popular or feasibly supportable platforms, which can be loaded into any application". [35]

Cisco is also planning to publish source code for those modules under BSD license, but without paying the royalties, [33] so the code will practically be free software only in countries without H.264 software patents, which has already been true about other existing implementations.

Also on October 30, 2013, Mozilla’s Brendan Eich announced that Firefox would automatically download Cisco’s H.264 module when needed by default. He also noted that the binary module is not a flawless solution, since users do not have total free software rights to "modify, recompile, and redistribute without license agreements or fees". Thus Xiph and Mozilla proceed the development of Daala. [35] [36]

OpenH264 only supports the baseline profile of H.264, and does not by itself address the need for an AAC decoder. Therefore, it is not considered sufficient for typical MP4 web movie, which is typically in the high profile with AAC audio. [37] [38] [39] However, for use in WebRTC, the omission of AAC was justified in the release announcement: "the standards bods have aligned on Opus and G.711 as the common audio codecs for WebRTC". [34] There is doubt as to whether a capped global licensing of AAC, like Cisco’s for H.264, is feasible after AAC’s licensing bureau eliminated the price cap shortly after the release of OpenH264. [40]

This table shows which movie formats are likely to be supported by a given user agent. Most of the browsers listed here use a multimedia framework for decoding and display of movie, instead of incorporating such software components. It is not generally possible to tell the set of formats supported by a multimedia framework without querying it, because that depends on the operating system and third party codecs. [41] In these cases, movie format support is an attribute of the framework, not the browser (or its layout engine), assuming the browser decently queries its multimedia framework before rejecting unknown movie formats. In some cases, the support listed here is not a function of either codecs available within the operating system’s underlying media framework, or of codec capabilities built into the browser, but rather could be by a browser add-on that might, for example, bypass the browser’s normal HTML parsing of the <movie> tag to embed a plug-in based movie player.

Note that a movie file normally contains both movie and audio content, each encoded in its own format. The browser has to support both the movie and audio formats. See HTML5 audio for a table of which audio formats are supported by each browser.

The movie format can be specified by MIME type in HTML (see example). MIME types are used for querying multimedia frameworks for supported formats. [42]

Of these browsers, only Firefox and Opera employ libraries for built-in decoding. In practice, Internet Explorer and Safari can also assure certain format support, because their manufacturers also make their multimedia frameworks. At the other end of the scale, Konqueror has identical format support to Internet Explorer when run on Windows, and Safari when run on Mac, but the selected support here for Konqueror is the typical for GNU/Linux, where Konqueror has most of its users. In general, the format support of browsers is much dictated by conflicting interests of vendors, specifically that Media Foundation and QuickTime support commercial standards, whereas GStreamer and Phonon cannot legally support other than free formats by default on the free operating systems that they are intended for. [43]

Related video:

Leave a Reply