With the release of HyperText Markup Language version 5 (HTML5), a video tag was introduced that allowed video and audio files to be embedded and played directly in a web browser. The basic features of the browser, however, were insufficient for some designs, leading to special programs that could act as an enhanced HTML video player. An HTML video player generally offers enhanced performance or extended tools that allow a user to interact with a video in different ways, such as skipping without waiting for the whole video to buffer. Another reason why an HTML video player might be necessary is to accommodate older web browsers that do not implement the HTML5 video standard, meaning that other actions need to be taken for the video to be seen. There are a variety of different players available, most designed with the intention of being transparent to a user by not requiring any special downloads.
The way that an HTML video player works is by using JavaScript® to capture and modify many of the features of the video tag being used. This not only allows modification to certain aspects of how the video is played, but also can provide advanced features for layout and appearance. A popular use for an HTML video player is to provide a custom appearance to the player, a feature known as a skin or skinning. Using the same code for a player can allow a website using cascading style sheets (CSS) to present videos in a consistent way across multiple pages or sites.
One problem that an HTML video player can solve is the issue of compatibility. Not all web browsers fully, or even partially, implement the video tag in the HTML5 standard. This means the default behavior would be to ignore the video tag altogether, causing the page to be rendered in an undesirable way. An HTML video player can detect what browser is reading the page and, if necessary, change the HTML code for the video to an older style that allows it to be seen and played, although the formatting will still most likely be incorrect.
Another issue that an HTML video player can help to mitigate is that of video file formats and the codecs needed to play them. No standard has been established for HTML5 video, meaning browsers might not support some formats and cause the video to be unplayable. Using a specific player can help to detect what formats can be played based on the browser being used and then direct the file to the user. This method works well, but it also requires that a single video be stored in multiple files, each encoded differently. This use is especially effective when it comes to browsers used on mobile or handheld devices.