{"id":13835509,"url":"https://github.com/dfaker/VR-reversal","last_synced_at":"2025-07-10T07:32:24.408Z","repository":{"id":43901524,"uuid":"272665142","full_name":"dfaker/VR-reversal","owner":"dfaker","description":"VR-Reversal - Player for conversion of 3D video to 2D with optional saving of head tracking data and rendering out of 2D copies.","archived":false,"fork":false,"pushed_at":"2024-05-21T22:30:48.000Z","size":7347,"stargazers_count":291,"open_issues_count":9,"forks_count":23,"subscribers_count":12,"default_branch":"master","last_synced_at":"2024-11-20T20:39:14.862Z","etag":null,"topics":["2d-video","3d-video","ffmpeg","mpv","projection-mapping","side-by-side","vr"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dfaker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-06-16T09:24:24.000Z","updated_at":"2024-11-20T05:56:20.000Z","dependencies_parsed_at":"2024-01-15T19:44:08.632Z","dependency_job_id":"b3487b11-0cac-4845-9109-c1c26f5029c9","html_url":"https://github.com/dfaker/VR-reversal","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/dfaker/VR-reversal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfaker%2FVR-reversal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfaker%2FVR-reversal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfaker%2FVR-reversal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfaker%2FVR-reversal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dfaker","download_url":"https://codeload.github.com/dfaker/VR-reversal/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfaker%2FVR-reversal/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264545168,"owners_count":23625404,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["2d-video","3d-video","ffmpeg","mpv","projection-mapping","side-by-side","vr"],"created_at":"2024-08-04T14:01:03.869Z","updated_at":"2025-07-10T07:32:23.314Z","avatar_url":"https://github.com/dfaker.png","language":"Lua","funding_links":[],"categories":["Other"],"sub_categories":[],"readme":"# VR-reversal\n\nUses 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.\n\n![Example output](https://github.com/dfaker/VR-reversal/blob/master/example.gif?raw=true)\n\n# Installation and Usage:\n\n- Download the lastest MPV https://mpv.io/\n- Download the [360plugin.lua](https://raw.githubusercontent.com/dfaker/VR-reversal/master/360plugin.lua) plugin from this repo.\n- Play a video using the plugin with the command: `mpv --script=360plugin.lua --script-opts=360plugin-enabled=yes videoFile.mp4`\n\nIf 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.\n\nIf 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.\n\nAlternatively rather than using the command line, Microsoft Windows users may choose to:\n\n- 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.\n- Run `vr-reversal.bat`\n- Drag and drop videos onto the MPV window.\n\n# Controls\n\nYou can press `?` to show all of the keyboard controls on screen at any time.\n\nWhen the player is started, if the script is automatically enabled, you'll be looking straight forwards. If not type:\n\n- `v` to toggle the main feature on or off.\n\nThe 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.\n\n- `y` Increase resolution\n- `h` decrease resolution\n\nControl where you're looking with the mouse:\n\n- MouseLook: click anywhere in the video and your mouse position will control the camera, click again to stop mouse control\n- MouseScroll: zoom in and out\n\nor alternately look around with these keys:\n\n- `i`,`j`,`k`,`l` look around \n- `u`,`o` roll head\n- `=`,`-` zoom\n- `TAB` center view\n\nAdditional controls:\n\n- `t` switch the eye you're looking through between left and right\n- `e` switch the video scaler between nearest neighbour and bicubic\n- `g` toggle mouse smoothing\n- `n` start / stop logging head motions to file (for later rendering)\n- `?` display reminder of keyboard and mouse controls\n\nAdvanced projection controls:\n\n90% 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:\n\n- `r` toggle stereo mode between top/bottom and side by-side\n- `b` cycle input fov bounds between 180,360 and 90\n- `1` cycle through input projections\n- `2` cycle through output projections\n- `p` cycle through 2D output modes including flat 2D, reprojected side by side and anaglyph modes.\n\nMost of the standard default MPV controls are maintained:\n\n- `Arrow keys` seek through video\n- `SPACE` pause\n- `f` fullscreen toggle\n- `9`,`0` or `/`,`*` volume up and down\n- `m` mute\n\nAnd finally when you are done:\n\n- `q` quit\n\nYou can configure the default keybindings in the `script-opts/360plugin.conf` file, or override them in your `input.conf` file as usual.\n\n# 'Head' Motion Logging and saving your clips\nIf 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/\n\nThe 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.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdfaker%2FVR-reversal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdfaker%2FVR-reversal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdfaker%2FVR-reversal/lists"}