Difference between revisions of "VALT Technical Specifications"

From IVS Wiki
Jump to: navigation, search
(Containers)
Line 1: Line 1:
 
=Introduction=
 
=Introduction=
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.  
+
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.  
 
=Software Overview=
 
=Software Overview=
'''Valt Software:'''  This software is designed to enable users to easily record, review, and manage Audio and Video 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.  
+
'''VALT Software:'''  This software is designed to enable users to easily record, review, and manage Audio and Video 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 Software:'''  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.
+
'''Beam Software:'''  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.
  
 
=Server Side Software Architecture=
 
=Server Side Software Architecture=
Line 28: Line 28:
  
 
=Client Side Software Architecture=
 
=Client Side Software Architecture=
The Valt client software is browser based.  The software has been validated with the following web browsers:
+
The VALT client software is browser based.  The software has been validated with the following web browsers:
  
 
     • Chrome   
 
     • Chrome   
Line 75: Line 75:
 
A complete customer solution is typically composed of some combination of the following components:
 
A complete customer solution is typically composed of some combination of the following components:
 
     • Server & Storage
 
     • Server & Storage
     • IVS Valt Software  
+
     • IVS VALT Software  
 
     • Axis IP Cameras / Encoders
 
     • Axis IP Cameras / Encoders
 
     • Microphone Equipment
 
     • Microphone Equipment
Line 147: Line 147:
  
 
=Users & Groups=
 
=Users & Groups=
From a permissions perspective, the Valt software solution is very flexible, designed to be adaptable to the customer's workflow.  The majority of permissions are defined at the “user group” level, with then “users” being added to the corresponding “user groups” inheriting the permissions.  Some additional access permissions can be defined at the user level as well.  For additional information about user and group permissions, visit [[Adding a User Group]].
+
From a permissions perspective, the VALT software solution is very flexible, designed to be adaptable to the customer's workflow.  The majority of permissions are defined at the “user group” level, with then “users” being added to the corresponding “user groups” inheriting the permissions.  Some additional access permissions can be defined at the user level as well.  For additional information about user and group permissions, visit [[Adding a User Group]].
  
See below for a matrix of permissions available in the Valt software:
+
See below for a matrix of permissions available in the VALT software:
  
 
==Users & Groups Rights Table==
 
==Users & Groups Rights Table==

Revision as of 15:49, 4 May 2023

Introduction

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.

Software Overview

VALT Software: This software is designed to enable users to easily record, review, and manage Audio and Video 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 Software: 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.

Server Side Software Architecture

Our software is built on the standard LAMP (Linux, Apache, MYSQL, and PHP) architecture. The software has been designed to work on the latest LTS version of Ubuntu Linux (Server Edition). There are 3 main components to the software application:

Web Server: This makes up the bulk of the application and consists primarily of PHP web pages being served up by the Apache web server.

Database: The database stores all the unique customer specific information.

Media Server: This portion of the application handles all the communication with the cameras and video streams being served out to the client PCs. It also handles all the recording and clip creation.

Specific-1.jpg

From a physical or virtual server perspective the entire server side software stack can be run on a single server. For applications requiring more than 50 cameras or consisting of different departments the software can be broken out and additional “Media Servers” can be added. These servers would only run the Media Server portion of the VALT application. This multi-server architecture allows for flexibility and scalability.

Single Server Example:

Specific-2.jpg

Multi-Server Example:

Specific-3.jpg

Client Side Software Architecture

The VALT client software is browser based. The software has been validated with the following web browsers:

    •	Chrome   
    •	Internet Explorer 10, 11, 12 (Deprecated)
    •	Microsoft Edge
    •	Firefox
    •	Safari

The client software consists of two primary components as shown below.


Specific-4.jpg

Client PC Requirements

The maximum number of cameras that can be viewed within a single browser tab is 9. Multiple tabs or instances of the application can be opened on the same computer. Here are some conservative client PC requirements for live observation:

Image Processor Memory 720P 1080P
I3.jpg Core i3 4GB 2 1
I5.jpg Core i5 4GB 4 3
I7.jpg Core i7 8GB 7 5

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
            o	Talkback
            o	Buttons / RFID Readers
            o	iOS Devices running IVS Beam for Mobile Capture

Specific-5.jpg

Network Architecture

Below is a typical standard suggested network architecture diagram. We see this architecture often used in Law Enforcement & Simulation, as well as other environments, where security is important and segmenting access to only the necessary ports / devices is desired but in transit encryption is not a requirement.

Specific-6.jpg

If LDAP is being used, the server will also need access to the authentication server(s) as shown below. For LDAP integration using our software, we will also need a bind account and password with read-only access to LDAP.

Specific-7.jpg

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.

For SSL, we will need the customer to set up a DNS name for the server (example ivs-valt.mysite.edu). We will also need a wildcard or generated signed certificate that is compatible with apache and can be applied by an IVS engineer.

Specific-8.jpg

If LDAP is being used, the server will also need access to the authentication server(s) as shown below. For LDAP integration within our software, we will also need a bind account and password with read-only access to LDAP.

Specific-9.jpg

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.

Cameras to Server: This is a persistent 1:1 connection for each camera added to our system. This estimate is assuming H.264 compression is set at 30% @ 30fps, with AAC 16 KHz 32kbit audio:

720P: 500Kbps – 1.8Mbps per camera depending on lighting, color, and scene activity. 1080P: 1.1Mbps – 2.8Mbps per camera depending on lighting, color, and scene activity.

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. This estimate is assuming H.264 compression is set at 30% @ 30fps with AAC 16 KHz 32kbit audio:

720P: 500Kbps – 1.8Mbps per client connection depending on lighting, color, and scene activity. 1080P: 1.1Mbps – 2.8Mbps per client connection depending on lighting, color, and scene activity.

Client to Server Review: This is an on demand connection, and will only be used when clients are performing video review via the software. This estimate is assuming H.264 compression is set at 30% @ 30fps with AAC 16 KHz 32kbit audio:

720P: 500Kbps – 1.8Mbps per client connection depending on lighting, color, and scene activity. 1080P: 1.1Mbps – 2.8Mbps per client connection depending on lighting, color, and scene activity.

Storage: This is the typical storage requirements we see in our applications. This estimate is assuming H.264 compression is set at 30% @ 30fps with AAC 16 KHz 32kbit audio:

720P: ~1GB per hour per camera also dependent on lighting, color, and scene activity. 1080P: ~1.8GB per hour per camera also dependent on lighting, color, and scene activity.

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.

Auth sso.jpg

Users & Groups

From a permissions perspective, the VALT software solution is very flexible, designed to be adaptable to the customer's workflow. The majority of permissions are defined at the “user group” level, with then “users” being added to the corresponding “user groups” inheriting the permissions. Some additional access permissions can be defined at the user level as well. For additional information about user and group permissions, visit Adding a User Group.

See below for a matrix of permissions available in the VALT software:

Users & Groups Rights Table

Permission Group User
General X
General: Home X
General: Alert X
General: Edit Profile X
General: Change Password X
General: Password Rules X
General: Notifications X
Upload X
Upload: Sharing X
Upload: Author X
Upload: Retention X
Observe X
Observe: Recording X
Observe: Recording: Start X
Observe: Recording: Prepare X
Observe: Recording: Pause X
Observe: Recording: Pause: All Authors X
Observe: Recording: Pause: Resume All Authors X
Observe: Recording: Stop All Authors X
Observe: Recording: Sharing X
Observe: Recording: Evaluation X
Observe: Recording: Evaluation: View Option Values X
Observe: Recording: Evaluation: View Field Values X
Observe: Recording: Evaluation: View Total Values X
Observe: Recording: Change Author X
Observe: Recording: Retention X
Observe: Recording: Options X
Observe: Recording: Options: All Authors X
Observe: Recording: Add Markers X
Observe: Recording: Delete Markers X
Observe: Recording: Prepare X
Observe: Recording: Pause X
Observe: Recording: Pause: All Authors X
Observe: Recording: Pause: Resume All Authors X
Observe: Search X
Observe: Multi-Record X
Observe: Views X
Observe: Views: Recording X
Observe: Talkback X
Observe: PTZ X
Observe: PTZ: Control X
Observe: PTZ: All Authors X
Observe: PTZ: Presets X
Observe: PTZ: Add/Delete X
Observe: Lock X
Observe: Lock: Unlock all Users X
Observe: Edit Sharing X
Observe: Edit Sharing: Create Link X
Review X
Review: Markers X
Review: Markers: View All Authors X
Review: Markers: Add X
Review: Markers: Edit X
Review: Markers: Remove X
Review: Markers: Overlay X
Review: Tools X
Review: Tools: Clip X
Review: Tools: Redact X
Review: Delete X
Review: Download X
Review: Download: Audio X
Review: Download: Multiview X
Review: Change Author X
Review: Edit Information X
Review: Evaluation X
Review: Evaluation: View Option Values X
Review: Evaluation: View Field Values X
Review: Evaluation: View Total Value X
Review: Evaluation: Edit X
Review: Edit Sharing X
Review: Edit Sharing: Link X
Review: Change Author X
Review: Edit Retention X
Schedule X
Schedule: Add X
Schedule: Exceptions X
Schedule: Edit X
Schedule: Edit: All Authors X
Schedule: Delete X
Schedule: Sharing X
Schedule: Change Author X
Schedule: Retention X
Schedule: Control X
Schedule: View All Authors X
Reports X
Reports: Add X
Reports: Edit X
Reports: Delete X
Admin X
Admin: General X
Admin: General: Software Information X
Admin: General: Global Settings X
Admin: General: Media Servers X
Admin: General: Customization X
Admin: Templates X
Admin: Rooms X
Admin: Users & Groups X
Admin: Users & Groups: LDAP X
Admin: Users & Groups: LDAP: User Import X
Admin: Users & Groups: LDAP: Servers X
Admin: Users & Groups: LDAP: Sync Schedules X
Admin: Users & Groups: SSO X
Admin: Logs X
Admin: Help X
Admin: Media Servers X
Admin: Containers X
Admin: Update X
Admin: Multi-Delete X
Rooms X X
Video Access X X
Default Retention Rule X
I/O Record Name X
Max Record Duration X
Schedule View X
Reports View X
Search Results View X
Search Results Display Columns X
Filters X
Views X
Restricted Access X X
Expiration Date X X
Review List Period X
Email X
Mobile PIN X
Card Number X
SSO/SAML IDP X
Display Name X
Control Type X

Software Backups & Maintenance

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

How to Find Your VALT Version

🕮For more information about the VALT versions you can check out our Release Notes.

Find My VALT Version.png

  1. Click on the Admin section on your VALT server.
  2. Navigate to the General tab.
  3. At the top of the screen you should see the version number your VALT server is running next to Software Version.