Installing Volumetric Capture

Volumetric Capture ships various binaries to be deployed at the workstation and the sensor processing units:
- The VolCap GUI application [
volcap.exe] - The Device Repository CLI application [
dev_repo.exe] - The VolSnap mixed mode (GUI & CLI) application [
volsnap.exe] - The Intel RealSense 2.0 Eye CLI application [
remote_eye_rs2.exe] (optional - depending on the sensor of choice) - The Microsoft Kinect 4 Azure Eye CLI application [
remote_eye_k4a.exe] (optional - depending on the sensor of choice) - The Windows Eye Monitor Service [
remote_eye_service] (optional - can resort to manual sensor connection mode) - The Intel NUC LED Controller application [
intel_nuc_led_utils.exe] (optional - depends on Intel NUC mini-PC availability) 
Items 4.-7. are deployed on the sensor processing units. An Intel NUC is a minimal processing unit that can accomodate each sensor, although it is not strictly necessary, and even standard desktop computers can be used.
We also rely on external software:
- A message broker RabbitMQ
 - A Python interpreter
 
IMPORTANT: It is recommended for performance reasons that RabbitMQ is hosted on the same workstation where VolCap will run, although it is not strictly necessary.
Requirements
VolCap
The central application has been tested on the following specifications:
- CPU: Intel i7 7700K (or better)
 - RAM: 
16GB - GPU: Nvidia Geforce 960 (or better)
 - Network: 
1Gbps(U/D) LAN connectivity is needed, to handle real-time streaming of multiple sensors. - OS: Windows 10 Pro
 - HDD: Capacity is not really an issue; it depends on the needs of each user. The recommended capacity is at least 
1TBof storage. However, a writing speed of7200rpm (or faster) is essential to record multiple streams simultaneously in real-time. 
Eyes
For the sensor processing units we use mini-PCs which are portable and can be mounted on the sensors’ tripods. However, it is not strictly necessary as even standard desktop PCs can be used, using USB3.0 extension cables (taking into account the short 1m cables of the sensors). The necessary requirements are real-streaming of the sensor data, which usually means enough processing power (sensor dependent) and 1Gbps connectivity (although 100Mbps should suffice under some sensor settings). We have tested with the Intel NUC7i5BNH with:
- RAM: 
8GB - OS: Windows 10 Pro
 
Installation
RabbitMQ Setup
The communication between the central app (VolCap) and the sensor stream capturers (Eyes) is facilitated by a RabbitMQ message broker. The following steps explain how to install and setup the RabbitMQ broker:
- Download and install the Erlang Compiler, by choosing Windows x64 Binary file.
 - Download the RabbitMQ installation file from RabbitMQ webpage and install.
 - In order to estamblish communication between the different parts of the system, you will have to open port: 
5672on Windows Firewall.- Open Windows Start Menu and search for 
Control Panel - In Control Panel open 
Windows Defender Firewall - In the left panel select 
Advanced Settings - In the left panel of the window that poped-up select 
Inbound Rules - In the right panel that appeard select 
New Rule... - In the window that appeared select 
Portand hitNext - In 
Specific local portstext box type5672and hit next - In the next window leave the 
Allow Connectionoption selected and hit next - In the next window leave everything selected and hit next
 - In the next window you can add a name for the rule and a description, so as to know that you created that rule, and it’s not a Windows default rule.
 - Repeat all the steps in order to create an 
Outbound Ruletoo, for the same port - The same rules for port 
5672must be applied to each capturer processing unit (e.g. Intel-NUC) hosting the Remote Eyes also. 

 - Open Windows Start Menu and search for 
 - Additionally, you will have to open outbound connections to port: 
15672, (the same way as the previous step, but putting15672instead of5672as the port number), in order to use RabbitMQ’s management interface. This is done by following the steps described above. You just have to create a newInbound Rulefor port15672. 
VolCap Setup
To install the VolCap application you need to:
- Download the latest release of Volumetric Capture from the Releases section.
 - Extract the 
main.zipfile in a directory of your choosing (e.g.C:/). Avoid using paths that include"spaces". - Create a shortcut of volcap.exe on your desktop if you want.
 - If RabbitMQ has been installed on the same machine, just double click the volcap.exe (or the shortcut if you created one), and you are ready to go.
 
For the Kinect 4 Azure eye, you also need to download the Depth Engine DLL, which should be placed next to k4a.dll. More details can be found here, with the MSI downloaders available at this link. The appropriate version is 2.0.
 ![]()
Remote Eyes Setup
NUC
In order to use the Eye, some Windows settings have to be set to each sensor processing unit (i.e. Intel NUC:
- Disable Windows Updates. (how to)
 - Configure Local Time Zone to all devices.
 - Enable Remote Desktop. (how to)
 - Enable High Performance Settings. (how to)
 - Disable USB power management. (how to)
 - Install remote-eye application and Remote Eye Windows Service. (how to)
 
Service & Eye
This monitoring service is responsible for spawning and managing the lifecycle of the Eye application at each sensor processing unit.
No explicit configuration for a specific server is needed as the main application implicitly resolves that.
For each sensor processing unit:
- Create the directory: 
C:\Capturer. - When you have downloaded the 
remote.zipfile from the release, extract its content inC:\Capturer. - You should have a 
\binfolder which comprises the Eye application executables and in\remote_eye_servicethe service files. - To install the Monitor service, you should run the 
install_remote_eye_service.batinC:\Capturer\remote_eye_service\with Administrator rights (right-click and choose “Run as administrator”). - If you ever need to uninstall the Monitor service, again you must run 
uninstall_remote_eye_service.batwith Administrator rights. 
If you have already installed the remote_eye_service from a previous version, you first need to uninstall it by running the uninstall_remote_eye_service.bat script with Administrator rights. Then you should delete all the contents from the remote_eye_service folder, and replace them with the ones from the current version. Finally, you should run the install_remote_eye_service.bat script with Administrator rights, in order to install the current version of the service.
For the Intel RealSense 2.0 D415 eye, we have tested with, and thus, recommend, the 05.11.15.00 firmware version.
For the Kinect 4 Azure eye, you also need to download the Depth Engine DLL, which should be placed next to k4a.dll. More details can be found here, with the MSI downloaders available at this link. The appropriate version is 2.0. You also need to download and install the Microsoft Visual C++ Redistributable for Visual Studio 2019 (x64).
To achieve automatic sensor connection between the VolCap and Eye applications, we use the Monitor service. This service runs in the background of the sensor processing unit, and listens to UDP port
11234in the network’s broadcast channel. Thus, you have to follow the steps above for creating inbound and outbound Windows Firewall rules, for all the processing units (workstation and sensor) for UDP port11234.

Synchronization
Furthermore, for acquiring global timestamps aligned with the workstation (see the Synchronization Section) you should enable connections on port 320 (both incoming and outgoing) on the workstation pc, and port 321 on each NUC with the same procedure explained above.
Calibration
The spatial (volumetric) alignment, or otherwise extrinsics calibration method that the Volumetric Capture system relies on is described in the respective Calibration section. Details about its requirements and installation process can be found here.