Channels

Services

Video.js goes Apache with version 4.0

The Video.js open source JavaScript library designed for working with web video has been updated to version 4.0 and, in the process, has changed its licence from LGPLv3 to Apache 2.0. The major update is the first since Brightcove, the video platform company, acquired Zencoder, where Video.js was developed as a side project. Video.js is designed to make it simple to embed video, whether the browser is modern and supports HTML5 or legacy and relies on Flash. Creator Steve Heffernan says that he was tasked by Brightcove to work full time on the project and that the Brightcove video team have become contributors too. That focus has paid off in version 4.0 of Video.js with improved performance, new skin designs, responsive layout, accessibility and retina display support among the new features.

Video.js 4.0 is more stable than its predecessors too, thanks to the use of automated cross-browser/device testing with a test suite that uses TravisCI, BunyIP and Browserstack. There is also a new plugin interface for extending Video.js, modelled on jQuery's plugins, with a wiki page listing the available plugins. The improved performance, which includes an 18% reduction in code size, means the player can load within 50 milliseconds and start video playback within 0.5 seconds with a CDN-hosted MP4 file. The new default skin that is simpler and more polished also uses font icons to make it more easily customisable.

The accessibility features mean that keyboard only, screen reader, and voice-interface users of Video.js will be able to interact with the player. The work was done by Greg Kraus of NC State University who goes into more detail in his own blog post. Other changes include a move to a pure JavaScript toolset, removing Video.js's reliance on Ruby for development tools, and bringing in Grunt to manage task running. The Video.js web site has also been open sourced for developers to fork and modify as needed.

The switch from LGPLv3 to Apache is, says Heffernan, because of confusion between the LGPL and GPL; the project has, for clarity, switched to the Apache licence so it can be "open and free to use in all contexts". He notes that this 4.0 release is "simply a jumping off point" and that in the coming year there will be more improvements to performance, multi-platform stability and customisation, such as contributed plugins for features like playlists, analytics and advertising.

Developers interested in working on Video.js can consult the Contributing guide and will find the project's code hosted on on GitHub. Web designers who want to use Video.js should consult the Getting Started guide on how to deploy the software.