Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ services:
- live-video-network

vss-ui:
image: ${REGISTRY:-}vss-ui:${TAG:-latest}
image: ${REGISTRY:-}vss-ui:${VSS_STACK_TAG:-${TAG:-latest}}
ipc: host
ports:
- "${UI_HOST_PORT}:8080"
Expand All @@ -60,7 +60,7 @@ services:
- live-video-network

pipeline-manager:
image: ${REGISTRY:-}pipeline-manager:${TAG:-latest}
image: ${REGISTRY:-}pipeline-manager:${VSS_STACK_TAG:-${TAG:-latest}}
ports:
- "${PM_HOST_PORT}:3000"
ipc: host
Expand Down Expand Up @@ -149,7 +149,7 @@ services:
- live-video-network

video-search:
image: ${REGISTRY:-}video-search:${TAG:-latest}
image: ${REGISTRY:-}video-search:${VSS_STACK_TAG:-${TAG:-latest}}
# user root to make it equivalent permission to frigate to w/r shared volume
user: "0:0"
depends_on:
Expand Down Expand Up @@ -202,7 +202,7 @@ services:
- live-video-network

vdms-dataprep:
image: ${REGISTRY:-}vdms-dataprep:${TAG:-latest}
image: ${REGISTRY:-}vdms-dataprep:${VSS_STACK_TAG:-${TAG:-latest}}
hostname: vdms-dataprep
environment:
no_proxy: ${no_proxy},${VDMS_VDB_HOST},${MULTIMODAL_EMBEDDING_HOST},${MINIO_HOST},localhost
Expand Down Expand Up @@ -271,7 +271,7 @@ services:
- live-video-network

multimodal-embedding-serving:
image: ${REGISTRY:-}multimodal-embedding-serving:${TAG:-latest}
image: ${REGISTRY:-}multimodal-embedding-serving:${VSS_STACK_TAG:-${TAG:-latest}}
container_name: multimodal-embedding-serving
ports:
- "${EMBEDDING_SERVER_PORT:-9777}:8000"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ services:

nvr-event-router:
container_name: nvr-event-router
image: ${REGISTRY}nvr-event-router:${TAG}
image: ${REGISTRY}nvr-event-router:${SMART_NVR_STACK_TAG:-${TAG:-latest}}
restart: unless-stopped
networks:
- live-video-network
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

services:
vss-collector:
image: docker.io/intel/vippet-collector:2025.2.0
image: docker.io/intel/vippet-collector:2026.0.0-20260217-weekly
container_name: vss-collector
ports:
- '9273:9273'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,33 @@ Before running the application, you need to set several environment variables:

```bash
export REGISTRY_URL=intel
export TAG=1.3.2-rc1
export TAG=1.0.0-rc1
```

In most cases, `TAG=latest` works out of the box. Set a specific tag only when you need to pin to a particular release/version.

**Override tags per stack (recommended for mixed release cycles):**

Live Video Search combines two stacks that can be released on different cadences:
- **VSS Search stack** (`compose.search.yaml`)
- **Smart NVR stack** (`compose.smart-nvr.yaml`)

Use stack-specific tag overrides when you need different image versions for each stack:

```bash
export TAG=1.0.0-rc1
export VSS_STACK_TAG=1.3.2-rc1
export SMART_NVR_STACK_TAG=1.2.4-rc1
```

Why this is needed: a single shared `TAG` forces both stacks to use the same version, which does not match independent VSS and Smart NVR release cycles.

Note: `setup.sh` includes a release mapping for `TAG=1.0.0-rc1` and automatically sets:
- `VSS_STACK_TAG=1.3.2-rc1`
- `SMART_NVR_STACK_TAG=1.2.4-rc1`

You can still explicitly export `VSS_STACK_TAG` and `SMART_NVR_STACK_TAG` to override those defaults.

2. **Set required credentials for some services**:
Following variables **MUST** be set on your current shell before running the setup script:

Expand Down
14 changes: 14 additions & 0 deletions metro-ai-suite/live-video-analysis/live-video-search/setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,20 @@ export APP_HOST_PORT=${APP_HOST_PORT:-12345}
export HOST_IP=$(get_host_ip)
export TAG=${TAG:-latest}

# Stack-specific image tags (override-able via env vars)
export VSS_STACK_TAG=${VSS_STACK_TAG:-$TAG}
export SMART_NVR_STACK_TAG=${SMART_NVR_STACK_TAG:-$TAG}

# Release-specific tag mapping for Live Video Search 1.0.0-rc1
if [ "$TAG" = "1.0.0-rc1" ]; then
if [ -z "$VSS_STACK_TAG" ] || [ "$VSS_STACK_TAG" = "$TAG" ]; then
export VSS_STACK_TAG="1.3.2-rc1"
fi
if [ -z "$SMART_NVR_STACK_TAG" ] || [ "$SMART_NVR_STACK_TAG" = "$TAG" ]; then
export SMART_NVR_STACK_TAG="1.2.4-rc1"
fi
fi

[[ -n "$REGISTRY_URL" ]] && REGISTRY_URL="${REGISTRY_URL%/}/"
[[ -n "$PROJECT_NAME" ]] && PROJECT_NAME="${PROJECT_NAME%/}/"
export REGISTRY="${REGISTRY_URL}${PROJECT_NAME}"
Expand Down
12 changes: 6 additions & 6 deletions metro-ai-suite/smart-nvr/charts/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
apiVersion: v2
name: smart-nvr
description: A Helm chart for Smart NVR
version: 1.2.3
version: 1.2.4-rc1
dependencies:
- name: frigate
version: 1.2.3
version: 1.2.4-rc1
repository: "file://subchart/frigate"
- name: nvr-event-router
version: 1.2.3
version: 1.2.4-rc1
repository: "file://subchart/nvr-event-router"
- name: nvr-event-router-ui
version: 1.2.3
version: 1.2.4-rc1
repository: "file://subchart/nvr-event-router-ui"
- name: mqtt-broker
version: 1.2.3
version: 1.2.4-rc1
repository: "file://subchart/mqtt-broker"
- name: redis
version: 1.2.3
version: 1.2.4-rc1
repository: "file://subchart/redis"
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
apiVersion: v2
name: frigate
description: Frigate NVR component
version: 1.2.3
version: 1.2.4-rc1
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
apiVersion: v2
name: mqtt-broker
description: MQTT Broker service
version: 1.2.3
version: 1.2.4-rc1
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,11 @@ spec:
- sh
- -c
- |
touch {{ .Values.auth.passwordFilePath }} && \
mosquitto_passwd -c -b {{ .Values.auth.passwordFilePath }} $${MQTT_USER} $${MQTT_PASSWORD} && \
if [ ! -f {{ .Values.auth.passwordFilePath }} ]; then
mosquitto_passwd -c -b {{ .Values.auth.passwordFilePath }} $${MQTT_USER} $${MQTT_PASSWORD}
else
mosquitto_passwd -b {{ .Values.auth.passwordFilePath }} $${MQTT_USER} $${MQTT_PASSWORD}
fi && \
chmod 0700 {{ .Values.auth.passwordFilePath }} && \
chown {{ $runUser }}:{{ $runGroup }} {{ .Values.auth.passwordFilePath }} && \
mosquitto -c /mosquitto/config/mosquitto.conf
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
apiVersion: v2
name: nvr-event-router-ui
description: NVR Event Router UI
version: 1.2.3
version: 1.2.4-rc1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
image:
repository: intel/nvr-event-router
tag: 1.2.3
tag: 1.2.4-rc1

replicaCount: 1

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
apiVersion: v2
name: nvr-event-router
description: NVR Event Router service
version: 1.2.3
version: 1.2.4-rc1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
image:
repository: intel/nvr-event-router
tag: 1.2.3
tag: 1.2.4-rc1

replicaCount: 1

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
apiVersion: v2
name: redis
description: Redis cache
version: 1.2.3
version: 1.2.4-rc1
4 changes: 2 additions & 2 deletions metro-ai-suite/smart-nvr/charts/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ frigate:
nvr-event-router:
image:
repository: intel/nvr-event-router
tag: 1.2.3
tag: 1.2.4-rc1

replicaCount: 1

Expand Down Expand Up @@ -66,7 +66,7 @@ nvr-event-router:
nvr-event-router-ui:
image:
repository: intel/nvr-event-router
tag: 1.2.3
tag: 1.2.4-rc1
env:
MODE: "ui"
API_BASE_URL: "http://nvr-event-router:8000"
Expand Down
18 changes: 9 additions & 9 deletions metro-ai-suite/smart-nvr/docs/user-guide/get-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@ from your video data.
Smart NVR operates in a distributed architecture requiring multiple services across 3-4
devices for optimal performance:

| Device | Service | Purpose |
|--------|---------|---------|
| Device 1 | VSS Search | Video search functionality |
| Device 2 | VSS Summary | Video summarization |
| Device 3 | VLM Microservice | AI-powered event descriptions (optional) |
| Device 3/4 | Smart NVR App | Main application interface |
| Device | Service | Purpose |
| ---------- | ---------------- | ---------------------------------------- |
| Device 1 | VSS Search | Video search functionality |
| Device 2 | VSS Summary | Video summarization |
| Device 3 | VLM Microservice | AI-powered event descriptions (optional) |
| Device 3/4 | Smart NVR App | Main application interface |

### Software Dependencies

Expand Down Expand Up @@ -69,7 +69,7 @@ Set up the required environment variables:
```bash
# Docker Registry Details
export REGISTRY_URL="intel"
export TAG="1.2.3"
export TAG="1.2.4-rc1"

# VSS Service Endpoints
export http_proxy=<http-proxy>
Expand Down Expand Up @@ -144,8 +144,8 @@ Re-run the application after [configuring](#step-2-configure-environment) the re
> - This feature is experimental and may be unstable due to underlying Frigate GenAI implementation.
> - Requires VLM microservice to be running.
> - Disabled by default for system stability.
> - SmartNVR uses either Frigate or Scenescape for GenAI capabilities.
> GenAI in both cannot be enabled at the same time. If Scenescape is enabled,
> - SmartNVR uses either Frigate or Intel® SceneScape for GenAI capabilities.
> GenAI in both cannot be enabled at the same time. If Intel® SceneScape is enabled,
> its capabilities are prioritized over Frigate, with Frigate used in "dumb" mode.
> - If NVR_SCENESCAPE=true. then NVR_GENAI must be set to false. Otherwise, an error is thrown.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ There are two options to get the charts in your workspace:
Use the following command to pull the Helm chart from Docker Hub:

```bash
helm pull oci://registry-1.docker.io/intel/smart-nvr --version 1.2.3
helm pull oci://registry-1.docker.io/intel/smart-nvr --version 1.2.4-rc1
```

Refer to the [release notes](../release-notes.md) for details on the latest version number to
Expand All @@ -63,7 +63,7 @@ use for the sample application.
After pulling the chart, extract the `.tgz` file:

```bash
tar -xvf smart-nvr-1.2.3.tgz
tar -xvf smart-nvr-1.2.4-rc1.tgz
```

This will create a directory named `smart-nvr` containing the chart files. Navigate to the
Expand Down
17 changes: 14 additions & 3 deletions metro-ai-suite/smart-nvr/docs/user-guide/release-notes.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Release Notes

- [Version 1.2.4-rc1](#version-124-rc1)
- [Version 1.2.3](#version-123)
- [Version 1.2.2](#version-122)
- [Version 1.2.1](#version-121)
Expand All @@ -8,13 +9,15 @@

## Current Release

### Version 1.2.3
### Version 1.2.4-rc1

**Release Date**: 24 November 2025
**Release Date**: 17 Feb 2026

**New Features**:

- Minor Fixes
- Dependabot fixes for security vulnerabilities in dependencies.
- Documentation updates for clarity and accuracy.
- Minor bug fixes.

**Known Issues**:

Expand All @@ -25,6 +28,14 @@

## Previous Releases

### Version 1.2.3

**Release Date**: 24 November 2025

**New Features**:

- Minor Fixes

### Version 1.2.2

**Release Date**: 14 November 2025
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ docker logs nvr-event-router -f

![SceneScape Enabled Interface](./_assets/Scenescape_enabled.png)

When Intel® SceneScape is enabled (`NVR_SCENESCAPE=true`) and scenescape source is selected:
When Intel® SceneScape is enabled (`NVR_SCENESCAPE=true`) and **"scenescape"** source is selected:

- Source dropdown shows both **"frigate"** and **"scenescape"** options
- **Count** field becomes visible and editable
Expand Down