baffler / OBS-OpenVR-Input-Plugin

This OBS plugin provides an input plugin to 64bit OBS that allows capturing directly from OpenVR/SteamVR mirror surface in full resolution.
GNU General Public License v2.0
374 stars 35 forks source link

Feature request: Combined eye view #27

Open ragesaq opened 4 years ago

ragesaq commented 4 years ago

I have used OBS OpenVR plugin for a long time, and one thing I started doing about a year ago was using an image mask in obs and combining the two eyes for one view that looks a lot more natural other than the seam where the eyes are blended together. SteamVR recently added this as an option for the desktop display mirror. It would be nice if this was an option in the plugin, it would make for a simpler utilization that would make it more accessible to all.

BOLL7708 commented 4 years ago

Just FYI: https://github.com/baffler/OBS-OpenVR-Input-Plugin/issues/16#issuecomment-609501352

baffler commented 4 years ago

It's been a feature for awhile in the display mirror but it was only added recently to the actual SDK. It's something I'm working on currently though.

ragesaq commented 4 years ago

Awesome.

budwheizzah commented 4 years ago

I'm also going to be looking forward to this feature! I also use a mask to combine both images into a wide-fov product, and I even create stereoscopic versions of my videos. SteamVR's display vr feature does support this, but the display vr feature is highly inefficient. (even with only one perspective enabled, the display vr feature drops a LOT of frames while this plugin does not)

BOLL7708 commented 4 years ago

@budwheizzah just curious, are you using the Legacy Mirror or the VR VIew? I'm personally recording the VR View now specifically to get the merged eyes with an Index, and I get full 60 fps footage from my tests.

That said I put my headset to 120 Hz so even when reprojecting at 60 it'll match my output. I digress but here is a tool I made to check delivered frame-rate of the various capture methods, made for this thread.

budwheizzah commented 4 years ago

@budwheizzah just curious, are you using the Legacy Mirror or the VR VIew? I'm personally recording the VR View now specifically to get the merged eyes with an Index, and I get full 60 fps footage from my tests.

That said I put my headset to 120 Hz so even when reprojecting at 60 it'll match my output. I digress but here is a tool I made to check delivered frame-rate of the various capture methods, made for this thread.

I am most definitely not getting 60fps out of the Display VR feature, and no I'm not using legacy mirror. From our tests, from the PiMax to the VIVE and the Index, we had to use some sort of interpolation in post because the capture never sticks to 60. Further investigation showed the Display VR feature itself drops frames (one eye or two it doesn't matter, it drops frames), whether recording or not. Tests were done on systems with i7 8700, i7 6700k and i9 9900k cpu's all three with a GTX 1080.

In all cases, I was able to use this plugin as an alternative for mono (single eye) capture and sure enough, not one frame was missing.

I'll try out your tool, but more importantly my Index is set at 90Hz; I previously had a bad feeling going higher would strain the system but now since you're getting a steady 60 in there I feel like I need to try 120Hz as well.

BOLL7708 commented 4 years ago

Traditionally from the early days of public versions of SteamVR the mirror output was always, in my experience at least, half of the headset frame-rate. Meaning 45 Hz if the headset runs at 90 Hz, which would show up as dropped or duplicated frames in a recording. I noticed this when switching from capturing 30 Hz to 60 Hz 😅 The main issue people have bumped into now is getting only 30 Hz with WMR and I think Pimax headsets.

budwheizzah commented 4 years ago

So I had been aware about the half-rate display vr issue but sometime late last year, an update made SteamVR able to mirror 60fps at 90Hz and I tested this several times with low-fi graphics. However around March the display vr feature started dropping masses of frames again after a few updates. It's not a consistent "1 frame out of 2" it's rather extremely erratic; I've used the old 90Hz/45fps capture method before and it never looked this irregular.

Finally yesterday I tried 120Hz and the difference is DAY AND NIGHT. For some reason in this mode the erratic frame droppage is GONE, it barely ever actually drops any frames. I'm going to assume it works better with multiples of 60 (similar to the old half rate issue, just more erratic) but honestly, that completely fixed the problem.

Thanks!

PS: Still would love to see the plugin do stereo one day.

J4P032 commented 1 year ago

Hope it can be done to have more FOV in our recordings. Thanks!