HTML5 - Audio & Video

HTML5 features include native audio and video support without the need for Flash.
The HTML5 <audio> and <video> tags make it simple to add media to a website. You need to set src attribute to identify the media source and include a controls attribute so the user can play and pause the media.
Here is the simplest form of embedding a video file in your webpage −
<video src = "foo.mp4"  width = "300" height = "200" controls>
   Your browser does not support the <video> element.   
</video>

The current HTML5 draft specification does not specify which video formats browsers should support in the video tag. But most commonly used video formats are −
Ogg − Ogg files with Thedora video codec and Vorbis audio codec.
Ogg − Ogg files with Thedora video codec and Vorbis audio codec.
mpeg4 − MPEG4 files with H.264 video codec and AAC audio codec.
mpeg4 − MPEG4 files with H.264 video codec and AAC audio codec.
You can use <source> tag to specify media along with media type and many other attributes. A video element allows multiple source elements and browser will use the first recognized format −
<!DOCTYPE HTML>

<html>
   <body>
      
      <video  width = "300" height = "200" controls autoplay>
         <source src = "/html5/foo.ogg" type ="video/ogg" />
         <source src = "/html5/foo.mp4" type = "video/mp4" />
         Your browser does not support the <video> element.
      </video>
      
   </body>
</html>
This will produce the following result −
The HTML5 video tag can have a number of attributes to control the look and feel and various functionalities of the control −
autoplay
This Boolean attribute if specified, the video will automatically begin to play back as soon as it can do so without stopping to finish loading the data.
autobuffer
This Boolean attribute if specified, the video will automatically begin buffering even if it's not set to automatically play.
controls
If this attribute is present, it will allow the user to control video playback, including volume, seeking, and pause/resume playback.
height
This attribute specifies the height of the video's display area, in CSS pixels.
loop
This Boolean attribute if specified, will allow video automatically seek back to the start after reaching at the end.
preload
This attribute specifies that the video will be loaded at page load, and ready to run. Ignored if autoplay is present.
poster
This is a URL of an image to show until the user plays or seeks.
src
The URL of the video to embed. This is optional; you may instead use the <source> element within the video block to specify the video to embed.
width
This attribute specifies the width of the video's display area, in CSS pixels.
HTML5 supports <audio> tag which is used to embed sound content in an HTML or XHTML document as follows.
<audio src = "foo.wav" controls autoplay>
   Your browser does not support the <audio> element.   
</audio>

The current HTML5 draft specification does not specify which audio formats browsers should support in the audio tag. But most commonly used audio formats are ogg, mp3 and wav.
You can use <source&ggt; tag to specify media along with media type and many other attributes. An audio element allows multiple source elements and browser will use the first recognized format −
<!DOCTYPE HTML>

<html>
   <body>
      
      <audio controls autoplay>
         <source src = "/html5/audio.ogg" type = "audio/ogg" />
         <source src = "/html5/audio.wav" type = "audio/wav" />
         Your browser does not support the <audio> element.
      </audio>
      
   </body>
</html>
This will produce the following result −
The HTML5 audio tag can have a number of attributes to control the look and feel and various functionalities of the control −
autoplay
This Boolean attribute if specified, the audio will automatically begin to play back as soon as it can do so without stopping to finish loading the data.
autobuffer
This Boolean attribute if specified, the audio will automatically begin buffering even if it's not set to automatically play.
controls
If this attribute is present, it will allow the user to control audio playback, including volume, seeking, and pause/resume playback.
loop
This Boolean attribute if specified, will allow audio automatically seek back to the start after reaching at the end.
preload
This attribute specifies that the audio will be loaded at page load, and ready to run. Ignored if autoplay is present.
src
The URL of the audio to embed. This is optional; you may instead use the <source> element within the video block to specify the video to embed.
The HTML5 audio and video tag can have a number of attributes to control various functionalities of the control using JavaScript −
abort
This event is generated when playback is aborted.
canplay
This event is generated when enough data is available that the media can be played.
ended
This event is generated when playback completes.
error
This event is generated when an error occurs.
loadeddata
This event is generated when the first frame of the media has finished loading.
loadstart
This event is generated when loading of the media begins.
pause
This event is generated when playback is paused.
play
This event is generated when playback starts or resumes.
progress
This event is generated periodically to inform the progress of the downloading the media.
ratechange
This event is generated when the playback speed changes.
seeked
This event is generated when a seek operation completes.
seeking
This event is generated when a seek operation begins.
suspend
This event is generated when loading of the media is suspended.
volumechange
This event is generated when the audio volume changes.
waiting
This event is generated when the requested operation (such as playback) is delayed pending the completion of another operation (such as a seek).
Following is the example which allows to play the given video −
<!DOCTYPE HTML>

<html>
   <head>
   
      <script type = "text/javascript">
         function PlayVideo() {
            var v = document.getElementsByTagName("video")[0];  
            v.play(); 
         }
      </script>
   </head>
   
   <body>
   
      <form>         
         <video width = "300" height = "200" src = "/html5/foo.mp4">
         Your browser does not support the video element.
         </video>
         <br />
         <input type = "button" onclick = "PlayVideo();" value = "Play"/>
      </form>
      
   </body>
</html>
This will produce the following result −
Most servers don't by default serve Ogg or mp4 media with the correct MIME types, so you'll likely need to add the appropriate configuration for this.
AddType audio/ogg .oga
AddType audio/wav .wav
AddType video/ogg .ogv .ogg
AddType video/mp4 .mp4


    19 Lectures 
     2 hours 

 Anadi Sharma

    16 Lectures 
     1.5 hours 

 Anadi Sharma

    18 Lectures 
     1.5 hours 

 Frahaan Hussain

    57 Lectures 
     5.5 hours 

 DigiFisk (Programming Is Fun)

    54 Lectures 
     6 hours 

 DigiFisk (Programming Is Fun)

    45 Lectures 
     5.5 hours 

 DigiFisk (Programming Is Fun)
 Print
 Add Notes
 Bookmark this page