Difference between revisions of "IVS Wiki:VALT Technical Specifications"

From IVS Wiki
Jump to: navigation, search
 
(One intermediate revision by the same user not shown)
(No difference)

Latest revision as of 13:04, 16 February 2026

🕮
This document is designed to be a reference for any person wishing to implement or is interested in the architecture of the VALT application. This document describes each application’s architecture and sub-architecture, along with any associated interfaces and components.
VALT
This software is designed to enable users to easily record, review, and manage Video and Audio events in a secure and organized fashion. The software allows users to tag recordings with searchable information, as well as mark specific points within the video files, and tag those markers with searchable information. It has been designed to work with the latest IP camera technology.

BEAM
This is an iOS application designed to work in conjunction with our VALT software, and is intended to provide a mobile capture and streaming component to our core VALT software. This software enables users to capture Audio and Video events using any iOS device. It allows these events to be streamed live to the VALT software platform, so users can view and initiate events from the iOS device onto the VALT software itself. BEAM also allows users to capture content offsite, tag it with information, and automatically have that video upload to the VALT Server when network connectivity to the server is restored.


⇧ Back to Top



Server Side Software Architecture

Our server-side software is built on a standard LEMP stack consisting of:

  • Linux
The application is designed to run on the latest Ubuntu Linux LTS (Server Edition).
  • Nginx
  • MySQL
  • PHP


⇧ Back to Top


Core Application Components

Web Host

  • Serves the PHP-based application and user interface
  • Powered by the Nginx web server

Database

  • Stores all unique, customer-specific configuration and application data
  • Implemented using MariaDB

Streaming Engine

  • Manages communication with cameras
  • Handles video streaming to client PCs
  • Responsible for recording, storage, and clip creation


⇧ Back to Top


Logical Server Architecture

The application is divided into two main server roles:


Application Server: The Application Server hosts the core application logic and includes:

  • PHP web pages served via Nginx
  • MariaDB services
  • Node.js messaging and control service

Media Server: The Media Server is responsible for all video-related operations, including:

  • Camera communication
  • Video stream distribution to clients
  • Recording management and clip generation


⇧ Back to Top


Deployment Models

Network Architecture-One Server.webp

Single Server

The entire server-side software stack can be deployed on a single physical or VM. This configuration is suitable for smaller installations and environments with lower camera counts.


Network Architecture-Multi Server.webp

Multi-Server

For larger deployments—such as those exceeding 50 cameras or spanning multiple departments—the system supports a distributed architecture using multiple Media Servers.


In this model:
  • One Application Server hosts the core application services
  • One or more dedicated Media Servers handle video processing and storage
  • Media Servers can be added incrementally to scale performance and capacity


🕮
This architecture provides flexibility, scalability, and efficient handling of high video workloads.


⇧ Back to Top




Client Side Software Architecture

VALT is a web-based application.


The client software consists of two primary components.

  • Client Software
  • Server Software

Specific-4.jpg


⇧ Back to Top

Hardware Requirements

To ensure optimal performance and seamless playback of livestreams and recorded videos in VALT, there are several key components that should be taken into consideration. While the exact requirements may vary depending on individual use cases, we provide the following guidance to help you make informed decisions about your hardware:


Processor (CPU)
The processor of the client PC plays a crucial role in handling decoding and playback of livestreams and recorded videos, particularly if the PC is also being used to multitask.
Memory (RAM)
Sufficient memory capacity is essential for efficient buffering of streaming video, especially when viewing multiple feeds and/or multitasking.
Graphics Processor (GPU)
A capable graphics processor can significantly decrease the burden on the CPU by offloading decoding and playback tasks, freeing up the CPU resources for other purposes.
Network Connection
A stable and high-speed network connection is critical for seamless streaming of recorded content.
Component Minimum
Recommended Spec
Processor (CPU) Intel 8th Gen Quad-Core
AMD Zen Quad-Core
Memory (RAM) 8GB DDR4
Graphics Card (GPU) Intel UHD Graphics 630
AMD Vega 3
Geforce MX150
Network Connection Wired (preferred)
Wi-fi 5 Capable
NOTE: The number of live streams you are watching will also impact your viewing experience.
🕮
HELP: If you have any questions, please email our team

⇧ Back to Top

Solution Architecture Overview

A complete customer solution is typically composed of some combination of the following components:

  • Server & Storage
  • IVS VALT Software
  • Axis IP Cameras / Encoders
  • Microphone Equipment
  • Client Workstations / Laptops
  • Optional Components
    • Talkback
    • Buttons / RFID Readers
    • iOS Devices running IVS BEAM for Mobile Capture

Specific-5.jpg

⇧ Back to Top

Network Architecture

Below is a diagram of a sensitive network environment, where in-transit encryption is a requirement. This type of network architecture is typical of environments that are using the system to capture / observe actual patient interactions within clinical training environments.

Network testing img.webp


🕮
Want to see more information about our Network Requirements?

⇧ Back to Top

Bandwidth & Storage

Most of our customers record and stream the video events using our software in either 720P or 1080P resolution.
Below is a breakdown of different estimate requirements under both resolution scenarios.
🕮
Estimates assume H.264 compression is set at 30% @ 30fps with AAC 16 KHz 32kbit audio
Speeds are per client connection and depend on lighting, color, and scene activity.

Cameras to Server

This is a persistent 1:1 connection for each camera added to our system.

Camera Resolution Connection Speed
720P ~2.3Mbps
1080P ~5Mbps

Client to Server Live Observation

This is an on demand connection, and will only be used when clients are performing live observation via the software.

Camera Resolution Connection Speed
720P ~2.3Mbps
1080P ~5Mbps

Client to Server Review

This is an on demand connection, and will only be used when clients are performing video review via the software.

Camera Resolution Connection Speed
720P ~2.3Mbps
1080P ~5Mbps

Storage

This is the typical storage requirements we see in our applications.

Camera Resolution Storage Consumption
720P ~1GB/hr per camera
1080P ~2.2GB/hr per camera

⇧ Back to Top

Authentication Methods

There are three different authentication methods that can be used for VALT: Local, LDAP/LDAPS and SSO. Any combination of these can be implemented and used at the same time.

Local Authentication

Local accounts are created and assigned to groups within VALT. Local accounts can be created manually or imported from a list.

Auth local.jpg


LDAP Authentication

LDAP accounts can be imported manually using an LDAP search and lookup tool within the software or imported automatically on a schedule based on group.

Auth ldap.jpg


SSO Authentication

SSO accounts are automatically created when a user logs in for the first time. The user can be placed in the proper group automatically upon login by mapping SSO attributes to a user group within VALT.

SSO Flow Chart.png

⇧ Back to Top

Access Control

The VALT Software is compromised of 6 main sectionsVALT 6-4-18 Users&Groups 01.png🖼️.


Access to these sections, and their associated features, can be controlled at two distinct levels within the software: the group level and the user level.



Role Management

User Groups

At the core of our permission structure, the majority of access is defined at the group level. By establishing permission settings at this level, you can streamline management and ensure consistent access controls for users within the same group.

VALT 6-4-18 Users&Groups 02.png


Users

Rights defined at the group level are automatically inherited by the individual users assigned to those groups, simplifying the administration of rights.

In addition to the group-level rights, our software allows for further customization at the individual user level. This means that specific access rights can be fine-tuned to cater to unique requirements, providing an extra layer of control over user privileges.


Permission Model

Rights

Group Level

Here are lists of the rightsVALT 6-4-18 Users&Groups 03.png🖼️ within VALT and the corresponding access they grant. The chart below illustrates whether each permission can be configured at the group level, user level, or both.

General
Grants access to the features within the General section.
🕮
This section applies to buttons or notifications that are system wide.

Observe
This section of the software is used to view live sessions and create recordings.


Review
This section of the software is used to view previously recorded sessions, update metadata, download, and delete existing videos.


Upload
Allows users to upload videos to the VALT software. Files must be MP4 or MOV.


Schedule
This section of the software is used to schedule recordings that will take place on a specific date, at a specific time, and will last for a fixed duration.


Reports
Allows users to generate simple statistical reports about usage of the VALT system.


Settings
Grants the ability for a user to view general system statistics including software version, licenses, and storage amount.


General
⎼⎼⎼┗╴ Home
Grants user access to Home section.
⎼⎼⎼┗╴ Edit Profile
Grants the ability for a user to change their display name and email.
⎼⎼⎼┗╴ Change Password
Grants the ability for a user to change their password if the account is a local user type.

Group and User Level

Backups

IVS is not a backup solution provider. We recommend that all customers use their existing enterprise backup solution. If that solution has a Debian agent, we’d be happy to assist with installing that agent on the VALT appliance, but we cannot assist with any configuration related to any backup software.

🕮
The following directories contain all the relevant information related to VALT. With them, a VALT server can be successfully rebuilt/restored.

VALT 5.7 and VALT 6

Database Dumps:
/usr/local/valt/backup
Video Files:
/usr/local/valt/records/video

VALT 5.6 and Older

Database Dumps:
/usr/local/valt/backup
Video Files:
/usr/local/WowzaStreamingEngine/content/valt_recordings

⇧ Back to Top