4K 360 video (and beyond) with KRPano

  • I have a 360 equirectangular video encoded to a variety of resolutions -- 1024x512, 1920x960. The issue is that I'm trying to add an encoded version to the videopano.xml list list that is closer to the original 5K resolution. Whether in IE (MP4) or Chrome (WEBM) on Windows, this larger resolution video refuses to load in KRPano with a "video loading failed" error. The 1024x512 and 1920x960 ones have no problem. I should note that in all cases, this larger resolution video plays fine by itself in the browser(s) and the encoded files seem to be compliant to WEBM and MPEG/ISO spec per level, profile, and all of that.

    You can see the offending KRpano at: http://demohub.gemvr.net/DayTimelapse082816/index.html

    I have tried multiple resolutions, in this order:
    5376x3648
    4096x2160
    4096x2048
    3840x2048
    3840x1920
    2560x1280

    All fail in the same way. Is there a fundamental limitation in KRPano for video resolution? Again, this is NOT the browser, the browser itself can natively play these equirectangular videos just fine.

    Any ideas out there?

    W

  • As in this thread discussed, there are indeed restrictions regarding the maximal video dimensions of the H264 codec.

    The provided example won't load the files, as they are not found. So maybe you could provide some working links to prove you're argument, that the videos are playing in the browser.

  • Hi,

    first - krpano itself doesn't limit anything! (why should it?)

    But there are browser and system side limitations:

    • the browser needs to able to load and to decode the video (when that's not possible you will get the video error)
    • and the browser/system needs to support a maximum texture size that is larger than the video size to able to use it as panoramic video (some lower-end and middle-end systems have a maximum texture sizes of 4096x4096).

    Best regards,
    Klaus

  • Ok, here's a little more specific info. The problem seems mostly around webm. Most of my "video loading failed" errors were due to a problem between the keyboard and the chair.

    However, I have a solid use case that fails: Google Chrome, I have a 4096x2048 WEBM that plays fine in the browser, here:

    http://demohub.gemvr.net/DayTimelapse08…-4096x2048.webm


    however, when switching to 4096x2048 reslution in krpano player from here: http://demohub.gemvr.net/DayTimelapse08…l=videopano.xml

    I get "Error: video-4096x2048.webm - network loading error".

    These are the contents of the videopano.xml:

    <krpano>


    <action name="startup" autorun="onstart">
    if(device.panovideosupport == false, error('Sorry, but panoramic videos are not supported by your current browser!'); , loadscene(videopano); );
    </action>


    <scene name="videopano" title="Day SkyTimelapse 08-28-16">


    <!--
    include the videoplayer interface / skin (with VR support)
    -->
    <include url="skin/videointerface.xml"/>
    <!-- include the videoplayer plugin -->
    <plugin name="video" url.html5="%SWFPATH%/plugins/videoplayer.js" url.flash="%SWFPATH%/plugins/videoplayer.swf" pausedonstart="false"loop="true" volume="1.0" onloaded="add_video_sources();"/>


    <!--
    use the videoplayer plugin as panoramic image source
    -->


    <image>

    <sphere url="plugin:video"/>
    </image>
    <!-- set the default view -->
    <view hlookat="-40" vlookat="-65" fovtype="DFOV" fov="130" fovmin="75" fovmax="150" distortion="0.0"/>
    <!-- bug (an undistorted hotspot) -->
    <layer name="logobug" url="roundlogo_alpha.png" align="lefttop" x="50" y="50" width="150" height="150" bgcolor="0x000000" bgalpha="0.5"bgcapture="true" maskchildren="true"></layer>
    <!-- add the video sources and play the video -->


    <action name="add_video_sources">
    videointerface_addsource('1024x512', '%CURRENTXML%/video-1024x512.mp4|%CURRENTXML%/video-1024x512.webm', '%CURRENTXML%/video-1024x512-poster.jpg'); videointerface_addsource('1920x960', '%CURRENTXML%/video-1920x960.mp4|%CURRENTXML%/video-1920x960.webm', '%CURRENTXML%/video-1920x960-poster.jpg'); videointerface_addsource('4096x2048', '%CURRENTXML%/video-4096x2048.mp4|%CURRENTXML%/video-4096x2048.webm', '%CURRENTXML%/video-4096x2048-poster.jpg'); if(device.ios,


    <!--
    iOS Safari has a very slow 'video-to-webgl-texture' transfer, therefore use a low-res video by default
    -->videointerface_play('1024x512'); , videointerface_play('1920x960'); );
    </action>
    </scene></krpano>
    any advice is appreciated.
    -WG

Participate now!

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