## Overview
The **ONVIF Devices** page provides operators with the tools to **discover, register, and manage ONVIF-compatible cameras** inside the **Streaming Engine Core**.
This page is primarily used to **detect ONVIF devices on the local network** (via auto-discovery) or **add them manually**, and then create **publishing points** (active streams) that are managed as **Connected Devices**.
It is available at the route: `/onvif-devices`.
This page allows operators to:
- **Discover ONVIF cameras** on the same local network as the Streaming Engine.
- **Manually register ONVIF devices** with custom details (IP, port, model).
- **Connect devices** and create **publishing points** (inbound streams).
- **Monitor connected devices** with real-time status and embedded video preview.
- **Remove devices** to delete their publishing point.
> [!note]
> A **publishing point** means an **active inbound stream** from a camera.
> All active publishing points can also be monitored on the **Active Streams** page (`/activestreams`).
![[ONVIF Devices - Overview2.png|500]]
<div class="page-break" style="page-break-before: always;"></div>
## Functionality
The page is divided into three main sections:
### 1. Global Actions
At the top of the page, two actions are available:
- **Refresh Devices**
Runs an ONVIF network probe to discover all compatible devices on the same local network.
Results populate the **Auto-Detected** list.
- **+ Add new ONVIF Device**
Opens a dialog to register a device manually:
- **Model Device (optional)** – friendly/custom label shown in _Model_ column.
- **IPAddress** – IP address of the ONVIF device.
- **Port** – ONVIF service port (default `80`).
- **Use HTTPS** – toggle secure connection.
- If the same IP+Port already exists in **Manual Added**, the entry will be overwritten.
- Entries in **Manual Added** (and any publishing points created from them) are **persistent** across Streaming Engine restarts.
![[z_img/b386290a2c8394451e148dd83b122ddf_MD5.jpeg|200]] ![[z_img/9f86d4b8b3de93b6b4418c09e31fa300_MD5.jpeg|500]]
---
### 2. Connected Devices
This section shows all ONVIF devices that already have an active **stream** (publishing point).
Each row represents a live inbound stream and includes:
- **Active Stream Name**
- **Model** (camera type)
- **Profile** (ONVIF media profile)
- **RTSP URL** (connection endpoint)
- **Status** – e.g. _Online_
- **Actions** – **Remove Device** (removes device and deletes its publishing point)
- **Video Player** – inline preview with play/pause and expand
![[z_img/02cf61ad55313cb88e105bb902ed419b_MD5.jpeg|800]]
📌 Removing a device here will also remove its publishing point.
---
### 3. All ONVIF Devices
This section contains two subsections:
#### a) Auto-Detected
A list of all ONVIF devices discovered in the local network via **Refresh Devices**.
- Columns: **IP Address**, **MAC Address**, **Model**, **ONVIF URL**, **UPnP URL**, **Actions**.
- **Add Device** button → begins the connection process.
![[z_img/c6d354bd97104d7a89f12395d8948b2c_MD5.jpeg|800]]
Clicking **+ Add Device** opens the **Connect to ONVIF Device** dialog:
- **Use HTTPS** – toggle secure mode.
- **Port Override** – manually override default port.
- **Username** – device login.
- **Password** – login password.
- **Connect** – attempts to authenticate with the device.
![[z_img/f7904a45c33c8303b6c8cfb4437bba6e_MD5.jpeg|550]]
If successful, the **Stream Configuration** dialog appears:
- **Source URL** – ONVIF service endpoint.
- **RTSP URL** – RTSP URL as retrieved from the ONVIF profile. This field can be edited before creating the new active stream profile.
- **Profile Select** – choose ONVIF media profile.
- **Select Transport** – `RTSP (TCP)`, `RTSP (UDP)`, or `HTTP`.
- **Select Protocol** – RTSP.
- **Active Stream Name** – user-defined stream (publishing point) name.
![[z_img/42a12e2366c5df54fa31cabd64d2b787_MD5.jpeg|550]]
Click **Create** to establish the stream (publishing point).
The device now appears in **Connected Devices** and the stream is also listed in **Active Streams**.
#### b) Manual Added
A list of devices explicitly registered by the operator via **+ Add new ONVIF Device**.
- Columns: **IP Address**, **Model**, **ONVIF URL**, **Action (Add)**, **Action (Remove)**.
- **Add Device** → same connection workflow as Auto-Detected.
- **Remove Device** → deletes the manual entry (not also its publishing point if connected).
- Entries here **persist across engine restarts**.
![[z_img/8d5fc70ca38e431c667893b0b2df3d02_MD5.jpeg|450]] ![[z_img/2a610ddd78cca246f7d9af284bdc874a_MD5.jpeg|370]]
<div class="page-break" style="page-break-before: always;"></div>