How to Create and Manage a Scene Hierarchy in Intel® SceneScape#
A hierarchy of scenes can be created using a parent-child relationship, enabling scene analytics from multiple scenes—whether on the same system or different systems in same network running Intel® SceneScape—to be visualized within a single parent scene. This hierarchy is not limited to a single level of relationship; it can be scaled upwards, allowing for multi-level parent-child configurations. By subscribing to the parent scene’s events, you can observe the base analytics (such as regions of interest, tripwires, and sensors) of the parent scene, along with the transformed base analytics of all its child scenes, directly within the parent scene.
This guide provides step-by-step instructions to add local and remote child scenes, configure connections, and manage object tracking and update fidelity in a scene hierarchy. By completing this guide, you will:
Add and validate child scene links (local and remote).
Configure secure communication between systems.
Tune retrack and temporal fidelity options.
This task is essential for managing distributed scenes in Intel® SceneScape deployments.
Prerequisites#
Installed Dependencies: Intel® SceneScape deployed on both systems.
Network Access: Verify systems can resolve each other’s IP/hostname.
Permissions: Ensure access to modify
docker-compose.yml
and certificates.
Steps to Add a Local Child Scene#
Launch the Intel® SceneScape UI and Log In.
Navigate to the parent scene.
Click the Children tab under the scene map.
Click + Link Child Scene.
Set Child Type to
Local
.Select the scene to be added from the dropdown list.
Enter transform type and values.
Click Add Child Scene.
Expected Result: The child scene appears in the parent scene view.
Figure 1: Creating new local child scene link.
Figure 2: Local Child scene on scene detail page.
Steps to Add a Remote Child Scene#
1. Configure NTP for Synchronization#
On Parent System:
Edit
docker-compose.yml
to uncomment NTP server port.
On Child System:
Edit
docker-compose.yml
to uncomment MQTT broker port.
Disable NTP server service in
docker-compose.yml
.Replace
ntpserv
with parent IP in dependent services.
Figure 3: ntpserver config for scene controller service in docker-compose.yml
.
Figure 4: comment ntpserver for DL Streamer pipeline server in docker-compose.yml
.
Figure 5: ntpserver config for DL Streamer pipeline in pipeline-config.json
.
Note: Use sample_data/docker-compose-dl-streamer-example.yml if
docker-compose.yml
doesn’t exist.
2. Set Up Secure Communication#
On Parent system:
./deploy.sh
docker compose down --remove-orphans
rm manager/secrets/ca/* manager/secrets/certs/*
make -C tools/certificates/ deploy-certificates CERTPASS=<random-string>
On Child system:
Note: Ensure that there are no scenes with the same UUID present on both the parent and child systems.
./deploy.sh
docker compose down --remove-orphans
rm manager/secrets/ca/* manager/secrets/certs/*
# Copy parent secrets:
scp parent:/path-to-scenescape-repo/manager/secrets/ca/scenescape-ca.key ./manager/secrets/ca/
scp parent:/path-to-scenescape-repo/manager/secrets/certs/scenescape-ca.pem ./manager/secrets/certs/
# Use the same CERTPASS from parent
make -C tools/certificates/ deploy-certificates IP_SAN=<child_ip> CERTPASS=<random-string-used-in-parent>
Then restart Intel® SceneScape:
./deploy.sh
3. Link Remote Child#
Open the child system’s Intel® SceneScape UI and copy the MQTT credentials.
Open the parent system’s Intel® SceneScape UI.
Go to the Children tab in parent scene.
Click + Link Child Scene.
Select
Remote
as child type and enter:Child Name
Hostname or IP
MQTT Username/Password
Transform type/values
Click Add Child Scene.
Figure 5: Creating new remote child scene link.
Figure 6: Remote child scene on scene detail page.
Expected Result: Remote child is listed with green/red status icon.
Note: Scene names must be unique across parent and child systems.
Retrack Objects in Parent Scene#
Open the child link config in the UI.
Toggle the Retrack option:
Disabled: Treat detections as already tracked.
Enabled: Feed detections into the parent tracker.
Figure 7: Toggle to re-track moving objects from child scene.
Set Temporal Fidelity of Scene Updates#
Navigate to the scene configuration.
Configure the following:
Regulate Rate (Hz)
: Limit updates to internal UI.Max External Update Rate (Hz)
: Limit updates to parent/consuming systems.
Figure 8: Set Regulate and External Update rate in scene config.
Re-identification Support in Hierarchy#
Re-identification is scene-local only.
Child scene objects retain UUIDs within their own scene.
Parent scene does not re-identify child objects.
Refer to Re-identification Guide for more details.