Renderer pro
Find the gumroad product page here
Requirements
A Windows PC with a CUDA supported GPU. You can check if your GPU meets the requirement if it is in this list.
Features
Convert any 2D, VR180, or SBS 3D video
Frame interpolation for faster processing
Custom FFmpeg parameters: All the tools and settings you need for encoding.
Custom depth resolution and iterations: Find the perfect performance/quality balance.
Bilateral filtering: Reduce noise in your outputs.
Export individual frames (JPG, PNG) or video.
Application usage guide
Below is a guide to use the program, with some best practices, for you to get the best results possible.
User inputs
Settings related to video/image exporting, located in the first panel of the application:
Input video
Input video. For VR180, If it’s not 2:1 ratio, it will be resized.
Time range
The time range of the input video to convert. The default is the complete video.
FFmpeg parameters
Only applicable when exporting to video. Sets output options, lets you customize encoding settings like buffer size, audio/video codecs, add custom filters, or any FFmpeg output option available.
For example, adding "crf" and "10" in a column is the equivalent of adding "-crf 10" in your usual FFmpeg command.
Output type
Choose between exporting video (with the selected FFmpeg parameters) or individual frames in JPG or PNG format.
Output path
Output file path and name in the case of exporting as video, and output folder in the case of exporting individual frames as images.
Settings related to the creation of the depth map.
Depth Offset: For SBS conversion only, controls how much things "behind the screen" are going to have depth.
Depth Clipping: For SBS conversion only, controls the depth range, higher values means closer objets are not going to clip.
Baseline:
The distance between the center of the two stereo cameras (in meters). If you don’t know it, the default is usually a good guess (average human IPD).
Frame Interpolation:
Only a portion of the frames will be processed, then intermediate frames will be interpolated to the original frame rate (only for the depth maps). This makes processing faster but adds artifacts, and reduced accuracy in the intermediate frames.
Depth size:
The width of the resolution that the model will be run at. Higher resolution will result in higher detail at the expense of higher memory usage and inference time.
Iterations:
Another method to get more details in the depth map, with each iteration a recurrent refinement is applied to the depth map. An optimal range is 3-20. Every additional iteration also adds inference time.
Bilateral filtering:
Some videos can result in noisy depth maps. This helps to reduce it by smoothing out the surfaces while maintaining the edges.
General advice
As processing times can get large, a good measure is using the “time range” option to test with smaller fragments of the video first. Or if you’re testing the depth map quality, export individual frames to PNG first.
The output dimensions are generally large, so be careful with the encoding settings you choose, so the quality is not degraded. The default settings give a generally good balance, but feel free to experiment.
On the same note, Quest 1 supports video decoding at a lower resolution, if you’re targeting that device, limit the output resolution, for example with the FFmpeg “scale” filter. I've found around 5400 width to be the hard limit.
At higher frame rates (>=60) interpolation is recommended as it is unnoticeable and provides a major speed up.
Last updated