Re: Headless Video Rendering

by beji » Wed Mar 13, 2024 4:12 am

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:

Code: Select all

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:

Code: Select all

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:

Code: Select all

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.