After a little over a year of work, I’ve just released Pannellum 2.2.0. New features in this release include an experimental API, instead of just a standalone viewer, for better integration with external code; support for the PosePitchDegrees
and PoseRollDegrees
XMP tags, as used by the Ricoh Theta S; an optional fade animation for tour transitions; and a debug parameter to assist with placing hot spots. Noteworthy improvements include vastly improved equirectangular video support, high-DPI display support, and unification of regular and tour configuration files. Finally, there are numerous bug-fixes.
Previously, equirectangular videos were sort of supported, but the user experience was terrible, as there were no playback controls. Pannellum is a panorama viewer of course, not a video player, so I didn’t want to write my own video player nor did I want to build it into Pannellum—this is where the new API comes in. Instead, I wrote a Video.js plug-in that uses Pannellum to render the video; this achieves the objective of a fully-featured equirectangular video player without actually having to write a video player.
I would have created a new release sooner, but I didn’t want to release yet another version without much in the way of documentation, specifically examples. At the beginning of December, I received the Ricoh Theta S I had pre-ordered, allowing me to quickly shoot a variety of panoramas1 to use with examples—this is when my push to write documentation started in earnest. To this end, I converted pannellum.org from using Jekyll to using Hugo, as it better suited the documentation effort (and moved it to a dedicated repository). I then wrote examples, integrated the existing configuration parameter documentation, and added the new API documentation. Finally, I created a Pannellum CDN and integrated a configuration generator to allow one to easily display CORS-hosted panoramas (e.g. hosted with Imgur).
As always, report bugs on the GitHub issue tracker.
Actually, they’re all of Baltimore near my apartment or of the area around San Pedro de Atacama, Chile where I’m currently working. ↩
How would I go about hosting the images on my own site, or what others photo services offer CORS support?
I just fixed my CORS issue, but I am having trouble with the pano flashing white the it moves around.
https://www.doublemdigital.com/images/pano.jpg
Any help is appreciated, this is an awesome resource! Thanks for your hard work.
Do you have a link to an example that exhibits this flashing? What OS and browser, with versions, are you using?
I’ve found that flashing occurs when my photo has exif data. When I strip the metadata it no longer flashes.
Hallo Matthew,
great script, it works fine for me. For my own use I extended the API by a function switching the autorotate:
/**
* Sets autoRotate value.
* @memberof Viewer
* @instance
* @param {number} yaw – Yaw in degrees [-180, 180]
* @returns {Viewer} `this`
*/
this.setAutoRotate = function(val) {
config.autoRotate = val;
if (val !== false) animateInit();
return this;
};
Maybe you like to take this over to your source.
Can I donate?
Best regards – Ulrich
Someone just submitted a pull request for something similar, so there are already auto rotate API functions: https://github.com/mpetroff/pannellum/commit/93e47148bbb7532007f5cd418a36743f6a33e19d
Thanks anyway!
How do I use the movies hosted out of my site. VIMEO for example?
Only the sound is played, the picture not.
See the video example. Pannellum should be able to play any video that Video.js can play.
Hi,
I am trying to use the API to move around in the image.
However, calling “setPitch” and “setYaw” does not update the view in the browser.
What do I have to do so it updates the view after setting the pitch and yaw?
This has been fixed in the development version. Either use that or wait for the next release.