This package includes custom_nodes, workflows for ComfyUI, and shellscripts git bash.
It was developed by me, Fortuna, and Iablunoshka, who is responsible for the insane speed of the algorithm. We did this in the hope, that we soon see more VR content, AI or classic.
The custom nodes and workflows simply the process of converting images and videos to full side-by-side (FSBS) that can be viewed in VR glasses (e.g. Meta Quest or HTC Vive) or glasses on 3D Monitors.
Click to the versions above to see examples you can view on your VR glasses.
If you publish your converter artwork, please be so kind and add this converter under Resources in your posted videos, that makes them easier to find. I'm looking forward to see your creations here on Civitai converted to FSBS ;-)
Our work on the asset is based on the great work of Sam Seen from ComfyUI_SSStereoscope, that gave us a good starting point.
Installation
ComfyUI Desktop
You need to install ComfyUI (Python 3.12), Git Bash (for Windows) and FFmpeg. Installing ComfyUI Desktop is simpler for this task, however, this tool has been developed with ComfyUI Portable (see below).
Windows Portable Package
If your GPU is not supported, or you have special hardware, you need to install Windows Portable Package by downloading the direct link from GitHub (i never tried manual install); it includes Python. Execute run_cpu.bat
Next Steps
In ComfyUI, if not already there, install Manager. (Download ZIP and move folder into ComfyUI_windows_portable\ComfyUI\custom_nodes .
Afterwards use the ComfyUI Manager to install other custom node packs.
comfyui_controlnet_aux 1.1.0
comfyui-videohelpersuite 1.6.1
bjornulf_custom_nodes 1.1.8
comfyui-easy-use 1.3.1
comfyui-custom-scripts 1.2.5
ComfyLiterals nightly
comfy-mtb 0.5.4
ComfyUI-Crystools 1.25.2 (optional but recommended)
Now, you can install the Stereoscopic custom node package with ComfyUI Manager.
After restart, test installation: Drop the workflow custom_nodes\comfyui_stereoscopic\examples\workflows\I2I_SBS_Converter.json into ComfyUI, select an image, e.g. custom_nodes\comfyui_stereoscopic\examples\input\Demo-Image.png and "Run". See workflow below.
Use the Model Manager to install the Upscale Model 4x_foolhardy_Remacri.
Finally, for ComfyUI Desktop the ports need to be changed, since the scripts are using the default port of ComfyUI Portable. Go to Settings->Server Config, and set the value for the port to 8188.
Batch input folders have to be created manually for now, they are used by the scripts:
mkdir input/sbs_in input/upscale_in
Documentation
Available on github. You will find there instructions how to use it from CLI (Git Bash Shell).
The idea is, to use a the batch_all shellscript, that goes through a processing pipleline to convert all you artwork based on a prepared convention, instead over individual configuration. But it's up to you.
Problems? Discord Support: Activation Link
The workflows
Img2Img
A simple I2I workflow looks like this:
The sbs converter script now support images (jpg and png) as well, so you can convert and view your image library over night in VR!
Vid2Vid
For V2V an api workflow and git bash shellscript exists. To simplify usage, please create two folders under the ComfyUI/input folder: upscale_in and sbs_in
Then place mp4 files in these folders, open a Git Bash shell (under Start->Git) and change directory (with cd) to your ComfyUI folder (you can use drag and drop instead of typing).
From there you can execute the followjng shell scripts delivered with Stereoscopic.
Upscale Script
Upscale is recommended to ensure a certain quality of SBS images and videos.
In ComfyUI folder call
./custom_nodes/comfyui_stereoscopic/api/batch_upscale.sh
It will upscale all videos from input/upscale_in to input/sbs_in, so you can directly call the sbs converter afterwards. Processed videos of input/upscale_in are moved down to subfolder "done".
SBS Converter Script
In ComfyUI folder call
./custom_nodes/comfyui_stereoscopic/api/batch_sbsconverter.sh 1.5 0
Where 1.5 is the depth, 0 the offset., It will convert all videos from input/sbs_in to output/fullsbs. Processed videos of input/sbs_in are moved down to subfolder "done".
Performance: On modern systems less then a second per frame at 480p resolution.
Crosseye
You have to set the "switch_sides" parameter on the node (Convert to side-by-side) to true to inverse the depth. There is no such parameter in the batch scripts, but you can patch the value in the python files of course.