360 panovideos and loading times

  • Greetings,

    I'm building a guided interactive tour using Krpano, that will be viewed locally on a bunch of Meta Quest 2s each running their own local web server, and I'm encountering a few issues with the video plugin.

    To give some context, my tour will consists of several "passive" fragments, where the user is immersed in a long panoramic 360° 3D video, and a few choice fragments that will be either short 360° 3D loops or a panoramic photo.
    For anything to look good on the headset, We decided to use 5248x5248, H265 encoded Top/Bottom 360 videos (that should be about the maximium supported format of the VR headset) that are several minutes long, and thus average to little less than 20MB per second of video.

    Now, my issue lies with the video player loading more or less the entire video before it starts showing it. This makes the initial load time for each panovideo quite long even locally, with the headset freezing for several seconds before showing the panorama and eventually breaking (the panorama gets stuck on the last frame of the previous video, and never navigates to the next one).
    Additionally, the videos are too large for the browser to cache them, so the problem repeats on successive views.

    I'm taking a look to the AHLS plugin , but before going on the additional spending route, I'd like to know if there's something else I could do to mitigate the issue. I tried playing around with the preload="true" on the video plugin and put that on the initial frame (that consists of a static panorama image), but while that might work for a demo with two videos, I doubt the device will have sufficient memory to keep all the videos loaded.

    So, is there any way to have Krpano "stream" the video without loading it entirely, other than the aforementioned plugin?
    Since the web page is hosted locally, i'd be more than fine with something like 'disabling the videoplugin buffer', but the only reference I found for something like it was about the now defunct flash support.

    I've attached the tour.xml file in case it could be of any use. The demo mimics what should be in the final product:

    • you're placed in a static 360 panorama
    • you navigate to the first panovideo scene
    • after the first video ends, you're moved to the second panovideo scene
  • Hi,

    as always - when it comes to video it's to 99.9% about the video itself and the browser and the device.
    krpano doesn't have any influence on the loading, decoding and rendering speed.

    Try encoding the video for web-streaming/web-usage, e.g. use ffmpeg and flags like '-movflags faststart' to ensure that the headers are the file-beginning and not at the file-end. This would avoid loading the whole file when the server doesn't support partial requests (HTTP range requests).

    Best regards,

  • The compatibility of H265 in browsers is not good. Streaming is a good option for longer videos, as you only need to pre-load a few "segments" to start playing. However, for higher resolutions such as 8K, it is still difficult to load on lower versions of the iPhone.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!