Fork me on GitHub


A full 360 degree panorama video player built in JS + WebGL.

Code Samples:

For your header:




Example markup:


Starting up:

	// instantiate script on your container

Additional Functions:

	// play

	// pause

	// load new video file
	$('.valiant').Valiant360('loadVideo', 'path/to/video.mp4');


Thanks to Hugin and Panotools for maintaining such high-quality open source stitching software, Mr. Doob for Three.js, and Ryan Jackson for writing up his techniques for shooting 360 degree video on 4 GoPros.

A very special thank you to Kat Destefano for sharing the driving, Maurer Welding for fabricating our camera brackets, and Michael Sanders and Laura and Jake Kelly letting us couchsurf on our drive across this great nation.


  • Open source (MIT License)
  • Hardware accelerated rendering
  • Customizable controls
  • Full Screen support
  • Works in Chrome, Firefox, IE11 and Opera

How's it work?

Stitch videos from multiple cameras together to create a single high-res equirectangular video.

Import that video as a texture, and map it to a sphere using webGL.