Video Surveillance Software

SmartVision Software Guide

How to work with the SmartVision software to create a video surveillance system? Read the product description below.

Creating a Video Surveillance System Based on SmartVision

SmartVision is a comprehensive software solution for modern video surveillance systems, offering advanced features to enhance security and monitoring efficiency. Supporting unstable streams and budget-friendly cameras, it implements load balancing for optimal performance. Compatible with any IP cameras that support RTSP or HTTP broadcasting, SmartVision enables efficient image viewing and processing.

Video Surveillance SmartVision

After installing and launching the program, the main window will appear, displaying images from the surveillance cameras. At the top, you will find the main menu, which duplicates the buttons on the toolbar below.
You can hide the button panel and use the program’s main menu instead.

On the right, select the desired tile layout for displaying images from the surveillance cameras.
Options include layouts with 1, 4, 8, 9, or 16 tiles.
The selected layout will be saved when you exit the program.
Initially, the tiles in the main window will be empty. To connect your IP cameras, click on the camera icon on the main toolbar. A form with a list of IP cameras will appear.
Cameras can be added either automatically or manually. The first icon on the camera list panel is used for automatically searching for IP cameras in the local network.

Automatic Camera Search via ONVIF

To automate the detection and addition of IP cameras, follow these steps:

  1. Click the first icon to initiate the device search process. The system will start scanning the network for IP cameras that support the ONVIF protocol.
  2. If necessary, the system will prompt you to enter credentials (login and password) to connect to the cameras. Enter these in the appropriate fields.
  3. Once the scanning process is complete, the interface will display a list of discovered cameras.
  4. To save their configurations to the database, click the Save button.
Adding IP Cameras Manually
To add cameras manually, use the "Add Camera" button. A form for adding a new camera will appear.
All you need to do is enter the correct RTSP (Real-Time Streaming Protocol) or HTTP stream URL.
Typically, an RTSP URL looks like this:
rtsp://admin:password@ipaddress:port/text
Where:
  • admin:password — login and password
  • ipaddress — the camera's IP address
  • port — the stream port (usually 554)
  • text — a specific string from the camera’s documentation (depends on the camera model)
After entering and saving the correct RTSP URL, the main window will display an image from the IP camera. Note that default passwords vary by manufacturer. A list of default passwords can be found in the documentation.

The camera settings form provides a wide range of options and features. Some of these options require significant computational resources. Therefore, for a large number of cameras, you need to select appropriate hardware that supports advanced capabilities for real-time detection and recognition of objects.
For more information about these features, refer to the sections on motion detection, face recognition, and vehicle license plate recognition.
General Software Settings
Cloud Records (Cloud Storage for Files)
On the first page of the settings, you can enter your login and password for the cloud service. To do this, you need to create an account on the website and confirm it via email. Enter:
  • Login: Your email address registered on cloud website.
  • Password: A password of your choice.
Click Save. If the option "Connect and enable cloud recording" is enabled, you can upload events to the server for secure storage and remote viewing. Additionally, you can access your cameras through the cloud service in your personal account. To enable this feature, you will need to configure the appropriate settings in the camera options. For more details, refer to the section on IP Camera configuration.
Local Records (Local Storage for Files)
In the general settings, you can select a directory for the "videos" archive where video files will be saved during recording.

By default, the "videos" folder is created in the same directory where the SmartVision program is installed.

This folder contains three subdirectories:

  • Events: Contains video files of recorded events.
  • Records: Contains video files of continuous camera recordings.
  • Timelapses: Contains video files of continuous time-lapse recordings from cameras.
Inside each subdirectory, files are saved in folders named by the current date. The entire video archive is immediately saved in a compressed MP4 format, requiring no further transcoding. This means you can simply copy any video file and open it in any media player that supports MP4, which includes virtually all players.

Video Retention Settings
In the general settings, you can also define the maximum retention period for video recordings in days. After this period, files will be automatically deleted.

IP Camera Configuration

The IP camera settings are divided into several sections:
  • Device: General camera settings (camera name, RTSP stream address).
  • Recording: Enable and configure continuous recording and time-lapse recording.
  • Motion: Enable and adjust motion detection parameters.
  • Detection: Enable and configure object detection, face recognition, and license plate recognition modules.
  • Cloud: Enable and configure integration with the cloud service.
  • Advanced: General settings for object detection.

Device - General IP Camera Settings

This section allows you to input the camera's name and the RTSP or HTTP stream address.
"Display the video stream on the main form": Specifies whether the camera's video stream should be displayed on the main interface.
For example, on one computer, you can record video without viewing it, while on another, you can only view the video without saving it to the hard drive. If you use a low-performance computer for viewing only, it is recommended to use a secondary stream with a lower resolution.
Advanced Options:
Here, you can configure automatic reconnection to the camera after a set number of seconds.
  • If the value is set to 0, reconnection will not occur.
  • This option is useful for budget or unstable cameras with intermittent video streams.

Recording - IP Camera Recording

This section allows you to configure continuous recording settings for creating a video archive.
  • Enable/Disable Continuous Recording: You can toggle continuous recording on or off.
  • Enable/Disable Audio Recording: Choose whether to record audio from the camera.
Advanced Options:
  • Define the duration of continuous recording segments in seconds. The default is 300 seconds, meaning recordings will be saved in 5-minute segments.
  • You can increase the interval depending on the stability of your cameras and network.
For time-lapse recording, you can set the number of frames per minute. The default is 2 frames per second. Time-lapse recording significantly reduces disk space usage. The fewer frames per minute you record, the less disk space is required.
Parallel Recording of Events: Continuous or time-lapse recording does not restrict you from recording events simultaneously. For instance, when motion is detected, you can have a high-quality video recording with a high FPS while also capturing a low-motion time-lapse recording.
To save disk space, all streams are automatically transcoded and saved in compressed MP4 format. This recording process requires a certain level of CPU/GPU load, unlike saving to an AVI file.

Detection - Motion Detection

If you need video surveillance in areas with minimal movement, it makes sense to use motion detection. For example, this could include an elevator lobby, an office during off-hours, or a home or apartment in your absence. In such cases, continuous recording of an empty space is unnecessary. However, if you have installed surveillance in a shopping mall or on a busy street, continuous recording is recommended to reduce CPU load. It’s important to understand that both detection and recording place a certain load on the processor and hard drive. For systems with a large number of cameras, it is essential to pre-calculate the computer and network configuration to ensure sufficient resources for your requirements.
Sensitivity Settings
The sensitivity of the motion detector is configured in Advanced Options.
Sensitivity can range from 0 to 1:
  • 1: Maximum sensitivity.
  • 0: Minimum sensitivity.
You can also define specific areas for motion detection within this configuration.

Motion-Triggered Recording
When the motion detector is triggered, recording will begin for a specified duration. By default, this is set to 15 seconds, but you can adjust this parameter in Advanced Options. All recorded events can be reviewed in the Events section.

Detection - Object Detection

If you have enabled motion detection on the previous tab, you can also use object detection powered by computer vision.
On this tab, select the option “Use object detection”.
Object detection is triggered when motion is detected. By default, the interval for object detection is set to 300 milliseconds (Advanced Options).
This means that frames for object detection will be processed every 300 milliseconds.

Object detection places a load on the CPU, so it is not recommended to set this interval below 150 milliseconds. The shorter the interval, the higher the processor load. This feature is only supported on 64-bit computers.
Enable Face Recognition
Enable this option to use face recognition.
Face recognition can be used independently of object detection.
This feature requires a computer with sufficient computational power and is only supported on 64-bit systems.

Enable License Plate Recognition
Enable this option to automatically detect vehicle license plates.
License plate recognition can be used together with or separately from object detection.
This feature also requires a computer with sufficient computational power and is only supported on 64-bit systems.

Enable Smoke and Fire Detection
Enable this option for automatic detection of smoke and fire in the frame.
It is recommended to use smoke and fire detection separately from other options.
This feature requires a computer with sufficient computational power and is only supported on 64-bit systems.

Cloud Storage and Online Camera Viewing via the Internet

SmartVision allows you to view your cameras with an RTSP stream online without a dedicated IP address and without port forwarding.
To do this, you need to enable 3 options:
In the general settings, enter your email and password at cloud service, and in the camera settings, select the option “Stream camera online to cloud server.”
To record events to the cloud server, enable the option “Upload Events to Cloud Server.
It is also recommended to enable “Upload events to the server only in case of object detection” to reduce false triggers.
You can then use the mobile app or the mobile version of the website for online camera and event viewing.
Advanced - Additional Object Detection Settings
This tab configures probabilities for identifying specific types of objects and the number of object detections with a given probability.

Object detection in the frame occurs based on these parameters.

Here you set the detection probabilities and the number of repetitions in the frame for the following objects/subjects:
person, car, bus, bicycle, cat, dog, bird.

It is recommended not to change these settings.

List of Surveillance Cameras

The second button on the main form calls up the list of cameras connected to the SmartVision CCTV software.

The camera list form also contains a toolbar with buttons.

The buttons allow you to move cameras up and down, thus changing their position on the main program form.

You can also edit or delete unnecessary cameras.
Surveillance Events
The first button on the main form is Events.

Here you will see all motion detector activations, as well as object detection of faces and car license plates, smoke and fire detector triggers.

You can also apply filters and find the events you need through the search form (the very first button on the form).

The events form also shows the status of file uploads to the cloud server if video transmission to the server is set up for the selected camera.
On this form, you can also view the video of the recorded event. All uploads to the server are done securely with encryption.

Face Recognition Database

You can use photographs to train the neural network and create a face database for online recognition.

Manual training for a single face takes about 30 seconds.

The system also allows you to automatically create a face database based on video streams from surveillance cameras.
To do this, the system needs to receive 5 images of the same face.

Adding new faces for recognition to the database

To add a new face to the database, enter the person’s name and click Add.

Then select at least 5 photographs and save the result for processing. Click Save & Update.

Wait for the system’s training process to complete.

The database does not store the actual photographs but their “digital weights” necessary for recognition by the neural network.
When face recognition is enabled, new faces will automatically be added to the database during the processing of video streams from IP cameras.

How many cameras can the system handle?

Currently, the program has a limit of 16 cameras. However, you can install the program on multiple computers for different cameras and connect them all to a single account in our cloud service.

For online camera viewing, a powerful computer is not required. You can even use an old 32-bit computer. For face recognition, license plate recognition, and object detection, you should select the computer/server's power based on the number and resolution of your cameras.

It is recommended to use Windows 10 or higher for this purpose. Resource consumption also depends heavily on the model of the IP camera, FPS, and resolution. The CPU load for cameras with approximately the same specifications can vary greatly between different manufacturers. Therefore, there is no one-size-fits-all solution. The optimal load can be determined experimentally based on the tasks being solved and the camera parameters.

The advantage of our system is that it is versatile and can work with cameras from various manufacturers, including very budget-friendly and unstable models. We constantly optimize the program to reduce CPU/GPU load, so keep an eye out for new versions.