HereSphere VR Video Player for Quest 2/Pro/3 supports Handy, Keon, Launch and Passthrough

@HereSphere hi there! Wondering if you had any roadmap items to share for new features/capabilities of the Quest 3 or anything new within Airlink. Thanks!

Hi im just learning about the quest 2 with heresphere and scripting… i have a handy and a pc as well… do people download videos and the scripts onto pc and then load it to the quest2 and play it via heresphere? I am a noob sorry.

Yes, you can either use SMB (shared folders) or XBVR to stream videos and scripts from your PC. For SMB, you can follow this guide. I’d recommend using your computer’s hostname instead of the IP address.

For XBVR (which I’d recommend if you want thumbnails and tags), follow these instructions:

  1. Download xbvr from here (make sure to select the correct one for your computer): Releases ¡ xbapps/xbvr ¡ GitHub

  2. Run xbvr on your computer.

  3. Launch your computer’s web browser. Type in http://127.0.0.1:9999 to access the xbvr UI.

  4. Go to xbvr options and add your folders with your videos.

  5. Go to scrapers and add the sites that your videos came from.

  6. After the scrapers finish running, go to files. Your videos and scripts should show up under matched. If they don’t, go to unmatched, and then click on the match button, and select the correct scene for both your video and script.

  7. Go back to xbvr options. Click on players. Make a note of the xbvr IP address, which probably starts with http://192. If you want to add the ability to delete files and sync data from HereSphere, click on the Heresphere tab, and then enable the corresponding toggles.

  8. Launch HereSphere, go to the web browser, input the xbvr IP address from step 7. Press the web api button that looks like a play button on 4 tiles to the left of the input box.

  9. Once the HereSphere web UI loads, click on a thumbnail to play the video. If you couldn’t match some videos, click on the “unmatched” button near the top of the HereSphere web view UI.

You can connect to your Handy in HereSphere by clicking on the icon that looks like a play button with radio waves above the seekbar. That will open up the synchronized peripherals menu. Input your connection key and enable the toggle.

5 Likes

If I create video tags I lose them if I change the location of the video.

Is there a way to keep the video tags?

Yes, go to the video settings. there’s a save icon next to the button labeled “Global Settings”. Click on that button to save an “hsp” file to the same directory as the video. Move that file along with your video. When you open the video in a new location, it’ll load the settings/tags contained in the hsp file.

1 Like

Thank you :slight_smile: Your software is amazing.

When I add a new name for a video tag, a suggestion comes up on the left hand side.

These suggestions are very useful, a great feature you have added there :slight_smile:

Is it possible to reset these suggestions, or have it show the same name in mixed or different cases?

For example, I used a lowercase name for a video tag, ‘handjob’, but then decided I wanted all the tag names uppercase. Subsequently, when I create a new video tag for the uppercase version, ‘HANDJOB’, the lowercase ‘handjob’ suggestion is shown, so I have to manually input ‘HANDJOB’ each time rather than clicking on the suggestion.

You currently can’t edit the auto-suggestions, but it’s on the to-do list.

1 Like

Is there bluetooth support for the Handy?

Not yet, it’s on the to-do list, but probably won’t get around to working on it for a while.

My script latency changes everytime I reconnect to the handy (guess my router, which came with my apartment, isn’t very great). Having to spend a minute or two playing around with the sync offset to find the correct value every time is getting kind of old. Anyone have any suggestions for a quick methodology to find/dial a good offset each time I connect Heresphere?

With it be possible for Heresphere to autodetect an appropriate offset with some sort of ping like technique?

HS pings the server before every play/pause/seek command and tries to calculate the best latency from that data. Not sure if it’s the best approach, but it’s typically pretty accurate when I try it (usually 0 time offset works for me, maybe +/- 100ms). Try setting the time offset to a lower value, and then just pause and play the video.

Ah ok, I didn’t realise it already has that built in. I’ll test more leaving it at 0. Although so far I’ve been landing at values between -150 - -300 (I’m not in the US) which makes me think in my case its not getting a good value with this implementation.

How can I toggle the display of XBVR tags with a video that has a Heatmap? If the scene doesn’t have a script the tags show up normally above the play bar.

Are you sure the tags are formatted correctly? In order for them to appear above the seekbar, there need to be multiple tags in the first tag track at the top. Check the video tags menu in HereSphere. I tested on my system, and tags display correctly with the heatmap enabled. Most likely, it’s just coincidence that your scripted videos don’t have correctly formatted tags.

It probably is. Alright I’ll take a look thanks!

Any news on the next update for HereSphere and what features will be added?

I have only one word for you: passthrough

1 Like

HereSphere update v0.10.0 adds support for passthrough with chromakey and alpha masking, as well as some quality of life features. The update is available on App Lab (RC channel) and itch.io. Try the free demo.

Passthrough:

  • Added support for passthrough. You can switch to passthrough mode on a global basis (for all videos) by going to the user settings, clicking on the background dropdown box under the environment group, and then select passthrough. If you want to only enable passthrough for the current video, go to the advanced video setting when the video is playing, and then change the background dropdown box under the environment group to passthrough.

Chroma key masking:

  • Added chroma key masking, which removes parts of an image based on the color (useful for removing green screens for passthrough). To enable chroma key masking, go to the advanced video settings, and under the environment group, change the mask dropdown box to chroma key. Press the cogwheel icon next to the dropdown box to edit the chroma key mask settings. You can define up to three different chroma key colors, a light despill color, and a light injection color. Click on the eyedropper icon to select a color by choosing a location in the image. Pixels that are similar in color to the chroma keys will be made transparent. You can define a cutoff value, soften value, exponent, and spill mask for each chroma key to specify the range of affected pixels. Pixels that are close to the light despill color will have their color adjusted to remove the tint of the despill color. This helps with removing green screen halos and skin tinted by the green screen. After the light despill operation, the color may look unnatural, so the light injection can be used to add color back into the image to make it more natural. For more details, view the tooltips by holding the grip button when hovered over the settings. (Note: for the best performance, leave the exponent settings at 1, and the despill spill mask at 0).

Alpha packed masking:

  • Added alpha packed masking, which defines the alpha (opacity) of the image by packing it into another region of the image. To enable alpha packed masking, go to the advanced video settings, and under the environment group, change the mask dropdown box to alpha packed. Press the cogwheel icon next to the dropdown box to edit the alpha packed mask settings. The alpha coordinates shift x and shift y settings define the position of the alpha image relative to the normal colored image. The alpha coordinates scale x and scale y settings define the size of the alpha image relative to the normal colored image. For more details, view the tooltips by holding the grip button when hovered over the settings.

Quality of life improvements:

  • AB Loop times are now saved per video
  • Enabled keyboard and mouse support. Go to the keybindings menu, and then add your keybindings to the keyboard or mouse group (you can also press the load default keybindings button). There are some known issues. When typing in a number box, you will need to press esc first, and then press enter after you’re finished typing in a number. The mouse cursor movement doesn’t work correctly. I’ll try to fix in this in a future update.
  • Added heatmap opacity setting to the synchronized peripherals menu. Lowering the opacity will make the heatmap more transparent, so it’s easier to see the current playback position.

HereSphere Web API:

  • Added “alphaPackedSettings” and “chromaKeySettings” field, which can be used to load settings for alpha/chroma key masks. Check the HereSphere discord for more details on the HereSphere web API.
  • Added “hspArray” field, which contains the url of hsp file and the version of the hsp file. Newer hsp files aren’t backwards compatible with older HereSphere installations, so the version number is used to determine which hsp file can be read.
21 Likes

Thanks for the big update!