Child

HTML Video



Videos can be played in HTML by many different methods.


Playing Videos in HTML

Example

<video width="320" height="240" controls>
  <source src="movie.mp4" type="video/mp4">
  <source src="movie.ogg" type="video/ogg">
  <source src="movie.webm" type="video/webm">
  <object data="movie.mp4" width="320" height="240">
    <embed src="movie.swf" width="320" height="240">
  </object> 
</video>


Problems, Problems, and Solutions

Displaying videos in HTML is not easy!

You must add a lot of tricks to make sure your video will play in all browsers (Internet Explorer, Chrome, Firefox, Safari, Opera) and on all hardware (PC, Mac , iPad, iPhone).

In this chapter W3Schools summarizes the problems and the solutions.

The <embed> Element

The purpose of the <embed> tag is to embed multimedia elements in HTML pages.

The following HTML fragment displays a Flash video embedded in a web page:

Example

<embed src="intro.swf" height="200" width="200">

Problems

  • If the browser does not support Flash, the video will not play
  • iPad and iPhone do not support Flash videos
  • If you convert the video to another format, it will still not play in all browsers

Using The <object> Element

The purpose of the <object> tag is to embed multimedia elements in HTML pages.

The following HTML fragment displays a Flash video embedded in a web page:

Example

<object data="intro.swf" height="200" width="200"></object>

Problems:

  • If the browser does not support Flash, the video will not play
  • iPad and iPhone do not support Flash videos
  • If you convert the video to another format, it will still not play in all browsers

Using the HTML5 <video> Element

The HTML5 <video> tag defines a video or movie.

The <video> element works in all modern browsers.

The following HTML fragment displays a video in OGG, MP4, or WEBM format:

Example

<video width="320" height="240" controls>
  <source src="movie.mp4" type="video/mp4">
  <source src="movie.ogg" type="video/ogg">
  <source src="movie.webm" type="video/webm">
Your browser does not support the video tag.
</video>

Problems:

  • You must convert your videos to many different formats
  • The <video> element does not work in older browsers

The Best HTML Solution

The example below uses 4 different video formats. The HTML 5 <video> element tries to play the video either in MP4, OGG, or WEBM format. If this fails, the code "falls back" to try the <object> element. If this also fails, it "falls back" to the <embed> element:

HTML 5 + <object> + <embed>

<video width="320" height="240" controls>
  <source src="movie.mp4" type="video/mp4">
  <source src="movie.ogg" type="video/ogg">
  <source src="movie.webm" type="video/webm">
  <object data="movie.mp4" width="320" height="240">
    <embed src="movie.swf" width="320" height="240">
  </object> 
</video>

Problems:

  • You must convert your videos to many different formats

The YouTube Solution

The easiest way to display videos in HTML is to use YouTube (see next chapter)!

Using A Hyperlink

If a web page includes a hyperlink to a media file, most browsers will use a "helper application" to play the file.

The following code fragment displays a link to a Flash video. If a user clicks on the link, the browser will launch a helper application to play the file:

Example

<a href="intro.swf">Play a video file</a>


A Note About Inline Videos

When a video is included in a web page it is called inline video.

If you plan to use inline videos, be aware that many people find it annoying. Also note that some users might have turned off the inline video option in their browser.

Our best advice is to include inline videos only in pages where the user expects to see a video. An example of this is a page which opens after the user has clicked on a link to see the video.