Posts by Marmirgra

    I'm facing issues with my krpano project, which consists of a 360-degree panorama serving as the main menu with 8 buttons leading to 8 different videopanos. Each of these videopanos contains 3 different .mp4 videos. I've uploaded both the project and the videopanos to Amazon's AWS S3 to avoid overloading my server, as initially, I thought the decoding error might be related to server load. However, the problem persists.

    The error doesn't occur consistently but rather randomly when entering the second or third videopano. Error messages vary and may include the following:

    • ERROR: resources/videosinside/video_context_mc.mp4 - video decoding failed (corrupted data or unsupported codec)!
    • ERROR: resources/videosinside/video_sign_mc.mp4 - video decoding failed (corrupted data or unsupported codec)!
    • ERROR: resources/videosinside/video_mc.mp4 - video decoding failed (corrupted data or unsupported codec)!
    • ERROR: resources/videosinside/video_sign_mc.mp4 - video decoding failed (corrupted data or unsupported codec)!

    Furthermore, it's worth noting that while the error may occur with video_sign_mc on one occasion, on another occasion, it could be another video from the project. Everything seems to work fine until I've opened several videopanos.

    Additionally, I'd like to point out that this issue only occurs on mobile devices; there are no problems when accessing the project from a computer. This distinction suggests that the error may be related to mobile-specific configurations or limitations.

    At this point, I'm desperately seeking a solution to this issue as it affects the functionality of my project. Any help or suggestions to resolve this inconvenience would be greatly appreciated.

    I agree with my colleague's comment. I believe that's a 360 video that simply starts paused, and pressing play initiates playback, then pausing it again. They've likely arranged it this way so that the first frame of the video remains paused. At least, that would be one way to achieve that effect. However, as my colleague pointed out, there are more things that can be done with krpano.

    Ok, and why did it still work for me with the KEEPMOVING flag when the video was configured this way?

          <plugin name="video" keep="true"

                            url="%VIEWER%/plugins/videoplayer.js"

                            videourl="recursos/mc.mp4"

                            loop="false"

                            pausedonstart="true"

                            visible="false"

                            panovideo="true"

                            onloaded="mariecurie();"

                            />

    Until I configured the video in the following way, the different view change was working in the 360 photo of the start menu and in the video panel inside.

        <plugin name="video" keep="true"

                            url="%VIEWER%/plugins/videoplayer.js"

                            videourl="https://abarcadigital.es/cientificassev…recursos/mc.mp4"

                            loop="false"

                            pausedonstart="true"

                            visible="false"

                            panovideo="true"

                            onloaded="mariecurie();"

                            />

    I have used the menu in the following example on a 360 image and the different buttons lead to 360 videos

    https://krpano.com/releases/1.21/viewer/examples/webvr/index.html

    krpano.com - View Source


    The button that gives way to the videopano is the following:


    <action name="add_examples" scope="local" autorun="onstart">

    def(global.thumbs, array);

    add_example_thumb('Calle', +13,+290, 'recursos/mc.png', load_videopano_example(); );

    </action>

    <action name="load_videopano_example">

    hidethumbs();

    delayedcall(0.75,

    loadscene(video_scene, null, MERGE|KEEPMOVING, BLEND(1));

    vr_menu_setvisibility(true);

    );

    </action>

    I have the following configuration within the video scene:

    <!-- set the default view -->

                <view architectural="1.0" hlookat="166.3919168177277" vlookat="0.17924950862252786" fov="109.63989002836743" fovtype="DFOV" limitview="range" vlookatmin="-180" vlookatmax="1.766770886879129"  fovmin="75" fovmax="150" distortion="0.0"/>

    But changing the values does not change anything in the perspective of the video as it did when I had the first video configuration that I indicated in the first comment.

    Hello everyone, I need to change the initial view of a videopano. I had managed to do it by changing "vlookat" and "hlookat". Having the videopano in this way:

      <!-- include the videoplayer plugin -->

                <plugin name="video" keep="true"

                            url="%VIEWER%/plugins/videoplayer.js"

                            videourl="recursos/mc.mp4"

                            loop="false"

                            pausedonstart="true"

                            visible="false"

                            panovideo="true"

                            onloaded="mariecurie();"

                            />

    But the video was too heavy so I had to upload it in the following way:

    <!-- include the videoplayer plugin -->

                <plugin name="video" keep="true"

                            url="%VIEWER%/plugins/videoplayer.js"

                            videourl="https://abarcadigital.es/cientificassev…recursos/mc.mp4"

                            loop="false"

                            pausedonstart="true"

                            visible="false"

                            panovideo="true"

                            onloaded="mariecurie();"

                            />

    And now the change of perspective that I had configured does not work for me. Someone knows what can occur? Thanks in advance.

    Yes, I managed to solve it with another forum thread in which they asked something similar, I added: set(view.limitview, range)

    <plugin name="gyro" devices="html5" keep="true" url="%SWFPATH%/plugins/gyro2.js" enabled="false" camroll="false" friction="0.0" touch_mode="full" sensor="1" sensor_mode="1" softstart="0.5" autocalibration="false" desktopsupport="false" onavailable="" onunavailable="" onenable="set(view.limitview, range);" ondisable="" ondenied=""/>

    and it works, but it is not as expected, because if, despite the limitation, you drag with your finger to see the blocked part you can still see it that part and it gets kind of crazy. Do you know what it could be due to? Thank you very much for the help!

    Hello everyone!

    I'm working on a project that involves a 360 image used as the main menu with various buttons leading to different videopanos. My goal is to provide an immersive and smooth experience on both Android and iPhone devices.

    During the development phase, I've noticed a peculiar behavior with the gyroscope button on mobile devices. When I start the project and I'm in the initial scene (360 photo), the gyroscope button in the bottom menu is present and works correctly. However, when accessing a videopano, this button disappears.

    This issue has left me puzzled, and I'm seeking guidance on how to address this problem. Has anyone experienced something similar or has knowledge of why this might be happening?

    I appreciate any help or suggestions you can offer. Is there any specific setting in krpano that I should adjust to ensure the gyroscope button remains visible even when switching to videopanos?

    Thanks in advance for your collaboration!

    Hello everyone,

    I'm encountering an issue while attempting to modify the button layout and size of the control bar in my krpano tour. Recently, I removed some buttons that I didn't need, and now I have gaps in the bar that I'd like to adjust for a more aesthetically pleasing interface.

    I'm trying to make these modifications in the vtourskin.xml file, specifically in the following section:


    <layer name="skin_control_bar" type="container" align="bottom" width="get:skin_settings.controlbar_width" height="calc:skin_settings.controlbar_height" x="0" y="get:skin_settings.controlbar_offset" onloaded="skin_calc_opened_closed();" zorder="3">

                <layer name="skin_control_bar_buttons" type="container" align="leftbottom" width="100%" height="get:skin_settings.controlbar_height">

                    <!--<layer name="skin_btn_prev" style="skin_base|skin_glow" crop="0|64|64|64" align="left" x="5" y="0" scale="0.5" alpha="0.5" onclick="if(skin_settings.thumbs_loop, skin_nextscene_loop(-1), skin_nextscene(-1) );" />

    <layer name="skin_btn_thumbs" style="skin_base|skin_glow" crop="0|128|64|64" align="left" x="50" y="0" scale="0.5" ondown="skin_showmap(false); skin_showthumbs();" />

    <layer name="skin_btn_map" style="skin_base|skin_glow" crop="64|128|64|64" align="left" x="90" y="0" scale="0.5" ondown="skin_showthumbs(false); skin_showmap();" visible="false" />-->

                    <layer name="skin_btn_navi" type="container" align="center" x="0" width="240" height="32">

                        <layer name="skin_btn_left"  style="skin_base|skin_glow" crop="0|192|64|64"  align="center"      x="-100" y="0"  scale="0.5" ondown="set(hlookat_moveforce,-1);" onup="set(hlookat_moveforce,0);" />

                        <layer name="skin_btn_right" style="skin_base|skin_glow" crop="64|192|64|64" align="center"      x="-60"  y="0"  scale="0.5" ondown="set(hlookat_moveforce,+1);" onup="set(hlookat_moveforce,0);" />

                        <layer name="skin_btn_up"    style="skin_base|skin_glow" crop="0|256|64|64"  align="center"      x="-20"  y="0"  scale="0.5" ondown="set(vlookat_moveforce,-1);" onup="set(vlookat_moveforce,0);" />

                        <layer name="skin_btn_down"  style="skin_base|skin_glow" crop="64|256|64|64" align="center"      x="+20"  y="0"  scale="0.5" ondown="set(vlookat_moveforce,+1);" onup="set(vlookat_moveforce,0);" />

                        <layer name="skin_btn_in"    style="skin_base|skin_glow" crop="0|320|64|64"  align="center"      x="+60"  y="0"  scale="0.5" ondown="set(fov_moveforce,-1);"     onup="set(fov_moveforce,0);" />

                        <layer name="skin_btn_out"   style="skin_base|skin_glow" crop="64|320|64|64" align="center"      x="+100" y="0"  scale="0.5" ondown="set(fov_moveforce,+1);"     onup="set(fov_moveforce,0);" />

                    </layer>

                    <layer name="skin_btn_gyro"      style="skin_base|skin_glow" crop="0|384|64|64"  align="center"      x="+140" y="0"  scale="0.5" onclick="switch(plugin[skin_gyro].enabled); if(plugin[skin_gyro].enabled, skin_showmap(false));" visible="true" devices="html5" />

                    <layer name="skin_btn_vr"        style="skin_base|skin_glow" crop="0|0|80|64"    align="center"      x="+146" y="0"  scale="0.5" onclick="webvr.enterVR();" visible="false" />

                    <layer name="skin_btn_fs"        style="skin_base|skin_glow" crop="0|576|64|64"  align="right"       x="90"   y="0"  scale="0.5" onclick="switch(fullscreen);" devices="fullscreensupport" />

                    <layer name="skin_btn_hide"      style="skin_base|skin_glow" crop="0|448|64|64"  align="right"       x="50"   y="0"  scale="0.5" onclick="skin_hideskin()" />

                    <layer name="skin_btn_show" type="container" bgcapture="true" align="bottom" width="100%" height="get:skin_settings.controlbar_height" y="calc:skin_settings.controlbar_height - skin_settings.controlbar_offset_closed" onclick="skin_showskin()" onhover="tween(alpha,1.0);" onout="tween(alpha,0.25);" ondown.touch="onhover();" onup.touch="onout();" visible="false" capture="false" alpha="0.0">

                        <layer name="skin_btn_show_icon" style="skin_base" crop="64|448|64|64" scale="0.5" align="bottom" y="2" enabled="false" />

                    </layer>

                    <!--<layer name="skin_btn_next" style="skin_base|skin_glow" crop="64|64|64|64" align="right" x="5" y="0" scale="0.5" alpha="0.5" onclick="if(skin_settings.thumbs_loop, skin_nextscene_loop(+1), skin_nextscene(+1) );" /> -->

                    </layer>

                </layer>


    I've attempted to adjust values in this section, but I'm not achieving the desired result. Could someone provide guidance on how to correctly modify the button layout and control bar size?

    I appreciate any help or suggestions you can offer.

    Thank you!

    Hello, I am using that version and it works for me. To do this, I comment on all the masks and leave only the one I want without commenting:

        <!--

    For an alternative skin design either change the <skin_settings> values

    from above or optionally include one of the predefined designs from below.

    -->

        <!-- <include url="skin/vtourskin_design_flat_light.xml" /> -->

         <!--<include url="skin/vtourskin_design_glass.xml" /> -->

         <include url="skin/vtourskin_design_ultra_light.xml" />

        <!-- <include url="skin/vtourskin_design_117.xml" /> -->

        <!-- <include url="skin/vtourskin_design_117round.xml" /> -->

        <!-- <include url="skin/vtourskin_design_black.xml" /> -->

    I hope it helps

    Hello everyone!

    I'm working on a project in krpano and encountering an issue with the video interface. Currently, there's a Play/Pause button in the center of the screen when a videopano is playing, and I'd like to either disable it or remove it entirely during video playback.

    I've located the responsible code in the videointerface.xml file, specifically in the Play/Pause button section:

    <!-- centered play/pause button -->
    <layer name="skin_video_playpause" keep="true" style="skin_base|skin_glow" crop="0|640|64|64" scale="0.75" align="center" alpha="0.0" autoalpha="true" state="hidden" onclick="skin_video_playpause_click();" />

    However, deleting this code doesn't make the button disappear from the tour. Does anyone have any suggestions on how I can disable or remove this button during videopano playback?

    Appreciate any help or guidance you can provide!

    Hello,

    Not sure this would be the smarter way but perhaps you could save time and coding by using the "onvideocomplete", https://krpano.com/plugins/videoplayer/

    Hope this helps :)

    "Thank you very much! I just solved it in a different way, as I was trying to add onvideocomplete="" within the video plugin, calling the action to return to the starting scene, but it wasn't working. In the end, it was resolved with the following action that runs at the beginning of the panoramic video scene:

    <action name="mariecurie">

    callwhen(plugin[video].time GT 045, vr_menu_loadhome(););

                </action>

    Where vr_menu_loadhome(); is the action to return to the main scene.

    I'm sharing the solution here in case it can be helpful to someone else."

    Hello everyone,

    I'm working on a krpano project where I have a main scene acting as a menu with various buttons leading to different videopanos. My goal is to make the system automatically return to the main menu when reaching the end of a videopano.

    Currently, I've implemented a solution by adding a hotspot at the end of the videopano with the following parameters:

    <hotspot name="volver_menu_final_escena" distorted="true" visible="false" url="recursos/mapa.png" alpha="0" scale="1" scale.mobile="1" hlookat="0" vlookat="0" fov="120"  onover.addevent="volverMenuLoaded();" onhover.addevent="volverMenuLoaded();" onclick="volverMenuLoaded();" />


    <action name="volverMenuLoaded">

    vr_menu_loadhome();

    ocultar_titulo();

    </action>

    This solution works fine on computers and VR headsets, but I'm facing difficulties making it effective on mobile devices.

    Does anyone have any ideas or suggestions on how to make this functionality work seamlessly on mobile devices as well?

    I appreciate any help or guidance you can provide. Thank you!