Print at Dec 18, 2025, 10:42:08 AM

Posted by ilpelle at Jun 13, 2023, 11:45:53 PM
Headless Video Rendering
Hi everybody,
And thanks first of all for this excellent software.

I have used it proficiently in the past month to prepare a 3D model of my new home. Just brilliant.

I wanted to produce a high-quality (exceptionally long) video using the nice yafaray renderer, but quickly noticed that it would take forever on my laptop. I honestly didn't want to burn my second fan.

So I decided to attempt a headless video renderer program to run the rendering on one of my 48-core HPC machines. This wasn't as easy as expected, but you can find the source code repository here. I hope it can be of any help to somebody.

In line with the Console Photo Generator approach, the program is taking the camera path from the SH3D file. So, you can prepare a path using the "Video" window, save it, and run it on your server in headless mode. The SH3D file format is just clever for this stuff.

I am not particularly happy with the code quality, but much of the noise is related to the quality of the JMF library (sick), which cannot consistently make a difference between the GUI and the processing part. With some class overriding, running in AWT headless mode was possible.

I didn't test the codebase thoroughly, though: only a couple of samples from the SH3D website and my massive model. Should you find any problem, open an issue on GitHub.
Also, I tested it only on Linux. Due to a lack of time, I couldn't run it on my Windows and Mac OS machines. I may try to check that in the future if there is some interest.

Thanks for this great program, I hope my small contribution may benefit someone.

PS: the next step could be to drop in MPI and support clusters to render high-quality videos, but the code should need some refactoring at the data source level. I am not sure I will ever find the time for that, but if anyone is interested, I may spend a couple of days on this.