OpenVR-Capture

OpenVR-Capture v1.8.0

pigney

New Member
pigney submitted a new resource:

OpenVR-Capture - Capture directly from OpenVR/SteamVR in full resolution.

This plugin allows capturing directly from OpenVR/SteamVR in full resolution.
A fork of OBS-OpenVR-Input-Plugin, originally made by Keijo "Kegetys" Ruotsalainen

View attachment 109090

---------

Installation:
1. Download latest release .zip
2. Extract all files to the root of your OBS Studio installation.

---------

Q. What benefits does this have over the original?
A.
- initialization...

Read more about this resource...
 

Lou-Chasm

New Member
Downloaded and used without issue. Works easily with Source-Record but will need to put a aspect ratio into the source's Filters Chain Before Source Record to ensure the source scales to 1920x1080 instead of being "cropped" to an aspect ratio. I have used Bilinear filtering with no noticeable pull but would suggest using Lanczos or point to try to better preserve quality in scaling.
footage collected using this source with the source-record filter (bilinear scale filtering))
ovr.png
 

pigney

New Member
Downloaded and used without issue. Works easily with Source-Record but will need to put a aspect ratio into the source's Filters Chain Before Source Record to ensure the source scales to 1920x1080 instead of being "cropped" to an aspect ratio. I have used Bilinear filtering with no noticeable pull but would suggest using Lanczos or point to try to better preserve quality in scaling.
footage collected using this source with the source-record filter (bilinear scale filtering))
View attachment 109147
Currently working to replace the crop method with Aspect ratios, will prevent this issue. Almost finished :)
 

YorVeX

Member
It would be nice if this plugin had presets, as the plugin this is forked from had. Probably you don't have so many different VR headsets, but if we just had the feature (and maybe an example preset from the VR headset you own yourself) you could let the community help you add some.

They probably should be tied to each aspect ratio.
I would think for 16:9 people would want a bit of zoom and then either the top most area that doesn't have missing parts on the side because of the round render area, to get a somewhat centered view, or the area more towards the bottom for games where important things are happening like in shooters, where you would see the gun there. Currently it defaults to 0 offsets, which for 16:9 means we see the whole area that is cut off, which probably nobody wants.

Also those same 2 but with more zoom and then vertically centered might also make sense, otherwise what's the center in VR would be more to the left in the stream/recording.

It's all different trade-offs and it's nice that we can adjust it down to the pixel, but especially when starting to set it up it can be overwhelming and would be nice to have the presets as starting points. Also I think there are limited options that make sense:

1734251506024.png
 
Last edited:

pigney

New Member
It would be nice if this plugin had presets, as the plugin this is forked from had. Probably you don't have so many different VR headsets, but if we just had the feature (and maybe an example preset from the VR headset you own yourself) you could let the community help you add some.

They probably should be tied to each aspect ratio.
I would think for 16:9 people would want a bit of zoom and then either the top most area that doesn't have missing parts on the side because of the round render area, to get a somewhat centered view, or the area more towards the bottom for games where important things are happening like in shooters, where you would see the gun there. Currently it defaults to 0 offsets, which for 16:9 means we see the whole area that is cut off, which probably nobody wants.

Also those same 2 but with more zoom and then vertically centered might also make sense, otherwise what's the center in VR would be more to the left in the stream/recording.

It's all different trade-offs and it's nice that we can adjust it down to the pixel, but especially when starting to set it up it can be overwhelming and would be nice to have the presets as starting points. Also I think there are limited options that make sense:

View attachment 109958
The issue with making presets is that it is no longer headset specific, Steam Link does not have any “Stencil” so no part of the view is obstructed, Virtual Desktop has different quality presets which are all different resolutions, making presets for it overly complex, i opted to have manual zoom and offsets on-top of aspect ratio presets to give the user the freedom for their specific use case.
 

FerretBomb

Active Member
As this is a fork of the original, does it still have the memory leak bug when an OVR capture is present in a scene (even set not-visible), but OpenVR is not running?
 

pigney

New Member
As this is a fork of the original, does it still have the memory leak bug when an OVR capture is present in a scene (even set not-visible), but OpenVR is not running?
It doesn’t in my testing, i also believe this was an OpenVR SDK issue that was fixed sometime back in v1.10.30, this plugin uses v2.5.1
 

FerretBomb

Active Member
It doesn’t in my testing, i also believe this was an OpenVR SDK issue that was fixed sometime back in v1.10.30, this plugin uses v2.5.1
Thanks much! It was annoying to have to delete the source and re-create it every time. Wasn't aware of the origin of the issue, so also-thanks for the elaboration!

Also have to report an occasional crashing issue when switching between scenes. I'd thought it was only occurring when 'right eye' was unchecked, but was able to reproduce the crash going back and forth between two scenes with the same OVR capture. Going between scenes with two separate OVR captures caused it to occur significantly more often, and it appears if 'right eye' IS unchecked it happens much more often. Switching to/from an empty scene still caused an occasional crash. I've attached a crashlog in case it could help.

(I was going to report a crash-OBS-on-exiting-SteamVR bug, but it appears that was due to the LVK stabilization filter crashing when the OVR capture source disappeared.)

Not to give-a-mouse-a-cookie, but another question; is it possible to 'stitch' both eyes together? I know the LIV first-person stabilizer can do this to offer a wider source, but I'd imagine that there could be some warping issues given the perspective differences.
 

Attachments

  • Crash 2024-12-22 14-23-37.txt
    150 KB · Views: 25

pigney

New Member
Thanks much! It was annoying to have to delete the source and re-create it every time. Wasn't aware of the origin of the issue, so also-thanks for the elaboration!

Also have to report an occasional crashing issue when switching between scenes. I'd thought it was only occurring when 'right eye' was unchecked, but was able to reproduce the crash going back and forth between two scenes with the same OVR capture. Going between scenes with two separate OVR captures caused it to occur significantly more often, and it appears if 'right eye' IS unchecked it happens much more often. Switching to/from an empty scene still caused an occasional crash. I've attached a crashlog in case it could help.

(I was going to report a crash-OBS-on-exiting-SteamVR bug, but it appears that was due to the LVK stabilization filter crashing when the OVR capture source disappeared.)

Not to give-a-mouse-a-cookie, but another question; is it possible to 'stitch' both eyes together? I know the LIV first-person stabilizer can do this to offer a wider source, but I'd imagine that there could be some warping issues given the perspective differences.
The crashing is almost certainly to do with the initialization being asynchronous, this prevents OBS from freezing but in layman's terms if two sources of the plugin try to display at the same time, they overwrite each other and cause a crash. I'll have to make sure the plugin is thread-safe which may incur a small performance hit on first initialization.

Stitched eye view has been on my radar since I made this fork, definitely in my plans as a must-have feature, this will require rewriting a good portion of the DX11 sections though so it may take a little while.
 

YorVeX

Member
Not to give-a-mouse-a-cookie, but another question; is it possible to 'stitch' both eyes together? I know the LIV first-person stabilizer can do this to offer a wider source, but I'd imagine that there could be some warping issues given the perspective differences.
If you want to see how it looks, in SteamVR open the menu and choose "Display VR View". The VR View window then has a menu in the top left where you can select "Both Eyes" views.

As you said, because of the different perspectives you will see a "seam" where they are stitched together. I experimented a bit and found that depending on the distance that is currently visible and things like contrast, colors and patterns in this area it can be almost entirely invisible or look super bad and annoying.
 

FerretBomb

Active Member
Thanks for the update! :) It's appreciated, and should really help when trying to do both-eyes captures/effects.

Actually was coming here to report a bug: When exiting SteamVR with an OpenVR Capture source active, OBS crashes, but produces no crash-log. I thought it was the LVK stabilizer, but confirmed with an empty Scene Collection with a single scene containing only a single OpenVR Capture source with no filters. If it is set Visible, OBS crashes. If it is not-Visible, OBS continues running normally.

Reliably reproducible on OBS 31.0.0-v42, using a Quest 3 via SteamLink over wifi.
 

pigney

New Member
Thanks for the update! :) It's appreciated, and should really help when trying to do both-eyes captures/effects.

Actually was coming here to report a bug: When exiting SteamVR with an OpenVR Capture source active, OBS crashes, but produces no crash-log. I thought it was the LVK stabilizer, but confirmed with an empty Scene Collection with a single scene containing only a single OpenVR Capture source with no filters. If it is set Visible, OBS crashes. If it is not-Visible, OBS continues running normally.

Reliably reproducible on OBS 31.0.0-v42, using a Quest 3 via SteamLink over wifi.
I think i know what causes this and already had suspicions of the function, most likely something i overlooked, will post an update once fixed :)
 
Top