Make your player yours

with the world's most popular open source HTML5 player framework

Features

Why Video.js?

Video.js is a web video player built from the ground up for an HTML5 world. It supports HTML5 video and modern streaming formats, as well as YouTube, Vimeo, and even Flash (through plugins, more on that later).

It supports video playback on desktop and mobile devices. The project was started mid 2010, and now has hundreds of contributors and is used on over 450,000 websites.

abstract player illustration

Plays anything

Plays “traditional” file formats such as MP4 and WebM, but also supports adaptive streaming formats such as HLS and DASH. There’s even a special UI for live streams!

stylized abstract pencil

Easy to style

Video.js is designed to be a reliable and consistent base to build on top of. The player looks great out of the box, but can be easily styled with a little bit of extra CSS.

abstract collection of checkboxes

100s of plugins

When you need to add additional functionality, a well-documented plugin architecture has your back. The community has already built hundreds of skins and plugins that you can install, such as Chromecast, IMA, even VR.

abstract players of various sizes

Supported everywhere

Your video should work everywhere your app does. The team makes an effort to support every modern browser we can, including desktop and mobile.

Used By

Built by the community, used by the professionals

Tumblr
LinkedIn
Guardian

Example

Playlist plugin

The advanced example includes the playlist plugin, along with some useful details such as what all of the player properties are, and what events have fired and how often.

Sponsors

The folks who help make this happen

Brightcove is the main sponsor of the project, employing many of the core members and investing thousands of engineering hours every year in Video.js and Video.js plugins.

The Brightcove Player is built on Video.js and used on thousands of video websites, ensuring Video.js can handle the most professional use cases.

Implementation

When to use Video.js over the <video> element?

FeatureVideo.jsHTML5
Cross-browser "Skins"
Looks good everywhere with CSS-based Skins
Looks different in every browser
Adaptive Streaming (adjusting to the viewer’s bandwidth)
HLS supported everywhere. DASH supported everywhere but iOS Safari.
HLS and DASH not playable in Chrome or Firefox by default.
Social Video Platforms
Play Youtube, Vimeo, and more with added plugins.
Not supported
Community-built Plugins
Hundreds!
Probably?
Browser API Inconsistencies
Makes them disappear
Many

Get involved

We make it easy for anyone to jump in and be a part of the Video.js community.