Print at Dec 17, 2025, 12:27:57 PM

Posted by beji at Mar 13, 2024, 4:12:03 AM
Re: Headless Video Rendering
Hi Alessandro Pellegrini

I managed to run your program on Linux. I also managed to compile and run this program on Windows.

I used Java 11 (openlogic-openjdk-11.0.22+7-windows-x64.msi) downloaded from https://www.openlogic.com/openjdk-downloads

To compile on windows:

javac -cp .;.\libs\* -d bin ^
.\src\picocli\CommandLine.java ^
.\src\it\alessandropellegrini\sweethome3d\headlessrenderer\ImageDataSource.java ^
.\src\it\alessandropellegrini\sweethome3d\headlessrenderer\CameraRenderer.java ^
.\src\it\alessandropellegrini\sweethome3d\headlessrenderer\HeadlessRenderer.java ^
.\src\it\alessandropellegrini\sweethome3d\headlessrenderer\jmt\HeadlessJMD.java ^
.\src\it\alessandropellegrini\sweethome3d\headlessrenderer\jmt\HeadlessPlaybackEngine.java ^
.\src\it\alessandropellegrini\sweethome3d\headlessrenderer\jmt\HeadlessMediaProcessor.java ^
.\src\it\alessandropellegrini\sweethome3d\headlessrenderer\jmt\HeadlessSourceModule.java ^
.\src\it\alessandropellegrini\sweethome3d\headlessrenderer\QuickTimeEncoder.java ^
.\src\it\alessandropellegrini\sweethome3d\headlessrenderer\CameraPath.java



To run on windows:

java -Dj3d.rend=noop ^
-Djava.awt.headless=true ^
-Djava.library.path=yafaray ^
-classpath bin;libs\jmf.jar;libs\j3dcore.jar;libs\vecmath.jar;libs\j3dutils.jar;libs\gluegen-rt.jar;libs\SweetHome3D.jar;libs\jogl-java3d.jar;libs\sunflow-0.07.3i.jar ^
it.alessandropellegrini.sweethome3d.headlessrenderer.HeadlessRenderer ^
-f 25 -s 1 -w 320 -h 240 -i File.sh3d -o File.mov


Here are the results:


Program W x H Frame FPS Time Time / Frame
------------ ---------- ----- --- ----------- ------------

Create Video 320 x 240 166 25 4 min 10 s 1.5 s

PVR 2.6.2 320 x 240 135 25 6 min 34 s 2.9 s

Headless VR 320 x 240 111 25 2 min 36 s 1.4 s

Headless VR 640 x 480 111 25 12 min 27 s 6.7 s

Headless VR 1280 x 960 111 25 39 min 18 s 21.2 s


Good thing about this program:

1. Create 9:16 video format (e.g --width=450 --height=800). This format not available in Create Video and PVR. Hope Puybaret and Enko Nyito can consider that.

2. Reduce number of frame to render (e.g --speed=8/16/32). Very useful if you need to move the camera quickly for a relatively long distance such as 100 meter.

If you don't mind, I would like to request the following:

1. Add option to choose SunFlow.

2. Add option to create 3D video with Quality 1.


Lastly, a big THANK YOU to Puybaret for developing this excellent program.