VideoJS-VR Is Now An Official Video.js Plugin

VideoJS-VR Is Now An Official Video.js Plugin

As some of you may know we’ve been developing an open source 360º video plugin for Video.js. We’re pleased to announce that our VideoJS-VR plugin has been appointed the official Video.js 360º plugin and has migrated to the official VIdeoJS organisation and repositories.

History of the Plugin

Our first foray into 360º live streaming started in January 2016, when we live streamed the Australian Open tennis grand slam, which was the very first 360º live stream of its kind.

Whilst doing research for the event we quickly discovered that there were no publicly available HTML5 players for live streaming 360º content. They were either designed for pre-recorded content, or were Flash based, which was not an option.

During our research we had encountered a VR plugin developed by Sean Lawrence, which has been abandoned in 2014. Whilst it didn’t provide support for live streaming, and a bunch of other things, it did provide a good base for our own project.

Over the course of the following years (in conjunction with sponsors at Brightcove and HapYak) we added support for:

  • Live streaming (HLS).
  • Mobile phone playback, including iOS.
  • Stereoscopic (Top/Bottom & Left/Right).
  • Cube map projection.
  • And more!

As the 360º video and VR industry is changing so fast, it’s great that our plugin is now under the Video.js umbrella in front of even more developers, as every update to Chrome and Firefox seems to break things!

You can read a more technical analysis of the plugin over at the Video.js blog.


  1. Medha

    I have tried this Videojs-vr plugin, works fine with hls, but when i try to open rtmp stream it cannot show 360 mode. I have to change data-type property to {‘htlml5’, ‘flash’} to play the rtmp video, but i cannot view it vr mode.

    1. Cameron

      Hi Medha,

      For support using this plugin your best bet is to post an issue on the offical GitHub repo.



Leave A Comment

Your email address will not be published. Required fields are marked *