Skip to content

Video calibration PROOF OF CONCEPT ONLY#1805

Draft
jabberrock wants to merge 1 commit intoSlimeVR:mainfrom
jabberrock:jabber-video-calibration-4
Draft

Video calibration PROOF OF CONCEPT ONLY#1805
jabberrock wants to merge 1 commit intoSlimeVR:mainfrom
jabberrock:jabber-video-calibration-4

Conversation

@jabberrock
Copy link
Copy Markdown
Contributor

@jabberrock jabberrock commented Apr 8, 2026

Video Calibration

Google Drive: https://drive.google.com/drive/folders/1x7dOiMkjm9WXn3dWJ1B90G9zGrkTYEdA?usp=drive_link

Camera app

  1. Install slimevr-camera.apk from Google Drive on your Android phone

SlimeVR OpenVR Driver

  1. Download the updated SlimeVR driver from https://github.com/SlimeVR/SlimeVR-OpenVR-Driver/actions/runs/21932058127
  2. Extract into C:\Program Files (x86)\Steam\steamapps\common\SteamVR\drivers, replacing the steamvr folder
  3. (Maybe?) Disable the SlimeVR Feeder App by renaming C:\Program Files (x86)\SlimeVR Server\Feeder-App\ to Feeder-App-Disabled

SlimeVR Server

  1. Extract SlimeVR-win-x64.zip from Google Drive into its own folder
  2. Copy jre from c:\Program Files (x86)\SlimeVR Server\jre into the folder
  3. Run slimevr.exe

Video Calibration

  1. Start the camera app on your phone
  2. Click on "Video Calibration" in the sidebar
  3. Click "Start Calibrating"
  4. Give "OpenJDK" access to network (so that it can talk to the camera app)
  5. Follow the instructions

Code

  1. Camera App: https://github.com/jabberrock/SlimeVR-Camera-Android/tree/main/app
  2. SlimeVR Server: Video calibration PROOF OF CONCEPT ONLY #1805

Replay Data

The whole process is saved to %AppData%\dev.slimevr.SlimeVR\VideoCalibration. If you provide me with a zipped copy, I can investigate any problems.

output.mp4

SlimeVR/SolarXR-Protocol#204

@github-actions github-actions bot added Area: Skeletal Model Deals with the model of the skeleton and its pose Area: Application Protocol Related to communication with apps like the GUI, overlay, games Area: Hardware Protocol Related to communication with hardware/software trackers Area: GUI Related to the GUI Area: Translation Improvements or additions to translations Area: Server Related to the server labels Apr 8, 2026
@jabberrock jabberrock force-pushed the jabber-video-calibration-4 branch from 0398142 to 487e241 Compare April 8, 2026 05:44
@NickAcPT
Copy link
Copy Markdown

NickAcPT commented Apr 8, 2026

I'm guessing this isn't the right forum to write this feedback, but as an outsider, this is very interesting! (I couldn't find a thread in beta-testing-forum nor dev-forum from my quick skim so apologies otherwise!)

I've ran this locally and had somewhat good results on having it estimate my body proportions!
Although I did find the pose model used struggling a bit because sometimes it would struggle to pick up my pose. I've also hit a timeout ("Video calibration timed out") for taking too long, and had to look at the logs to understand what happened.


Quick aside, having a phone camera/webcam calibrated and aligned with the SteamVR playspace sounds very useful for things like LIV - would it be feasible to have a faux location tracker for a camera with SlimeVR based on the same technique of camera calibration?

@jabberrock
Copy link
Copy Markdown
Contributor Author

@NickAcPT how the heck did you manage to figure out how to run it with zero instructions? That's insane!

It's interesting that the pose detection doesn't work great for you. Do you know what it struggles on? Video calibration timed out is probably because the pose detection model is running too slowly, and skipping a lot of frames.

Re: LIV, I don't really know how to integrate with it, but I do recover the camera position. It's probably possible to extract the "camera position detection" code into a tiny app. Nothing there is SlimeVR-specific.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: Application Protocol Related to communication with apps like the GUI, overlay, games Area: GUI Related to the GUI Area: Hardware Protocol Related to communication with hardware/software trackers Area: Server Related to the server Area: Skeletal Model Deals with the model of the skeleton and its pose Area: Translation Improvements or additions to translations

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants