I did a fork of vr-video-player a long time ago to add some missing feature. I decided to share them this community, so I cleaned my code, and pushed them on vr-video-player-moon (I updated the name to avoid mixing project).
I added:
- Add flag
--strokers-lib
and--funscript-path
to use the strokers MPV plugin. Environment variableSTROKERS_LIB
can be used as a replacement for the flag --strokers-lib
I had my own funscript player implementation but it was very crappy and this plugin is very clean. - Add flag
--defisheye-fov <fov|200|190>
and a keybindingf
to defisheye a VR video.
The key “f” rotate between 0 (disable), 190 and 200 during play. - Add keybinding for color adjustment:
Shift: apply multiplier factor of 5 for all inputs: seek, zoom, color, volume
Ctrl: invert the color and volume adjustment:
UP: zoom in
Down: zoom out
Left: seek backward
Right: seek forward
keypad 0: reset rotation
keypad / : reset color and volume from load profile
keypad 1 : Increase contrast by 1
keypad 2 : Increase brightness by 1
keypad 3 : Increase gamma by 1
keypad 4 : Increase saturation by 1
keypad 5 : Increase volume by 5
Example:
Ctrl+keypad 1 : Decrease contrast by 1
Shift+Right : Seek forward by 25, instead of 5
Ctrl+Shift+keypad 4 : Decrease saturation by 5
--defisheye-fov
is not the best way because it is mapping the 200° fish-eye to a 180° half-sphere. But I am looking to implement it a real mapping of the fish-eye to a sphere. But I am looking to implement a real mapping of the fish-eye.
For me, it is the best setup to play VR video on Linux with a OSR2 or SR6. I am using Monado to handle my headset with SteamVR.
With the new adding of the funscript layer from the MPV plugin, it reaches a very good stage for Linux users with an old headset without support for controllers
Summary of features added:
- Save and restore window position
- Add flags:
--strokers-lib
: Path to the strokers MPV plugin. Environment variableSTROKERS_LIB
can be used as a replacement for the flag --strokers-lib--funscript-path
: Path to a custom funscript (require the Strokers lib)--fisheye-fov <fov>
: flag to fully support projection for fish-eye video with 190/200/210/220 FoV--defisheye-fov <fov|200|190>
: defisheye to 180° view--mouse-camera
: Add mouse drag and drop for camera rotation
- Add keybinding:
f
: for fisheye managementShift+F
: Switch between fisheye to no-fisheye projectionf
in fisheye projection will rotate between different FoV: 190,200,210,220f
in sphere projection will rotate between different FoV using the defisheye: 0 (disabled),190,200,210,220
Shift
: apply multiplier factor of 5 for almost all inputs: seek, zoom, color, volumeCtrl
: invert the color and volume adjustment:UP: zoom inDown
: zoom outLeft
: seek backwardRight
: seek forwardkeypad 0
: reset rotationkeypad /
: reset color and volume from load profilekeypad 1
: Increase contrast by 1keypad 2
: Increase brightness by 1keypad 3
: Increase gamma by 1keypad 4
: Increase saturation by 1keypad 5
: Increase volume by 5
Example:Ctrl+keypad 1
: Decrease contrast by 1Shift+Right
: Seek forward by 25, instead of 5Ctrl+Shift+keypad 4
: Decrease saturation by 5