Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dfaker/VR-reversal
VR-Reversal - Player for conversion of 3D video to 2D with optional saving of head tracking data and rendering out of 2D copies.
https://github.com/dfaker/VR-reversal
2d-video 3d-video ffmpeg mpv projection-mapping side-by-side vr
Last synced: about 1 month ago
JSON representation
VR-Reversal - Player for conversion of 3D video to 2D with optional saving of head tracking data and rendering out of 2D copies.
- Host: GitHub
- URL: https://github.com/dfaker/VR-reversal
- Owner: dfaker
- License: unlicense
- Created: 2020-06-16T09:24:24.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-05-21T22:30:48.000Z (7 months ago)
- Last Synced: 2024-08-05T14:16:20.542Z (5 months ago)
- Topics: 2d-video, 3d-video, ffmpeg, mpv, projection-mapping, side-by-side, vr
- Language: Lua
- Homepage:
- Size: 7.01 MB
- Stars: 269
- Watchers: 12
- Forks: 22
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-mpv - vr-reversal - View 3D side-by-side video as a 2D video, allows you to look around and zoom within the video, logs the head motions to a file for later rendering out to a 2D video with ffmpeg. (Other)
README
# VR-reversal
Uses MPV and a plugin to play a 3D side-by-side video as a 2D video, allows you to look around and zoom within the video, optionally logs the head motions to a file for later rendering out to a 2D video with ffmpeg.
![Example output](https://github.com/dfaker/VR-reversal/blob/master/example.gif?raw=true)
# Installation and Usage:
- Download the lastest MPV https://mpv.io/
- Download the [360plugin.lua](https://raw.githubusercontent.com/dfaker/VR-reversal/master/360plugin.lua) plugin from this repo.
- Play a video using the plugin with the command: `mpv --script=360plugin.lua --script-opts=360plugin-enabled=yes videoFile.mp4`If you want to enable this script automatically on startup in your regular MPV, you can place the config file from the `script-opts` directory in the corresponding MPV config directory, along with the script itself in MPV's `scripts` directory. To activate auto-starting of the script every MPV session, change `enabled=yes` in the config file.
If you want to save the 2D versions videos rather than just watch them you'll need a recent version of ffmpeg from https://ffmpeg.org/ but it's not needed just for viewing.
Alternatively rather than using the command line, Microsoft Windows users may choose to:
- Place mpv.exe, [vr-reversal.bat](https://raw.githubusercontent.com/dfaker/VR-reversal/master/vr-reversal.bat) and [360plugin.lua](https://raw.githubusercontent.com/dfaker/VR-reversal/master/360plugin.lua) (the latter two are available as a Zip file in [releases](https://github.com/dfaker/VR-reversal/releases)) in the same directory.
- Run `vr-reversal.bat`
- Drag and drop videos onto the MPV window.# Controls
You can press `?` to show all of the keyboard controls on screen at any time.
When the player is started, if the script is automatically enabled, you'll be looking straight forwards. If not type:
- `v` to toggle the main feature on or off.
The video will start at a low resolution, if you'd like more detail press `y` increase the initial preview quality `h` to reduce it again.
- `y` Increase resolution
- `h` decrease resolutionControl where you're looking with the mouse:
- MouseLook: click anywhere in the video and your mouse position will control the camera, click again to stop mouse control
- MouseScroll: zoom in and outor alternately look around with these keys:
- `i`,`j`,`k`,`l` look around
- `u`,`o` roll head
- `=`,`-` zoom
- `TAB` center viewAdditional controls:
- `t` switch the eye you're looking through between left and right
- `e` switch the video scaler between nearest neighbour and bicubic
- `g` toggle mouse smoothing
- `n` start / stop logging head motions to file (for later rendering)
- `?` display reminder of keyboard and mouse controlsAdvanced projection controls:
90% of modern vr releases work perfectly with the defauls of 180 degree 'hequirect' projection so you shound't need these unless playing older or unusually formatted content:
- `r` toggle stereo mode between top/bottom and side by-side
- `b` cycle input fov bounds between 180,360 and 90
- `1` cycle through input projections
- `2` cycle through output projections
- `p` cycle through 2D output modes including flat 2D, reprojected side by side and anaglyph modes.Most of the standard default MPV controls are maintained:
- `Arrow keys` seek through video
- `SPACE` pause
- `f` fullscreen toggle
- `9`,`0` or `/`,`*` volume up and down
- `m` muteAnd finally when you are done:
- `q` quit
You can configure the default keybindings in the `script-opts/360plugin.conf` file, or override them in your `input.conf` file as usual.
# 'Head' Motion Logging and saving your clips
If you have pressed `n` during your session your 'head' movements in the video will be logged to a file named `{originalFilename}_3dViewHistory_{sectionNumber}.txt` this is in the format of motion commands to be processed by ffmpeg https://ffmpeg.org/The script will create a batch file `convert_3dViewHistory.bat` after you exit the player, if you have ffmpeg installed you may simply run this file to perform the conversion to 2D .mp4 clips automatically.