HTML- Video Element



The <video> element in HTML

The <video> element is used to enable video playback support within a web page. It works very similarly to the <img> element as it also requires adding the path or URL of the video within the src attribute. The HTML supports only MP4, WebM, and Ogg video formats. The <video> element also supports audio however, the <audio> element is more suitable for that purpose. We will cover the audio element in the next chapter.

How to embed a video in HTML?

To embed a video inside a web page, we need to set the src attribute inside the <video> element that specifies the path or URL for video. A web page serves content to a wide variety of users with various types of browsers. Each browser supports different video formats (MP4, WebM, and Ogg) as mentioned earlier. Therefore, we can supply all the formats that HTML supports by including multiple <source> tag within <video> element. We let the browser decide which format is more suitable for video playback.

We can also enable the built-in controls for controlling audio and video playback to the users (if needed) with the help of controls attribute. It provides an interface that enables users to manage video playback functions such as volume adjustment, video navigation (forward and backwards) and play or pause operations.

Example

The following example shows how to insert the path or URL of video inside the video element.

<!DOCTYPE html>
<html>
<head>
   <title>HTML Video Element</title>
</head>
<body>
   <p>Playing video using video element</p>
   <p>The browser is responsible for determining the appropriate format to use.</p>
   <video width="450" height="250" controls>
      <source src="/html/media/video/sampleTP.webm" type="video/webm">
      <source src="/html/media/video/sampleTP.mp4" type="video/mp4">
      <source src="/html/media/video/sampleTP.ogv" type="video/ogg">
      <p>Sorry, video element is not supported!</p>
   </video>
</body>
</html>

Setting the Dimension of Video Display Area

To set the dimension of video display area, also known as the viewport, we can use the height and width attributes of the <video> element. These attributes define the height and width of the video viewport in pixels.

Note that the video will adjust its aspect ratio (e.g. 4:3 and 16:9) to align with the specified height and width. Therefore, it is advisable to match the dimensions of viewport for a better user experience.

Example

Let’s look at an example code below to understand better −

<!DOCTYPE html>
<html>
<head>
   <title>HTML Video Element</title>
</head>
<body>
   <p>Playing video using video element</p>
   <video width="450" height="250" controls>
      <source src="/html/media/video/sampleTP.mp4" type="video/mp4">
   </video>
</body>
</html>

The autoplay and looping of video

We can configure the video to play automatically in a loop by using the autoplay and loop attributes. Remember, a few browsers like Chrome 70.0 do not support autoplay feature unless the muted attribute is used. Therefore, it is recommended to use autoplay and muted attributes together.

Example

The following example illustrates the autoplay and looping of video −

<!DOCTYPE html>
<html>
<head>
   <title>HTML Video Element</title>
</head>
<body>
   <p>Playing video using video element</p>
   <video width="450" height="250" autoplay muted loop>
      <source src="/html/media/video/sampleTP.mp4" type="video/mp4">
   </video>
</body>
</html>

Using a Thumbnail for the video

We can pass a URL of an image that works as a thumbnail for the video within the poster attribute of <video> element. It will display the specified image until the video starts playing.

Example

In the following example, we are illustrating the use of poster attribute −

<!DOCTYPE html>
<html>
<head>
   <title>HTML Video Element</title>
</head>
<body>
   <p>Playing video using video element</p>
   <video width="450" height="250" controls muted poster ="tutorials_point.jpg" >
      <source src="/html/media/video/sampleTP.mp4" type="video/mp4">
   </video>
</body>
</html>

Browser Support for different Video Formats

The table below illustrates the various video formats that are supported by different browsers −

Browser OGG WebM MP4
Chrome Yes Yes Yes
Edge Yes Yes Yes
Safari No Yes Yes
Firefox Yes Yes Yes
Opera Yes Yes Yes
Advertisements