HTML5 audio and video: Difference between revisions
m (→Introduction) |
m (→Introduction) |
||
Line 20: | Line 20: | ||
|- | |- | ||
! IE (IE9) || No || Yes || No | ! IE (IE9) || No || Yes || No | ||
|- | |||
! Firefox (11) || Yes || no || Yes | ! Firefox (11) || Yes || no || Yes | ||
|- | |||
! Chrome || Yes || maybe || Yes | ! Chrome || Yes || maybe || Yes | ||
|- | |||
! Safari || No || Yes || No | ! Safari || No || Yes || No | ||
|- | |||
! Opera || Yes || No || Yes | ! Opera || Yes || No || Yes | ||
|- | |||
! Android || Yes || Yes || Yes | ! Android || Yes || Yes || Yes | ||
|} | |} |
Revision as of 15:32, 22 April 2012
This article or section is currently under construction
In principle, someone is working on it and there should be a better version in a not so distant future.
If you want to modify this page, please discuss it with the person working on it (see the "history")
Introduction
This tutorial shows basic use of video and audio in HTML5. HTML5 includes special elements (tags) allow including video and audio that and defining controls. Unlike in HTML 4.x and XHTML 1.x, video and audio is fully integrated, meaning that these elements can also be styled and scripted via the DOM.
Before learning how to use video and audio in HTML5, you need to understand that these media files are actually containers (i.e. so-called Multimedia container formats) that include in turn various types of data, e.g. video and audio streams, chapter-information, captions (subtitles) and meta-information plus synchronization information. Audio and video data are compressed with so-called codecs (compression and decompression algorithms)
The most popular HTML5 formats are webm/VP8, mp4/H.264 and OGG/Theora (ogv). Originally, the HTML5 specification wanted include OGG as standard, but after vendor opposition, it was decided to support all formats.
The following table provides an overview of implementations as of April 2012. It does not include browser extensions that will add extra functionality. See Wikipedia's HTML5 for more detailed information.
Browser | Formats natively supported by different web browsers | ||
---|---|---|---|
Ogg (Theora/Vorbis) | mp4 (H.264/AVC | Webm (VP8/Vorbis) | |
IE (IE9) | No | Yes | No |
Firefox (11) | Yes | no | Yes |
Chrome | Yes | maybe | Yes |
Safari | No | Yes | No |
Opera | Yes | No | Yes |
Android | Yes | Yes | Yes |
The example video we are using is this page was taken from Vimeo. It includes a 2011 talk about the state of Wikipedia by Jimmy Wales, its founder. We produced several versions without paying a lot of attention to encoding details.
Basic use of video
While the video tag and its attributes are standardized, the video formats (i.e. containers and codecs) are not. For this reason, it is good practice to include several variants of the same file. Since the HTML5 video element doesn't work with older browsers and since default skin and controls differ among browser makers, you also may consider using an HTML5 video player library.
Example file: http://tecfa.unige.ch/guides/html/html5-video/html5-video-simple.html
HTML5 player libraries
Since default controls in navigators do not offer a lot of functionalities and since there still many non-HTML5 navigators installed, so-called HTML video-players can offer both advanced controls and fallback. These players are implemented with JavaScript, offer different functionaly and may or may not be easy to use. More precisely, this principle can be explained by example: “An HTML5 Video Player is a JavaScript library that builds a custom set of controls over top of the HTML5 video element to provide a consistent look between HTML5 browsers. Video.js builds on this by fixing many cross browser bugs or inconsistencies, adding new features that haven't been implemented by all browsers (like fullscreen and subtitles), as well as providing one consistent JavaScript API for both HTML5, Flash, and other playback technologies.” (What's an HTML5 Video Player, retrieved 13:36, 22 April 2012 (CEST) from vidojs.com). Other player products could be described in the same way.
Some of HTML5 players are:
HTML5 Video.org offers a HTML5 Player Comparison, i.e. provide and overview table plus a detailed description of each HTML5 Player library. Recommended reading.
Basic use of audio
Video capturing
Links
Specifications
- HTML5: The Markup Language HTML: The Markup Language An HTML language reference], W3C Working Draft 15 March 2012, by Michael Smith, W3C. (Multi-page version)
- WebRTC 1.0: Real-time Communication Between Browsers, W3C Editor's Draft 16 March 2012. This specification defines a set of APIs to represent streaming media, including audio and video, in JavaScript, to allow media to be sent over the network to another browser or device implementing the appropriate set of real-time protocols, and media received from another browser or device to be processed and displayed locally.
- getusermedia: Getting access to local devices that can generate multimedia streams. W3C Editor's Draft 22 December 2011. This document defines a set of APIs that allow local media, including audio and video, to be requested from a platform.
Manuals and reference
- HTML/Elements/video (W3C wiki)
- HTML5 video (Wikipedia)
Tutorials
- Towards Video on the Web with HTML5 by Daoust, Francois; Hoschka, Philipp; Patrikakis, Charalampos Z (2010)
- Introduction to HTML5 video by Lawson, Bruce; Lauke, Patrick H. (2010-02-11)
- Everything you need to know about HTML5 video and audio by Pieters, Simon (2010-03-03)
- Video for everybody (shows how to use videos that also will work in older browsers)
- How to Use HTML 5 to Display Video in Modern Browsers by By Jennifer Kyrnin, About.com Guide
- Getting Started - Navigating HTML5, at HTML5video.org. Actually not much of a getting started article, but rather about history and strategy.