News Examples Documentation Download Buy Forum Contact

Live Presenter Plugin for Krpano & Panotour Pro
by light_line - vr.developer786@gmail.com
Version 1.24

Description

This plugin enables you to integrate your virtual tour into reality with the help of a guide walking by your side in real-time. The incorporation of a video call into the virtual tour offers the live assistance of a specialist to tourists, real estate purchasers, students, and all other visitors, transforming a remote visit into an informative and memorable experience.

Features

  • This plugin has two different modes for creating a conference:
    1. Group Mode: All guest mics are on. Everyone can talk and request control over the tour. Perfect for one-on-one sessions or calls with a small group of people.
    2. Presenter Mode: All guest mics are off and everyone follows you through the tour. This mode is ideal for presentations and classes with a medium group of guests/students.
  • Monitor View: This feature can be used to track where users are currently looking within the 360° scene
  • Synchronized View: This feature can be used to ensure all users are experiencing the same view
  • Point of Focus: This feature can be used to direct the user towards a particular area of the 360° scene
  • Mouse Pointer Sharing: This feature can show the host mouse pointer position to the guests
  • No monthly subscription cost.
  • No software to install.

Participation Limitations

For Audio and Video, Live Presenter Plugin uses WebRTC to set up a Peer to Peer mesh network. This means that every person has a connection to every other person. If there are 6 people connected, your device is transmitting your audio/video signal 5 times.
This means that the number of people able to connect with full audio/video is mainly dependent on the bandwidth available on the devices.
Audio only sessions will require less bandwidth than video, and will theoretically allow more participants.

Network Support

Certain corporate networks and WiFi hotspots may block the Audio/Video connections, or not allow them due to security restrictions. We have workarounds in place, but they are not 100% guaranteed to work depending on your network configuration.
(if you need this plugin for a medium or big group, please contact me, I have some solution for it.)

Device Support

This plugin has been tested on the latest versions of Firefox, Safari, and Chrome on recent editions of Windows and macOS. It also works well on mobile Safari on iOS 14, as well as the latest Chrome browser on Android devices.
(your website should use HTTPS protocol)

Troubleshooting Live Presenter Plugin

  • Please make sure that the URL of your tour is on an HTTPS protocol. It needs to be https:// and It will not work on http://
  • Please make sure the mobile devices are not on power-saving mode.
  • Please make sure the clients use Safari on iOS devices and Chrome for Android devices.
  • Please make sure the clients using the latest versions of Chrome and Firefox on Windows and Mac OS.
  • If you want to use the tour in an iframe, please ensure you have added these attributes in the iframe code: allow=”accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture; camera; microphone;”
  • Try to use the “Incognito Mode” window.
  • if you are using the plugin in desktop PC, please test it with a mobile device or a laptop, sometime USB webcams have some conflict with browsers.
  • WebRTC Test Tool
    You can use the “WebRTC Test Tool” to test all the steps involved in the WebRTC (the protocol used by this plugin):
    https://test.webrtc.org
    this would help to find the possible problems better.

Buy / Order the plugin

NOTE - this is a commercial plugin - to use it - it must be purchased.

You can purchase this plugin through the link below.
Updates for this plugin are free!


The plugin download link will be provided within one day
(usually less than 6 hours)
If you are in the UK, you can not purchase this plugin.
39 € fixed price

More plugins by this developer

Syntax / XML Usage Example

<include url="plugins/conferencing_plugin/conferencing_plugin.xml" />
<plugin name="conferencing_plugin"
	url="plugins/conferencing_plugin/conferencing_plugin.js"
	keep="true"
	devices="html5"
	include_jquery="true"
	onInitialized="oninitialized();"
	align.normal="top"
	align.mobile="left"
	TURN_server=""
	TURN_username=""
	TURN_password=""
	onDisonnect="trace(onDisonnect);"
	onConnect="trace(onConnect);"
	password=""
	contextmenu_caption="Setup Conference"
	lang_onSyncViewWarning="The host is directing your view."
	lang_onSyncButton="Stop the View Syncing"
	lang_error="Error"
	lang_admin_leave_conference="Host has left the conference"
	lang_leave="has left"
	lang_guest_leave_conference="Guest has left conference"
	lang_low_speed_internet="2G is not supported. Please use a better internet service."
	lang_User_Scene="User Scene"
	lang_The_user_is_not_in_this_scene="The user is not in this scene"
	lang_HANG_UP="HANG UP"
	lang_HANG_UP_description="You will exit the live guided session and stop communication with the host (and other users if there were any). You will be able to continue navigating the tour"
	lang_POINT_OF_FOCUS="POINT OF FOCUS"
	lang_POINT_OF_FOCUS_description="This feature can be used to direct the user towards a particular area of the 360° scene"
	lang_SYNCHRONISED_VIEW="SYNCHRONISED VIEW"
	lang_SYNCHRONISED_VIEW_description="This feature can be used to ensure all users are experiencing the same view"
	lang_MONITOR_VIEW="MONITOR VIEW"
	lang_MONITOR_VIEW_description="This feature can be used to track where users are currently looking within the 360° scene"
	lang_SHOW_VIDEO_WINDOW="SHOW VIDEO WINDOW"
	lang_HIDE_VIDEO_WINDOW="HIDE VIDEO WINDOW"
	lang_Hide_SHOW_VIDEO_WINDOW="Hide/Show window"
	lang_UNMUTE_MICROPHONE="UNMUTE MICROPHONE"
	lang_MUTE_MICROPHONE="MUTE MICROPHONE"
	lang_PUSH_TO_TALK="PUSH TO TALK"
	lang_SHARE_THE_CONFERENCE_LINK="SHARE THE CONFERENCE LINK"
	lang_SHARE_THE_CONFERENCE_LINK_description="To get visitors to join your conference, share the this link with them."
	lang_Your_Name="Your Name"
	lang_Please_enter_your_name="Please enter your name"
	lang_Enter_Your_Name_to_Join_the_Conference="Enter Your Name to Join the Conference"
	lang_Enter_Your_Name_and_Choose_Participation_Method="Enter Your Name and Choose Participation Method"
	lang_Help="Help"
	lang_GROUP_MODE="GROUP MODE"
	lang_GROUP_MODE_description="All guest mics are on. Everyone can talk and request control over the tour. Perfect for one-on-one sessions or calls with a small group of people."
	lang_PRESENTER_MODE="PRESENTER MODE"
	lang_PRESENTER_MODE_description="All guest mics are off and everyone follows you through the tour. This mode is ideal for presentations and classes with a medium group of guests/students."
	lang_CANCEL="CANCEL"
	lang_Join="Join"
	lang_camera_permission_description="You need to allow this website to have access to your microphone and camera."
	lang_https_description="Please make sure the website 'https' is active."
	lang_Conference_has_no_active_member="Conference has no active member"
	lang_expired_conference_link="This conference link is expired.<br/>Please ask the conference host to give you a new link or you can generate your one!"
	lang_password_description="Please enter the conference password"
	lang_wrong_password="Oops, wrong password!"
	lang_reload_if_not_connect="We could not connect to the host, so we reload the page to solve the problem."		
	lang_mouse_annotation_mode="MOUSE POINTER SHARING MODE"
	lang_mouse_annotation_mode_description="Guest can see the host mouse position."
/>

Plugin Attributes

Attribute nameTypeDefault value
TURN_serverString
Sometimes, there are some users whose networks kept them from being able to access other clients. Especially corporate networks and users behind strict firewalls found themselves unable to use our Peer-to-Peer technology. While statistically, that was only about 10-15% of all users (guests and hosts combined)
in this situation, you have to use 3rd party TURN servers. (you can install open-source ones on your VPS or buy it from service providers.)
but as I said, in most cases, you would not need this option and you can ignore it.
Attribute nameTypeDefault value
onInitializedAction Event
  • This event will be called when plugin is initialized.

Plugin Actions

Action name
setup_conference();
  • setup conference
Examples
plugin[conferencing_plugin].setup_conference();
Action name
stop_conference();
  • stop conference
Examples
plugin[conferencing_plugin].stop_conference();
Action name
set_video_status();
  • Stop/Start streaming of the client video
Examples
plugin[conferencing_plugin].set_video_status(true/false);
Action name
set_audio_status();
  • Mute/Unmue streaming of the client audio
Examples
plugin[conferencing_plugin].set_audio_status(true/false);
Action name
set_synchronized_view();
  • Stop/Start synchronized view mode
Examples
plugin[conferencing_plugin].set_synchronized_view(true/false);
Action name
set_monitor_view_feature();
  • Stop/Start monitor view mode
Examples
plugin[conferencing_plugin].set_monitor_view_feature(true/false);
Action name
show_video_sidebar();
  • Show/Hide video sidebar
Examples
plugin[conferencing_plugin].show_video_sidebar(true/false);
Action name
set_target_icon();
  • Enable/Disable the point of focuse mode
Examples
plugin[conferencing_plugin].set_target_icon(true/false);
Action name
show_share_popup();
  • Show share popup
Examples
plugin[conferencing_plugin].show_share_popup();
Action name
update_conference_link();
  • set the conference URL in the "conference_link" variable
Examples
Action name
update_is_he_presenter();
  • if the user be host of the conference, this action would set the "is_he_presenter" variable "true"
Examples
plugin[conferencing_plugin].update_is_he_presenter();
trace(is_he_presenter);

License

This plugin is offered as a commercial plugin. It is provided "As Is" without warranty of any kind, either express or implied, including any warranty of quality, merchantability, or fitness for a particular purpose. In no event will the author of the plugin be liable for loss of data, costs of procurement of substitute goods or services or any special, consequential or incidental damages, under any cause of action and regardless of whether or not the plugin author have been advised of the possibility of such damage. This limitation will apply notwithstanding any failure of essential purpose of any limited remedy provided herein. In any event the plugin author will have no liability arising out of this agreement.