public OffscreenBufferVideoServer(Graphics3DAdapter adapter, CameraMountList mountList, CameraConfiguration cameraConfiguration,
CameraTrackingAndDollyPositionHolder cameraTrackingAndDollyPositionHolder, int width, int height, RenderedSceneHandler videoDataServer,
TimestampProvider timestampProvider, int framesPerSecond)
{
ViewportAdapter viewport = adapter.createNewViewport(null, false, true);
camera = viewport.getCamera();
viewport.setupOffscreenView(width, height);
ClassicCameraController cameraController = new ClassicCameraController(adapter, viewport, cameraTrackingAndDollyPositionHolder);
cameraController.setConfiguration(cameraConfiguration, mountList);
viewport.setCameraController(cameraController);
CameraUpdater cameraUpdater = new CameraUpdater();
this.videoDataServer = videoDataServer;
this.timestampProvider = timestampProvider;
PrintTools.info(this, "Starting video stream");
viewport.getCaptureDevice().streamTo(cameraUpdater, framesPerSecond);
}